<?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>134213</bug_id>
          
          <creation_ts>2014-06-23 14:03:47 -0700</creation_ts>
          <short_desc>[Cocoa] No way to grant storage quotas for web application cache</short_desc>
          <delta_ts>2014-06-23 14:33:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1017677</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-06-23 14:03:47 -0700</bug_when>
    <thetext>[Cocoa] No way to grant storage quotas for web application cache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017683</commentid>
    <comment_count>1</comment_count>
      <attachid>233635</attachid>
    <who name="">mitz</who>
    <bug_when>2014-06-23 14:25:20 -0700</bug_when>
    <thetext>Created attachment 233635
Add WKUIDelegatePrivate method for increasing quota</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017685</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-23 14:26:23 -0700</bug_when>
    <thetext>Attachment 233635 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2580:  Tab found; better to use spaces  [whitespace/tab] [1]
ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2580:  Missing spaces around |  [whitespace/operators] [3]
ERROR: Source/WebKit2/UIProcess/WebPageProxy.cpp:4467:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:52:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/UIDelegate.h:66:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:191:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:197:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:211:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/API/APIUIClient.h:118:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 9 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017686</commentid>
    <comment_count>3</comment_count>
      <attachid>233635</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-23 14:27:26 -0700</bug_when>
    <thetext>Comment on attachment 233635
Add WKUIDelegatePrivate method for increasing quota

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2580
&gt; +    settings.setOfflineWebApplicationCacheEnabled(true /* FIMXE OOPS		 */|| store.getBoolValueForKey(WebPreferencesKey::offlineWebApplicationCacheEnabledKey()));

OOPS!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017692</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-06-23 14:33:19 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r170320&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233635</attachid>
            <date>2014-06-23 14:25:20 -0700</date>
            <delta_ts>2014-06-23 14:27:26 -0700</delta_ts>
            <desc>Add WKUIDelegatePrivate method for increasing quota</desc>
            <filename>bug-134213-20140623142458.patch</filename>
            <type>text/plain</type>
            <size>22539</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDMxNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDE0LTA2LTIzICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBObyB3YXkgdG8gZ3Jh
bnQgc3RvcmFnZSBxdW90YXMgZm9yIHdlYiBhcHBsaWNhdGlvbiBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MjEzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJ
Q2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpyZWFjaGVkQXBwbGljYXRpb25DYWNo
ZU9yaWdpblF1b3RhKTogQWRkZWQgdGhpcyBuZXcgY2xpZW50IGZ1bmN0aW9uLCB3aXRoCisgICAg
ICAgIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB0aGF0IGNhbGxzIHRoZSBjb21wbGV0aW9uIGhh
bmRsZXIgd2l0aCB0aGUgY3VycmVudCBxdW90YS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOiBEZWNsYXJlZCBhIG5ldyBkZWxlZ2F0ZSBtZXRo
b2QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1NlY3VyaXR5T3JpZ2luLm1t
OgorICAgICAgICAoLVtfV0tTZWN1cml0eU9yaWdpbiBfaW5pdFdpdGhTZWN1cml0eU9yaWdpbjpX
ZWJDb3JlOjpdKTogQ2hhbmdlZCB0aGUgcGFyYW1ldGVyIGludG8gYSBjb25zdAorICAgICAgICBy
ZWZlcmVuY2UsIHNpbmNlIHdlIGNvcHkgaXQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5oOiBPdmVycmlkZSBBUEk6OlVJQ2xpZW50OjpyZWFjaGVkQXBwbGljYXRp
b25DYWNoZU9yaWdpblF1b3RhLgorICAgICAgICBBZGRlZCBmbGFnIHRvIG1fZGVsZWdhdGVNZXRo
b2RzIHN0cnVjdCBmb3IgbmV3IGRlbGVnYXRlIG1ldGhvZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVs
ZWdhdGUpOiBTZXQgbmV3IGZsYWcgaW4gbV9kZWxlZ2F0ZU1ldGhvZHMgc3RydWN0LgorICAgICAg
ICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKTog
VXBkYXRlZCBmb3IgY2hhbmdlIGluCisgICAgICAgIF9XS1NlY3VyaXR5T3JpZ2luIGluaXRpYWxp
emVyLgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6cmVhY2hlZEFwcGxp
Y2F0aW9uQ2FjaGVPcmlnaW5RdW90YSk6IEFkZGVkLiBDYWxscyB0aGUgbmV3CisgICAgICAgIGRl
bGVnYXRlIG1ldGhvZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3Jp
Z2luUXVvdGEpOiBBZGRlZC4gRm9yd2FyZHMgdGhlIG1lc3NhZ2UgdG8KKyAgICAgICAgdGhlIFVJ
IGNsaWVudC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZCBSZWFjaGVkQXBwbGlj
YXRpb25DYWNoZU9yaWdpblF1b3RhIG1lc3NhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9BUElJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oOgorICAgICAg
ICAoQVBJOjpJbmplY3RlZEJ1bmRsZTo6UGFnZVVJQ2xpZW50OjpkaWRSZWFjaEFwcGxpY2F0aW9u
Q2FjaGVPcmlnaW5RdW90YSk6IENoYW5nZWQgdGhlIHJldHVybgorICAgICAgICB0eXBlIHRvIGJv
b2wsIGluZGljYXRpbmcgd2hldGhlciB0aGUgY2xpZW50IGhhbmRsZWQgdGhlIGNhbGxiYWNrLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VV
SUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50
OjpkaWRSZWFjaEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSk6IFJldHVybiB0aGUKKyAgICAg
ICAgYXBwcm9wcmlhdGUgdmFsdWUuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEpOiBJZiB0aGUg
YnVuZGxlIGNsaWVudCBkaWRu4oCZdAorICAgICAgICBoYW5kbGUgdGhlIGNhbGxiYWNrLCBzZW5k
IGEgbWVzc2FnZSB0aGUgdGhlIFVJIHByb2Nlc3MsIGFuZCB1cGRhdGUgdGhlIHF1b3RhIHdpdGgg
dGhlIHJlcGx5LgorCiAyMDE0LTA2LTIzICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5zdXJlIHRoYXQgd2UgYWx3YXlzIHVzZSBzeW1saW5rIGZyZWUgcGF0aHMg
d2hlbiBzcGVjaWZ5aW5nIGNhY2hlIGRpcmVjdG9yaWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTcwMzAzKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NTQs
NiArNDQ1NCwxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhCiAg
ICAgfQogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmln
aW5RdW90YShjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90IGN1cnJlbnRR
dW90YSwgdWludDY0X3QgdG90YWxCeXRlc05lZWRlZCwgUGFzc1JlZlB0cjxNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpSZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhOjpEZWxheWVkUmVw
bHk+IHJlcGx5KQoreworICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4g
PSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbURhdGFiYXNlSWRlbnRpZmllcihvcmlnaW5JZGVu
dGlmaWVyKTsKKyAgICBNRVNTQUdFX0NIRUNLKHNlY3VyaXR5T3JpZ2luKTsKKworICAgIG1fdWlD
bGllbnQtPnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEodGhpcywgKnNlY3VyaXR5
T3JpZ2luLmdldCgpLCBjdXJyZW50UXVvdGEsIHRvdGFsQnl0ZXNOZWVkZWQsIFtyZXBseV0odW5z
aWduZWQgbG9uZyBsb25nIG5ld1F1b3RhKSB7IHJlcGx5LT5zZW5kKG5ld1F1b3RhKTsgfSk7Cit9
CisKIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJh
bWUodWludDY0X3QgZ2VvbG9jYXRpb25JRCwgdWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIG9yaWdp
bklkZW50aWZpZXIpCiB7CiAgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3MtPndl
YkZyYW1lKGZyYW1lSUQpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAkocmV2aXNpb24gMTcwMzAyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAyLDYgKzEwMDIsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcnVuT3BlblBhbmVsKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OkZp
bGVDaG9vc2VyU2V0dGluZ3MmKTsKICAgICB2b2lkIHByaW50RnJhbWUodWludDY0X3QgZnJhbWVJ
RCk7CiAgICAgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwg
Y29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRf
dCBjdXJyZW50T3JpZ2luVXNhZ2UsIHVpbnQ2NF90IGN1cnJlbnREYXRhYmFzZVVzYWdlLCB1aW50
NjRfdCBleHBlY3RlZFVzYWdlLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkV4
Y2VlZGVkRGF0YWJhc2VRdW90YTo6RGVsYXllZFJlcGx5Pik7CisgICAgdm9pZCByZWFjaGVkQXBw
bGljYXRpb25DYWNoZU9yaWdpblF1b3RhKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwg
dWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCB0b3RhbEJ5dGVzTmVlZGVkLCBQYXNzUmVm
UHRyPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2lu
UXVvdGE6OkRlbGF5ZWRSZXBseT4pOwogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlz
c2lvbkZvckZyYW1lKHVpbnQ2NF90IGdlb2xvY2F0aW9uSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFN0
cmluZyBvcmlnaW5JZGVudGlmaWVyKTsKICAgICB2b2lkIHJ1bk1vZGFsKCk7CiAgICAgdm9pZCBu
b3RpZnlTY3JvbGxlclRodW1iSXNWaXNpYmxlSW5SZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgkocmV2aXNpb24gMTcwMzAyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjQxLDYgKzI0MSw5
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBEYXRhYmFzZSBtZXNzYWdlcwog
ICAgIEV4Y2VlZGVkRGF0YWJhc2VRdW90YSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgb3JpZ2lu
SWRlbnRpZmllciwgU3RyaW5nIGRhdGFiYXNlTmFtZSwgU3RyaW5nIGRhdGFiYXNlRGlzcGxheU5h
bWUsIHVpbnQ2NF90IGN1cnJlbnRRdW90YSwgdWludDY0X3QgY3VycmVudE9yaWdpblVzYWdlLCB1
aW50NjRfdCBjdXJyZW50RGF0YWJhc2VVc2FnZSwgdWludDY0X3QgZXhwZWN0ZWRVc2FnZSkgLT4g
KHVpbnQ2NF90IG5ld1F1b3RhKSBEZWxheWVkCiAKKyAgICAjIEFwcGxpY2F0aW9uIGNhY2hlIG1l
c3NhZ2VzCisgICAgUmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTdHJpbmcgb3Jp
Z2luSWRlbnRpZmllciwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCB0b3RhbEJ5dGVz
TmVlZGVkKSAtPiAodWludDY0X3QgbmV3UXVvdGEpIERlbGF5ZWQKKwogICAgICMgR2VvbG9jYXRp
b24gbWVzc2FnZXMKICAgICBSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUodWlu
dDY0X3QgZ2VvbG9jYXRpb25JRCwgdWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIG9yaWdpbklkZW50
aWZpZXIpCiAgICAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNs
aWVudC5oCShyZXZpc2lvbiAxNzAzMDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNSw2ICsxMTUsMTEgQEAgcHVibGlj
OgogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihjdXJyZW50UXVvdGEpOwogICAgIH0KIAorICAg
IHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mLCB1aW50NjRfdCBj
dXJyZW50UXVvdGEsIHVpbnQ2NF90IHRvdGFsQnl0ZXNOZWVkZWQsIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAodW5zaWduZWQgbG9uZyBsb25nKT4gY29tcGxldGlvbkhhbmRsZXIpCisgICAgeworICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihjdXJyZW50UXVvdGEpOworICAgIH0KKwogICAgIHZpcnR1YWwg
Ym9vbCBydW5PcGVuUGFuZWwoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1l
UHJveHkqLCBXZWJLaXQ6OldlYk9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJLaXQ6OldlYk9wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgV2ViS2l0OjpXZWJTZWN1cml0
eU9yaWdpbiosIFdlYktpdDo6R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5KikgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYlNl
Y3VyaXR5T3JpZ2luKiwgV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCopIHsg
cmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkocmV2aXNpb24gMTcwMzAzKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDkgQEAKIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBiZSBoYW5kbGVkIGJ5IHRoZSBXS1dlYnNpdGVEYXRhU3RvcmUgZGVsZWdhdGUuCiAtICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1
cml0eU9yaWdpbjooX1dLU2VjdXJpdHlPcmlnaW4gKilzZWN1cml0eU9yaWdpbiBjdXJyZW50UXVv
dGE6KHVuc2lnbmVkIGxvbmcgbG9uZyljdXJyZW50UXVvdGEgY3VycmVudE9yaWdpblVzYWdlOih1
bnNpZ25lZCBsb25nIGxvbmcpY3VycmVudE9yaWdpblVzYWdlIGN1cnJlbnREYXRhYmFzZVVzYWdl
Oih1bnNpZ25lZCBsb25nIGxvbmcpY3VycmVudFVzYWdlIGV4cGVjdGVkVXNhZ2U6KHVuc2lnbmVk
IGxvbmcgbG9uZylleHBlY3RlZFVzYWdlIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikodW5zaWdu
ZWQgbG9uZyBsb25nIG5ld1F1b3RhKSlkZWNpc2lvbkhhbmRsZXI7CiAKKy8vIEZJWE1FOiBUaGlz
IHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBXS1dlYnNpdGVEYXRhU3RvcmUgZGVsZWdhdGUuCist
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVdlYkFwcGxpY2F0aW9u
Q2FjaGVRdW90YUZvclNlY3VyaXR5T3JpZ2luOihfV0tTZWN1cml0eU9yaWdpbiAqKXNlY3VyaXR5
T3JpZ2luIGN1cnJlbnRRdW90YToodW5zaWduZWQgbG9uZyBsb25nKWN1cnJlbnRRdW90YSB0b3Rh
bEJ5dGVzTmVlZGVkOih1bnNpZ25lZCBsb25nIGxvbmcpdG90YWxCeXRlc05lZWRlZCBkZWNpc2lv
bkhhbmRsZXI6KHZvaWQgKF4pKHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90YSkpZGVjaXNpb25I
YW5kbGVyOworCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHByaW50RnJh
bWU6KF9XS0ZyYW1lSGFuZGxlICopZnJhbWU7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1NlY3VyaXR5T3JpZ2luLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vj
dXJpdHlPcmlnaW4ubW0JKHJldmlzaW9uIDE3MDMwMykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU2VjdXJpdHlPcmlnaW4ubW0JKHdvcmtpbmcgY29weSkKQEAgLTM1
LDE3ICszNSwxMiBAQAogICAgIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gX29yaWdp
bjsKIH0KIAotLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aFNlY3VyaXR5T3JpZ2luOihQYXNzUmVm
UHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPilvcmlnaW4KKy0gKGluc3RhbmNldHlwZSlfaW5p
dFdpdGhTZWN1cml0eU9yaWdpbjooY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mKW9yaWdp
bgogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQogICAgICAgICByZXR1cm4gbmls
OwogCi0gICAgaWYgKCFvcmlnaW4pIHsKLSAgICAgICAgW3NlbGYgcmVsZWFzZV07Ci0gICAgICAg
IHJldHVybiBuaWw7Ci0gICAgfQotCi0gICAgX29yaWdpbiA9IG9yaWdpbi0+aXNvbGF0ZWRDb3B5
KCk7CisgICAgX29yaWdpbiA9IG9yaWdpbi5pc29sYXRlZENvcHkoKTsKICAgICByZXR1cm4gc2Vs
ZjsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTZWN1
cml0eU9yaWdpbkludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgJKHJldmlzaW9uIDE3MDMw
MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2VjdXJpdHlPcmln
aW5JbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIGNsYXNzIFNlY3Vy
aXR5T3JpZ2luOwogCiBAaW50ZXJmYWNlIF9XS1NlY3VyaXR5T3JpZ2luICgpCiAKLS0gKGluc3Rh
bmNldHlwZSlfaW5pdFdpdGhTZWN1cml0eU9yaWdpbjooUGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbj4pb3JpZ2luOworLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aFNlY3VyaXR5T3Jp
Z2luOihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYpb3JpZ2luOwogCiBAZW5kCiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAkocmV2aXNp
b24gMTcwMzAzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsNyBAQCBwcml2YXRlOgogICAgICAgICB2aXJ0
dWFsIHZvaWQgcnVuSmF2YVNjcmlwdENvbmZpcm0oV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25z
dCBXVEY6OlN0cmluZyYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIHN0ZDo6ZnVuY3Rpb248dm9p
ZCAoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2
b2lkIHJ1bkphdmFTY3JpcHRQcm9tcHQoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6
OlN0cmluZyYsIGNvbnN0IFdURjo6U3RyaW5nJiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5Kiwgc3Rk
OjpmdW5jdGlvbjx2b2lkIChjb25zdCBXVEY6OlN0cmluZyYpPiBjb21wbGV0aW9uSGFuZGxlcikg
b3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoV2Vi
UGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIFdlYlNlY3VyaXR5T3JpZ2luKiwgY29uc3QgV1RG
OjpTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRpc3BsYXlOYW1lLCB1
bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFF1b3RhLCB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVu
dE9yaWdpblVzYWdlLCB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFVzYWdlLCB1bnNpZ25lZCBs
b25nIGxvbmcgZXhwZWN0ZWRVc2FnZSwgc3RkOjpmdW5jdGlvbjx2b2lkICh1bnNpZ25lZCBsb25n
IGxvbmcpPikgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRp
b25DYWNoZU9yaWdpblF1b3RhKFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luJiwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCB0b3RhbEJ5dGVzTmVlZGVk
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKHVuc2lnbmVkIGxvbmcgbG9uZyk+IGNvbXBsZXRpb25IYW5k
bGVyKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIHByaW50RnJhbWUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqKSBvdmVycmlkZTsKICAgICAjaWYg
UExBVEZPUk0oSU9TKQogICAgICAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0FycmF5PiBhY3Rpb25z
Rm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqLCBSZXRhaW5QdHI8TlNBcnJheT4g
ZGVmYXVsdEFjdGlvbnMpIG92ZXJyaWRlOwpAQCAtODIsNiArODMsNyBAQCBwcml2YXRlOgogICAg
ICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2VJbml0
aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdS
dW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0RGVmYXVsdFRleHRJbml0aWF0ZWRC
eUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVE
YXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5DdXJyZW50UXVvdGFDdXJyZW50T3JpZ2luVXNh
Z2VDdXJyZW50RGF0YWJhc2VVc2FnZUV4cGVjdGVkVXNhZ2VEZWNpc2lvbkhhbmRsZXIgOiAxOwor
ICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVXZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFGb3JTZWN1
cml0eU9yaWdpbkN1cnJlbnRRdW90YVRvdGFsQnl0ZXNOZWVkZWQgOiAxOwogICAgICAgICBib29s
IHdlYlZpZXdQcmludEZyYW1lIDogMTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIGJvb2wg
d2ViVmlld0FjdGlvbnNGb3JFbGVtZW50RGVmYXVsdEFjdGlvbnMgOiAxOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHJldmlzaW9uIDE3MDMw
MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUo
aWQgPFdLVUlEZWwKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UnVuSmF2YVNjcmlwdENv
bmZpcm1QYW5lbFdpdGhNZXNzYWdlSW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyID0g
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViVmlldzpydW5KYXZhU2Ny
aXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFu
ZGxlcjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UnVuSmF2YVNjcmlwdFRleHRJ
bnB1dFBhbmVsV2l0aFByb21wdERlZmF1bHRUZXh0SW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25I
YW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViVmlldzpy
dW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0OmRlZmF1bHRUZXh0OmluaXRpYXRl
ZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
Vmlld0RlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkN1cnJlbnRRdW90YUN1cnJl
bnRPcmlnaW5Vc2FnZUN1cnJlbnREYXRhYmFzZVVzYWdlRXhwZWN0ZWRVc2FnZURlY2lzaW9uSGFu
ZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRl
Y2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjpjdXJyZW50UXVvdGE6Y3VycmVudE9y
aWdpblVzYWdlOmN1cnJlbnREYXRhYmFzZVVzYWdlOmV4cGVjdGVkVXNhZ2U6ZGVjaXNpb25IYW5k
bGVyOildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEZWNpZGVXZWJBcHBsaWNhdGlv
bkNhY2hlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkN1cnJlbnRRdW90YVRvdGFsQnl0ZXNOZWVkZWQg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkZWNpZGVX
ZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjpjdXJyZW50UXVvdGE6dG90
YWxCeXRlc05lZWRlZDpkZWNpc2lvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld1ByaW50RnJhbWUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpwcmludEZyYW1lOildOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBtX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmFjdGlvbnNGb3JFbGVt
ZW50OmRlZmF1bHRBY3Rpb25zOildOwpAQCAtMTg3LDcgKzE4OCwyNyBAQCB2b2lkIFVJRGVsZWdh
dGU6OlVJQ2xpZW50OjpleGNlZWRlZERhdGFiCiAgICAgfQogCiAgICAgUmVmUHRyPENvbXBsZXRp
b25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVj
a2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcihfd2ViVmlldzpkZWNpZGVEYXRh
YmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW46Y3VycmVudFF1b3RhOmN1cnJlbnRPcmlnaW5Vc2Fn
ZTpjdXJyZW50RGF0YWJhc2VVc2FnZTpleHBlY3RlZFVzYWdlOmRlY2lzaW9uSGFuZGxlcjopKTsK
LSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVs
ZWdhdGUubV93ZWJWaWV3IGRlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjphZG9w
dE5TKFtbX1dLU2VjdXJpdHlPcmlnaW4gYWxsb2NdIF9pbml0V2l0aFNlY3VyaXR5T3JpZ2luOiZz
ZWN1cml0eU9yaWdpbi0+c2VjdXJpdHlPcmlnaW4oKV0pLmdldCgpIGN1cnJlbnRRdW90YTpjdXJy
ZW50UXVvdGEgY3VycmVudE9yaWdpblVzYWdlOmN1cnJlbnRPcmlnaW5Vc2FnZSBjdXJyZW50RGF0
YWJhc2VVc2FnZTpjdXJyZW50VXNhZ2UgZXhwZWN0ZWRVc2FnZTpleHBlY3RlZFVzYWdlIGRlY2lz
aW9uSGFuZGxlcjpbY29tcGxldGlvbkhhbmRsZXIsIGNoZWNrZXJdKHVuc2lnbmVkIGxvbmcgbG9u
ZyBuZXdRdW90YSkgeworICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93
ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3Vy
aXR5T3JpZ2luOmFkb3B0TlMoW1tfV0tTZWN1cml0eU9yaWdpbiBhbGxvY10gX2luaXRXaXRoU2Vj
dXJpdHlPcmlnaW46c2VjdXJpdHlPcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCldKS5nZXQoKSBjdXJy
ZW50UXVvdGE6Y3VycmVudFF1b3RhIGN1cnJlbnRPcmlnaW5Vc2FnZTpjdXJyZW50T3JpZ2luVXNh
Z2UgY3VycmVudERhdGFiYXNlVXNhZ2U6Y3VycmVudFVzYWdlIGV4cGVjdGVkVXNhZ2U6ZXhwZWN0
ZWRVc2FnZSBkZWNpc2lvbkhhbmRsZXI6W2NvbXBsZXRpb25IYW5kbGVyLCBjaGVja2VyXSh1bnNp
Z25lZCBsb25nIGxvbmcgbmV3UXVvdGEpIHsKKyAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBs
ZXRpb25IYW5kbGVyKCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG5ld1F1b3RhKTsKKyAg
ICB9XTsKK30KKwordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cmVhY2hlZEFwcGxpY2F0aW9u
Q2FjaGVPcmlnaW5RdW90YShXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbiYgc2VjdXJpdHlPcmlnaW4sIHVpbnQ2NF90IGN1cnJlbnRRdW90YSwgdWludDY0X3QgdG90
YWxCeXRlc05lZWRlZCwgc3RkOjpmdW5jdGlvbjx2b2lkICh1bnNpZ25lZCBsb25nIGxvbmcpPiBj
b21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0
aG9kcy53ZWJWaWV3RGVjaWRlV2ViQXBwbGljYXRpb25DYWNoZVF1b3RhRm9yU2VjdXJpdHlPcmln
aW5DdXJyZW50UXVvdGFUb3RhbEJ5dGVzTmVlZGVkKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGN1cnJlbnRRdW90YSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGRl
bGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0
ZSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihjdXJyZW50UXVvdGEpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+
IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUu
Z2V0KCksIEBzZWxlY3Rvcihfd2ViVmlldzpkZWNpZGVXZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFG
b3JTZWN1cml0eU9yaWdpbjpjdXJyZW50UXVvdGE6dG90YWxCeXRlc05lZWRlZDpkZWNpc2lvbkhh
bmRsZXI6KSk7CisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZp
ZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBkZWNpZGVXZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFG
b3JTZWN1cml0eU9yaWdpbjphZG9wdE5TKFtbX1dLU2VjdXJpdHlPcmlnaW4gYWxsb2NdIF9pbml0
V2l0aFNlY3VyaXR5T3JpZ2luOnNlY3VyaXR5T3JpZ2luXSkuZ2V0KCkgY3VycmVudFF1b3RhOmN1
cnJlbnRRdW90YSB0b3RhbEJ5dGVzTmVlZGVkOnRvdGFsQnl0ZXNOZWVkZWQgZGVjaXNpb25IYW5k
bGVyOltjb21wbGV0aW9uSGFuZGxlciwgY2hlY2tlcl0odW5zaWduZWQgbG9uZyBsb25nIG5ld1F1
b3RhKSB7CiAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihuZXdRdW90YSk7CiAgICAgfV07CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xp
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmNwcAkocmV2aXNpb24gMTcwMzAyKQor
KysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZVBhZ2VVSUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NiwxMiArMTQ2LDEzIEBAIEFQ
STo6SW5qZWN0ZWRCdW5kbGU6OlBhZ2VVSUNsaWVudDo6VUlFbGUKICAgICByZXR1cm4gdG9VSUVs
ZW1lbnRWaXNpYmlsaXR5KG1fY2xpZW50LnRvb2xiYXJzQXJlVmlzaWJsZSh0b0FQSShwYWdlKSwg
bV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKSk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
VUlDbGllbnQ6OmRpZFJlYWNoQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYlBhZ2UqIHBh
Z2UsIFdlYlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIGludDY0X3QgdG90YWxCeXRlc05lZWRlZCkK
K2Jvb2wgSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQ6OmRpZFJlYWNoQXBwbGljYXRpb25DYWNo
ZU9yaWdpblF1b3RhKFdlYlBhZ2UqIHBhZ2UsIFdlYlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIGlu
dDY0X3QgdG90YWxCeXRlc05lZWRlZCkKIHsKICAgICBpZiAoIW1fY2xpZW50LmRpZFJlYWNoQXBw
bGljYXRpb25DYWNoZU9yaWdpblF1b3RhKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIG1fY2xpZW50LmRpZFJlYWNoQXBwbGljYXRpb25DYWNoZU9yaWdpblF1
b3RhKHRvQVBJKHBhZ2UpLCB0b0FQSShvcmlnaW4pLCB0b3RhbEJ5dGVzTmVlZGVkLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOworICAgIHJldHVybiB0cnVlOwogfQogCiB1aW50NjRfdCBJbmpl
Y3RlZEJ1bmRsZVBhZ2VVSUNsaWVudDo6ZGlkRXhjZWVkRGF0YWJhc2VRdW90YShXZWJQYWdlKiBw
YWdlLCBXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFt
ZSwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZURpc3BsYXlOYW1lLCB1aW50NjRfdCBjdXJyZW50UXVv
dGFCeXRlcywgdWludDY0X3QgY3VycmVudE9yaWdpblVzYWdlQnl0ZXMsIHVpbnQ2NF90IGN1cnJl
bnREYXRhYmFzZVVzYWdlQnl0ZXMsIHVpbnQ2NF90IGV4cGVjdGVkVXNhZ2VCeXRlcykKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlVUlDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmgJKHJldmlzaW9uIDE3MDMw
MikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlVUlDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBwdWJs
aWM6CiAgICAgVUlFbGVtZW50VmlzaWJpbGl0eSBtZW51QmFySXNWaXNpYmxlKFdlYlBhZ2UqKSBv
dmVycmlkZTsKICAgICBVSUVsZW1lbnRWaXNpYmlsaXR5IHRvb2xiYXJzQXJlVmlzaWJsZShXZWJQ
YWdlKikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGRpZFJlYWNoQXBwbGljYXRpb25DYWNoZU9yaWdp
blF1b3RhKFdlYlBhZ2UqLCBXZWJTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxCeXRlc05l
ZWRlZCkgb3ZlcnJpZGU7CisgICAgYm9vbCBkaWRSZWFjaEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5R
dW90YShXZWJQYWdlKiwgV2ViU2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFsQnl0ZXNOZWVk
ZWQpIG92ZXJyaWRlOwogICAgIHVpbnQ2NF90IGRpZEV4Y2VlZERhdGFiYXNlUXVvdGEoV2ViUGFn
ZSosIFdlYlNlY3VyaXR5T3JpZ2luKiwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0
IFN0cmluZyYgZGF0YWJhc2VEaXNwbGF5TmFtZSwgdWludDY0X3QgY3VycmVudFF1b3RhQnl0ZXMs
IHVpbnQ2NF90IGN1cnJlbnRPcmlnaW5Vc2FnZUJ5dGVzLCB1aW50NjRfdCBjdXJyZW50RGF0YWJh
c2VVc2FnZUJ5dGVzLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlQnl0ZXMpIG92ZXJyaWRlOwogCiAg
ICAgU3RyaW5nIHBsdWdJblN0YXJ0TGFiZWxUaXRsZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBj
b25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL0FQSUluamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRC
dW5kbGVQYWdlVUlDbGllbnQuaAkocmV2aXNpb24gMTcwMzAyKQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGll
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBVSUVsZW1lbnRWaXNpYmlsaXR5IG1lbnVCYXJJc1Zpc2libGUoV2ViS2l0OjpXZWJQYWdlKikg
eyByZXR1cm4gVUlFbGVtZW50VmlzaWJpbGl0eTo6VW5rbm93bjsgfQogICAgIHZpcnR1YWwgVUlF
bGVtZW50VmlzaWJpbGl0eSB0b29sYmFyc0FyZVZpc2libGUoV2ViS2l0OjpXZWJQYWdlKikgeyBy
ZXR1cm4gVUlFbGVtZW50VmlzaWJpbGl0eTo6VW5rbm93bjsgfQogCi0gICAgdmlydHVhbCB2b2lk
IGRpZFJlYWNoQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYktpdDo6V2ViUGFnZSosIFdl
YktpdDo6V2ViU2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFsQnl0ZXNOZWVkZWQpIHsgVU5V
U0VEX1BBUkFNKHRvdGFsQnl0ZXNOZWVkZWQpOyB9CisgICAgdmlydHVhbCBib29sIGRpZFJlYWNo
QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYktpdDo6V2ViUGFnZSosIFdlYktpdDo6V2Vi
U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFsQnl0ZXNOZWVkZWQpIHsgVU5VU0VEX1BBUkFN
KHRvdGFsQnl0ZXNOZWVkZWQpOyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHVpbnQ2NF90
IGRpZEV4Y2VlZERhdGFiYXNlUXVvdGEoV2ViS2l0OjpXZWJQYWdlKiwgV2ViS2l0OjpXZWJTZWN1
cml0eU9yaWdpbiosIGNvbnN0IFdURjo6U3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFdURjo6
U3RyaW5nJiBkYXRhYmFzZURpc3BsYXlOYW1lLCB1aW50NjRfdCBjdXJyZW50UXVvdGFCeXRlcywg
dWludDY0X3QgY3VycmVudE9yaWdpblVzYWdlQnl0ZXMsIHVpbnQ2NF90IGN1cnJlbnREYXRhYmFz
ZVVzYWdlQnl0ZXMsIHVpbnQ2NF90IGV4cGVjdGVkVXNhZ2VCeXRlcykKICAgICB7CiAgICAgICAg
IFVOVVNFRF9QQVJBTShkYXRhYmFzZU5hbWUpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAkocmV2aXNpb24gMTcwMzAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3
IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJT
ZWFyY2hQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0FYT2JqZWN0Q2FjaGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yQ2hvb3Nlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VNYW5hZ2VyLmg+CkBAIC02NzQsNyArNjc1LDIzIEBAIHZv
aWQgV2ViQ2hyb21lQ2xpZW50OjpyZWFjaGVkTWF4QXBwQ2FjaGUKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpyZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4sIGludDY0X3QgdG90YWxCeXRlc05lZWRlZCkKIHsKICAgICBSZWZQdHI8V2ViU2VjdXJp
dHlPcmlnaW4+IHdlYlNlY3VyaXR5T3JpZ2luID0gV2ViU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZy
b21TdHJpbmcob3JpZ2luLT50b1N0cmluZygpKTsKLSAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxl
VUlDbGllbnQoKS5kaWRSZWFjaEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShtX3BhZ2UsIHdl
YlNlY3VyaXR5T3JpZ2luLmdldCgpLCB0b3RhbEJ5dGVzTmVlZGVkKTsKKyAgICBpZiAobV9wYWdl
LT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkuZGlkUmVhY2hBcHBsaWNhdGlvbkNhY2hlT3JpZ2lu
UXVvdGEobV9wYWdlLCB3ZWJTZWN1cml0eU9yaWdpbi5nZXQoKSwgdG90YWxCeXRlc05lZWRlZCkp
CisgICAgICAgIHJldHVybjsKKworICAgIHVuc2lnbmVkIHN5bmNTZW5kRmxhZ3MgPSBJUEM6Oklu
Zm9ybVBsYXRmb3JtUHJvY2Vzc1dpbGxTdXNwZW5kOworICAgIGlmIChXZWJQYWdlOjpzeW5jaHJv
bm91c01lc3NhZ2VzU2hvdWxkU3BpblJ1bkxvb3AoKSkKKyAgICAgICAgc3luY1NlbmRGbGFncyB8
PSBJUEM6OlNwaW5SdW5Mb29wV2hpbGVXYWl0aW5nRm9yUmVwbHk7CisKKyAgICBpbnQ2NF90IGN1
cnJlbnRRdW90YSA9IDA7CisgICAgaWYgKCFjYWNoZVN0b3JhZ2UoKS5jYWxjdWxhdGVRdW90YUZv
ck9yaWdpbihvcmlnaW4sIGN1cnJlbnRRdW90YSkpCisgICAgICAgIHJldHVybjsKKworICAgIHVp
bnQ2NF90IG5ld1F1b3RhID0gMDsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5wYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kU3luYygKKyAgICAgICAgTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6UmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShvcmlnaW4tPmRhdGFiYXNlSWRl
bnRpZmllcigpLCBjdXJyZW50UXVvdGEsIHRvdGFsQnl0ZXNOZWVkZWQpLAorICAgICAgICBNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpSZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhOjpS
ZXBseShuZXdRdW90YSksIG1fcGFnZS0+cGFnZUlEKCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHM6Om1heCgpLCBzeW5jU2VuZEZsYWdzKTsKKworICAgIGNhY2hlU3RvcmFnZSgpLnN0b3JlVXBk
YXRlZFF1b3RhRm9yT3JpZ2luKG9yaWdpbiwgbmV3UXVvdGEpOwogfQogCiAjaWYgRU5BQkxFKERB
U0hCT0FSRF9TVVBQT1JUKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMTcwMzAyKQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTc3LDcgKzI1
NzcsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlCiAgICAgc2V0
dGluZ3Muc2V0UGx1Z2luc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpwbHVnaW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SmF2YUVu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpqYXZhRW5h
YmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0SmF2YUVuYWJsZWRGb3JMb2NhbEZpbGVzKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YUVuYWJsZWRGb3JM
b2NhbEZpbGVzS2V5KCkpKTsgICAgCi0gICAgc2V0dGluZ3Muc2V0T2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6b2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkS2V5KCkpKTsKKyAgICBzZXR0aW5n
cy5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQodHJ1ZSAvKiBGSU1YRSBPT1BT
CQkgKi98fCBzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om9mZmxp
bmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0TG9j
YWxTdG9yYWdlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmxvY2FsU3RvcmFnZUVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldFhTU0F1ZGl0
b3JFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6eHNz
QXVkaXRvckVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpmcmFtZUZs
YXR0ZW5pbmdFbmFibGVkS2V5KCkpKTsK
</data>
<flag name="review"
          id="258125"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>