<?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>105450</bug_id>
          
          <creation_ts>2012-12-19 11:43:38 -0800</creation_ts>
          <short_desc>Rename shouldBufferData to dataBufferingPolicy</short_desc>
          <delta_ts>2012-12-20 12:27:54 -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>WebCore Misc.</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 name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>ap</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>794833</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-19 11:43:38 -0800</bug_when>
    <thetext>The old name implies a boolean, but it&apos;s an enum. Rename it to better indicate the data type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794839</commentid>
    <comment_count>1</comment_count>
      <attachid>180198</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-19 11:53:23 -0800</bug_when>
    <thetext>Created attachment 180198
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795181</commentid>
    <comment_count>2</comment_count>
      <attachid>180198</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-19 21:56:15 -0800</bug_when>
    <thetext>Comment on attachment 180198
patch

Rejecting attachment 180198 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ual void WebKit::AssociatedURLLoader::loadAsynchronously(const WebKit::WebURLRequest&amp;, WebKit::WebURLLoaderClient*)&apos;:
Source/WebKit/chromium/src/AssociatedURLLoader.cpp:347: error: &apos;struct WebCore::ThreadableLoaderOptions&apos; has no member named &apos;shouldBufferData&apos;
  CXX(target) out/Release/obj.target/webkit/Source/WebKit/chromium/src/BackForwardListChromium.o
make: *** [out/Release/obj.target/webkit/Source/WebKit/chromium/src/AssociatedURLLoader.o] Error 1
make: *** Waiting for unfinished jobs....

Full output: http://queues.webkit.org/results/15405880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795618</commentid>
    <comment_count>3</comment_count>
      <attachid>180377</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-20 11:51:26 -0800</bug_when>
    <thetext>Created attachment 180377
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795623</commentid>
    <comment_count>4</comment_count>
      <attachid>180378</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-20 11:55:30 -0800</bug_when>
    <thetext>Created attachment 180378
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795663</commentid>
    <comment_count>5</comment_count>
      <attachid>180378</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 12:27:50 -0800</bug_when>
    <thetext>Comment on attachment 180378
Patch for landing

Clearing flags on attachment: 180378

Committed r138285: &lt;http://trac.webkit.org/changeset/138285&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795664</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 12:27:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180198</attachid>
            <date>2012-12-19 11:53:23 -0800</date>
            <delta_ts>2012-12-20 11:51:23 -0800</delta_ts>
            <desc>patch</desc>
            <filename>sbd.txt</filename>
            <type>text/plain</type>
            <size>15839</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCShyZXZpc2lvbiAxMzgxNzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI0LDcgKzEyNCw3IEBACiAgICAgb3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzID0gKG9yaWdpbi0+
Y2FuUmVxdWVzdChtX3VybCkgfHwgbV93aXRoQ3JlZGVudGlhbHMpID8gQWxsb3dTdG9yZWRDcmVk
ZW50aWFscyA6IERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFsczsKICAgICBvcHRpb25zLnByZWZs
aWdodFBvbGljeSA9IFByZXZlbnRQcmVmbGlnaHQ7CiAgICAgb3B0aW9ucy5jcm9zc09yaWdpblJl
cXVlc3RQb2xpY3kgPSBVc2VBY2Nlc3NDb250cm9sOwotICAgIG9wdGlvbnMuc2hvdWxkQnVmZmVy
RGF0YSA9IERvTm90QnVmZmVyRGF0YTsKKyAgICBvcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kg
PSBEb05vdEJ1ZmZlckRhdGE7CiAgICAgb3B0aW9ucy5zZWN1cml0eU9yaWdpbiA9IG9yaWdpbjsK
IAogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgdGhpcywgcmVxdWVzdCwgb3B0aW9ucyk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBA
QAogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5sb2FkZXIo
KS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9hZGVyKCktPnNldFNob3Vs
ZEJ1ZmZlckRhdGEoRG9Ob3RCdWZmZXJEYXRhKTsKKyAgICBmcmFtZS0+bG9hZGVyKCktPmFjdGl2
ZURvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZUxvYWRlcigpLT5zZXREYXRhQnVmZmVyaW5n
UG9saWN5KERvTm90QnVmZmVyRGF0YSk7CiB9CiAKIHZvaWQgTWVkaWFEb2N1bWVudFBhcnNlcjo6
YXBwZW5kQnl0ZXMoRG9jdW1lbnRXcml0ZXIqLCBjb25zdCBjaGFyKiwgc2l6ZV90KQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9QbHVnaW5Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9QbHVnaW5Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzAsNyArMTMwLDcgQEAKICAgICAgICAgICAgIC8vIEluIGEgcGx1Z2luIGRvY3VtZW50LCB0
aGUgbWFpbiByZXNvdXJjZSBpcyB0aGUgcGx1Z2luLiBJZiB3ZSBoYXZlIGEgbnVsbCB3aWRnZXQs
IHRoYXQgbWVhbnMKICAgICAgICAgICAgIC8vIHRoZSBsb2FkaW5nIG9mIHRoZSBwbHVnaW4gd2Fz
IGNhbmNlbGxlZCwgd2hpY2ggZ2l2ZXMgdXMgYSBudWxsIG1haW5SZXNvdXJjZUxvYWRlcigpLCBz
byB3ZQogICAgICAgICAgICAgLy8gbmVlZCB0byBoYXZlIHRoaXMgY2FsbCBpbiBhIG51bGwgY2hl
Y2sgb2YgdGhlIHdpZGdldCBvciBvZiBtYWluUmVzb3VyY2VMb2FkZXIoKS4KLSAgICAgICAgICAg
IGZyYW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9h
ZGVyKCktPnNldFNob3VsZEJ1ZmZlckRhdGEoRG9Ob3RCdWZmZXJEYXRhKTsKKyAgICAgICAgICAg
IGZyYW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9h
ZGVyKCktPnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAgICAg
fQogICAgIH0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODE4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEy
LTE5ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuYW1l
IHNob3VsZEJ1ZmZlckRhdGEgdG8gZGF0YUJ1ZmZlcmluZ1BvbGljeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW1wbGUgcmVu
YW1lLgorCisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhRG9jdW1lbnRQYXJzZXI6OmNyZWF0ZURvY3VtZW50U3RydWN0dXJlKToKKyAgICAg
ICAgKiBodG1sL1BsdWdpbkRvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpbkRv
Y3VtZW50UGFyc2VyOjphcHBlbmRCeXRlcyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VB
Z2VudDo6ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OnNldERhdGFCdWZmZXJpbmdQ
b2xpY3kpOgorICAgICAgICAqIGxvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KE1haW5SZXNvdXJjZUxvYWRlcik6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzZXREYXRhQnVmZmVyaW5nUG9s
aWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjphZGREYXRhKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU3RvcEJ1ZmZlcmluZ0RhdGEpOgorICAg
ICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoUmVzb3VyY2VMb2FkZXIp
OgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6UmVzb3VyY2VMb2FkZXJPcHRpb25zKToKKyAg
ICAgICAgKFJlc291cmNlTG9hZGVyT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJhd1Jlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNl
OjpkYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNlOjpzZXREYXRhQnVm
ZmVyaW5nUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNlOjpjYW5S
ZXVzZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmg6CisgICAg
ICAgIChDYWNoZWRSYXdSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGF0YUJ1ZmZlcmlu
Z1BvbGljeSk6CisgICAgICAgICogbG9hZGVyL21hYy9SZXNvdXJjZUxvYWRlck1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YUFycmF5KToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291
cmNlOjpjb25uZWN0KToKKwogMjAxMi0xMi0xOSAgQWxleGlzIE1lbmFyZCAgPGFsZXhpc0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDU1MgcGFyc2luZyBmb3IgQ1NTIHRyYW5zaXRp
b25zIHVucHJlZml4ZWQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OSwxOSArMTg5LDE5IEBACiAgICAgcmV0
dXJuIG1fZnJhbWUtPmxvYWRlcigpOwogfQogCi12b2lkIFJlc291cmNlTG9hZGVyOjpzZXRTaG91
bGRCdWZmZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kgc2hvdWxkQnVmZmVyRGF0YSkKK3ZvaWQg
UmVzb3VyY2VMb2FkZXI6OnNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGlj
eSBkYXRhQnVmZmVyaW5nUG9saWN5KQogeyAKLSAgICBtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0
YSA9IHNob3VsZEJ1ZmZlckRhdGE7IAorICAgIG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5
ID0gZGF0YUJ1ZmZlcmluZ1BvbGljeTsgCiAKICAgICAvLyBSZXNldCBhbnkgYWxyZWFkeSBidWZm
ZXJlZCBkYXRhCi0gICAgaWYgKHNob3VsZEJ1ZmZlckRhdGEgPT0gRG9Ob3RCdWZmZXJEYXRhKQor
ICAgIGlmIChkYXRhQnVmZmVyaW5nUG9saWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAg
bV9yZXNvdXJjZURhdGEgPSAwOwogfQogICAgIAogCiB2b2lkIFJlc291cmNlTG9hZGVyOjphZGRE
YXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgsIGJvb2wgYWxsQXRPbmNlKQogewotICAg
IGlmIChtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBEb05vdEJ1ZmZlckRhdGEpCisgICAg
aWYgKG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGFsbEF0T25jZSkgewpAQCAtMjk5LDcgKzI5OSw3IEBA
CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0YShjb25zdCBjaGFy
KiBkYXRhLCBpbnQgbGVuZ3RoKQogewotICAgIGlmIChtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0
YSA9PSBEb05vdEJ1ZmZlckRhdGEpCisgICAgaWYgKG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9s
aWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKCFt
X3Jlc291cmNlRGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNl
TG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM4MTc5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVy
L01haW5SZXNvdXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2NiwxMCArNjY2LDEw
IEBACiAgICAgcmV0dXJuIGxvYWRlcigpID8gbG9hZGVyKCktPmRlZmVyc0xvYWRpbmcoKSA6IGZh
bHNlOwogfQogCi12b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6c2V0U2hvdWxkQnVmZmVyRGF0YShE
YXRhQnVmZmVyaW5nUG9saWN5IHNob3VsZEJ1ZmZlckRhdGEpCit2b2lkIE1haW5SZXNvdXJjZUxv
YWRlcjo6c2V0RGF0YUJ1ZmZlcmluZ1BvbGljeShEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZm
ZXJpbmdQb2xpY3kpCiB7CiAgICAgQVNTRVJUKG1fcmVzb3VyY2UpOwotICAgIG1fcmVzb3VyY2Ut
PnNldFNob3VsZEJ1ZmZlckRhdGEoc2hvdWxkQnVmZmVyRGF0YSk7CisgICAgbV9yZXNvdXJjZS0+
c2V0RGF0YUJ1ZmZlcmluZ1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KTsKIH0KIAogUmVzb3Vy
Y2VMb2FkZXIqIE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZGVyKCkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDcgKzE0Niw3IEBACiAKICAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QoKSBjb25z
dCB7IHJldHVybiBtX3JlcXVlc3Q7IH0KIAotICAgIHZvaWQgc2V0U2hvdWxkQnVmZmVyRGF0YShE
YXRhQnVmZmVyaW5nUG9saWN5KTsKKyAgICB2b2lkIHNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0
YUJ1ZmZlcmluZ1BvbGljeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM4MTc5KQor
KysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM3MSw3ICszNzEsNyBAQAogICAgICAgICAgICAgb3B0aW9ucy5zZW5k
TG9hZENhbGxiYWNrcyA9IERvTm90U2VuZENhbGxiYWNrczsKICAgICAgICAgICAgIG9wdGlvbnMu
c25pZmZDb250ZW50ID0gRG9Ob3RTbmlmZkNvbnRlbnQ7CiAgICAgICAgICAgICAvLyBLZWVwIGJ1
ZmZlcmluZyB0aGUgZGF0YSBmb3IgdGhlIHByZWZsaWdodCByZXF1ZXN0LgotICAgICAgICAgICAg
b3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID0gQnVmZmVyRGF0YTsKKyAgICAgICAgICAgIG9wdGlv
bnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IEJ1ZmZlckRhdGE7CiAgICAgICAgIH0KIAogICAgICAg
ICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgbmV3UmVxdWVzdChyZXF1ZXN0LCBvcHRpb25zKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgJKHJl
dmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9w
dGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTEgKzYxLDExIEBACiB9OwogCiBzdHJ1Y3Qg
UmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKSA6IHNl
bmRMb2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcyksIHNuaWZmQ29udGVudChEb05vdFNu
aWZmQ29udGVudCksIHNob3VsZEJ1ZmZlckRhdGEoQnVmZmVyRGF0YSksIGFsbG93Q3JlZGVudGlh
bHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKSwgY3Jvc3NPcmlnaW5DcmVkZW50aWFsUG9s
aWN5KERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscyksIHNlY3VyaXR5Q2hl
Y2soRG9TZWN1cml0eUNoZWNrKSB7IH0KLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENh
bGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25p
ZmZDb250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IHNob3VsZEJ1ZmZlckRhdGEsIFN0b3JlZENy
ZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyb3NzT3JpZ2luQ3JlZGVudGlhbFBv
bGljeSBjcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2Vj
dXJpdHlDaGVjaykKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKSA6IHNlbmRMb2FkQ2FsbGJh
Y2tzKERvTm90U2VuZENhbGxiYWNrcyksIHNuaWZmQ29udGVudChEb05vdFNuaWZmQ29udGVudCks
IGRhdGFCdWZmZXJpbmdQb2xpY3koQnVmZmVyRGF0YSksIGFsbG93Q3JlZGVudGlhbHMoRG9Ob3RB
bGxvd1N0b3JlZENyZWRlbnRpYWxzKSwgY3Jvc3NPcmlnaW5DcmVkZW50aWFsUG9saWN5KERvTm90
QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscyksIHNlY3VyaXR5Q2hlY2soRG9TZWN1
cml0eUNoZWNrKSB7IH0KKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrUG9s
aWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25pZmZDb250ZW50
LCBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3JlZENyZWRlbnRp
YWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyb3NzT3JpZ2luQ3JlZGVudGlhbFBvbGljeSBj
cm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlD
aGVjaykKICAgICAgICAgOiBzZW5kTG9hZENhbGxiYWNrcyhzZW5kTG9hZENhbGxiYWNrcykKICAg
ICAgICAgLCBzbmlmZkNvbnRlbnQoc25pZmZDb250ZW50KQotICAgICAgICAsIHNob3VsZEJ1ZmZl
ckRhdGEoc2hvdWxkQnVmZmVyRGF0YSkKKyAgICAgICAgLCBkYXRhQnVmZmVyaW5nUG9saWN5KGRh
dGFCdWZmZXJpbmdQb2xpY3kpCiAgICAgICAgICwgYWxsb3dDcmVkZW50aWFscyhhbGxvd0NyZWRl
bnRpYWxzKQogICAgICAgICAsIGNyb3NzT3JpZ2luQ3JlZGVudGlhbFBvbGljeShjcm9zc09yaWdp
bkNyZWRlbnRpYWxQb2xpY3kpCiAgICAgICAgICwgc2VjdXJpdHlDaGVjayhzZWN1cml0eUNoZWNr
KQpAQCAtNzMsNyArNzMsNyBAQAogICAgIH0KICAgICBTZW5kQ2FsbGJhY2tQb2xpY3kgc2VuZExv
YWRDYWxsYmFja3M7CiAgICAgQ29udGVudFNuaWZmaW5nUG9saWN5IHNuaWZmQ29udGVudDsKLSAg
ICBEYXRhQnVmZmVyaW5nUG9saWN5IHNob3VsZEJ1ZmZlckRhdGE7CisgICAgRGF0YUJ1ZmZlcmlu
Z1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5OwogICAgIFN0b3JlZENyZWRlbnRpYWxzIGFsbG93
Q3JlZGVudGlhbHM7IC8vIFdoZXRoZXIgSFRUUCBjcmVkZW50aWFscyBhbmQgY29va2llcyBhcmUg
c2VudCB3aXRoIHRoZSByZXF1ZXN0LgogICAgIENsaWVudENyb3NzT3JpZ2luQ3JlZGVudGlhbFBv
bGljeSBjcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3k7IC8vIFdoZXRoZXIgd2Ugd2lsbCBhc2sg
dGhlIGNsaWVudCBmb3IgY3JlZGVudGlhbHMgKGlmIHdlIGFsbG93IGNyZWRlbnRpYWxzIGF0IGFs
bCkuCiAgICAgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrOwpJbmRleDogU291cmNl
L1dlYkNvcmUvbG9hZGVyL21hYy9SZXNvdXJjZUxvYWRlck1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1tCShyZXZpc2lvbiAx
MzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBACiAgICAgICAgIENGRGF0YVJlZiBkYXRh
ID0gc3RhdGljX2Nhc3Q8Q0ZEYXRhUmVmPihDRkFycmF5R2V0VmFsdWVBdEluZGV4KGRhdGFBcnJh
eSwgaSkpOwogICAgICAgICBpbnQgZGF0YUxlbiA9IHN0YXRpY19jYXN0PGludD4oQ0ZEYXRhR2V0
TGVuZ3RoKGRhdGEpKTsKIAotICAgICAgICBpZiAobV9vcHRpb25zLnNob3VsZEJ1ZmZlckRhdGEg
PT0gQnVmZmVyRGF0YSkgeworICAgICAgICBpZiAobV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xp
Y3kgPT0gQnVmZmVyRGF0YSkgewogICAgICAgICAgICAgaWYgKCFtX3Jlc291cmNlRGF0YSkKICAg
ICAgICAgICAgICAgICBtX3Jlc291cmNlRGF0YSA9IFJlc291cmNlQnVmZmVyOjpjcmVhdGUoKTsK
ICAgICAgICAgICAgIG1fcmVzb3VyY2VEYXRhLT5hcHBlbmQoZGF0YSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAkocmV2aXNpb24gMTM4MTc5
KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIxNCw3ICsyMTQsNyBAQAogICAgIGJvb2wgbG9hZEZhaWxlZE9yQ2FuY2Vs
ZWQoKSB7IHJldHVybiAhbV9lcnJvci5pc051bGwoKTsgfQogCiAgICAgYm9vbCBzaG91bGRTZW5k
UmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9vcHRpb25zLnNlbmRMb2Fk
Q2FsbGJhY2tzID09IFNlbmRDYWxsYmFja3M7IH0KLSAgICBib29sIHNob3VsZEJ1ZmZlckRhdGEo
KSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBCdWZmZXJEYXRh
OyB9CisgICAgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5KCkgY29uc3Qg
eyByZXR1cm4gbV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3k7IH0KICAgICAKICAgICB2aXJ0
dWFsIHZvaWQgZGVzdHJveURlY29kZWREYXRhKCkgeyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oCShyZXZpc2lvbiAxMzgxNzkp
CisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQAogICAgIC8vIFRoaXMgY2FuIGJlIGZpeGVkIGJ5
IHNwbGl0dGluZyBDT1JTIHByZWZsaWdodGluZyBvdXQgb2YgRG9jdW1lbnRUaHJlYWNhYmxlTG9h
ZGVyLgogICAgIHZpcnR1YWwgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJvb2wpOwogCi0gICAgdmly
dHVhbCB2b2lkIHNldFNob3VsZEJ1ZmZlckRhdGEoRGF0YUJ1ZmZlcmluZ1BvbGljeSk7CisgICAg
dmlydHVhbCB2b2lkIHNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSk7
CiAgICAgCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgZXhwb3NlZCBmb3IgdGhlIElucHNlY3Rvcklu
c3RydW1lbnRhdGlvbiBmb3IgcHJlZmxpZ2h0cyBpbiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
IEl0J3MgYWxzbyByZWFsbHkgbGFtZS4KICAgICB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkocmV2aXNpb24gMTM4MTc5KQor
KysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTEsMTkgKzUxLDE5IEBACiAgICAgICAgIC8vIElmIHdlIGFyZSBidWZm
ZXJpbmcgZGF0YSwgdGhlbiB3ZSBhcmUgc2F2aW5nIHRoZSBidWZmZXIgaW4gbV9kYXRhIGFuZCBu
ZWVkIHRvIG1hbnVhbGx5CiAgICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgaW5jcmVtZW50YWwgZGF0
YS4gSWYgd2UgYXJlIG5vdCBidWZmZXJpbmcsIHRoZW4gbV9kYXRhIHdpbGwgYmUgbnVsbCBhbmQK
ICAgICAgICAgLy8gdGhlIGJ1ZmZlciBjb250YWlucyBvbmx5IHRoZSBpbmNyZW1lbnRhbCBkYXRh
LgotICAgICAgICBzaXplX3QgcHJldmlvdXNEYXRhTGVuZ3RoID0gKG1fb3B0aW9ucy5zaG91bGRC
dWZmZXJEYXRhID09IEJ1ZmZlckRhdGEpID8gZW5jb2RlZFNpemUoKSA6IDA7CisgICAgICAgIHNp
emVfdCBwcmV2aW91c0RhdGFMZW5ndGggPSAobV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kg
PT0gQnVmZmVyRGF0YSkgPyBlbmNvZGVkU2l6ZSgpIDogMDsKICAgICAgICAgQVNTRVJUKGRhdGEt
PnNpemUoKSA+PSBwcmV2aW91c0RhdGFMZW5ndGgpOwogICAgICAgICBpbmNyZW1lbnRhbERhdGEg
PSBkYXRhLT5kYXRhKCkgKyBwcmV2aW91c0RhdGFMZW5ndGg7CiAgICAgICAgIGluY3JlbWVudGFs
RGF0YUxlbmd0aCA9IGRhdGEtPnNpemUoKSAtIHByZXZpb3VzRGF0YUxlbmd0aDsKICAgICB9CiAK
LSAgICBpZiAobV9vcHRpb25zLnNob3VsZEJ1ZmZlckRhdGEgPT0gQnVmZmVyRGF0YSkgeworICAg
IGlmIChtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9PSBCdWZmZXJEYXRhKSB7CiAgICAg
ICAgIGlmIChkYXRhKQogICAgICAgICAgICAgc2V0RW5jb2RlZFNpemUoZGF0YS0+c2l6ZSgpKTsK
ICAgICAgICAgbV9kYXRhID0gZGF0YTsKICAgICB9CiAKLSAgICBEYXRhQnVmZmVyaW5nUG9saWN5
IGRhdGFCdWZmZXJpbmdQb2xpY3kgPSBtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YTsKKyAgICBE
YXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3kgPSBtX29wdGlvbnMuZGF0YUJ1
ZmZlcmluZ1BvbGljeTsKICAgICBpZiAoaW5jcmVtZW50YWxEYXRhTGVuZ3RoKSB7CiAgICAgICAg
IENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hlZFJhd1Jlc291cmNlQ2xpZW50PiB3KG1f
Y2xpZW50cyk7CiAgICAgICAgIHdoaWxlIChDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCogYyA9IHcu
bmV4dCgpKQpAQCAtNzEsOSArNzEsOSBAQAogICAgIH0KICAgICBDYWNoZWRSZXNvdXJjZTo6ZGF0
YShtX2RhdGEsIGFsbERhdGFSZWNlaXZlZCk7CiAKLSAgICBpZiAoZGF0YUJ1ZmZlcmluZ1BvbGlj
eSA9PSBCdWZmZXJEYXRhICYmIG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09IERvTm90QnVm
ZmVyRGF0YSkgeworICAgIGlmIChkYXRhQnVmZmVyaW5nUG9saWN5ID09IEJ1ZmZlckRhdGEgJiYg
bV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gRG9Ob3RCdWZmZXJEYXRhKSB7CiAgICAg
ICAgIGlmIChtX2xvYWRlcikKLSAgICAgICAgICAgIG1fbG9hZGVyLT5zZXRTaG91bGRCdWZmZXJE
YXRhKERvTm90QnVmZmVyRGF0YSk7CisgICAgICAgICAgICBtX2xvYWRlci0+c2V0RGF0YUJ1ZmZl
cmluZ1BvbGljeShEb05vdEJ1ZmZlckRhdGEpOwogICAgICAgICBjbGVhcigpOwogICAgIH0KIH0K
QEAgLTEzNyw5ICsxMzcsOSBAQAogICAgICAgICBtX2xvYWRlci0+c2V0RGVmZXJzTG9hZGluZyhk
ZWZlcnMpOwogfQogCi12b2lkIENhY2hlZFJhd1Jlc291cmNlOjpzZXRTaG91bGRCdWZmZXJEYXRh
KERhdGFCdWZmZXJpbmdQb2xpY3kgc2hvdWxkQnVmZmVyRGF0YSkKK3ZvaWQgQ2FjaGVkUmF3UmVz
b3VyY2U6OnNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVm
ZmVyaW5nUG9saWN5KQogewotICAgIG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID0gc2hvdWxk
QnVmZmVyRGF0YTsKKyAgICBtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IGRhdGFCdWZm
ZXJpbmdQb2xpY3k7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZElnbm9yZUhlYWRlckZvckNhY2hl
UmV1c2UoQXRvbWljU3RyaW5nIGhlYWRlck5hbWUpCkBAIC0xNjIsNyArMTYyLDcgQEAKIAogYm9v
bCBDYWNoZWRSYXdSZXNvdXJjZTo6Y2FuUmV1c2UoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBuZXdS
ZXF1ZXN0KSBjb25zdAogewotICAgIGlmIChtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBE
b05vdEJ1ZmZlckRhdGEpCisgICAgaWYgKG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID09
IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fcmVz
b3VyY2VSZXF1ZXN0Lmh0dHBNZXRob2QoKSAhPSBuZXdSZXF1ZXN0Lmh0dHBNZXRob2QoKSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmgJKHJldmlzaW9u
IDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBAQAogICAgIFBhc3NSZWZQdHI8UmVzb3VyY2VC
dWZmZXI+IHJlc291cmNlRGF0YSgpOwogCiAgICAgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJvb2wp
OwotICAgIHZvaWQgc2V0U2hvdWxkQnVmZmVyRGF0YShEYXRhQnVmZmVyaW5nUG9saWN5KTsKKyAg
ICB2b2lkIHNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSk7CiAKICNp
ZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgdHlwZWRlZiBSdW5Mb29wVGltZXI8TWFpblJlc291
cmNlTG9hZGVyPiBNYWluUmVzb3VyY2VMb2FkZXJUaW1lcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAJKHJldmlzaW9u
IDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjkxLDcgKzI5MSw3IEBACiAKICAgICBpZiAoZGF0
YSkgewogICAgICAgICBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhIGNvbnN0KiBy
ZXNvdXJjZURhdGEgPSBtX3Jlc291cmNlc0RhdGEtPmRhdGEocmVxdWVzdElkKTsKLSAgICAgICAg
aWYgKHJlc291cmNlRGF0YSAmJiAhbV9sb2FkaW5nWEhSU3luY2hyb25vdXNseSAmJiAoIXJlc291
cmNlRGF0YS0+Y2FjaGVkUmVzb3VyY2UoKSB8fCAhcmVzb3VyY2VEYXRhLT5jYWNoZWRSZXNvdXJj
ZSgpLT5zaG91bGRCdWZmZXJEYXRhKCkgfHwgaXNFcnJvclN0YXR1c0NvZGUocmVzb3VyY2VEYXRh
LT5odHRwU3RhdHVzQ29kZSgpKSkpCisgICAgICAgIGlmIChyZXNvdXJjZURhdGEgJiYgIW1fbG9h
ZGluZ1hIUlN5bmNocm9ub3VzbHkgJiYgKCFyZXNvdXJjZURhdGEtPmNhY2hlZFJlc291cmNlKCkg
fHwgcmVzb3VyY2VEYXRhLT5jYWNoZWRSZXNvdXJjZSgpLT5kYXRhQnVmZmVyaW5nUG9saWN5KCkg
PT0gRG9Ob3RCdWZmZXJEYXRhIHx8IGlzRXJyb3JTdGF0dXNDb2RlKHJlc291cmNlRGF0YS0+aHR0
cFN0YXR1c0NvZGUoKSkpKQogICAgICAgICAgICAgbV9yZXNvdXJjZXNEYXRhLT5tYXliZUFkZFJl
c291cmNlRGF0YShyZXF1ZXN0SWQsIGRhdGEsIGRhdGFMZW5ndGgpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180377</attachid>
            <date>2012-12-20 11:51:26 -0800</date>
            <delta_ts>2012-12-20 11:52:05 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-105450-20121220114842.patch</filename>
            <type>text/plain</type>
            <size>17392</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODE4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTE5ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuYW1lIHNob3VsZEJ1ZmZl
ckRhdGEgdG8gZGF0YUJ1ZmZlcmluZ1BvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5
IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHNpbXBsZSByZW5hbWUuCisK
KyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFEb2N1bWVudFBhcnNlcjo6Y3JlYXRlRG9jdW1lbnRTdHJ1Y3R1cmUpOgorICAgICAgICAqIGh0
bWwvUGx1Z2luRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luRG9jdW1lbnRQ
YXJzZXI6OmFwcGVuZEJ5dGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRSZWNlaXZlRGF0YSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRS
ZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6c2V0RGF0YUJ1ZmZlcmluZ1BvbGljeSk6
CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoTWFpblJl
c291cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnNldERhdGFCdWZmZXJpbmdQb2xpY3kpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmFkZERhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0YSk6CisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChSZXNvdXJjZUxvYWRlcik6CisgICAg
ICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkZXJPcHRpb25zOjpSZXNvdXJjZUxvYWRlck9wdGlvbnMpOgorICAgICAgICAo
UmVzb3VyY2VMb2FkZXJPcHRpb25zKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3
UmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnNldERhdGFCdWZmZXJpbmdQ
b2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OmNhblJldXNlKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaDoKKyAgICAgICAgKENh
Y2hlZFJhd1Jlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkYXRhQnVmZmVyaW5nUG9saWN5
KToKKyAgICAgICAgKiBsb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhQXJyYXkpOgorICAgICAgICAq
IHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNv
bm5lY3QpOgorCiAyMDEyLTEyLTE5ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgSW1wbGVtZW50IENTUyBwYXJzaW5nIGZvciBDU1MgdHJhbnNpdGlvbnMgdW5w
cmVmaXhlZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAkocmV2aXNp
b24gMTM4MTc5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudFBhcnNlcjo6
Y3JlYXRlRG9jdW1lbnQKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
cmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZUxvYWRl
cigpLT5zZXRTaG91bGRCdWZmZXJEYXRhKERvTm90QnVmZmVyRGF0YSk7CisgICAgZnJhbWUtPmxv
YWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VMb2FkZXIoKS0+c2V0
RGF0YUJ1ZmZlcmluZ1BvbGljeShEb05vdEJ1ZmZlckRhdGEpOwogfQogCiB2b2lkIE1lZGlhRG9j
dW1lbnRQYXJzZXI6OmFwcGVuZEJ5dGVzKERvY3VtZW50V3JpdGVyKiwgY29uc3QgY2hhciosIHNp
emVfdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuY3BwCShyZXZpc2lv
biAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1BsdWdpbkRvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgUGx1Z2luRG9jdW1lbnRQYXJzZXI6
OmFwcGVuZEJ5dGVzKEQKICAgICAgICAgICAgIC8vIEluIGEgcGx1Z2luIGRvY3VtZW50LCB0aGUg
bWFpbiByZXNvdXJjZSBpcyB0aGUgcGx1Z2luLiBJZiB3ZSBoYXZlIGEgbnVsbCB3aWRnZXQsIHRo
YXQgbWVhbnMKICAgICAgICAgICAgIC8vIHRoZSBsb2FkaW5nIG9mIHRoZSBwbHVnaW4gd2FzIGNh
bmNlbGxlZCwgd2hpY2ggZ2l2ZXMgdXMgYSBudWxsIG1haW5SZXNvdXJjZUxvYWRlcigpLCBzbyB3
ZQogICAgICAgICAgICAgLy8gbmVlZCB0byBoYXZlIHRoaXMgY2FsbCBpbiBhIG51bGwgY2hlY2sg
b2YgdGhlIHdpZGdldCBvciBvZiBtYWluUmVzb3VyY2VMb2FkZXIoKS4KLSAgICAgICAgICAgIGZy
YW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9hZGVy
KCktPnNldFNob3VsZEJ1ZmZlckRhdGEoRG9Ob3RCdWZmZXJEYXRhKTsKKyAgICAgICAgICAgIGZy
YW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9hZGVy
KCktPnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAgICAgfQog
ICAgIH0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJj
ZUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjkxLDcgKzI5MSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZUQK
IAogICAgIGlmIChkYXRhKSB7CiAgICAgICAgIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJj
ZURhdGEgY29uc3QqIHJlc291cmNlRGF0YSA9IG1fcmVzb3VyY2VzRGF0YS0+ZGF0YShyZXF1ZXN0
SWQpOwotICAgICAgICBpZiAocmVzb3VyY2VEYXRhICYmICFtX2xvYWRpbmdYSFJTeW5jaHJvbm91
c2x5ICYmICghcmVzb3VyY2VEYXRhLT5jYWNoZWRSZXNvdXJjZSgpIHx8ICFyZXNvdXJjZURhdGEt
PmNhY2hlZFJlc291cmNlKCktPnNob3VsZEJ1ZmZlckRhdGEoKSB8fCBpc0Vycm9yU3RhdHVzQ29k
ZShyZXNvdXJjZURhdGEtPmh0dHBTdGF0dXNDb2RlKCkpKSkKKyAgICAgICAgaWYgKHJlc291cmNl
RGF0YSAmJiAhbV9sb2FkaW5nWEhSU3luY2hyb25vdXNseSAmJiAoIXJlc291cmNlRGF0YS0+Y2Fj
aGVkUmVzb3VyY2UoKSB8fCByZXNvdXJjZURhdGEtPmNhY2hlZFJlc291cmNlKCktPmRhdGFCdWZm
ZXJpbmdQb2xpY3koKSA9PSBEb05vdEJ1ZmZlckRhdGEgfHwgaXNFcnJvclN0YXR1c0NvZGUocmVz
b3VyY2VEYXRhLT5odHRwU3RhdHVzQ29kZSgpKSkpCiAgICAgICAgICAgICBtX3Jlc291cmNlc0Rh
dGEtPm1heWJlQWRkUmVzb3VyY2VEYXRhKHJlcXVlc3RJZCwgZGF0YSwgZGF0YUxlbmd0aCk7CiAg
ICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM4MTc5KQorKysgU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MSw3
ICszNzEsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlCiAgICAg
ICAgICAgICBvcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gRG9Ob3RTZW5kQ2FsbGJhY2tzOwog
ICAgICAgICAgICAgb3B0aW9ucy5zbmlmZkNvbnRlbnQgPSBEb05vdFNuaWZmQ29udGVudDsKICAg
ICAgICAgICAgIC8vIEtlZXAgYnVmZmVyaW5nIHRoZSBkYXRhIGZvciB0aGUgcHJlZmxpZ2h0IHJl
cXVlc3QuCi0gICAgICAgICAgICBvcHRpb25zLnNob3VsZEJ1ZmZlckRhdGEgPSBCdWZmZXJEYXRh
OworICAgICAgICAgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gQnVmZmVyRGF0YTsK
ICAgICAgICAgfQogCiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0KHJl
cXVlc3QsIG9wdGlvbnMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJj
ZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNv
dXJjZUxvYWRlci5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjYsMTAgKzY2Niwx
MCBAQCBib29sIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGVmZXJzTG9hZGluZygpCiAgICAgcmV0dXJu
IGxvYWRlcigpID8gbG9hZGVyKCktPmRlZmVyc0xvYWRpbmcoKSA6IGZhbHNlOwogfQogCi12b2lk
IE1haW5SZXNvdXJjZUxvYWRlcjo6c2V0U2hvdWxkQnVmZmVyRGF0YShEYXRhQnVmZmVyaW5nUG9s
aWN5IHNob3VsZEJ1ZmZlckRhdGEpCit2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6c2V0RGF0YUJ1
ZmZlcmluZ1BvbGljeShEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3kpCiB7
CiAgICAgQVNTRVJUKG1fcmVzb3VyY2UpOwotICAgIG1fcmVzb3VyY2UtPnNldFNob3VsZEJ1ZmZl
ckRhdGEoc2hvdWxkQnVmZmVyRGF0YSk7CisgICAgbV9yZXNvdXJjZS0+c2V0RGF0YUJ1ZmZlcmlu
Z1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KTsKIH0KIAogUmVzb3VyY2VMb2FkZXIqIE1haW5S
ZXNvdXJjZUxvYWRlcjo6bG9hZGVyKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmgJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gcmVzb3VyY2VE
YXRhKCk7CiAKICAgICB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7Ci0gICAgdm9pZCBzZXRT
aG91bGRCdWZmZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kpOworICAgIHZvaWQgc2V0RGF0YUJ1
ZmZlcmluZ1BvbGljeShEYXRhQnVmZmVyaW5nUG9saWN5KTsKIAogI2lmIEhBVkUoUlVOTE9PUF9U
SU1FUikKICAgICB0eXBlZGVmIFJ1bkxvb3BUaW1lcjxNYWluUmVzb3VyY2VMb2FkZXI+IE1haW5S
ZXNvdXJjZUxvYWRlclRpbWVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODksMTkgKzE4OSwxOSBAQCBGcmFt
ZUxvYWRlciogUmVzb3VyY2VMb2FkZXI6OmZyYW1lTG9hZGVyCiAgICAgcmV0dXJuIG1fZnJhbWUt
PmxvYWRlcigpOwogfQogCi12b2lkIFJlc291cmNlTG9hZGVyOjpzZXRTaG91bGRCdWZmZXJEYXRh
KERhdGFCdWZmZXJpbmdQb2xpY3kgc2hvdWxkQnVmZmVyRGF0YSkKK3ZvaWQgUmVzb3VyY2VMb2Fk
ZXI6OnNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVy
aW5nUG9saWN5KQogeyAKLSAgICBtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9IHNob3VsZEJ1
ZmZlckRhdGE7IAorICAgIG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gZGF0YUJ1ZmZl
cmluZ1BvbGljeTsgCiAKICAgICAvLyBSZXNldCBhbnkgYWxyZWFkeSBidWZmZXJlZCBkYXRhCi0g
ICAgaWYgKHNob3VsZEJ1ZmZlckRhdGEgPT0gRG9Ob3RCdWZmZXJEYXRhKQorICAgIGlmIChkYXRh
QnVmZmVyaW5nUG9saWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAgbV9yZXNvdXJjZURh
dGEgPSAwOwogfQogICAgIAogCiB2b2lkIFJlc291cmNlTG9hZGVyOjphZGREYXRhKGNvbnN0IGNo
YXIqIGRhdGEsIGludCBsZW5ndGgsIGJvb2wgYWxsQXRPbmNlKQogewotICAgIGlmIChtX29wdGlv
bnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBEb05vdEJ1ZmZlckRhdGEpCisgICAgaWYgKG1fb3B0aW9u
cy5kYXRhQnVmZmVyaW5nUG9saWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgaWYgKGFsbEF0T25jZSkgewpAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnMKIAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2ls
bFN0b3BCdWZmZXJpbmdEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiB7Ci0gICAg
aWYgKG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09IERvTm90QnVmZmVyRGF0YSkKKyAgICBp
ZiAobV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gRG9Ob3RCdWZmZXJEYXRhKQogICAg
ICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoIW1fcmVzb3VyY2VEYXRhKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDcgKzE0Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdDsgfQogCi0gICAgdm9pZCBzZXRTaG91bGRCdWZm
ZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kpOworICAgIHZvaWQgc2V0RGF0YUJ1ZmZlcmluZ1Bv
bGljeShEYXRhQnVmZmVyaW5nUG9saWN5KTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgJKHJldmlzaW9uIDEzODE3OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAkod29ya2luZyBj
b3B5KQpAQCAtNjEsMTEgKzYxLDExIEBAIGVudW0gU2VjdXJpdHlDaGVja1BvbGljeSB7CiB9Owog
CiBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlv
bnMoKSA6IHNlbmRMb2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcyksIHNuaWZmQ29udGVu
dChEb05vdFNuaWZmQ29udGVudCksIHNob3VsZEJ1ZmZlckRhdGEoQnVmZmVyRGF0YSksIGFsbG93
Q3JlZGVudGlhbHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKSwgY3Jvc3NPcmlnaW5DcmVk
ZW50aWFsUG9saWN5KERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscyksIHNl
Y3VyaXR5Q2hlY2soRG9TZWN1cml0eUNoZWNrKSB7IH0KLSAgICBSZXNvdXJjZUxvYWRlck9wdGlv
bnMoU2VuZENhbGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQ
b2xpY3kgc25pZmZDb250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IHNob3VsZEJ1ZmZlckRhdGEs
IFN0b3JlZENyZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyb3NzT3JpZ2luQ3Jl
ZGVudGlhbFBvbGljeSBjcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQ
b2xpY3kgc2VjdXJpdHlDaGVjaykKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKSA6IHNlbmRM
b2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcyksIHNuaWZmQ29udGVudChEb05vdFNuaWZm
Q29udGVudCksIGRhdGFCdWZmZXJpbmdQb2xpY3koQnVmZmVyRGF0YSksIGFsbG93Q3JlZGVudGlh
bHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKSwgY3Jvc3NPcmlnaW5DcmVkZW50aWFsUG9s
aWN5KERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscyksIHNlY3VyaXR5Q2hl
Y2soRG9TZWN1cml0eUNoZWNrKSB7IH0KKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENh
bGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25p
ZmZDb250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3Jl
ZENyZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyb3NzT3JpZ2luQ3JlZGVudGlh
bFBvbGljeSBjcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kg
c2VjdXJpdHlDaGVjaykKICAgICAgICAgOiBzZW5kTG9hZENhbGxiYWNrcyhzZW5kTG9hZENhbGxi
YWNrcykKICAgICAgICAgLCBzbmlmZkNvbnRlbnQoc25pZmZDb250ZW50KQotICAgICAgICAsIHNo
b3VsZEJ1ZmZlckRhdGEoc2hvdWxkQnVmZmVyRGF0YSkKKyAgICAgICAgLCBkYXRhQnVmZmVyaW5n
UG9saWN5KGRhdGFCdWZmZXJpbmdQb2xpY3kpCiAgICAgICAgICwgYWxsb3dDcmVkZW50aWFscyhh
bGxvd0NyZWRlbnRpYWxzKQogICAgICAgICAsIGNyb3NzT3JpZ2luQ3JlZGVudGlhbFBvbGljeShj
cm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3kpCiAgICAgICAgICwgc2VjdXJpdHlDaGVjayhzZWN1
cml0eUNoZWNrKQpAQCAtNzMsNyArNzMsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25z
IHsKICAgICB9CiAgICAgU2VuZENhbGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzOwogICAg
IENvbnRlbnRTbmlmZmluZ1BvbGljeSBzbmlmZkNvbnRlbnQ7Ci0gICAgRGF0YUJ1ZmZlcmluZ1Bv
bGljeSBzaG91bGRCdWZmZXJEYXRhOworICAgIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1ZmZl
cmluZ1BvbGljeTsKICAgICBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzOyAvLyBX
aGV0aGVyIEhUVFAgY3JlZGVudGlhbHMgYW5kIGNvb2tpZXMgYXJlIHNlbnQgd2l0aCB0aGUgcmVx
dWVzdC4KICAgICBDbGllbnRDcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3kgY3Jvc3NPcmlnaW5D
cmVkZW50aWFsUG9saWN5OyAvLyBXaGV0aGVyIHdlIHdpbGwgYXNrIHRoZSBjbGllbnQgZm9yIGNy
ZWRlbnRpYWxzIChpZiB3ZSBhbGxvdyBjcmVkZW50aWFscyBhdCBhbGwpLgogICAgIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjazsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkocmV2aXNpb24gMTM4MTc5KQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTEsMTkgKzUxLDE5IEBAIHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEo
UGFzc1JlZlB0cjwKICAgICAgICAgLy8gSWYgd2UgYXJlIGJ1ZmZlcmluZyBkYXRhLCB0aGVuIHdl
IGFyZSBzYXZpbmcgdGhlIGJ1ZmZlciBpbiBtX2RhdGEgYW5kIG5lZWQgdG8gbWFudWFsbHkKICAg
ICAgICAgLy8gY2FsY3VsYXRlIHRoZSBpbmNyZW1lbnRhbCBkYXRhLiBJZiB3ZSBhcmUgbm90IGJ1
ZmZlcmluZywgdGhlbiBtX2RhdGEgd2lsbCBiZSBudWxsIGFuZAogICAgICAgICAvLyB0aGUgYnVm
ZmVyIGNvbnRhaW5zIG9ubHkgdGhlIGluY3JlbWVudGFsIGRhdGEuCi0gICAgICAgIHNpemVfdCBw
cmV2aW91c0RhdGFMZW5ndGggPSAobV9vcHRpb25zLnNob3VsZEJ1ZmZlckRhdGEgPT0gQnVmZmVy
RGF0YSkgPyBlbmNvZGVkU2l6ZSgpIDogMDsKKyAgICAgICAgc2l6ZV90IHByZXZpb3VzRGF0YUxl
bmd0aCA9IChtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9PSBCdWZmZXJEYXRhKSA/IGVu
Y29kZWRTaXplKCkgOiAwOwogICAgICAgICBBU1NFUlQoZGF0YS0+c2l6ZSgpID49IHByZXZpb3Vz
RGF0YUxlbmd0aCk7CiAgICAgICAgIGluY3JlbWVudGFsRGF0YSA9IGRhdGEtPmRhdGEoKSArIHBy
ZXZpb3VzRGF0YUxlbmd0aDsKICAgICAgICAgaW5jcmVtZW50YWxEYXRhTGVuZ3RoID0gZGF0YS0+
c2l6ZSgpIC0gcHJldmlvdXNEYXRhTGVuZ3RoOwogICAgIH0KIAotICAgIGlmIChtX29wdGlvbnMu
c2hvdWxkQnVmZmVyRGF0YSA9PSBCdWZmZXJEYXRhKSB7CisgICAgaWYgKG1fb3B0aW9ucy5kYXRh
QnVmZmVyaW5nUG9saWN5ID09IEJ1ZmZlckRhdGEpIHsKICAgICAgICAgaWYgKGRhdGEpCiAgICAg
ICAgICAgICBzZXRFbmNvZGVkU2l6ZShkYXRhLT5zaXplKCkpOwogICAgICAgICBtX2RhdGEgPSBk
YXRhOwogICAgIH0KIAotICAgIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1ZmZlcmluZ1BvbGlj
eSA9IG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhOworICAgIERhdGFCdWZmZXJpbmdQb2xpY3kg
ZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5OwogICAg
IGlmIChpbmNyZW1lbnRhbERhdGFMZW5ndGgpIHsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VDbGll
bnRXYWxrZXI8Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ+IHcobV9jbGllbnRzKTsKICAgICAgICAg
d2hpbGUgKENhY2hlZFJhd1Jlc291cmNlQ2xpZW50KiBjID0gdy5uZXh0KCkpCkBAIC03MSw5ICs3
MSw5IEBAIHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEoUGFzc1JlZlB0cjwKICAgICB9CiAg
ICAgQ2FjaGVkUmVzb3VyY2U6OmRhdGEobV9kYXRhLCBhbGxEYXRhUmVjZWl2ZWQpOwogCi0gICAg
aWYgKGRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gQnVmZmVyRGF0YSAmJiBtX29wdGlvbnMuc2hvdWxk
QnVmZmVyRGF0YSA9PSBEb05vdEJ1ZmZlckRhdGEpIHsKKyAgICBpZiAoZGF0YUJ1ZmZlcmluZ1Bv
bGljeSA9PSBCdWZmZXJEYXRhICYmIG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID09IERv
Tm90QnVmZmVyRGF0YSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCi0gICAgICAgICAgICBtX2xv
YWRlci0+c2V0U2hvdWxkQnVmZmVyRGF0YShEb05vdEJ1ZmZlckRhdGEpOworICAgICAgICAgICAg
bV9sb2FkZXItPnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAg
ICAgY2xlYXIoKTsKICAgICB9CiB9CkBAIC0xMzcsOSArMTM3LDkgQEAgdm9pZCBDYWNoZWRSYXdS
ZXNvdXJjZTo6c2V0RGVmZXJzTG9hZGluZwogICAgICAgICBtX2xvYWRlci0+c2V0RGVmZXJzTG9h
ZGluZyhkZWZlcnMpOwogfQogCi12b2lkIENhY2hlZFJhd1Jlc291cmNlOjpzZXRTaG91bGRCdWZm
ZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kgc2hvdWxkQnVmZmVyRGF0YSkKK3ZvaWQgQ2FjaGVk
UmF3UmVzb3VyY2U6OnNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSBk
YXRhQnVmZmVyaW5nUG9saWN5KQogewotICAgIG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID0g
c2hvdWxkQnVmZmVyRGF0YTsKKyAgICBtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IGRh
dGFCdWZmZXJpbmdQb2xpY3k7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZElnbm9yZUhlYWRlckZv
ckNhY2hlUmV1c2UoQXRvbWljU3RyaW5nIGhlYWRlck5hbWUpCkBAIC0xNjIsNyArMTYyLDcgQEAg
c3RhdGljIGJvb2wgc2hvdWxkSWdub3JlSGVhZGVyRm9yQ2FjaGVSZQogCiBib29sIENhY2hlZFJh
d1Jlc291cmNlOjpjYW5SZXVzZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QpIGNv
bnN0CiB7Ci0gICAgaWYgKG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09IERvTm90QnVmZmVy
RGF0YSkKKyAgICBpZiAobV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gRG9Ob3RCdWZm
ZXJEYXRhKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9yZXNvdXJjZVJlcXVl
c3QuaHR0cE1ldGhvZCgpICE9IG5ld1JlcXVlc3QuaHR0cE1ldGhvZCgpKQpJbmRleDogU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgJKHJldmlzaW9u
IDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGlz
IGNhbiBiZSBmaXhlZCBieSBzcGxpdHRpbmcgQ09SUyBwcmVmbGlnaHRpbmcgb3V0IG9mIERvY3Vt
ZW50VGhyZWFjYWJsZUxvYWRlci4KICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhi
b29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRCdWZmZXJEYXRhKERhdGFCdWZmZXJp
bmdQb2xpY3kpOworICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhQnVmZmVyaW5nUG9saWN5KERhdGFC
dWZmZXJpbmdQb2xpY3kpOwogICAgIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGV4cG9zZWQgZm9y
IHRoZSBJbnBzZWN0b3JJbnN0cnVtZW50YXRpb24gZm9yIHByZWZsaWdodHMgaW4gRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyLiBJdCdzIGFsc28gcmVhbGx5IGxhbWUuCiAgICAgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAkocmV2aXNpb24gMTM4
MTc5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIxNCw3ICsyMTQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb2FkRmFp
bGVkT3JDYW5jZWxlZCgpIHsgcmV0dXJuICFtX2Vycm9yLmlzTnVsbCgpOyB9CiAKICAgICBib29s
IHNob3VsZFNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX29wdGlv
bnMuc2VuZExvYWRDYWxsYmFja3MgPT0gU2VuZENhbGxiYWNrczsgfQotICAgIGJvb2wgc2hvdWxk
QnVmZmVyRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09
IEJ1ZmZlckRhdGE7IH0KKyAgICBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xp
Y3koKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeTsgfQogICAg
IAogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoKSB7IH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9SZXNvdXJjZUxvYWRlck1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1tCShyZXZpc2lv
biAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6
OmRpZFJlY2VpdmVEYXRhQXJyYXkKICAgICAgICAgQ0ZEYXRhUmVmIGRhdGEgPSBzdGF0aWNfY2Fz
dDxDRkRhdGFSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoZGF0YUFycmF5LCBpKSk7CiAgICAg
ICAgIGludCBkYXRhTGVuID0gc3RhdGljX2Nhc3Q8aW50PihDRkRhdGFHZXRMZW5ndGgoZGF0YSkp
OwogCi0gICAgICAgIGlmIChtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBCdWZmZXJEYXRh
KSB7CisgICAgICAgIGlmIChtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9PSBCdWZmZXJE
YXRhKSB7CiAgICAgICAgICAgICBpZiAoIW1fcmVzb3VyY2VEYXRhKQogICAgICAgICAgICAgICAg
IG1fcmVzb3VyY2VEYXRhID0gUmVzb3VyY2VCdWZmZXI6OmNyZWF0ZSgpOwogICAgICAgICAgICAg
bV9yZXNvdXJjZURhdGEtPmFwcGVuZChkYXRhKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgRXZlbnRT
b3VyY2U6OmNvbm5lY3QoKQogICAgIG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscyA9IChvcmlnaW4t
PmNhblJlcXVlc3QobV91cmwpIHx8IG1fd2l0aENyZWRlbnRpYWxzKSA/IEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMgOiBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHM7CiAgICAgb3B0aW9ucy5wcmVm
bGlnaHRQb2xpY3kgPSBQcmV2ZW50UHJlZmxpZ2h0OwogICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5S
ZXF1ZXN0UG9saWN5ID0gVXNlQWNjZXNzQ29udHJvbDsKLSAgICBvcHRpb25zLnNob3VsZEJ1ZmZl
ckRhdGEgPSBEb05vdEJ1ZmZlckRhdGE7CisgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5
ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2VjdXJpdHlPcmlnaW4gPSBvcmlnaW47
CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIG9wdGlvbnMpOwpJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQXNzb2NpYXRlZFVSTExvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzb2NpYXRlZFVSTExvYWRlci5jcHAJKHJldmlzaW9u
IDEzODE3OSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2Fk
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBBc3NvY2lhdGVk
VVJMTG9hZGVyOjpsb2FkQXN5bmNocm9ubwogICAgICAgICBvcHRpb25zLmFsbG93Q3JlZGVudGlh
bHMgPSBtX29wdGlvbnMuYWxsb3dDcmVkZW50aWFscyA/IEFsbG93U3RvcmVkQ3JlZGVudGlhbHMg
OiBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHM7CiAgICAgICAgIG9wdGlvbnMucHJlZmxpZ2h0
UG9saWN5ID0gbV9vcHRpb25zLmZvcmNlUHJlZmxpZ2h0ID8gRm9yY2VQcmVmbGlnaHQgOiBDb25z
aWRlclByZWZsaWdodDsKICAgICAgICAgb3B0aW9ucy5jcm9zc09yaWdpblJlcXVlc3RQb2xpY3kg
PSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpDcm9zc09yaWdpblJlcXVlc3RQb2xpY3k+KG1fb3B0aW9u
cy5jcm9zc09yaWdpblJlcXVlc3RQb2xpY3kpOwotICAgICAgICBvcHRpb25zLnNob3VsZEJ1ZmZl
ckRhdGEgPSBEb05vdEJ1ZmZlckRhdGE7CisgICAgICAgIG9wdGlvbnMuZGF0YUJ1ZmZlcmluZ1Bv
bGljeSA9IERvTm90QnVmZmVyRGF0YTsKIAogICAgICAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHdlYmNvcmVSZXF1ZXN0ID0gbmV3UmVxdWVzdC50b1Jlc291cmNlUmVxdWVzdCgpOwogICAgICAg
ICBEb2N1bWVudCogd2ViY29yZURvY3VtZW50ID0gbV9mcmFtZUltcGwtPmZyYW1lKCktPmRvY3Vt
ZW50KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180378</attachid>
            <date>2012-12-20 11:55:30 -0800</date>
            <delta_ts>2012-12-20 12:27:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-105450-20121220115246.patch</filename>
            <type>text/plain</type>
            <size>18080</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODE4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTE5ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuYW1lIHNob3VsZEJ1ZmZl
ckRhdGEgdG8gZGF0YUJ1ZmZlcmluZ1BvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5
IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHNpbXBsZSByZW5hbWUuCisK
KyAgICAgICAgKiBodG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFEb2N1bWVudFBhcnNlcjo6Y3JlYXRlRG9jdW1lbnRTdHJ1Y3R1cmUpOgorICAgICAgICAqIGh0
bWwvUGx1Z2luRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luRG9jdW1lbnRQ
YXJzZXI6OmFwcGVuZEJ5dGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRSZWNlaXZlRGF0YSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRS
ZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6c2V0RGF0YUJ1ZmZlcmluZ1BvbGljeSk6
CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoTWFpblJl
c291cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnNldERhdGFCdWZmZXJpbmdQb2xpY3kpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmFkZERhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0YSk6CisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChSZXNvdXJjZUxvYWRlcik6CisgICAg
ICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkZXJPcHRpb25zOjpSZXNvdXJjZUxvYWRlck9wdGlvbnMpOgorICAgICAgICAo
UmVzb3VyY2VMb2FkZXJPcHRpb25zKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3
UmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnNldERhdGFCdWZmZXJpbmdQ
b2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OmNhblJldXNlKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaDoKKyAgICAgICAgKENh
Y2hlZFJhd1Jlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkYXRhQnVmZmVyaW5nUG9saWN5
KToKKyAgICAgICAgKiBsb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhQXJyYXkpOgorICAgICAgICAq
IHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNv
bm5lY3QpOgorCiAyMDEyLTEyLTE5ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgSW1wbGVtZW50IENTUyBwYXJzaW5nIGZvciBDU1MgdHJhbnNpdGlvbnMgdW5w
cmVmaXhlZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAkocmV2aXNp
b24gMTM4MTc5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudFBhcnNlcjo6
Y3JlYXRlRG9jdW1lbnQKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
cmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZUxvYWRl
cigpLT5zZXRTaG91bGRCdWZmZXJEYXRhKERvTm90QnVmZmVyRGF0YSk7CisgICAgZnJhbWUtPmxv
YWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VMb2FkZXIoKS0+c2V0
RGF0YUJ1ZmZlcmluZ1BvbGljeShEb05vdEJ1ZmZlckRhdGEpOwogfQogCiB2b2lkIE1lZGlhRG9j
dW1lbnRQYXJzZXI6OmFwcGVuZEJ5dGVzKERvY3VtZW50V3JpdGVyKiwgY29uc3QgY2hhciosIHNp
emVfdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuY3BwCShyZXZpc2lv
biAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1BsdWdpbkRvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgUGx1Z2luRG9jdW1lbnRQYXJzZXI6
OmFwcGVuZEJ5dGVzKEQKICAgICAgICAgICAgIC8vIEluIGEgcGx1Z2luIGRvY3VtZW50LCB0aGUg
bWFpbiByZXNvdXJjZSBpcyB0aGUgcGx1Z2luLiBJZiB3ZSBoYXZlIGEgbnVsbCB3aWRnZXQsIHRo
YXQgbWVhbnMKICAgICAgICAgICAgIC8vIHRoZSBsb2FkaW5nIG9mIHRoZSBwbHVnaW4gd2FzIGNh
bmNlbGxlZCwgd2hpY2ggZ2l2ZXMgdXMgYSBudWxsIG1haW5SZXNvdXJjZUxvYWRlcigpLCBzbyB3
ZQogICAgICAgICAgICAgLy8gbmVlZCB0byBoYXZlIHRoaXMgY2FsbCBpbiBhIG51bGwgY2hlY2sg
b2YgdGhlIHdpZGdldCBvciBvZiBtYWluUmVzb3VyY2VMb2FkZXIoKS4KLSAgICAgICAgICAgIGZy
YW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9hZGVy
KCktPnNldFNob3VsZEJ1ZmZlckRhdGEoRG9Ob3RCdWZmZXJEYXRhKTsKKyAgICAgICAgICAgIGZy
YW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlTG9hZGVy
KCktPnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAgICAgfQog
ICAgIH0KIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJj
ZUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjkxLDcgKzI5MSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZUQK
IAogICAgIGlmIChkYXRhKSB7CiAgICAgICAgIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJj
ZURhdGEgY29uc3QqIHJlc291cmNlRGF0YSA9IG1fcmVzb3VyY2VzRGF0YS0+ZGF0YShyZXF1ZXN0
SWQpOwotICAgICAgICBpZiAocmVzb3VyY2VEYXRhICYmICFtX2xvYWRpbmdYSFJTeW5jaHJvbm91
c2x5ICYmICghcmVzb3VyY2VEYXRhLT5jYWNoZWRSZXNvdXJjZSgpIHx8ICFyZXNvdXJjZURhdGEt
PmNhY2hlZFJlc291cmNlKCktPnNob3VsZEJ1ZmZlckRhdGEoKSB8fCBpc0Vycm9yU3RhdHVzQ29k
ZShyZXNvdXJjZURhdGEtPmh0dHBTdGF0dXNDb2RlKCkpKSkKKyAgICAgICAgaWYgKHJlc291cmNl
RGF0YSAmJiAhbV9sb2FkaW5nWEhSU3luY2hyb25vdXNseSAmJiAoIXJlc291cmNlRGF0YS0+Y2Fj
aGVkUmVzb3VyY2UoKSB8fCByZXNvdXJjZURhdGEtPmNhY2hlZFJlc291cmNlKCktPmRhdGFCdWZm
ZXJpbmdQb2xpY3koKSA9PSBEb05vdEJ1ZmZlckRhdGEgfHwgaXNFcnJvclN0YXR1c0NvZGUocmVz
b3VyY2VEYXRhLT5odHRwU3RhdHVzQ29kZSgpKSkpCiAgICAgICAgICAgICBtX3Jlc291cmNlc0Rh
dGEtPm1heWJlQWRkUmVzb3VyY2VEYXRhKHJlcXVlc3RJZCwgZGF0YSwgZGF0YUxlbmd0aCk7CiAg
ICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyLmNwcAkocmV2aXNpb24gMTM4MTc5KQorKysgU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MSw3
ICszNzEsNyBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlCiAgICAg
ICAgICAgICBvcHRpb25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gRG9Ob3RTZW5kQ2FsbGJhY2tzOwog
ICAgICAgICAgICAgb3B0aW9ucy5zbmlmZkNvbnRlbnQgPSBEb05vdFNuaWZmQ29udGVudDsKICAg
ICAgICAgICAgIC8vIEtlZXAgYnVmZmVyaW5nIHRoZSBkYXRhIGZvciB0aGUgcHJlZmxpZ2h0IHJl
cXVlc3QuCi0gICAgICAgICAgICBvcHRpb25zLnNob3VsZEJ1ZmZlckRhdGEgPSBCdWZmZXJEYXRh
OworICAgICAgICAgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gQnVmZmVyRGF0YTsK
ICAgICAgICAgfQogCiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0KHJl
cXVlc3QsIG9wdGlvbnMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJj
ZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNv
dXJjZUxvYWRlci5jcHAJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjYsMTAgKzY2Niwx
MCBAQCBib29sIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGVmZXJzTG9hZGluZygpCiAgICAgcmV0dXJu
IGxvYWRlcigpID8gbG9hZGVyKCktPmRlZmVyc0xvYWRpbmcoKSA6IGZhbHNlOwogfQogCi12b2lk
IE1haW5SZXNvdXJjZUxvYWRlcjo6c2V0U2hvdWxkQnVmZmVyRGF0YShEYXRhQnVmZmVyaW5nUG9s
aWN5IHNob3VsZEJ1ZmZlckRhdGEpCit2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6c2V0RGF0YUJ1
ZmZlcmluZ1BvbGljeShEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3kpCiB7
CiAgICAgQVNTRVJUKG1fcmVzb3VyY2UpOwotICAgIG1fcmVzb3VyY2UtPnNldFNob3VsZEJ1ZmZl
ckRhdGEoc2hvdWxkQnVmZmVyRGF0YSk7CisgICAgbV9yZXNvdXJjZS0+c2V0RGF0YUJ1ZmZlcmlu
Z1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KTsKIH0KIAogUmVzb3VyY2VMb2FkZXIqIE1haW5S
ZXNvdXJjZUxvYWRlcjo6bG9hZGVyKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmgJKHJldmlzaW9uIDEzODE3OSkKKysrIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gcmVzb3VyY2VE
YXRhKCk7CiAKICAgICB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7Ci0gICAgdm9pZCBzZXRT
aG91bGRCdWZmZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kpOworICAgIHZvaWQgc2V0RGF0YUJ1
ZmZlcmluZ1BvbGljeShEYXRhQnVmZmVyaW5nUG9saWN5KTsKIAogI2lmIEhBVkUoUlVOTE9PUF9U
SU1FUikKICAgICB0eXBlZGVmIFJ1bkxvb3BUaW1lcjxNYWluUmVzb3VyY2VMb2FkZXI+IE1haW5S
ZXNvdXJjZUxvYWRlclRpbWVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODksMTkgKzE4OSwxOSBAQCBGcmFt
ZUxvYWRlciogUmVzb3VyY2VMb2FkZXI6OmZyYW1lTG9hZGVyCiAgICAgcmV0dXJuIG1fZnJhbWUt
PmxvYWRlcigpOwogfQogCi12b2lkIFJlc291cmNlTG9hZGVyOjpzZXRTaG91bGRCdWZmZXJEYXRh
KERhdGFCdWZmZXJpbmdQb2xpY3kgc2hvdWxkQnVmZmVyRGF0YSkKK3ZvaWQgUmVzb3VyY2VMb2Fk
ZXI6OnNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVy
aW5nUG9saWN5KQogeyAKLSAgICBtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9IHNob3VsZEJ1
ZmZlckRhdGE7IAorICAgIG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID0gZGF0YUJ1ZmZl
cmluZ1BvbGljeTsgCiAKICAgICAvLyBSZXNldCBhbnkgYWxyZWFkeSBidWZmZXJlZCBkYXRhCi0g
ICAgaWYgKHNob3VsZEJ1ZmZlckRhdGEgPT0gRG9Ob3RCdWZmZXJEYXRhKQorICAgIGlmIChkYXRh
QnVmZmVyaW5nUG9saWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAgbV9yZXNvdXJjZURh
dGEgPSAwOwogfQogICAgIAogCiB2b2lkIFJlc291cmNlTG9hZGVyOjphZGREYXRhKGNvbnN0IGNo
YXIqIGRhdGEsIGludCBsZW5ndGgsIGJvb2wgYWxsQXRPbmNlKQogewotICAgIGlmIChtX29wdGlv
bnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBEb05vdEJ1ZmZlckRhdGEpCisgICAgaWYgKG1fb3B0aW9u
cy5kYXRhQnVmZmVyaW5nUG9saWN5ID09IERvTm90QnVmZmVyRGF0YSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgaWYgKGFsbEF0T25jZSkgewpAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnMKIAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2ls
bFN0b3BCdWZmZXJpbmdEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiB7Ci0gICAg
aWYgKG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09IERvTm90QnVmZmVyRGF0YSkKKyAgICBp
ZiAobV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gRG9Ob3RCdWZmZXJEYXRhKQogICAg
ICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoIW1fcmVzb3VyY2VEYXRhKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDcgKzE0Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdDsgfQogCi0gICAgdm9pZCBzZXRTaG91bGRCdWZm
ZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kpOworICAgIHZvaWQgc2V0RGF0YUJ1ZmZlcmluZ1Bv
bGljeShEYXRhQnVmZmVyaW5nUG9saWN5KTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgJKHJldmlzaW9uIDEzODE3OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAkod29ya2luZyBj
b3B5KQpAQCAtNjEsMTEgKzYxLDExIEBAIGVudW0gU2VjdXJpdHlDaGVja1BvbGljeSB7CiB9Owog
CiBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlv
bnMoKSA6IHNlbmRMb2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcyksIHNuaWZmQ29udGVu
dChEb05vdFNuaWZmQ29udGVudCksIHNob3VsZEJ1ZmZlckRhdGEoQnVmZmVyRGF0YSksIGFsbG93
Q3JlZGVudGlhbHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKSwgY3Jvc3NPcmlnaW5DcmVk
ZW50aWFsUG9saWN5KERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscyksIHNl
Y3VyaXR5Q2hlY2soRG9TZWN1cml0eUNoZWNrKSB7IH0KLSAgICBSZXNvdXJjZUxvYWRlck9wdGlv
bnMoU2VuZENhbGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQ
b2xpY3kgc25pZmZDb250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IHNob3VsZEJ1ZmZlckRhdGEs
IFN0b3JlZENyZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyb3NzT3JpZ2luQ3Jl
ZGVudGlhbFBvbGljeSBjcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQ
b2xpY3kgc2VjdXJpdHlDaGVjaykKKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKSA6IHNlbmRM
b2FkQ2FsbGJhY2tzKERvTm90U2VuZENhbGxiYWNrcyksIHNuaWZmQ29udGVudChEb05vdFNuaWZm
Q29udGVudCksIGRhdGFCdWZmZXJpbmdQb2xpY3koQnVmZmVyRGF0YSksIGFsbG93Q3JlZGVudGlh
bHMoRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKSwgY3Jvc3NPcmlnaW5DcmVkZW50aWFsUG9s
aWN5KERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscyksIHNlY3VyaXR5Q2hl
Y2soRG9TZWN1cml0eUNoZWNrKSB7IH0KKyAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENh
bGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25p
ZmZDb250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3Jl
ZENyZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyb3NzT3JpZ2luQ3JlZGVudGlh
bFBvbGljeSBjcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kg
c2VjdXJpdHlDaGVjaykKICAgICAgICAgOiBzZW5kTG9hZENhbGxiYWNrcyhzZW5kTG9hZENhbGxi
YWNrcykKICAgICAgICAgLCBzbmlmZkNvbnRlbnQoc25pZmZDb250ZW50KQotICAgICAgICAsIHNo
b3VsZEJ1ZmZlckRhdGEoc2hvdWxkQnVmZmVyRGF0YSkKKyAgICAgICAgLCBkYXRhQnVmZmVyaW5n
UG9saWN5KGRhdGFCdWZmZXJpbmdQb2xpY3kpCiAgICAgICAgICwgYWxsb3dDcmVkZW50aWFscyhh
bGxvd0NyZWRlbnRpYWxzKQogICAgICAgICAsIGNyb3NzT3JpZ2luQ3JlZGVudGlhbFBvbGljeShj
cm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3kpCiAgICAgICAgICwgc2VjdXJpdHlDaGVjayhzZWN1
cml0eUNoZWNrKQpAQCAtNzMsNyArNzMsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25z
IHsKICAgICB9CiAgICAgU2VuZENhbGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzOwogICAg
IENvbnRlbnRTbmlmZmluZ1BvbGljeSBzbmlmZkNvbnRlbnQ7Ci0gICAgRGF0YUJ1ZmZlcmluZ1Bv
bGljeSBzaG91bGRCdWZmZXJEYXRhOworICAgIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1ZmZl
cmluZ1BvbGljeTsKICAgICBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzOyAvLyBX
aGV0aGVyIEhUVFAgY3JlZGVudGlhbHMgYW5kIGNvb2tpZXMgYXJlIHNlbnQgd2l0aCB0aGUgcmVx
dWVzdC4KICAgICBDbGllbnRDcm9zc09yaWdpbkNyZWRlbnRpYWxQb2xpY3kgY3Jvc3NPcmlnaW5D
cmVkZW50aWFsUG9saWN5OyAvLyBXaGV0aGVyIHdlIHdpbGwgYXNrIHRoZSBjbGllbnQgZm9yIGNy
ZWRlbnRpYWxzIChpZiB3ZSBhbGxvdyBjcmVkZW50aWFscyBhdCBhbGwpLgogICAgIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjazsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkocmV2aXNpb24gMTM4MTc5KQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTEsMTkgKzUxLDE5IEBAIHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEo
UGFzc1JlZlB0cjwKICAgICAgICAgLy8gSWYgd2UgYXJlIGJ1ZmZlcmluZyBkYXRhLCB0aGVuIHdl
IGFyZSBzYXZpbmcgdGhlIGJ1ZmZlciBpbiBtX2RhdGEgYW5kIG5lZWQgdG8gbWFudWFsbHkKICAg
ICAgICAgLy8gY2FsY3VsYXRlIHRoZSBpbmNyZW1lbnRhbCBkYXRhLiBJZiB3ZSBhcmUgbm90IGJ1
ZmZlcmluZywgdGhlbiBtX2RhdGEgd2lsbCBiZSBudWxsIGFuZAogICAgICAgICAvLyB0aGUgYnVm
ZmVyIGNvbnRhaW5zIG9ubHkgdGhlIGluY3JlbWVudGFsIGRhdGEuCi0gICAgICAgIHNpemVfdCBw
cmV2aW91c0RhdGFMZW5ndGggPSAobV9vcHRpb25zLnNob3VsZEJ1ZmZlckRhdGEgPT0gQnVmZmVy
RGF0YSkgPyBlbmNvZGVkU2l6ZSgpIDogMDsKKyAgICAgICAgc2l6ZV90IHByZXZpb3VzRGF0YUxl
bmd0aCA9IChtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9PSBCdWZmZXJEYXRhKSA/IGVu
Y29kZWRTaXplKCkgOiAwOwogICAgICAgICBBU1NFUlQoZGF0YS0+c2l6ZSgpID49IHByZXZpb3Vz
RGF0YUxlbmd0aCk7CiAgICAgICAgIGluY3JlbWVudGFsRGF0YSA9IGRhdGEtPmRhdGEoKSArIHBy
ZXZpb3VzRGF0YUxlbmd0aDsKICAgICAgICAgaW5jcmVtZW50YWxEYXRhTGVuZ3RoID0gZGF0YS0+
c2l6ZSgpIC0gcHJldmlvdXNEYXRhTGVuZ3RoOwogICAgIH0KIAotICAgIGlmIChtX29wdGlvbnMu
c2hvdWxkQnVmZmVyRGF0YSA9PSBCdWZmZXJEYXRhKSB7CisgICAgaWYgKG1fb3B0aW9ucy5kYXRh
QnVmZmVyaW5nUG9saWN5ID09IEJ1ZmZlckRhdGEpIHsKICAgICAgICAgaWYgKGRhdGEpCiAgICAg
ICAgICAgICBzZXRFbmNvZGVkU2l6ZShkYXRhLT5zaXplKCkpOwogICAgICAgICBtX2RhdGEgPSBk
YXRhOwogICAgIH0KIAotICAgIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1ZmZlcmluZ1BvbGlj
eSA9IG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhOworICAgIERhdGFCdWZmZXJpbmdQb2xpY3kg
ZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5OwogICAg
IGlmIChpbmNyZW1lbnRhbERhdGFMZW5ndGgpIHsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VDbGll
bnRXYWxrZXI8Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQ+IHcobV9jbGllbnRzKTsKICAgICAgICAg
d2hpbGUgKENhY2hlZFJhd1Jlc291cmNlQ2xpZW50KiBjID0gdy5uZXh0KCkpCkBAIC03MSw5ICs3
MSw5IEBAIHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEoUGFzc1JlZlB0cjwKICAgICB9CiAg
ICAgQ2FjaGVkUmVzb3VyY2U6OmRhdGEobV9kYXRhLCBhbGxEYXRhUmVjZWl2ZWQpOwogCi0gICAg
aWYgKGRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gQnVmZmVyRGF0YSAmJiBtX29wdGlvbnMuc2hvdWxk
QnVmZmVyRGF0YSA9PSBEb05vdEJ1ZmZlckRhdGEpIHsKKyAgICBpZiAoZGF0YUJ1ZmZlcmluZ1Bv
bGljeSA9PSBCdWZmZXJEYXRhICYmIG1fb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5ID09IERv
Tm90QnVmZmVyRGF0YSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCi0gICAgICAgICAgICBtX2xv
YWRlci0+c2V0U2hvdWxkQnVmZmVyRGF0YShEb05vdEJ1ZmZlckRhdGEpOworICAgICAgICAgICAg
bV9sb2FkZXItPnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAg
ICAgY2xlYXIoKTsKICAgICB9CiB9CkBAIC0xMzcsOSArMTM3LDkgQEAgdm9pZCBDYWNoZWRSYXdS
ZXNvdXJjZTo6c2V0RGVmZXJzTG9hZGluZwogICAgICAgICBtX2xvYWRlci0+c2V0RGVmZXJzTG9h
ZGluZyhkZWZlcnMpOwogfQogCi12b2lkIENhY2hlZFJhd1Jlc291cmNlOjpzZXRTaG91bGRCdWZm
ZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kgc2hvdWxkQnVmZmVyRGF0YSkKK3ZvaWQgQ2FjaGVk
UmF3UmVzb3VyY2U6OnNldERhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSBk
YXRhQnVmZmVyaW5nUG9saWN5KQogewotICAgIG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID0g
c2hvdWxkQnVmZmVyRGF0YTsKKyAgICBtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9IGRh
dGFCdWZmZXJpbmdQb2xpY3k7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZElnbm9yZUhlYWRlckZv
ckNhY2hlUmV1c2UoQXRvbWljU3RyaW5nIGhlYWRlck5hbWUpCkBAIC0xNjIsNyArMTYyLDcgQEAg
c3RhdGljIGJvb2wgc2hvdWxkSWdub3JlSGVhZGVyRm9yQ2FjaGVSZQogCiBib29sIENhY2hlZFJh
d1Jlc291cmNlOjpjYW5SZXVzZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QpIGNv
bnN0CiB7Ci0gICAgaWYgKG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09IERvTm90QnVmZmVy
RGF0YSkKKyAgICBpZiAobV9vcHRpb25zLmRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gRG9Ob3RCdWZm
ZXJEYXRhKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV9yZXNvdXJjZVJlcXVl
c3QuaHR0cE1ldGhvZCgpICE9IG5ld1JlcXVlc3QuaHR0cE1ldGhvZCgpKQpJbmRleDogU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgJKHJldmlzaW9u
IDEzODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGlz
IGNhbiBiZSBmaXhlZCBieSBzcGxpdHRpbmcgQ09SUyBwcmVmbGlnaHRpbmcgb3V0IG9mIERvY3Vt
ZW50VGhyZWFjYWJsZUxvYWRlci4KICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhi
b29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRCdWZmZXJEYXRhKERhdGFCdWZmZXJp
bmdQb2xpY3kpOworICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhQnVmZmVyaW5nUG9saWN5KERhdGFC
dWZmZXJpbmdQb2xpY3kpOwogICAgIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGV4cG9zZWQgZm9y
IHRoZSBJbnBzZWN0b3JJbnN0cnVtZW50YXRpb24gZm9yIHByZWZsaWdodHMgaW4gRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyLiBJdCdzIGFsc28gcmVhbGx5IGxhbWUuCiAgICAgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAkocmV2aXNpb24gMTM4
MTc5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIxNCw3ICsyMTQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb2FkRmFp
bGVkT3JDYW5jZWxlZCgpIHsgcmV0dXJuICFtX2Vycm9yLmlzTnVsbCgpOyB9CiAKICAgICBib29s
IHNob3VsZFNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX29wdGlv
bnMuc2VuZExvYWRDYWxsYmFja3MgPT0gU2VuZENhbGxiYWNrczsgfQotICAgIGJvb2wgc2hvdWxk
QnVmZmVyRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucy5zaG91bGRCdWZmZXJEYXRhID09
IEJ1ZmZlckRhdGE7IH0KKyAgICBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xp
Y3koKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeTsgfQogICAg
IAogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoKSB7IH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9SZXNvdXJjZUxvYWRlck1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1tCShyZXZpc2lv
biAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6
OmRpZFJlY2VpdmVEYXRhQXJyYXkKICAgICAgICAgQ0ZEYXRhUmVmIGRhdGEgPSBzdGF0aWNfY2Fz
dDxDRkRhdGFSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoZGF0YUFycmF5LCBpKSk7CiAgICAg
ICAgIGludCBkYXRhTGVuID0gc3RhdGljX2Nhc3Q8aW50PihDRkRhdGFHZXRMZW5ndGgoZGF0YSkp
OwogCi0gICAgICAgIGlmIChtX29wdGlvbnMuc2hvdWxkQnVmZmVyRGF0YSA9PSBCdWZmZXJEYXRh
KSB7CisgICAgICAgIGlmIChtX29wdGlvbnMuZGF0YUJ1ZmZlcmluZ1BvbGljeSA9PSBCdWZmZXJE
YXRhKSB7CiAgICAgICAgICAgICBpZiAoIW1fcmVzb3VyY2VEYXRhKQogICAgICAgICAgICAgICAg
IG1fcmVzb3VyY2VEYXRhID0gUmVzb3VyY2VCdWZmZXI6OmNyZWF0ZSgpOwogICAgICAgICAgICAg
bV9yZXNvdXJjZURhdGEtPmFwcGVuZChkYXRhKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwCShyZXZpc2lvbiAxMzgxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgRXZlbnRT
b3VyY2U6OmNvbm5lY3QoKQogICAgIG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscyA9IChvcmlnaW4t
PmNhblJlcXVlc3QobV91cmwpIHx8IG1fd2l0aENyZWRlbnRpYWxzKSA/IEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMgOiBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHM7CiAgICAgb3B0aW9ucy5wcmVm
bGlnaHRQb2xpY3kgPSBQcmV2ZW50UHJlZmxpZ2h0OwogICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5S
ZXF1ZXN0UG9saWN5ID0gVXNlQWNjZXNzQ29udHJvbDsKLSAgICBvcHRpb25zLnNob3VsZEJ1ZmZl
ckRhdGEgPSBEb05vdEJ1ZmZlckRhdGE7CisgICAgb3B0aW9ucy5kYXRhQnVmZmVyaW5nUG9saWN5
ID0gRG9Ob3RCdWZmZXJEYXRhOwogICAgIG9wdGlvbnMuc2VjdXJpdHlPcmlnaW4gPSBvcmlnaW47
CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIG9wdGlvbnMpOwpJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODI4MCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTItMjAgIE5h
dGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW5hbWUgc2hvdWxk
QnVmZmVyRGF0YSB0byBkYXRhQnVmZmVyaW5nUG9saWN5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2ltcGxlIHJlbmFt
ZS4KKworICAgICAgICAqIHNyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXNzb2NpYXRlZFVSTExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKwogMjAxMi0x
Mi0yMCAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4KIAogICAgICAgICBB
WDogc3VwcG9ydCBjbGlja1BvaW50IGluIERSVCBmb3IgY2hyb21pdW0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuY3BwCShyZXZp
c2lvbiAxMzgxNzkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NvY2lhdGVkVVJM
TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQ0LDcgKzM0NCw3IEBAIHZvaWQgQXNzb2Np
YXRlZFVSTExvYWRlcjo6bG9hZEFzeW5jaHJvbm8KICAgICAgICAgb3B0aW9ucy5hbGxvd0NyZWRl
bnRpYWxzID0gbV9vcHRpb25zLmFsbG93Q3JlZGVudGlhbHMgPyBBbGxvd1N0b3JlZENyZWRlbnRp
YWxzIDogRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzOwogICAgICAgICBvcHRpb25zLnByZWZs
aWdodFBvbGljeSA9IG1fb3B0aW9ucy5mb3JjZVByZWZsaWdodCA/IEZvcmNlUHJlZmxpZ2h0IDog
Q29uc2lkZXJQcmVmbGlnaHQ7CiAgICAgICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9s
aWN5ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5PihtX29w
dGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5KTsKLSAgICAgICAgb3B0aW9ucy5zaG91bGRC
dWZmZXJEYXRhID0gRG9Ob3RCdWZmZXJEYXRhOworICAgICAgICBvcHRpb25zLmRhdGFCdWZmZXJp
bmdQb2xpY3kgPSBEb05vdEJ1ZmZlckRhdGE7CiAKICAgICAgICAgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiB3ZWJjb3JlUmVxdWVzdCA9IG5ld1JlcXVlc3QudG9SZXNvdXJjZVJlcXVlc3QoKTsKICAg
ICAgICAgRG9jdW1lbnQqIHdlYmNvcmVEb2N1bWVudCA9IG1fZnJhbWVJbXBsLT5mcmFtZSgpLT5k
b2N1bWVudCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>