<?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>136526</bug_id>
          
          <creation_ts>2014-09-04 03:37:02 -0700</creation_ts>
          <short_desc>Committed URL is not reset when a new load starts</short_desc>
          <delta_ts>2014-09-18 03:25:01 -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>INVALID</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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1033179</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-04 03:37:02 -0700</bug_when>
    <thetext>The committed URL of PageLoadState and frame is not reset when a new load starts. One of the problems I&apos;ve noticed is that if the page fails, the active URL after didFailProvisionalLoadWithErrorForFrame() is the one from previous load. In the PageLoadBasic unit test we check that the committed URL is null in didStartProvisionalLoadForFrame(), it works because it&apos;s the first load, if we start a new load the test fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033180</commentid>
    <comment_count>1</comment_count>
      <attachid>237616</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-04 03:42:08 -0700</bug_when>
    <thetext>Created attachment 237616
Patch

I&apos;ve rewritten the unit tests to use a test class and make easier to add more test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033238</commentid>
    <comment_count>2</comment_count>
      <attachid>237616</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-04 11:00:20 -0700</bug_when>
    <thetext>Comment on attachment 237616
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Reset the committed URL when a new load starts.

I don&apos;t see how this can be right. When a load hasn&apos;t been committed yet, the current page is unchanged - this is the very reason for having an uncommitted state. If the user starts a load and immediately hits Esc to cancel, the page should remain in the same state that it was before load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034241</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-10 00:38:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 237616 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=237616&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:8
&gt; &gt; +        Reset the committed URL when a new load starts.
&gt; 
&gt; I don&apos;t see how this can be right. When a load hasn&apos;t been committed yet, the current page is unchanged - this is the very reason for having an uncommitted state. If the user starts a load and immediately hits Esc to cancel, the page should remain in the same state that it was before load.

I see your point, and I agree that&apos;s the last committed URL in the page/frame, but I&apos;m not so sure that&apos;s the active URL. I guess we need to define what the active URL is, though. This is what we have in the WebKitGTK+ API documentation:

http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#webkit-web-view-get-uri

It doesn&apos;t say anything about the active URL when the provisional load fails, what do you think it should be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035894</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-18 03:25:01 -0700</bug_when>
    <thetext>I agree we should not reset the commited URL on new load, closing as invalid.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237616</attachid>
            <date>2014-09-04 03:42:08 -0700</date>
            <delta_ts>2014-09-04 11:00:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-committed-url.diff</filename>
            <type>text/plain</type>
            <size>17775</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBkNmVjZDY4Li5lNjE1YTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkg
QEAKIDIwMTQtMDktMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIENvbW1pdHRlZCBVUkwgaXMgbm90IHJlc2V0IHdoZW4gYSBuZXcgbG9hZCBz
dGFydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NjUyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
c2V0IHRoZSBjb21taXR0ZWQgVVJMIHdoZW4gYSBuZXcgbG9hZCBzdGFydHMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvRnJhbWVMb2FkU3RhdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxv
YWRTdGF0ZTo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlTG9hZFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUxvYWRTdGF0ZTo6ZGlkU3Rh
cnRQcm92aXNpb25hbExvYWQpOgorCisyMDE0LTA5LTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKwogICAgICAgICBJbml0aWFsaXplIG1fdXNlc05ldHdvcmtQ
cm9jZXNzIGVhcmxpZXIgaW4gV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoKQogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDc4CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GcmFtZUxvYWRTdGF0ZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRnJhbWVMb2FkU3RhdGUuY3BwCmluZGV4IGQyOGY1YzYu
LmIwYTY0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GcmFtZUxvYWRT
dGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZyYW1lTG9hZFN0YXRlLmNw
cApAQCAtNDMsNiArNDMsNyBAQCB2b2lkIEZyYW1lTG9hZFN0YXRlOjpkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCkKIAogICAgIG1fc3RhdGUgPSBTdGF0ZTo6UHJvdmlz
aW9uYWw7CiAgICAgbV9wcm92aXNpb25hbFVSTCA9IHVybDsKKyAgICBtX3VybCA9IFN0cmluZygp
OwogfQogCiB2b2lkIEZyYW1lTG9hZFN0YXRlOjpkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQ
cm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZUxvYWRTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGFnZUxvYWRTdGF0ZS5jcHAKaW5kZXggODZjZTllMC4uYzZlMjM2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VMb2FkU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlTG9hZFN0YXRlLmNwcApAQCAtMjQ2LDYgKzI0Niw3IEBAIHZv
aWQgUGFnZUxvYWRTdGF0ZTo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgVHJhbnNhY3Rp
b246OlRva2VuJiB0b2tlbiwgY29uCiAgICAgbV91bmNvbW1pdHRlZFN0YXRlLnN0YXRlID0gU3Rh
dGU6OlByb3Zpc2lvbmFsOwogCiAgICAgbV91bmNvbW1pdHRlZFN0YXRlLnByb3Zpc2lvbmFsVVJM
ID0gdXJsOworICAgIG1fdW5jb21taXR0ZWRTdGF0ZS51cmwgPSBTdHJpbmcoKTsKIAogICAgIHNl
dFVucmVhY2hhYmxlVVJMKHRva2VuLCB1bnJlYWNoYWJsZVVSTCk7CiB9CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMThkOTU0OC4uM2Q3MjgyOSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM1IEBACisyMDE0LTA5LTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBDb21taXR0ZWQgVVJMIGlzIG5vdCByZXNldCB3aGVuIGEgbmV3
IGxvYWQgc3RhcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzY1MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZXdyaXRlIHRoZSBQYWdlTG9hZEJhc2ljIHRlc3QgdG8gdXNlIGEgdGVzdCBjbGFzcyBp
bnN0ZWFkIG9mIGEKKyAgICAgICAgU3RhdGUgc3RydWN0IGFuZCBhZGRlZCB0d28gbW9yZSB0ZXN0
IGNhc2VzIGZvciB0aGUgY2FzZSB3aGVuIHRoZQorICAgICAgICBsb2FkIGZhaWxzIGFuZCB3aGVu
IGl0IGZhaWxzIGFmdGVyIGEgc3VjY2Vzc2Z1bCBsb2FkLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VMb2FkQmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6V2ViS2l0MlBhZ2VMb2FkVGVzdDo6V2ViS2l0MlBhZ2VMb2FkVGVzdCk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpXZWJLaXQyUGFnZUxvYWRUZXN0OjpkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJQYWdlTG9hZFRl
c3Q6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpXZWJL
aXQyUGFnZUxvYWRUZXN0OjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6V2ViS2l0MlBhZ2VMb2FkVGVzdDo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhF
cnJvckZvckZyYW1lKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJQYWdlTG9hZFRl
c3Q6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6V2ViS2l0MlBhZ2VMb2FkVGVzdDo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9u
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJQYWdlTG9hZFRlc3Q6OmRlY2lkZVBv
bGljeUZvclJlc3BvbnNlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJQYWdlTG9h
ZFRlc3Q6OlNldFVwKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJQYWdlTG9hZFRl
c3Q6OmxvYWRVUkwpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlN0YXRlOjpTdGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6IERlbGV0ZWQuCisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6IERl
bGV0ZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dB
Y3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2UpOiBEZWxldGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6IERlbGV0
ZWQuCisKIDIwMTQtMDktMDMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dpbl0gVW5yZXZpZXdlZCB0ZXN0IGZpeC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlTG9hZEJhc2ljLmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdlTG9hZEJhc2ljLmNwcAppbmRleCA2MDNkMGU2Li40
OWE2MGVhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFn
ZUxvYWRCYXNpYy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Bh
Z2VMb2FkQmFzaWMuY3BwCkBAIC0zMSwxMjUgKzMxLDE5OSBAQAogCiBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSSB7CiAKLXN0YXRpYyBib29sIHRlc3QxRG9uZTsKK2NsYXNzIFdlYktpdDJQYWdlTG9h
ZFRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKK3B1YmxpYzoKKyAgICBXZWJLaXQyUGFn
ZUxvYWRUZXN0KCkKKyAgICAgICAgOiBtX2RpZERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24oZmFsc2UpCisgICAgICAgICwgbV9kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKGZh
bHNlKQorICAgICAgICAsIG1fZGlkQ29tbWl0TG9hZEZvckZyYW1lKGZhbHNlKQorICAgICAgICAs
IG1fZGlkRmluaXNoTG9hZChmYWxzZSkKKyAgICAgICAgLCBtX2RpZEZhaWxQcm92aXNpb25hbExv
YWRXaXRoRXJyb3JGb3JGcmFtZShmYWxzZSkKKyAgICB7CisgICAgfQogCi1zdHJ1Y3QgU3RhdGUg
ewotICAgIFN0YXRlKCkKLSAgICAgICAgOiBkaWREZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uKGZhbHNlKQotICAgICAgICAsIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoZmFs
c2UpCi0gICAgICAgICwgZGlkQ29tbWl0TG9hZEZvckZyYW1lKGZhbHNlKQorICAgIHN0YXRpYyB2
b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
ICAgICB7CisgICAgICAgIFdlYktpdDJQYWdlTG9hZFRlc3QqIHRlc3QgPSByZWludGVycHJldF9j
YXN0PFdlYktpdDJQYWdlTG9hZFRlc3QqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7
CisgICAgICAgIEVYUEVDVF9UUlVFKHRlc3QtPm1fZGlkRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbik7CisgICAgICAgIEVYUEVDVF9GQUxTRSh0ZXN0LT5tX2RpZENvbW1pdExvYWRGb3JG
cmFtZSk7CisgICAgICAgIEVYUEVDVF9GQUxTRSh0ZXN0LT5tX2RpZEZhaWxQcm92aXNpb25hbExv
YWRXaXRoRXJyb3JGb3JGcmFtZSk7CisKKyAgICAgICAgLy8gVGhlIGNvbW1pdGVkIFVSTCBzaG91
bGQgYmUgbnVsbC4KKyAgICAgICAgRVhQRUNUX05VTEwoV0tGcmFtZUNvcHlVUkwoZnJhbWUpKTsK
KyAgICAgICAgLy8gVGhlIGFjdGl2ZSBVUkwgc2hvdWxkIGJlIHRoZSBwcm92aXNpb25hbCBvbmUu
CisgICAgICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiBwcm92aXNpb25hbFVSTCA9IGFkb3B0V0so
V0tGcmFtZUNvcHlQcm92aXNpb25hbFVSTChmcmFtZSkpOworICAgICAgICBBU1NFUlRfTk9UX05V
TEwocHJvdmlzaW9uYWxVUkwuZ2V0KCkpOworICAgICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4g
YWN0aXZlVVJMID0gYWRvcHRXSyhXS1BhZ2VDb3B5QWN0aXZlVVJMKHBhZ2UpKTsKKyAgICAgICAg
QVNTRVJUX05PVF9OVUxMKGFjdGl2ZVVSTC5nZXQoKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKFdL
VVJMSXNFcXVhbChhY3RpdmVVUkwuZ2V0KCksIHByb3Zpc2lvbmFsVVJMLmdldCgpKSk7CisKKyAg
ICAgICAgRVhQRUNUX0ZBTFNFKHRlc3QtPm1fZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSk7CisKKyAgICAgICAgdGVzdC0+bV9kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lID0g
dHJ1ZTsKICAgICB9CiAKLSAgICBib29sIGRpZERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b247Ci0gICAgYm9vbCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOwotICAgIGJvb2wg
ZGlkQ29tbWl0TG9hZEZvckZyYW1lOwotfTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDb21taXRMb2Fk
Rm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2Vy
RGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKKyAgICB7CisgICAgICAgIFdlYktpdDJQYWdl
TG9hZFRlc3QqIHRlc3QgPSByZWludGVycHJldF9jYXN0PFdlYktpdDJQYWdlTG9hZFRlc3QqPihj
b25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHRlc3Qt
Pm1fZGlkRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik7CisgICAgICAgIEVYUEVDVF9U
UlVFKHRlc3QtPm1fZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSk7CisgICAgICAgIEVY
UEVDVF9GQUxTRSh0ZXN0LT5tX2RpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFt
ZSk7CisKKyAgICAgICAgLy8gVGhlIHByb3Zpc2lvbmFsIFVSTCBzaG91bGQgYmUgbnVsbC4KKyAg
ICAgICAgRVhQRUNUX05VTEwoV0tGcmFtZUNvcHlQcm92aXNpb25hbFVSTChmcmFtZSkpOworICAg
ICAgICAvLyBUaGUgYWN0aXZlIFVSTCBzaG91bGQgYmUgdGhlIGNvbW1pdGVkIG9uZS4KKyAgICAg
ICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IGNvbW1pdHRlZFVSTCA9IGFkb3B0V0soV0tGcmFtZUNv
cHlVUkwoZnJhbWUpKTsKKyAgICAgICAgQVNTRVJUX05PVF9OVUxMKGNvbW1pdHRlZFVSTC5nZXQo
KSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiBhY3RpdmVVUkwgPSBhZG9wdFdLKFdL
UGFnZUNvcHlBY3RpdmVVUkwocGFnZSkpOworICAgICAgICBBU1NFUlRfTk9UX05VTEwoYWN0aXZl
VVJMLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoV0tVUkxJc0VxdWFsKGFjdGl2ZVVSTC5n
ZXQoKSwgY29tbWl0dGVkVVJMLmdldCgpKSk7CisKKyAgICAgICAgdGVzdC0+bV9kaWRDb21taXRM
b2FkRm9yRnJhbWUgPSB0cnVlOworICAgIH0KIAotc3RhdGljIHZvaWQgZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBl
UmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIFN0YXRlKiBzdGF0
ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8U3RhdGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSk7Ci0gICAgRVhQRUNUX1RSVUUoc3RhdGUtPmRpZERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24pOwotICAgIEVYUEVDVF9GQUxTRShzdGF0ZS0+ZGlkQ29tbWl0TG9hZEZvckZyYW1lKTsK
KyAgICBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdL
RnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKKyAgICB7CisgICAgICAgIFdlYktpdDJQYWdlTG9hZFRlc3QqIHRlc3QgPSByZWludGVycHJl
dF9jYXN0PFdlYktpdDJQYWdlTG9hZFRlc3QqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHRlc3QtPm1fZGlkRGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbik7CisgICAgICAgIEVYUEVDVF9UUlVFKHRlc3QtPm1fZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHRlc3QtPm1fZGlkQ29tbWl0
TG9hZEZvckZyYW1lKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHRlc3QtPm1fZGlkRmFpbFByb3Zp
c2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKTsKIAotICAgIC8vIFRoZSBjb21taXRlZCBVUkwg
c2hvdWxkIGJlIG51bGwuCi0gICAgRVhQRUNUX05VTEwoV0tGcmFtZUNvcHlVUkwoZnJhbWUpKTsK
KyAgICAgICAgLy8gVGhlIHByb3Zpc2lvbmFsIFVSTCBzaG91bGQgYmUgbnVsbC4KKyAgICAgICAg
RVhQRUNUX05VTEwoV0tGcmFtZUNvcHlQcm92aXNpb25hbFVSTChmcmFtZSkpOwogCi0gICAgRVhQ
RUNUX0ZBTFNFKHN0YXRlLT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTsKKyAgICAg
ICAgdGVzdC0+bV9kaWRGaW5pc2hMb2FkID0gdHJ1ZTsKKyAgICB9CiAKLSAgICBzdGF0ZS0+ZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSA9IHRydWU7Ci19CisgICAgc3RhdGljIHZvaWQg
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBX
S0ZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCisgICAgeworICAgICAgICBXZWJLaXQyUGFnZUxvYWRUZXN0KiB0ZXN0ID0gcmVpbnRl
cnByZXRfY2FzdDxXZWJLaXQyUGFnZUxvYWRUZXN0Kj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50
SW5mbykpOworICAgICAgICBFWFBFQ1RfVFJVRSh0ZXN0LT5tX2RpZERlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb24pOworICAgICAgICBFWFBFQ1RfVFJVRSh0ZXN0LT5tX2RpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUpOwogCi1zdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJh
bWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBTdGF0ZSogc3RhdGUgPSByZWludGVycHJl
dF9jYXN0PFN0YXRlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwotICAgIEVYUEVD
VF9UUlVFKHN0YXRlLT5kaWREZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKTsKLSAgICBF
WFBFQ1RfVFJVRShzdGF0ZS0+ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSk7CisgICAg
ICAgIC8vIFRoZSBjb21taXRlZCBVUkwgc2hvdWxkIGJlIG51bGwuCisgICAgICAgIEVYUEVDVF9O
VUxMKFdLRnJhbWVDb3B5VVJMKGZyYW1lKSk7CisgICAgICAgIC8vIFRoZSBwcm92aXNpb25hbCBV
Ukwgc2hvdWxkIGJlIG51bGwuCisgICAgICAgIEVYUEVDVF9OVUxMKFdLRnJhbWVDb3B5UHJvdmlz
aW9uYWxVUkwoZnJhbWUpKTsKIAotICAgIC8vIFRoZSBwcm92aXNpb25hbCBVUkwgc2hvdWxkIGJl
IG51bGwuCi0gICAgRVhQRUNUX05VTEwoV0tGcmFtZUNvcHlQcm92aXNpb25hbFVSTChmcmFtZSkp
OworICAgICAgICB0ZXN0LT5tX2RpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFt
ZSA9IHRydWU7CisgICAgICAgIHRlc3QtPm1fZGlkRmluaXNoTG9hZCA9IHRydWU7CisgICAgfQog
Ci0gICAgc3RhdGUtPmRpZENvbW1pdExvYWRGb3JGcmFtZSA9IHRydWU7Ci19CisgICAgc3RhdGlj
IHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tG
cmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlLCBXS0V2
ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBX
S0ZyYW1lUmVmIG9yaWdpbmF0aW5nRnJhbWUsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS0Zy
YW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKKyAgICB7CisgICAgICAgIFdlYktpdDJQYWdlTG9hZFRlc3QqIHRl
c3QgPSByZWludGVycHJldF9jYXN0PFdlYktpdDJQYWdlTG9hZFRlc3QqPihjb25zdF9jYXN0PHZv
aWQqPihjbGllbnRJbmZvKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRSh0ZXN0LT5tX2RpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOworICAgICAgICBFWFBFQ1RfRkFMU0UodGVzdC0+bV9k
aWRDb21taXRMb2FkRm9yRnJhbWUpOworICAgICAgICBFWFBFQ1RfRkFMU0UodGVzdC0+bV9kaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOworICAgICAgICBFWFBFQ1RfVFJV
RShtb3VzZUJ1dHRvbiA9PSBrV0tFdmVudE1vdXNlQnV0dG9uTm9CdXR0b24pOwogCi1zdGF0aWMg
dm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJh
bWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBT
dGF0ZSogc3RhdGUgPSByZWludGVycHJldF9jYXN0PFN0YXRlKj4oY29uc3RfY2FzdDx2b2lkKj4o
Y2xpZW50SW5mbykpOwotICAgIEVYUEVDVF9UUlVFKHN0YXRlLT5kaWREZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKTsKLSAgICBFWFBFQ1RfVFJVRShzdGF0ZS0+ZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZSk7Ci0gICAgRVhQRUNUX1RSVUUoc3RhdGUtPmRpZENvbW1pdExvYWRG
b3JGcmFtZSk7CisgICAgICAgIHRlc3QtPm1fZGlkRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvbiA9IHRydWU7CiAKLSAgICAvLyBUaGUgcHJvdmlzaW9uYWwgVVJMIHNob3VsZCBiZSBudWxs
LgotICAgIEVYUEVDVF9OVUxMKFdLRnJhbWVDb3B5UHJvdmlzaW9uYWxVUkwoZnJhbWUpKTsKKyAg
ICAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVyVXNlKGxpc3RlbmVyKTsKKyAgICB9CiAKLSAgICB0
ZXN0MURvbmUgPSB0cnVlOwotfQorICAgIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck5ld1dp
bmRvd0FjdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmln
YXRpb25UeXBlIG5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tF
dmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tT
dHJpbmdSZWYgZnJhbWVOYW1lLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdL
VHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKKyAgICB7CisgICAgICAg
IEVYUEVDVF9UUlVFKG1vdXNlQnV0dG9uID09IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbik7
CisgICAgICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVzZShsaXN0ZW5lcik7CisgICAgfQogCi1z
dGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiBwYWdl
LCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1lTmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUs
IFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0
b24sIFdLRnJhbWVSZWYgb3JpZ2luYXRpbmdGcmFtZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3Qs
IFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIFN0YXRlKiBzdGF0ZSA9IHJlaW50ZXJwcmV0
X2Nhc3Q8U3RhdGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgRVhQRUNU
X0ZBTFNFKHN0YXRlLT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTsKLSAgICBFWFBF
Q1RfRkFMU0Uoc3RhdGUtPmRpZENvbW1pdExvYWRGb3JGcmFtZSk7Ci0gICAgRVhQRUNUX1RSVUUo
bW91c2VCdXR0b24gPT0ga1dLRXZlbnRNb3VzZUJ1dHRvbk5vQnV0dG9uKTsKKyAgICBzdGF0aWMg
dm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBm
cmFtZSwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3Qs
IGJvb2wgY2FuU2hvd01JTUVUeXBlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIs
IFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKKyAgICB7CisgICAg
ICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVzZShsaXN0ZW5lcik7CisgICAgfQogCi0gICAgc3Rh
dGUtPmRpZERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24gPSB0cnVlOworICAgIHZpcnR1
YWwgdm9pZCBTZXRVcCgpCisgICAgeworICAgICAgICBtX2NvbnRleHQgPSBhZG9wdFdLKFdLQ29u
dGV4dENyZWF0ZSgpKTsKKyAgICAgICAgbV93ZWJWaWV3ID0gc3RkOjptYWtlX3VuaXF1ZTxQbGF0
Zm9ybVdlYlZpZXc+KG1fY29udGV4dC5nZXQoKSk7CiAKLSAgICBXS0ZyYW1lUG9saWN5TGlzdGVu
ZXJVc2UobGlzdGVuZXIpOwotfQorICAgICAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJD
bGllbnQ7CisgICAgICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xp
ZW50KSk7CiAKLXN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihXS1Bh
Z2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmlnYXRpb25UeXBlIG5hdmln
YXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9u
IG1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tTdHJpbmdSZWYgZnJhbWVO
YW1lLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2VyRGF0
YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBFWFBFQ1RfVFJVRShtb3VzZUJ1dHRv
biA9PSBrV0tFdmVudE1vdXNlQnV0dG9uTm9CdXR0b24pOwotICAgIFdLRnJhbWVQb2xpY3lMaXN0
ZW5lclVzZShsaXN0ZW5lcik7Ci19CisgICAgICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24g
PSAwOworICAgICAgICBsb2FkZXJDbGllbnQuYmFzZS5jbGllbnRJbmZvID0gdGhpczsKKyAgICAg
ICAgbG9hZGVyQ2xpZW50LmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUgPSBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOworICAgICAgICBsb2FkZXJDbGllbnQuZGlkQ29tbWl0
TG9hZEZvckZyYW1lID0gZGlkQ29tbWl0TG9hZEZvckZyYW1lOworICAgICAgICBsb2FkZXJDbGll
bnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgICAg
ICBsb2FkZXJDbGllbnQuZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lID0g
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOwogCi1zdGF0aWMgdm9pZCBk
ZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
V0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIGJvb2wg
Y2FuU2hvd01JTUVUeXBlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlw
ZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBXS0ZyYW1lUG9s
aWN5TGlzdGVuZXJVc2UobGlzdGVuZXIpOwotfQorICAgICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVy
Q2xpZW50KG1fd2ViVmlldy0+cGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCi0vLyBGSVhN
RTogaHR0cDovL3dlYmtpdC5vcmcvYi8xMjc5MzQgUkVHUkVTU0lPTiAocjE2MzAzNyk6IFdlYktp
dDIuUGFnZUxvYWRCYXNpYyBBUEkgdGVzdCBmYWlsaW5nIG9uIE1vdW50YWluIExpb24KLVRFU1Qo
V2ViS2l0MiwgUGFnZUxvYWRCYXNpYykKLXsKLSAgICBTdGF0ZSBzdGF0ZTsKKyAgICAgICAgV0tQ
YWdlUG9saWN5Q2xpZW50VjEgcG9saWN5Q2xpZW50OworICAgICAgICBtZW1zZXQoJnBvbGljeUNs
aWVudCwgMCwgc2l6ZW9mKHBvbGljeUNsaWVudCkpOwogCi0gICAgV0tSZXRhaW5QdHI8V0tDb250
ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKLSAgICBQbGF0Zm9y
bVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKKyAgICAgICAgcG9saWN5Q2xpZW50LmJh
c2UudmVyc2lvbiA9IDE7CisgICAgICAgIHBvbGljeUNsaWVudC5iYXNlLmNsaWVudEluZm8gPSB0
aGlzOworICAgICAgICBwb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
biA9IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb247CisgICAgICAgIHBvbGljeUNsaWVu
dC5kZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24gPSBkZWNpZGVQb2xpY3lGb3JOZXdXaW5k
b3dBY3Rpb247CisgICAgICAgIHBvbGljeUNsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSA9
IGRlY2lkZVBvbGljeUZvclJlc3BvbnNlOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9h
ZGVyQ2xpZW50OwotICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xp
ZW50KSk7CisgICAgICAgIFdLUGFnZVNldFBhZ2VQb2xpY3lDbGllbnQobV93ZWJWaWV3LT5wYWdl
KCksICZwb2xpY3lDbGllbnQuYmFzZSk7CisgICAgfQogCi0gICAgbG9hZGVyQ2xpZW50LmJhc2Uu
dmVyc2lvbiA9IDA7Ci0gICAgbG9hZGVyQ2xpZW50LmJhc2UuY2xpZW50SW5mbyA9ICZzdGF0ZTsK
LSAgICBsb2FkZXJDbGllbnQuZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSA9IGRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU7Ci0gICAgbG9hZGVyQ2xpZW50LmRpZENvbW1pdExv
YWRGb3JGcmFtZSA9IGRpZENvbW1pdExvYWRGb3JGcmFtZTsKLSAgICBsb2FkZXJDbGllbnQuZGlk
RmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgIHZvaWQgbG9h
ZFVSTChXS1VSTFJlZiB1cmwpCisgICAgeworICAgICAgICBtX3JlcXVlc3RVUkwgPSB1cmw7Cisg
ICAgICAgIG1fZGlkRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiA9IGZhbHNlOworICAg
ICAgICBtX2RpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUgPSBmYWxzZTsKKyAgICAgICAg
bV9kaWRDb21taXRMb2FkRm9yRnJhbWUgPSBmYWxzZTsKKyAgICAgICAgbV9kaWRGaW5pc2hMb2Fk
ID0gZmFsc2U7CisgICAgICAgIG1fZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZy
YW1lID0gZmFsc2U7CisKKyAgICAgICAgV0tQYWdlTG9hZFVSTChtX3dlYlZpZXctPnBhZ2UoKSwg
bV9yZXF1ZXN0VVJMLmdldCgpKTsKKyAgICAgICAgLy8gSW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRp
bmcgYSBsb2FkLCB0aGUgYWN0aXZlIHVybCBzaG91bGQgcmVmbGVjdCB0aGUgcmVxdWVzdC4KKyAg
ICAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IGFjdGl2ZVVSTCA9IGFkb3B0V0soV0tQYWdlQ29w
eUFjdGl2ZVVSTChtX3dlYlZpZXctPnBhZ2UoKSkpOworICAgICAgICBBU1NFUlRfTk9UX05VTEwo
YWN0aXZlVVJMLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoV0tVUkxJc0VxdWFsKGFjdGl2
ZVVSTC5nZXQoKSwgbV9yZXF1ZXN0VVJMLmdldCgpKSk7CisKKyAgICAgICAgVXRpbDo6cnVuKCZt
X2RpZEZpbmlzaExvYWQpOworICAgIH0KIAotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQo
d2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CisgICAgV0tSZXRhaW5QdHI8V0tD
b250ZXh0UmVmPiBtX2NvbnRleHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtV2ViVmll
dz4gbV93ZWJWaWV3OwogCi0gICAgV0tQYWdlUG9saWN5Q2xpZW50VjEgcG9saWN5Q2xpZW50Owot
ICAgIG1lbXNldCgmcG9saWN5Q2xpZW50LCAwLCBzaXplb2YocG9saWN5Q2xpZW50KSk7CisgICAg
V0tSZXRhaW5QdHI8V0tVUkxSZWY+IG1fcmVxdWVzdFVSTDsKKyAgICBib29sIG1fZGlkRGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjsKKyAgICBib29sIG1fZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZTsKKyAgICBib29sIG1fZGlkQ29tbWl0TG9hZEZvckZyYW1lOworICAgIGJv
b2wgbV9kaWRGaW5pc2hMb2FkOworICAgIGJvb2wgbV9kaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0
aEVycm9yRm9yRnJhbWU7Cit9OwogCi0gICAgcG9saWN5Q2xpZW50LmJhc2UudmVyc2lvbiA9IDE7
Ci0gICAgcG9saWN5Q2xpZW50LmJhc2UuY2xpZW50SW5mbyA9ICZzdGF0ZTsKLSAgICBwb2xpY3lD
bGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiA9IGRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb247Ci0gICAgcG9saWN5Q2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dpbmRv
d0FjdGlvbiA9IGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbjsKLSAgICBwb2xpY3lDbGll
bnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UgPSBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZTsKKy8v
IEZJWE1FOiBodHRwOi8vd2Via2l0Lm9yZy9iLzEyNzkzNCBSRUdSRVNTSU9OIChyMTYzMDM3KTog
V2ViS2l0Mi5QYWdlTG9hZEJhc2ljIEFQSSB0ZXN0IGZhaWxpbmcgb24gTW91bnRhaW4gTGlvbgor
VEVTVF9GKFdlYktpdDJQYWdlTG9hZFRlc3QsIEJhc2ljKQoreworICAgIC8vIEJlZm9yZSBsb2Fk
aW5nIGFueXRoaW5nLCB0aGUgYWN0aXZlIHVybCBzaG91bGQgYmUgbnVsbC4KKyAgICBFWFBFQ1Rf
TlVMTChXS1BhZ2VDb3B5QWN0aXZlVVJMKG1fd2ViVmlldy0+cGFnZSgpKSk7CiAKLSAgICBXS1Bh
Z2VTZXRQYWdlUG9saWN5Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcG9saWN5Q2xpZW50LmJhc2Up
OworICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6Y3JlYXRlVVJM
Rm9yUmVzb3VyY2UoInNpbXBsZSIsICJodG1sIikpOworICAgIGxvYWRVUkwodXJsLmdldCgpKTsK
KyAgICBFWFBFQ1RfVFJVRShtX2RpZERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOwor
ICAgIEVYUEVDVF9UUlVFKG1fZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSk7CisgICAg
RVhQRUNUX1RSVUUobV9kaWRDb21taXRMb2FkRm9yRnJhbWUpOworICAgIEVYUEVDVF9GQUxTRSht
X2RpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZSk7Cit9CiAKLSAgICAvLyBC
ZWZvcmUgbG9hZGluZyBhbnl0aGluZywgdGhlIGFjdGl2ZSB1cmwgc2hvdWxkIGJlIG51bGwKLSAg
ICBFWFBFQ1RfTlVMTChXS1BhZ2VDb3B5QWN0aXZlVVJMKHdlYlZpZXcucGFnZSgpKSk7CitURVNU
X0YoV2ViS2l0MlBhZ2VMb2FkVGVzdCwgRGlkRmFpbFByb3Zpc2lvbmFsKQoreworICAgIFdLUmV0
YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6VVJMRm9yTm9uRXhpc3RlbnRSZXNv
dXJjZSgpKTsKKyAgICBsb2FkVVJMKHVybC5nZXQoKSk7CisgICAgRVhQRUNUX1RSVUUobV9kaWRE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKTsKKyAgICBFWFBFQ1RfVFJVRShtX2RpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOworICAgIEVYUEVDVF9UUlVFKG1fZGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKTsKKyAgICBFWFBFQ1RfRkFMU0UobV9kaWRD
b21taXRMb2FkRm9yRnJhbWUpOworfQogCitURVNUX0YoV2ViS2l0MlBhZ2VMb2FkVGVzdCwgRGlk
RmFpbFByb3Zpc2lvbmFsQWZ0ZXJTdWNjZXNzZnVsTG9hZCkKK3sKICAgICBXS1JldGFpblB0cjxX
S1VSTFJlZj4gdXJsKEFkb3B0V0ssIFV0aWw6OmNyZWF0ZVVSTEZvclJlc291cmNlKCJzaW1wbGUi
LCAiaHRtbCIpKTsKLSAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgpLCB1cmwuZ2V0KCkp
OwotCi0gICAgLy8gQnV0IGltbWVkaWF0ZWx5IGFmdGVyIHN0YXJ0aW5nIGEgbG9hZCwgdGhlIGFj
dGl2ZSB1cmwgc2hvdWxkIHJlZmxlY3QgdGhlIHJlcXVlc3QKLSAgICBXS1JldGFpblB0cjxXS1VS
TFJlZj4gYWN0aXZlVXJsID0gYWRvcHRXSyhXS1BhZ2VDb3B5QWN0aXZlVVJMKHdlYlZpZXcucGFn
ZSgpKSk7Ci0gICAgQVNTRVJUX05PVF9OVUxMKGFjdGl2ZVVybC5nZXQoKSk7Ci0gICAgRVhQRUNU
X1RSVUUoV0tVUkxJc0VxdWFsKGFjdGl2ZVVybC5nZXQoKSwgdXJsLmdldCgpKSk7CisgICAgbG9h
ZFVSTCh1cmwuZ2V0KCkpOwogCi0gICAgVXRpbDo6cnVuKCZ0ZXN0MURvbmUpOworICAgIHVybCA9
IGFkb3B0V0soVXRpbDo6VVJMRm9yTm9uRXhpc3RlbnRSZXNvdXJjZSgpKTsKKyAgICBsb2FkVVJM
KHVybC5nZXQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="262346"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>