<?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>122933</bug_id>
          
          <creation_ts>2013-10-16 18:20:58 -0700</creation_ts>
          <short_desc>Remote Layer Tree: Complete support for simple layer properties</short_desc>
          <delta_ts>2013-10-16 18:45:09 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>940609</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-16 18:20:58 -0700</bug_when>
    <thetext>A few more properties: maskLayer, contentsRect, contentsScale, minificationFilter, magnificationFilter, speed, and timeOffset. And, associated cleanup.

This completes the set of straightforward PlatformCALayerRemote properties (ignoring contents, filters, animations, and hierarchy).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940611</commentid>
    <comment_count>1</comment_count>
      <attachid>214412</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-16 18:29:58 -0700</bug_when>
    <thetext>Created attachment 214412
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940612</commentid>
    <comment_count>2</comment_count>
      <attachid>214412</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-16 18:36:26 -0700</bug_when>
    <thetext>Comment on attachment 214412
patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:121
&gt; +        ASSERT(layer-&gt;isRemote());
&gt; +        if (!layer-&gt;isRemote())
&gt; +            return;

No need for both an ASSERT and an early return since this only runs with assertions enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940614</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-16 18:45:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/157547</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214412</attachid>
            <date>2013-10-16 18:29:58 -0700</date>
            <delta_ts>2013-10-16 18:36:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>moreprops.diff</filename>
            <type>text/plain</type>
            <size>25749</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMjVlNmJhLi5lN2E4YzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzgg
QEAKIDIwMTMtMTAtMTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
KyAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IENvbXBsZXRlIHN1cHBvcnQgZm9yIHNpbXBsZSBs
YXllciBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjI5MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIG5vdCB5ZXQgdGVzdGFibGUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjpzZXROYW1lKToKKyAgICAgICAgRG9uJ3QgZHVtcCB0aGUgQ0FMYXll
ciBwb2ludGVyIGlmIHdlIG93biBhIFBsYXRmb3JtQ0FMYXllclJlbW90ZS4KKworICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVDb21taXRDaGFuZ2VzKToKKyAgICAg
ICAgRml4IHRoZSB2aXNpYmxlIHRpbGUgd2FzaCAobXkgZmF1bHQhKSwgYW5kIG1ha2UgaXQgdXNl
IHNldFBvc2l0aW9uIGFuZAorICAgICAgICBzZXRCb3VuZHMgaW5zdGVhZCBvZiBzZXRGcmFtZTsg
d2hpbGUgbW9yZSBjb252ZW5pZW50LCBpdCBpcyB0aGUgb25seQorICAgICAgICBjYWxsZXIgb2Yg
c2V0RnJhbWUsIHNvIHdlJ2xsIHJlbW92ZSBpdC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DQUxh
eWVyOjppc1JlbW90ZSk6IEFkZGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
bWFjL1BsYXRmb3JtQ0FMYXllck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW06CisgICAgICAgIChudWxsQWN0aW9uc0RpY3Rpb25h
cnkpOgorICAgICAgICAodG9DQUZpbHRlclR5cGUpOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVy
TWFjOjpzeW5jaHJvbm91c2x5RGlzcGxheVRpbGVzSW5SZWN0KToKKyAgICAgICAgKFBsYXRmb3Jt
Q0FMYXllck1hYzo6cGxheWVyTGF5ZXIpOgorICAgICAgICBSZW1vdmUgc2V0RnJhbWUsIGZpeCBz
b21lIHBvaW50ZXIgc2lkZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4v
UGxhdGZvcm1DQUxheWVyV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93
aW4vUGxhdGZvcm1DQUxheWVyV2luLmg6CisgICAgICAgIFJlbW92ZSBzZXRGcmFtZS4KKworMjAx
My0xMC0xNiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKwogICAgICAg
ICBQbGF0Zm9ybUNBTGF5ZXIgY29uc3RydWN0b3Igc2hvdWxkIHRha2UgbGF5ZXIgdHlwZSBhcyBh
biBhcmd1bWVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIyOTE1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IDNmNjEyNGMuLmQ2ZTJiYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcApAQCAtMzc1LDcgKzM3NSwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6d2lsbEJl
RGVzdHJveWVkKCkKIAogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnNldE5hbWUoY29uc3QgU3RyaW5n
JiBuYW1lKQogewotICAgIFN0cmluZyBsb25nTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJDQUxheWVy
KCVwKSBHcmFwaGljc0xheWVyKCVwKSAiLCBtX2xheWVyLT5wbGF0Zm9ybUxheWVyKCksIHRoaXMp
ICsgbmFtZTsKKyAgICBTdHJpbmcgY2FMYXllckRlc2NyaXB0aW9uOworCisgICAgaWYgKCFtX2xh
eWVyLT5pc1JlbW90ZSgpKQorICAgICAgICBjYUxheWVyRGVzY3JpcHRpb24gPSBTdHJpbmc6OmZv
cm1hdCgiQ0FMYXllciglcCkgIiwgbV9sYXllci0+cGxhdGZvcm1MYXllcigpKTsKKworICAgIFN0
cmluZyBsb25nTmFtZSA9IGNhTGF5ZXJEZXNjcmlwdGlvbiArIFN0cmluZzo6Zm9ybWF0KCJHcmFw
aGljc0xheWVyKCVwKSAiLCB0aGlzKSArIG5hbWU7CiAgICAgR3JhcGhpY3NMYXllcjo6c2V0TmFt
ZShsb25nTmFtZSk7CiAgICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKE5hbWVDaGFuZ2VkKTsK
IH0KQEAgLTExNDEsNyArMTE0Niw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVD
b21taXRDaGFuZ2VzKGNvbnN0IENvbW1pdFN0YXRlJiBjb21taXRTdGF0ZSwgY29uCiAgICAgICAg
IHN0YXRpYyBDb2xvciB3YXNoRmlsbENvbG9yKDI1NSwgMCwgMCwgNTApOwogICAgICAgICBzdGF0
aWMgQ29sb3Igd2FzaEJvcmRlckNvbG9yKDI1NSwgMCwgMCwgMTAwKTsKICAgICAgICAgCi0gICAg
ICAgIG1fdmlzaWJsZVRpbGVXYXNoTGF5ZXIgPSBjcmVhdGVQbGF0Zm9ybUNBTGF5ZXIoY3JlYXRl
UGxhdGZvcm1DQUxheWVyLCB0aGlzKTsKKyAgICAgICAgbV92aXNpYmxlVGlsZVdhc2hMYXllciA9
IGNyZWF0ZVBsYXRmb3JtQ0FMYXllcihQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZUxheWVyLCB0
aGlzKTsKICAgICAgICAgU3RyaW5nIG5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiVmlzaWJsZSBUaWxl
IFdhc2ggTGF5ZXIgJXAiLCBtX3Zpc2libGVUaWxlV2FzaExheWVyLT5wbGF0Zm9ybUxheWVyKCkp
OwogICAgICAgICBtX3Zpc2libGVUaWxlV2FzaExheWVyLT5zZXROYW1lKG5hbWUpOwogICAgICAg
ICBtX3Zpc2libGVUaWxlV2FzaExheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50M0QoMCwg
MCwgMCkpOwpAQCAtMTE1MSw4ICsxMTU2LDEwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpyZWN1
cnNpdmVDb21taXRDaGFuZ2VzKGNvbnN0IENvbW1pdFN0YXRlJiBjb21taXRTdGF0ZSwgY29uCiAg
ICAgICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKERvbnRTY2hlZHVsZUZsdXNoKTsKICAgICB9CiAK
LSAgICBpZiAobV92aXNpYmxlVGlsZVdhc2hMYXllcikKLSAgICAgICAgbV92aXNpYmxlVGlsZVdh
c2hMYXllci0+c2V0RnJhbWUobV92aXNpYmxlUmVjdCk7CisgICAgaWYgKG1fdmlzaWJsZVRpbGVX
YXNoTGF5ZXIpIHsKKyAgICAgICAgbV92aXNpYmxlVGlsZVdhc2hMYXllci0+c2V0UG9zaXRpb24o
bV92aXNpYmxlUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgbV92aXNpYmxlVGlsZVdhc2hMYXll
ci0+c2V0Qm91bmRzKEZsb2F0UmVjdChGbG9hdFBvaW50KCksIG1fdmlzaWJsZVJlY3Quc2l6ZSgp
KSk7CisgICAgfQogI2VuZGlmCiAKICAgICBib29sIGhhZENoYW5nZXMgPSBtX3VuY29tbWl0dGVk
Q2hhbmdlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
UGxhdGZvcm1DQUxheWVyLmgKaW5kZXggZTU3YTU0Mi4uMmMxMzc3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAg
LTk2LDYgKzk2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c0NoYW5n
ZWQoKSA9IDA7CiAKICAgICBMYXllclR5cGUgbGF5ZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9s
YXllclR5cGU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSZW1vdGUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCiAgICAgdmlydHVhbCBQbGF0Zm9ybUNBTGF5ZXIqIHN1cGVybGF5ZXIoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUZyb21TdXBlcmxheWVyKCkgPSAwOwpAQCAt
MTc1LDggKzE3Niw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXROYW1lKGNvbnN0
IFN0cmluZyYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZShjb25zdCBGbG9hdFJl
Y3QmKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U3BlZWQoZmxvYXQpID0gMDsKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRUaW1lT2Zmc2V0KENGVGltZUludGVydmFsKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZv
cm1DQUxheWVyTWFjLmgKaW5kZXggOTY4ZWRiMS4uNjA0MjY3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5
ZXJNYWMuaApAQCAtMTI2LDggKzEyNiw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBz
ZXROYW1lKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCB2b2lkIHNldEZy
YW1lKGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotCiAgICAgdmlydHVhbCB2b2lkIHNldFNw
ZWVkKGZsb2F0KSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRUaW1lT2Zmc2V0KENG
VGltZUludGVydmFsKSBPVkVSUklERTsKQEAgLTE0NCw3ICsxNDIsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFBsYXRmb3JtQ0FMYXllck1hYyhMYXllclR5cGUsIFBsYXRmb3JtTGF5ZXIqLCBQ
bGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93bmVyKTsKIAotICAgIHZpcnR1YWwgQVZQbGF5ZXJMYXll
ciogcGxheWVyTGF5ZXIoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIEFWUGxheWVyTGF5
ZXIgKnBsYXllckxheWVyKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICBSZXRhaW5QdHI8TlNPYmpl
Y3Q+IG1fZGVsZWdhdGU7CiAgICAgT3duUHRyPFBsYXRmb3JtQ0FMYXllckxpc3Q+IG1fY3VzdG9t
U3VibGF5ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KaW5kZXggYWI4NWU0MS4uYjliNDll
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1Bs
YXRmb3JtQ0FMYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCkBAIC0xNDEsMTAgKzE0MSwxMCBAQCB2b2lk
IFBsYXRmb3JtQ0FMYXllck1hYzo6c2V0T3duZXIoUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25l
cikKICAgICAgICAgW3N0YXRpY19jYXN0PFdlYkFuaW1hdGlvbkRlbGVnYXRlKj4obV9kZWxlZ2F0
ZS5nZXQoKSkgc2V0T3duZXI6dGhpc107ICAgICAgICAKIH0KIAotc3RhdGljIE5TRGljdGlvbmFy
eSogbnVsbEFjdGlvbnNEaWN0aW9uYXJ5KCkKK3N0YXRpYyBOU0RpY3Rpb25hcnkgKm51bGxBY3Rp
b25zRGljdGlvbmFyeSgpCiB7Ci0gICAgTlNOdWxsKiBudWxsVmFsdWUgPSBbTlNOdWxsIG51bGxd
OwotICAgIE5TRGljdGlvbmFyeSogYWN0aW9ucyA9IFtOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdp
dGhPYmplY3RzQW5kS2V5czoKKyAgICBOU051bGwgKm51bGxWYWx1ZSA9IFtOU051bGwgbnVsbF07
CisgICAgTlNEaWN0aW9uYXJ5ICphY3Rpb25zID0gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0
aE9iamVjdHNBbmRLZXlzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWUs
IEAiYW5jaG9yUG9pbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWUs
IEAiYW5jaG9yUG9pbnRaIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZhbHVl
LCBAImJvdW5kcyIsCkBAIC0xNjEsNyArMTYxLDcgQEAgc3RhdGljIE5TRGljdGlvbmFyeSogbnVs
bEFjdGlvbnNEaWN0aW9uYXJ5KCkKICAgICByZXR1cm4gYWN0aW9uczsKIH0KIAotc3RhdGljIE5T
U3RyaW5nKiB0b0NBRmlsdGVyVHlwZShQbGF0Zm9ybUNBTGF5ZXI6OkZpbHRlclR5cGUgdHlwZSkK
K3N0YXRpYyBOU1N0cmluZyAqdG9DQUZpbHRlclR5cGUoUGxhdGZvcm1DQUxheWVyOjpGaWx0ZXJU
eXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBQbGF0Zm9ybUNBTGF5
ZXI6OkxpbmVhcjogcmV0dXJuIGtDQUZpbHRlckxpbmVhcjsKQEAgLTY5NiwxMyArNjk2LDYgQEAg
dm9pZCBQbGF0Zm9ybUNBTGF5ZXJNYWM6OnNldE5hbWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKICAg
ICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCiB9CiAKLXZvaWQgUGxhdGZvcm1DQUxheWVyTWFj
OjpzZXRGcmFtZShjb25zdCBGbG9hdFJlY3QmIHZhbHVlKQotewotICAgIEJFR0lOX0JMT0NLX09C
SkNfRVhDRVBUSU9OUwotICAgIFttX2xheWVyLmdldCgpIHNldEZyYW1lOnZhbHVlXTsKLSAgICBF
TkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCi19Ci0KIHZvaWQgUGxhdGZvcm1DQUxheWVyTWFjOjpz
ZXRTcGVlZChmbG9hdCB2YWx1ZSkKIHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMK
QEAgLTc0Myw3ICs3MzYsNyBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllck1hYzo6c3luY2hyb25vdXNs
eURpc3BsYXlUaWxlc0luUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgaWYgKG1fbGF5
ZXJUeXBlICE9IExheWVyVHlwZVdlYlRpbGVkTGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAotICAg
IFdlYlRpbGVkTGF5ZXIgKnRpbGVkTGF5ZXIgPSBzdGF0aWNfY2FzdDxXZWJUaWxlZExheWVyKj4o
bV9sYXllci5nZXQoKSk7CisgICAgV2ViVGlsZWRMYXllciAqdGlsZWRMYXllciA9IHN0YXRpY19j
YXN0PFdlYlRpbGVkTGF5ZXIgKj4obV9sYXllci5nZXQoKSk7CiAKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlMKICAgICBCT09MIG9sZENhbkRyYXdDb25jdXJyZW50bHkgPSBbdGlsZWRM
YXllciBjYW5EcmF3Q29uY3VycmVudGx5XTsKQEAgLTc1MywxMCArNzQ2LDEwIEBAIHZvaWQgUGxh
dGZvcm1DQUxheWVyTWFjOjpzeW5jaHJvbm91c2x5RGlzcGxheVRpbGVzSW5SZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCiB9CiAKLUFWUGxh
eWVyTGF5ZXIqIFBsYXRmb3JtQ0FMYXllck1hYzo6cGxheWVyTGF5ZXIoKSBjb25zdAorQVZQbGF5
ZXJMYXllciAqUGxhdGZvcm1DQUxheWVyTWFjOjpwbGF5ZXJMYXllcigpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKFttX2xheWVyLmdldCgpIGlzS2luZE9mQ2xhc3M6Z2V0QVZQbGF5ZXJMYXllckNsYXNz
KCldKTsKLSAgICByZXR1cm4gKEFWUGxheWVyTGF5ZXIqKW1fbGF5ZXIuZ2V0KCk7CisgICAgcmV0
dXJuIChBVlBsYXllckxheWVyICopbV9sYXllci5nZXQoKTsKIH0KIAogI2VuZGlmIC8vIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKaW5kZXgg
ODUxNDFmMC4uNDQ1M2YzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKQEAgLTUyOCwx
MiArNTI4LDYgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJXaW46OnNldE5hbWUoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKICAgICBzZXROZWVkc0NvbW1pdCgpOwogfQogCi12b2lkIFBsYXRmb3JtQ0FMYXll
cldpbjo6c2V0RnJhbWUoY29uc3QgRmxvYXRSZWN0JiB2YWx1ZSkKLXsKLSAgICBpbnRlcm4odGhp
cyktPnNldEZyYW1lKHZhbHVlKTsKLSAgICBzZXROZWVkc0xheW91dCgpOwotfQotCiB2b2lkIFBs
YXRmb3JtQ0FMYXllcldpbjo6c2V0U3BlZWQoZmxvYXQgdmFsdWUpCiB7CiAgICAgQ0FDRkxheWVy
U2V0U3BlZWQobV9sYXllci5nZXQoKSwgdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5oCmlu
ZGV4IDE3N2ZhN2EuLmFhNDM5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmgKQEAgLTExOSw4
ICsxMTksNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmFtZShjb25zdCBTdHJp
bmcmKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZShjb25zdCBGbG9hdFJl
Y3QmKSBPVkVSUklERTsKLQogICAgIHZpcnR1YWwgdm9pZCBzZXRTcGVlZChmbG9hdCkgT1ZFUlJJ
REU7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGltZU9mZnNldChDRlRpbWVJbnRlcnZhbCkgT1ZF
UlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjQxNjM4NC4uYzc2NzAxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDQ3IEBACiAyMDEzLTEwLTE2ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCisgICAgICAgIFJlbW90ZSBMYXllciBUcmVlOiBDb21wbGV0ZSBzdXBwb3J0IGZvciBz
aW1wbGUgbGF5ZXIgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTIyOTMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHJlbW90ZSBsYXllciB0cmVlIHN1cHBvcnQgZm9yIG1hc2tMYXll
ciwgY29udGVudHNSZWN0LCBjb250ZW50c1NjYWxlLAorICAgICAgICBtaW5pZmljYXRpb25GaWx0
ZXIsIG1hZ25pZmljYXRpb25GaWx0ZXIsIHNwZWVkLCBhbmQgdGltZU9mZnNldC4KKworICAgICAg
ICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjplbmNvZGUpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0
aWVzOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpkdW1wUHJvcGVydHkpOgorICAgICAgICAo
V2ViS2l0OjpkdW1wQ2hhbmdlZExheWVycyk6CisgICAgICAgIEFkZCB0aGUgbmV3IHByb3BlcnRp
ZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubW06Cisg
ICAgICAgIChXZWJLaXQ6OnRvQ0FGaWx0ZXJUeXBlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlSG9zdDo6Y29tbWl0KToKKyAgICAgICAgQXBwbHkgdGhlIG5ldyBwcm9wZXJ0aWVz
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1v
dGUuY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpzZXRTdWJsYXllcnMpOgor
ICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVtb3RlOjphcHBlbmRTdWJsYXllcik6CisgICAgICAg
IChQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6Omluc2VydFN1YmxheWVyKToKKyAgICAgICAgRW5zdXJl
IHRoYXQgcGFzc2VkLWluIHN1YmxheWVycyBhcmUgYWx3YXlzIGFsc28gUGxhdGZvcm1DQUxheWVy
UmVtb3RlIGluc3RhbmNlcy4KKworICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpzZXRN
YXNrKToKKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0Q29udGVudHNSZWN0KToK
KyAgICAgICAgKFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0TWluaWZpY2F0aW9uRmlsdGVyKToK
KyAgICAgICAgKFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0TWFnbmlmaWNhdGlvbkZpbHRlcik6
CisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldFNwZWVkKToKKyAgICAgICAgKFBs
YXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0VGltZU9mZnNldCk6CisgICAgICAgIChQbGF0Zm9ybUNB
TGF5ZXJSZW1vdGU6OmNvbnRlbnRzU2NhbGUpOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVt
b3RlOjpzZXRDb250ZW50c1NjYWxlKToKKyAgICAgICAgUmVtb3ZlIHNldEZyYW1lLCBzdG9yZSB0
aGUgbmV3IHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Bs
YXRmb3JtQ0FMYXllclJlbW90ZS5oOgorICAgICAgICBSZW1vdmUgc2V0RnJhbWUsIGFkZCBpc1Jl
bW90ZSwgZml4IHBvaW50ZXIgc2lkZSBvbiBwbGF5ZXJMYXllci4KKworMjAxMy0xMC0xNiAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKwogICAgICAgICBQbGF0Zm9ybUNB
TGF5ZXIgY29uc3RydWN0b3Igc2hvdWxkIHRha2UgbGF5ZXIgdHlwZSBhcyBhbiBhcmd1bWVudAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyOTE1CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24uaAppbmRleCAzN2MwZTBkLi43ZDQ4NDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCkBAIC02NCw3
ICs2NCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIEdlb21ldHJ5RmxpcHBlZENoYW5nZWQgPSAxIDw8
IDEzLAogICAgICAgICBEb3VibGVTaWRlZENoYW5nZWQgPSAxIDw8IDE0LAogICAgICAgICBNYXNr
c1RvQm91bmRzQ2hhbmdlZCA9IDEgPDwgMTUsCi0gICAgICAgIE9wYXF1ZUNoYW5nZWQgPSAxIDw8
IDE2CisgICAgICAgIE9wYXF1ZUNoYW5nZWQgPSAxIDw8IDE2LAorICAgICAgICBNYXNrTGF5ZXJD
aGFuZ2VkID0gMSA8PCAxNywKKyAgICAgICAgQ29udGVudHNSZWN0Q2hhbmdlZCA9IDEgPDwgMTgs
CisgICAgICAgIENvbnRlbnRzU2NhbGVDaGFuZ2VkID0gMSA8PCAxOSwKKyAgICAgICAgTWluaWZp
Y2F0aW9uRmlsdGVyQ2hhbmdlZCA9IDEgPDwgMjAsCisgICAgICAgIE1hZ25pZmljYXRpb25GaWx0
ZXJDaGFuZ2VkID0gMSA8PCAyMSwKKyAgICAgICAgU3BlZWRDaGFuZ2VkID0gMSA8PCAyMiwKKyAg
ICAgICAgVGltZU9mZnNldENoYW5nZWQgPSAxIDw8IDIzCiAgICAgfTsKIAogICAgIHN0cnVjdCBM
YXllckNyZWF0aW9uUHJvcGVydGllcyB7CkBAIC0xMDMsNiArMTEwLDEzIEBAIHB1YmxpYzoKICAg
ICAgICAgYm9vbCBkb3VibGVTaWRlZDsKICAgICAgICAgYm9vbCBtYXNrc1RvQm91bmRzOwogICAg
ICAgICBib29sIG9wYXF1ZTsKKyAgICAgICAgTGF5ZXJJRCBtYXNrTGF5ZXI7CisgICAgICAgIFdl
YkNvcmU6OkZsb2F0UmVjdCBjb250ZW50c1JlY3Q7CisgICAgICAgIGZsb2F0IGNvbnRlbnRzU2Nh
bGU7CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6RmlsdGVyVHlwZSBtaW5pZmlj
YXRpb25GaWx0ZXI7CisgICAgICAgIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6RmlsdGVyVHlw
ZSBtYWduaWZpY2F0aW9uRmlsdGVyOworICAgICAgICBmbG9hdCBzcGVlZDsKKyAgICAgICAgZG91
YmxlIHRpbWVPZmZzZXQ7CiAgICAgfTsKIAogICAgIGV4cGxpY2l0IFJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQppbmRleCAxMDk1MGVjLi44OWI0OTA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24ubW0KQEAgLTExNiw2ICsxMTYsMjcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGUKIAog
ICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcyAmIE9wYXF1ZUNoYW5nZWQpCiAgICAgICAgIGVuY29k
ZXIgPDwgb3BhcXVlOworCisgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzICYgTWFza0xheWVyQ2hh
bmdlZCkKKyAgICAgICAgZW5jb2RlciA8PCBtYXNrTGF5ZXI7CisKKyAgICBpZiAoY2hhbmdlZFBy
b3BlcnRpZXMgJiBDb250ZW50c1JlY3RDaGFuZ2VkKQorICAgICAgICBlbmNvZGVyIDw8IGNvbnRl
bnRzUmVjdDsKKworICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcyAmIENvbnRlbnRzU2NhbGVDaGFu
Z2VkKQorICAgICAgICBlbmNvZGVyIDw8IGNvbnRlbnRzU2NhbGU7CisKKyAgICBpZiAoY2hhbmdl
ZFByb3BlcnRpZXMgJiBNaW5pZmljYXRpb25GaWx0ZXJDaGFuZ2VkKQorICAgICAgICBlbmNvZGVy
LmVuY29kZUVudW0obWluaWZpY2F0aW9uRmlsdGVyKTsKKworICAgIGlmIChjaGFuZ2VkUHJvcGVy
dGllcyAmIE1hZ25pZmljYXRpb25GaWx0ZXJDaGFuZ2VkKQorICAgICAgICBlbmNvZGVyLmVuY29k
ZUVudW0obWFnbmlmaWNhdGlvbkZpbHRlcik7CisKKyAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMg
JiBTcGVlZENoYW5nZWQpCisgICAgICAgIGVuY29kZXIgPDwgc3BlZWQ7CisKKyAgICBpZiAoY2hh
bmdlZFByb3BlcnRpZXMgJiBUaW1lT2Zmc2V0Q2hhbmdlZCkKKyAgICAgICAgZW5jb2RlciA8PCB0
aW1lT2Zmc2V0OwogfQogCiBib29sIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclBy
b3BlcnRpZXM6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIExheWVy
UHJvcGVydGllcyYgcmVzdWx0KQpAQCAtMjA4LDYgKzIyOSw0MSBAQCBib29sIFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVu
dERlY29kZQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChyZXN1
bHQuY2hhbmdlZFByb3BlcnRpZXMgJiBNYXNrTGF5ZXJDaGFuZ2VkKSB7CisgICAgICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1hc2tMYXllcikpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgaWYgKHJlc3VsdC5jaGFuZ2VkUHJvcGVydGllcyAmIENvbnRlbnRz
UmVjdENoYW5nZWQpIHsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY29udGVu
dHNSZWN0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAocmVz
dWx0LmNoYW5nZWRQcm9wZXJ0aWVzICYgQ29udGVudHNTY2FsZUNoYW5nZWQpIHsKKyAgICAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY29udGVudHNTY2FsZSkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHJlc3VsdC5jaGFuZ2VkUHJvcGVydGllcyAm
IE1pbmlmaWNhdGlvbkZpbHRlckNoYW5nZWQpIHsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZUVudW0ocmVzdWx0Lm1pbmlmaWNhdGlvbkZpbHRlcikpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgaWYgKHJlc3VsdC5jaGFuZ2VkUHJvcGVydGllcyAmIE1hZ25pZmlj
YXRpb25GaWx0ZXJDaGFuZ2VkKSB7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJl
c3VsdC5tYWduaWZpY2F0aW9uRmlsdGVyKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBpZiAocmVzdWx0LmNoYW5nZWRQcm9wZXJ0aWVzICYgU3BlZWRDaGFuZ2VkKSB7
CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNwZWVkKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAocmVzdWx0LmNoYW5nZWRQcm9wZXJ0aWVz
ICYgVGltZU9mZnNldENoYW5nZWQpIHsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQudGltZU9mZnNldCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTMwMCw2ICszNTYsMzIgQEAgc3RhdGljIHZvaWQgZHVtcFBy
b3BlcnR5KFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIFN0cmluZyBuYW1lLCBjb25zdCBUcmFuc2Zv
cm1hdGkKICAgICBidWlsZGVyLmFwcGVuZCh0cy5yZWxlYXNlKCkpOwogfQogCitzdGF0aWMgdm9p
ZCBkdW1wUHJvcGVydHkoU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgU3RyaW5nIG5hbWUsIGNvbnN0
IFBsYXRmb3JtQ0FMYXllcjo6RmlsdGVyVHlwZSBmaWx0ZXJUeXBlKQoreworICAgIGJ1aWxkZXIu
YXBwZW5kKCdcbicpOworICAgIHdyaXRlSW5kZW50KGJ1aWxkZXIsIDMpOworICAgIGJ1aWxkZXIu
YXBwZW5kKCcoJyk7CisgICAgYnVpbGRlci5hcHBlbmQobmFtZSk7CisgICAgYnVpbGRlci5hcHBl
bmQoJyAnKTsKKworICAgIHN3aXRjaCAoZmlsdGVyVHlwZSkgeworICAgICAgICBjYXNlIFBsYXRm
b3JtQ0FMYXllcjo6TGluZWFyOgorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImxpbmVhciIp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUGxhdGZvcm1DQUxheWVyOjpOZWFy
ZXN0OgorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIm5lYXJlc3QiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFBsYXRmb3JtQ0FMYXllcjo6VHJpbGluZWFyOgorICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoInRyaWxpbmVhciIpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGJ1aWxkZXIuYXBwZW5kKCIpIik7Cit9CisKIHN0
YXRpYyB2b2lkIGR1bXBDaGFuZ2VkTGF5ZXJzKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIGNvbnN0
IEhhc2hNYXA8UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVySUQsIFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM+JiBjaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVz
KQogewogICAgIGlmIChjaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzLmlzRW1wdHkoKSkKQEAgLTQ1Myw2
ICs1MzUsNTggQEAgc3RhdGljIHZvaWQgZHVtcENoYW5nZWRMYXllcnMoU3RyaW5nQnVpbGRlciYg
YnVpbGRlciwgY29uc3QgSGFzaE1hcDxSZW1vdGVMYXllclQKICAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKCcpJyk7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAobGF5ZXJQcm9wZXJ0aWVzLmNo
YW5nZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok1hc2tMYXllckNo
YW5nZWQpIHsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOworICAgICAgICAgICAg
d3JpdGVJbmRlbnQoYnVpbGRlciwgMyk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiKG1h
c2tMYXllciAiKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKGxheWVyUHJvcGVy
dGllcy5tYXNrTGF5ZXIpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyknKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmIChsYXllclByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Q29udGVudHNSZWN0Q2hhbmdlZCkgeworICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7CisgICAgICAgICAgICB3cml0ZUluZGVudChidWls
ZGVyLCAzKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCIoY29udGVudHNSZWN0ICIpOwor
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobGF5ZXJQcm9wZXJ0aWVzLmNvbnRlbnRz
UmVjdC54KCkpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kTnVtYmVyKGxheWVyUHJvcGVydGllcy5jb250ZW50c1JlY3QueSgpKTsK
KyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZE51bWJlcihsYXllclByb3BlcnRpZXMuY29udGVudHNSZWN0LndpZHRoKCkpOworICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVt
YmVyKGxheWVyUHJvcGVydGllcy5jb250ZW50c1JlY3QuaGVpZ2h0KCkpOworICAgICAgICAgICAg
YnVpbGRlci5hcHBlbmQoJyknKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChsYXllclByb3Bl
cnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Q29u
dGVudHNTY2FsZUNoYW5nZWQpIHsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOwor
ICAgICAgICAgICAgd3JpdGVJbmRlbnQoYnVpbGRlciwgMyk7CisgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZCgiKGNvbnRlbnRzU2NhbGUgIik7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZE51
bWJlcihsYXllclByb3BlcnRpZXMuY29udGVudHNTY2FsZSk7CisgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZCgnKScpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxheWVyUHJvcGVydGllcy5j
aGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpNaW5pZmljYXRp
b25GaWx0ZXJDaGFuZ2VkKQorICAgICAgICAgICAgZHVtcFByb3BlcnR5KGJ1aWxkZXIsICJtaW5p
ZmljYXRpb25GaWx0ZXIiLCBsYXllclByb3BlcnRpZXMubWluaWZpY2F0aW9uRmlsdGVyKTsKKwor
ICAgICAgICBpZiAobGF5ZXJQcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5
ZXJUcmVlVHJhbnNhY3Rpb246Ok1hZ25pZmljYXRpb25GaWx0ZXJDaGFuZ2VkKQorICAgICAgICAg
ICAgZHVtcFByb3BlcnR5KGJ1aWxkZXIsICJtYWduaWZpY2F0aW9uRmlsdGVyIiwgbGF5ZXJQcm9w
ZXJ0aWVzLm1hZ25pZmljYXRpb25GaWx0ZXIpOworCisgICAgICAgIGlmIChsYXllclByb3BlcnRp
ZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6U3BlZWRD
aGFuZ2VkKSB7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnXG4nKTsKKyAgICAgICAgICAg
IHdyaXRlSW5kZW50KGJ1aWxkZXIsIDMpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIihz
cGVlZCAiKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKGxheWVyUHJvcGVydGll
cy5zcGVlZCk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnKScpOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKGxheWVyUHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpUaW1lT2Zmc2V0Q2hhbmdlZCkgeworICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoJ1xuJyk7CisgICAgICAgICAgICB3cml0ZUluZGVudChidWlsZGVyLCAzKTsK
KyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCIodGltZU9mZnNldCAiKTsKKyAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kTnVtYmVyKGxheWVyUHJvcGVydGllcy50aW1lT2Zmc2V0KTsKKyAgICAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgICAgIH0KKwogICAgICAgICBidWlsZGVy
LmFwcGVuZCgiKVxuIik7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tCmluZGV4IGIxMGNlNTAuLmZlYjA4NDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9z
dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhv
c3QubW0KQEAgLTc4LDYgKzc4LDIyIEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dDb2xvclJlZj4gY2dD
b2xvckZyb21Db2xvcihDb2xvciBjb2xvcikKICAgICByZXR1cm4gY2dDb2xvcjsKIH0KIAorc3Rh
dGljIE5TU3RyaW5nICp0b0NBRmlsdGVyVHlwZShQbGF0Zm9ybUNBTGF5ZXI6OkZpbHRlclR5cGUg
dHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFBsYXRmb3JtQ0FMYXllcjo6
TGluZWFyOgorICAgICAgICByZXR1cm4ga0NBRmlsdGVyTGluZWFyOworICAgIGNhc2UgUGxhdGZv
cm1DQUxheWVyOjpOZWFyZXN0OgorICAgICAgICByZXR1cm4ga0NBRmlsdGVyTmVhcmVzdDsKKyAg
ICBjYXNlIFBsYXRmb3JtQ0FMYXllcjo6VHJpbGluZWFyOgorICAgICAgICByZXR1cm4ga0NBRmls
dGVyVHJpbGluZWFyOworICAgIH07CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gMDsKK30KKworCiB2b2lkIFJlbW90ZUxheWVyVHJlZUhvc3Q6OmNvbW1pdChjb25zdCBS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiB7CiAjaWZuZGVmIE5ERUJV
RwpAQCAtMTU1LDYgKzE3MSwzMSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZUhvc3Q6OmNvbW1pdChj
b25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAKICAgICAgICAg
aWYgKHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6T3BhcXVlQ2hhbmdlZCkKICAgICAgICAgICAgIGxheWVyLm9wYXF1ZSA9IHByb3BlcnRp
ZXMub3BhcXVlOworCisgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYg
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok1hc2tMYXllckNoYW5nZWQpIHsKKyAgICAgICAg
ICAgIENBTGF5ZXIgKm1hc2tMYXllciA9IGdldExheWVyKHByb3BlcnRpZXMubWFza0xheWVyKTsK
KyAgICAgICAgICAgIEFTU0VSVCghbWFza0xheWVyLnN1cGVybGF5ZXIpOworICAgICAgICAgICAg
aWYgKCFtYXNrTGF5ZXIuc3VwZXJsYXllcikKKyAgICAgICAgICAgICAgICBsYXllci5tYXNrID0g
bWFza0xheWVyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHByb3BlcnRpZXMuY2hhbmdlZFBy
b3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Q29udGVudHNSZWN0Q2hhbmdl
ZCkKKyAgICAgICAgICAgIGxheWVyLmNvbnRlbnRzUmVjdCA9IHByb3BlcnRpZXMuY29udGVudHNS
ZWN0OworCisgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb246OkNvbnRlbnRzU2NhbGVDaGFuZ2VkKQorICAgICAgICAgICAg
bGF5ZXIuY29udGVudHNSZWN0ID0gcHJvcGVydGllcy5jb250ZW50c1JlY3Q7CisKKyAgICAgICAg
aWYgKHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6TWluaWZpY2F0aW9uRmlsdGVyQ2hhbmdlZCkKKyAgICAgICAgICAgIGxheWVyLm1pbmlm
aWNhdGlvbkZpbHRlciA9IHRvQ0FGaWx0ZXJUeXBlKHByb3BlcnRpZXMubWluaWZpY2F0aW9uRmls
dGVyKTsKKworICAgICAgICBpZiAocHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpNYWduaWZpY2F0aW9uRmlsdGVyQ2hhbmdlZCkKKyAgICAg
ICAgICAgIGxheWVyLm1hZ25pZmljYXRpb25GaWx0ZXIgPSB0b0NBRmlsdGVyVHlwZShwcm9wZXJ0
aWVzLm1hZ25pZmljYXRpb25GaWx0ZXIpOworCisgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNoYW5n
ZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OlNwZWVkQ2hhbmdlZCkK
KyAgICAgICAgICAgIGxheWVyLnNwZWVkID0gcHJvcGVydGllcy5zcGVlZDsKKworICAgICAgICBp
ZiAocHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uOjpUaW1lT2Zmc2V0Q2hhbmdlZCkKKyAgICAgICAgICAgIGxheWVyLnRpbWVPZmZzZXQgPSBw
cm9wZXJ0aWVzLnRpbWVPZmZzZXQ7CiAgICAgfQogCiAgICAgZm9yIChhdXRvIGRlc3Ryb3llZExh
eWVyIDogdHJhbnNhY3Rpb24uZGVzdHJveWVkTGF5ZXJzKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJl
bW90ZS5jcHAKaW5kZXggMGQwNWEyZi4uNTc2NTRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVt
b3RlLmNwcApAQCAtMTE0LDYgKzExNCwxNCBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6
cmVtb3ZlRnJvbVN1cGVybGF5ZXIoKQogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0
U3VibGF5ZXJzKGNvbnN0IFBsYXRmb3JtQ0FMYXllckxpc3QmIGxpc3QpCiB7CisjaWZuZGVmIEFT
U0VSVF9ESVNBQkxFRAorICAgIGZvciAoY29uc3QgYXV0byYgbGF5ZXIgOiBsaXN0KSB7CisgICAg
ICAgIEFTU0VSVChsYXllci0+aXNSZW1vdGUoKSk7CisgICAgICAgIGlmICghbGF5ZXItPmlzUmVt
b3RlKCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBtX2NoaWxk
cmVuID0gbGlzdDsKICAgICBtX3Byb3BlcnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpDaGlsZHJlbkNoYW5nZWQpOwogfQpAQCAtMTI2LDEyICsx
MzQsMjAgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnJlbW92ZUFsbFN1YmxheWVycygp
CiAKIHZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjphcHBlbmRTdWJsYXllcihQbGF0Zm9ybUNB
TGF5ZXIqIGxheWVyKQogeworICAgIEFTU0VSVChsYXllci0+aXNSZW1vdGUoKSk7CisgICAgaWYg
KCFsYXllci0+aXNSZW1vdGUoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgbV9jaGlsZHJlbi5h
cHBlbmQobGF5ZXIpOwogICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5nZWQoUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkNoaWxkcmVuQ2hhbmdlZCk7CiB9CiAKIHZvaWQgUGxh
dGZvcm1DQUxheWVyUmVtb3RlOjppbnNlcnRTdWJsYXllcihQbGF0Zm9ybUNBTGF5ZXIqIGxheWVy
LCBzaXplX3QgaW5kZXgpCiB7CisgICAgQVNTRVJUKGxheWVyLT5pc1JlbW90ZSgpKTsKKyAgICBp
ZiAoIWxheWVyLT5pc1JlbW90ZSgpKQorICAgICAgICByZXR1cm47CisKICAgICBtX2NoaWxkcmVu
Lmluc2VydChpbmRleCwgbGF5ZXIpOwogICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0No
YW5nZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkNoaWxkcmVuQ2hhbmdlZCk7CiB9CkBA
IC0xNjEsNiArMTc3LDEyIEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUFuaW1hdGlvbj4gUGxhdGZv
cm1DQUxheWVyUmVtb3RlOjphbmltYXRpb25Gb3JLZXkoY29uc3QgU3RyCiAKIHZvaWQgUGxhdGZv
cm1DQUxheWVyUmVtb3RlOjpzZXRNYXNrKFBsYXRmb3JtQ0FMYXllciogbGF5ZXIpCiB7CisgICAg
QVNTRVJUKGxheWVyLT5pc1JlbW90ZSgpKTsKKyAgICBpZiAoIWxheWVyLT5pc1JlbW90ZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX3Byb3BlcnRpZXMubWFza0xheWVyID0gc3RhdGljX2Nh
c3Q8UGxhdGZvcm1DQUxheWVyUmVtb3RlKj4obGF5ZXIpLT5sYXllcklEKCk7CisgICAgbV9wcm9w
ZXJ0aWVzLm5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6
TWFza0xheWVyQ2hhbmdlZCk7CiB9CiAKIGJvb2wgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjppc09w
YXF1ZSgpIGNvbnN0CkBAIC0yODMsMTQgKzMwNSwyMCBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllclJl
bW90ZTo6c2V0Q29udGVudHMoQ0ZUeXBlUmVmIHZhbHVlKQogCiB2b2lkIFBsYXRmb3JtQ0FMYXll
clJlbW90ZTo6c2V0Q29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgdmFsdWUpCiB7CisgICAg
bV9wcm9wZXJ0aWVzLmNvbnRlbnRzUmVjdCA9IHZhbHVlOworICAgIG1fcHJvcGVydGllcy5ub3Rl
UHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkNvbnRlbnRzUmVj
dENoYW5nZWQpOwogfQogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0TWluaWZpY2F0
aW9uRmlsdGVyKEZpbHRlclR5cGUgdmFsdWUpCiB7CisgICAgbV9wcm9wZXJ0aWVzLm1pbmlmaWNh
dGlvbkZpbHRlciA9IHZhbHVlOworICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5n
ZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok1pbmlmaWNhdGlvbkZpbHRlckNoYW5nZWQp
OwogfQogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0TWFnbmlmaWNhdGlvbkZpbHRl
cihGaWx0ZXJUeXBlIHZhbHVlKQogeworICAgIG1fcHJvcGVydGllcy5tYWduaWZpY2F0aW9uRmls
dGVyID0gdmFsdWU7CisgICAgbV9wcm9wZXJ0aWVzLm5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TWFnbmlmaWNhdGlvbkZpbHRlckNoYW5nZWQpOwogfQog
CiBDb2xvciBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OmJhY2tncm91bmRDb2xvcigpIGNvbnN0CkBA
IC0zNDgsMjUgKzM3NiwyNyBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0TmFtZShj
b25zdCBTdHJpbmcmIHZhbHVlKQogICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5n
ZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok5hbWVDaGFuZ2VkKTsKIH0KIAotdm9pZCBQ
bGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldEZyYW1lKGNvbnN0IEZsb2F0UmVjdCYgdmFsdWUpCi17
Ci19Ci0KIHZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpzZXRTcGVlZChmbG9hdCB2YWx1ZSkK
IHsKKyAgICBtX3Byb3BlcnRpZXMuc3BlZWQgPSB2YWx1ZTsKKyAgICBtX3Byb3BlcnRpZXMubm90
ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpTcGVlZENoYW5n
ZWQpOwogfQogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0VGltZU9mZnNldChDRlRp
bWVJbnRlcnZhbCB2YWx1ZSkKIHsKKyAgICBtX3Byb3BlcnRpZXMudGltZU9mZnNldCA9IHZhbHVl
OworICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb246OlRpbWVPZmZzZXRDaGFuZ2VkKTsKIH0KIAogZmxvYXQgUGxhdGZvcm1DQUxh
eWVyUmVtb3RlOjpjb250ZW50c1NjYWxlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbV9wcm9wZXJ0aWVzLmNvbnRlbnRzU2NhbGU7CiB9CiAKIHZvaWQgUGxhdGZvcm1DQUxh
eWVyUmVtb3RlOjpzZXRDb250ZW50c1NjYWxlKGZsb2F0IHZhbHVlKQogeworICAgIG1fcHJvcGVy
dGllcy5jb250ZW50c1NjYWxlID0gdmFsdWU7CisgICAgbV9wcm9wZXJ0aWVzLm5vdGVQcm9wZXJ0
aWVzQ2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Q29udGVudHNTY2FsZUNoYW5n
ZWQpOwogfQogCiBUaWxlZEJhY2tpbmcqIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6dGlsZWRCYWNr
aW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
UGxhdGZvcm1DQUxheWVyUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oCmluZGV4IDBjYTc5MTkuLjZiYmJiMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1D
QUxheWVyUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaApAQCAtNDUsNiArNDUsOCBAQCBwdWJsaWM6CiAKICAg
ICBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJJRCBsYXllcklEKCkgeyByZXR1cm4g
bV9sYXllcklEOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNSZW1vdGUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiB0cnVlOyB9CisKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1RpbGVkQmFja2luZ0xh
eWVyKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgUGxh
dGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG51bGxw
dHI7IH0KQEAgLTEyOSw4ICsxMzEsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
TmFtZShjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFt
ZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSBPVkVSUklERTsKLQogICAgIHZpcnR1YWwgdm9p
ZCBzZXRTcGVlZChmbG9hdCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGltZU9m
ZnNldChDRlRpbWVJbnRlcnZhbCkgT1ZFUlJJREU7CkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUoV2ViQ29yZTo6UGxhdGZvcm1D
QUxheWVyOjpMYXllclR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIs
IFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRleHQpOwogCi0gICAgdmlydHVhbCBBVlBsYXll
ckxheWVyKiBwbGF5ZXJMYXllcigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgQVZQbGF5
ZXJMYXllciAqcGxheWVyTGF5ZXIoKSBjb25zdCBPVkVSUklERTsKIAogICAgIFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpMYXllcklEIG1fbGF5ZXJJRDsKICAgICBSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzIG1fcHJvcGVydGllczsK
</data>
<flag name="review"
          id="236952"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>