<?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>94894</bug_id>
          
          <creation_ts>2012-08-23 21:01:41 -0700</creation_ts>
          <short_desc>[chromium] Add OVERRIDEs in test code</short_desc>
          <delta_ts>2012-08-23 21:46:29 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Labour">piman</reporter>
          <assigned_to name="Antoine Labour">piman</assigned_to>
          <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>703699</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-08-23 21:01:41 -0700</bug_when>
    <thetext>[chromium] Add OVERRIDEs in test code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703701</commentid>
    <comment_count>1</comment_count>
      <attachid>160319</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-08-23 21:02:12 -0700</bug_when>
    <thetext>Created attachment 160319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703726</commentid>
    <comment_count>2</comment_count>
      <attachid>160319</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 21:46:26 -0700</bug_when>
    <thetext>Comment on attachment 160319
Patch

Clearing flags on attachment: 160319

Committed r126537: &lt;http://trac.webkit.org/changeset/126537&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703727</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 21:46:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160319</attachid>
            <date>2012-08-23 21:02:12 -0700</date>
            <delta_ts>2012-08-23 21:46:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94894-20120823210208.patch</filename>
            <type>text/plain</type>
            <size>33090</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDU5OGI5MjM2MTAzNTQzYWU1NTAxNTUwMmIxMTI3ZjRmM2FlZTcxYzUuLmY1ZDBkYjk4YWFiZWZh
YzYyY2FjN2EwM2Y4ZTdmOTNlMzMxMmJjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTItMDgtMjMgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIE9WRVJSSURFcyBpbiB0ZXN0IGNvZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODk0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9D
Q0xheWVyVHJlZUhvc3RUZXN0LmNwcDoKKwogMjAxMi0wOC0yMyAgRGFuYSBKYW5zZW5zICA8ZGFu
YWtqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIENyZWF0ZSBzaGFyZWRRdWFk
U3RhdGUgYXQgc2FtZSB0aW1lIGFzIGNyZWF0aW5nIHF1YWRzIGFuZCBnaXZlIHRoZW0gdG8gdGhl
IHF1YWRTaW5rCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJUcmVlSG9zdFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RUZXN0LmNwcAppbmRleCA2YjlmOWIyYjUzODk0NWUwYmNmZmI5M2U3OTQzNmY3OGE0
NGUyYzAyLi4xZjliY2E1MzAxMDBmYzEwNTM4NzM2Yjk4MzM4NGFhYTJiOTVhODc3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5j
cHAKQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdFNob3J0bGl2ZWQx
IDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3QgewogcHVibGljOgogICAgIENDTGF5ZXJUcmVl
SG9zdFRlc3RTaG9ydGxpdmVkMSgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgp
CisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICAv
LyBLaWxsIHRoZSBsYXllclRyZWVIb3N0IGltbWVkaWF0ZWx5LgogICAgICAgICBtX2xheWVyVHJl
ZUhvc3QtPnNldFJvb3RMYXllcigwKTsKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgICAg
ICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCisgICAg
dmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgIH0KIH07CkBAIC04
MCw3ICs4MCw3IEBAIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RTaG9ydGxpdmVkMiA6IHB1Ymxp
YyBDQ0xheWVyVHJlZUhvc3RUZXN0IHsKIHB1YmxpYzoKICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0
U2hvcnRsaXZlZDIoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKQorICAgIHZp
cnR1YWwgdm9pZCBiZWdpblRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgcG9zdFNldE5l
ZWRzQ29tbWl0VG9NYWluVGhyZWFkKCk7CiAKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAg
ICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCisg
ICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgIH0KIH07CkBA
IC0xMDMsNyArMTAzLDcgQEAgY2xhc3MgQ0NMYXllclRyZWVIb3N0VGVzdFNob3J0bGl2ZWQzIDog
cHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3QgewogcHVibGljOgogICAgIENDTGF5ZXJUcmVlSG9z
dFRlc3RTaG9ydGxpdmVkMygpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisg
ICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBwb3N0
U2V0TmVlZHNSZWRyYXdUb01haW5UaHJlYWQoKTsKIApAQCAtMTE0LDcgKzExNCw3IEBAIHB1Ymxp
YzoKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRl
c3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICB9
CiB9OwpAQCAtMTMwLDE5ICsxMzAsMTkgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkgT1ZF
UlJJREUKICAgICB7CiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFpblRocmVhZCgpOwog
ICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXll
clRyZWVIb3N0SW1wbCopCisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVh
ZChDQ0xheWVyVHJlZUhvc3RJbXBsKikgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbnVtQ29t
cGxldGVDb21taXRzKys7CiAgICAgICAgIGlmIChtX251bUNvbXBsZXRlQ29tbWl0cyA9PSAyKQog
ICAgICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5
ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKikKKyAgICB2aXJ0dWFsIHZvaWQgZHJh
d0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCopIE9WRVJSSURFCiAgICAgewog
ICAgICAgICBpZiAobV9udW1EcmF3cyA9PSAxKQogICAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1p
dFRvTWFpblRocmVhZCgpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIHB1YmxpYzoKICAgICAgICAgcG9z
dFNldE5lZWRzUmVkcmF3VG9NYWluVGhyZWFkKCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lk
IGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAg
ewogICAgIH0KIApAQCAtMTc0LDI1ICsxNzQsMjUgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0
KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFpblRocmVh
ZCgpOwogICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1w
bCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRy
ZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbnVtRHJhd3MrKzsK
ICAgICAgICAgaWYgKCFpbXBsLT5zb3VyY2VGcmFtZU51bWJlcigpKQogICAgICAgICAgICAgZW5k
VGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJl
YWQoQ0NMYXllclRyZWVIb3N0SW1wbCopCisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRl
T25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKikgT1ZFUlJJREUKICAgICB7CiAgICAgICAg
IG1fbnVtQ29tbWl0cysrOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQor
ICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgRVhQ
RUNUX0dFKDEsIG1fbnVtQ29tbWl0cyk7CiAgICAgICAgIEVYUEVDVF9HRSgxLCBtX251bURyYXdz
KTsKQEAgLTIxOCwxMiArMjE4LDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmly
dHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJS
SURFCiAgICAgewogICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVI
b3N0SW1wbCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NM
YXllclRyZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIGlmICghaW1w
bC0+c291cmNlRnJhbWVOdW1iZXIoKSkKICAgICAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRv
TWFpblRocmVhZCgpOwpAQCAtMjMxLDEyICsyMzEsMTIgQEAgcHVibGljOgogICAgICAgICAgICAg
ZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NU
aHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCopCisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBs
ZXRlT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKikgT1ZFUlJJREUKICAgICB7CiAgICAg
ICAgIG1fbnVtQ29tbWl0cysrOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3Qo
KQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAg
RVhQRUNUX0VRKDIsIG1fbnVtQ29tbWl0cyk7CiAgICAgICAgIEVYUEVDVF9HRSgyLCBtX251bURy
YXdzKTsKQEAgLTI2NywxMiArMjY3LDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAg
dmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9W
RVJSSURFCiAgICAgewogICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsK
ICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRy
ZWVIb3N0SW1wbCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQo
Q0NMYXllclRyZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIEVYUEVD
VF9FUSgwLCBpbXBsLT5zb3VyY2VGcmFtZU51bWJlcigpKTsKICAgICAgICAgaWYgKCFtX251bURy
YXdzKQpAQCAtMjgyLDEzICsyODIsMTMgQEAgcHVibGljOgogICAgICAgICBtX251bURyYXdzKys7
CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xh
eWVyVHJlZUhvc3RJbXBsKikKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkNDVGhy
ZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqKSBPVkVSUklERQogICAgIHsKICAgICAgICAgRVhQRUNU
X0VRKDAsIG1fbnVtRHJhd3MpOwogICAgICAgICBtX251bUNvbW1pdHMrKzsKICAgICB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkg
T1ZFUlJJREUKICAgICB7CiAgICAgICAgIEVYUEVDVF9HRSgyLCBtX251bURyYXdzKTsKICAgICAg
ICAgRVhQRUNUX0VRKDEsIG1fbnVtQ29tbWl0cyk7CkBAIC0zMTIsMTkgKzMxMiwxOSBAQCBwdWJs
aWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKQorICAgIHZp
cnR1YWwgdm9pZCBiZWdpblRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgcG9zdFNldE5l
ZWRzQ29tbWl0VG9NYWluVGhyZWFkKCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRyYXdM
YXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpCisgICAgdmlydHVhbCB2
b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpIE9WRVJS
SURFCiAgICAgewogICAgICAgICAvLyBPbmx5IHRoZSBpbml0aWFsIGRyYXcgc2hvdWxkIGJyaW5n
IHVzIGhlcmUuCiAgICAgICAgIEVYUEVDVF9UUlVFKGltcGwtPmNhbkRyYXcoKSk7CiAgICAgICAg
IEVYUEVDVF9FUSgwLCBpbXBsLT5zb3VyY2VGcmFtZU51bWJlcigpKTsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwq
IGltcGwpCisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xheWVy
VHJlZUhvc3RJbXBsKiBpbXBsKSBPVkVSUklERQogICAgIHsKICAgICAgICAgaWYgKG1fbnVtQ29t
bWl0cyA+PSAxKSB7CiAgICAgICAgICAgICAvLyBBZnRlciB0aGUgZmlyc3QgY29tbWl0LCB3ZSBz
aG91bGQgbm90IGJlIGFibGUgdG8gZHJhdy4KQEAgLTMzMiw3ICszMzIsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIH0KICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0KCkKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ29tbWl0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbnVtQ29tbWl0
cysrOwogICAgICAgICBpZiAobV9udW1Db21taXRzID09IDEpIHsKQEAgLTM0OCw3ICszNDgsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2
b2lkIGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAg
ICAgewogICAgIH0KIApAQCAtMzY3LDI2ICszNjcsMjYgQEAgcHVibGljOgogICAgIHsKICAgICB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5U
ZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIHBvc3RBY3F1aXJlTGF5ZXJUZXh0dXJlcygp
OwogICAgICAgICBwb3N0U2V0TmVlZHNSZWRyYXdUb01haW5UaHJlYWQoKTsgLy8gc2hvdWxkIGJl
IGluaGliaXRlZCB3aXRob3V0IGJsb2NraW5nCiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRv
TWFpblRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzT25DQ1Ro
cmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBpbXBsKQorICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5
ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBpbXBsKSBPVkVSUklERQogICAgIHsK
ICAgICAgICAgbV9udW1EcmF3cysrOwogICAgICAgICBFWFBFQ1RfRVEobV9udW1EcmF3cywgbV9u
dW1Db21taXRzKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkND
VGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqKQorICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21w
bGV0ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCopIE9WRVJSSURFCiAgICAgewogICAg
ICAgICBtX251bUNvbW1pdHMrKzsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVS
UklERQogICAgIHsKICAgICAgICAgRVhQRUNUX0VRKDEsIG1fbnVtQ29tbWl0cyk7CiAgICAgfQpA
QCAtNDEzLDEyICs0MTMsMTIgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkgT1ZFUlJJREUK
ICAgICB7CiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFpblRocmVhZCgpOwogICAgIH0K
IAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVI
b3N0SW1wbCopCisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xh
eWVyVHJlZUhvc3RJbXBsKikgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbnVtQ29tbWl0cysr
OwogICAgICAgICBpZiAobV9udW1Db21taXRzID09IDIpCkBAIC00MzEsNyArNDMxLDcgQEAgcHVi
bGljOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCisg
ICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgIH0KIApAQCAt
NDUyLDExICs0NTIsMTEgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkgT1ZFUlJJREUKICAg
ICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZSgpCisg
ICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZSgpIE9WRVJSSURFCiAgICAgewog
ICAgICAgICBtX251bUNvbW1pdHMrKzsKICAgICAgICAgaWYgKG1fbnVtQ29tbWl0cyA9PSAxKSB7
CkBAIC00NzAsNyArNDcwLDcgQEAgcHVibGljOgogCiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lk
IGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAg
ewogICAgIH0KIApAQCAtNDg5LDcgKzQ4OSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0g
ICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgp
IE9WRVJSSURFCiAgICAgewogICAgICAgICAvLyBSZXF1ZXN0IGEgY29tbWl0IChmcm9tIHRoZSBt
YWluIHRocmVhZCksIHdoaWNoIHdpbGwgdHJpZ2dlciB0aGUgY29tbWl0IGZsb3cgZnJvbSB0aGUg
aW1wbCBzaWRlLgogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQ29tbWl0KCk7CkBA
IC01MDUsNyArNTA1LDcgQEAgcHVibGljOgogICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0g
ICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgp
IE9WRVJSSURFCiAgICAgewogICAgIH0KIApAQCAtNTMwLDEyICs1MzAsMTIgQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFs
IHZvaWQgYmVnaW5UZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIHBvc3RTZXROZWVkc0Fu
aW1hdGVUb01haW5UaHJlYWQoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5p
bWF0aW9ucyhkb3VibGUpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFuaW1hdGlvbnMoZG91Ymxl
KSBPVkVSUklERQogICAgIHsKICAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7CiAgICAgICAg
ICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQW5pbWF0ZSgpOwpAQCAtNTQ1LDcgKzU0NSw3
IEBAIHB1YmxpYzoKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAg
IHsKICAgICB9CiAKQEAgLTU3MCwxMiArNTcwLDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVz
dCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBwb3N0QWRkSW5zdGFudEFuaW1hdGlvblRvTWFp
blRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlTGF5ZXJzKENDTGF5
ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsLCBkb3VibGUgbW9ub3RvbmljVGltZSkK
KyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUxheWVycyhDQ0xheWVyVHJlZUhvc3RJbXBsKiBsYXll
clRyZWVIb3N0SW1wbCwgZG91YmxlIG1vbm90b25pY1RpbWUpIE9WRVJSSURFCiAgICAgewogICAg
ICAgICBpZiAoIW1fbnVtQW5pbWF0ZXMpIHsKICAgICAgICAgICAgIC8vIFRoZSBhbmltYXRpb24g
aGFkIHplcm8gZHVyYXRpb24gc28gbGF5ZXJUcmVlSG9zdEltcGwgc2hvdWxkIG5vCkBAIC01OTIs
MTMgKzU5MiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChkb3VibGUgd2FsbENsb2NrVGltZSkK
KyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChkb3VibGUgd2FsbENsb2Nr
VGltZSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fcmVjZWl2ZWRBbmltYXRpb25TdGFydGVk
Tm90aWZpY2F0aW9uID0gdHJ1ZTsKICAgICAgICAgbV9zdGFydFRpbWUgPSB3YWxsQ2xvY2tUaW1l
OwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9p
ZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICB9CiAKQEAgLTYyMywyNyArNjIzLDI3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgp
CisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBw
b3N0QWRkQW5pbWF0aW9uVG9NYWluVGhyZWFkKCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lk
IGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAg
ewogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlTGF5ZXJzKENDTGF5ZXJUcmVlSG9z
dEltcGwqIGxheWVyVHJlZUhvc3RJbXBsLCBkb3VibGUgbW9ub3RvbmljVGltZSkKKyAgICB2aXJ0
dWFsIHZvaWQgYW5pbWF0ZUxheWVycyhDQ0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0
SW1wbCwgZG91YmxlIG1vbm90b25pY1RpbWUpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX3N0
YXJ0ZWRBbmltYXRpbmcgPSB0cnVlOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5
ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKikKKyAgICB2aXJ0dWFsIHZvaWQgZHJh
d0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCopIE9WRVJSSURFCiAgICAgewog
ICAgICAgICBpZiAobV9zdGFydGVkQW5pbWF0aW5nKQogICAgICAgICAgICAgZW5kVGVzdCgpOwog
ICAgIH0KIAotICAgIHZpcnR1YWwgYm9vbCBwcmVwYXJlVG9EcmF3T25DQ1RocmVhZChDQ0xheWVy
VHJlZUhvc3RJbXBsKikKKyAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZVRvRHJhd09uQ0NUaHJlYWQo
Q0NMYXllclRyZWVIb3N0SW1wbCopIE9WRVJSSURFCiAgICAgewogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQpAQCAtNjY2LDcgKzY2Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0g
ICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgp
IE9WRVJSSURFCiAgICAgewogICAgICAgICBwb3N0QWRkQW5pbWF0aW9uVG9NYWluVGhyZWFkKCk7
CiAgICAgfQpAQCAtNjc0LDcgKzY3NCw3IEBAIHB1YmxpYzoKICAgICAvLyBVc2Ugd2lsbEFuaW1h
dGVMYXllcnMgdG8gc2V0IHZpc2libGUgZmFsc2UgYmVmb3JlIHRoZSBhbmltYXRpb24gcnVucyBh
bmQKICAgICAvLyBjYXVzZXMgYSBjb21taXQsIHNvIHdlIGJsb2NrIHRoZSBzZWNvbmQgdmlzaWJs
ZSBhbmltYXRlIGluIHNpbmdsZS10aHJlYWQKICAgICAvLyBtb2RlLgotICAgIHZpcnR1YWwgdm9p
ZCB3aWxsQW5pbWF0ZUxheWVycyhDQ0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1w
bCwgZG91YmxlIG1vbm90b25pY1RpbWUpCisgICAgdmlydHVhbCB2b2lkIHdpbGxBbmltYXRlTGF5
ZXJzKENDTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsLCBkb3VibGUgbW9ub3Rv
bmljVGltZSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIGlmIChtX251bUFuaW1hdGVzIDwgMikg
ewogICAgICAgICAgICAgaWYgKCFtX251bUFuaW1hdGVzKSB7CkBAIC02ODcsNyArNjg3LDcgQEAg
cHVibGljOgogICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFm
dGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAgewog
ICAgIH0KIApAQCAtNzA0LDEyICs3MDQsMTIgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkg
T1ZFUlJJREUKICAgICB7CiAgICAgICAgIHBvc3RBZGRBbmltYXRpb25Ub01haW5UaHJlYWQoKTsK
ICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUxheWVycyhDQ0xheWVyVHJlZUhvc3RJ
bXBsKiBsYXllclRyZWVIb3N0SW1wbCwgZG91YmxlIG1vbm90b25pY1RpbWUpCisgICAgdmlydHVh
bCB2b2lkIGFuaW1hdGVMYXllcnMoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdElt
cGwsIGRvdWJsZSBtb25vdG9uaWNUaW1lKSBPVkVSUklERQogICAgIHsKICAgICAgICAgY29uc3Qg
Q0NBY3RpdmVBbmltYXRpb24qIGFuaW1hdGlvbiA9IG1fbGF5ZXJUcmVlSG9zdC0+cm9vdExheWVy
KCktPmxheWVyQW5pbWF0aW9uQ29udHJvbGxlcigpLT5nZXRBY3RpdmVBbmltYXRpb24oMCwgQ0NB
Y3RpdmVBbmltYXRpb246Ok9wYWNpdHkpOwogICAgICAgICBpZiAoIWFuaW1hdGlvbikKQEAgLTcy
Niw3ICs3MjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZF
UlJJREUKICAgICB7CiAgICAgfQogCkBAIC03NDIsNyArNzQyLDcgQEAgcHVibGljOgogICAgIHsK
ICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQg
YmVnaW5UZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+cm9v
dExheWVyKCktPnNldERyYXdPcGFjaXR5KDEpOwogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNl
dFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwLCAxMCksIEludFNpemUoMTAsIDEwKSk7CkBAIC03NTAs
NyArNzUwLDcgQEAgcHVibGljOgogICAgICAgICBwb3N0QWRkQW5pbWF0aW9uVG9NYWluVGhyZWFk
KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChD
Q0xheWVyVHJlZUhvc3RJbXBsKikKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkND
VGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqKSBPVkVSUklERQogICAgIHsKICAgICAgICAgLy8g
SWYgdGhlIHN1YnRyZWUgd2FzIHNraXBwZWQgd2hlbiBwcmVwYXJpbmcgdG8gZHJhdywgdGhlIGxh
eWVyJ3MgZHJhdyBvcGFjaXR5CiAgICAgICAgIC8vIHdpbGwgbm90IGhhdmUgYmVlbiB1cGRhdGVk
LiBJdCBzaG91bGQgYmUgc2V0IHRvIDAgZHVlIHRvIHRoZSBhbmltYXRpb24uCkBAIC03NTksNyAr
NzU5LDcgQEAgcHVibGljOgogICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVh
bCB2b2lkIGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURF
CiAgICAgewogICAgIH0KIH07CkBAIC03ODIsMTggKzc4MiwxOCBAQCBwdWJsaWM6CiAgICAgewog
ICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBi
ZWdpblRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgcG9zdEFkZEFuaW1hdGlvblRvTWFp
blRocmVhZCgpOwogICAgIH0KIAogICAgIC8vIFRoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSBjYWxs
ZWQgYmVmb3JlIENDTGF5ZXJUcmVlSG9zdEltcGw6OmFuaW1hdGVMYXllcnMuCi0gICAgdmlydHVh
bCB2b2lkIHdpbGxBbmltYXRlTGF5ZXJzKENDTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhv
c3RJbXBsLCBkb3VibGUgbW9ub3RvbmljVGltZSkKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEFuaW1h
dGVMYXllcnMoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIGRvdWJsZSBt
b25vdG9uaWNUaW1lKSBPVkVSUklERQogICAgIHsKICAgICAgICAgbV9sYXllclRyZWVIb3N0SW1w
bCA9IGxheWVyVHJlZUhvc3RJbXBsOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlB
bmltYXRpb25TdGFydGVkKGRvdWJsZSB0aW1lKQorICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBbmlt
YXRpb25TdGFydGVkKGRvdWJsZSB0aW1lKSBPVkVSUklERQogICAgIHsKICAgICAgICAgRVhQRUNU
X1RSVUUobV9sYXllclRyZWVIb3N0SW1wbCk7CiAKQEAgLTgwNyw3ICs4MDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0
KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgfQog
CkBAIC04MjQsMTcgKzgyNCwxNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1
YWwgdm9pZCBiZWdpblRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKSBPVkVSUklE
RQogICAgIHsKICAgICAgICAgcG9zdEFkZEluc3RhbnRBbmltYXRpb25Ub01haW5UaHJlYWQoKTsK
ICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uRmluaXNoZWQoZG91Ymxl
IHRpbWUpCisgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvbkZpbmlzaGVkKGRvdWJsZSB0
aW1lKSBPVkVSUklERQogICAgIHsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVS
UklERQogICAgIHsKICAgICB9CiAKQEAgLTg1MywxNCArODUzLDE0IEBAIHB1YmxpYzoKICAgICB7
CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lk
IGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnJv
b3RMYXllcigpLT5zZXRTY3JvbGxhYmxlKHRydWUpOwogICAgICAgICBtX2xheWVyVHJlZUhvc3Qt
PnJvb3RMYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihtX2luaXRpYWxTY3JvbGwpOwogICAgICAg
ICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgbGF5b3V0KCkKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREUKICAgICB7
CiAgICAgICAgIExheWVyQ2hyb21pdW0qIHJvb3QgPSBtX2xheWVyVHJlZUhvc3QtPnJvb3RMYXll
cigpOwogICAgICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdC0+Y29tbWl0TnVtYmVyKCkpCkBAIC04
NzMsNyArODczLDcgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdmlydHVhbCB2
b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpCisgICAg
dmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGlt
cGwpIE9WRVJSSURFCiAgICAgewogICAgICAgICBDQ0xheWVySW1wbCogcm9vdCA9IGltcGwtPnJv
b3RMYXllcigpOwogICAgICAgICBFWFBFQ1RfRVEocm9vdC0+c2Nyb2xsRGVsdGEoKSwgSW50U2l6
ZSgpKTsKQEAgLTg5MywxNCArODkzLDE0IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBhcHBseVNjcm9sbEFuZFNjYWxlKGNvbnN0IEludFNpemUmIHNjcm9s
bERlbHRhLCBmbG9hdCBzY2FsZSkKKyAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxBbmRTY2Fs
ZShjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgc2NhbGUpIE9WRVJSSURFCiAgICAg
ewogICAgICAgICBJbnRQb2ludCBwb3NpdGlvbiA9IG1fbGF5ZXJUcmVlSG9zdC0+cm9vdExheWVy
KCktPnNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+cm9vdExheWVy
KCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uICsgc2Nyb2xsRGVsdGEpOwogICAgICAgICBt
X3Njcm9sbHMrKzsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkKKyAgICB2
aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIEVYUEVDVF9F
USgxLCBtX3Njcm9sbHMpOwogICAgIH0KQEAgLTkyNSwxNCArOTI1LDE0IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2
b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xheWVyVHJlZUhvc3Qt
PnJvb3RMYXllcigpLT5zZXRTY3JvbGxhYmxlKHRydWUpOwogICAgICAgICBtX2xheWVyVHJlZUhv
c3QtPnJvb3RMYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihtX2luaXRpYWxTY3JvbGwpOwogICAg
ICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsKICAgICB9CiAKLSAgICB2aXJ0
dWFsIHZvaWQgYmVnaW5Db21taXRPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwp
CisgICAgdmlydHVhbCB2b2lkIGJlZ2luQ29tbWl0T25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJ
bXBsKiBpbXBsKSBPVkVSUklERQogICAgIHsKICAgICAgICAgTGF5ZXJDaHJvbWl1bSogcm9vdCA9
IG1fbGF5ZXJUcmVlSG9zdC0+cm9vdExheWVyKCk7CiAgICAgICAgIGlmICghaW1wbC0+c291cmNl
RnJhbWVOdW1iZXIoKSkKQEAgLTk0Myw3ICs5NDMsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBF
WFBFQ1RfRVEocm9vdC0+c2Nyb2xsUG9zaXRpb24oKSwgbV9pbml0aWFsU2Nyb2xsICsgbV9zY3Jv
bGxBbW91bnQgKyBtX3Njcm9sbEFtb3VudCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRy
YXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpCisgICAgdmlydHVh
bCB2b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpIE9W
RVJSSURFCiAgICAgewogICAgICAgICBDQ0xheWVySW1wbCogcm9vdCA9IGltcGwtPnJvb3RMYXll
cigpOwogICAgICAgICByb290LT5zZXRTY3JvbGxhYmxlKHRydWUpOwpAQCAtOTc0LDE0ICs5NzQs
MTQgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFwcGx5
U2Nyb2xsQW5kU2NhbGUoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGZsb2F0IHNjYWxlKQor
ICAgIHZpcnR1YWwgdm9pZCBhcHBseVNjcm9sbEFuZFNjYWxlKGNvbnN0IEludFNpemUmIHNjcm9s
bERlbHRhLCBmbG9hdCBzY2FsZSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIEludFBvaW50IHBv
c2l0aW9uID0gbV9sYXllclRyZWVIb3N0LT5yb290TGF5ZXIoKS0+c2Nyb2xsUG9zaXRpb24oKTsK
ICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5yb290TGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24gKyBzY3JvbGxEZWx0YSk7CiAgICAgICAgIG1fc2Nyb2xscysrOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3Qo
KSBPVkVSUklERQogICAgIHsKICAgICAgICAgRVhQRUNUX0VRKDEsIG1fc2Nyb2xscyk7CiAgICAg
fQpAQCAtMTAwMiw3ICsxMDAyLDcgQEAgcHVibGljOgogCiAgICAgQ0NMYXllclRyZWVIb3N0VGVz
dENvbW1pdCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVh
bCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xheWVyVHJlZUhv
c3QtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDIwLCAyMCksIEludFNpemUoMjAsIDIwKSk7CiAg
ICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0QmFja2dyb3VuZENvbG9yKFNLX0NvbG9yR1JBWSk7
CkBAIC0xMDExLDcgKzEwMTEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1p
dFRvTWFpblRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0
ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQg
Y29tbWl0Q29tcGxldGVPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpIE9WRVJS
SURFCiAgICAgewogICAgICAgICBFWFBFQ1RfRVEoSW50U2l6ZSgyMCwgMjApLCBpbXBsLT5sYXlv
dXRWaWV3cG9ydFNpemUoKSk7CiAgICAgICAgIEVYUEVDVF9FUShTS19Db2xvckdSQVksIGltcGwt
PmJhY2tncm91bmRDb2xvcigpKTsKQEAgLTEwMjAsNyArMTAyMCw3IEBAIHB1YmxpYzoKICAgICAg
ICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUgeyB9CiB9OwogCiBURVNUX0Yo
Q0NMYXllclRyZWVIb3N0VGVzdENvbW1pdCwgcnVuVGVzdCkKQEAgLTEwMzgsNyArMTAzOCw3IEBA
IHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisg
ICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xh
eWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLT5zZXRTY3JvbGxhYmxlKHRydWUpOwogICAgICAgICBt
X2xheWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCgp
KTsKQEAgLTEwNTIsNyArMTA1Miw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHRlc3QtPmxheWVy
VHJlZUhvc3QoKS0+c3RhcnRQYWdlU2NhbGVBbmltYXRpb24oSW50U2l6ZSgpLCBmYWxzZSwgMS4y
NSwgMCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKEND
TGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpCisgICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkND
VGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpIE9WRVJSSURFCiAgICAgewogICAgICAg
ICBpbXBsLT5yb290TGF5ZXIoKS0+c2V0U2Nyb2xsYWJsZSh0cnVlKTsKICAgICAgICAgaW1wbC0+
cm9vdExheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KCkpOwpAQCAtMTA2NSwxNCAr
MTA2NSwxNCBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQg
YXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgc2Nh
bGUpCisgICAgdmlydHVhbCB2b2lkIGFwcGx5U2Nyb2xsQW5kU2NhbGUoY29uc3QgSW50U2l6ZSYg
c2Nyb2xsRGVsdGEsIGZsb2F0IHNjYWxlKSBPVkVSUklERQogICAgIHsKICAgICAgICAgSW50UG9p
bnQgcG9zaXRpb24gPSBtX2xheWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLT5zY3JvbGxQb3NpdGlv
bigpOwogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLT5zZXRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiArIHNjcm9sbERlbHRhKTsKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5z
ZXRQYWdlU2NhbGVGYWN0b3JBbmRMaW1pdHMoc2NhbGUsIDAuNSwgMik7CiAgICAgfQogCi0gICAg
dmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBs
KiBpbXBsKQorICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXll
clRyZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIGltcGwtPnByb2Nl
c3NTY3JvbGxEZWx0YXMoKTsKICAgICAgICAgLy8gV2UgZ2V0IG9uZSBjb21taXQgYmVmb3JlIHRo
ZSBmaXJzdCBkcmF3LCBhbmQgdGhlIGFuaW1hdGlvbiBkb2Vzbid0IGhhcHBlbiB1bnRpbCB0aGUg
c2Vjb25kIGRyYXcuCkBAIC0xMDgzLDcgKzEwODMsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBw
b3N0U2V0TmVlZHNSZWRyYXdUb01haW5UaHJlYWQoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUKICAg
ICB7CiAgICAgfQogCkBAIC0xMTA0LDIxICsxMTA0LDIxIEBAIHB1YmxpYzoKICAgICB7CiAgICAg
fQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2lu
VGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBwb3N0U2V0VmlzaWJsZVRvTWFpblRocmVh
ZChmYWxzZSk7CiAgICAgICAgIHBvc3RTZXROZWVkc1JlZHJhd1RvTWFpblRocmVhZCgpOyAvLyBU
aGlzIGlzIHN1cHByZXNzZWQgd2hpbGUgd2UncmUgaW52aXNpYmxlLgogICAgICAgICBwb3N0U2V0
VmlzaWJsZVRvTWFpblRocmVhZCh0cnVlKTsgLy8gVHJpZ2dlcnMgdGhlIHJlZHJhdy4KICAgICB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0
SW1wbCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXll
clRyZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIEVYUEVDVF9UUlVF
KGltcGwtPnZpc2libGUoKSk7CiAgICAgICAgICsrbV9udW1EcmF3czsKICAgICAgICAgZW5kVGVz
dCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwg
dm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgRVhQRUNUX0VRKDEsIG1f
bnVtRHJhd3MpOwogICAgIH0KQEAgLTExNDUsOCArMTE0NSw2IEBAIHB1YmxpYzoKICAgICAgICAg
bV90ZXN0LT5sYXllclRyZWVIb3N0KCktPnJvb3RMYXllcigpLT5zZXRPcGFjaXR5KDApOwogICAg
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBwcmVzZXJ2ZXMzRCgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0K
IHByaXZhdGU6CiAgICAgQ0NMYXllclRyZWVIb3N0VGVzdCogbV90ZXN0OwogfTsKQEAgLTExODYs
NyArMTE4NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJl
Z2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewog
ICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFJvb3RMYXllcihtX3VwZGF0ZUNoZWNrTGF5ZXIp
OwogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwLCAx
MCksIEludFNpemUoMTAsIDEwKSk7CkBAIC0xMTk0LDEyICsxMTkyLDEyIEBAIHB1YmxpYzoKICAg
ICAgICAgcG9zdFNldE5lZWRzQ29tbWl0VG9NYWluVGhyZWFkKCk7CiAgICAgfQogCi0gICAgdmly
dHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKikK
KyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9z
dEltcGwqKSBPVkVSUklERQogICAgIHsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBP
VkVSUklERQogICAgIHsKICAgICAgICAgLy8gdXBkYXRlKCkgc2hvdWxkIGhhdmUgYmVlbiBjYWxs
ZWQgb25jZS4KICAgICAgICAgRVhQRUNUX0VRKDEsIG1fdXBkYXRlQ2hlY2tMYXllci0+cGFpbnRD
b250ZW50c0NvdW50KCkpOwpAQCAtMTIzNSw3ICsxMjMzLDcgQEAgcHVibGljOgogICAgIHsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVn
aW5UZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0Vmll
d3BvcnRTaXplKEludFNpemUoNDAsIDQwKSwgSW50U2l6ZSg2MCwgNjApKTsKICAgICAgICAgbV9s
YXllclRyZWVIb3N0LT5zZXREZXZpY2VTY2FsZUZhY3RvcigxLjUpOwpAQCAtMTI1Niw3ICsxMjU0
LDcgQEAgcHVibGljOgogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFJvb3RMYXllcihtX3Jv
b3RMYXllcik7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1Ro
cmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBpbXBsKQorICAgIHZpcnR1YWwgdm9pZCBjb21taXRD
b21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAg
ICB7CiAgICAgICAgIC8vIEdldCBhY2Nlc3MgdG8gcHJvdGVjdGVkIG1ldGhvZHMuCiAgICAgICAg
IE1vY2tMYXllclRyZWVIb3N0SW1wbCogbW9ja0ltcGwgPSBzdGF0aWNfY2FzdDxNb2NrTGF5ZXJU
cmVlSG9zdEltcGwqPihpbXBsKTsKQEAgLTEzMTQsNyArMTMxMiw3IEBAIHB1YmxpYzoKICAgICAg
ICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAg
IHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgbV9yb290
TGF5ZXIuY2xlYXIoKTsKICAgICAgICAgbV9jaGlsZExheWVyLmNsZWFyKCk7CkBAIC0xMzQxLDcg
KzEzMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2V0dGluZ3MubWF4UGFydGlhbFRleHR1cmVV
cGRhdGVzID0gMDsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2
aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdC0+c2V0Um9vdExheWVyKG1fbGF5ZXIpOwogICAgICAgICBtX2xheWVyVHJlZUhvc3Qt
PnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwLCAxMCksIEludFNpemUoMTAsIDEwKSk7CkBAIC0x
MzUwLDcgKzEzNDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHBvc3RTZXROZWVkc1JlZHJhd1RvTWFp
blRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NU
aHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0
Q29tcGxldGVPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpIE9WRVJSSURFCiAg
ICAgewogICAgICAgICBDb21wb3NpdG9yRmFrZVdlYkdyYXBoaWNzQ29udGV4dDNEV2l0aFRleHR1
cmVUcmFja2luZyogY29udGV4dCA9IHN0YXRpY19jYXN0PENvbXBvc2l0b3JGYWtlV2ViR3JhcGhp
Y3NDb250ZXh0M0RXaXRoVGV4dHVyZVRyYWNraW5nKj4oaW1wbC0+Y29udGV4dCgpLT5jb250ZXh0
M0QoKSk7CiAKQEAgLTEzODQsNyArMTM4Miw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0K
IAotICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJ
bXBsKiBpbXBsKQorICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzT25DQ1RocmVhZChDQ0xheWVy
VHJlZUhvc3RJbXBsKiBpbXBsKSBPVkVSUklERQogICAgIHsKICAgICAgICAgQ29tcG9zaXRvckZh
a2VXZWJHcmFwaGljc0NvbnRleHQzRFdpdGhUZXh0dXJlVHJhY2tpbmcqIGNvbnRleHQgPSBzdGF0
aWNfY2FzdDxDb21wb3NpdG9yRmFrZVdlYkdyYXBoaWNzQ29udGV4dDNEV2l0aFRleHR1cmVUcmFj
a2luZyo+KGltcGwtPmNvbnRleHQoKS0+Y29udGV4dDNEKCkpOwogCkBAIC0xMzk5LDEyICsxMzk3
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2aXJ0
dWFsIHZvaWQgbGF5b3V0KCkKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREUKICAg
ICB7CiAgICAgICAgIG1fbGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVS
UklERQogICAgIHsKICAgICB9CiAKQEAgLTE0NDEsNyArMTQzOSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9zZXR0aW5ncy5tYXhQYXJ0aWFsVGV4dHVyZVVwZGF0ZXMgPSAxOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKSBP
VkVSUklERQogICAgIHsKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXRSb290TGF5ZXIobV9w
YXJlbnQpOwogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXpl
KDEwLCAyMCksIEludFNpemUoMTAsIDIwKSk7CkBAIC0xNDU0LDcgKzE0NTIsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHBvc3RTZXROZWVkc1JlZHJhd1RvTWFpblRocmVhZCgpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1w
bCogaW1wbCkKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkNDVGhyZWFkKENDTGF5
ZXJUcmVlSG9zdEltcGwqIGltcGwpIE9WRVJSSURFCiAgICAgewogICAgICAgICBDb21wb3NpdG9y
RmFrZVdlYkdyYXBoaWNzQ29udGV4dDNEV2l0aFRleHR1cmVUcmFja2luZyogY29udGV4dCA9IHN0
YXRpY19jYXN0PENvbXBvc2l0b3JGYWtlV2ViR3JhcGhpY3NDb250ZXh0M0RXaXRoVGV4dHVyZVRy
YWNraW5nKj4oaW1wbC0+Y29udGV4dCgpLT5jb250ZXh0M0QoKSk7CiAKQEAgLTE1MDYsNyArMTUw
NCw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3
TGF5ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBpbXBsKQorICAgIHZpcnR1YWwg
dm9pZCBkcmF3TGF5ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBpbXBsKSBPVkVS
UklERQogICAgIHsKICAgICAgICAgQ29tcG9zaXRvckZha2VXZWJHcmFwaGljc0NvbnRleHQzRFdp
dGhUZXh0dXJlVHJhY2tpbmcqIGNvbnRleHQgPSBzdGF0aWNfY2FzdDxDb21wb3NpdG9yRmFrZVdl
YkdyYXBoaWNzQ29udGV4dDNEV2l0aFRleHR1cmVUcmFja2luZyo+KGltcGwtPmNvbnRleHQoKS0+
Y29udGV4dDNEKCkpOwogCkBAIC0xNTI1LDcgKzE1MjMsNyBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGxheW91dCgpCisgICAgdmly
dHVhbCB2b2lkIGxheW91dCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fbnVt
Q29tbWl0cysrKSB7CiAgICAgICAgIGNhc2UgMDoKQEAgLTE1NTEsNyArMTU0OSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgfQogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAg
IHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICB9CiAKQEAgLTE1
OTksNyArMTU5Nyw3IEBAIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RMYXllck9jY2x1c2lvbiA6
IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0IHsKIHB1YmxpYzoKICAgICBDQ0xheWVyVHJlZUhv
c3RUZXN0TGF5ZXJPY2NsdXNpb24oKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3Qo
KQorICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKSBPVkVSUklERQogICAgIHsKICAgICAgICAg
UmVmUHRyPFRlc3RMYXllckNocm9taXVtPiByb290TGF5ZXIgPSBUZXN0TGF5ZXJDaHJvbWl1bTo6
Y3JlYXRlKCk7CiAgICAgICAgIFJlZlB0cjxUZXN0TGF5ZXJDaHJvbWl1bT4gY2hpbGQgPSBUZXN0
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CkBAIC0xNzkxLDcgKzE3ODksNyBAQCBwdWJsaWM6CiAg
ICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkK
KyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgfQogfTsK
QEAgLTE4MDIsNyArMTgwMCw3IEBAIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RMYXllck9jY2x1
c2lvbldpdGhGaWx0ZXJzIDogcHVibGljIENDTGF5ZXJUcmVlSG9zdFRlc3QKIHB1YmxpYzoKICAg
ICBDQ0xheWVyVHJlZUhvc3RUZXN0TGF5ZXJPY2NsdXNpb25XaXRoRmlsdGVycygpIHsgfQogCi0g
ICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgp
IE9WRVJSSURFCiAgICAgewogICAgICAgICBSZWZQdHI8VGVzdExheWVyQ2hyb21pdW0+IHJvb3RM
YXllciA9IFRlc3RMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICAgICAgUmVmUHRyPFRlc3RM
YXllckNocm9taXVtPiBjaGlsZCA9IFRlc3RMYXllckNocm9taXVtOjpjcmVhdGUoKTsKQEAgLTE4
ODIsNyArMTg4MCw3IEBAIHB1YmxpYzoKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSBP
VkVSUklERQogICAgIHsKICAgICB9CiB9OwpAQCAtMTg5Myw3ICsxODkxLDcgQEAgY2xhc3MgQ0NM
YXllclRyZWVIb3N0VGVzdE1hbnlTdXJmYWNlcyA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RUZXN0
IHsKIHB1YmxpYzoKICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0TWFueVN1cmZhY2VzKCkgeyB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0
KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIC8vIFdlIGNyZWF0ZSBlbm91Z2ggUmVuZGVyU3Vy
ZmFjZXMgdGhhdCBpdCB3aWxsIHRyaWdnZXIgVmVjdG9yIHJlYWxsb2NhdGlvbiB3aGlsZSBjb21w
dXRpbmcgb2NjbHVzaW9uLgogICAgICAgICBSZWdpb24gb2NjbHVkZWQ7CkBAIC0xOTQxLDcgKzE5
MzksNyBAQCBwdWJsaWM6CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUK
ICAgICB7CiAgICAgfQogfTsKQEAgLTE5NTUsMjMgKzE5NTMsMjMgQEAgcHVibGljOgogICAgIHsK
ICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQg
YmVnaW5UZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRv
TWFpblRocmVhZCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3
RnJhbWUoKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKSBPVkVSUklE
RQogICAgIHsKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5sb3NlQ29udGV4dCgxKTsKICAgICB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVPdXRwdXRTdXJmYWNlKGJvb2wgc3VjY2Vl
ZGVkKQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZU91dHB1dFN1cmZhY2UoYm9vbCBzdWNj
ZWVkZWQpIE9WRVJSSURFCiAgICAgewogICAgICAgICBFWFBFQ1RfVFJVRShzdWNjZWVkZWQpOwog
ICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgp
CisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgIH0KIH07
CkBAIC0xOTg5LDI0ICsxOTg3LDI0IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmly
dHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJS
SURFCiAgICAgewogICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCkKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAg
IG1fbGF5ZXJUcmVlSG9zdC0+bG9zZUNvbnRleHQoMTApOwogICAgIH0KIAotICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNyZWF0ZU91dHB1dFN1cmZhY2UoYm9vbCBzdWNjZWVkZWQpCisgICAgdmlydHVh
bCB2b2lkIGRpZFJlY3JlYXRlT3V0cHV0U3VyZmFjZShib29sIHN1Y2NlZWRlZCkgT1ZFUlJJREUK
ICAgICB7CiAgICAgICAgIEVYUEVDVF9GQUxTRShzdWNjZWVkZWQpOwogICAgICAgICBtX2xheWVy
VHJlZUhvc3QtPmZpbmlzaEFsbFJlbmRlcmluZygpOwogICAgICAgICBlbmRUZXN0KCk7CiAgICAg
fQogCi0gICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVy
VGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgIH0KIH07CkBAIC0yMDIzLDEzICsyMDIxLDEzIEBA
IHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisg
ICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xh
eWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLT5zZXRTY3JvbGxhYmxlKHRydWUpOwogICAgICAgICBw
b3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaW1wbCkKKyAgICB2
aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaW1w
bCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIENDTGF5ZXJJbXBsKiByb290ID0gaW1wbC0+cm9v
dExheWVyKCk7CiAgICAgICAgIHJvb3QtPnNldE1heFNjcm9sbFBvc2l0aW9uKEludFNpemUoMTAw
LCAxMDApKTsKQEAgLTIwNTEsMTMgKzIwNDksMTMgQEAgcHVibGljOgogICAgICAgICByb290LT5z
Y3JvbGxCeShtX3Njcm9sbEFtb3VudCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFwcGx5
U2Nyb2xsQW5kU2NhbGUoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGZsb2F0IHNjYWxlKQor
ICAgIHZpcnR1YWwgdm9pZCBhcHBseVNjcm9sbEFuZFNjYWxlKGNvbnN0IEludFNpemUmIHNjcm9s
bERlbHRhLCBmbG9hdCBzY2FsZSkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIEludFBvaW50IHBv
c2l0aW9uID0gbV9sYXllclRyZWVIb3N0LT5yb290TGF5ZXIoKS0+c2Nyb2xsUG9zaXRpb24oKTsK
ICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5yb290TGF5ZXIoKS0+c2V0U2Nyb2xsUG9zaXRpb24o
cG9zaXRpb24gKyBzY3JvbGxEZWx0YSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFmdGVy
VGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAg
IH0KIHByaXZhdGU6CkBAIC0yMDc4LDEyICsyMDc2LDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAg
fQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2lu
VGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRz
UmVkcmF3KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFt
ZSgpCisgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZSgpIE9WRVJSSURFCiAg
ICAgewogICAgICAgICBpZiAobV9vbmNlKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjEwMiwx
MyArMjEwMCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCogaW1w
bCkKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0
SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIExvY2tlcjxNdXRleD4gbG9jayht
X211dGV4KTsKICAgICAgICAgKyttX2RyYXdDb3VudDsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUKICAg
ICB7CiAgICAgfQogcHJpdmF0ZToKQEAgLTIxMjksNyArMjEyNyw3IEBAIHB1YmxpYzoKICAgICB7
CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lk
IGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBFWFBFQ1RfRkFMU0UobV9hZGRl
ZEFuaW1hdGlvbik7CiAKQEAgLTIxNDgsMTIgKzIxNDYsMTIgQEAgcHVibGljOgogICAgICAgICBl
bmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZEFkZEFuaW1hdGlvbigpCisg
ICAgdmlydHVhbCB2b2lkIGRpZEFkZEFuaW1hdGlvbigpIE9WRVJSSURFCiAgICAgewogICAgICAg
ICBtX2FkZGVkQW5pbWF0aW9uID0gdHJ1ZTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWZ0
ZXJUZXN0KCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGFmdGVyVGVzdCgpIE9WRVJSSURFIHsgfQog
CiBwcml2YXRlOgogICAgIGJvb2wgbV9hZGRlZEFuaW1hdGlvbjsKQEAgLTIyNDksNyArMjI0Nyw3
IEBAIGNsYXNzIENDTGF5ZXJUcmVlSG9zdFRlc3RDb21wb3NpdGVBbmRSZWFkYmFja0NsZWFudXAg
OiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0VGVzCiBwdWJsaWM6CiAgICAgQ0NMYXllclRyZWVIb3N0
VGVzdENvbXBvc2l0ZUFuZFJlYWRiYWNrQ2xlYW51cCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lk
IGJlZ2luVGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAg
ewogICAgICAgICBMYXllckNocm9taXVtKiByb290TGF5ZXIgPSBtX2xheWVyVHJlZUhvc3QtPnJv
b3RMYXllcigpOwogCkBAIC0yMjYwLDcgKzIyNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVuZFRl
c3QoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFs
IHZvaWQgYWZ0ZXJUZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgfQogfTsKQEAgLTIyNzgsNyAr
MjI3Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2lu
VGVzdCgpCisgICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAg
ICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwMCwgMTAwKSwg
SW50U2l6ZSgxMDAsIDEwMCkpOwogCkBAIC0yMjk4LDcgKzIyOTYsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0Um9vdExheWVyKG1fcm9vdExheWVyKTsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgZHJhd0xheWVyc09uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1w
bCogaG9zdEltcGwpCisgICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5
ZXJUcmVlSG9zdEltcGwqIGhvc3RJbXBsKSBPVkVSUklERQogICAgIHsKICAgICAgICAgQ0NSZW5k
ZXJlciogcmVuZGVyZXIgPSBob3N0SW1wbC0+cmVuZGVyZXIoKTsKICAgICAgICAgdW5zaWduZWQg
c3VyZmFjZTFSZW5kZXJQYXNzSWQgPSBob3N0SW1wbC0+cm9vdExheWVyKCktPmNoaWxkcmVuKClb
MF0tPmlkKCk7CkBAIC0yMzIyLDcgKzIzMjAsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJUZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJU
ZXN0KCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIEVYUEVDVF9FUSgyLCBtX3Jvb3RMYXllci0+
cGFpbnRDb250ZW50c0NvdW50KCkpOwogICAgICAgICBFWFBFQ1RfRVEoMiwgbV9zdXJmYWNlTGF5
ZXIxLT5wYWludENvbnRlbnRzQ291bnQoKSk7CkBAIC0yNDA5LDcgKzI0MDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXZpY3Rpb25UZXN0TGF5ZXJJbXBsKGlkKSk7
CiAgICAgfQogICAgIHZpcnR1YWwgfkV2aWN0aW9uVGVzdExheWVySW1wbCgpIHsgfQotICAgIHZp
cnR1YWwgdm9pZCBhcHBlbmRRdWFkcyhDQ1F1YWRTaW5rJiwgYm9vbCYgaGFkTWlzc2luZ1RpbGVz
KQorICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRRdWFkcyhDQ1F1YWRTaW5rJiwgYm9vbCYgaGFkTWlz
c2luZ1RpbGVzKSBPVkVSUklERQogICAgIHsKICAgICAgICAgQVNTRVJUX1RSVUUobV9oYXNUZXh0
dXJlKTsKICAgICAgICAgQVNTRVJUX05FKDB1LCBsYXllclRyZWVIb3N0SW1wbCgpLT5yZXNvdXJj
ZVByb3ZpZGVyKCktPm51bVJlc291cmNlcygpKTsKQEAgLTI0NjQsNyArMjQ2Miw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpCisgICAgdmly
dHVhbCB2b2lkIGJlZ2luVGVzdCgpIE9WRVJSSURFCiAgICAgewogICAgICAgICBtX2xheWVyVHJl
ZUhvc3QtPnNldFJvb3RMYXllcihtX2xheWVyKTsKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5z
ZXRWaWV3cG9ydFNpemUoSW50U2l6ZSgxMCwgMjApLCBJbnRTaXplKDEwLCAyMCkpOwpAQCAtMjQ3
Nyw3ICsyNDc1LDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgRXZpY3RUZXh0dXJl
c1Rhc2soQ0NMYXllclRyZWVIb3N0VGVzdEV2aWN0VGV4dHVyZXMqIHRlc3QpIDogbV90ZXN0KHRl
c3QpIHsgfQogICAgICAgICB2aXJ0dWFsIH5FdmljdFRleHR1cmVzVGFzaygpIHsgfQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgcnVuKCkKKyAgICAgICAgdmlydHVhbCB2b2lkIHJ1bigpIE9WRVJSSURF
CiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVChtX3Rlc3QtPm1faW1wbEZvckV2aWN0VGV4
dHVyZXMpOwogICAgICAgICAgICAgbV90ZXN0LT5tX2ltcGxGb3JFdmljdFRleHR1cmVzLT5yZWxl
YXNlQ29udGVudHNUZXh0dXJlcygpOwpAQCAtMjUxNSw3ICsyNTEzLDcgQEAgcHVibGljOgogICAg
IC8vIHRoZSBiZWdpbkZyYW1lL2NvbW1pdCBwYWlyLgogICAgIC8vIENvbW1pdHMgNSs2IHRlc3Qg
dGhlIHBhdGggd2hlcmUgYW4gZXZpY3Rpb24gaGFwcGVucyBkdXJpbmcgdGhlIGV2aWN0aW9uCiAg
ICAgLy8gcmVjb3ZlcnkgcGF0aC4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0Zy
YW1lKCkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCkgT1ZFUlJJREUK
ICAgICB7CiAgICAgICAgIHN3aXRjaCAobV9udW1Db21taXRzKSB7CiAgICAgICAgIGNhc2UgMToK
QEAgLTI1NDQsMTIgKzI1NDIsMTIgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogCi0gICAg
dmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBs
KiBpbXBsKQorICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXll
clRyZWVIb3N0SW1wbCogaW1wbCkgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIG1faW1wbEZvckV2
aWN0VGV4dHVyZXMgPSBpbXBsOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKQor
ICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklERQogICAgIHsKICAgICAgICAgKyttX251
bUNvbW1pdHM7CiAgICAgICAgIHN3aXRjaCAobV9udW1Db21taXRzKSB7CkBAIC0yNTc4LDcgKzI1
NzYsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fbGF5ZXItPnJlc2V0VXBkYXRlZCgpOwogICAgIH0K
IAotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKQorICAgIHZpcnR1YWwgdm9pZCBhZnRlclRl
c3QoKSBPVkVSUklERQogICAgIHsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>