<?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>61223</bug_id>
          
          <creation_ts>2011-05-20 16:19:28 -0700</creation_ts>
          <short_desc>MemoryCache should support Vary HTTP header</short_desc>
          <delta_ts>2011-10-09 10:52:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>61318</dependson>
          <blocked>61015</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>ap</cc>
    
    <cc>japhet</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>407383</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-20 16:19:28 -0700</bug_when>
    <thetext>MemoryCache shouldn&apos;t cache Vary: Origin responses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407385</commentid>
    <comment_count>1</comment_count>
      <attachid>94285</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-20 16:23:13 -0700</bug_when>
    <thetext>Created attachment 94285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407409</commentid>
    <comment_count>2</comment_count>
      <attachid>94285</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-20 16:52:08 -0700</bug_when>
    <thetext>Comment on attachment 94285
Patch

Clearing the review flag for now.  We can do a better job of implementing Vary once some of the changes in Bug 61225 land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410073</commentid>
    <comment_count>3</comment_count>
      <attachid>94892</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-25 17:47:37 -0700</bug_when>
    <thetext>Created attachment 94892
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410074</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-25 17:48:45 -0700</bug_when>
    <thetext>Because Nate is awesome, we can now support Vary properly in the MemoryCache.  /me still needs to write tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480721</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-09 10:52:46 -0700</bug_when>
    <thetext>I did this work in another bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94285</attachid>
            <date>2011-05-20 16:23:13 -0700</date>
            <delta_ts>2011-05-25 17:47:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61223-20110520162312.patch</filename>
            <type>text/plain</type>
            <size>13802</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2OTk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDUtMjAgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNZW1vcnlDYWNoZSBzaG91bGRuJ3QgY2FjaGUgVmFyeTogT3JpZ2lu
IHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjEyMjMKKworICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IENPUlMsIHdlIGNhbid0IGNh
Y2hlIHJlc3VsdHMgdGhhdCBoYXZlIFZhcnk6IE9yaWdpbgorICAgICAgICBiZWNhdXNlIHNlcnZl
cnMgc3VwcG9ydGluZyBDT1JTIGFyZSBzdXBwb3NlZCB0byBzZW5kIGRpZmZlcmVudCBPcmlnaW4K
KyAgICAgICAgaGVhZGVycyBkZXBlbmRpbmcgb24gd2hpY2ggb3JpZ2luIGlzIGlzc3VpbmcgdGhl
IHJlcXVlc3QuCisKKyAgICAgICAgUHJpb3IgdG8gdGhpcyBwYXRjaCwgdGhlIE1lbW9yeUNhY2hl
IGlnbm9yZWQgdGhlIFZhcnkgaGVhZGVyIHdoZW4KKyAgICAgICAgZGV0ZXJtaW5pbmcgd2hldGhl
ciB0byB1c2UgYSByZXNvdXJjZS4gIFRoaXMgcGF0Y2ggZG9lc24ndCBpbXBsZW1lbnQKKyAgICAg
ICAgZnVsbCBzdXBwb3J0IGZvciBWYXJ5LiAgSW5zdGVhZCBvZiBhY3R1YWxseSBsb29raW5nIGF0
IHRoZSBPcmlnaW4KKyAgICAgICAgaGVhZGVyIGluIHRoZSByZXF1ZXN0LCB3ZSBqdXN0IGRvbid0
IGNhY2hlIHJlc3BvbnNlcyB0aGF0IGhhdmUgVmFyeToKKyAgICAgICAgT3JpZ2luLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtdmFyeS5odG1sCisKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6Om11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5KToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5Q2FjaGU6OnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcklmTmVlZGVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGFyc2VWYXJ5SGVhZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjp2YXJpZXNCeSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZUNGTmV0LmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tOgorCiAyMDExLTA1
LTIwICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmNwcAkocmV2aXNpb24gODY5NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjIsNiArNTIy
LDE0IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6Om11c3RSZXZhbGlkYXRlRHVlVG8KICAgICBpZiAo
Y2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZXZhbGlkYXRlKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAorICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBvcmlnaW5T
dHJpbmcsICgib3JpZ2luIikpOworICAgIGlmIChtX3Jlc3BvbnNlLnZhcmllc0J5KG9yaWdpblN0
cmluZykpIHsKKyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhY3R1YWxseSBjaGVjayB3aGV0
aGVyIHRoZSBuZXcgcmVxdWVzdCBhY3R1YWxseQorICAgICAgICAvLyBoYXMgYSBkaWZmZXJlbnQg
T3JpZ2luIGhlYWRlciB0aGFuIHRoZSBvcmlnaW5hbCByZXF1ZXN0LgorICAgICAgICBMT0coUmVz
b3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgbXVzdFJldmFsaWRhdGUgYmVjYXVzZSBv
ZiByZXNwb25zZSB2YXJpZXMgYnkgT3JpZ2luXG4iLCB0aGlzKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCiAgICAgaWYgKG1fcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0Nh
Y2hlKCkgfHwgbV9yZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vU3RvcmUoKSkgewogICAg
ICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgbXVzdFJldmFsaWRh
dGUgYmVjYXVzZSBvZiBtX3Jlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpIHx8
IG1fcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb1N0b3JlKClcbiIsIHRoaXMpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gODY5NzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MjksNyArNDI5LDcgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRh
dGlvblBvbGljeQogICAgIGlmIChtX2FsbG93U3RhbGVSZXNvdXJjZXMpCiAgICAgICAgIHJldHVy
biBVc2U7CiAgICAgCi0gICAgLy8gQWx3YXVzIHVzZSBwcmVsb2Fkcy4KKyAgICAvLyBBbHdheXMg
dXNlIHByZWxvYWRzLgogICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT5pc1ByZWxvYWRlZCgpKQog
ICAgICAgICByZXR1cm4gVXNlOwogICAgIApAQCAtNDU1LDcgKzQ1NSw3IEBAIENhY2hlZFJlc291
cmNlTG9hZGVyOjpSZXZhbGlkYXRpb25Qb2xpY3kKICAgICAKICAgICAvLyBXZSdsbCB0cnkgdG8g
cmVsb2FkIHRoZSByZXNvdXJjZSBpZiBpdCBmYWlsZWQgbGFzdCB0aW1lLgogICAgIGlmIChleGlz
dGluZ1Jlc291cmNlLT5lcnJvck9jY3VycmVkKCkpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9h
ZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3ll
IHJlbG9hZGluZyBkdWUgdG8gcmVzb3VyY2UgYmVpbmcgaW4gdGhlIGVycm9yIHN0YXRlIik7Cisg
ICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJt
aW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBkdWUgdG8gcmVzb3VyY2UgYmVpbmcgaW4g
dGhlIGVycm9yIHN0YXRlIik7CiAgICAgICAgIHJldHVybiBSZWxvYWQ7CiAgICAgfQogICAgIApJ
bmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCShyZXZp
c2lvbiA4Njk3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDggQEAgS1VSTCBNZW1vcnlDYWNoZTo6cmVt
b3ZlRnJhZ21lbnRJZGVudGlmaQogICAgIC8vIFN0cmlwIGF3YXkgZnJhZ21lbnQgaWRlbnRpZmll
ciBmcm9tIEhUVFAgVVJMcy4KICAgICAvLyBEYXRhIFVSTHMgbXVzdCBiZSB1bm1vZGlmaWVkLiBG
b3IgZmlsZSBhbmQgY3VzdG9tIFVSTHMgY2xpZW50cyBtYXkgZXhwZWN0IHJlc291cmNlcyAKICAg
ICAvLyB0byBiZSB1bmlxdWUgZXZlbiB3aGVuIHRoZXkgZGlmZmVyIGJ5IHRoZSBmcmFnbWVudCBp
ZGVudGlmaWVyIG9ubHkuCisgICAgLy8gRklYTUU6IFRoaXMgYmVoYXZpb3IgaXMgd3JvbmcgZm9y
IG1vc3Qgc2NoZW1lcywgc3VjaCBhcyBGVFAuIFRoZXJlIGhhcworICAgIC8vIHRvIGJlIGNvZGUg
dGhhdCBrbm93cyBob3cgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nIGVsc2V3aGVyZSBpbiBXZWJDb3Jl
LgogICAgIGlmICghb3JpZ2luYWxVUkwucHJvdG9jb2xJbkhUVFBGYW1pbHkoKSkKICAgICAgICAg
cmV0dXJuIG9yaWdpbmFsVVJMOwogICAgIEtVUkwgdXJsID0gb3JpZ2luYWxVUkw7CkBAIC0zNDgs
NiArMzUwLDcgQEAgdm9pZCBNZW1vcnlDYWNoZTo6ZXZpY3QoQ2FjaGVkUmVzb3VyY2UqIAogICAg
ICAgICBkZWxldGUgcmVzb3VyY2U7CiB9CiAKKy8vIEZJWE1FOiBNb3ZlIHRvIGZ1bmN0aW9uIHRv
IE1hdGhFeHRyYXMuaAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBmYXN0TG9nMih1bnNpZ25lZCBp
KQogewogICAgIHVuc2lnbmVkIGxvZzIgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAJKHJldmlz
aW9uIDg2OTc5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDkgKzU3LDExIEBAIFJlc291cmNl
UmVzcG9uc2VCYXNlOjpSZXNvdXJjZVJlc3BvbnNlQmEKICAgICAsIG1faGF2ZVBhcnNlZERhdGVI
ZWFkZXIoZmFsc2UpCiAgICAgLCBtX2hhdmVQYXJzZWRFeHBpcmVzSGVhZGVyKGZhbHNlKQogICAg
ICwgbV9oYXZlUGFyc2VkTGFzdE1vZGlmaWVkSGVhZGVyKGZhbHNlKQorICAgICwgbV9oYXZlUGFy
c2VkVmFyeUhlYWRlcihmYWxzZSkKICAgICAsIG1fY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hl
KGZhbHNlKQogICAgICwgbV9jYWNoZUNvbnRyb2xDb250YWluc05vU3RvcmUoZmFsc2UpCiAgICAg
LCBtX2NhY2hlQ29udHJvbENvbnRhaW5zTXVzdFJldmFsaWRhdGUoZmFsc2UpCisgICAgLCBtX3Zh
cnlIZWFkZXJDb250YWluc1N0YXIoZmFsc2UpCiAgICAgLCBtX2NhY2hlQ29udHJvbE1heEFnZSgw
LjApCiAgICAgLCBtX2FnZSgwLjApCiAgICAgLCBtX2RhdGUoMC4wKQpAQCAtODUsOSArODcsMTEg
QEAgUmVzb3VyY2VSZXNwb25zZUJhc2U6OlJlc291cmNlUmVzcG9uc2VCYQogICAgICwgbV9oYXZl
UGFyc2VkRGF0ZUhlYWRlcihmYWxzZSkKICAgICAsIG1faGF2ZVBhcnNlZEV4cGlyZXNIZWFkZXIo
ZmFsc2UpCiAgICAgLCBtX2hhdmVQYXJzZWRMYXN0TW9kaWZpZWRIZWFkZXIoZmFsc2UpCisgICAg
LCBtX2hhdmVQYXJzZWRWYXJ5SGVhZGVyKGZhbHNlKQogICAgICwgbV9jYWNoZUNvbnRyb2xDb250
YWluc05vQ2FjaGUoZmFsc2UpCiAgICAgLCBtX2NhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZShm
YWxzZSkKICAgICAsIG1fY2FjaGVDb250cm9sQ29udGFpbnNNdXN0UmV2YWxpZGF0ZShmYWxzZSkK
KyAgICAsIG1fdmFyeUhlYWRlckNvbnRhaW5zU3RhcihmYWxzZSkKICAgICAsIG1fY2FjaGVDb250
cm9sTWF4QWdlKDAuMCkKICAgICAsIG1fYWdlKDAuMCkKICAgICAsIG1fZGF0ZSgwLjApCkBAIC0z
ODgsNiArMzkyLDQ4IEBAIGJvb2wgUmVzb3VyY2VSZXNwb25zZUJhc2U6Omhhc0NhY2hlVmFsaWQK
ICAgICByZXR1cm4gIW1faHR0cEhlYWRlckZpZWxkcy5nZXQobGFzdE1vZGlmaWVkSGVhZGVyKS5p
c0VtcHR5KCkgfHwgIW1faHR0cEhlYWRlckZpZWxkcy5nZXQoZVRhZ0hlYWRlcikuaXNFbXB0eSgp
OwogfQogCit2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpwYXJzZVZhcnlIZWFkZXIoKSBjb25z
dAoreworICAgIEFTU0VSVCghbV9oYXZlUGFyc2VkVmFyeUhlYWRlcik7CisgICAgQVNTRVJUKCFt
X3ZhcnlIZWFkZXJDb250YWluc1N0YXIpOworICAgIEFTU0VSVChtX3Zhcmllc0J5SGVhZGVyLmlz
RW1wdHkoKSk7CisKKyAgICBsYXp5SW5pdChDb21tb25GaWVsZHNPbmx5KTsKKworICAgIG1faGF2
ZVBhcnNlZFZhcnlIZWFkZXIgPSB0cnVlOworCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIHZhcnlIZWFkZXIsICgidmFyeSIpKTsKKyAgICBTdHJpbmcgdmFyeUhl
YWRlclZhbHVlID0gbV9odHRwSGVhZGVyRmllbGRzLmdldCh2YXJ5SGVhZGVyKTsKKworICAgIGlm
ICh2YXJ5SGVhZGVyVmFsdWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
dmFyeUhlYWRlclZhbHVlID09ICIqIikgeworICAgICAgICBtX3ZhcnlIZWFkZXJDb250YWluc1N0
YXIgPSB0cnVlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2l6ZV90IHBvc2l0aW9u
ID0gMDsKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBzaXplX3QgZGVsaW1pdGVyID0gdmFy
eUhlYWRlclZhbHVlLmZpbmQoJywnLCBwb3NpdGlvbik7CisgICAgICAgIFN0cmluZyBoZWFkZXJO
YW1lID0gKGRlbGltaXRlciA9PSBub3RGb3VuZCkgPyB2YXJ5SGVhZGVyVmFsdWUuc3Vic3RyaW5n
KHBvc2l0aW9uKSA6IHZhcnlIZWFkZXJWYWx1ZS5zdWJzdHJpbmcocG9zaXRpb24sIGRlbGltaXRl
ciAtIHBvc2l0aW9uKTsKKyAgICAgICAgaGVhZGVyTmFtZSA9IGhlYWRlck5hbWUuc3RyaXBXaGl0
ZVNwYWNlKCkubG93ZXIoKTsKKyAgICAgICAgaWYgKCFoZWFkZXJOYW1lLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIG1fdmFyaWVzQnlIZWFkZXIuYWRkKGhlYWRlck5hbWUpOworICAgICAgICBpZiAo
ZGVsaW1pdGVyID09IG5vdEZvdW5kKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHBvc2l0
aW9uID0gZGVsaW1pdGVyICsgMTsKKyAgICB9Cit9CisKK2Jvb2wgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnZhcmllc0J5KGNvbnN0IEF0b21pY1N0cmluZyYgaGVhZGVyTmFtZSkgY29uc3QKK3sKKyAg
ICBBU1NFUlQoaGVhZGVyTmFtZS5zdHJpbmcoKS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpID09
IGhlYWRlck5hbWUpOworICAgIGlmICghbV9oYXZlUGFyc2VkVmFyeUhlYWRlcikKKyAgICAgICAg
cGFyc2VWYXJ5SGVhZGVyKCk7CisgICAgcmV0dXJuIG1fdmFyeUhlYWRlckNvbnRhaW5zU3RhciB8
fCBtX3Zhcmllc0J5SGVhZGVyLmNvbnRhaW5zKGhlYWRlck5hbWUpOworfQorCiBkb3VibGUgUmVz
b3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX2hhdmVQYXJzZWRDYWNoZUNvbnRyb2xIZWFkZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCShyZXZp
c2lvbiA4Njk3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IlJlc291cmNlTG9hZEluZm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKIAor
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTk4LDYgKzk5LDcgQEAgcHVibGljOgogICAgIGJv
b2wgY2FjaGVDb250cm9sQ29udGFpbnNOb1N0b3JlKCkgY29uc3Q7CiAgICAgYm9vbCBjYWNoZUNv
bnRyb2xDb250YWluc011c3RSZXZhbGlkYXRlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDYWNoZVZh
bGlkYXRvckZpZWxkcygpIGNvbnN0OworICAgIGJvb2wgdmFyaWVzQnkoY29uc3QgQXRvbWljU3Ry
aW5nJiBoZWFkZXJOYW1lKSBjb25zdDsKICAgICBkb3VibGUgY2FjaGVDb250cm9sTWF4QWdlKCkg
Y29uc3Q7CiAgICAgZG91YmxlIGRhdGUoKSBjb25zdDsKICAgICBkb3VibGUgYWdlKCkgY29uc3Q7
CkBAIC0xNjYsMjIgKzE2OCwyNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIGFzUmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0OwogICAgIHZvaWQgcGFy
c2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCkgY29uc3Q7CisgICAgdm9pZCBwYXJzZVZhcnlIZWFk
ZXIoKSBjb25zdDsKIAogICAgIG11dGFibGUgYm9vbCBtX2hhdmVQYXJzZWRDYWNoZUNvbnRyb2xI
ZWFkZXIgOiAxOwogICAgIG11dGFibGUgYm9vbCBtX2hhdmVQYXJzZWRBZ2VIZWFkZXIgOiAxOwog
ICAgIG11dGFibGUgYm9vbCBtX2hhdmVQYXJzZWREYXRlSGVhZGVyIDogMTsKICAgICBtdXRhYmxl
IGJvb2wgbV9oYXZlUGFyc2VkRXhwaXJlc0hlYWRlciA6IDE7CiAgICAgbXV0YWJsZSBib29sIG1f
aGF2ZVBhcnNlZExhc3RNb2RpZmllZEhlYWRlciA6IDE7CisgICAgbXV0YWJsZSBib29sIG1faGF2
ZVBhcnNlZFZhcnlIZWFkZXIgOiAxOwogCiAgICAgbXV0YWJsZSBib29sIG1fY2FjaGVDb250cm9s
Q29udGFpbnNOb0NhY2hlIDogMTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZUNvbnRyb2xDb250
YWluc05vU3RvcmUgOiAxOwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlQ29udHJvbENvbnRhaW5z
TXVzdFJldmFsaWRhdGUgOiAxOworICAgIG11dGFibGUgYm9vbCBtX3ZhcnlIZWFkZXJDb250YWlu
c1N0YXIgOiAxOwogICAgIG11dGFibGUgZG91YmxlIG1fY2FjaGVDb250cm9sTWF4QWdlOwogCiAg
ICAgbXV0YWJsZSBkb3VibGUgbV9hZ2U7CiAgICAgbXV0YWJsZSBkb3VibGUgbV9kYXRlOwogICAg
IG11dGFibGUgZG91YmxlIG1fZXhwaXJlczsKICAgICBtdXRhYmxlIGRvdWJsZSBtX2xhc3RNb2Rp
ZmllZDsKKworICAgIG11dGFibGUgV1RGOjpIYXNoU2V0PEF0b21pY1N0cmluZz4gbV92YXJpZXNC
eUhlYWRlcjsKIH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXNw
b25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZUNGTmV0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2VDRk5ldC5jcHAJ
KHJldmlzaW9uIDg2OTc5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZVJlc3BvbnNlQ0ZOZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBDRlN0
cmluZ1JlZiBjb25zdCBjb21tb25IZWFkZXJGaWVsZHNbXSA9IHsKLSAgICBDRlNUUigiQWdlIiks
IENGU1RSKCJDYWNoZS1Db250cm9sIiksIENGU1RSKCJEYXRlIiksIENGU1RSKCJFdGFnIiksIENG
U1RSKCJFeHBpcmVzIiksIENGU1RSKCJMYXN0LU1vZGlmaWVkIiksIENGU1RSKCJQcmFnbWEiKQor
ICAgIENGU1RSKCJBZ2UiKSwgQ0ZTVFIoIkNhY2hlLUNvbnRyb2wiKSwgQ0ZTVFIoIkRhdGUiKSwg
Q0ZTVFIoIkV0YWciKSwgQ0ZTVFIoIkV4cGlyZXMiKSwgQ0ZTVFIoIkxhc3QtTW9kaWZpZWQiKSwg
Q0ZTVFIoIlByYWdtYSIpLCBDRlNUUigiVmFyeSIpCiB9Owogc3RhdGljIGNvbnN0IGludCBudW1D
b21tb25IZWFkZXJGaWVsZHMgPSBzaXplb2YoY29tbW9uSGVhZGVyRmllbGRzKSAvIHNpemVvZihD
RlN0cmluZ1JlZik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlUmVzcG9uc2VNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQkocmV2aXNpb24gODY5Nzkp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNl
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIC0gKE5TVGltZUludGVydmFs
KV9jYWxjdWxhdGVkRXhwaXJhdGlvbjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIE5T
U3RyaW5nKiBjb25zdCBjb21tb25IZWFkZXJGaWVsZHNbXSA9IHsKLSAgICBAIkFnZSIsIEAiQ2Fj
aGUtQ29udHJvbCIsIEAiRGF0ZSIsIEAiRXRhZyIsIEAiRXhwaXJlcyIsIEAiTGFzdC1Nb2RpZmll
ZCIsIEAiUHJhZ21hIgorICAgIEAiQWdlIiwgQCJDYWNoZS1Db250cm9sIiwgQCJEYXRlIiwgQCJF
dGFnIiwgQCJFeHBpcmVzIiwgQCJMYXN0LU1vZGlmaWVkIiwgQCJQcmFnbWEiLCBAIlZhcnkiCiB9
Owogc3RhdGljIGNvbnN0IGludCBudW1Db21tb25IZWFkZXJGaWVsZHMgPSBzaXplb2YoY29tbW9u
SGVhZGVyRmllbGRzKSAvIHNpemVvZihBdG9taWNTdHJpbmcqKTsKIApJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gODY5OTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAxMS0wNS0yMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lbW9yeUNh
Y2hlIHNob3VsZG4ndCBjYWNoZSBWYXJ5OiBPcmlnaW4gcmVzcG9uc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIyMworCisgICAgICAgIFRlc3Qg
aG93IHRoZSBtZW1vcnkgY2FjaGUgaW50ZXJhY3RzIHdpdGggVmFyeSBoZWFkZXJzLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS12YXJ5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS12YXJ5Lmh0bWw6IEFk
ZGVkLgorCiAyMDExLTA1LTIwICBKdXN0aW4gU2NodWggIDxqc2NodWhAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L3N1YnJlc291cmNlLXZhcnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtdmFyeS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLXZhcnktZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1Zhcnlpbmcgb24gdGhlIE9y
aWdpbiBoZWFkZXIgcmVzdWx0cyBpbiBibG93aW5nIHRocm91Z2ggdGhlIGNhY2hlLiBTdHJpY3Rs
eSBzcGVha2luZywgd2Ugc2hvdWxkIG9ubHkgYmxvdyB0aHJvdWdoIHRoZSBjYWNoZSB3aGVuIHRo
ZSBPcmlnaW4gaGVhZGVyIGluIHRoZSBuZXcgcmVxdWVzdCBpcyBhY3R1YWxseSBkaWZmZXJlbnQg
ZnJvbSB0aGUgaW5pdGlhbCBPcmlnaW4gaGVhZGVyLCBidXQgd2UgZG9uJ3QgaGF2ZSB0aGUgbWFj
aGluZXJ5IGZvciBpbXBsZW1lbnRpbmcgdGhhdCBhdCB0aGUgbW9tZW50LiAocmVzdWx0PVVuY2Fj
aGVkIGV4cGVjdGVkPVVuY2FjaGVkKSBQQVNTCitWYXJ5OiAqOyAocmVzdWx0PVVuY2FjaGVkIGV4
cGVjdGVkPVVuY2FjaGVkKSBQQVNTCitWYXJ5OiBQb3RhdG8sIE9yaWdpbjsgKHJlc3VsdD1VbmNh
Y2hlZCBleHBlY3RlZD1VbmNhY2hlZCkgUEFTUworVmFyeTogUG90YXRvLCBPcmlnaW4sIEdyYXNz
LUhvcHBlcjsgKHJlc3VsdD1VbmNhY2hlZCBleHBlY3RlZD1VbmNhY2hlZCkgUEFTUwpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS12YXJ5Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9zdWJyZXNvdXJjZS12YXJ5Lmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291
cmNlLXZhcnkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNSBAQAorPGJvZHk+Cis8c2Ny
aXB0IHNyYz1yZXNvdXJjZXMvc3VicmVzb3VyY2UtdGVzdC5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK3Rlc3RzID0gWworICAgIHsKKyAgICAgICAgZGVzY3JpcHRpb246ICdWYXJ5aW5nIG9uIHRo
ZSBPcmlnaW4gaGVhZGVyIHJlc3VsdHMgaW4gYmxvd2luZyB0aHJvdWdoIHRoZSBjYWNoZS4gIFN0
cmljdGx5IHNwZWFraW5nLCB3ZSBzaG91bGQgb25seSBibG93IHRocm91Z2ggdGhlIGNhY2hlIHdo
ZW4gdGhlIE9yaWdpbiBoZWFkZXIgaW4gdGhlIG5ldyByZXF1ZXN0IGlzIGFjdHVhbGx5IGRpZmZl
cmVudCBmcm9tIHRoZSBpbml0aWFsIE9yaWdpbiBoZWFkZXIsIGJ1dCB3ZSBkb25cJ3QgaGF2ZSB0
aGUgbWFjaGluZXJ5IGZvciBpbXBsZW1lbnRpbmcgdGhhdCBhdCB0aGUgbW9tZW50LicsCisgICAg
ICAgIHRlc3RIZWFkZXJzOiB7CisgICAgICAgICAgICAnVmFyeSc6ICdPcmlnaW4nLAorICAgICAg
ICB9LAorICAgICAgICBleHBlY3RlZFJlc3VsdDogJ1VuY2FjaGVkJywKKyAgICB9LAorICAgIHsK
KyAgICAgICAgdGVzdEhlYWRlcnM6IHsKKyAgICAgICAgICAgICdWYXJ5JzogJyonLAorICAgICAg
ICB9LAorICAgICAgICBleHBlY3RlZFJlc3VsdDogJ1VuY2FjaGVkJywKKyAgICB9LAorICAgIHsK
KyAgICAgICAgdGVzdEhlYWRlcnM6IHsKKyAgICAgICAgICAgICdWYXJ5JzogJ1BvdGF0bywgT3Jp
Z2luJywKKyAgICAgICAgfSwKKyAgICAgICAgZXhwZWN0ZWRSZXN1bHQ6ICdVbmNhY2hlZCcsCisg
ICAgfSwKKyAgICB7CisgICAgICAgIHRlc3RIZWFkZXJzOiB7CisgICAgICAgICAgICAnVmFyeSc6
ICdQb3RhdG8sIE9yaWdpbiwgR3Jhc3MtSG9wcGVyJywKKyAgICAgICAgfSwKKyAgICAgICAgZXhw
ZWN0ZWRSZXN1bHQ6ICdVbmNhY2hlZCcsCisgICAgfSwKK107CisKK3J1blRlc3RzKCk7CisKKzwv
c2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94892</attachid>
            <date>2011-05-25 17:47:37 -0700</date>
            <delta_ts>2011-05-25 17:47:37 -0700</delta_ts>
            <desc>Work in progress</desc>
            <filename>bug-61223-20110525174735.patch</filename>
            <type>text/plain</type>
            <size>18001</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MzMyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDUtMjUgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNZW1vcnlDYWNoZSBzaG91bGRuJ3QgY2FjaGUgVmFyeTogT3JpZ2lu
IHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjEyMjMKKworICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IENPUlMsIHdlIGNhbid0IGNh
Y2hlIHJlc3VsdHMgdGhhdCBoYXZlIFZhcnk6IE9yaWdpbgorICAgICAgICBiZWNhdXNlIHNlcnZl
cnMgc3VwcG9ydGluZyBDT1JTIGFyZSBzdXBwb3NlZCB0byBzZW5kIGRpZmZlcmVudCBPcmlnaW4K
KyAgICAgICAgaGVhZGVycyBkZXBlbmRpbmcgb24gd2hpY2ggb3JpZ2luIGlzIGlzc3VpbmcgdGhl
IHJlcXVlc3QuCisKKyAgICAgICAgUHJpb3IgdG8gdGhpcyBwYXRjaCwgdGhlIE1lbW9yeUNhY2hl
IGlnbm9yZWQgdGhlIFZhcnkgaGVhZGVyIHdoZW4KKyAgICAgICAgZGV0ZXJtaW5pbmcgd2hldGhl
ciB0byB1c2UgYSByZXNvdXJjZS4gIFRoaXMgcGF0Y2ggZG9lc24ndCBpbXBsZW1lbnQKKyAgICAg
ICAgZnVsbCBzdXBwb3J0IGZvciBWYXJ5LiAgSW5zdGVhZCBvZiBhY3R1YWxseSBsb29raW5nIGF0
IHRoZSBPcmlnaW4KKyAgICAgICAgaGVhZGVyIGluIHRoZSByZXF1ZXN0LCB3ZSBqdXN0IGRvbid0
IGNhY2hlIHJlc3BvbnNlcyB0aGF0IGhhdmUgVmFyeToKKyAgICAgICAgT3JpZ2luLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtdmFyeS5odG1sCisKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6Om11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5KToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5Q2FjaGU6OnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcklmTmVlZGVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cGFyc2VWYXJ5SGVhZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjp2YXJpZXNCeSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZUNGTmV0LmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tOgorCiAyMDExLTA1
LTI1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVyZXZpZXdl
ZDsgQnVpbGQgZml4IGZvciBMZW9wYXJkIGFuZCBTbm93IExlb3BhcmQuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDg3
MzEwKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTE5LDEzICs1MTksMzMgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZTo6
Y2FuVXNlQ2FjaGVWYWxpZGF0bwogICAgIHJldHVybiBtX3Jlc3BvbnNlLmhhc0NhY2hlVmFsaWRh
dG9yRmllbGRzKCk7CiB9CiAKLWJvb2wgQ2FjaGVkUmVzb3VyY2U6Om11c3RSZXZhbGlkYXRlRHVl
VG9DYWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kgY2FjaGVQb2xpY3kpIGNvbnN0Citib29sIENhY2hl
ZFJlc291cmNlOjptdXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVIZWFkZXJzKENhY2hlUG9saWN5IGNh
Y2hlUG9saWN5LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QpIGNvbnN0CiB7ICAg
IAogICAgIEFTU0VSVChjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGljeVJldmFsaWRhdGUgfHwgY2Fj
aGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lDYWNoZSB8fCBjYWNoZVBvbGljeSA9PSBDYWNoZVBvbGlj
eVZlcmlmeSk7CiAKICAgICBpZiAoY2FjaGVQb2xpY3kgPT0gQ2FjaGVQb2xpY3lSZXZhbGlkYXRl
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIGlmIChtX3Jlc3BvbnNlLnZhcnlIZWFkZXJD
b250YWluc1N0YXIoKSkgeworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFjdHVhbGx5IGNo
ZWNrIHdoZXRoZXIgdGhlIG5ldyByZXF1ZXN0IGFjdHVhbGx5CisgICAgICAgIC8vIGhhcyBhIGRp
ZmZlcmVudCBoZWFkZXIgdGhhbiB0aGUgb3JpZ2luYWwgcmVxdWVzdCwgYnV0IHdlIGNhbid0Cisg
ICAgICAgIC8vIGFjdHVhbGx5IHNlZSB0aGUgZmluYWwgcmVxdWVzdCBoZWFkZXJzLCBzbyB3ZSBj
b25zZXJ2YXRpdmVseQorICAgICAgICAvLyBhc3N1bWUgaXQgZG9lcy4KKyAgICAgICAgTE9HKFJl
c291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlICVwIG11c3RSZXZhbGlkYXRlIGJlY2F1c2Ug
b2YgcmVzcG9uc2UgdmFyaWVzIGJ5ICpcbiIsIHRoaXMpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICBjb25zdCBXVEY6Okhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgdmFyaWVzQnlI
ZWFkZXIgPSBtX3Jlc3BvbnNlLnZhcmllc0J5SGVhZGVyKCk7CisgICAgZm9yIChXVEY6Okhhc2hT
ZXQ8QXRvbWljU3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IHZhcmllc0J5SGVhZGVyLmJl
Z2luKCk7IGl0ZXIgIT0gdmFyaWVzQnlIZWFkZXIuZW5kKCk7ICsraXRlcikgeworICAgICAgICBB
dG9taWNTdHJpbmcgaGVhZGVyTmFtZSA9ICppdGVyOworICAgICAgICBTdHJpbmcgb2xkVmFsdWUg
PSBtX3Jlc291cmNlUmVxdWVzdC5odHRwSGVhZGVyRmllbGQoaGVhZGVyTmFtZSk7CisgICAgICAg
IFN0cmluZyBuZXdWYWx1ZSA9IG5ld1JlcXVlc3QuaHR0cEhlYWRlckZpZWxkKGhlYWRlck5hbWUp
OworICAgICAgICBpZiAob2xkVmFsdWUgIT0gbmV3VmFsdWUpIHsKKyAgICAgICAgICAgIExPRyhS
ZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZSAlcCBtdXN0UmV2YWxpZGF0ZSBiZWNhdXNl
IG9mIHJlc3BvbnNlIHZhcmllcyBieSAlc1xuIiwgdGhpcywgaGVhZGVyTmFtZS5zdHJpbmcoKS51
dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAg
fQorCiAgICAgaWYgKG1fcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgfHwg
bV9yZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vU3RvcmUoKSkgewogICAgICAgICBMT0co
UmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgbXVzdFJldmFsaWRhdGUgYmVjYXVz
ZSBvZiBtX3Jlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpIHx8IG1fcmVzcG9u
c2UuY2FjaGVDb250cm9sQ29udGFpbnNOb1N0b3JlKClcbiIsIHRoaXMpOwogICAgICAgICByZXR1
cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCShyZXZpc2lvbiA4NzMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDIsNyArMjAyLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgdW5yZWdpc3RlckhhbmRsZShDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UqIGgp
OwogICAgIAogICAgIGJvb2wgY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSBjb25zdDsKLSAgICBib29s
IG11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoQ2FjaGVQb2xpY3kpIGNvbnN0OworICAg
IGJvb2wgbXVzdFJldmFsaWRhdGVEdWVUb0NhY2hlSGVhZGVycyhDYWNoZVBvbGljeSwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JikgY29uc3Q7CiAgICAgYm9vbCBpc0NhY2hlVmFsaWRhdG9yKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZTsgfQogICAgIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZVRvUmV2YWxpZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VUb1JldmFs
aWRhdGU7IH0KICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gODczMTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNDAsNyArMzQwLDcgQEAgQ2FjaGVkUmVzb3VyY2UqIENhY2hlZFJlc291cmNlTG9h
ZGVyOjpyZQogICAgIGlmIChyZXF1ZXN0LnVybCgpICE9IHVybCkKICAgICAgICAgcmVxdWVzdC5z
ZXRVUkwodXJsKTsKIAotICAgIHN3aXRjaCAoZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5KHR5
cGUsIGZvclByZWxvYWQsIHJlc291cmNlKSkgeworICAgIHN3aXRjaCAoZGV0ZXJtaW5lUmV2YWxp
ZGF0aW9uUG9saWN5KHR5cGUsIGZvclByZWxvYWQsIHJlcXVlc3QsIHJlc291cmNlKSkgewogICAg
IGNhc2UgTG9hZDoKICAgICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3VyY2UodHlwZSwgcmVxdWVz
dCwgY2hhcnNldCwgcHJpb3JpdHkpOwogICAgICAgICBicmVhazsKQEAgLTQyNyw3ICs0MjcsNyBA
QCBDYWNoZWRSZXNvdXJjZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvCiAgICAgcmV0dXJuIHJl
c291cmNlOwogfQogCi1DYWNoZWRSZXNvdXJjZUxvYWRlcjo6UmV2YWxpZGF0aW9uUG9saWN5IENh
Y2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3koQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgYm9vbCBmb3JQcmVsb2FkLCBDYWNoZWRSZXNvdXJjZSogZXhpc3Rp
bmdSZXNvdXJjZSkgY29uc3QKK0NhY2hlZFJlc291cmNlTG9hZGVyOjpSZXZhbGlkYXRpb25Qb2xp
Y3kgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeShDYWNo
ZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBib29sIGZvclByZWxvYWQsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgQ2FjaGVkUmVzb3VyY2UqIGV4aXN0aW5nUmVzb3VyY2UpIGNvbnN0CiB7
CiAgICAgaWYgKCFleGlzdGluZ1Jlc291cmNlKQogICAgICAgICByZXR1cm4gTG9hZDsKQEAgLTQ0
Niw3ICs0NDYsNyBAQCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6UmV2YWxpZGF0aW9uUG9saWN5CiAg
ICAgaWYgKG1fYWxsb3dTdGFsZVJlc291cmNlcykKICAgICAgICAgcmV0dXJuIFVzZTsKICAgICAK
LSAgICAvLyBBbHdhdXMgdXNlIHByZWxvYWRzLgorICAgIC8vIEFsd2F5cyB1c2UgcHJlbG9hZHMu
CiAgICAgaWYgKGV4aXN0aW5nUmVzb3VyY2UtPmlzUHJlbG9hZGVkKCkpCiAgICAgICAgIHJldHVy
biBVc2U7CiAgICAgCkBAIC00NzIsNyArNDcyLDcgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJl
dmFsaWRhdGlvblBvbGljeQogICAgIAogICAgIC8vIFdlJ2xsIHRyeSB0byByZWxvYWQgdGhlIHJl
c291cmNlIGlmIGl0IGZhaWxlZCBsYXN0IHRpbWUuCiAgICAgaWYgKGV4aXN0aW5nUmVzb3VyY2Ut
PmVycm9yT2NjdXJyZWQoKSkgewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeWUgcmVsb2FkaW5nIGR1
ZSB0byByZXNvdXJjZSBiZWluZyBpbiB0aGUgZXJyb3Igc3RhdGUiKTsKKyAgICAgICAgTE9HKFJl
c291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRp
b25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byByZXNvdXJjZSBiZWluZyBpbiB0aGUgZXJyb3Igc3Rh
dGUiKTsKICAgICAgICAgcmV0dXJuIFJlbG9hZDsKICAgICB9CiAgICAgCkBAIC00ODEsNyArNDgx
LDcgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRhdGlvblBvbGljeQogICAgICAgICBy
ZXR1cm4gVXNlOwogCiAgICAgLy8gQ2hlY2sgaWYgdGhlIGNhY2hlIGhlYWRlcnMgcmVxdWlyZXMg
dXMgdG8gcmV2YWxpZGF0ZSAoY2FjaGUgZXhwaXJhdGlvbiBmb3IgZXhhbXBsZSkuCi0gICAgaWYg
KGV4aXN0aW5nUmVzb3VyY2UtPm11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoY2FjaGVQ
b2xpY3koKSkpIHsKKyAgICBpZiAoZXhpc3RpbmdSZXNvdXJjZS0+bXVzdFJldmFsaWRhdGVEdWVU
b0NhY2hlSGVhZGVycyhjYWNoZVBvbGljeSgpLCByZXF1ZXN0KSkgewogICAgICAgICAvLyBTZWUg
aWYgdGhlIHJlc291cmNlIGhhcyB1c2FibGUgRVRhZyBvciBMYXN0LW1vZGlmaWVkIGhlYWRlcnMu
CiAgICAgICAgIGlmIChleGlzdGluZ1Jlc291cmNlLT5jYW5Vc2VDYWNoZVZhbGlkYXRvcigpKQog
ICAgICAgICAgICAgcmV0dXJuIFJldmFsaWRhdGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24gODczMTAp
CisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXF1
ZXN0UHJlbG9hZChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0JiB1cmwsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCk7CiAKICAgICBlbnVtIFJldmFsaWRhdGlvblBvbGljeSB7IFVz
ZSwgUmV2YWxpZGF0ZSwgUmVsb2FkLCBMb2FkIH07Ci0gICAgUmV2YWxpZGF0aW9uUG9saWN5IGRl
dGVybWluZVJldmFsaWRhdGlvblBvbGljeShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgYm9vbCBmb3JQ
cmVsb2FkLCBDYWNoZWRSZXNvdXJjZSogZXhpc3RpbmdSZXNvdXJjZSkgY29uc3Q7CisgICAgUmV2
YWxpZGF0aW9uUG9saWN5IGRldGVybWluZVJldmFsaWRhdGlvblBvbGljeShDYWNoZWRSZXNvdXJj
ZTo6VHlwZSwgYm9vbCBmb3JQcmVsb2FkLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZWRS
ZXNvdXJjZSogZXhpc3RpbmdSZXNvdXJjZSkgY29uc3Q7CiAgICAgCiAgICAgdm9pZCBub3RpZnlM
b2FkZWRGcm9tTWVtb3J5Q2FjaGUoQ2FjaGVkUmVzb3VyY2UqKTsKICAgICBib29sIGNhblJlcXVl
c3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IEtVUkwmLCBib29sIGZvclByZWxvYWQgPSBm
YWxzZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5j
cHAJKHJldmlzaW9uIDg3MzEwKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsOCBAQCBLVVJMIE1lbW9yeUNh
Y2hlOjpyZW1vdmVGcmFnbWVudElkZW50aWZpCiAgICAgLy8gU3RyaXAgYXdheSBmcmFnbWVudCBp
ZGVudGlmaWVyIGZyb20gSFRUUCBVUkxzLgogICAgIC8vIERhdGEgVVJMcyBtdXN0IGJlIHVubW9k
aWZpZWQuIEZvciBmaWxlIGFuZCBjdXN0b20gVVJMcyBjbGllbnRzIG1heSBleHBlY3QgcmVzb3Vy
Y2VzIAogICAgIC8vIHRvIGJlIHVuaXF1ZSBldmVuIHdoZW4gdGhleSBkaWZmZXIgYnkgdGhlIGZy
YWdtZW50IGlkZW50aWZpZXIgb25seS4KKyAgICAvLyBGSVhNRTogVGhpcyBiZWhhdmlvciBpcyB3
cm9uZyBmb3IgbW9zdCBzY2hlbWVzLCBzdWNoIGFzIEZUUC4gVGhlcmUgaGFzCisgICAgLy8gdG8g
YmUgY29kZSB0aGF0IGtub3dzIGhvdyB0byBkbyB0aGUgcmlnaHQgdGhpbmcgZWxzZXdoZXJlIGlu
IFdlYkNvcmUuCiAgICAgaWYgKCFvcmlnaW5hbFVSTC5wcm90b2NvbEluSFRUUEZhbWlseSgpKQog
ICAgICAgICByZXR1cm4gb3JpZ2luYWxVUkw7CiAgICAgS1VSTCB1cmwgPSBvcmlnaW5hbFVSTDsK
QEAgLTM4Nyw2ICszODksNyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpldmljdChDYWNoZWRSZXNvdXJj
ZSogCiAgICAgICAgIGRlbGV0ZSByZXNvdXJjZTsKIH0KIAorLy8gRklYTUU6IE1vdmUgdG8gZnVu
Y3Rpb24gdG8gTWF0aEV4dHJhcy5oCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGZhc3RMb2cyKHVu
c2lnbmVkIGkpCiB7CiAgICAgdW5zaWduZWQgbG9nMiA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNw
cAkocmV2aXNpb24gODczMTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsOSArNTcsMTEgQEAg
UmVzb3VyY2VSZXNwb25zZUJhc2U6OlJlc291cmNlUmVzcG9uc2VCYQogICAgICwgbV9oYXZlUGFy
c2VkRGF0ZUhlYWRlcihmYWxzZSkKICAgICAsIG1faGF2ZVBhcnNlZEV4cGlyZXNIZWFkZXIoZmFs
c2UpCiAgICAgLCBtX2hhdmVQYXJzZWRMYXN0TW9kaWZpZWRIZWFkZXIoZmFsc2UpCisgICAgLCBt
X2hhdmVQYXJzZWRWYXJ5SGVhZGVyKGZhbHNlKQogICAgICwgbV9jYWNoZUNvbnRyb2xDb250YWlu
c05vQ2FjaGUoZmFsc2UpCiAgICAgLCBtX2NhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZShmYWxz
ZSkKICAgICAsIG1fY2FjaGVDb250cm9sQ29udGFpbnNNdXN0UmV2YWxpZGF0ZShmYWxzZSkKKyAg
ICAsIG1fdmFyeUhlYWRlckNvbnRhaW5zU3RhcihmYWxzZSkKICAgICAsIG1fY2FjaGVDb250cm9s
TWF4QWdlKDAuMCkKICAgICAsIG1fYWdlKDAuMCkKICAgICAsIG1fZGF0ZSgwLjApCkBAIC04NSw5
ICs4NywxMSBAQCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6UmVzb3VyY2VSZXNwb25zZUJhCiAgICAg
LCBtX2hhdmVQYXJzZWREYXRlSGVhZGVyKGZhbHNlKQogICAgICwgbV9oYXZlUGFyc2VkRXhwaXJl
c0hlYWRlcihmYWxzZSkKICAgICAsIG1faGF2ZVBhcnNlZExhc3RNb2RpZmllZEhlYWRlcihmYWxz
ZSkKKyAgICAsIG1faGF2ZVBhcnNlZFZhcnlIZWFkZXIoZmFsc2UpCiAgICAgLCBtX2NhY2hlQ29u
dHJvbENvbnRhaW5zTm9DYWNoZShmYWxzZSkKICAgICAsIG1fY2FjaGVDb250cm9sQ29udGFpbnNO
b1N0b3JlKGZhbHNlKQogICAgICwgbV9jYWNoZUNvbnRyb2xDb250YWluc011c3RSZXZhbGlkYXRl
KGZhbHNlKQorICAgICwgbV92YXJ5SGVhZGVyQ29udGFpbnNTdGFyKGZhbHNlKQogICAgICwgbV9j
YWNoZUNvbnRyb2xNYXhBZ2UoMC4wKQogICAgICwgbV9hZ2UoMC4wKQogICAgICwgbV9kYXRlKDAu
MCkKQEAgLTM4OCw2ICszOTIsNTQgQEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aGFzQ2Fj
aGVWYWxpZAogICAgIHJldHVybiAhbV9odHRwSGVhZGVyRmllbGRzLmdldChsYXN0TW9kaWZpZWRI
ZWFkZXIpLmlzRW1wdHkoKSB8fCAhbV9odHRwSGVhZGVyRmllbGRzLmdldChlVGFnSGVhZGVyKS5p
c0VtcHR5KCk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnBhcnNlVmFyeUhlYWRl
cigpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFtX2hhdmVQYXJzZWRWYXJ5SGVhZGVyKTsKKyAgICBB
U1NFUlQoIW1fdmFyeUhlYWRlckNvbnRhaW5zU3Rhcik7CisgICAgQVNTRVJUKG1fdmFyaWVzQnlI
ZWFkZXIuaXNFbXB0eSgpKTsKKworICAgIGxhenlJbml0KENvbW1vbkZpZWxkc09ubHkpOworCisg
ICAgbV9oYXZlUGFyc2VkVmFyeUhlYWRlciA9IHRydWU7CisKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKGNvbnN0IEF0b21pY1N0cmluZywgdmFyeUhlYWRlciwgKCJ2YXJ5IikpOworICAgIFN0cmlu
ZyB2YXJ5SGVhZGVyVmFsdWUgPSBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KHZhcnlIZWFkZXIpOwor
CisgICAgaWYgKHZhcnlIZWFkZXJWYWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICh2YXJ5SGVhZGVyVmFsdWUgPT0gIioiKSB7CisgICAgICAgIG1fdmFyeUhlYWRlckNv
bnRhaW5zU3RhciA9IHRydWU7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzaXplX3Qg
cG9zaXRpb24gPSAwOworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIHNpemVfdCBkZWxpbWl0
ZXIgPSB2YXJ5SGVhZGVyVmFsdWUuZmluZCgnLCcsIHBvc2l0aW9uKTsKKyAgICAgICAgU3RyaW5n
IGhlYWRlck5hbWUgPSAoZGVsaW1pdGVyID09IG5vdEZvdW5kKSA/IHZhcnlIZWFkZXJWYWx1ZS5z
dWJzdHJpbmcocG9zaXRpb24pIDogdmFyeUhlYWRlclZhbHVlLnN1YnN0cmluZyhwb3NpdGlvbiwg
ZGVsaW1pdGVyIC0gcG9zaXRpb24pOworICAgICAgICBoZWFkZXJOYW1lID0gaGVhZGVyTmFtZS5z
dHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpOworICAgICAgICBpZiAoIWhlYWRlck5hbWUuaXNFbXB0
eSgpKQorICAgICAgICAgICAgbV92YXJpZXNCeUhlYWRlci5hZGQoaGVhZGVyTmFtZSk7CisgICAg
ICAgIGlmIChkZWxpbWl0ZXIgPT0gbm90Rm91bmQpCisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgcG9zaXRpb24gPSBkZWxpbWl0ZXIgKyAxOworICAgIH0KK30KKworY29uc3QgV1RGOjpIYXNo
U2V0PEF0b21pY1N0cmluZz4mIFJlc291cmNlUmVzcG9uc2VCYXNlOjp2YXJpZXNCeUhlYWRlcigp
IGNvbnN0Cit7CisgICAgaWYgKCFtX2hhdmVQYXJzZWRWYXJ5SGVhZGVyKQorICAgICAgICBwYXJz
ZVZhcnlIZWFkZXIoKTsKKyAgICByZXR1cm4gbV92YXJpZXNCeUhlYWRlcjsKK30KKworYm9vbCBS
ZXNvdXJjZVJlc3BvbnNlQmFzZTo6dmFyeUhlYWRlckNvbnRhaW5zU3RhcigpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2hhdmVQYXJzZWRWYXJ5SGVhZGVyKQorICAgICAgICBwYXJzZVZhcnlIZWFkZXIo
KTsKKyAgICByZXR1cm4gbV92YXJ5SGVhZGVyQ29udGFpbnNTdGFyOworfQorCiBkb3VibGUgUmVz
b3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX2hhdmVQYXJzZWRDYWNoZUNvbnRyb2xIZWFkZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCShyZXZp
c2lvbiA4NzMxMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IlJlc291cmNlTG9hZEluZm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1pbmcuaCIKIAor
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTk4LDYgKzk5LDggQEAgcHVibGljOgogICAgIGJv
b2wgY2FjaGVDb250cm9sQ29udGFpbnNOb1N0b3JlKCkgY29uc3Q7CiAgICAgYm9vbCBjYWNoZUNv
bnRyb2xDb250YWluc011c3RSZXZhbGlkYXRlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDYWNoZVZh
bGlkYXRvckZpZWxkcygpIGNvbnN0OworICAgIGNvbnN0IFdURjo6SGFzaFNldDxBdG9taWNTdHJp
bmc+JiB2YXJpZXNCeUhlYWRlcigpIGNvbnN0OworICAgIGJvb2wgdmFyeUhlYWRlckNvbnRhaW5z
U3RhcigpIGNvbnN0OwogICAgIGRvdWJsZSBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsKICAg
ICBkb3VibGUgZGF0ZSgpIGNvbnN0OwogICAgIGRvdWJsZSBhZ2UoKSBjb25zdDsKQEAgLTE2Niwy
MiArMTY5LDI3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgYXNSZXNvdXJjZVJlc3BvbnNlKCkgY29uc3Q7CiAgICAgdm9pZCBwYXJzZUNhY2hlQ29u
dHJvbERpcmVjdGl2ZXMoKSBjb25zdDsKKyAgICB2b2lkIHBhcnNlVmFyeUhlYWRlcigpIGNvbnN0
OwogCiAgICAgbXV0YWJsZSBib29sIG1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhlYWRlciA6IDE7
CiAgICAgbXV0YWJsZSBib29sIG1faGF2ZVBhcnNlZEFnZUhlYWRlciA6IDE7CiAgICAgbXV0YWJs
ZSBib29sIG1faGF2ZVBhcnNlZERhdGVIZWFkZXIgOiAxOwogICAgIG11dGFibGUgYm9vbCBtX2hh
dmVQYXJzZWRFeHBpcmVzSGVhZGVyIDogMTsKICAgICBtdXRhYmxlIGJvb2wgbV9oYXZlUGFyc2Vk
TGFzdE1vZGlmaWVkSGVhZGVyIDogMTsKKyAgICBtdXRhYmxlIGJvb2wgbV9oYXZlUGFyc2VkVmFy
eUhlYWRlciA6IDE7CiAKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZUNvbnRyb2xDb250YWluc05v
Q2FjaGUgOiAxOwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9y
ZSA6IDE7CiAgICAgbXV0YWJsZSBib29sIG1fY2FjaGVDb250cm9sQ29udGFpbnNNdXN0UmV2YWxp
ZGF0ZSA6IDE7CisgICAgbXV0YWJsZSBib29sIG1fdmFyeUhlYWRlckNvbnRhaW5zU3RhciA6IDE7
CiAgICAgbXV0YWJsZSBkb3VibGUgbV9jYWNoZUNvbnRyb2xNYXhBZ2U7CiAKICAgICBtdXRhYmxl
IGRvdWJsZSBtX2FnZTsKICAgICBtdXRhYmxlIGRvdWJsZSBtX2RhdGU7CiAgICAgbXV0YWJsZSBk
b3VibGUgbV9leHBpcmVzOwogICAgIG11dGFibGUgZG91YmxlIG1fbGFzdE1vZGlmaWVkOworCisg
ICAgbXV0YWJsZSBXVEY6Okhhc2hTZXQ8QXRvbWljU3RyaW5nPiBtX3Zhcmllc0J5SGVhZGVyOwog
fTsKIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6
Y29tcGFyZShhLCBiKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZVJlc3BvbnNlQ0ZOZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXNwb25zZUNGTmV0LmNwcAkocmV2aXNpb24g
ODczMTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVz
cG9uc2VDRk5ldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIENGU3RyaW5nUmVmIGNv
bnN0IGNvbW1vbkhlYWRlckZpZWxkc1tdID0gewotICAgIENGU1RSKCJBZ2UiKSwgQ0ZTVFIoIkNh
Y2hlLUNvbnRyb2wiKSwgQ0ZTVFIoIkRhdGUiKSwgQ0ZTVFIoIkV0YWciKSwgQ0ZTVFIoIkV4cGly
ZXMiKSwgQ0ZTVFIoIkxhc3QtTW9kaWZpZWQiKSwgQ0ZTVFIoIlByYWdtYSIpCisgICAgQ0ZTVFIo
IkFnZSIpLCBDRlNUUigiQ2FjaGUtQ29udHJvbCIpLCBDRlNUUigiRGF0ZSIpLCBDRlNUUigiRXRh
ZyIpLCBDRlNUUigiRXhwaXJlcyIpLCBDRlNUUigiTGFzdC1Nb2RpZmllZCIpLCBDRlNUUigiUHJh
Z21hIiksIENGU1RSKCJWYXJ5IikKIH07CiBzdGF0aWMgY29uc3QgaW50IG51bUNvbW1vbkhlYWRl
ckZpZWxkcyA9IHNpemVvZihjb21tb25IZWFkZXJGaWVsZHMpIC8gc2l6ZW9mKENGU3RyaW5nUmVm
KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VS
ZXNwb25zZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCShyZXZpc2lvbiA4NzMxMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgLSAoTlNUaW1lSW50ZXJ2YWwpX2NhbGN1bGF0
ZWRFeHBpcmF0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgTlNTdHJpbmcqIGNv
bnN0IGNvbW1vbkhlYWRlckZpZWxkc1tdID0gewotICAgIEAiQWdlIiwgQCJDYWNoZS1Db250cm9s
IiwgQCJEYXRlIiwgQCJFdGFnIiwgQCJFeHBpcmVzIiwgQCJMYXN0LU1vZGlmaWVkIiwgQCJQcmFn
bWEiCisgICAgQCJBZ2UiLCBAIkNhY2hlLUNvbnRyb2wiLCBAIkRhdGUiLCBAIkV0YWciLCBAIkV4
cGlyZXMiLCBAIkxhc3QtTW9kaWZpZWQiLCBAIlByYWdtYSIsIEAiVmFyeSIKIH07CiBzdGF0aWMg
Y29uc3QgaW50IG51bUNvbW1vbkhlYWRlckZpZWxkcyA9IHNpemVvZihjb21tb25IZWFkZXJGaWVs
ZHMpIC8gc2l6ZW9mKEF0b21pY1N0cmluZyopOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NzMzMikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTA1LTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVtb3J5Q2FjaGUgc2hvdWxk
bid0IGNhY2hlIFZhcnk6IE9yaWdpbiByZXNwb25zZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjIzCisKKyAgICAgICAgVGVzdCBob3cgdGhlIG1l
bW9yeSBjYWNoZSBpbnRlcmFjdHMgd2l0aCBWYXJ5IGhlYWRlcnMuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLXZhcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLXZhcnkuaHRtbDogQWRkZWQuCisKIDIw
MTEtMDUtMjUgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZC4gUmVtb3ZpbmcgdGVzdF9leHBlY3RhdGlvbnMgZm9yIG5vbi1leGlzdGVudCB0ZXN0
cy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtdmFyeS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9z
dWJyZXNvdXJjZS12YXJ5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtdmFyeS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNCBAQAorVmFyeWluZyBvbiB0aGUgT3JpZ2luIGhlYWRlciByZXN1bHRz
IGluIGJsb3dpbmcgdGhyb3VnaCB0aGUgY2FjaGUuIFN0cmljdGx5IHNwZWFraW5nLCB3ZSBzaG91
bGQgb25seSBibG93IHRocm91Z2ggdGhlIGNhY2hlIHdoZW4gdGhlIE9yaWdpbiBoZWFkZXIgaW4g
dGhlIG5ldyByZXF1ZXN0IGlzIGFjdHVhbGx5IGRpZmZlcmVudCBmcm9tIHRoZSBpbml0aWFsIE9y
aWdpbiBoZWFkZXIsIGJ1dCB3ZSBkb24ndCBoYXZlIHRoZSBtYWNoaW5lcnkgZm9yIGltcGxlbWVu
dGluZyB0aGF0IGF0IHRoZSBtb21lbnQuIChyZXN1bHQ9VW5jYWNoZWQgZXhwZWN0ZWQ9VW5jYWNo
ZWQpIFBBU1MKK1Zhcnk6ICo7IChyZXN1bHQ9VW5jYWNoZWQgZXhwZWN0ZWQ9VW5jYWNoZWQpIFBB
U1MKK1Zhcnk6IFBvdGF0bywgT3JpZ2luOyAocmVzdWx0PVVuY2FjaGVkIGV4cGVjdGVkPVVuY2Fj
aGVkKSBQQVNTCitWYXJ5OiBQb3RhdG8sIE9yaWdpbiwgR3Jhc3MtSG9wcGVyOyAocmVzdWx0PVVu
Y2FjaGVkIGV4cGVjdGVkPVVuY2FjaGVkKSBQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL3N1YnJlc291cmNlLXZhcnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL3N1YnJlc291cmNlLXZhcnkuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtdmFyeS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACis8Ym9keT4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9z
dWJyZXNvdXJjZS10ZXN0LmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKwordGVzdHMgPSBbCisgICAg
eworICAgICAgICBkZXNjcmlwdGlvbjogJ1Zhcnlpbmcgb24gdGhlIE9yaWdpbiBoZWFkZXIgcmVz
dWx0cyBpbiBibG93aW5nIHRocm91Z2ggdGhlIGNhY2hlLiAgU3RyaWN0bHkgc3BlYWtpbmcsIHdl
IHNob3VsZCBvbmx5IGJsb3cgdGhyb3VnaCB0aGUgY2FjaGUgd2hlbiB0aGUgT3JpZ2luIGhlYWRl
ciBpbiB0aGUgbmV3IHJlcXVlc3QgaXMgYWN0dWFsbHkgZGlmZmVyZW50IGZyb20gdGhlIGluaXRp
YWwgT3JpZ2luIGhlYWRlciwgYnV0IHdlIGRvblwndCBoYXZlIHRoZSBtYWNoaW5lcnkgZm9yIGlt
cGxlbWVudGluZyB0aGF0IGF0IHRoZSBtb21lbnQuJywKKyAgICAgICAgdGVzdEhlYWRlcnM6IHsK
KyAgICAgICAgICAgICdWYXJ5JzogJ09yaWdpbicsCisgICAgICAgIH0sCisgICAgICAgIGV4cGVj
dGVkUmVzdWx0OiAnVW5jYWNoZWQnLAorICAgIH0sCisgICAgeworICAgICAgICB0ZXN0SGVhZGVy
czogeworICAgICAgICAgICAgJ1ZhcnknOiAnKicsCisgICAgICAgIH0sCisgICAgICAgIGV4cGVj
dGVkUmVzdWx0OiAnVW5jYWNoZWQnLAorICAgIH0sCisgICAgeworICAgICAgICB0ZXN0SGVhZGVy
czogeworICAgICAgICAgICAgJ1ZhcnknOiAnUG90YXRvLCBPcmlnaW4nLAorICAgICAgICB9LAor
ICAgICAgICBleHBlY3RlZFJlc3VsdDogJ1VuY2FjaGVkJywKKyAgICB9LAorICAgIHsKKyAgICAg
ICAgdGVzdEhlYWRlcnM6IHsKKyAgICAgICAgICAgICdWYXJ5JzogJ1BvdGF0bywgT3JpZ2luLCBH
cmFzcy1Ib3BwZXInLAorICAgICAgICB9LAorICAgICAgICBleHBlY3RlZFJlc3VsdDogJ1VuY2Fj
aGVkJywKKyAgICB9LAorXTsKKworcnVuVGVzdHMoKTsKKworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>