<?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>42548</bug_id>
          
          <creation_ts>2010-07-18 21:48:38 -0700</creation_ts>
          <short_desc>WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions</short_desc>
          <delta_ts>2010-07-21 23:53:24 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42514</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253067</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-18 21:48:38 -0700</bug_when>
    <thetext>WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253084</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-18 21:52:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/8204919&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254596</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-21 17:16:52 -0700</bug_when>
    <thetext>*** Bug 42795 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254624</commentid>
    <comment_count>3</comment_count>
      <attachid>62252</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-21 18:23:32 -0700</bug_when>
    <thetext>Created attachment 62252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254670</commentid>
    <comment_count>4</comment_count>
      <attachid>62252</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-21 23:53:19 -0700</bug_when>
    <thetext>Comment on attachment 62252
Patch

Clearing flags on attachment: 62252

Committed r63877: &lt;http://trac.webkit.org/changeset/63877&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254671</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-21 23:53:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62252</attachid>
            <date>2010-07-21 18:23:32 -0700</date>
            <delta_ts>2010-07-21 23:53:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42548-20100721182331.patch</filename>
            <type>text/plain</type>
            <size>22302</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2Mzg3MikKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDctMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktp
dFRlc3RSdW5uZXIgbmVlZHMgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENoaWxkRnJhbWVTY3Jv
bGxQb3NpdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyNTQ4CisKKyAgICAgICAgQWRkZWQgV0tCdW5kbGVGcmFtZUNvcHlOYW1lLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcDoK
KyAgICAgICAgKFdLQnVuZGxlRnJhbWVDb3B5TmFtZSk6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oOiBEaXR0by4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lOjpuYW1lKTogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkZyYW1lLmg6IERpdHRvLgorCiAyMDEwLTA3LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZy
YW1lLmNwcAkocmV2aXNpb24gNjM4NjYpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDMgKzcy
LDEwIEBAIEpTR2xvYmFsQ29udGV4dFJlZiBXS0J1bmRsZUZyYW1lR2V0SmF2YVMKICAgICAvLyBU
aGUgY29uc3RfY2FzdCBoZXJlIGlzIGEgYml0IHVnbHkuCiAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8
SlNHbG9iYWxDb250ZXh0UmVmPih0b1JlZih0b1dLKGZyYW1lUmVmKS0+Y29yZUZyYW1lKCktPnNj
cmlwdCgpLT5nbG9iYWxPYmplY3QobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT5nbG9iYWxFeGVj
KCkpKTsKIH0KKworV0tTdHJpbmdSZWYgV0tCdW5kbGVGcmFtZUNvcHlOYW1lKFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWVSZWYpCit7CisgICAgV2ViQ29yZTo6U3RyaW5nIHN0cmluZyA9IHRvV0soZnJh
bWVSZWYpLT5uYW1lKCk7CisgICAgc3RyaW5nLmltcGwoKS0+cmVmKCk7CisgICAgcmV0dXJuIHRv
UmVmKHN0cmluZy5pbXBsKCkpOworfQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oCShyZXZpc2lvbiA2Mzg2
NikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZy
YW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDggQEAgV0tfRVhQT1JUIHVuc2lnbmVk
IFdLQnVuZGxlRnJhbWVHZXROdW1iZQogCiBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZUZyYW1lUGF1
c2VBbmltYXRpb25PbkVsZW1lbnRXaXRoSWQoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tTdHJp
bmdSZWYgbmFtZSwgV0tTdHJpbmdSZWYgZWxlbWVudElELCBkb3VibGUgdGltZSk7CiAKK1dLX0VY
UE9SVCBXS1N0cmluZ1JlZiBXS0J1bmRsZUZyYW1lQ29weU5hbWUoV0tCdW5kbGVGcmFtZVJlZiBm
cmFtZSk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCkluZGV4OiBXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCShyZXZpc2lvbiA2Mzg2NSkKKysrIFdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDYg
KzE2MywxNCBAQCBib29sIFdlYkZyYW1lOjppc01haW5GcmFtZSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpczsKIH0KIAorU3RyaW5nIFdlYkZyYW1lOjpuYW1l
KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fY29yZUZyYW1lKQorICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CisKKyAgICByZXR1cm4gbV9jb3JlRnJhbWUtPnRyZWUoKS0+bmFtZSgpOworfQorCiBTdHJp
bmcgV2ViRnJhbWU6OnVybCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NvcmVGcmFtZSkKSW5kZXg6
IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaAkocmV2aXNpb24gNjM4NjUpCisrKyBX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02
NSw2ICs2NSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFdLQnVuZGxlRnJhbWUgQVBJIGZ1bmN0aW9u
cwogICAgIGJvb2wgaXNNYWluRnJhbWUoKSBjb25zdDsKKyAgICBXZWJDb3JlOjpTdHJpbmcgbmFt
ZSgpIGNvbnN0OwogICAgIFdlYkNvcmU6OlN0cmluZyB1cmwoKSBjb25zdDsKICAgICBXZWJDb3Jl
OjpTdHJpbmcgaW5uZXJUZXh0KCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJh
eT4gY2hpbGRGcmFtZXMoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzODcyKQorKysgV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDctMjEg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNTQ4CisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVy
LmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXVFI6Om51bWVyaWNXaW5kb3dQcm9wZXJ0eVZhbHVl
KTogUmVuYW1lZCB0aGlzIGFuZCBtb3ZlZCBpdCB1cCBoaWdoZXIgaW4gdGhlIGZpbGUuCisgICAg
ICAgIChXVFI6OmR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKTogQWRkZWQgYXJndW1lbnQgdGVsbGlu
ZyB3aGV0aGVyIHRvIGR1bXAgdGhlIGZyYW1lIG5hbWUuCisgICAgICAgIENoYW5nZWQgdG8gYSBm
aWxlLWludGVybmFsIGZ1bmN0aW9uIGluc3RlYWQgb2YgYSBtZW1iZXIgZnVuY3Rpb24uCisgICAg
ICAgIChXVFI6OmR1bXBEZXNjZW5kYW50RnJhbWVTY3JvbGxQb3NpdGlvbnMpOiBBZGRlZC4KKyAg
ICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wQWxsRnJhbWVTY3JvbGxQb3NpdGlv
bnMpOiBBZGRlZC4KKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wKTogQ2hh
bmdlZCB0byBjYWxsIGR1bXBBbGxGcmFtZVNjcm9sbFBvc2l0aW9ucyB3aGVuCisgICAgICAgIGFw
cHJvcHJpYXRlLiBBbHNvIHN0cmVhbWxpbmVkIGFsbCB0aGUgV0tTdHJpbmdUb1VURjggY2FsbCBz
aXRlcy4KKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjp3aWxsQWRkTWVzc2FnZVRv
Q29uc29sZSk6IFN0cmVhbWxpbmVkIHVzZSBvZiBXS1N0cmluZ1RvVVRGOC4KKyAgICAgICAgKFdU
Ujo6SW5qZWN0ZWRCdW5kbGVQYWdlOjp3aWxsU2V0U3RhdHVzYmFyVGV4dCk6IERpdHRvLgorICAg
ICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZVBhZ2U6OndpbGxSdW5KYXZhU2NyaXB0QWxlcnQpOiBE
aXR0by4KKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjp3aWxsUnVuSmF2YVNjcmlw
dENvbmZpcm0pOiBEaXR0by4KKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjp3aWxs
UnVuSmF2YVNjcmlwdFByb21wdCk6IERpdHRvLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuaDogVXBkYXRlZCBmb3IgYWJvdmUg
Y2hhbmdlcy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpMYXlvdXRUZXN0Q29udHJvbGxl
cjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOiBJbml0aWFsaXplCisgICAgICAgIG1fc2hvdWxkRHVt
cEFsbEZyYW1lU2Nyb2xsUG9zaXRpb25zLgorICAgICAgICAoV1RSOjpMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2hvdWxkRHVtcE1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKTogUmVuYW1lZCBmcm9tCisg
ICAgICAgIHNob3VsZER1bXBGcmFtZVNjcm9sbFBvc2l0aW9ucy4KKworICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDogUmVvcmdh
bml6ZWQgdGhlIGZpbGUgYQorICAgICAgICBiaXQsIGFkZGVkIGR1bXBDaGlsZEZyYW1lU2Nyb2xs
UG9zaXRpb25zIGFuZCBzaG91bGREdW1wQWxsRnJhbWVTY3JvbGxQb3NpdGlvbnMsCisgICAgICAg
IGFuZCByZW5hbWVkIHNob3VsZER1bXBGcmFtZVNjcm9sbFBvc2l0aW9ucyB0byBzaG91bGREdW1w
TWFpbkZyYW1lU2Nyb2xsUG9zaXRpb24uCisKIDIwMTAtMDctMjEgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBX
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCShyZXZpc2lvbiA2Mzg2NikKKysrIFdl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlUGFnZS5oIgogCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tBcnJh
eS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVGcmFtZS5oPgogI2luY2x1ZGUgPFdlYktp
dDIvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIu
aD4KQEAgLTE0NCw2ICsxNDYsNTIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmRpZENvbW1p
dExvYWRGbwogewogfQogCitzdGF0aWMgZG91YmxlIG51bWVyaWNXaW5kb3dQcm9wZXJ0eVZhbHVl
KFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSkKK3sKKyAg
ICBKU0dsb2JhbENvbnRleHRSZWYgY29udGV4dCA9IFdLQnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0
Q29udGV4dChmcmFtZSk7CisgICAgSlNPYmplY3RSZWYgd2luZG93ID0gSlNDb250ZXh0R2V0R2xv
YmFsT2JqZWN0KGNvbnRleHQpOworICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKKyAgICBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJvcGVydHlOYW1lU3RyaW5nKEFkb3B0LCBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhwcm9wZXJ0eU5hbWUpKTsKKyAgICBKU1ZhbHVlUmVmIHZh
bHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCB3aW5kb3csIHByb3BlcnR5TmFtZVN0
cmluZy5nZXQoKSwgJmV4Y2VwdGlvbik7CisgICAgaWYgKGV4Y2VwdGlvbikKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIEpTVmFsdWVUb051bWJlcihjb250ZXh0LCB2YWx1ZSwgJmV4Y2Vw
dGlvbik7Cit9CisKK2VudW0gRnJhbWVOYW1lUG9saWN5IHsgU2hvdWxkTm90SW5jbHVkZUZyYW1l
TmFtZSwgU2hvdWxkSW5jbHVkZUZyYW1lTmFtZSB9OworCitzdGF0aWMgdm9pZCBkdW1wRnJhbWVT
Y3JvbGxQb3NpdGlvbihXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBGcmFtZU5hbWVQb2xpY3kgc2hv
dWxkSW5jbHVkZUZyYW1lTmFtZSA9IFNob3VsZE5vdEluY2x1ZGVGcmFtZU5hbWUpCit7CisgICAg
ZG91YmxlIHggPSBudW1lcmljV2luZG93UHJvcGVydHlWYWx1ZShmcmFtZSwgInBhZ2VYT2Zmc2V0
Iik7CisgICAgZG91YmxlIHkgPSBudW1lcmljV2luZG93UHJvcGVydHlWYWx1ZShmcmFtZSwgInBh
Z2VZT2Zmc2V0Iik7CisgICAgaWYgKGZhYnMoeCkgPiAwLjAwMDAwMDAxIHx8IGZhYnMoeSkgPiAw
LjAwMDAwMDAxKSB7CisgICAgICAgIGlmIChzaG91bGRJbmNsdWRlRnJhbWVOYW1lKSB7CisgICAg
ICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbmFtZShBZG9wdFdLLCBXS0J1bmRsZUZy
YW1lQ29weU5hbWUoZnJhbWUpKTsKKyAgICAgICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQo
KS5vcygpIDw8ICJmcmFtZSAnIiA8PCBXS1N0cmluZ1RvVVRGOChuYW1lLmdldCgpKS0+ZGF0YSgp
IDw8ICInICI7CisgICAgICAgIH0KKyAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9z
KCkgPDwgInNjcm9sbGVkIHRvICIgPDwgeCA8PCAiLCIgPDwgeSA8PCAiXG4iOworICAgIH0KK30K
Kworc3RhdGljIHZvaWQgZHVtcERlc2NlbmRhbnRGcmFtZVNjcm9sbFBvc2l0aW9ucyhXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lKQoreworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGNoaWxkRnJh
bWVzKEFkb3B0V0ssIFdLQnVuZGxlRnJhbWVDb3B5Q2hpbGRGcmFtZXMoZnJhbWUpKTsKKyAgICBz
aXplX3Qgc2l6ZSA9IFdLQXJyYXlHZXRTaXplKGNoaWxkRnJhbWVzLmdldCgpKTsKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICAvLyBGSVhNRTogSSBkb24n
dCBsaWtlIHRoYXQgd2UgaGF2ZSB0byBjb25zdF9jYXN0IGhlcmUuIENhbiB3ZSBjaGFuZ2UgV0tB
cnJheT8KKyAgICAgICAgV0tCdW5kbGVGcmFtZVJlZiBzdWJmcmFtZSA9IHN0YXRpY19jYXN0PFdL
QnVuZGxlRnJhbWVSZWY+KGNvbnN0X2Nhc3Q8dm9pZCo+KFdLQXJyYXlHZXRJdGVtQXRJbmRleChj
aGlsZEZyYW1lcy5nZXQoKSwgaSkpKTsKKyAgICAgICAgZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb24o
c3ViZnJhbWUsIFNob3VsZEluY2x1ZGVGcmFtZU5hbWUpOworICAgICAgICBkdW1wRGVzY2VuZGFu
dEZyYW1lU2Nyb2xsUG9zaXRpb25zKHN1YmZyYW1lKTsKKyAgICB9Cit9CisKK3ZvaWQgSW5qZWN0
ZWRCdW5kbGVQYWdlOjpkdW1wQWxsRnJhbWVTY3JvbGxQb3NpdGlvbnMoKQoreworICAgIFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUgPSBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUobV9wYWdlKTsKKyAg
ICBkdW1wRnJhbWVTY3JvbGxQb3NpdGlvbihmcmFtZSk7CisgICAgZHVtcERlc2NlbmRhbnRGcmFt
ZVNjcm9sbFBvc2l0aW9ucyhmcmFtZSk7Cit9CisKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpk
dW1wKCkKIHsKICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkubGF5b3V0VGVzdENvbnRyb2xs
ZXIoKS0+aW52YWxpZGF0ZVdhaXRUb0R1bXBXYXRjaGRvZygpOwpAQCAtMTUxLDQxICsxOTksMjAg
QEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmR1bXAoKQogICAgIGlmIChJbmplY3RlZEJ1bmRs
ZTo6c2hhcmVkKCkubGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEFzVGV4dCgpKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IGR1bXBpbmcgc3ViZnJhbWVzIHdoZW4gbGF5b3V0
VGVzdENvbnRyb2xsZXIoKS0+ZHVtcENoaWxkRnJhbWVzQXNUZXh0KCkgaXMgdHJ1ZS4KICAgICAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGlubmVyVGV4dChBZG9wdFdLLCBXS0J1bmRsZUZy
YW1lQ29weUlubmVyVGV4dChXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUobV9wYWdlKSkpOwotICAg
ICAgICBPd25QdHI8VmVjdG9yPGNoYXI+ID4gdXRmOElubmVyVGV4dCA9IFdLU3RyaW5nVG9VVEY4
KGlubmVyVGV4dC5nZXQoKSk7Ci0gICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5vcygp
IDw8IHV0ZjhJbm5lclRleHQtPmRhdGEoKSA8PCAiXG4iOworICAgICAgICBJbmplY3RlZEJ1bmRs
ZTo6c2hhcmVkKCkub3MoKSA8PCBXS1N0cmluZ1RvVVRGOChpbm5lclRleHQuZ2V0KCkpLT5kYXRh
KCkgPDwgIlxuIjsKICAgICB9IGVsc2UgewogICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihBZG9wdFdLLCBXS0J1bmRsZVBhZ2VDb3B5UmVuZGVy
VHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb24obV9wYWdlKSk7Ci0gICAgICAgIE93blB0cjxWZWN0
b3I8Y2hhcj4gPiB1dGY4ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbiA9IFdLU3RyaW5nVG9VVEY4KGV4
dGVybmFsUmVwcmVzZW50YXRpb24uZ2V0KCkpOwotICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hh
cmVkKCkub3MoKSA8PCB1dGY4ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbi0+ZGF0YSgpOworICAgICAg
ICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkub3MoKSA8PCBXS1N0cmluZ1RvVVRGOChleHRlcm5h
bFJlcHJlc2VudGF0aW9uLmdldCgpKS0+ZGF0YSgpOwogICAgIH0KIAotICAgIGlmIChJbmplY3Rl
ZEJ1bmRsZTo6c2hhcmVkKCkubGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEZyYW1l
U2Nyb2xsUG9zaXRpb25zKCkpCisgICAgaWYgKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5sYXlv
dXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wQWxsRnJhbWVTY3JvbGxQb3NpdGlvbnMoKSkK
KyAgICAgICAgZHVtcEFsbEZyYW1lU2Nyb2xsUG9zaXRpb25zKCk7CisgICAgZWxzZSBpZiAoSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBN
YWluRnJhbWVTY3JvbGxQb3NpdGlvbigpKQogICAgICAgICBkdW1wRnJhbWVTY3JvbGxQb3NpdGlv
bihXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUobV9wYWdlKSk7CiAKICAgICBJbmplY3RlZEJ1bmRs
ZTo6c2hhcmVkKCkuZG9uZSgpOwogfQogCi1zdGF0aWMgZG91YmxlIG51bWVyaWNXaW5kb3dQcm9w
ZXJ0eShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUpCi17
Ci0gICAgSlNHbG9iYWxDb250ZXh0UmVmIGNvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNj
cmlwdENvbnRleHQoZnJhbWUpOwotICAgIEpTT2JqZWN0UmVmIHdpbmRvdyA9IEpTQ29udGV4dEdl
dEdsb2JhbE9iamVjdChjb250ZXh0KTsKLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7Ci0g
ICAgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lU3RyaW5nID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcocHJvcGVydHlOYW1lKTsKLSAgICBKU1ZhbHVlUmVmIHZhbHVlID0gSlNPYmplY3RH
ZXRQcm9wZXJ0eShjb250ZXh0LCB3aW5kb3csIHByb3BlcnR5TmFtZVN0cmluZywgJmV4Y2VwdGlv
bik7Ci0gICAgSlNTdHJpbmdSZWxlYXNlKHByb3BlcnR5TmFtZVN0cmluZyk7Ci0gICAgaWYgKGV4
Y2VwdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIEpTVmFsdWVUb051bWJlcihj
b250ZXh0LCB2YWx1ZSwgJmV4Y2VwdGlvbik7Ci19Ci0KLXZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
OjpkdW1wRnJhbWVTY3JvbGxQb3NpdGlvbihXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKQotewotICAg
IGRvdWJsZSB4ID0gbnVtZXJpY1dpbmRvd1Byb3BlcnR5KGZyYW1lLCAicGFnZVhPZmZzZXQiKTsK
LSAgICBkb3VibGUgeSA9IG51bWVyaWNXaW5kb3dQcm9wZXJ0eShmcmFtZSwgInBhZ2VZT2Zmc2V0
Iik7Ci0gICAgaWYgKGZhYnMoeCkgPiAwLjAwMDAwMDAxIHx8IGZhYnMoeSkgPiAwLjAwMDAwMDAx
KQotICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkub3MoKSA8PCAic2Nyb2xsZWQgdG8g
IiA8PCB4IDw8ICIsIiA8PCB5IDw8ICJcbiI7Ci19Ci0KIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
OjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSkKIHsKICAgICBp
ZiAoIVdLQnVuZGxlRnJhbWVJc01haW5GcmFtZShmcmFtZSkpCkBAIC0yNDksOCArMjc2LDcgQEAg
dm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6Ol93aWxsUnVuSmF2YVNjcgogdm9pZCBJbmplY3RlZEJ1
bmRsZVBhZ2U6OndpbGxBZGRNZXNzYWdlVG9Db25zb2xlKFdLU3RyaW5nUmVmIG1lc3NhZ2UsIHVp
bnQzMl90IGxpbmVOdW1iZXIpCiB7CiAgICAgLy8gRklYTUU6IFN0cmlwIGZpbGU6IHVybHMuCi0g
ICAgT3duUHRyPFZlY3RvcjxjaGFyPiA+IHV0ZjhNZXNzYWdlID0gV0tTdHJpbmdUb1VURjgobWVz
c2FnZSk7Ci0gICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgIkNPTlNPTEUgTUVT
U0FHRTogbGluZSAiIDw8IGxpbmVOdW1iZXIgPDwgIjogIiA8PCB1dGY4TWVzc2FnZS0+ZGF0YSgp
IDw8ICJcbiI7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgIkNPTlNPTEUg
TUVTU0FHRTogbGluZSAiIDw8IGxpbmVOdW1iZXIgPDwgIjogIiA8PCBXS1N0cmluZ1RvVVRGOCht
ZXNzYWdlKS0+ZGF0YSgpIDw8ICJcbiI7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjp3
aWxsU2V0U3RhdHVzYmFyVGV4dChXS1N0cmluZ1JlZiBzdGF0dXNiYXJUZXh0KQpAQCAtMjU4LDI3
ICsyODQsMjIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OndpbGxTZXRTdGF0dXNiYQogICAg
IGlmICghSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmxheW91dFRlc3RDb250cm9sbGVyKCktPnNo
b3VsZER1bXBTdGF0dXNDYWxsYmFja3MoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgT3duUHRy
PFZlY3RvcjxjaGFyPiA+IHV0ZjhTdGF0dXNiYXJUZXh0ID0gV0tTdHJpbmdUb1VURjgoc3RhdHVz
YmFyVGV4dCk7Ci0gICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgIlVJIERFTEVH
QVRFIFNUQVRVUyBDQUxMQkFDSzogc2V0U3RhdHVzVGV4dDoiIDw8IHV0ZjhTdGF0dXNiYXJUZXh0
LT5kYXRhKCkgPDwgIlxuIjsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkub3MoKSA8PCAi
VUkgREVMRUdBVEUgU1RBVFVTIENBTExCQUNLOiBzZXRTdGF0dXNUZXh0OiIgPDwgV0tTdHJpbmdU
b1VURjgoc3RhdHVzYmFyVGV4dCktPmRhdGEoKSA8PCAiXG4iOwogfQogCiB2b2lkIEluamVjdGVk
QnVuZGxlUGFnZTo6d2lsbFJ1bkphdmFTY3JpcHRBbGVydChXS1N0cmluZ1JlZiBtZXNzYWdlLCBX
S0J1bmRsZUZyYW1lUmVmKQogewotICAgIE93blB0cjxWZWN0b3I8Y2hhcj4gPiB1dGY4TWVzc2Fn
ZSA9IFdLU3RyaW5nVG9VVEY4KG1lc3NhZ2UpOwotICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQo
KS5vcygpIDw8ICJBTEVSVDogIiA8PCB1dGY4TWVzc2FnZS0+ZGF0YSgpIDw8ICJcbiI7CisgICAg
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgIkFMRVJUOiAiIDw8IFdLU3RyaW5nVG9V
VEY4KG1lc3NhZ2UpLT5kYXRhKCkgPDwgIlxuIjsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZVBh
Z2U6OndpbGxSdW5KYXZhU2NyaXB0Q29uZmlybShXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS0J1bmRs
ZUZyYW1lUmVmKQogewotICAgIE93blB0cjxWZWN0b3I8Y2hhcj4gPiB1dGY4TWVzc2FnZSA9IFdL
U3RyaW5nVG9VVEY4KG1lc3NhZ2UpOwotICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5vcygp
IDw8ICJDT05GSVJNOiAiIDw8IHV0ZjhNZXNzYWdlLT5kYXRhKCkgPDwgIlxuIjsKKyAgICBJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkub3MoKSA8PCAiQ09ORklSTTogIiA8PCBXS1N0cmluZ1RvVVRG
OChtZXNzYWdlKS0+ZGF0YSgpIDw8ICJcbiI7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
Ojp3aWxsUnVuSmF2YVNjcmlwdFByb21wdChXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1Jl
ZiBkZWZhdWx0VmFsdWUsIFdLQnVuZGxlRnJhbWVSZWYpCiB7Ci0gICAgT3duUHRyPFZlY3Rvcjxj
aGFyPiA+IHV0ZjhNZXNzYWdlID0gV0tTdHJpbmdUb1VURjgobWVzc2FnZSk7Ci0gICAgT3duUHRy
PFZlY3RvcjxjaGFyPiA+IHV0ZjhEZWZhdWx0VmFsdWUgPSBXS1N0cmluZ1RvVVRGOChkZWZhdWx0
VmFsdWUpOwotICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5vcygpIDw8ICJQUk9NUFQ6ICIg
PDwgdXRmOE1lc3NhZ2UtPmRhdGEoKSA8PCAiLCBkZWZhdWx0IHRleHQ6ICIgPDwgdXRmOERlZmF1
bHRWYWx1ZS0+ZGF0YSgpIDw8ICAiXG4iOworICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5v
cygpIDw8ICJQUk9NUFQ6ICIgPDwgV0tTdHJpbmdUb1VURjgobWVzc2FnZSktPmRhdGEoKSA8PCAi
LCBkZWZhdWx0IHRleHQ6ICIgPDwgV0tTdHJpbmdUb1VURjgoZGVmYXVsdFZhbHVlKS0+ZGF0YSgp
IDw8ICAiXG4iOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVFIKSW5kZXg6IFdlYktpdFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2UuaAkocmV2aXNpb24gNjM4NjYpCisrKyBXZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB3aWxsUnVuSmF2YVNjcmlw
dENvbmZpcm0oV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tCdW5kbGVGcmFtZVJlZik7CiAgICAgdm9p
ZCB3aWxsUnVuSmF2YVNjcmlwdFByb21wdChXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1Jl
ZiBkZWZhdWx0VmFsdWUsIFdLQnVuZGxlRnJhbWVSZWYpOwogCi0gICAgdm9pZCBkdW1wRnJhbWVT
Y3JvbGxQb3NpdGlvbihXS0J1bmRsZUZyYW1lUmVmKTsKKyAgICB2b2lkIGR1bXBBbGxGcmFtZVNj
cm9sbFBvc2l0aW9ucygpOwogCiAgICAgV0tCdW5kbGVQYWdlUmVmIG1fcGFnZTsKICAgICBib29s
IG1faXNMb2FkaW5nOwpJbmRleDogV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDYzODY2KQorKysgV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQz
LDYgKzQzLDcgQEAgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gTGF5b3V0VAogCiBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoY29uc3Qgc3RkOjpzdHJp
bmcmIHRlc3RQYXRoT3JVUkwpCiAgICAgOiBtX2R1bXBBc1RleHQoZmFsc2UpCisgICAgLCBtX3No
b3VsZER1bXBBbGxGcmFtZVNjcm9sbFBvc2l0aW9ucyhmYWxzZSkKICAgICAsIG1fZHVtcFN0YXR1
c0NhbGxiYWNrcyhmYWxzZSkKICAgICAsIG1fd2FpdFRvRHVtcChmYWxzZSkKICAgICAsIG1fdGVz
dFJlcGFpbnQoZmFsc2UpCkBAIC0xMzQsNyArMTM1LDcgQEAgYm9vbCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2hvdWxkRHVtcFNvdQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2hvdWxkRHVtcEZyYW1lU2Nyb2xsUG9zaXRpb25zKCkgY29uc3QKK2Jv
b2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3VsZER1bXBNYWluRnJhbWVTY3JvbGxQb3NpdGlv
bigpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFzaG91bGREdW1wQXNUZXh0KCkgJiYgIXNob3VsZER1
bXBET01Bc1dlYkFyY2hpdmUoKSAmJiAhc2hvdWxkRHVtcFNvdXJjZUFzV2ViQXJjaGl2ZSgpOwog
fQpJbmRleDogV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAkocmV2aXNpb24gNjM4
NjYpCisrKyBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91
dFRlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDM5ICszNyw0NyBAQCBuYW1l
c3BhY2UgV1RSIHsKIGNsYXNzIExheW91dFRlc3RDb250cm9sbGVyIDogcHVibGljIEpTV3JhcHBh
YmxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxl
cj4gY3JlYXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0aE9yVVJMKTsKLSAgICB+TGF5b3V0
VGVzdENvbnRyb2xsZXIoKTsKKyAgICB2aXJ0dWFsIH5MYXlvdXRUZXN0Q29udHJvbGxlcigpOwog
CiAgICAgLy8gSlNXcmFwcGFibGUKLSAgICBKU0NsYXNzUmVmIHdyYXBwZXJDbGFzcygpOworICAg
IHZpcnR1YWwgSlNDbGFzc1JlZiB3cmFwcGVyQ2xhc3MoKTsKIAotICAgIHZvaWQgbWFrZVdpbmRv
d09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChKU0NvbnRl
eHRSZWYsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsK
IAorICAgIC8vIFRoZSBiYXNpY3MuCiAgICAgdm9pZCBkdW1wQXNUZXh0KCkgeyBtX2R1bXBBc1Rl
eHQgPSB0cnVlOyB9CisgICAgdm9pZCB3YWl0VW50aWxEb25lKCk7CisgICAgdm9pZCBub3RpZnlE
b25lKCk7CisKKyAgICAvLyBPdGhlciBraW5kcyBvZiBkdW1waW5nLgorICAgIHZvaWQgZHVtcENo
aWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMoKSB7IG1fc2hvdWxkRHVtcEFsbEZyYW1lU2Nyb2xsUG9z
aXRpb25zID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcFN0YXR1c0NhbGxiYWNrcygpIHsgbV9kdW1w
U3RhdHVzQ2FsbGJhY2tzID0gdHJ1ZTsgfQogCisgICAgLy8gUmVwYWludCB0ZXN0aW5nLgorICAg
IHZvaWQgdGVzdFJlcGFpbnQoKSB7IG1fdGVzdFJlcGFpbnQgPSB0cnVlOyB9CisgICAgdm9pZCBy
ZXBhaW50U3dlZXBIb3Jpem9udGFsbHkoKSB7IG1fdGVzdFJlcGFpbnRTd2VlcEhvcml6b250YWxs
eSA9IHRydWU7IH0KKyAgICB2b2lkIGRpc3BsYXkoKTsKKworICAgIC8vIEFuaW1hdGlvbiB0ZXN0
aW5nLgorICAgIHVuc2lnbmVkIG51bWJlck9mQWN0aXZlQW5pbWF0aW9ucygpIGNvbnN0OworICAg
IGJvb2wgcGF1c2VBbmltYXRpb25BdFRpbWVPbkVsZW1lbnRXaXRoSWQoSlNTdHJpbmdSZWYgYW5p
bWF0aW9uTmFtZSwgZG91YmxlIHRpbWUsIEpTU3RyaW5nUmVmIGVsZW1lbnRJZCk7CisKKyAgICBi
b29sIHNob3VsZER1bXBBbGxGcmFtZVNjcm9sbFBvc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1f
c2hvdWxkRHVtcEFsbEZyYW1lU2Nyb2xsUG9zaXRpb25zOyB9CiAgICAgYm9vbCBzaG91bGREdW1w
QXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9kdW1wQXNUZXh0OyB9CiAgICAgYm9vbCBzaG91bGRE
dW1wRE9NQXNXZWJBcmNoaXZlKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGREdW1wRnJhbWVTY3Jv
bGxQb3NpdGlvbnMoKSBjb25zdDsKKyAgICBib29sIHNob3VsZER1bXBNYWluRnJhbWVTY3JvbGxQ
b3NpdGlvbigpIGNvbnN0OwogICAgIGJvb2wgc2hvdWxkRHVtcFNvdXJjZUFzV2ViQXJjaGl2ZSgp
IGNvbnN0OwogICAgIGJvb2wgc2hvdWxkRHVtcFN0YXR1c0NhbGxiYWNrcygpIGNvbnN0IHsgcmV0
dXJuIG1fZHVtcFN0YXR1c0NhbGxiYWNrczsgfQogCiAgICAgYm9vbCB3YWl0VG9EdW1wKCkgY29u
c3QgeyByZXR1cm4gbV93YWl0VG9EdW1wOyB9CiAgICAgdm9pZCB3YWl0VG9EdW1wV2F0Y2hkb2dU
aW1lckZpcmVkKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlV2FpdFRvRHVtcFdhdGNoZG9nKCk7Ci0g
ICAgdm9pZCB3YWl0VW50aWxEb25lKCk7Ci0gICAgdm9pZCBub3RpZnlEb25lKCk7Ci0KLSAgICB2
b2lkIHRlc3RSZXBhaW50KCkgeyBtX3Rlc3RSZXBhaW50ID0gdHJ1ZTsgfQotICAgIHZvaWQgcmVw
YWludFN3ZWVwSG9yaXpvbnRhbGx5KCkgeyBtX3Rlc3RSZXBhaW50U3dlZXBIb3Jpem9udGFsbHkg
PSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNwbGF5KCk7Ci0KLSAgICB1bnNpZ25lZCBudW1iZXJPZkFj
dGl2ZUFuaW1hdGlvbnMoKSBjb25zdDsKLSAgICBib29sIHBhdXNlQW5pbWF0aW9uQXRUaW1lT25F
bGVtZW50V2l0aElkKEpTU3RyaW5nUmVmIGFuaW1hdGlvbk5hbWUsIGRvdWJsZSB0aW1lLCBKU1N0
cmluZ1JlZiBlbGVtZW50SWQpOwogCiBwcml2YXRlOgogICAgIExheW91dFRlc3RDb250cm9sbGVy
KGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0aE9yVVJMKTsKIAogICAgIGJvb2wgbV9kdW1wQXNU
ZXh0OworICAgIGJvb2wgbV9zaG91bGREdW1wQWxsRnJhbWVTY3JvbGxQb3NpdGlvbnM7CiAgICAg
Ym9vbCBtX2R1bXBTdGF0dXNDYWxsYmFja3M7CiAgICAgYm9vbCBtX3dhaXRUb0R1bXA7IC8vIFRy
dWUgaWYgd2FpdFVudGlsRG9uZSgpIGhhcyBiZWVuIGNhbGxlZCwgYnV0IG5vdGlmeURvbmUoKSBo
YXMgbm90IHlldCBiZWVuIGNhbGxlZC4KICAgICBib29sIG1fdGVzdFJlcGFpbnQ7CkluZGV4OiBX
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91
dFRlc3RDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAko
cmV2aXNpb24gNjM4NjUpCisrKyBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjYsMTggKzI2LDIxIEBACiBtb2R1bGUgV1RSIHsKIAogICAgIGludGVyZmFjZSBMYXlvdXRU
ZXN0Q29udHJvbGxlciB7CisgICAgICAgIC8vIFRoZSBiYXNpY3MuCiAgICAgICAgIHZvaWQgZHVt
cEFzVGV4dCgpOwotICAgICAgICB2b2lkIGR1bXBTdGF0dXNDYWxsYmFja3MoKTsKLQogICAgICAg
ICB2b2lkIHdhaXRVbnRpbERvbmUoKTsKICAgICAgICAgdm9pZCBub3RpZnlEb25lKCk7CiAKLSAg
ICAgICAgLy8gUmVwYWludCB0ZXN0aW5nCisgICAgICAgIC8vIE90aGVyIGtpbmRzIG9mIGR1bXBp
bmcuCisgICAgICAgIHZvaWQgZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMoKTsKKyAgICAg
ICAgdm9pZCBkdW1wU3RhdHVzQ2FsbGJhY2tzKCk7CisKKyAgICAgICAgLy8gUmVwYWludCB0ZXN0
aW5nLgogICAgICAgICB2b2lkIHRlc3RSZXBhaW50KCk7CiAgICAgICAgIHZvaWQgcmVwYWludFN3
ZWVwSG9yaXpvbnRhbGx5KCk7CiAgICAgICAgIHZvaWQgZGlzcGxheSgpOwogCi0gICAgICAgIC8v
IEFuaW1hdGlvbiB0ZXN0aW5nCisgICAgICAgIC8vIEFuaW1hdGlvbiB0ZXN0aW5nLgogICAgICAg
ICBpbnQgbnVtYmVyT2ZBY3RpdmVBbmltYXRpb25zKCk7CiAgICAgICAgIGJvb2xlYW4gcGF1c2VB
bmltYXRpb25BdFRpbWVPbkVsZW1lbnRXaXRoSWQoaW4gRE9NU3RyaW5nIGFuaW1hdGlvbk5hbWUs
IGluIGRvdWJsZSB0aW1lLCBpbiBET01TdHJpbmcgZWxlbWVudElkKTsKICAgICB9OwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjM4NzIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wNy0yMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFt
ZVNjcm9sbFBvc2l0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI1NDgKKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDogTW92
ZWQgc29tZSB0ZXN0cyBpbnRvIHRoZSBjb3JyZWN0IHNlY3Rpb24KKyAgICAgICAgbm93IHRoYXQg
ZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgaXMgbm8gbG9uZ2VyIHRoZSByZWFzb24gdGhl
eQorICAgICAgICBmYWlsLiBSZW1vdmVkIG5vdy1wYXNzaW5nIHRlc3QuIFJlc29ydGVkIHNvbWUg
b2YgdGhlIHRlc3RzLgorCiAyMDEwLTA3LTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9Ta2lwcGVkCShyZXZpc2lvbiA2Mzg2NikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTY2MSwxMCArMTY2MSwx
MiBAQCBodHRwL3Rlc3RzL2hpc3RvcnkvcmVkaXJlY3QtMzA3LnBsCiBodHRwL3Rlc3RzL2hpc3Rv
cnkvcmVkaXJlY3QtanMtbG9jYXRpb24tMi1zZWNvbmRzLmh0bWwKIGh0dHAvdGVzdHMvaW5jcmVt
ZW50YWwvZnJhbWUtZm9jdXMtYmVmb3JlLWxvYWQuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L2FuY2hvci1iYXNpYy5odG1sCitodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy5o
dG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWdvYmFjay5odG1sCitodHRwL3Rlc3Rz
L25hdmlnYXRpb24vYW5jaG9yLXN1YmZyYW1lbG9hZC5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRp
b24vYmFjay10by1zbG93LWZyYW1lLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVu
dC1sb2NhdGlvbi1jbGljay5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9j
YXRpb24tY2xpY2stdGltZW91dC5odG1sCitodHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQt
bG9jYXRpb24tY2xpY2suaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0
aW9uLW1vdXNlb3Zlci5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRp
b24tb25sb2FkLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9keW5hbWljLWlmcmFtZS1keW5h
bWljLWZvcm0tYmFjay1lbnRyeS5odG1sCkBAIC0xNjg3LDggKzE2ODksOCBAQCBodHRwL3Rlc3Rz
L25hdmlnYXRpb24vbWV0YXJlZGlyZWN0LWdvYmFjCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vbWV0
YXJlZGlyZWN0LXN1YmZyYW1lbG9hZC5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vbXVsdGlw
bGUtYmFjay1mb3J3YXJkLWVudHJpZXMuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL29ubG9h
ZC1uYXZpZ2F0aW9uLWlmcmFtZS0yLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9vbmxvYWQt
bmF2aWdhdGlvbi1pZnJhbWUuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL29ubG9hZC1uYXZp
Z2F0aW9uLWlmcmFtZS10aW1lb3V0Lmh0bWwKK2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9vbmxvYWQt
bmF2aWdhdGlvbi1pZnJhbWUuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhcnNlZC1pZnJh
bWUtZHluYW1pYy1mb3JtLWJhY2stZW50cnkuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bv
c3QtYmFzaWMuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3QtZnJhbWVzLmh0bWwKQEAg
LTE3MDYsMTMgKzE3MDgsMTQgQEAgaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlZGlyZWN0MzAyLWZy
YW1lcwogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlZGlyZWN0MzAyLWdvYmFjay5odG1sCiBodHRw
L3Rlc3RzL25hdmlnYXRpb24vcmVkaXJlY3QzMDItc3ViZnJhbWVsb2FkLmh0bWwKIGh0dHAvdGVz
dHMvbmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1iYXNpYy5odG1sCitodHRwL3Rlc3RzL25hdmln
YXRpb24vcmVsYXRpdmVhbmNob3ItZnJhbWVzLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9y
ZWxhdGl2ZWFuY2hvci1nb2JhY2suaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc3RvcmUt
Zm9ybS1zdGF0ZS1odHRwcy5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc2xvd21ldGFyZWRp
cmVjdC1iYXNpYy5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc2xvd3RpbWVycmVkaXJlY3Qt
YmFzaWMuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1Y2Nlc3MyMDAtYmFzaWMuaHRtbAot
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1Y2Nlc3MyMDAtZnJhbWVzLmh0bWwKIGh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9zdWNjZXNzMjAwLWZyYW1lcy1sb2Fkc2FtZS5odG1sCitodHRwL3Rlc3RzL25h
dmlnYXRpb24vc3VjY2VzczIwMC1mcmFtZXMuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1
Y2Nlc3MyMDAtZ29iYWNrLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNzMjAwLWxv
YWRzYW1lLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNzMjAwLXJlbG9hZC5odG1s
CkBAIC0yMjM3LDEzICsyMjQwLDYgQEAgc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRk
ZWQtc3ZnLQogc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFz
aGJvYXJkLmh0bWwKIHN2Zy9jdXN0b20vc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVj
dC5odG1sCiAKLSMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucwotIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQyNTQ4PgotZmFzdC9vdmVyZmxvdy9zY3JvbGxSZXZlYWxCdXR0b24u
aHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2FuY2hvci1mcmFtZXMuaHRtbAotaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL2FuY2hvci1zdWJmcmFtZWxvYWQuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3JlbGF0aXZlYW5jaG9yLWZyYW1lcy5odG1sCi0KICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVk
cyBsYXlvdXRUZXN0Q29udHJvbGxlci5tYXJrZXJUZXh0Rm9yTGlzdEl0ZW0KICMgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjU0OT4KIGZhc3QvbGlzdHMvb2wtbmVz
dGVkLWl0ZW1zLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>