<?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>31921</bug_id>
          
          <creation_ts>2009-11-26 13:49:51 -0800</creation_ts>
          <short_desc>Use ProgressTracker from the inspected page to generate ids for cached resources</short_desc>
          <delta_ts>2009-11-27 04:46:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166787</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-26 13:49:51 -0800</bug_when>
    <thetext>Instead of generating negative identifiers for cached resources in InspectorController and extending identifier type from &apos;unsigned long&apos; to &apos;long long&apos; it would be better to reuse progress tracker for the inspected page to generate those identifiers. It would guarantee that InspectorResources&apos; ids are unique.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166788</commentid>
    <comment_count>1</comment_count>
      <attachid>43932</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-26 14:00:06 -0800</bug_when>
    <thetext>Created attachment 43932
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166858</commentid>
    <comment_count>2</comment_count>
      <attachid>43937</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-27 00:43:05 -0800</bug_when>
    <thetext>Created attachment 43937
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166862</commentid>
    <comment_count>3</comment_count>
      <attachid>43937</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-27 01:36:40 -0800</bug_when>
    <thetext>Comment on attachment 43937
patch

I don&apos;t think we need to add methods for setting various integers - we don&apos;t even use existing ones. Can we optimize it in a way that there are only methods for signed, unsigned and floating point? That API would be easier to maintain and there will not be that much copy-paste in the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166863</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-27 02:36:56 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 43937 [details])
&gt; I don&apos;t think we need to add methods for setting various integers - we don&apos;t
&gt; even use existing ones. Can we optimize it in a way that there are only methods
&gt; for signed, unsigned and floating point? That API would be easier to maintain
&gt; and there will not be that much copy-paste in the code.

We cannot reduce the number of overloaded methods without introducing lots of static_casts because if we had just double and bool there would be ambiguity for ints if we had double, bool and int there is ambiguity for long and so on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166864</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-27 03:13:21 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/bindings/js/ScriptFunctionCall.cpp
	M	WebCore/bindings/js/ScriptFunctionCall.h
	M	WebCore/bindings/js/ScriptObject.cpp
	M	WebCore/bindings/js/ScriptObject.h
	M	WebCore/bindings/v8/ScriptFunctionCall.cpp
	M	WebCore/bindings/v8/ScriptFunctionCall.h
	M	WebCore/bindings/v8/ScriptObject.cpp
	M	WebCore/bindings/v8/ScriptObject.h
	M	WebCore/inspector/InspectorBackend.cpp
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorController.h
	M	WebCore/inspector/InspectorDOMAgent.cpp
	M	WebCore/inspector/InspectorFrontend.cpp
	M	WebCore/inspector/InspectorFrontend.h
	M	WebCore/inspector/InspectorResource.cpp
	M	WebCore/inspector/InspectorResource.h
	M	WebCore/inspector/TimelineRecordFactory.cpp
Committed r51439</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43932</attachid>
            <date>2009-11-26 14:00:06 -0800</date>
            <delta_ts>2009-11-27 00:43:05 -0800</delta_ts>
            <desc>patch</desc>
            <filename>use-progress-tracker.patch</filename>
            <type>text/plain</type>
            <size>7423</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTgzMTcwYi4uZWNmMzEwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOSBAQAogMjAwOS0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgbmVnYXRpdmUgaWRlbnRp
ZmllcnMgZm9yIGNhY2hlZCByZXNvdXJjZXMgaW4KKyAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxl
ciBhbmQgZXh0ZW5kaW5nIGlkZW50aWZpZXIgdHlwZSBmcm9tICd1bnNpZ25lZCBsb25nJyB0byAn
bG9uZworICAgICAgICBsb25nJyByZXVzZSBwcm9ncmVzcyB0cmFja2VyIGZyb20gdGhlIGluc3Bl
Y3RlZCBwYWdlIHRvIGdlbmVyYXRlIHRob3NlCisgICAgICAgIGlkZW50aWZpZXJzLiBJdCBndWFy
YW50ZWVzIHRoYXQgSW5zcGVjdG9yUmVzb3VyY2VzIGhhdmUgdW5pcXVlIGlkcyBzaW5jZQorICAg
ICAgICBhbGwgb2YgdGhlbSBhcmUgZ2VuZXJhdGVkIGJ5IHRoYXQgcHJvZ3Jlc3MgdHJhY2tlci4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MjEK
KworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0VHJhY2tlZFJlc291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZExvYWRSZXNvdXJjZUZy
b21NZW1vcnlDYWNoZSk6IFVzZSBpbnNwZWN0ZWQgcGFnZSdzIFByb2dyZXNzVHJhY2tlciB0byBn
ZW5lcmF0ZSB1bmlxdWUgaWRlbnRpZmllcnMgZm9yIGNhY2hlZCByZXNvdXJjZXMgaW4gSW5zcGVj
dG9yQ29udHJvbGxlci4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZTo6SW5zcGVjdG9yUmVzb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmNyZWF0ZUNhY2hlZCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlLmg6IENoYW5nZSBJbnNwZWN0b3JSZXNvdXJjZSBpZGVu
dGlmaWVyIHR5cGUgZnJvbSAnbG9uZyBsb25nJyB0byAndW5zaWduZWQgbG9uZycuCisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclJlc291cmNlOjppZGVudGlmaWVyKToKKworMjAwOS0xMS0yNiAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKwogICAgICAgICBOb3QgcmV2aWV3ZWQuIEJ1
aWxkIGZpeDogcmV2ZXJ0IHI1MTQyMS4KIAogICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcDoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
aW5kZXggZGRiMTNkMi4uNDQwZmVjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJj
ZS5oIgogI2luY2x1ZGUgIkphdmFTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgor
I2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVk
ZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCkBAIC0xMjgs
NyArMTI5LDYgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdl
KiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1fc2NyaXB0U3RhdGUoMCkK
ICAgICAsIG1fd2luZG93VmlzaWJsZShmYWxzZSkKICAgICAsIG1fc2hvd0FmdGVyVmlzaWJsZShD
dXJyZW50UGFuZWwpCi0gICAgLCBtX25leHRJZGVudGlmaWVyKC0yKQogICAgICwgbV9ncm91cExl
dmVsKDApCiAgICAgLCBtX3NlYXJjaGluZ0Zvck5vZGUoZmFsc2UpCiAgICAgLCBtX3ByZXZpb3Vz
TWVzc2FnZSgwKQpAQCAtODQxLDcgKzg0MSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
cmVtb3ZlUmVzb3VyY2UoSW5zcGVjdG9yUmVzb3VyY2UqIHJlc291cmNlKQogICAgIH0KIH0KIAot
SW5zcGVjdG9yUmVzb3VyY2UqIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFRyYWNrZWRSZXNvdXJj
ZShsb25nIGxvbmcgaWRlbnRpZmllcikKK0luc3BlY3RvclJlc291cmNlKiBJbnNwZWN0b3JDb250
cm9sbGVyOjpnZXRUcmFja2VkUmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewog
ICAgIGlmICghZW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTg3MSw3ICs4NzEsNyBA
QCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNo
ZShEb2N1bWVudExvYWRlciogbG9hZGVyLAogICAgIGlmICghaXNNYWluUmVzb3VyY2UgJiYgIW1f
cmVzb3VyY2VUcmFja2luZ0VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxJ
bnNwZWN0b3JSZXNvdXJjZT4gcmVzb3VyY2UgPSBJbnNwZWN0b3JSZXNvdXJjZTo6Y3JlYXRlQ2Fj
aGVkKG1fbmV4dElkZW50aWZpZXItLSwgbG9hZGVyLCBjYWNoZWRSZXNvdXJjZSk7CisgICAgUmVm
UHRyPEluc3BlY3RvclJlc291cmNlPiByZXNvdXJjZSA9IEluc3BlY3RvclJlc291cmNlOjpjcmVh
dGVDYWNoZWQobV9pbnNwZWN0ZWRQYWdlLT5wcm9ncmVzcygpLT5jcmVhdGVVbmlxdWVJZGVudGlm
aWVyKCkgLCBsb2FkZXIsIGNhY2hlZFJlc291cmNlKTsKIAogICAgIGlmIChpc01haW5SZXNvdXJj
ZSkgewogICAgICAgICBtX21haW5SZXNvdXJjZSA9IHJlc291cmNlOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDIyYmQwNzYuLjdiNjM4YzMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTkxLDcgKzkxLDcgQEAgY2xhc3MgSW5z
cGVjdG9yQ29udHJvbGxlcgogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgewogcHVibGljOgotICAgIHR5cGVkZWYgSGFzaE1hcDxsb25n
IGxvbmcsIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gPiBSZXNvdXJjZXNNYXA7CisgICAgdHlw
ZWRlZiBIYXNoTWFwPHVuc2lnbmVkIGxvbmcsIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gPiBS
ZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxGcmFtZT4sIFJlc291cmNl
c01hcCo+IEZyYW1lUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0
cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAg
IHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+
ID4gRE9NU3RvcmFnZVJlc291cmNlc01hcDsKQEAgLTM0Myw3ICszNDMsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBhZGRSZXNvdXJjZShJbnNwZWN0b3JSZXNvdXJjZSopOwogICAgIHZvaWQgcmVt
b3ZlUmVzb3VyY2UoSW5zcGVjdG9yUmVzb3VyY2UqKTsKLSAgICBJbnNwZWN0b3JSZXNvdXJjZSog
Z2V0VHJhY2tlZFJlc291cmNlKGxvbmcgbG9uZyBpZGVudGlmaWVyKTsKKyAgICBJbnNwZWN0b3JS
ZXNvdXJjZSogZ2V0VHJhY2tlZFJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CiAK
ICAgICB2b2lkIHBydW5lUmVzb3VyY2VzKFJlc291cmNlc01hcCosIERvY3VtZW50TG9hZGVyKiBs
b2FkZXJUb0tlZXAgPSAwKTsKICAgICB2b2lkIHJlbW92ZUFsbFJlc291cmNlcyhSZXNvdXJjZXNN
YXAqIG1hcCkgeyBwcnVuZVJlc291cmNlcyhtYXApOyB9CkBAIC0zODAsNyArMzgwLDYgQEAgcHJp
dmF0ZToKICAgICBTY3JpcHRTdGF0ZSogbV9zY3JpcHRTdGF0ZTsKICAgICBib29sIG1fd2luZG93
VmlzaWJsZTsKICAgICBTcGVjaWFsUGFuZWxzIG1fc2hvd0FmdGVyVmlzaWJsZTsKLSAgICBsb25n
IGxvbmcgbV9uZXh0SWRlbnRpZmllcjsKICAgICBSZWZQdHI8Tm9kZT4gbV9oaWdobGlnaHRlZE5v
ZGU7CiAgICAgdW5zaWduZWQgbV9ncm91cExldmVsOwogICAgIGJvb2wgbV9zZWFyY2hpbmdGb3JO
b2RlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3Bw
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCmluZGV4IDM4MWRmZDUu
LmZhYzgxYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKQEAgLTQ2
LDcgKzQ2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JbnNwZWN0b3JSZXNvdXJjZTo6
SW5zcGVjdG9yUmVzb3VyY2UobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBs
b2FkZXIpCitJbnNwZWN0b3JSZXNvdXJjZTo6SW5zcGVjdG9yUmVzb3VyY2UodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgIDogbV9pZGVudGlmaWVy
KGlkZW50aWZpZXIpCiAgICAgLCBtX2xvYWRlcihsb2FkZXIpCiAgICAgLCBtX2ZyYW1lKGxvYWRl
ci0+ZnJhbWUoKSkKQEAgLTcwLDcgKzcwLDcgQEAgSW5zcGVjdG9yUmVzb3VyY2U6On5JbnNwZWN0
b3JSZXNvdXJjZSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8SW5zcGVjdG9yUmVzb3VyY2U+IEluc3Bl
Y3RvclJlc291cmNlOjpjcmVhdGVDYWNoZWQobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50
TG9hZGVyKiBsb2FkZXIsIGNvbnN0IENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSkKK1Bh
c3NSZWZQdHI8SW5zcGVjdG9yUmVzb3VyY2U+IEluc3BlY3RvclJlc291cmNlOjpjcmVhdGVDYWNo
ZWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25z
dCBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UpCiB7CiAgICAgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JSZXNvdXJjZT4gcmVzb3VyY2UgPSBjcmVhdGUoaWRlbnRpZmllciwgbG9hZGVyKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmgKaW5kZXggN2VlMTk2Ni4uN2Q5Yjk3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaAorKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5oCkBAIC02OCwxMiArNjgsMTIgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgT3RoZXIKICAgICAgICAgfTsKIAotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gY3JlYXRlKGxvbmcgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyKQorICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gY3JlYXRlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBJbnNwZWN0b3JSZXNvdXJjZShpZGVudGlmaWVyLCBsb2FkZXIpKTsKICAg
ICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3RvclJlc291cmNlPiBj
cmVhdGVDYWNoZWQobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3Qg
Q2FjaGVkUmVzb3VyY2UqKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yUmVz
b3VyY2U+IGNyZWF0ZUNhY2hlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiwgY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKIAogICAgICAgICB+SW5zcGVjdG9yUmVzb3Vy
Y2UoKTsKIApAQCAtOTEsNyArOTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Ym9vbCBpc1NhbWVMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikgY29uc3QgeyByZXR1cm4g
bG9hZGVyID09IG1fbG9hZGVyOyB9CiAgICAgICAgIHZvaWQgbWFya01haW5SZXNvdXJjZSgpIHsg
bV9pc01haW5SZXNvdXJjZSA9IHRydWU7IH0KLSAgICAgICAgbG9uZyBsb25nIGlkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAgICAgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAgICAgICAgIFN0cmlu
ZyByZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0VVJMLnN0cmluZygpOyB9CiAg
ICAgICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWUuZ2V0KCk7IH0KICAg
ICAgICAgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWltZVR5cGU7
IH0KQEAgLTE0NSwxMyArMTQ1LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAg
IENoYW5nZVR5cGUgbV9jaGFuZ2U7CiAgICAgICAgIH07CiAKLSAgICAgICAgSW5zcGVjdG9yUmVz
b3VyY2UobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKik7CisgICAgICAgIElu
c3BlY3RvclJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIq
KTsKICAgICAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAKICAgICAgICAgVHlwZSBjYWNoZWRSZXNv
dXJjZVR5cGUoKSBjb25zdDsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNl
KCkgY29uc3Q7CiAKLSAgICAgICAgbG9uZyBsb25nIG1faWRlbnRpZmllcjsKKyAgICAgICAgdW5z
aWduZWQgbG9uZyBtX2lkZW50aWZpZXI7CiAgICAgICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4g
bV9sb2FkZXI7CiAgICAgICAgIFJlZlB0cjxGcmFtZT4gbV9mcmFtZTsKICAgICAgICAgS1VSTCBt
X3JlcXVlc3RVUkw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43937</attachid>
            <date>2009-11-27 00:43:05 -0800</date>
            <delta_ts>2009-11-27 02:49:15 -0800</delta_ts>
            <desc>patch</desc>
            <filename>long-long.patch</filename>
            <type>text/plain</type>
            <size>21149</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTgzMTcwYi4uZTUxMWM3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAorMjAwOS0xMS0yNyAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgbmVnYXRpdmUgaWRlbnRp
ZmllcnMgZm9yIGNhY2hlZCByZXNvdXJjZXMgaW4KKyAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxl
ciBhbmQgZXh0ZW5kaW5nIGlkZW50aWZpZXIgdHlwZSBmcm9tICd1bnNpZ25lZCBsb25nJyB0byAn
bG9uZworICAgICAgICBsb25nJyByZXVzZSBwcm9ncmVzcyB0cmFja2VyIGZyb20gdGhlIGluc3Bl
Y3RlZCBwYWdlIHRvIGdlbmVyYXRlIHRob3NlCisgICAgICAgIGlkZW50aWZpZXJzLiBJdCBndWFy
YW50ZWVzIHRoYXQgSW5zcGVjdG9yUmVzb3VyY2VzIGhhdmUgdW5pcXVlIGlkcyBzaW5jZQorICAg
ICAgICBhbGwgb2YgdGhlbSBhcmUgZ2VuZXJhdGVkIGJ5IHRoYXQgcHJvZ3Jlc3MgdHJhY2tlci4K
KworICAgICAgICBBZGRlZCBhIGNvdXBsZSBuZXcgb3ZlcmxvYWRlZCBtZXRob2RzIHRvIFNjcmlw
dCogb2JqZWN0cyB0aGF0IGFjY2VwdAorICAgICAgICBsb25nIGFuZCB1bnNpZ25lZCBsb25nIGFy
Z3VtZW50cy4gVGhlc2UgdHlwZXMgb2YgYXJndW1lbnMgaGF2ZSBhbHJlYWR5CisgICAgICAgIGJl
ZW4gcGFzc2VkIGFzIGxvbmcgbG9uZy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MjEKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdEZ1
bmN0aW9uQ2FsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRGdW5jdGlvbkNhbGw6OmFw
cGVuZEFyZ3VtZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNhbGwu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0T2JqZWN0OjpzZXQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE9i
amVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRGdW5jdGlvbkNhbGw6OmFwcGVuZEFyZ3VtZW50KToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRGdW5jdGlvbkNhbGwuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9TY3JpcHRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0T2JqZWN0
OjpzZXQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0VHJhY2tlZFJlc291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNo
ZSk6IFVzZSBpbnNwZWN0ZWQgcGFnZSdzIFByb2dyZXNzVHJhY2tlciB0byBnZW5lcmF0ZSB1bmlx
dWUgaWRlbnRpZmllcnMgZm9yIGNhY2hlZCByZXNvdXJjZXMgaW4gSW5zcGVjdG9yQ29udHJvbGxl
ci4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmQ6OmFkZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kOjp1cGRhdGVSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9u
dGVuZDo6cmVtb3ZlUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmQ6OnVwZGF0ZUZvY3VzZWROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6Okluc3BlY3RvclJlc291cmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlOjpjcmVhdGVDYWNoZWQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5oOiBDaGFuZ2UgSW5zcGVjdG9yUmVzb3Vy
Y2UgaWRlbnRpZmllciB0eXBlIGZyb20gJ2xvbmcgbG9uZycgdG8gJ3Vuc2lnbmVkIGxvbmcnLgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZTo6aWRlbnRpZmllcik6CisgICAgICAgICogaW5zcGVj
dG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGlu
ZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlU2VuZFJlcXVlc3RSZWNvcmQpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZVJlY2VpdmVS
ZXNwb25zZVJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6
OmNyZWF0ZVJlc291cmNlRmluaXNoUmVjb3JkKToKKwogMjAwOS0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQuIEJ1aWxk
IGZpeDogcmV2ZXJ0IHI1MTQyMS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RnVuY3Rpb25DYWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RnVuY3Rpb25D
YWxsLmNwcAppbmRleCA5MWIyYTU3Li4zNGVmNjM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRGdW5jdGlvbkNhbGwuY3BwCkBAIC04MCw2ICs4MCwxMiBAQCB2b2lkIFNjcmlwdEZ1bmN0
aW9uQ2FsbDo6YXBwZW5kQXJndW1lbnQoSlNDOjpKU1ZhbHVlIGFyZ3VtZW50KQogICAgIG1fYXJn
dW1lbnRzLmFwcGVuZChhcmd1bWVudCk7CiB9CiAKK3ZvaWQgU2NyaXB0RnVuY3Rpb25DYWxsOjph
cHBlbmRBcmd1bWVudChsb25nIGFyZ3VtZW50KQoreworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VB
c3NlcnRpb25zT25seSk7CisgICAgbV9hcmd1bWVudHMuYXBwZW5kKGpzTnVtYmVyKG1fZXhlYywg
YXJndW1lbnQpKTsKK30KKwogdm9pZCBTY3JpcHRGdW5jdGlvbkNhbGw6OmFwcGVuZEFyZ3VtZW50
KGxvbmcgbG9uZyBhcmd1bWVudCkKIHsKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9u
c09ubHkpOwpAQCAtOTIsNiArOTgsMTIgQEAgdm9pZCBTY3JpcHRGdW5jdGlvbkNhbGw6OmFwcGVu
ZEFyZ3VtZW50KHVuc2lnbmVkIGludCBhcmd1bWVudCkKICAgICBtX2FyZ3VtZW50cy5hcHBlbmQo
anNOdW1iZXIobV9leGVjLCBhcmd1bWVudCkpOwogfQogCit2b2lkIFNjcmlwdEZ1bmN0aW9uQ2Fs
bDo6YXBwZW5kQXJndW1lbnQodW5zaWduZWQgbG9uZyBhcmd1bWVudCkKK3sKKyAgICBKU0xvY2sg
bG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIG1fYXJndW1lbnRzLmFwcGVuZChqc051
bWJlcihtX2V4ZWMsIGFyZ3VtZW50KSk7Cit9CisKIHZvaWQgU2NyaXB0RnVuY3Rpb25DYWxsOjph
cHBlbmRBcmd1bWVudChpbnQgYXJndW1lbnQpCiB7CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFz
c2VydGlvbnNPbmx5KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RnVu
Y3Rpb25DYWxsLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5oCmlu
ZGV4IDA3OWFjMjEuLmUxMGM3NTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RnVuY3Rpb25DYWxsLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlv
bkNhbGwuaApAQCAtNTcsOCArNTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIGFwcGVuZEFyZ3VtZW50KGNvbnN0IFN0cmluZyYpOwogICAgICAgICB2b2lkIGFwcGVuZEFy
Z3VtZW50KGNvbnN0IEpTQzo6VVN0cmluZyYpOwogICAgICAgICB2b2lkIGFwcGVuZEFyZ3VtZW50
KEpTQzo6SlNWYWx1ZSk7CisgICAgICAgIHZvaWQgYXBwZW5kQXJndW1lbnQobG9uZyk7CiAgICAg
ICAgIHZvaWQgYXBwZW5kQXJndW1lbnQobG9uZyBsb25nKTsKICAgICAgICAgdm9pZCBhcHBlbmRB
cmd1bWVudCh1bnNpZ25lZCBpbnQpOworICAgICAgICB2b2lkIGFwcGVuZEFyZ3VtZW50KHVuc2ln
bmVkIGxvbmcpOwogICAgICAgICB2b2lkIGFwcGVuZEFyZ3VtZW50KGludCk7CiAgICAgICAgIHZv
aWQgYXBwZW5kQXJndW1lbnQoYm9vbCk7CiAgICAgICAgIFNjcmlwdFZhbHVlIGNhbGwoYm9vbCYg
aGFkRXhjZXB0aW9uLCBib29sIHJlcG9ydEV4Y2VwdGlvbnMgPSB0cnVlKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0T2JqZWN0LmNwcAppbmRleCBmMTQxNDVlLi5jOGZmY2MxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRPYmplY3QuY3BwCkBAIC05MCw2ICs5MCwxNCBAQCBib29sIFNjcmlwdE9iamVj
dDo6c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGRvdWJsZSB2YWx1ZSkKICAgICByZXR1cm4gaGFuZGxl
RXhjZXB0aW9uKG1fc2NyaXB0U3RhdGUpOwogfQogCitib29sIFNjcmlwdE9iamVjdDo6c2V0KGNv
bnN0IGNoYXIqIG5hbWUsIGxvbmcgdmFsdWUpCit7CisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFz
c2VydGlvbnNPbmx5KTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKKyAgICBqc09iamVjdCgp
LT5wdXQobV9zY3JpcHRTdGF0ZSwgSWRlbnRpZmllcihtX3NjcmlwdFN0YXRlLCBuYW1lKSwganNO
dW1iZXIobV9zY3JpcHRTdGF0ZSwgdmFsdWUpLCBzbG90KTsKKyAgICByZXR1cm4gaGFuZGxlRXhj
ZXB0aW9uKG1fc2NyaXB0U3RhdGUpOworfQorCiBib29sIFNjcmlwdE9iamVjdDo6c2V0KGNvbnN0
IGNoYXIqIG5hbWUsIGxvbmcgbG9uZyB2YWx1ZSkKIHsKICAgICBKU0xvY2sgbG9jayhTaWxlbmNl
QXNzZXJ0aW9uc09ubHkpOwpAQCAtMTE0LDYgKzEyMiwxNCBAQCBib29sIFNjcmlwdE9iamVjdDo6
c2V0KGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIHZhbHVlKQogICAgIHJldHVybiBoYW5kbGVF
eGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7CiB9CiAKK2Jvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29u
c3QgY2hhciogbmFtZSwgdW5zaWduZWQgbG9uZyB2YWx1ZSkKK3sKKyAgICBKU0xvY2sgbG9jayhT
aWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OworICAgIGpz
T2JqZWN0KCktPnB1dChtX3NjcmlwdFN0YXRlLCBJZGVudGlmaWVyKG1fc2NyaXB0U3RhdGUsIG5h
bWUpLCBqc051bWJlcihtX3NjcmlwdFN0YXRlLCB2YWx1ZSksIHNsb3QpOworICAgIHJldHVybiBo
YW5kbGVFeGNlcHRpb24obV9zY3JpcHRTdGF0ZSk7Cit9CisKIGJvb2wgU2NyaXB0T2JqZWN0Ojpz
ZXQoY29uc3QgY2hhciogbmFtZSwgYm9vbCB2YWx1ZSkKIHsKICAgICBKU0xvY2sgbG9jayhTaWxl
bmNlQXNzZXJ0aW9uc09ubHkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRPYmplY3QuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmgKaW5kZXggMzEz
ODFmMy4uYjZkY2FhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRPYmpl
Y3QuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5oCkBAIC01MCw5ICs1
MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIq
IG5hbWUsIGNvbnN0IFNjcmlwdE9iamVjdCYpOwogICAgICAgICBib29sIHNldChjb25zdCBjaGFy
KiBuYW1lLCBjb25zdCBTdHJpbmcmKTsKICAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFt
ZSwgZG91YmxlKTsKKyAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgbG9uZyk7CiAg
ICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGxvbmcgbG9uZyk7CiAgICAgICAgIGJv
b2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGludCk7CiAgICAgICAgIGJvb2wgc2V0KGNvbnN0IGNo
YXIqIG5hbWUsIHVuc2lnbmVkKTsKKyAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwg
dW5zaWduZWQgbG9uZyk7CiAgICAgICAgIGJvb2wgc2V0KGNvbnN0IGNoYXIqIG5hbWUsIGJvb2wp
OwogCiAgICAgICAgIHN0YXRpYyBTY3JpcHRPYmplY3QgY3JlYXRlTmV3KFNjcmlwdFN0YXRlKik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKaW5kZXggOWZmNmI4
Yy4uNzkzMGI3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRGdW5jdGlv
bkNhbGwuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RnVuY3Rpb25DYWxsLmNw
cApAQCAtNzQsNiArNzQsMTIgQEAgdm9pZCBTY3JpcHRGdW5jdGlvbkNhbGw6OmFwcGVuZEFyZ3Vt
ZW50KGNvbnN0IFN0cmluZyYgYXJndW1lbnQpCiAgICAgbV9hcmd1bWVudHMuYXBwZW5kKHY4U3Ry
aW5nKGFyZ3VtZW50KSk7CiB9CiAKK3ZvaWQgU2NyaXB0RnVuY3Rpb25DYWxsOjphcHBlbmRBcmd1
bWVudChsb25nIGFyZ3VtZW50KQoreworICAgIFNjcmlwdFNjb3BlIHNjb3BlKG1fc2NyaXB0U3Rh
dGUpOworICAgIG1fYXJndW1lbnRzLmFwcGVuZCh2ODo6TnVtYmVyOjpOZXcoYXJndW1lbnQpKTsK
K30KKwogdm9pZCBTY3JpcHRGdW5jdGlvbkNhbGw6OmFwcGVuZEFyZ3VtZW50KGxvbmcgbG9uZyBh
cmd1bWVudCkKIHsKICAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0YXRlKTsKQEAgLTg2
LDYgKzkyLDEyIEBAIHZvaWQgU2NyaXB0RnVuY3Rpb25DYWxsOjphcHBlbmRBcmd1bWVudCh1bnNp
Z25lZCBpbnQgYXJndW1lbnQpCiAgICAgbV9hcmd1bWVudHMuYXBwZW5kKHY4OjpOdW1iZXI6Ok5l
dyhhcmd1bWVudCkpOwogfQogCit2b2lkIFNjcmlwdEZ1bmN0aW9uQ2FsbDo6YXBwZW5kQXJndW1l
bnQodW5zaWduZWQgbG9uZyBhcmd1bWVudCkKK3sKKyAgICBTY3JpcHRTY29wZSBzY29wZShtX3Nj
cmlwdFN0YXRlKTsKKyAgICBtX2FyZ3VtZW50cy5hcHBlbmQodjg6Ok51bWJlcjo6TmV3KGFyZ3Vt
ZW50KSk7Cit9CisKIHZvaWQgU2NyaXB0RnVuY3Rpb25DYWxsOjphcHBlbmRBcmd1bWVudChpbnQg
YXJndW1lbnQpCiB7CiAgICAgU2NyaXB0U2NvcGUgc2NvcGUobV9zY3JpcHRTdGF0ZSk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEZ1bmN0aW9uQ2FsbC5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRGdW5jdGlvbkNhbGwuaAppbmRleCA4MzY1YTRlLi5jNDZkYmU4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEZ1bmN0aW9uQ2FsbC5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RnVuY3Rpb25DYWxsLmgKQEAgLTUwLDggKzUw
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBhcHBlbmRBcmd1bWVudChj
b25zdCBTY3JpcHRTdHJpbmcmKTsKICAgICAgICAgdm9pZCBhcHBlbmRBcmd1bWVudChjb25zdCBT
Y3JpcHRWYWx1ZSYpOwogICAgICAgICB2b2lkIGFwcGVuZEFyZ3VtZW50KGNvbnN0IFN0cmluZyYp
OworICAgICAgICB2b2lkIGFwcGVuZEFyZ3VtZW50KGxvbmcpOwogICAgICAgICB2b2lkIGFwcGVu
ZEFyZ3VtZW50KGxvbmcgbG9uZyk7CiAgICAgICAgIHZvaWQgYXBwZW5kQXJndW1lbnQodW5zaWdu
ZWQgaW50KTsKKyAgICAgICAgdm9pZCBhcHBlbmRBcmd1bWVudCh1bnNpZ25lZCBsb25nKTsKICAg
ICAgICAgdm9pZCBhcHBlbmRBcmd1bWVudChpbnQpOwogICAgICAgICB2b2lkIGFwcGVuZEFyZ3Vt
ZW50KGJvb2wpOwogICAgICAgICBTY3JpcHRWYWx1ZSBjYWxsKGJvb2wmIGhhZEV4Y2VwdGlvbiwg
Ym9vbCByZXBvcnRFeGNlcHRpb25zID0gdHJ1ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdE9iamVjdC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVj
dC5jcHAKaW5kZXggMzM0ZTNhYi4uMWU5ZDAyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRPYmplY3QuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0T2Jq
ZWN0LmNwcApAQCAtODMsNiArODMsMTMgQEAgYm9vbCBTY3JpcHRPYmplY3Q6OnNldChjb25zdCBj
aGFyKiBuYW1lLCBkb3VibGUgdmFsdWUpCiAgICAgcmV0dXJuIHNjb3BlLnN1Y2Nlc3MoKTsKIH0K
IAorYm9vbCBTY3JpcHRPYmplY3Q6OnNldChjb25zdCBjaGFyKiBuYW1lLCBsb25nIHZhbHVlKQor
eworICAgIFNjcmlwdFNjb3BlIHNjb3BlKG1fc2NyaXB0U3RhdGUpOworICAgIHY4T2JqZWN0KCkt
PlNldCh2ODo6U3RyaW5nOjpOZXcobmFtZSksIHY4OjpOdW1iZXI6Ok5ldyh2YWx1ZSkpOworICAg
IHJldHVybiBzY29wZS5zdWNjZXNzKCk7Cit9CisKIGJvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29u
c3QgY2hhciogbmFtZSwgbG9uZyBsb25nIHZhbHVlKQogewogICAgIFNjcmlwdFNjb3BlIHNjb3Bl
KG1fc2NyaXB0U3RhdGUpOwpAQCAtMTA0LDYgKzExMSwxMyBAQCBib29sIFNjcmlwdE9iamVjdDo6
c2V0KGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIHZhbHVlKQogICAgIHJldHVybiBzY29wZS5z
dWNjZXNzKCk7CiB9CiAKK2Jvb2wgU2NyaXB0T2JqZWN0OjpzZXQoY29uc3QgY2hhciogbmFtZSwg
dW5zaWduZWQgbG9uZyB2YWx1ZSkKK3sKKyAgICBTY3JpcHRTY29wZSBzY29wZShtX3NjcmlwdFN0
YXRlKTsKKyAgICB2OE9iamVjdCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KG5hbWUpLCB2ODo6TnVt
YmVyOjpOZXcodmFsdWUpKTsKKyAgICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOworfQorCiBib29s
IFNjcmlwdE9iamVjdDo6c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGJvb2wgdmFsdWUpCiB7CiAgICAg
U2NyaXB0U2NvcGUgc2NvcGUobV9zY3JpcHRTdGF0ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRPYmpl
Y3QuaAppbmRleCBmNzQxZjg5Li4yMTgyM2U0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NjcmlwdE9iamVjdC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0T2JqZWN0
LmgKQEAgLTUxLDkgKzUxLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBz
ZXQoY29uc3QgY2hhciogbmFtZSwgY29uc3QgU2NyaXB0T2JqZWN0Jik7CiAgICAgICAgIGJvb2wg
c2V0KGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IFN0cmluZyYpOwogICAgICAgICBib29sIHNldChj
b25zdCBjaGFyKiBuYW1lLCBkb3VibGUpOworICAgICAgICBib29sIHNldChjb25zdCBjaGFyKiBu
YW1lLCBsb25nKTsKICAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgbG9uZyBsb25n
KTsKICAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hhciogbmFtZSwgaW50KTsKICAgICAgICAgYm9v
bCBzZXQoY29uc3QgY2hhciogbmFtZSwgdW5zaWduZWQpOworICAgICAgICBib29sIHNldChjb25z
dCBjaGFyKiBuYW1lLCB1bnNpZ25lZCBsb25nKTsKICAgICAgICAgYm9vbCBzZXQoY29uc3QgY2hh
ciogbmFtZSwgYm9vbCk7CiAKICAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVOZXco
U2NyaXB0U3RhdGUqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
aW5kZXggZGRiMTNkMi4uNDQwZmVjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJj
ZS5oIgogI2luY2x1ZGUgIkphdmFTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgor
I2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVk
ZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCkBAIC0xMjgs
NyArMTI5LDYgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdl
KiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1fc2NyaXB0U3RhdGUoMCkK
ICAgICAsIG1fd2luZG93VmlzaWJsZShmYWxzZSkKICAgICAsIG1fc2hvd0FmdGVyVmlzaWJsZShD
dXJyZW50UGFuZWwpCi0gICAgLCBtX25leHRJZGVudGlmaWVyKC0yKQogICAgICwgbV9ncm91cExl
dmVsKDApCiAgICAgLCBtX3NlYXJjaGluZ0Zvck5vZGUoZmFsc2UpCiAgICAgLCBtX3ByZXZpb3Vz
TWVzc2FnZSgwKQpAQCAtODQxLDcgKzg0MSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
cmVtb3ZlUmVzb3VyY2UoSW5zcGVjdG9yUmVzb3VyY2UqIHJlc291cmNlKQogICAgIH0KIH0KIAot
SW5zcGVjdG9yUmVzb3VyY2UqIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFRyYWNrZWRSZXNvdXJj
ZShsb25nIGxvbmcgaWRlbnRpZmllcikKK0luc3BlY3RvclJlc291cmNlKiBJbnNwZWN0b3JDb250
cm9sbGVyOjpnZXRUcmFja2VkUmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewog
ICAgIGlmICghZW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTg3MSw3ICs4NzEsNyBA
QCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNo
ZShEb2N1bWVudExvYWRlciogbG9hZGVyLAogICAgIGlmICghaXNNYWluUmVzb3VyY2UgJiYgIW1f
cmVzb3VyY2VUcmFja2luZ0VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxJ
bnNwZWN0b3JSZXNvdXJjZT4gcmVzb3VyY2UgPSBJbnNwZWN0b3JSZXNvdXJjZTo6Y3JlYXRlQ2Fj
aGVkKG1fbmV4dElkZW50aWZpZXItLSwgbG9hZGVyLCBjYWNoZWRSZXNvdXJjZSk7CisgICAgUmVm
UHRyPEluc3BlY3RvclJlc291cmNlPiByZXNvdXJjZSA9IEluc3BlY3RvclJlc291cmNlOjpjcmVh
dGVDYWNoZWQobV9pbnNwZWN0ZWRQYWdlLT5wcm9ncmVzcygpLT5jcmVhdGVVbmlxdWVJZGVudGlm
aWVyKCkgLCBsb2FkZXIsIGNhY2hlZFJlc291cmNlKTsKIAogICAgIGlmIChpc01haW5SZXNvdXJj
ZSkgewogICAgICAgICBtX21haW5SZXNvdXJjZSA9IHJlc291cmNlOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDIyYmQwNzYuLjdiNjM4YzMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTkxLDcgKzkxLDcgQEAgY2xhc3MgSW5z
cGVjdG9yQ29udHJvbGxlcgogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgewogcHVibGljOgotICAgIHR5cGVkZWYgSGFzaE1hcDxsb25n
IGxvbmcsIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gPiBSZXNvdXJjZXNNYXA7CisgICAgdHlw
ZWRlZiBIYXNoTWFwPHVuc2lnbmVkIGxvbmcsIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gPiBS
ZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxGcmFtZT4sIFJlc291cmNl
c01hcCo+IEZyYW1lUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0
cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAg
IHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+
ID4gRE9NU3RvcmFnZVJlc291cmNlc01hcDsKQEAgLTM0Myw3ICszNDMsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBhZGRSZXNvdXJjZShJbnNwZWN0b3JSZXNvdXJjZSopOwogICAgIHZvaWQgcmVt
b3ZlUmVzb3VyY2UoSW5zcGVjdG9yUmVzb3VyY2UqKTsKLSAgICBJbnNwZWN0b3JSZXNvdXJjZSog
Z2V0VHJhY2tlZFJlc291cmNlKGxvbmcgbG9uZyBpZGVudGlmaWVyKTsKKyAgICBJbnNwZWN0b3JS
ZXNvdXJjZSogZ2V0VHJhY2tlZFJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CiAK
ICAgICB2b2lkIHBydW5lUmVzb3VyY2VzKFJlc291cmNlc01hcCosIERvY3VtZW50TG9hZGVyKiBs
b2FkZXJUb0tlZXAgPSAwKTsKICAgICB2b2lkIHJlbW92ZUFsbFJlc291cmNlcyhSZXNvdXJjZXNN
YXAqIG1hcCkgeyBwcnVuZVJlc291cmNlcyhtYXApOyB9CkBAIC0zODAsNyArMzgwLDYgQEAgcHJp
dmF0ZToKICAgICBTY3JpcHRTdGF0ZSogbV9zY3JpcHRTdGF0ZTsKICAgICBib29sIG1fd2luZG93
VmlzaWJsZTsKICAgICBTcGVjaWFsUGFuZWxzIG1fc2hvd0FmdGVyVmlzaWJsZTsKLSAgICBsb25n
IGxvbmcgbV9uZXh0SWRlbnRpZmllcjsKICAgICBSZWZQdHI8Tm9kZT4gbV9oaWdobGlnaHRlZE5v
ZGU7CiAgICAgdW5zaWduZWQgbV9ncm91cExldmVsOwogICAgIGJvb2wgbV9zZWFyY2hpbmdGb3JO
b2RlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDVmODgwZmUu
LmYzYmEwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTUz
Myw3ICs1MzMsNyBAQCBTY3JpcHRPYmplY3QgSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0
Rm9yRXZlbnRMaXN0ZW5lcihjb25zdCBSZWdpc3RlcmVkRXZlbgogICAgIHZhbHVlLnNldCgidHlw
ZSIsIGV2ZW50VHlwZSk7CiAgICAgdmFsdWUuc2V0KCJ1c2VDYXB0dXJlIiwgcmVnaXN0ZXJlZEV2
ZW50TGlzdGVuZXIudXNlQ2FwdHVyZSk7CiAgICAgdmFsdWUuc2V0KCJpc0F0dHJpYnV0ZSIsIGV2
ZW50TGlzdGVuZXItPmlzQXR0cmlidXRlKCkpOwotICAgIHZhbHVlLnNldCgibm9kZUlkIiwgc3Rh
dGljX2Nhc3Q8bG9uZyBsb25nPihwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKSk7CisgICAg
dmFsdWUuc2V0KCJub2RlSWQiLCBwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKICAgICB2
YWx1ZS5zZXQoImxpc3RlbmVyIiwgZ2V0RXZlbnRMaXN0ZW5lckhhbmRsZXJCb2R5KG5vZGUtPmRv
Y3VtZW50KCksIG1fZnJvbnRlbmQtPnNjcmlwdFN0YXRlKCksIGV2ZW50TGlzdGVuZXIuZ2V0KCkp
KTsKICAgICByZXR1cm4gdmFsdWU7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZC5jcHAKaW5kZXggNmUwMmRiMS4uYzQ1MTdhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6
OmNsZWFyQ29uc29sZU1lc3NhZ2VzKCkKICAgICBjYWxsU2ltcGxlRnVuY3Rpb24oImNsZWFyQ29u
c29sZU1lc3NhZ2VzIik7CiB9CiAKLWJvb2wgSW5zcGVjdG9yRnJvbnRlbmQ6OmFkZFJlc291cmNl
KGxvbmcgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRPYmplY3QmIHJlc291cmNlT2JqKQor
Ym9vbCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkUmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBTY3JpcHRPYmplY3QmIHJlc291cmNlT2JqKQogewogICAgIE93blB0cjxTY3Jp
cHRGdW5jdGlvbkNhbGw+IGZ1bmN0aW9uKG5ld0Z1bmN0aW9uQ2FsbCgiYWRkUmVzb3VyY2UiKSk7
CiAgICAgZnVuY3Rpb24tPmFwcGVuZEFyZ3VtZW50KGlkZW50aWZpZXIpOwpAQCAtMTE1LDcgKzEx
NSw3IEBAIGJvb2wgSW5zcGVjdG9yRnJvbnRlbmQ6OmFkZFJlc291cmNlKGxvbmcgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBTY3JpcHRPYmplY3QmIHJlCiAgICAgcmV0dXJuICFoYWRFeGNlcHRpb247
CiB9CiAKLWJvb2wgSW5zcGVjdG9yRnJvbnRlbmQ6OnVwZGF0ZVJlc291cmNlKGxvbmcgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBTY3JpcHRPYmplY3QmIHJlc291cmNlT2JqKQorYm9vbCBJbnNwZWN0
b3JGcm9udGVuZDo6dXBkYXRlUmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBTY3JpcHRPYmplY3QmIHJlc291cmNlT2JqKQogewogICAgIE93blB0cjxTY3JpcHRGdW5jdGlv
bkNhbGw+IGZ1bmN0aW9uKG5ld0Z1bmN0aW9uQ2FsbCgidXBkYXRlUmVzb3VyY2UiKSk7CiAgICAg
ZnVuY3Rpb24tPmFwcGVuZEFyZ3VtZW50KGlkZW50aWZpZXIpOwpAQCAtMTI1LDE0ICsxMjUsMTQg
QEAgYm9vbCBJbnNwZWN0b3JGcm9udGVuZDo6dXBkYXRlUmVzb3VyY2UobG9uZyBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFNjcmlwdE9iamVjdCYKICAgICByZXR1cm4gIWhhZEV4Y2VwdGlvbjsKIH0K
IAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6cmVtb3ZlUmVzb3VyY2UobG9uZyBsb25nIGlkZW50
aWZpZXIpCit2b2lkIEluc3BlY3RvckZyb250ZW5kOjpyZW1vdmVSZXNvdXJjZSh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpCiB7CiAgICAgT3duUHRyPFNjcmlwdEZ1bmN0aW9uQ2FsbD4gZnVuY3Rp
b24obmV3RnVuY3Rpb25DYWxsKCJyZW1vdmVSZXNvdXJjZSIpKTsKICAgICBmdW5jdGlvbi0+YXBw
ZW5kQXJndW1lbnQoaWRlbnRpZmllcik7CiAgICAgZnVuY3Rpb24tPmNhbGwoKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JGcm9udGVuZDo6dXBkYXRlRm9jdXNlZE5vZGUobG9uZyBsb25nIG5vZGVJZCkK
K3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnVwZGF0ZUZvY3VzZWROb2RlKGxvbmcgbm9kZUlkKQog
ewogICAgIE93blB0cjxTY3JpcHRGdW5jdGlvbkNhbGw+IGZ1bmN0aW9uKG5ld0Z1bmN0aW9uQ2Fs
bCgidXBkYXRlRm9jdXNlZE5vZGUiKSk7CiAgICAgZnVuY3Rpb24tPmFwcGVuZEFyZ3VtZW50KG5v
ZGVJZCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuaAppbmRleCA4ZDgxOGQxLi5j
MzE4ZjA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5o
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmgKQEAgLTY3LDExICs2
NywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgdXBkYXRlQ29uc29sZU1l
c3NhZ2VSZXBlYXRDb3VudChjb25zdCBpbnQgY291bnQpOwogICAgICAgICB2b2lkIGNsZWFyQ29u
c29sZU1lc3NhZ2VzKCk7CiAKLSAgICAgICAgYm9vbCBhZGRSZXNvdXJjZShsb25nIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgU2NyaXB0T2JqZWN0JiByZXNvdXJjZU9iaik7Ci0gICAgICAgIGJvb2wg
dXBkYXRlUmVzb3VyY2UobG9uZyBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdE9iamVjdCYg
cmVzb3VyY2VPYmopOwotICAgICAgICB2b2lkIHJlbW92ZVJlc291cmNlKGxvbmcgbG9uZyBpZGVu
dGlmaWVyKTsKKyAgICAgICAgYm9vbCBhZGRSZXNvdXJjZSh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFNjcmlwdE9iamVjdCYgcmVzb3VyY2VPYmopOworICAgICAgICBib29sIHVwZGF0
ZVJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU2NyaXB0T2JqZWN0JiBy
ZXNvdXJjZU9iaik7CisgICAgICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyKTsKIAotICAgICAgICB2b2lkIHVwZGF0ZUZvY3VzZWROb2RlKGxvbmcgbG9uZyBu
b2RlSWQpOworICAgICAgICB2b2lkIHVwZGF0ZUZvY3VzZWROb2RlKGxvbmcgbm9kZUlkKTsKICAg
ICAgICAgdm9pZCBzZXRBdHRhY2hlZFdpbmRvdyhib29sIGF0dGFjaGVkKTsKICAgICAgICAgdm9p
ZCBzaG93UGFuZWwoaW50IHBhbmVsKTsKICAgICAgICAgdm9pZCBwb3B1bGF0ZUludGVyZmFjZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCmluZGV4IDM4MWRmZDUuLmZh
YzgxYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNw
cAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKQEAgLTQ2LDcg
KzQ2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JbnNwZWN0b3JSZXNvdXJjZTo6SW5z
cGVjdG9yUmVzb3VyY2UobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2Fk
ZXIpCitJbnNwZWN0b3JSZXNvdXJjZTo6SW5zcGVjdG9yUmVzb3VyY2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgIDogbV9pZGVudGlmaWVyKGlk
ZW50aWZpZXIpCiAgICAgLCBtX2xvYWRlcihsb2FkZXIpCiAgICAgLCBtX2ZyYW1lKGxvYWRlci0+
ZnJhbWUoKSkKQEAgLTcwLDcgKzcwLDcgQEAgSW5zcGVjdG9yUmVzb3VyY2U6On5JbnNwZWN0b3JS
ZXNvdXJjZSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8SW5zcGVjdG9yUmVzb3VyY2U+IEluc3BlY3Rv
clJlc291cmNlOjpjcmVhdGVDYWNoZWQobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIsIGNvbnN0IENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSkKK1Bhc3NS
ZWZQdHI8SW5zcGVjdG9yUmVzb3VyY2U+IEluc3BlY3RvclJlc291cmNlOjpjcmVhdGVDYWNoZWQo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25zdCBD
YWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UpCiB7CiAgICAgUGFzc1JlZlB0cjxJbnNwZWN0
b3JSZXNvdXJjZT4gcmVzb3VyY2UgPSBjcmVhdGUoaWRlbnRpZmllciwgbG9hZGVyKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaCBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmgKaW5kZXggN2VlMTk2Ni4uN2Q5Yjk3NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5oCkBAIC02OCwxMiArNjgsMTIgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgT3RoZXIKICAgICAgICAgfTsKIAotICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gY3JlYXRlKGxvbmcgbG9uZyBp
ZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyKQorICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gY3JlYXRlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
RG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBJbnNwZWN0b3JSZXNvdXJjZShpZGVudGlmaWVyLCBsb2FkZXIpKTsKICAgICAg
ICAgfQogCi0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3RvclJlc291cmNlPiBjcmVh
dGVDYWNoZWQobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgQ2Fj
aGVkUmVzb3VyY2UqKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yUmVzb3Vy
Y2U+IGNyZWF0ZUNhY2hlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
KiwgY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKIAogICAgICAgICB+SW5zcGVjdG9yUmVzb3VyY2Uo
KTsKIApAQCAtOTEsNyArOTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9v
bCBpc1NhbWVMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikgY29uc3QgeyByZXR1cm4gbG9h
ZGVyID09IG1fbG9hZGVyOyB9CiAgICAgICAgIHZvaWQgbWFya01haW5SZXNvdXJjZSgpIHsgbV9p
c01haW5SZXNvdXJjZSA9IHRydWU7IH0KLSAgICAgICAgbG9uZyBsb25nIGlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAgICAgICAgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAgICAgICAgIFN0cmluZyBy
ZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0VVJMLnN0cmluZygpOyB9CiAgICAg
ICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWUuZ2V0KCk7IH0KICAgICAg
ICAgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWltZVR5cGU7IH0K
QEAgLTE0NSwxMyArMTQ1LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIENo
YW5nZVR5cGUgbV9jaGFuZ2U7CiAgICAgICAgIH07CiAKLSAgICAgICAgSW5zcGVjdG9yUmVzb3Vy
Y2UobG9uZyBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKik7CisgICAgICAgIEluc3Bl
Y3RvclJlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqKTsK
ICAgICAgICAgVHlwZSB0eXBlKCkgY29uc3Q7CiAKICAgICAgICAgVHlwZSBjYWNoZWRSZXNvdXJj
ZVR5cGUoKSBjb25zdDsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlKCkg
Y29uc3Q7CiAKLSAgICAgICAgbG9uZyBsb25nIG1faWRlbnRpZmllcjsKKyAgICAgICAgdW5zaWdu
ZWQgbG9uZyBtX2lkZW50aWZpZXI7CiAgICAgICAgIFJlZlB0cjxEb2N1bWVudExvYWRlcj4gbV9s
b2FkZXI7CiAgICAgICAgIFJlZlB0cjxGcmFtZT4gbV9mcmFtZTsKICAgICAgICAgS1VSTCBtX3Jl
cXVlc3RVUkw7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZh
Y3RvcnkuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApp
bmRleCBlMTgwMzk5Li40ZmRkNTAyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVj
b3JkRmFjdG9yeS5jcHAKQEAgLTEyMyw3ICsxMjMsNyBAQCBTY3JpcHRPYmplY3QgVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZVNlbmRSZXF1ZXN0UmVjb3JkKEluc3BlY3RvckZy
bwogewogICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBjcmVhdGVHZW5lcmljUmVjb3JkKGZyb250
ZW5kLCBzdGFydFRpbWUpOwogICAgIFNjcmlwdE9iamVjdCBkYXRhID0gZnJvbnRlbmQtPm5ld1Nj
cmlwdE9iamVjdCgpOwotICAgIGRhdGEuc2V0KCJpZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8bG9u
ZyBsb25nPihpZGVudGlmaWVyKSk7CisgICAgZGF0YS5zZXQoImlkZW50aWZpZXIiLCBpZGVudGlm
aWVyKTsKICAgICBkYXRhLnNldCgidXJsIiwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSk7CiAgICAg
ZGF0YS5zZXQoInJlcXVlc3RNZXRob2QiLCByZXF1ZXN0Lmh0dHBNZXRob2QoKSk7CiAgICAgZGF0
YS5zZXQoImlzTWFpblJlc291cmNlIiwgaXNNYWluUmVzb3VyY2UpOwpAQCAtMTM2LDcgKzEzNiw3
IEBAIFNjcmlwdE9iamVjdCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlUmVj
ZWl2ZVJlc3BvbnNlUmVjb3JkKEluc3BlY3RvCiB7CiAgICAgU2NyaXB0T2JqZWN0IHJlY29yZCA9
IGNyZWF0ZUdlbmVyaWNSZWNvcmQoZnJvbnRlbmQsIHN0YXJ0VGltZSk7CiAgICAgU2NyaXB0T2Jq
ZWN0IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7Ci0gICAgZGF0YS5zZXQoImlk
ZW50aWZpZXIiLCBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KGlkZW50aWZpZXIpKTsKKyAgICBkYXRh
LnNldCgiaWRlbnRpZmllciIsIGlkZW50aWZpZXIpOwogICAgIGRhdGEuc2V0KCJzdGF0dXNDb2Rl
IiwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAgICAgZGF0YS5zZXQoIm1pbWVUeXBlIiwg
cmVzcG9uc2UubWltZVR5cGUoKSk7CiAgICAgZGF0YS5zZXQoImV4cGVjdGVkQ29udGVudExlbmd0
aCIsIHJlc3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpKTsKQEAgLTE0OSw3ICsxNDksNyBA
QCBTY3JpcHRPYmplY3QgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZUZpbmlz
aFJlY29yZChJbnNwZWN0b3JGcm9udGVuZAogewogICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBj
cmVhdGVHZW5lcmljUmVjb3JkKGZyb250ZW5kLCBzdGFydFRpbWUpOwogICAgIFNjcmlwdE9iamVj
dCBkYXRhID0gZnJvbnRlbmQtPm5ld1NjcmlwdE9iamVjdCgpOwotICAgIGRhdGEuc2V0KCJpZGVu
dGlmaWVyIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihpZGVudGlmaWVyKSk7CisgICAgZGF0YS5z
ZXQoImlkZW50aWZpZXIiLCBpZGVudGlmaWVyKTsKICAgICBkYXRhLnNldCgiZGlkRmFpbCIsIGRp
ZEZhaWwpOwogICAgIHJlY29yZC5zZXQoImRhdGEiLCBkYXRhKTsKICAgICByZXR1cm4gcmVjb3Jk
Owo=
</data>
<flag name="review"
          id="25689"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>