docker-api 1.21.4 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01b22b7c07b68da5ef7636e62a9bd616bee56bd0
4
- data.tar.gz: 43478a354659ca1b4470b6e48a6af49309db6910
3
+ metadata.gz: f0a375a8c53e4a143b9bf9388a5dccd6e961e6cd
4
+ data.tar.gz: 9eb361fafb9cf48b6950a68b6054db0dded319f4
5
5
  SHA512:
6
- metadata.gz: d0b1313db76caad1ce1dd1fdc3cea840bc954ebded6e7a607e0918f2bf21f3f11f7dbf76661a960d5218d14216f70ef6197857d45a6fe79a0ee2556667ae478d
7
- data.tar.gz: c3cac5cea78c44cef53a8b7c0da31db8a31c5e915957d9f89fad3c48669219c156c6a868bff7bf1ba183da93e4d08c71cb35196d08e1f07872ec5d8c39a0aaca
6
+ metadata.gz: e3b3ca949b145e5696ef46bcb5ef9c3fe1636259af8a528deb3d372b907b4846cf6651eacca8c3fa9abd8409d68e82abfb6ff6151561af8ad81872c4d01bdd09
7
+ data.tar.gz: 07774657e5e160fe02ec60d987278820bb768b67567f23266c2bc41919ac9cf51dd89d39bef865787f02ee0978087cfeff1c3e9b99a1c9a3d269f0587da661d3
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- - 2.0.0
6
- - 2.1.1
5
+ - 2.0
6
+ - 2.1
7
+ - 2.2
7
8
  script: bundle exec rake
@@ -26,6 +26,7 @@ module Docker
26
26
  require 'docker/event'
27
27
  require 'docker/exec'
28
28
  require 'docker/image'
29
+ require 'docker/messages_stack'
29
30
  require 'docker/messages'
30
31
  require 'docker/util'
31
32
  require 'docker/version'
@@ -6,7 +6,7 @@ module Docker::Base
6
6
  attr_accessor :connection, :info
7
7
  attr_reader :id
8
8
 
9
- # The private new method accepts a connection and optional id.
9
+ # The private new method accepts a connection and a hash of options that must include an id.
10
10
  def initialize(connection, hash={})
11
11
  unless connection.is_a?(Docker::Connection)
12
12
  raise ArgumentError, "Expected a Docker::Connection, got: #{connection}."
@@ -146,11 +146,12 @@ class Docker::Container
146
146
  end
147
147
 
148
148
  def streaming_logs(opts = {}, &block)
149
- msgs = Docker::Messages.new
150
- excon_params = {response_block: Docker::Util.attach_for(block, msgs, false)}
149
+ stack_size = opts.delete('stack_size') || -1
150
+ msgs = Docker::MessagesStack.new(stack_size)
151
+ excon_params = {response_block: Docker::Util.attach_for_multiplex(block, msgs)}
151
152
 
152
153
  connection.get(path_for(:logs), opts, excon_params)
153
- msgs.all_messages.join
154
+ msgs.messages.join
154
155
  end
155
156
 
156
157
  def start!(opts = {})
@@ -0,0 +1,25 @@
1
+ # This class represents a messages stack
2
+ class Docker::MessagesStack
3
+
4
+ attr_accessor :messages
5
+
6
+ # Initialize stack with optional size
7
+ #
8
+ # @param size [Integer]
9
+ def initialize(size = -1)
10
+ @messages = []
11
+ @size = size
12
+ end
13
+
14
+ # Append messages to stack
15
+ #
16
+ # @param messages [Docker::Messages]
17
+ def append(messages)
18
+ return if @size == 0
19
+
20
+ messages.all_messages.each do |msg|
21
+ @messages << msg
22
+ @messages.shift if @size > -1 && @messages.size > @size
23
+ end
24
+ end
25
+ end
@@ -178,7 +178,7 @@ module Docker::Util
178
178
  end
179
179
 
180
180
  def extract_id(body)
181
- body.lines.to_a.reverse.each do |line|
181
+ body.lines.reverse_each do |line|
182
182
  if (id = line.match(/Successfully built ([a-f0-9]+)/)) && !id[1].empty?
183
183
  return id[1]
184
184
  end
@@ -1,6 +1,6 @@
1
1
  module Docker
2
2
  # The version of the docker-api gem.
3
- VERSION = '1.21.4'
3
+ VERSION = '1.22.0'
4
4
 
5
5
  # The version of the compatible Docker remote API.
6
6
  API_VERSION = '1.16'
@@ -84,7 +84,7 @@ describe Docker::Image do
84
84
  )
85
85
  }
86
86
  let(:container) { new_image.run('ls -a /lib/docker') }
87
- let(:response) { container.streaming_logs(stdout: true) }
87
+ let(:response) { container.tap(&:wait).streaming_logs(stdout: true) }
88
88
  after do
89
89
  container.tap(&:wait).remove
90
90
  new_image.remove
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Docker::MessagesStack do
4
+
5
+ describe '#append' do
6
+ context 'without limits' do |variable|
7
+ it 'does not limit stack size by default' do
8
+ data = ['foo', 'bar']
9
+ msg = Docker::Messages.new(data, [], data)
10
+ expect(subject.messages).not_to receive(:shift)
11
+ 1000.times { subject.append(msg) }
12
+ end
13
+ end
14
+
15
+ context 'with size limit' do
16
+ let(:subject) { described_class.new(100) }
17
+
18
+ it 'limits stack to given size' do
19
+ data = ['foo', 'bar']
20
+ msg = Docker::Messages.new(data, [], data)
21
+ expect(subject.messages).to receive(:shift).exactly(1900).times
22
+ 1000.times { subject.append(msg) }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: <DOCKER_HOST>/v1.16/images/create?fromImage=debian%3Awheezy
5
+ uri: "<DOCKER_HOST>/v1.16/images/create?fromImage=debian%3Awheezy"
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Swipely/Docker-API 1.18.0
11
+ - Swipely/Docker-API 1.21.4
12
12
  Content-Type:
13
13
  - text/plain
14
14
  response:
@@ -19,26 +19,27 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json
21
21
  Date:
22
- - Thu, 12 Feb 2015 00:55:00 GMT
22
+ - Sun, 12 Jul 2015 09:21:21 GMT
23
23
  body:
24
- encoding: US-ASCII
25
- string: ! "{\"status\":\"The image you are pulling has been verified\",\"id\":\"debian:wheezy\"}\r\n{\"status\":\"Already
26
- exists\",\"progressDetail\":{},\"id\":\"511136ea3c5a\"}{\"status\":\"Already
27
- exists\",\"progressDetail\":{},\"id\":\"30d39e59ffe2\"}{\"status\":\"Already
28
- exists\",\"progressDetail\":{},\"id\":\"c90d655b99b2\"}{\"status\":\"Status:
24
+ encoding: UTF-8
25
+ string: "{\"status\":\"Pulling from debian\",\"id\":\"wheezy\"}\r\n{\"status\":\"Already
26
+ exists\",\"progressDetail\":{},\"id\":\"104de4492b99\"}{\"status\":\"Already
27
+ exists\",\"progressDetail\":{},\"id\":\"065218d54d7d\"}{\"status\":\"Already
28
+ exists\",\"progressDetail\":{},\"id\":\"065218d54d7d\"}{\"status\":\"Digest:
29
+ sha256:a4bee4ac81a50d07ef8aae88171b8cb1aff17f8f466622bd599153e62ead3b76\"}\r\n{\"status\":\"Status:
29
30
  Image is up to date for debian:wheezy\"}\r\n"
30
31
  http_version:
31
- recorded_at: Thu, 12 Feb 2015 00:55:00 GMT
32
+ recorded_at: Sun, 12 Jul 2015 09:21:21 GMT
32
33
  - request:
33
34
  method: post
34
- uri: <DOCKER_HOST>/v1.16/build
35
+ uri: "<DOCKER_HOST>/v1.16/build"
35
36
  body:
36
37
  encoding: UTF-8
37
38
  string: !binary |-
38
39
  bGliAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
39
40
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
40
- AAAAAAAAAAAAADAwMDA2NDAAMDAwMDAwMAAwMDAwMDAwADAwMDAwMTQ1MDAw
41
- ADAwMDAwMDAwMDAwADAxMTc0NAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
41
+ AAAAAAAAAAAAADAwMDA2NDAAMDAwMDAwMAAwMDAwMDAwADAwMDAwMTQ2MDAw
42
+ ADEyNTUwNDMwNjIxADAxMjAwMgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
42
43
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
43
44
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMHdoZWVs
44
45
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAA
@@ -46,257 +47,251 @@ http_interactions:
46
47
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
47
48
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
48
49
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
49
- AAAAAAAAAAAAAAAAAAAAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
50
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
51
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDA0MDc1NQAwMDAxNzUwADAw
52
- MDE3NTAAMDAwMDAwMDAwMDAAMTI0NjY3NzMxMDMAMDA2MTMxACA1AAAAAAAA
53
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
54
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
55
- AAAAAHVzdGFyADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
56
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
57
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
58
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
59
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
60
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlcgAAAAAA
61
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
62
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw
63
- MDQwNzU1ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMDAwMAAxMjQ2Njc3MzEz
64
- NgAwMDcyNTEAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
65
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
66
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAA
67
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
50
+ AAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvYmFzZS5yYgAAAAAAAAAAAAAAAAAA
68
51
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
52
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAw
53
+ MDAwMDAAMDAwMDAwMDE2MDEAMTI1MzYwMDY3MDQAMDE0MDI2ACAwAAAAAAAA
69
54
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
70
55
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
71
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
72
- AAAAAAAAZG9ja2VyL2Jhc2UucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
73
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
74
- AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAw
75
- MDAxNTQzADEyMzYzMjI1MzY2ADAxMDU2MAAgMAAAAAAAAAAAAAAAAAAAAAAA
76
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
77
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAw
56
+ AAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3
57
+ aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAw
78
58
  MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
79
59
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
80
60
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
61
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBjbGFz
62
+ cyBpcyBhIGJhc2UgY2xhc3MgZm9yIERvY2tlciBDb250YWluZXIgYW5kIElt
63
+ YWdlLgojIEl0IGlzIGltcGxlbWVudGluZyBhY2Nlc3NvciBtZXRob2RzIGZv
64
+ ciB0aGUgbW9kZWxzIGF0dHJpYnV0ZXMuCm1vZHVsZSBEb2NrZXI6OkJhc2UK
65
+ ICBpbmNsdWRlIERvY2tlcjo6RXJyb3IKCiAgYXR0cl9hY2Nlc3NvciA6Y29u
66
+ bmVjdGlvbiwgOmluZm8KICBhdHRyX3JlYWRlciA6aWQKCiAgIyBUaGUgcHJp
67
+ dmF0ZSBuZXcgbWV0aG9kIGFjY2VwdHMgYSBjb25uZWN0aW9uIGFuZCBhIGhh
68
+ c2ggb2Ygb3B0aW9ucyB0aGF0IG11c3QgaW5jbHVkZSBhbiBpZC4KICBkZWYg
69
+ aW5pdGlhbGl6ZShjb25uZWN0aW9uLCBoYXNoPXt9KQogICAgdW5sZXNzIGNv
70
+ bm5lY3Rpb24uaXNfYT8oRG9ja2VyOjpDb25uZWN0aW9uKQogICAgICByYWlz
71
+ ZSBBcmd1bWVudEVycm9yLCAiRXhwZWN0ZWQgYSBEb2NrZXI6OkNvbm5lY3Rp
72
+ b24sIGdvdDogI3tjb25uZWN0aW9ufS4iCiAgICBlbmQKICAgIG5vcm1hbGl6
73
+ ZV9oYXNoKGhhc2gpCiAgICBAY29ubmVjdGlvbiwgQGluZm8sIEBpZCA9IGNv
74
+ bm5lY3Rpb24sIGhhc2gsIGhhc2hbJ2lkJ10KICAgIHJhaXNlIEFyZ3VtZW50
75
+ RXJyb3IsICJNdXN0IGhhdmUgaWQsIGdvdDogI3toYXNofSIgdW5sZXNzIEBp
76
+ ZAogIGVuZAoKICAjIFRoZSBkb2NrZXItYXBpIHdpbGwgc29tZSB0aW1lIHJl
77
+ dHVybiAiSUQiIG90aGVyIHRpbWVzIGl0IHdpbGwgcmV0dXJuICJJZCIKICAj
78
+ IGFuZCBvdGhlciB0aW1lcyBpdCB3aWxsIHJldHVybiAiaWQiLiBUaGlzIG1l
79
+ dGhvZCBub3JtYWxpemUgaXQgdG8gImlkIgogIGRlZiBub3JtYWxpemVfaGFz
80
+ aChoYXNoKQogICAgaGFzaFsiaWQiXSB8fD0gaGFzaC5kZWxldGUoIklEIikg
81
+ fHwgaGFzaC5kZWxldGUoIklkIikKICBlbmQKZW5kCgAAAAAAAAAAAAAAAAAA
82
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
84
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvY29ubmVjdGlvbi5yYgAA
85
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
86
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAw
87
+ MDAwADAwMDAwMDAAMDAwMDAwMDYwNzAAMTI1MzYwMDY3MDQAMDE1MjYwACAw
88
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
89
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
90
+ AAAAAAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
91
+ AAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAA
92
+ MDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
93
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
94
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
95
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhp
96
+ cyBjbGFzcyByZXByZXNlbnRzIGEgQ29ubmVjdGlvbiB0byBhIERvY2tlciBz
97
+ ZXJ2ZXIuIFRoZSBDb25uZWN0aW9uIGlzCiMgaW1tdXRhYmxlIGluIHRoYXQg
98
+ b25jZSB0aGUgdXJsIGFuZCBvcHRpb25zIGlzIHNldCB0aGV5IGNhbm5vdCBi
99
+ ZSBjaGFuZ2VkLgpjbGFzcyBEb2NrZXI6OkNvbm5lY3Rpb24KICBpbmNsdWRl
100
+ IERvY2tlcjo6RXJyb3IKCiAgYXR0cl9yZWFkZXIgOnVybCwgOm9wdGlvbnMK
101
+ CiAgIyBDcmVhdGUgYSBuZXcgQ29ubmVjdGlvbi4gVGhpcyBtZXRob2QgdGFr
102
+ ZXMgYSB1cmwgKFN0cmluZykgYW5kIG9wdGlvbnMKICAjIChIYXNoKS4gVGhl
103
+ c2UgYXJlIHBhc3NlZCB0byBFeGNvbiwgc28gYW55IG9wdGlvbnMgdmFsaWQg
104
+ Zm9yIGBFeGNvbi5uZXdgCiAgIyBjYW4gYmUgcGFzc2VkIGhlcmUuCiAgZGVm
105
+ IGluaXRpYWxpemUodXJsLCBvcHRzKQogICAgY2FzZQogICAgd2hlbiAhdXJs
106
+ LmlzX2E/KFN0cmluZykKICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkV4
107
+ cGVjdGVkIGEgU3RyaW5nLCBnb3Q6ICcje3VybH0nIgogICAgd2hlbiAhb3B0
108
+ cy5pc19hPyhIYXNoKQogICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiRXhw
109
+ ZWN0ZWQgYSBIYXNoLCBnb3Q6ICcje29wdHN9JyIKICAgIGVsc2UKICAgICAg
110
+ dXJpID0gVVJJLnBhcnNlKHVybCkKICAgICAgaWYgdXJpLnNjaGVtZSA9PSAi
111
+ dW5peCIKICAgICAgICBAdXJsLCBAb3B0aW9ucyA9ICd1bml4Oi8vLycsIHs6
112
+ c29ja2V0ID0+IHVyaS5wYXRofS5tZXJnZShvcHRzKQogICAgICBlbHNpZiB1
113
+ cmkuc2NoZW1lID1+IC9eKGh0dHBzP3x0Y3ApJC8KICAgICAgICBAdXJsLCBA
114
+ b3B0aW9ucyA9IHVybCwgb3B0cwogICAgICBlbHNlCiAgICAgICAgQHVybCwg
115
+ QG9wdGlvbnMgPSAiaHR0cDovLyN7dXJpfSIsIG9wdHMKICAgICAgZW5kCiAg
116
+ ICBlbmQKICBlbmQKCiAgIyBUaGUgYWN0dWFsIGNsaWVudCB0aGF0IHNlbmRz
117
+ IEhUVFAgbWV0aG9kcyB0byB0aGUgRG9ja2VyIHNlcnZlci4gVGhpcyB2YWx1
118
+ ZQogICMgaXMgbm90IGNhY2hlZCwgc2luY2UgZG9pbmcgc28gbWF5IGNhdXNl
119
+ IHNvY2tldCBlcnJvcnMgYWZ0ZXIgYmFkIHJlcXVlc3RzLgogIGRlZiByZXNv
120
+ dXJjZQogICAgRXhjb24ubmV3KHVybCwgb3B0aW9ucykKICBlbmQKICBwcml2
121
+ YXRlIDpyZXNvdXJjZQoKICAjIFNlbmQgYSByZXF1ZXN0IHRvIHRoZSBzZXJ2
122
+ ZXIgd2l0aCB0aGUgYAogIGRlZiByZXF1ZXN0KCphcmdzLCAmYmxvY2spCiAg
123
+ ICByZXF1ZXN0ID0gY29tcGlsZV9yZXF1ZXN0X3BhcmFtcygqYXJncywgJmJs
124
+ b2NrKQogICAgbG9nX3JlcXVlc3QocmVxdWVzdCkKICAgIHJlc291cmNlLnJl
125
+ cXVlc3QocmVxdWVzdCkuYm9keQogIHJlc2N1ZSBFeGNvbjo6RXJyb3JzOjpC
126
+ YWRSZXF1ZXN0ID0+IGV4CiAgICByYWlzZSBDbGllbnRFcnJvciwgZXgucmVz
127
+ cG9uc2UuYm9keQogIHJlc2N1ZSBFeGNvbjo6RXJyb3JzOjpVbmF1dGhvcml6
128
+ ZWQgPT4gZXgKICAgIHJhaXNlIFVuYXV0aG9yaXplZEVycm9yLCBleC5yZXNw
129
+ b25zZS5ib2R5CiAgcmVzY3VlIEV4Y29uOjpFcnJvcnM6Ok5vdEZvdW5kID0+
130
+ IGV4CiAgICByYWlzZSBOb3RGb3VuZEVycm9yLCBleC5yZXNwb25zZS5ib2R5
131
+ CiAgcmVzY3VlIEV4Y29uOjpFcnJvcnM6OkNvbmZsaWN0ID0+IGV4CiAgICBy
132
+ YWlzZSBDb25mbGljdEVycm9yLCBleC5yZXNwb25zZS5ib2R5CiAgcmVzY3Vl
133
+ IEV4Y29uOjpFcnJvcnM6OkludGVybmFsU2VydmVyRXJyb3IgPT4gZXgKICAg
134
+ IHJhaXNlIFNlcnZlckVycm9yLCBleC5yZXNwb25zZS5ib2R5CiAgcmVzY3Vl
135
+ IEV4Y29uOjpFcnJvcnM6OlRpbWVvdXQgPT4gZXgKICAgIHJhaXNlIFRpbWVv
136
+ dXRFcnJvciwgZXgubWVzc2FnZQogIGVuZAoKICBkZWYgbG9nX3JlcXVlc3Qo
137
+ cmVxdWVzdCkKICAgIGlmIERvY2tlci5sb2dnZXIKICAgICAgRG9ja2VyLmxv
138
+ Z2dlci5kZWJ1ZygKICAgICAgICBbcmVxdWVzdFs6bWV0aG9kXSwgcmVxdWVz
139
+ dFs6cGF0aF0sIHJlcXVlc3RbOnF1ZXJ5XSwgcmVxdWVzdFs6Ym9keV1dCiAg
140
+ ICAgICkKICAgIGVuZAogIGVuZAoKICAjIERlbGVnYXRlIGFsbCBIVFRQIG1l
141
+ dGhvZHMgdG8gdGhlICNyZXF1ZXN0LgogIFs6Z2V0LCA6cHV0LCA6cG9zdCwg
142
+ OmRlbGV0ZV0uZWFjaCBkbyB8bWV0aG9kfAogICAgZGVmaW5lX21ldGhvZCht
143
+ ZXRob2QpIHsgfCphcmdzLCAmYmxvY2t8IHJlcXVlc3QobWV0aG9kLCAqYXJn
144
+ cywgJmJsb2NrKSB9CiAgZW5kCgogIGRlZiB0b19zCiAgICAiRG9ja2VyOjpD
145
+ b25uZWN0aW9uIHsgOnVybCA9PiAje3VybH0sIDpvcHRpb25zID0+ICN7b3B0
146
+ aW9uc30gfSIKICBlbmQKCnByaXZhdGUKICAjIEdpdmVuIGFuIEhUVFAgbWV0
147
+ aG9kLCBwYXRoLCBvcHRpb25hbCBxdWVyeSwgZXh0cmEgb3B0aW9ucywgYW5k
148
+ IGJsb2NrLAogICMgY29tcGlsZXMgYSByZXF1ZXN0LgogIGRlZiBjb21waWxl
149
+ X3JlcXVlc3RfcGFyYW1zKGh0dHBfbWV0aG9kLCBwYXRoLCBxdWVyeSA9IG5p
150
+ bCwgb3B0cyA9IG5pbCwgJmJsb2NrKQogICAgcXVlcnkgfHw9IHt9CiAgICBv
151
+ cHRzIHx8PSB7fQogICAgaGVhZGVycyA9IG9wdHMuZGVsZXRlKDpoZWFkZXJz
152
+ KSB8fCB7fQogICAgY29udGVudF90eXBlID0gb3B0c1s6Ym9keV0ubmlsPyA/
153
+ ICAndGV4dC9wbGFpbicgOiAnYXBwbGljYXRpb24vanNvbicKICAgIHVzZXJf
154
+ YWdlbnQgPSAiU3dpcGVseS9Eb2NrZXItQVBJICN7RG9ja2VyOjpWRVJTSU9O
155
+ fSIKICAgIHsKICAgICAgOm1ldGhvZCAgICAgICAgPT4gaHR0cF9tZXRob2Qs
156
+ CiAgICAgIDpwYXRoICAgICAgICAgID0+ICIvdiN7RG9ja2VyOjpBUElfVkVS
157
+ U0lPTn0je3BhdGh9IiwKICAgICAgOnF1ZXJ5ICAgICAgICAgPT4gcXVlcnks
158
+ CiAgICAgIDpoZWFkZXJzICAgICAgID0+IHsgJ0NvbnRlbnQtVHlwZScgPT4g
159
+ Y29udGVudF90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICdVc2Vy
160
+ LUFnZW50JyAgID0+IHVzZXJfYWdlbnQsCiAgICAgICAgICAgICAgICAgICAg
161
+ ICAgIH0ubWVyZ2UoaGVhZGVycyksCiAgICAgIDpleHBlY3RzICAgICAgID0+
162
+ ICgyMDAuLjIwNCkudG9fYSA8PCAzMDQsCiAgICAgIDppZGVtcG90ZW50ICAg
163
+ ID0+IGh0dHBfbWV0aG9kID09IDpnZXQsCiAgICAgIDpyZXF1ZXN0X2Jsb2Nr
164
+ ID0+IGJsb2NrCiAgICB9Lm1lcmdlKG9wdHMpLnJlamVjdCB7IHxfLCB2fCB2
165
+ Lm5pbD8gfQogIGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
166
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
167
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
168
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
169
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
170
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
171
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
172
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
173
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
174
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
175
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZG9ja2VyL2NvbnRhaW5lci5yYgAA
176
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
177
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAw
178
+ MDAwMAAwMDAwMDAwADAwMDAwMDE2NzYxADEyNTUwNDIzNjYyADAxNTExNQAg
179
+ MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
81
180
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
82
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgY2xhc3MgaXMgYSBiYXNl
84
- IGNsYXNzIGZvciBEb2NrZXIgQ29udGFpbmVyIGFuZCBJbWFnZS4KIyBJdCBp
85
- cyBpbXBsZW1lbnRpbmcgYWNjZXNzb3IgbWV0aG9kcyBmb3IgdGhlIG1vZGVs
86
- cyBhdHRyaWJ1dGVzLgptb2R1bGUgRG9ja2VyOjpCYXNlCiAgaW5jbHVkZSBE
87
- b2NrZXI6OkVycm9yCgogIGF0dHJfYWNjZXNzb3IgOmNvbm5lY3Rpb24sIDpp
88
- bmZvCiAgYXR0cl9yZWFkZXIgOmlkCgogICMgVGhlIHByaXZhdGUgbmV3IG1l
89
- dGhvZCBhY2NlcHRzIGEgY29ubmVjdGlvbiBhbmQgb3B0aW9uYWwgaWQuCiAg
90
- ZGVmIGluaXRpYWxpemUoY29ubmVjdGlvbiwgaGFzaD17fSkKICAgIHVubGVz
91
- cyBjb25uZWN0aW9uLmlzX2E/KERvY2tlcjo6Q29ubmVjdGlvbikKICAgICAg
92
- cmFpc2UgQXJndW1lbnRFcnJvciwgIkV4cGVjdGVkIGEgRG9ja2VyOjpDb25u
93
- ZWN0aW9uLCBnb3Q6ICN7Y29ubmVjdGlvbn0uIgogICAgZW5kCiAgICBub3Jt
94
- YWxpemVfaGFzaChoYXNoKQogICAgQGNvbm5lY3Rpb24sIEBpbmZvLCBAaWQg
95
- PSBjb25uZWN0aW9uLCBoYXNoLCBoYXNoWydpZCddCiAgICByYWlzZSBBcmd1
96
- bWVudEVycm9yLCAiTXVzdCBoYXZlIGlkLCBnb3Q6ICN7aGFzaH0iIHVubGVz
97
- cyBAaWQKICBlbmQKCiAgIyBUaGUgZG9ja2VyLWFwaSB3aWxsIHNvbWUgdGlt
98
- ZSByZXR1cm4gIklEIiBvdGhlciB0aW1lcyBpdCB3aWxsIHJldHVybiAiSWQi
99
- CiAgIyBhbmQgb3RoZXIgdGltZXMgaXQgd2lsbCByZXR1cm4gImlkIi4gVGhp
100
- cyBtZXRob2Qgbm9ybWFsaXplIGl0IHRvICJpZCIKICBkZWYgbm9ybWFsaXpl
101
- X2hhc2goaGFzaCkKICAgIGhhc2hbImlkIl0gfHw9IGhhc2guZGVsZXRlKCJJ
102
- RCIpIHx8IGhhc2guZGVsZXRlKCJJZCIpCiAgZW5kCmVuZAoAAAAAAAAAAAAA
103
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
104
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
105
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
106
- AAAAAAAAAAAAAAAAZG9ja2VyL2Nvbm5lY3Rpb24ucmIAAAAAAAAAAAAAAAAA
107
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
108
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUw
109
- ADAwMDAwMDA1NzUzADEyNDY2NzczMTAzADAxMjAxNQAgMAAAAAAAAAAAAAAA
110
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
111
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1
112
- c3RhcgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
113
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
114
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
115
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
116
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
117
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgY2xhc3MgcmVw
118
- cmVzZW50cyBhIENvbm5lY3Rpb24gdG8gYSBEb2NrZXIgc2VydmVyLiBUaGUg
119
- Q29ubmVjdGlvbiBpcwojIGltbXV0YWJsZSBpbiB0aGF0IG9uY2UgdGhlIHVy
120
- bCBhbmQgb3B0aW9ucyBpcyBzZXQgdGhleSBjYW5ub3QgYmUgY2hhbmdlZC4K
121
- Y2xhc3MgRG9ja2VyOjpDb25uZWN0aW9uCiAgaW5jbHVkZSBEb2NrZXI6OkVy
122
- cm9yCgogIGF0dHJfcmVhZGVyIDp1cmwsIDpvcHRpb25zCgogICMgQ3JlYXRl
123
- IGEgbmV3IENvbm5lY3Rpb24uIFRoaXMgbWV0aG9kIHRha2VzIGEgdXJsIChT
124
- dHJpbmcpIGFuZCBvcHRpb25zCiAgIyAoSGFzaCkuIFRoZXNlIGFyZSBwYXNz
125
- ZWQgdG8gRXhjb24sIHNvIGFueSBvcHRpb25zIHZhbGlkIGZvciBgRXhjb24u
126
- bmV3YAogICMgY2FuIGJlIHBhc3NlZCBoZXJlLgogIGRlZiBpbml0aWFsaXpl
127
- KHVybCwgb3B0cykKICAgIGNhc2UKICAgIHdoZW4gIXVybC5pc19hPyhTdHJp
128
- bmcpCiAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJFeHBlY3RlZCBhIFN0
129
- cmluZywgZ290OiAnI3t1cmx9JyIKICAgIHdoZW4gIW9wdHMuaXNfYT8oSGFz
130
- aCkKICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkV4cGVjdGVkIGEgSGFz
131
- aCwgZ290OiAnI3tvcHRzfSciCiAgICBlbHNlCiAgICAgIHVyaSA9IFVSSS5w
132
- YXJzZSh1cmwpCiAgICAgIGlmIHVyaS5zY2hlbWUgPT0gInVuaXgiCiAgICAg
133
- ICAgQHVybCwgQG9wdGlvbnMgPSAndW5peDovLy8nLCB7OnNvY2tldCA9PiB1
134
- cmkucGF0aH0ubWVyZ2Uob3B0cykKICAgICAgZWxzaWYgdXJpLnNjaGVtZSA9
135
- fiAvXihodHRwcz98dGNwKSQvCiAgICAgICAgQHVybCwgQG9wdGlvbnMgPSB1
136
- cmwsIG9wdHMKICAgICAgZWxzZQogICAgICAgIEB1cmwsIEBvcHRpb25zID0g
137
- Imh0dHA6Ly8je3VyaX0iLCBvcHRzCiAgICAgIGVuZAogICAgZW5kCiAgZW5k
138
- CgogICMgVGhlIGFjdHVhbCBjbGllbnQgdGhhdCBzZW5kcyBIVFRQIG1ldGhv
139
- ZHMgdG8gdGhlIERvY2tlciBzZXJ2ZXIuIFRoaXMgdmFsdWUKICAjIGlzIG5v
140
- dCBjYWNoZWQsIHNpbmNlIGRvaW5nIHNvIG1heSBjYXVzZSBzb2NrZXQgZXJy
141
- b3JzIGFmdGVyIGJhZCByZXF1ZXN0cy4KICBkZWYgcmVzb3VyY2UKICAgIEV4
142
- Y29uLm5ldyh1cmwsIG9wdGlvbnMpCiAgZW5kCiAgcHJpdmF0ZSA6cmVzb3Vy
143
- Y2UKCiAgIyBTZW5kIGEgcmVxdWVzdCB0byB0aGUgc2VydmVyIHdpdGggdGhl
144
- IGAKICBkZWYgcmVxdWVzdCgqYXJncywgJmJsb2NrKQogICAgcmVxdWVzdCA9
145
- IGNvbXBpbGVfcmVxdWVzdF9wYXJhbXMoKmFyZ3MsICZibG9jaykKICAgIGlm
146
- IERvY2tlci5sb2dnZXIKICAgICAgRG9ja2VyLmxvZ2dlci5kZWJ1ZygKICAg
147
- ICAgICBbcmVxdWVzdFs6bWV0aG9kXSwgcmVxdWVzdFs6cGF0aF0sIHJlcXVl
148
- c3RbOnF1ZXJ5XSwgcmVxdWVzdFs6Ym9keV1dCiAgICAgICkKICAgIGVuZAog
149
- ICAgcmVzb3VyY2UucmVxdWVzdChyZXF1ZXN0KS5ib2R5CiAgcmVzY3VlIEV4
150
- Y29uOjpFcnJvcnM6OkJhZFJlcXVlc3QgPT4gZXgKICAgIHJhaXNlIENsaWVu
151
- dEVycm9yLCBleC5tZXNzYWdlCiAgcmVzY3VlIEV4Y29uOjpFcnJvcnM6OlVu
152
- YXV0aG9yaXplZCA9PiBleAogICAgcmFpc2UgVW5hdXRob3JpemVkRXJyb3Is
153
- IGV4Lm1lc3NhZ2UKICByZXNjdWUgRXhjb246OkVycm9yczo6Tm90Rm91bmQg
154
- PT4gZXgKICAgIHJhaXNlIE5vdEZvdW5kRXJyb3IsIGV4Lm1lc3NhZ2UKICBy
155
- ZXNjdWUgRXhjb246OkVycm9yczo6Q29uZmxpY3QgPT4gZXgKICAgIHJhaXNl
156
- IENvbmZpY3RFcnJvciwgZXgubWVzc2FnZQogIHJlc2N1ZSBFeGNvbjo6RXJy
157
- b3JzOjpJbnRlcm5hbFNlcnZlckVycm9yID0+IGV4CiAgICByYWlzZSBTZXJ2
158
- ZXJFcnJvciwgZXgucmVzcG9uc2UuZGF0YVs6Ym9keV0KICByZXNjdWUgRXhj
159
- b246OkVycm9yczo6VGltZW91dCA9PiBleAogICAgcmFpc2UgVGltZW91dEVy
160
- cm9yLCBleC5tZXNzYWdlCiAgZW5kCgogICMgRGVsZWdhdGUgYWxsIEhUVFAg
161
- bWV0aG9kcyB0byB0aGUgI3JlcXVlc3QuCiAgWzpnZXQsIDpwdXQsIDpwb3N0
162
- LCA6ZGVsZXRlXS5lYWNoIGRvIHxtZXRob2R8CiAgICBkZWZpbmVfbWV0aG9k
163
- KG1ldGhvZCkgeyB8KmFyZ3MsICZibG9ja3wgcmVxdWVzdChtZXRob2QsICph
164
- cmdzLCAmYmxvY2spIH0KICBlbmQKCiAgZGVmIHRvX3MKICAgICJEb2NrZXI6
165
- OkNvbm5lY3Rpb24geyA6dXJsID0+ICN7dXJsfSwgOm9wdGlvbnMgPT4gI3tv
166
- cHRpb25zfSB9IgogIGVuZAoKcHJpdmF0ZQogICMgR2l2ZW4gYW4gSFRUUCBt
167
- ZXRob2QsIHBhdGgsIG9wdGlvbmFsIHF1ZXJ5LCBleHRyYSBvcHRpb25zLCBh
168
- bmQgYmxvY2ssCiAgIyBjb21waWxlcyBhIHJlcXVlc3QuCiAgZGVmIGNvbXBp
169
- bGVfcmVxdWVzdF9wYXJhbXMoaHR0cF9tZXRob2QsIHBhdGgsIHF1ZXJ5ID0g
170
- bmlsLCBvcHRzID0gbmlsLCAmYmxvY2spCiAgICBxdWVyeSB8fD0ge30KICAg
171
- IG9wdHMgfHw9IHt9CiAgICBoZWFkZXJzID0gb3B0cy5kZWxldGUoOmhlYWRl
172
- cnMpIHx8IHt9CiAgICBjb250ZW50X3R5cGUgPSBvcHRzWzpib2R5XS5uaWw/
173
- ID8gICd0ZXh0L3BsYWluJyA6ICdhcHBsaWNhdGlvbi9qc29uJwogICAgdXNl
174
- cl9hZ2VudCA9ICJTd2lwZWx5L0RvY2tlci1BUEkgI3tEb2NrZXI6OlZFUlNJ
175
- T059IgogICAgewogICAgICA6bWV0aG9kICAgICAgICA9PiBodHRwX21ldGhv
176
- ZCwKICAgICAgOnBhdGggICAgICAgICAgPT4gIi92I3tEb2NrZXI6OkFQSV9W
177
- RVJTSU9OfSN7cGF0aH0iLAogICAgICA6cXVlcnkgICAgICAgICA9PiBxdWVy
178
- eSwKICAgICAgOmhlYWRlcnMgICAgICAgPT4geyAnQ29udGVudC1UeXBlJyA9
179
- PiBjb250ZW50X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Vz
180
- ZXItQWdlbnQnICAgPT4gdXNlcl9hZ2VudCwKICAgICAgICAgICAgICAgICAg
181
- ICAgICAgfS5tZXJnZShoZWFkZXJzKSwKICAgICAgOmV4cGVjdHMgICAgICAg
182
- PT4gKDIwMC4uMjA0KS50b19hIDw8IDMwNCwKICAgICAgOmlkZW1wb3RlbnQg
183
- ICAgPT4gaHR0cF9tZXRob2QgPT0gOmdldCwKICAgICAgOnJlcXVlc3RfYmxv
184
- Y2sgPT4gYmxvY2sKICAgIH0ubWVyZ2Uob3B0cykucmVqZWN0IHsgfF8sIHZ8
185
- IHYubmlsPyB9CiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAABkb2Nr
186
- ZXIvY29udGFpbmVyLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
187
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
188
- AAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMTYzNzcAMTI0
189
- NjY3NzMxMDMAMDExNjQ0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
190
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
191
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAA
192
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
193
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
194
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
195
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
196
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
197
- AAAAAAAAAAAAAAAAACMgVGhpcyBjbGFzcyByZXByZXNlbnRzIGEgRG9ja2Vy
198
- IENvbnRhaW5lci4gSXQncyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IG5vdGhp
199
- bmcKIyBpcyBjYWNoZWQgc28gdGhhdCB0aGUgaW5mb3JtYXRpb24gaXMgYWx3
200
- YXlzIHVwIHRvIGRhdGUuCmNsYXNzIERvY2tlcjo6Q29udGFpbmVyCiAgaW5j
201
- bHVkZSBEb2NrZXI6OkJhc2UKCiAgIyBSZXR1cm4gYSBMaXN0IG9mIEhhc2hl
202
- cyB0aGF0IHJlcHJlc2VudHMgdGhlIHRvcCBydW5uaW5nIHByb2Nlc3Nlcy4K
203
- ICBkZWYgdG9wKG9wdHMgPSB7fSkKICAgIHJlc3AgPSBEb2NrZXI6OlV0aWwu
204
- cGFyc2VfanNvbihjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6dG9wKSwgb3B0
205
- cykpCiAgICBpZiByZXNwWydQcm9jZXNzZXMnXS5uaWw/CiAgICAgIFtdCiAg
206
- ICBlbHNlCiAgICAgIHJlc3BbJ1Byb2Nlc3NlcyddLm1hcCB7IHxhcnl8IEhh
207
- c2hbcmVzcFsnVGl0bGVzJ10uemlwKGFyeSldIH0KICAgIGVuZAogIGVuZAoK
208
- ICAjIFdhaXQgZm9yIHRoZSBjdXJyZW50IGNvbW1hbmQgdG8gZmluaXNoIGV4
209
- ZWN1dGluZy4gRGVmYXVsdCB3YWl0IHRpbWUgaXMKICAjIGBFeGNvbi5vcHRp
210
- b25zWzpyZWFkX3RpbWVvdXRdYC4KICBkZWYgd2FpdCh0aW1lID0gbmlsKQog
211
- ICAgcmVzcCA9IGNvbm5lY3Rpb24ucG9zdChwYXRoX2Zvcig6d2FpdCksIG5p
212
- bCwgOnJlYWRfdGltZW91dCA9PiB0aW1lKQogICAgRG9ja2VyOjpVdGlsLnBh
213
- cnNlX2pzb24ocmVzcCkKICBlbmQKCiAgIyBHaXZlbiBhIGNvbW1hbmQgYW5k
214
- IGFuIG9wdGlvbmFsIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIHRo
215
- ZSBjdXJyZW50bHkKICAjIGV4ZWN1dGluZyBjb21tYW5kLCBjcmVhdGVzIGEg
216
- bmV3IENvbnRhaW5lciB0byBydW4gdGhlIHNwZWNpZmllZCBjb21tYW5kLiBJ
217
- ZgogICMgdGhlIGNvbW1hbmQgdGhhdCBpcyBjdXJyZW50bHkgZXhlY3V0aW5n
218
- IGRvZXMgbm90IHJldHVybiBhIDAgc3RhdHVzIGNvZGUsIGFuCiAgIyBVbmV4
219
- cGVjdGVkUmVzcG9uc2VFcnJvciBpcyByYWlzZWQuCiAgZGVmIHJ1bihjbWQs
220
- IHRpbWUgPSAxMDAwKQogICAgaWYgKGNvZGUgPSB0YXAoJjpzdGFydCkud2Fp
221
- dCh0aW1lKVsnU3RhdHVzQ29kZSddKS56ZXJvPwogICAgICBjb21taXQucnVu
222
- KGNtZCkKICAgIGVsc2UKICAgICAgcmFpc2UgVW5leHBlY3RlZFJlc3BvbnNl
223
- RXJyb3IsICJDb21tYW5kIHJldHVybmVkIHN0YXR1cyBjb2RlICN7Y29kZX0u
224
- IgogICAgZW5kCiAgZW5kCgogICMgQ3JlYXRlIGFuIEV4ZWMgaW5zdGFuY2Ug
225
- aW5zaWRlIHRoZSBjb250YWluZXIKICAjCiAgIyBAcGFyYW0gY29tbWFuZCBb
226
- U3RyaW5nLCBBcnJheV0gVGhlIGNvbW1hbmQgdG8gcnVuIGluc2lkZSB0aGUg
227
- RXhlYyBpbnN0YW5jZQogICMgQHBhcmFtIG9wdGlvbnMgW0hhc2hdIFRoZSBv
228
- cHRpb25zIHRvIHBhc3MgdG8gRG9ja2VyOjpFeGVjCiAgIwogICMgQHJldHVy
229
- biBbRG9ja2VyOjpFeGVjXSBUaGUgRXhlYyBpbnN0YW5jZQogIGRlZiBleGVj
230
- KGNvbW1hbmQsIG9wdHMgPSB7fSwgJmJsb2NrKQogICAgIyBFc3RhYmxpc2gg
231
- dmFsdWVzCiAgICB0dHkgPSBvcHRzLmRlbGV0ZSg6dHR5KSB8fCBmYWxzZQog
232
- ICAgZGV0YWNoID0gb3B0cy5kZWxldGUoOmRldGFjaCkgfHwgZmFsc2UKICAg
233
- IHN0ZGluID0gb3B0cy5kZWxldGUoOnN0ZGluKQogICAgc3Rkb3V0ID0gb3B0
234
- cy5kZWxldGUoOnN0ZG91dCkgfHwgIWRldGFjaAogICAgc3RkZXJyID0gb3B0
235
- cy5kZWxldGUoOnN0ZGVycikgfHwgIWRldGFjaAoKICAgICMgQ3JlYXRlIEV4
236
- ZWMgSW5zdGFuY2UKICAgIGluc3RhbmNlID0gRG9ja2VyOjpFeGVjLmNyZWF0
237
- ZSgKICAgICAgJ0NvbnRhaW5lcicgPT4gc2VsZi5pZCwKICAgICAgJ0F0dGFj
238
- aFN0ZGluJyA9PiAhIXN0ZGluLAogICAgICAnQXR0YWNoU3Rkb3V0JyA9PiBz
239
- dGRvdXQsCiAgICAgICdBdHRhY2hTdGRlcnInID0+IHN0ZGVyciwKICAgICAg
240
- J1R0eScgPT4gdHR5LAogICAgICAnQ21kJyA9PiBjb21tYW5kCiAgICApCgog
241
- ICAgc3RhcnRfb3B0cyA9IHsKICAgICAgOnR0eSA9PiB0dHksCiAgICAgIDpz
242
- dGRpbiA9PiBzdGRpbiwKICAgICAgOmRldGFjaCA9PiBkZXRhY2gKICAgIH0K
243
- CiAgICBpZiBkZXRhY2gKICAgICAgaW5zdGFuY2Uuc3RhcnQhKHN0YXJ0X29w
244
- dHMpCiAgICAgIHJldHVybiBpbnN0YW5jZQogICAgZWxzZQogICAgICBpbnN0
245
- YW5jZS5zdGFydCEoc3RhcnRfb3B0cywgJmJsb2NrKQogICAgZW5kCiAgZW5k
246
- CgogICMgRXhwb3J0IHRoZSBDb250YWluZXIgYXMgYSB0YXIuCiAgZGVmIGV4
247
- cG9ydCgmYmxvY2spCiAgICBjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6ZXhw
248
- b3J0KSwge30sIDpyZXNwb25zZV9ibG9jayA9PiBibG9jaykKICAgIHNlbGYK
249
- ICBlbmQKCiAgIyBBdHRhY2ggdG8gYSBjb250YWluZXIncyBzdGFuZGFyZCBz
250
- dHJlYW1zIC8gbG9ncy4KICBkZWYgYXR0YWNoKG9wdGlvbnMgPSB7fSwgJmJs
251
- b2NrKQogICAgc3RkaW4gPSBvcHRpb25zLmRlbGV0ZSg6c3RkaW4pCiAgICB0
252
- dHkgICA9IG9wdGlvbnMuZGVsZXRlKDp0dHkpCgogICAgb3B0cyA9IHsKICAg
253
- ICAgOnN0cmVhbSA9PiB0cnVlLCA6c3Rkb3V0ID0+IHRydWUsIDpzdGRlcnIg
254
- PT4gdHJ1ZQogICAgfS5tZXJnZShvcHRpb25zKQogICAgIyBDcmVhdGVzIGxp
255
- c3QgdG8gc3RvcmUgc3Rkb3V0IGFuZCBzdGRlcnIgbWVzc2FnZXMKICAgIG1z
256
- Z3MgPSBEb2NrZXI6Ok1lc3NhZ2VzLm5ldwoKICAgIGV4Y29uX3BhcmFtcyA9
257
- IHt9CgogICAgaWYgc3RkaW4KICAgICAgIyBJZiBhdHRhY2hpbmcgdG8gc3Rk
258
- aW4sIHdlIG11c3QgaGlqYWNrIHRoZSB1bmRlcmx5aW5nIFRDUCBjb25uZWN0
259
- aW9uCiAgICAgICMgc28gd2UgY2FuIHN0cmVhbSBzdGRpbiB0byB0aGUgcmVt
260
- b3RlIERvY2tlciBwcm9jZXNzCiAgICAgIG9wdHNbOnN0ZGluXSA9IHRydWUK
261
- ICAgICAgZXhjb25fcGFyYW1zWzpoaWphY2tfYmxvY2tdID0gRG9ja2VyOjpV
262
- dGlsLmhpamFja19mb3Ioc3RkaW4sIGJsb2NrLAogICAgICAgIG1zZ3MsIHR0
263
- eSkKICAgIGVsc2UKICAgICAgZXhjb25fcGFyYW1zWzpyZXNwb25zZV9ibG9j
264
- a10gPSBEb2NrZXI6OlV0aWwuYXR0YWNoX2ZvcihibG9jaywgbXNncywgdHR5
265
- KQogICAgZW5kCgogICAgY29ubmVjdGlvbi5wb3N0KAogICAgICBwYXRoX2Zv
266
- cig6YXR0YWNoKSwKICAgICAgb3B0cywKICAgICAgZXhjb25fcGFyYW1zCiAg
267
- ICApCiAgICBbbXNncy5zdGRvdXRfbWVzc2FnZXMsIG1zZ3Muc3RkZXJyX21l
268
- c3NhZ2VzXQogIGVuZAoKICAjIENyZWF0ZSBhbiBJbWFnZSBmcm9tIGEgQ29u
269
- dGFpbmVyJ3MgY2hhbmdlLnMKICBkZWYgY29tbWl0KG9wdGlvbnMgPSB7fSkK
270
- ICAgIG9wdGlvbnMubWVyZ2UhKCdjb250YWluZXInID0+IHNlbGYuaWRbMC4u
271
- N10pCiAgICAjIFtjb2RlXShodHRwczovL2dpdGh1Yi5jb20vZG90Y2xvdWQv
272
- ZG9ja2VyL2Jsb2IvdjAuNi4zL2NvbW1hbmRzLmdvI0wxMTE1KQogICAgIyBC
273
- YXNlZCBvbiB0aGUgbGluaywgdGhlIGNvbmZpZyBwYXNzZWQgYXMgcnVuLCBu
274
- ZWVkcyB0byBiZSBwYXNzZWQgYXMgdGhlCiAgICAjIGJvZHkgb2YgdGhlIHBv
275
- c3Qgc28gY2FwdHVyZSBpdCwgcmVtb3ZlIGZyb20gdGhlIG9wdGlvbnMsIGFu
276
- ZCBwYXNzIGl0IHZpYQogICAgIyB0aGUgcG9zdCBib2R5CiAgICBjb25maWcg
277
- PSBvcHRpb25zLmRlbGV0ZSgncnVuJykKICAgIGhhc2ggPSBEb2NrZXI6OlV0
278
- aWwucGFyc2VfanNvbihjb25uZWN0aW9uLnBvc3QoJy9jb21taXQnLAogICAg
279
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
280
- ICBvcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
281
- ICAgICAgICAgICAgICAgICA6Ym9keSA9PiBjb25maWcudG9fanNvbikpCiAg
282
- ICBEb2NrZXI6OkltYWdlLnNlbmQoOm5ldywgc2VsZi5jb25uZWN0aW9uLCBo
283
- YXNoKQogIGVuZAoKICAjIFJldHVybiBhIFN0cmluZyByZXByZXNlbnRhdGlv
284
- biBvZiB0aGUgQ29udGFpbmVyLgogIGRlZiB0b19zCiAgICAiRG9ja2VyOjpD
285
- b250YWluZXIgeyA6aWQgPT4gI3tzZWxmLmlkfSwgOmNvbm5lY3Rpb24gPT4g
286
- I3tzZWxmLmNvbm5lY3Rpb259IH0iCiAgZW5kCgogICMgI2pzb24gcmV0dXJu
287
- cyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29udGFpbmVyLCAjY2hhbmdlcyBy
288
- ZXR1cm5zIGEgbGlzdCBvZgogICMgdGhlIGNoYW5nZXMgdGhlIENvbnRhaW5l
289
- ciBoYXMgbWFkZSB0byB0aGUgZmlsZXN5c3RlbS4KICBbOmpzb24sIDpjaGFu
290
- Z2VzXS5lYWNoIGRvIHxtZXRob2R8CiAgICBkZWZpbmVfbWV0aG9kKG1ldGhv
291
- ZCkgZG8gfG9wdHMgPSB7fXwKICAgICAgRG9ja2VyOjpVdGlsLnBhcnNlX2pz
292
- b24oY29ubmVjdGlvbi5nZXQocGF0aF9mb3IobWV0aG9kKSwgb3B0cykpCiAg
293
- ICBlbmQKICBlbmQKCiAgZGVmIGxvZ3Mob3B0cyA9IHt9KQogICAgY29ubmVj
294
- dGlvbi5nZXQocGF0aF9mb3IoOmxvZ3MpLCBvcHRzKQogIGVuZAoKICBkZWYg
295
- c3RyZWFtaW5nX2xvZ3Mob3B0cyA9IHt9LCAmYmxvY2spCiAgICBtc2dzID0g
296
- RG9ja2VyOjpNZXNzYWdlcy5uZXcKICAgIGV4Y29uX3BhcmFtcyA9IHtyZXNw
297
- b25zZV9ibG9jazogRG9ja2VyOjpVdGlsLmF0dGFjaF9mb3IoYmxvY2ssIG1z
298
- Z3MsIGZhbHNlKX0KCiAgICBjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6bG9n
299
- cyksIG9wdHMsIGV4Y29uX3BhcmFtcykKICAgIG1zZ3MuYWxsX21lc3NhZ2Vz
181
+ AAAAAAAAAAAAAAB1c3RhcgAwMHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAA
182
+ AAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAw
183
+ ADAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
184
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
185
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
186
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRo
187
+ aXMgY2xhc3MgcmVwcmVzZW50cyBhIERvY2tlciBDb250YWluZXIuIEl0J3Mg
188
+ aW1wb3J0YW50IHRvIG5vdGUgdGhhdCBub3RoaW5nCiMgaXMgY2FjaGVkIHNv
189
+ IHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIGFsd2F5cyB1cCB0byBkYXRlLgpj
190
+ bGFzcyBEb2NrZXI6OkNvbnRhaW5lcgogIGluY2x1ZGUgRG9ja2VyOjpCYXNl
191
+ CgogICMgUmV0dXJuIGEgTGlzdCBvZiBIYXNoZXMgdGhhdCByZXByZXNlbnRz
192
+ IHRoZSB0b3AgcnVubmluZyBwcm9jZXNzZXMuCiAgZGVmIHRvcChvcHRzID0g
193
+ e30pCiAgICByZXNwID0gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oY29ubmVj
194
+ dGlvbi5nZXQocGF0aF9mb3IoOnRvcCksIG9wdHMpKQogICAgaWYgcmVzcFsn
195
+ UHJvY2Vzc2VzJ10ubmlsPwogICAgICBbXQogICAgZWxzZQogICAgICByZXNw
196
+ WydQcm9jZXNzZXMnXS5tYXAgeyB8YXJ5fCBIYXNoW3Jlc3BbJ1RpdGxlcydd
197
+ LnppcChhcnkpXSB9CiAgICBlbmQKICBlbmQKCiAgIyBXYWl0IGZvciB0aGUg
198
+ Y3VycmVudCBjb21tYW5kIHRvIGZpbmlzaCBleGVjdXRpbmcuIERlZmF1bHQg
199
+ d2FpdCB0aW1lIGlzCiAgIyBgRXhjb24ub3B0aW9uc1s6cmVhZF90aW1lb3V0
200
+ XWAuCiAgZGVmIHdhaXQodGltZSA9IG5pbCkKICAgIGV4Y29uX3BhcmFtcyA9
201
+ IHsgOnJlYWRfdGltZW91dCA9PiB0aW1lLCA6aWRlbXBvdGVudCA9PiB0cnVl
202
+ IH0KICAgIHJlc3AgPSBjb25uZWN0aW9uLnBvc3QocGF0aF9mb3IoOndhaXQp
203
+ LCBuaWwsIGV4Y29uX3BhcmFtcykKICAgIERvY2tlcjo6VXRpbC5wYXJzZV9q
204
+ c29uKHJlc3ApCiAgZW5kCgogICMgR2l2ZW4gYSBjb21tYW5kIGFuZCBhbiBv
205
+ cHRpb25hbCBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGZvciB0aGUgY3Vy
206
+ cmVudGx5CiAgIyBleGVjdXRpbmcgY29tbWFuZCwgY3JlYXRlcyBhIG5ldyBD
207
+ b250YWluZXIgdG8gcnVuIHRoZSBzcGVjaWZpZWQgY29tbWFuZC4gSWYKICAj
208
+ IHRoZSBjb21tYW5kIHRoYXQgaXMgY3VycmVudGx5IGV4ZWN1dGluZyBkb2Vz
209
+ IG5vdCByZXR1cm4gYSAwIHN0YXR1cyBjb2RlLCBhbgogICMgVW5leHBlY3Rl
210
+ ZFJlc3BvbnNlRXJyb3IgaXMgcmFpc2VkLgogIGRlZiBydW4oY21kLCB0aW1l
211
+ ID0gMTAwMCkKICAgIGlmIChjb2RlID0gdGFwKCY6c3RhcnQpLndhaXQodGlt
212
+ ZSlbJ1N0YXR1c0NvZGUnXSkuemVybz8KICAgICAgY29tbWl0LnJ1bihjbWQp
213
+ CiAgICBlbHNlCiAgICAgIHJhaXNlIFVuZXhwZWN0ZWRSZXNwb25zZUVycm9y
214
+ LCAiQ29tbWFuZCByZXR1cm5lZCBzdGF0dXMgY29kZSAje2NvZGV9LiIKICAg
215
+ IGVuZAogIGVuZAoKICAjIENyZWF0ZSBhbiBFeGVjIGluc3RhbmNlIGluc2lk
216
+ ZSB0aGUgY29udGFpbmVyCiAgIwogICMgQHBhcmFtIGNvbW1hbmQgW1N0cmlu
217
+ ZywgQXJyYXldIFRoZSBjb21tYW5kIHRvIHJ1biBpbnNpZGUgdGhlIEV4ZWMg
218
+ aW5zdGFuY2UKICAjIEBwYXJhbSBvcHRpb25zIFtIYXNoXSBUaGUgb3B0aW9u
219
+ cyB0byBwYXNzIHRvIERvY2tlcjo6RXhlYwogICMKICAjIEByZXR1cm4gW0Rv
220
+ Y2tlcjo6RXhlY10gVGhlIEV4ZWMgaW5zdGFuY2UKICBkZWYgZXhlYyhjb21t
221
+ YW5kLCBvcHRzID0ge30sICZibG9jaykKICAgICMgRXN0YWJsaXNoIHZhbHVl
222
+ cwogICAgdHR5ID0gb3B0cy5kZWxldGUoOnR0eSkgfHwgZmFsc2UKICAgIGRl
223
+ dGFjaCA9IG9wdHMuZGVsZXRlKDpkZXRhY2gpIHx8IGZhbHNlCiAgICBzdGRp
224
+ biA9IG9wdHMuZGVsZXRlKDpzdGRpbikKICAgIHN0ZG91dCA9IG9wdHMuZGVs
225
+ ZXRlKDpzdGRvdXQpIHx8ICFkZXRhY2gKICAgIHN0ZGVyciA9IG9wdHMuZGVs
226
+ ZXRlKDpzdGRlcnIpIHx8ICFkZXRhY2gKCiAgICAjIENyZWF0ZSBFeGVjIElu
227
+ c3RhbmNlCiAgICBpbnN0YW5jZSA9IERvY2tlcjo6RXhlYy5jcmVhdGUoCiAg
228
+ ICAgICdDb250YWluZXInID0+IHNlbGYuaWQsCiAgICAgICdBdHRhY2hTdGRp
229
+ bicgPT4gISFzdGRpbiwKICAgICAgJ0F0dGFjaFN0ZG91dCcgPT4gc3Rkb3V0
230
+ LAogICAgICAnQXR0YWNoU3RkZXJyJyA9PiBzdGRlcnIsCiAgICAgICdUdHkn
231
+ ID0+IHR0eSwKICAgICAgJ0NtZCcgPT4gY29tbWFuZAogICAgKQoKICAgIHN0
232
+ YXJ0X29wdHMgPSB7CiAgICAgIDp0dHkgPT4gdHR5LAogICAgICA6c3RkaW4g
233
+ PT4gc3RkaW4sCiAgICAgIDpkZXRhY2ggPT4gZGV0YWNoCiAgICB9CgogICAg
234
+ aWYgZGV0YWNoCiAgICAgIGluc3RhbmNlLnN0YXJ0IShzdGFydF9vcHRzKQog
235
+ ICAgICByZXR1cm4gaW5zdGFuY2UKICAgIGVsc2UKICAgICAgaW5zdGFuY2Uu
236
+ c3RhcnQhKHN0YXJ0X29wdHMsICZibG9jaykKICAgIGVuZAogIGVuZAoKICAj
237
+ IEV4cG9ydCB0aGUgQ29udGFpbmVyIGFzIGEgdGFyLgogIGRlZiBleHBvcnQo
238
+ JmJsb2NrKQogICAgY29ubmVjdGlvbi5nZXQocGF0aF9mb3IoOmV4cG9ydCks
239
+ IHt9LCA6cmVzcG9uc2VfYmxvY2sgPT4gYmxvY2spCiAgICBzZWxmCiAgZW5k
240
+ CgogICMgQXR0YWNoIHRvIGEgY29udGFpbmVyJ3Mgc3RhbmRhcmQgc3RyZWFt
241
+ cyAvIGxvZ3MuCiAgZGVmIGF0dGFjaChvcHRpb25zID0ge30sICZibG9jaykK
242
+ ICAgIHN0ZGluID0gb3B0aW9ucy5kZWxldGUoOnN0ZGluKQogICAgdHR5ICAg
243
+ PSBvcHRpb25zLmRlbGV0ZSg6dHR5KQoKICAgIG9wdHMgPSB7CiAgICAgIDpz
244
+ dHJlYW0gPT4gdHJ1ZSwgOnN0ZG91dCA9PiB0cnVlLCA6c3RkZXJyID0+IHRy
245
+ dWUKICAgIH0ubWVyZ2Uob3B0aW9ucykKICAgICMgQ3JlYXRlcyBsaXN0IHRv
246
+ IHN0b3JlIHN0ZG91dCBhbmQgc3RkZXJyIG1lc3NhZ2VzCiAgICBtc2dzID0g
247
+ RG9ja2VyOjpNZXNzYWdlcy5uZXcKCiAgICBleGNvbl9wYXJhbXMgPSB7fQoK
248
+ ICAgIGlmIHN0ZGluCiAgICAgICMgSWYgYXR0YWNoaW5nIHRvIHN0ZGluLCB3
249
+ ZSBtdXN0IGhpamFjayB0aGUgdW5kZXJseWluZyBUQ1AgY29ubmVjdGlvbgog
250
+ ICAgICAjIHNvIHdlIGNhbiBzdHJlYW0gc3RkaW4gdG8gdGhlIHJlbW90ZSBE
251
+ b2NrZXIgcHJvY2VzcwogICAgICBvcHRzWzpzdGRpbl0gPSB0cnVlCiAgICAg
252
+ IGV4Y29uX3BhcmFtc1s6aGlqYWNrX2Jsb2NrXSA9IERvY2tlcjo6VXRpbC5o
253
+ aWphY2tfZm9yKHN0ZGluLCBibG9jaywKICAgICAgICBtc2dzLCB0dHkpCiAg
254
+ ICBlbHNlCiAgICAgIGV4Y29uX3BhcmFtc1s6cmVzcG9uc2VfYmxvY2tdID0g
255
+ RG9ja2VyOjpVdGlsLmF0dGFjaF9mb3IoYmxvY2ssIG1zZ3MsIHR0eSkKICAg
256
+ IGVuZAoKICAgIGNvbm5lY3Rpb24ucG9zdCgKICAgICAgcGF0aF9mb3IoOmF0
257
+ dGFjaCksCiAgICAgIG9wdHMsCiAgICAgIGV4Y29uX3BhcmFtcwogICAgKQog
258
+ ICAgW21zZ3Muc3Rkb3V0X21lc3NhZ2VzLCBtc2dzLnN0ZGVycl9tZXNzYWdl
259
+ c10KICBlbmQKCiAgIyBDcmVhdGUgYW4gSW1hZ2UgZnJvbSBhIENvbnRhaW5l
260
+ cidzIGNoYW5nZS5zCiAgZGVmIGNvbW1pdChvcHRpb25zID0ge30pCiAgICBv
261
+ cHRpb25zLm1lcmdlISgnY29udGFpbmVyJyA9PiBzZWxmLmlkWzAuLjddKQog
262
+ ICAgIyBbY29kZV0oaHR0cHM6Ly9naXRodWIuY29tL2RvdGNsb3VkL2RvY2tl
263
+ ci9ibG9iL3YwLjYuMy9jb21tYW5kcy5nbyNMMTExNSkKICAgICMgQmFzZWQg
264
+ b24gdGhlIGxpbmssIHRoZSBjb25maWcgcGFzc2VkIGFzIHJ1biwgbmVlZHMg
265
+ dG8gYmUgcGFzc2VkIGFzIHRoZQogICAgIyBib2R5IG9mIHRoZSBwb3N0IHNv
266
+ IGNhcHR1cmUgaXQsIHJlbW92ZSBmcm9tIHRoZSBvcHRpb25zLCBhbmQgcGFz
267
+ cyBpdCB2aWEKICAgICMgdGhlIHBvc3QgYm9keQogICAgY29uZmlnID0gb3B0
268
+ aW9ucy5kZWxldGUoJ3J1bicpCiAgICBoYXNoID0gRG9ja2VyOjpVdGlsLnBh
269
+ cnNlX2pzb24oY29ubmVjdGlvbi5wb3N0KCcvY29tbWl0JywKICAgICAgICAg
270
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0
271
+ aW9ucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
272
+ ICAgICAgICAgICAgOmJvZHkgPT4gY29uZmlnLnRvX2pzb24pKQogICAgRG9j
273
+ a2VyOjpJbWFnZS5zZW5kKDpuZXcsIHNlbGYuY29ubmVjdGlvbiwgaGFzaCkK
274
+ ICBlbmQKCiAgIyBSZXR1cm4gYSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2Yg
275
+ dGhlIENvbnRhaW5lci4KICBkZWYgdG9fcwogICAgIkRvY2tlcjo6Q29udGFp
276
+ bmVyIHsgOmlkID0+ICN7c2VsZi5pZH0sIDpjb25uZWN0aW9uID0+ICN7c2Vs
277
+ Zi5jb25uZWN0aW9ufSB9IgogIGVuZAoKICAjICNqc29uIHJldHVybnMgaW5m
278
+ b3JtYXRpb24gYWJvdXQgdGhlIENvbnRhaW5lciwgI2NoYW5nZXMgcmV0dXJu
279
+ cyBhIGxpc3Qgb2YKICAjIHRoZSBjaGFuZ2VzIHRoZSBDb250YWluZXIgaGFz
280
+ IG1hZGUgdG8gdGhlIGZpbGVzeXN0ZW0uCiAgWzpqc29uLCA6Y2hhbmdlc10u
281
+ ZWFjaCBkbyB8bWV0aG9kfAogICAgZGVmaW5lX21ldGhvZChtZXRob2QpIGRv
282
+ IHxvcHRzID0ge318CiAgICAgIERvY2tlcjo6VXRpbC5wYXJzZV9qc29uKGNv
283
+ bm5lY3Rpb24uZ2V0KHBhdGhfZm9yKG1ldGhvZCksIG9wdHMpKQogICAgZW5k
284
+ CiAgZW5kCgogIGRlZiBsb2dzKG9wdHMgPSB7fSkKICAgIGNvbm5lY3Rpb24u
285
+ Z2V0KHBhdGhfZm9yKDpsb2dzKSwgb3B0cykKICBlbmQKCiAgZGVmIHJlbmFt
286
+ ZShuZXdfbmFtZSkKICAgIHF1ZXJ5ID0ge30KICAgIHF1ZXJ5WyduYW1lJ10g
287
+ PSBuZXdfbmFtZQogICAgY29ubmVjdGlvbi5wb3N0KHBhdGhfZm9yKDpyZW5h
288
+ bWUpLCBxdWVyeSkKICBlbmQKCiAgZGVmIHN0cmVhbWluZ19sb2dzKG9wdHMg
289
+ PSB7fSwgJmJsb2NrKQogICAgc3RhY2tfc2l6ZSA9IG9wdHMuZGVsZXRlKCdz
290
+ dGFja19zaXplJykgfHwgLTEKICAgIG1zZ3MgPSBEb2NrZXI6Ok1lc3NhZ2Vz
291
+ U3RhY2submV3KHN0YWNrX3NpemUpCiAgICBleGNvbl9wYXJhbXMgPSB7cmVz
292
+ cG9uc2VfYmxvY2s6IERvY2tlcjo6VXRpbC5hdHRhY2hfZm9yX211bHRpcGxl
293
+ eChibG9jaywgbXNncyl9CgogICAgY29ubmVjdGlvbi5nZXQocGF0aF9mb3Io
294
+ OmxvZ3MpLCBvcHRzLCBleGNvbl9wYXJhbXMpCiAgICBtc2dzLm1lc3NhZ2Vz
300
295
  LmpvaW4KICBlbmQKCiAgZGVmIHN0YXJ0IShvcHRzID0ge30pCiAgICBjb25u
301
296
  ZWN0aW9uLnBvc3QocGF0aF9mb3IoOnN0YXJ0KSwge30sIDpib2R5ID0+IG9w
302
297
  dHMudG9fanNvbikKICAgIHNlbGYKICBlbmQKCiAgZGVmIGtpbGwhKG9wdHMg
@@ -359,812 +354,829 @@ http_interactions:
359
354
  cGFydGljdWxhciByZXNvdXJjZS4KICBkZWYgcGF0aF9mb3IocmVzb3VyY2Up
360
355
  CiAgICAiL2NvbnRhaW5lcnMvI3tzZWxmLmlkfS8je3Jlc291cmNlfSIKICBl
361
356
  bmQKCiAgcHJpdmF0ZSA6cGF0aF9mb3IKICBwcml2YXRlX2NsYXNzX21ldGhv
362
- ZCA6bmV3CmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
363
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
364
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
365
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
366
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
367
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRv
368
- Y2tlci9lcnJvci5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
369
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
370
- AAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMjMwMgAx
371
- MjQ2Njc3MzEwMwAwMTA3NzIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
372
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
373
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAA
374
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
375
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
376
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
377
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
378
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
379
- AAAAAAAAAAAAAAAAAAAAIyBUaGlzIG1vZHVsZSBob2xkcyB0aGUgRXJyb3Jz
380
- IGZvciB0aGUgZ2VtLgptb2R1bGUgRG9ja2VyOjpFcnJvcgoKICAjIFRoZSBk
381
- ZWZhdWx0IGVycm9yLiBJdCdzIG5ldmVyIGFjdHVhbGx5IHJhaXNlZCwgYnV0
382
- IGNhbiBiZSB1c2VkIHRvIGNhdGNoIGFsbAogICMgZ2VtLXNwZWNpZmljIGVy
383
- cm9ycyB0aGF0IGFyZSB0aHJvd24gYXMgdGhleSBhbGwgc3ViY2xhc3MgZnJv
384
- bSB0aGlzLgogIGNsYXNzIERvY2tlckVycm9yIDwgU3RhbmRhcmRFcnJvcjsg
385
- ZW5kCgogICMgUmFpc2VkIHdoZW4gaW52YWxpZCBhcmd1bWVudHMgYXJlIHBh
386
- c3NlZCB0byBhIG1ldGhvZC4KICBjbGFzcyBBcmd1bWVudEVycm9yIDwgRG9j
387
- a2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVxdWVzdCByZXR1
388
- cm5zIGEgNDAwLgogIGNsYXNzIENsaWVudEVycm9yIDwgRG9ja2VyRXJyb3I7
389
- IGVuZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVxdWVzdCByZXR1cm5zIGEgNDAx
390
- LgogIGNsYXNzIFVuYXV0aG9yaXplZEVycm9yIDwgRG9ja2VyRXJyb3I7IGVu
391
- ZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVxdWVzdCByZXR1cm5zIGEgNDA0Lgog
392
- IGNsYXNzIE5vdEZvdW5kRXJyb3IgPCBEb2NrZXJFcnJvcjsgZW5kCgogICMg
393
- UmFpc2VkIHdoZW4gYSByZXF1ZXN0IHJldHVybnMgYSA0MDkuCiAgY2xhc3Mg
394
- Q29uZmljdEVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3
395
- aGVuIGEgcmVxdWVzdCByZXR1cm5zIGEgNTAwLgogIGNsYXNzIFNlcnZlckVy
396
- cm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVuIHRoZXJl
397
- IGlzIGFuIHVuZXhwZWN0ZWQgcmVzcG9uc2UgY29kZSAvIGJvZHkuCiAgY2xh
398
- c3MgVW5leHBlY3RlZFJlc3BvbnNlRXJyb3IgPCBEb2NrZXJFcnJvcjsgZW5k
399
- CgogICMgUmFpc2VkIHdoZW4gdGhlcmUgaXMgYW4gaW5jb21wYXRpYmxlIHZl
400
- cnNpb24gb2YgRG9ja2VyLgogIGNsYXNzIFZlcnNpb25FcnJvciA8IERvY2tl
401
- ckVycm9yOyBlbmQKCiAgIyBSYWlzZWQgd2hlbiBhIHJlcXVlc3QgdGltZXMg
402
- b3V0LgogIGNsYXNzIFRpbWVvdXRFcnJvciA8IERvY2tlckVycm9yOyBlbmQK
403
- CiAgIyBSYWlzZWQgd2hlbiBsb2dpbiBmYWlscy4KICBjbGFzcyBBdXRoZW50
404
- aWNhdGlvbkVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3
405
- aGVuIGFuIElPIGFjdGlvbiBmYWlscy4KICBjbGFzcyBJT0Vycm9yIDwgRG9j
406
- a2VyRXJyb3I7IGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
407
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
408
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
409
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
410
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
411
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
412
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
413
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAZG9ja2VyL2V2ZW50LnJiAAAAAAAAAAAA
414
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
415
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1
416
- MAAwMDAxNzUwADAwMDAwMDAxNzUxADEyMzYzMjI1MzY2ADAxMDc3MAAgMAAA
417
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
418
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
419
- AAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
420
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
421
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
422
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
423
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
424
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMg
425
- Y2xhc3MgcmVwcmVzZW50cyBhIERvY2tlciBJbWFnZS4KY2xhc3MgRG9ja2Vy
426
- OjpFdmVudAogIGluY2x1ZGUgRG9ja2VyOjpFcnJvcgoKICBhdHRyX2FjY2Vz
427
- c29yIDpzdGF0dXMsIDppZCwgOmZyb20sIDp0aW1lCgogIGRlZiBpbml0aWFs
428
- aXplKHN0YXR1cywgaWQsIGZyb20sIHRpbWUpCiAgICBAc3RhdHVzLCBAaWQs
429
- IEBmcm9tLCBAdGltZSA9IHN0YXR1cywgaWQsIGZyb20sIHRpbWUKICBlbmQK
430
- CiAgZGVmIHRvX3MKICAgICJEb2NrZXI6OkV2ZW50IHsgOnN0YXR1cyA9PiAj
431
- e3NlbGYuc3RhdHVzfSwgOmlkID0+ICN7c2VsZi5pZH0sICJcCiAgICAgICI6
432
- ZnJvbSA9PiAje3NlbGYuZnJvbX0sIDp0aW1lID0+ICN7c2VsZi50aW1lfSB9
433
- IgogIGVuZAoKICBjbGFzcyA8PCBzZWxmCiAgICBpbmNsdWRlIERvY2tlcjo6
434
- RXJyb3IKCiAgICBkZWYgc3RyZWFtKG9wdHMgPSB7fSwgY29ubiA9IERvY2tl
435
- ci5jb25uZWN0aW9uLCAmYmxvY2spCiAgICAgIGNvbm4uZ2V0KCcvZXZlbnRz
436
- Jywgb3B0cywgOnJlc3BvbnNlX2Jsb2NrID0+IGxhbWJkYSB7IHxiLCByLCB0
437
- fAogICAgICAgIGJsb2NrLmNhbGwobmV3X2V2ZW50KGIsIHIsIHQpKQogICAg
438
- ICB9KQogICAgZW5kCgogICAgZGVmIHNpbmNlKHNpbmNlLCBvcHRzID0ge30s
439
- IGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbiwgJmJsb2NrKQogICAgICBzdHJl
440
- YW0ob3B0cy5tZXJnZSg6c2luY2UgPT4gc2luY2UpLCBjb25uLCAmYmxvY2sp
441
- CiAgICBlbmQKCiAgICBkZWYgbmV3X2V2ZW50KGJvZHksIHJlbWFpbmluZywg
442
- dG90YWwpCiAgICAgIHJldHVybiBpZiBib2R5Lm5pbD8gfHwgYm9keS5lbXB0
443
- eT8KICAgICAganNvbiA9IERvY2tlcjo6VXRpbC5wYXJzZV9qc29uKGJvZHkp
444
- CiAgICAgIERvY2tlcjo6RXZlbnQubmV3KAogICAgICAgIGpzb25bJ3N0YXR1
445
- cyddLAogICAgICAgIGpzb25bJ2lkJ10sCiAgICAgICAganNvblsnZnJvbSdd
446
- LAogICAgICAgIGpzb25bJ3RpbWUnXQogICAgICApCiAgICBlbmQKICBlbmQK
447
- ZW5kCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZG9ja2VyL2V4ZWMucmIAAAAA
448
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
449
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQA
450
- MDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MTYxADEyNDY2NzczMTM2ADAxMDYw
451
- MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
452
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
453
- AAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
454
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
455
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
456
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
457
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
458
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj
459
- IFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIERvY2tlciBFeGVjIEluc3RhbmNl
460
- LgpjbGFzcyBEb2NrZXI6OkV4ZWMKICBpbmNsdWRlIERvY2tlcjo6QmFzZQoK
461
- ICAjIENvbnZlcnQgZGV0YWlscyBhYm91dCB0aGUgb2JqZWN0IGludG8gYSBz
462
- dHJpbmcKICAjCiAgIyBAcmV0dXJuIFtTdHJpbmddIFN0cmluZyByZXByZXNl
463
- bnRhdGlvbiBvZiB0aGUgRXhlYyBpbnN0YW5jZSBvYmplY3QKICBkZWYgdG9f
464
- cwogICAgIkRvY2tlcjo6RXhlYyB7IDppZCA9PiAje3NlbGYuaWR9LCA6Y29u
465
- bmVjdGlvbiA9PiAje3NlbGYuY29ubmVjdGlvbn0gfSIKICBlbmQKCiAgIyBD
466
- cmVhdGUgYSBuZXcgRXhlYyBpbnN0YW5jZSBpbiBhIHJ1bm5pbmcgY29udGFp
467
- bmVyLiBQbGVhc2Ugbm90ZSwgdGhpcyBkb2VzCiAgIyBOT1QgZXhlY3V0ZSB0
468
- aGUgaW5zdGFuY2UgLSB5b3UgbXVzdCBydW4gI3N0YXJ0LiBBbHNvLCBlYWNo
469
- IGluc3RhbmNlIGlzCiAgIyBvbmUtdGltZSB1c2Ugb25seS4KICAjCiAgIyBA
470
- cGFyYW0gb3B0aW9ucyBbSGFzaF0gUGFyYW1ldGVycyB0byBwYXNzIGluIHRv
471
- IHRoZSBBUEkuCiAgIyBAcGFyYW0gY29ubiBbRG9ja2VyOjpDb25uZWN0aW9u
472
- XSBDb25uZWN0aW9uIHRvIERvY2tlciBSZW1vdGUgQVBJCiAgIwogICMgQHJl
473
- dHVybiBbRG9ja2VyOjpFeGVjXSBzZWxmCiAgZGVmIHNlbGYuY3JlYXRlKG9w
474
- dGlvbnMgPSB7fSwgY29ubiA9IERvY2tlci5jb25uZWN0aW9uKQogICAgY29u
475
- dGFpbmVyID0gb3B0aW9ucy5kZWxldGUoJ0NvbnRhaW5lcicpCiAgICByZXNw
476
- ID0gY29ubi5wb3N0KCIvY29udGFpbmVycy8je2NvbnRhaW5lcn0vZXhlYyIs
477
- IHt9LAogICAgICA6Ym9keSA9PiBvcHRpb25zLnRvX2pzb24pCiAgICBoYXNo
478
- ID0gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24ocmVzcCkgfHwge30KICAgIG5l
479
- dyhjb25uLCBoYXNoKQogIGVuZAoKICAjIEdldCBpbmZvIGFib3V0IHRoZSBF
480
- eGVjIGluc3RhbmNlCiAgIwogIGRlZiBqc29uCiAgICBEb2NrZXI6OlV0aWwu
481
- cGFyc2VfanNvbihjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6anNvbiksIHt9
482
- KSkKICBlbmQKCiAgIyBTdGFydCB0aGUgRXhlYyBpbnN0YW5jZS4gVGhlIEV4
483
- ZWMgaW5zdGFuY2UgaXMgZGVsZXRlZCBhZnRlciB0aGlzIHNvIHRoaXMKICAj
484
- IGNvbW1hbmQgY2FuIG9ubHkgYmUgcnVuIG9uY2UuCiAgIwogICMgQHBhcmFt
485
- IG9wdGlvbnMgW0hhc2hdIE9wdGlvbnMgdG8gZGljdGF0ZSBiZWhhdmlvciBv
486
- ZiB0aGUgaW5zdGFuY2UKICAjIEBvcHRpb24gb3B0aW9ucyBbT2JqZWN0XSA6
487
- c3RkaW4gKG5pbCkgVGhlIG9iamVjdCB0byBwYXNzIHRvIFNURElOLgogICMg
488
- QG9wdGlvbiBvcHRpb25zIFtUcnVlQ2xhc3MsIEZhbHNlQ2xhc3NdIDpkZXRh
489
- Y2ggKGZhbHNlKSBXaGV0aGVyIHRvIGF0dGFjaAogICMgICAgIHRvIFNURE9V
490
- VC9TVERFUlIuCiAgIyBAb3B0aW9uIG9wdGlvbnMgW1RydWVDbGFzcywgRmFs
491
- c2VDbGFzc10gOnR0eSAoZmFsc2UpIFdoZXRoZXIgdG8gYXR0YWNoIHVzaW5n
492
- CiAgIyAgICAgYSBwc2V1ZG8tVFRZLgogICMKICAjIEByZXR1cm4gW0FycmF5
493
- LCBBcnJheSwgU3RyaW5nXSBUaGUgU1RET1VULCBTVERFUlIgYW5kIGV4aXQg
494
- Y29kZQogIGRlZiBzdGFydCEob3B0aW9ucyA9IHt9LCAmYmxvY2spCgogICAg
495
- IyBQYXJzZSB0aGUgT3B0aW9ucwogICAgdHR5ID0gISFvcHRpb25zLmRlbGV0
496
- ZSg6dHR5KQogICAgZGV0YWNoZWQgPSAhIW9wdGlvbnMuZGVsZXRlKDpkZXRh
497
- Y2gpCiAgICBzdGRpbiA9IG9wdGlvbnNbOnN0ZGluXQoKICAgICMgQ3JlYXRl
498
- IEFQSSBSZXF1ZXN0IEJvZHkKICAgIGJvZHkgPSB7CiAgICAgICJUdHkiID0+
499
- IHR0eSwKICAgICAgIkRldGFjaCIgPT4gZGV0YWNoZWQKICAgIH0KICAgIGV4
500
- Y29uX3BhcmFtcyA9IHsgOmJvZHkgPT4gYm9keS50b19qc29uIH0KCiAgICBt
501
- c2dzID0gRG9ja2VyOjpNZXNzYWdlcy5uZXcKICAgIHVubGVzcyBkZXRhY2hl
502
- ZAogICAgICBpZiBzdGRpbgogICAgICAgIGV4Y29uX3BhcmFtc1s6aGlqYWNr
503
- X2Jsb2NrXSA9IERvY2tlcjo6VXRpbC5oaWphY2tfZm9yKHN0ZGluLCBibG9j
504
- aywKICAgICAgICAgIG1zZ3MsIHR0eSkKICAgICAgZWxzZQogICAgICAgIGV4
505
- Y29uX3BhcmFtc1s6cmVzcG9uc2VfYmxvY2tdID0gRG9ja2VyOjpVdGlsLmF0
506
- dGFjaF9mb3IoYmxvY2ssCiAgICAgICAgICBtc2dzLCB0dHkpCiAgICAgIGVu
507
- ZAogICAgZW5kCgogICAgY29ubmVjdGlvbi5wb3N0KHBhdGhfZm9yKDpzdGFy
508
- dCksIG5pbCwgZXhjb25fcGFyYW1zKQogICAgW21zZ3Muc3Rkb3V0X21lc3Nh
509
- Z2VzLCBtc2dzLnN0ZGVycl9tZXNzYWdlcywgc2VsZi5qc29uWydFeGl0Q29k
510
- ZSddXQogIGVuZAoKICAjICNzdGFydCEgcGVyZm9ybXMgdGhlIGFzc29jaWF0
511
- ZWQgYWN0aW9uIGFuZCByZXR1cm5zIHRoZSBvdXRwdXQuCiAgIyAjc3RhcnQg
512
- ZG9lcyB0aGUgc2FtZSwgYnV0IHJlc2N1ZXMgZnJvbSBTZXJ2ZXJFcnJvcnMu
513
- CiAgWzpzdGFydF0uZWFjaCBkbyB8bWV0aG9kfAogICAgZGVmaW5lX21ldGhv
514
- ZChtZXRob2QpIGRvIHwqYXJnc3wKICAgICAgYmVnaW47IHB1YmxpY19zZW5k
515
- KDoiI3ttZXRob2R9ISIsICphcmdzKTsgcmVzY3VlIFNlcnZlckVycm9yOyBz
516
- ZWxmIGVuZAogICAgZW5kCiAgZW5kCgogICMgUmVzaXplIHRoZSBUVFkgYXNz
517
- b2NpYXRlZCB3aXRoIHRoZSBFeGVjIGluc3RhbmNlCiAgIwogICMgQHBhcmFt
518
- IHF1ZXJ5IFtIYXNoXSBBUEkgcXVlcnkgcGFyYW1ldGVycwogICMgQG9wdGlv
519
- biBxdWVyeSBbRml4bnVtXSBoIEhlaWdodCBvZiB0aGUgVFRZCiAgIyBAb3B0
520
- aW9uIHF1ZXJ5IFtGaXhudW1dIHcgV2lkdGggb2YgdGhlIFRUWQogICMKICAj
521
- IEByZXR1cm4gW0RvY2tlcjo6RXhlY10gc2VsZgogIGRlZiByZXNpemUocXVl
522
- cnkgPSB7fSkKICAgIGNvbm5lY3Rpb24ucG9zdChwYXRoX2Zvcig6cmVzaXpl
523
- KSwgcXVlcnkpCiAgICBzZWxmCiAgZW5kCgogICMgR2V0IHRoZSByZXF1ZXN0
524
- IFVSSSBmb3IgdGhlIGdpdmVuIGVuZHBvaW50CiAgIwogICMgQHBhcmFtIGVu
525
- ZHBvaW50IFtTeW1ib2xdIFRoZSBlbmRwb2ludCB0byBncmFiCiAgIyBAcmV0
526
- dXJuIFtTdHJpbmddIFRoZSBmdWxsIFJlbW90ZSBBUEkgZW5kcG9pbnQgd2l0
527
- aCBJRAogIGRlZiBwYXRoX2ZvcihlbmRwb2ludCkKICAgICIvZXhlYy8je3Nl
528
- bGYuaWR9LyN7ZW5kcG9pbnR9IgogIGVuZAoKICBwcml2YXRlIDpwYXRoX2Zv
529
- cgogIHByaXZhdGVfY2xhc3NfbWV0aG9kIDpuZXcKZW5kCgAAAAAAAAAAAAAA
530
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
531
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
532
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
533
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
534
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
535
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
536
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
537
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
538
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlci9pbWFnZS5yYgAA
539
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
540
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0
541
- ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAyMzUyMAAxMjQ2Njc3MzEwMwAwMTA3
542
- MzAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
543
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
544
- AAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
545
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
546
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
547
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
548
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
549
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
550
- IyBUaGlzIGNsYXNzIHJlcHJlc2VudHMgYSBEb2NrZXIgSW1hZ2UuCmNsYXNz
551
- IERvY2tlcjo6SW1hZ2UKICBpbmNsdWRlIERvY2tlcjo6QmFzZQoKICAjIEdp
552
- dmVuIGEgY29tbWFuZCBhbmQgb3B0aW9uYWwgbGlzdCBvZiBzdHJlYW1zIHRv
553
- IGF0dGFjaCB0bywgcnVuIGEgY29tbWFuZCBvbgogICMgYW4gSW1hZ2UuIFRo
554
- aXMgd2lsbCBub3QgbW9kaWZ5IHRoZSBJbWFnZSwgYnV0IHJhdGhlciBjcmVh
555
- dGUgYSBuZXcgQ29udGFpbmVyCiAgIyB0byBydW4gdGhlIEltYWdlLiBJZiB0
556
- aGUgaW1hZ2UgaGFzIGFuIGVtYmVkZGVkIGNvbmZpZywgbm8gY29tbWFuZCBp
557
- cwogICMgbmVjZXNzYXJ5LCBidXQgaXQgd2lsbCBmYWlsIHdpdGggNTAwIGlm
558
- IG5vIGNvbmZpZyBpcyBzYXZlZCB3aXRoIHRoZSBpbWFnZQogIGRlZiBydW4o
559
- Y21kPW5pbCkKICAgIG9wdHMgPSB7ICdJbWFnZScgPT4gc2VsZi5pZCB9CiAg
560
- ICBvcHRzWyJDbWQiXSA9IGNtZC5pc19hPyhTdHJpbmcpID8gY21kLnNwbGl0
561
- KC9ccysvKSA6IGNtZAogICAgYmVnaW4KICAgICAgRG9ja2VyOjpDb250YWlu
562
- ZXIuY3JlYXRlKG9wdHMsIGNvbm5lY3Rpb24pCiAgICAgICAgICAgICAgICAg
563
- ICAgICAgLnRhcCgmOnN0YXJ0ISkKICAgIHJlc2N1ZSBTZXJ2ZXJFcnJvciA9
564
- PiBleAogICAgICBpZiBjbWQKICAgICAgICByYWlzZSBleAogICAgICBlbHNl
565
- CiAgICAgICAgcmFpc2UgU2VydmVyRXJyb3IsICJObyBjb21tYW5kIHNwZWNp
566
- ZmllZC4iCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCgogICMgUHVzaCB0aGUg
567
- SW1hZ2UgdG8gdGhlIERvY2tlciByZWdpc3RyeS4KICBkZWYgcHVzaChjcmVk
568
- cyA9IG5pbCwgb3B0aW9ucyA9IHt9LCAmYmxvY2spCiAgICByZXBvX3RhZyA9
569
- IG9wdGlvbnMuZGVsZXRlKDpyZXBvX3RhZykgfHwgZW5zdXJlX3JlcG9fdGFn
570
- cy5maXJzdAogICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkltYWdlIGlzIHVu
571
- dGFnZ2VkIiBpZiByZXBvX3RhZy5uaWw/CiAgICByZXBvLCB0YWcgPSBEb2Nr
572
- ZXI6OlV0aWwucGFyc2VfcmVwb190YWcocmVwb190YWcpCiAgICByYWlzZSBB
573
- cmd1bWVudEVycm9yLCAiSW1hZ2UgZG9lcyBub3QgaGF2ZSBhIG5hbWUgdG8g
574
- cHVzaC4iIGlmIHJlcG8ubmlsPwoKICAgIGJvZHkgPSAiIgogICAgY3JlZGVu
575
- dGlhbHMgPSBjcmVkcyB8fCBEb2NrZXIuY3JlZHMgfHwge30KICAgIGhlYWRl
576
- cnMgPSBEb2NrZXI6OlV0aWwuYnVpbGRfYXV0aF9oZWFkZXIoY3JlZGVudGlh
577
- bHMpCiAgICBvcHRzID0gezp0YWcgPT4gdGFnfS5tZXJnZShvcHRpb25zKQog
578
- ICAgY29ubmVjdGlvbi5wb3N0KCIvaW1hZ2VzLyN7cmVwb30vcHVzaCIsIG9w
579
- dHMsIDpoZWFkZXJzID0+IGhlYWRlcnMsCiAgICAgICAgICAgICAgICAgICAg
580
- OnJlc3BvbnNlX2Jsb2NrID0+IHNlbGYuY2xhc3MucmVzcG9uc2VfYmxvY2so
581
- Ym9keSwgJmJsb2NrKSkKICAgIHNlbGYKICBlbmQKCiAgIyBUYWcgdGhlIElt
582
- YWdlLgogIGRlZiB0YWcob3B0cyA9IHt9KQogICAgc2VsZi5pbmZvWydSZXBv
583
- VGFncyddIHx8PSBbXQogICAgY29ubmVjdGlvbi5wb3N0KHBhdGhfZm9yKDp0
584
- YWcpLCBvcHRzKQogICAgcmVwbyA9IG9wdHNbJ3JlcG8nXSB8fCBvcHRzWzpy
585
- ZXBvXQogICAgdGFnID0gb3B0c1sndGFnJ10gfHwgb3B0c1s6dGFnXSB8fCAn
586
- bGF0ZXN0JwogICAgc2VsZi5pbmZvWydSZXBvVGFncyddIDw8ICIje3JlcG99
587
- OiN7dGFnfSIKICBlbmQKCiAgIyBHaXZlbiBhIHBhdGggb2YgYSBsb2NhbCBm
588
- aWxlIGFuZCB0aGUgcGF0aCBpdCBzaG91bGQgYmUgaW5zZXJ0ZWQsIGNyZWF0
589
- ZXMKICAjIGEgbmV3IEltYWdlIHRoYXQgaGFzIHRoYXQgZmlsZS4KICBkZWYg
590
- aW5zZXJ0X2xvY2FsKG9wdHMgPSB7fSkKICAgIGxvY2FsX3BhdGhzID0gb3B0
591
- cy5kZWxldGUoJ2xvY2FsUGF0aCcpCiAgICBvdXRwdXRfcGF0aCA9IG9wdHMu
592
- ZGVsZXRlKCdvdXRwdXRQYXRoJykKCiAgICBsb2NhbF9wYXRocyA9IFsgbG9j
593
- YWxfcGF0aHMgXSB1bmxlc3MgbG9jYWxfcGF0aHMuaXNfYT8oQXJyYXkpCgog
594
- ICAgZmlsZV9oYXNoID0gRG9ja2VyOjpVdGlsLmZpbGVfaGFzaF9mcm9tX3Bh
595
- dGhzKGxvY2FsX3BhdGhzKQoKICAgIGZpbGVfaGFzaFsnRG9ja2VyZmlsZSdd
596
- ID0gZG9ja2VyZmlsZV9mb3IoZmlsZV9oYXNoLCBvdXRwdXRfcGF0aCkKCiAg
597
- ICB0YXIgPSBEb2NrZXI6OlV0aWwuY3JlYXRlX3RhcihmaWxlX2hhc2gpCiAg
598
- ICBib2R5ID0gY29ubmVjdGlvbi5wb3N0KCcvYnVpbGQnLCBvcHRzLCA6Ym9k
599
- eSA9PiB0YXIpCiAgICBzZWxmLmNsYXNzLnNlbmQoOm5ldywgY29ubmVjdGlv
600
- biwgJ2lkJyA9PiBEb2NrZXI6OlV0aWwuZXh0cmFjdF9pZChib2R5KSkKICBl
601
- bmQKCiAgIyBSZW1vdmUgdGhlIEltYWdlIGZyb20gdGhlIHNlcnZlci4KICBk
602
- ZWYgcmVtb3ZlKG9wdHMgPSB7fSkKICAgIG5hbWUgPSBvcHRzLmRlbGV0ZSg6
603
- bmFtZSkgfHwgc2VsZi5pZAogICAgY29ubmVjdGlvbi5kZWxldGUoIi9pbWFn
604
- ZXMvI3tuYW1lfSIsIG9wdHMpCiAgZW5kCiAgYWxpYXNfbWV0aG9kIDpkZWxl
605
- dGUsIDpyZW1vdmUKCiAgIyBSZXR1cm4gYSBTdHJpbmcgcmVwcmVzZW50YXRp
606
- b24gb2YgdGhlIEltYWdlLgogIGRlZiB0b19zCiAgICAiRG9ja2VyOjpJbWFn
607
- ZSB7IDppZCA9PiAje3NlbGYuaWR9LCA6aW5mbyA9PiAje3NlbGYuaW5mby5p
608
- bnNwZWN0fSwgIlwKICAgICAgIjpjb25uZWN0aW9uID0+ICN7c2VsZi5jb25u
609
- ZWN0aW9ufSB9IgogIGVuZAoKICAjICNqc29uIHJldHVybnMgZXh0cmEgaW5m
610
- b3JtYXRpb24gYWJvdXQgYW4gSW1hZ2UsICNoaXN0b3J5IHJldHVybnMgaXRz
611
- CiAgIyBoaXN0b3J5LgogIFs6anNvbiwgOmhpc3RvcnldLmVhY2ggZG8gfG1l
612
- dGhvZHwKICAgIGRlZmluZV9tZXRob2QobWV0aG9kKSBkbyB8b3B0cyA9IHt9
613
- fAogICAgICBEb2NrZXI6OlV0aWwucGFyc2VfanNvbihjb25uZWN0aW9uLmdl
614
- dChwYXRoX2ZvcihtZXRob2QpLCBvcHRzKSkKICAgIGVuZAogIGVuZAoKICAj
615
- IFNhdmUgdGhlIGltYWdlIGFzIGEgdGFyYmFsbAogIGRlZiBzYXZlKGZpbGVu
616
- YW1lID0gbmlsKQogICAgc2VsZi5jbGFzcy5zYXZlKHNlbGYuaWQsIGZpbGVu
617
- YW1lLCBjb25uZWN0aW9uKQogIGVuZAoKICAjIFVwZGF0ZSB0aGUgQGluZm8g
618
- aGFzaCwgd2hpY2ggaXMgdGhlIG9ubHkgbXV0YWJsZSBzdGF0ZSBpbiB0aGlz
619
- IG9iamVjdC4KICBkZWYgcmVmcmVzaCEKICAgIGltZyA9IERvY2tlcjo6SW1h
620
- Z2UuYWxsKHs6YWxsID0+IHRydWV9LCBjb25uZWN0aW9uKS5maW5kIHsgfGlt
621
- YWdlfAogICAgICBpbWFnZS5pZC5zdGFydF93aXRoPyhzZWxmLmlkKSB8fCBz
622
- ZWxmLmlkLnN0YXJ0X3dpdGg/KGltYWdlLmlkKQogICAgfQogICAgaW5mby5t
623
- ZXJnZSEoc2VsZi5qc29uKQogICAgaW1nICYmIGluZm8ubWVyZ2UhKGltZy5p
624
- bmZvKQogICAgc2VsZgogIGVuZAoKICBjbGFzcyA8PCBzZWxmCgogICAgIyBD
625
- cmVhdGUgYSBuZXcgSW1hZ2UuCiAgICBkZWYgY3JlYXRlKG9wdHMgPSB7fSwg
626
- Y3JlZHMgPSBuaWwsIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbiwgJmJsb2Nr
627
- KQogICAgICBjcmVkZW50aWFscyA9IGNyZWRzLm5pbD8gPyBEb2NrZXIuY3Jl
628
- ZHMgOiBjcmVkcy50b19qc29uCiAgICAgIGhlYWRlcnMgPSBjcmVkZW50aWFs
629
- cyAmJiBEb2NrZXI6OlV0aWwuYnVpbGRfYXV0aF9oZWFkZXIoY3JlZGVudGlh
630
- bHMpIHx8IHt9CiAgICAgIGJvZHkgPSAnJwogICAgICBjb25uLnBvc3QoCiAg
631
- ICAgICAgJy9pbWFnZXMvY3JlYXRlJywKICAgICAgICBvcHRzLAogICAgICAg
632
- IDpoZWFkZXJzID0+IGhlYWRlcnMsCiAgICAgICAgOnJlc3BvbnNlX2Jsb2Nr
633
- ID0+IHJlc3BvbnNlX2Jsb2NrKGJvZHksICZibG9jaykKICAgICAgKQogICAg
634
- ICBqc29uID0gRG9ja2VyOjpVdGlsLmZpeF9qc29uKGJvZHkpCiAgICAgIGlt
635
- YWdlID0ganNvbi5yZXZlcnNlX2VhY2guZmluZCB7IHxlbHwgZWwgJiYgZWwu
636
- a2V5PygnaWQnKSB9CiAgICAgIG5ldyhjb25uLCAnaWQnID0+IGltYWdlICYm
637
- IGltYWdlLmZldGNoKCdpZCcpLCA6aGVhZGVycyA9PiBoZWFkZXJzKQogICAg
638
- ZW5kCgogICAgIyBSZXR1cm4gYSBzcGVjaWZpYyBpbWFnZS4KICAgIGRlZiBn
639
- ZXQoaWQsIG9wdHMgPSB7fSwgY29ubiA9IERvY2tlci5jb25uZWN0aW9uKQog
640
- ICAgICBpbWFnZV9qc29uID0gY29ubi5nZXQoIi9pbWFnZXMvI3tVUkkuZW5j
641
- b2RlKGlkKX0vanNvbiIsIG9wdHMpCiAgICAgIGhhc2ggPSBEb2NrZXI6OlV0
642
- aWwucGFyc2VfanNvbihpbWFnZV9qc29uKSB8fCB7fQogICAgICBuZXcoY29u
643
- biwgaGFzaCkKICAgIGVuZAoKICAgICMgU2F2ZSB0aGUgcmF3IGJpbmFyeSBy
644
- ZXByZXNlbnRhdGlvbiBvciBvbmUgb3IgbW9yZSBEb2NrZXIgaW1hZ2VzCiAg
645
- ICAjCiAgICAjIEBwYXJhbSBuYW1lcyBbU3RyaW5nLCBBcnJheSNTdHJpbmdd
646
- IFRoZSBpbWFnZShzKSB5b3Ugd2lzaCB0byBzYXZlCiAgICAjIEBwYXJhbSBm
647
- aWxlbmFtZSBbU3RyaW5nXSBUaGUgZmlsZSB0byBleHBvcnQgdGhlIGRhdGEg
648
- dG8uCiAgICAjIEBwYXJhbSBjb25uIFtEb2NrZXI6OkNvbm5lY3Rpb25dIFRo
649
- ZSBEb2NrZXIgY29ubmVjdGlvbiB0byB1c2UKICAgICMKICAgICMgQHJldHVy
650
- biBbTmlsQ2xhc3MsIFN0cmluZ10gSWYgZmlsZW5hbWUgaXMgbmlsLCByZXR1
651
- cm4gdGhlIHN0cmluZwogICAgIyByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmlu
652
- YXJ5IGRhdGEuIElmIHRoZSBmaWxlbmFtZSBpcyBub3QgbmlsLCB0aGVuCiAg
653
- ICAjIHJldHVybiBuaWwuCiAgICBkZWYgc2F2ZShuYW1lcywgZmlsZW5hbWUg
654
- PSBuaWwsIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgIyBCeSB1
655
- c2luZyBjb21wYXJlX2J5X2lkZW50aXR5IHdlIGNhbiBjcmVhdGUgYSBIYXNo
656
- IHRoYXQgaGFzCiAgICAgICMgdGhlIHNhbWUga2V5IG11bHRpcGxlIHRpbWVz
657
- LgogICAgICBxdWVyeSA9IHt9CiAgICAgIHF1ZXJ5LmNvbXBhcmVfYnlfaWRl
658
- bnRpdHkKICAgICAgQXJyYXkobmFtZXMpLmVhY2ggZG8gfG5hbWV8CiAgICAg
659
- ICAgcXVlcnlbJ25hbWVzJ10gPSBVUkkuZW5jb2RlKG5hbWUpCiAgICAgIGVu
660
- ZAoKICAgICAgaWYgZmlsZW5hbWUKICAgICAgICBmaWxlID0gRmlsZS5vcGVu
661
- KGZpbGVuYW1lLCAnd2InKQogICAgICAgIGNvbm4uZ2V0KAogICAgICAgICAg
662
- Jy9pbWFnZXMvZ2V0JywgcXVlcnksCiAgICAgICAgICA6cmVzcG9uc2VfYmxv
663
- Y2sgPT4gcmVzcG9uc2VfYmxvY2tfZm9yX3NhdmUoZmlsZSkKICAgICAgICAp
664
- CiAgICAgICAgZmlsZS5jbG9zZQogICAgICAgIG5pbAogICAgICBlbHNlCiAg
665
- ICAgICAgY29ubi5nZXQoJy9pbWFnZXMvZ2V0JywgcXVlcnkpCiAgICAgIGVu
666
- ZAogICAgZW5kCgogICAgIyBDaGVjayBpZiBhbiBpbWFnZSBleGlzdHMuCiAg
667
- ICBkZWYgZXhpc3Q/KGlkLCBvcHRzID0ge30sIGNvbm4gPSBEb2NrZXIuY29u
668
- bmVjdGlvbikKICAgICAgZ2V0KGlkLCBvcHRzLCBjb25uKQogICAgICB0cnVl
669
- CiAgICByZXNjdWUgRG9ja2VyOjpFcnJvcjo6Tm90Rm91bmRFcnJvcgogICAg
670
- ICBmYWxzZQogICAgZW5kCgogICAgIyBSZXR1cm4gZXZlcnkgSW1hZ2UuCiAg
671
- ICBkZWYgYWxsKG9wdHMgPSB7fSwgY29ubiA9IERvY2tlci5jb25uZWN0aW9u
672
- KQogICAgICBoYXNoZXMgPSBEb2NrZXI6OlV0aWwucGFyc2VfanNvbihjb25u
673
- LmdldCgnL2ltYWdlcy9qc29uJywgb3B0cykpIHx8IFtdCiAgICAgIGhhc2hl
674
- cy5tYXAgeyB8aGFzaHwgbmV3KGNvbm4sIGhhc2gpIH0KICAgIGVuZAoKICAg
675
- ICMgR2l2ZW4gYSBxdWVyeSBsaWtlIGB7IDp0ZXJtID0+ICdzc2hkJyB9YCwg
676
- cXVlcmllcyB0aGUgRG9ja2VyIFJlZ2lzdHJ5IGZvcgogICAgIyBhIGNvcnJl
677
- c3BvbmRpbmcgSW1hZ2UuCiAgICBkZWYgc2VhcmNoKHF1ZXJ5ID0ge30sIGNv
678
- bm5lY3Rpb24gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgYm9keSA9IGNv
679
- bm5lY3Rpb24uZ2V0KCcvaW1hZ2VzL3NlYXJjaCcsIHF1ZXJ5KQogICAgICBo
680
- YXNoZXMgPSBEb2NrZXI6OlV0aWwucGFyc2VfanNvbihib2R5KSB8fCBbXQog
681
- ICAgICBoYXNoZXMubWFwIHsgfGhhc2h8IG5ldyhjb25uZWN0aW9uLCAnaWQn
682
- ID0+IGhhc2hbJ25hbWUnXSkgfQogICAgZW5kCgogICAgIyBJbXBvcnQgYW4g
683
- SW1hZ2UgZnJvbSB0aGUgb3V0cHV0IG9mIERvY2tlcjo6Q29udGFpbmVyI2V4
684
- cG9ydC4gVGhlIGZpcnN0CiAgICAjIGFyZ3VtZW50IG1heSBlaXRoZXIgYmUg
685
- YSBGaWxlIG9yIFVSSS4KICAgIGRlZiBpbXBvcnQoaW1wLCBvcHRzID0ge30s
686
- IGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgb3BlbihpbXApIGRv
687
- IHxpb3wKICAgICAgICBpbXBvcnRfc3RyZWFtKG9wdHMsIGNvbm4pIGRvCiAg
688
- ICAgICAgICBpby5yZWFkKEV4Y29uLmRlZmF1bHRzWzpjaHVua19zaXplXSku
689
- dG9fcwogICAgICAgIGVuZAogICAgICBlbmQKICAgIHJlc2N1ZSBTdGFuZGFy
690
- ZEVycm9yCiAgICAgIHJhaXNlIERvY2tlcjo6RXJyb3I6OklPRXJyb3IsICJD
691
- b3VsZCBub3QgaW1wb3J0ICcje2ltcH0nIgogICAgZW5kCgogICAgZGVmIGlt
692
- cG9ydF9zdHJlYW0ob3B0aW9ucyA9IHt9LCBjb25uZWN0aW9uID0gRG9ja2Vy
693
- LmNvbm5lY3Rpb24sICZibG9jaykKICAgICAgYm9keSA9IGNvbm5lY3Rpb24u
694
- cG9zdCgKICAgICAgICAnL2ltYWdlcy9jcmVhdGUnLAogICAgICAgICBvcHRp
695
- b25zLm1lcmdlKCdmcm9tU3JjJyA9PiAnLScpLAogICAgICAgICA6aGVhZGVy
696
- cyA9PiB7ICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi90YXInLAog
697
- ICAgICAgICAgICAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZycgPT4g
698
- J2NodW5rZWQnIH0sCiAgICAgICAgICZibG9jawogICAgICApCiAgICAgIG5l
699
- dyhjb25uZWN0aW9uLCAnaWQnPT4gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24o
700
- Ym9keSlbJ3N0YXR1cyddKQogICAgZW5kCgogICAgIyBHaXZlbiBhIERvY2tl
701
- cmZpbGUgYXMgYSBzdHJpbmcsIGJ1aWxkcyBhbiBJbWFnZS4KICAgIGRlZiBi
702
- dWlsZChjb21tYW5kcywgb3B0cyA9IHt9LCBjb25uZWN0aW9uID0gRG9ja2Vy
703
- LmNvbm5lY3Rpb24sICZibG9jaykKICAgICAgYm9keSA9ICIiCiAgICAgIGNv
704
- bm5lY3Rpb24ucG9zdCgKICAgICAgICAnL2J1aWxkJywgb3B0cywKICAgICAg
705
- ICA6Ym9keSA9PiBEb2NrZXI6OlV0aWwuY3JlYXRlX3RhcignRG9ja2VyZmls
706
- ZScgPT4gY29tbWFuZHMpLAogICAgICAgIDpyZXNwb25zZV9ibG9jayA9PiBy
707
- ZXNwb25zZV9ibG9jayhib2R5LCAmYmxvY2spCiAgICAgICkKICAgICAgbmV3
708
- KGNvbm5lY3Rpb24sICdpZCcgPT4gRG9ja2VyOjpVdGlsLmV4dHJhY3RfaWQo
709
- Ym9keSkpCiAgICByZXNjdWUgRG9ja2VyOjpFcnJvcjo6U2VydmVyRXJyb3IK
710
- ICAgICAgcmFpc2UgRG9ja2VyOjpFcnJvcjo6VW5leHBlY3RlZFJlc3BvbnNl
711
- RXJyb3IKICAgIGVuZAoKICAgICMgR2l2ZW4gRmlsZSBsaWtlIG9iamVjdCBj
712
- b250YWluaW5nIGEgdGFyIGZpbGUsIGJ1aWxkcyBhbiBJbWFnZS4KICAgICMK
713
- ICAgICMgSWYgYSBibG9jayBpcyBwYXNzZWQsIGNodW5rcyBvZiBvdXRwdXQg
714
- cHJvZHVjZWQgYnkgRG9ja2VyIHdpbGwgYmUgcGFzc2VkCiAgICAjIHRvIHRo
715
- YXQgYmxvY2suCiAgICBkZWYgYnVpbGRfZnJvbV90YXIodGFyLCBvcHRzID0g
716
- e30sIGNvbm5lY3Rpb24gPSBEb2NrZXIuY29ubmVjdGlvbiwKICAgICAgICAg
717
- ICAgICAgICAgICAgICBjcmVkcyA9IG5pbCwgJmJsb2NrKQoKICAgICAgaGVh
718
- ZGVycyA9IGJ1aWxkX2hlYWRlcnMoY3JlZHMpCgogICAgICAjIFRoZSByZXNw
719
- b25zZV9ibG9jayBwYXNzZWQgdG8gRXhjb24gd2lsbCBidWlsZCB1cCB0aGlz
720
- IGJvZHkgdmFyaWFibGUuCiAgICAgIGJvZHkgPSAiIgogICAgICBjb25uZWN0
721
- aW9uLnBvc3QoCiAgICAgICAgJy9idWlsZCcsIG9wdHMsCiAgICAgICAgOmhl
722
- YWRlcnMgPT4gaGVhZGVycywKICAgICAgICA6cmVzcG9uc2VfYmxvY2sgPT4g
723
- cmVzcG9uc2VfYmxvY2soYm9keSwgJmJsb2NrKQogICAgICApIHsgdGFyLnJl
724
- YWQoRXhjb24uZGVmYXVsdHNbOmNodW5rX3NpemVdKS50b19zIH0KCiAgICAg
725
- IG5ldyhjb25uZWN0aW9uLAogICAgICAgICAgJ2lkJyA9PiBEb2NrZXI6OlV0
726
- aWwuZXh0cmFjdF9pZChib2R5KSwKICAgICAgICAgIDpoZWFkZXJzID0+IGhl
727
- YWRlcnMpCiAgICBlbmQKCiAgICAjIEdpdmVuIGEgZGlyZWN0b3J5IHRoYXQg
728
- Y29udGFpbnMgYSBEb2NrZXJmaWxlLCBidWlsZHMgYW4gSW1hZ2UuCiAgICAj
729
- CiAgICAjIElmIGEgYmxvY2sgaXMgcGFzc2VkLCBjaHVua3Mgb2Ygb3V0cHV0
730
- IHByb2R1Y2VkIGJ5IERvY2tlciB3aWxsIGJlIHBhc3NlZAogICAgIyB0byB0
731
- aGF0IGJsb2NrLgogICAgZGVmIGJ1aWxkX2Zyb21fZGlyKGRpciwgb3B0cyA9
732
- IHt9LCBjb25uZWN0aW9uID0gRG9ja2VyLmNvbm5lY3Rpb24sCiAgICAgICAg
733
- ICAgICAgICAgICAgICAgY3JlZHMgPSBuaWwsICZibG9jaykKCiAgICAgIHRh
734
- ciA9IERvY2tlcjo6VXRpbC5jcmVhdGVfZGlyX3RhcihkaXIpCiAgICAgIGJ1
735
- aWxkX2Zyb21fdGFyIHRhciwgb3B0cywgY29ubmVjdGlvbiwgY3JlZHMsICZi
736
- bG9jawogICAgZW5zdXJlCiAgICAgIHVubGVzcyB0YXIubmlsPwogICAgICAg
737
- IHRhci5jbG9zZQogICAgICAgIEZpbGVVdGlscy5ybSh0YXIucGF0aCwgZm9y
738
- Y2U6IHRydWUpCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCgogIHByaXZhdGUK
739
- CiAgIyBBIG1ldGhvZCB0byBidWlsZCB0aGUgY29uZmlnIGhlYWRlciBhbmQg
740
- bWVyZ2UgaXQgaW50byB0aGUKICAjIGhlYWRlcnMgc2VudCBieSBidWlsZF9m
741
- cm9tX2Rpci4KICBkZWYgc2VsZi5idWlsZF9oZWFkZXJzKGNyZWRzPW5pbCkK
742
- ICAgIGNyZWRlbnRpYWxzID0gY3JlZHMgfHwgRG9ja2VyLmNyZWRzIHx8IHt9
743
- CiAgICBjb25maWdfaGVhZGVyID0gRG9ja2VyOjpVdGlsLmJ1aWxkX2NvbmZp
744
- Z19oZWFkZXIoY3JlZGVudGlhbHMpCgogICAgaGVhZGVycyA9IHsgJ0NvbnRl
745
- bnQtVHlwZScgICAgICA9PiAnYXBwbGljYXRpb24vdGFyJywKICAgICAgICAg
746
- ICAgICAgICdUcmFuc2Zlci1FbmNvZGluZycgPT4gJ2NodW5rZWQnIH0KICAg
747
- IGhlYWRlcnMgPSBoZWFkZXJzLm1lcmdlKGNvbmZpZ19oZWFkZXIpIGlmIGNv
748
- bmZpZ19oZWFkZXIKICAgIGhlYWRlcnMKICBlbmQKCiAgIyBDb252ZW5pZW5j
749
- ZSBtZXRob2QgdG8gcmV0dXJuIHRoZSBwYXRoIGZvciBhIHBhcnRpY3VsYXIg
750
- cmVzb3VyY2UuCiAgZGVmIHBhdGhfZm9yKHJlc291cmNlKQogICAgIi9pbWFn
751
- ZXMvI3tzZWxmLmlkfS8je3Jlc291cmNlfSIKICBlbmQKCgogICMgQ29udmll
752
- bmNlIG1ldGhvZCB0byBnZXQgdGhlIERvY2tlcmZpbGUgZm9yIGEgZmlsZSBo
753
- YXNoIGFuZCBhIHBhdGggdG8KICAjIG91dHB1dCB0by4KICBkZWYgZG9ja2Vy
754
- ZmlsZV9mb3IoZmlsZV9oYXNoLCBvdXRwdXRfcGF0aCkKICAgIGRvY2tlcmZp
755
- bGUgPSAiZnJvbSAje3NlbGYuaWR9XG4iCgogICAgZmlsZV9oYXNoLmtleXMu
756
- ZWFjaCBkbyB8YmFzZW5hbWV8CiAgICAgIGRvY2tlcmZpbGUgPDwgImFkZCAj
757
- e2Jhc2VuYW1lfSAje291dHB1dF9wYXRofVxuIgogICAgZW5kCgogICAgZG9j
758
- a2VyZmlsZQogIGVuZAoKICBkZWYgZW5zdXJlX3JlcG9fdGFncwogICAgcmVm
759
- cmVzaCEgdW5sZXNzIGluZm8uaGFzX2tleT8oJ1JlcG9UYWdzJykKICAgIGlu
760
- Zm9bJ1JlcG9UYWdzJ10KICBlbmQKCiAgIyBHZW5lcmF0ZXMgdGhlIGJsb2Nr
761
- IHRvIGJlIHBhc3NlZCBhcyBhIHJlcG9uc2UgYmxvY2sgdG8gRXhjb24uIFRo
762
- ZSByZXR1cm5lZAogICMgbGFtYmRhIHdpbGwgYXBwZW5kIERvY2tlciBvdXRw
763
- dXQgdG8gdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQgeWllbGQgb3V0cHV0IHRv
764
- CiAgIyB0aGUgcGFzc2VkIGJsb2NrLCBpZiBhIGJsb2NrIGlzIGdpdmVuLgog
765
- IGRlZiBzZWxmLnJlc3BvbnNlX2Jsb2NrKGJvZHkpCiAgICBsYW1iZGEgZG8g
766
- fGNodW5rLCByZW1haW5pbmcsIHRvdGFsfAogICAgICBib2R5IDw8IGNodW5r
767
- CiAgICAgIHlpZWxkIGNodW5rIGlmIGJsb2NrX2dpdmVuPwogICAgZW5kCiAg
768
- ZW5kCgogICMgR2VuZXJhdGVzIHRoZSBibG9jayB0byBiZSBwYXNzZWQgaW4g
769
- dG8gdGhlIHNhdmUgcmVxdWVzdC4gVGhpcyBsYW1iZGEgd2lsbAogICMgYXBw
770
- ZW5kIHRoZSBzdHJlYW1pbmcgZGF0YSB0byB0aGUgZmlsZSBwcm92aWRlZC4K
771
- ICBkZWYgc2VsZi5yZXNwb25zZV9ibG9ja19mb3Jfc2F2ZShmaWxlKQogICAg
772
- bGFtYmRhIGRvIHxjaHVuaywgcmVtaWFuaW5nLCB0b3RhbHwKICAgICAgZmls
773
- ZSA8PCBjaHVuawogICAgZW5kCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAA
774
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
775
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
776
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
777
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlci9tZXNzYWdlcy5yYgAA
778
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
779
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAw
780
- MDE3NTAAMDAwMTc1MAAwMDAwMDAwMjU3NQAxMjQ2Njc3MzEwMwAwMTE0NjQA
781
- IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
782
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
783
- AAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
784
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
785
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
786
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
787
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
788
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyBU
789
- aGlzIGNsYXNzIHJlcHJlc2VudHMgYWxsIHRoZSBtZXNzYWdlcyBlaXRoZXIg
790
- cmVjZWl2ZWQgYnkgY2h1bmtzIGZyb20gYXR0YWNoCmNsYXNzIERvY2tlcjo6
791
- TWVzc2FnZXMKCiAgYXR0cl9hY2Nlc3NvciA6YnVmZmVyLCA6c3Rkb3V0X21l
792
- c3NhZ2VzLCA6c3RkZXJyX21lc3NhZ2VzLCA6YWxsX21lc3NhZ2VzCgogIGRl
793
- ZiBpbml0aWFsaXplKHN0ZG91dF9tZXNzYWdlcz1bXSwKICAgICAgICAgICAg
794
- ICAgICBzdGRlcnJfbWVzc2FnZXM9W10sCiAgICAgICAgICAgICAgICAgYWxs
795
- X21lc3NhZ2VzPVtdLAogICAgICAgICAgICAgICAgIGJ1ZmZlcj0iIikKICAg
796
- IEBzdGRvdXRfbWVzc2FnZXMgPSBzdGRvdXRfbWVzc2FnZXMKICAgIEBzdGRl
797
- cnJfbWVzc2FnZXMgPSBzdGRlcnJfbWVzc2FnZXMKICAgIEBhbGxfbWVzc2Fn
798
- ZXMgPSBhbGxfbWVzc2FnZXMKICAgIEBidWZmZXIgPSBidWZmZXIKICBlbmQK
799
- CiAgZGVmIGFkZF9tZXNzYWdlKHNvdXJjZSwgbWVzc2FnZSkKICAgIGNhc2Ug
800
- c291cmNlCiAgICB3aGVuIDEKICAgICAgc3Rkb3V0X21lc3NhZ2VzIDw8IG1l
801
- c3NhZ2UKICAgIHdoZW4gMgogICAgICBzdGRlcnJfbWVzc2FnZXMgPDwgbWVz
802
- c2FnZQogICAgZW5kCiAgICBhbGxfbWVzc2FnZXMgPDwgbWVzc2FnZQogIGVu
803
- ZAoKICBkZWYgZ2V0X21lc3NhZ2UocmF3X3RleHQpCiAgICBoZWFkZXIgPSBy
804
- YXdfdGV4dC5zbGljZSEoMCw4KQogICAgaWYgaGVhZGVyLmxlbmd0aCA8IDgK
805
- ICAgICAgQGJ1ZmZlciA9IGhlYWRlcgogICAgICByZXR1cm4KICAgIGVuZAog
806
- ICAgdHlwZSwgbGVuZ3RoID0gaGVhZGVyLnVucGFjaygiQ3h4eE4iKQoKICAg
807
- IG1lc3NhZ2UgPSByYXdfdGV4dC5zbGljZSEoMCxsZW5ndGgpCiAgICBpZiBt
808
- ZXNzYWdlLmxlbmd0aCA8IGxlbmd0aAogICAgICBAYnVmZmVyID0gaGVhZGVy
809
- ICsgbWVzc2FnZQogICAgZWxzZQogICAgICBhZGRfbWVzc2FnZSh0eXBlLCBt
810
- ZXNzYWdlKQogICAgZW5kCiAgZW5kCgogIGRlZiBhcHBlbmQobWVzc2FnZXMp
811
- CiAgICBAc3Rkb3V0X21lc3NhZ2VzICs9IG1lc3NhZ2VzLnN0ZG91dF9tZXNz
812
- YWdlcwogICAgQHN0ZGVycl9tZXNzYWdlcyArPSBtZXNzYWdlcy5zdGRlcnJf
813
- bWVzc2FnZXMKICAgIEBhbGxfbWVzc2FnZXMgKz0gbWVzc2FnZXMuYWxsX21l
814
- c3NhZ2VzCiAgZW5kCgogICMgTWV0aG9kIHRvIGJyZWFrIGFwYXJ0IGFwcGxp
815
- Y2F0aW9uL3ZuZC5kb2NrZXIucmF3LXN0cmVhbSBoZWFkZXJzCiAgZGVmIGRl
816
- Y2lwaGVyX21lc3NhZ2VzKGJvZHkpCiAgICByYXdfdGV4dCA9IGJ1ZmZlciAr
817
- IGJvZHkuZHVwCiAgICBtZXNzYWdlcyA9IERvY2tlcjo6TWVzc2FnZXMubmV3
818
- CiAgICB3aGlsZSAhcmF3X3RleHQuZW1wdHk/CiAgICAgIG1lc3NhZ2VzLmdl
819
- dF9tZXNzYWdlKHJhd190ZXh0KQogICAgZW5kCgogICAgbWVzc2FnZXMKICBl
820
- bmQKZW5kCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
821
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
822
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
823
- AAAAZG9ja2VyL3Jha2VfdGFzay5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
824
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
825
- AAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAx
826
- MjE3ADEyMzYzMjI1MzY2ADAxMTYxMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAA
827
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
828
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAA
829
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
830
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
831
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
832
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
833
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
834
- AAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgY2xhc3MgYWxsb3dzIGltYWdl
835
- LWJhc2VkIHRhc2tzIHRvIGJlIGNyZWF0ZWQuCmNsYXNzIERvY2tlcjo6SW1h
836
- Z2VUYXNrIDwgUmFrZTo6VGFzawogIGRlZiBzZWxmLnNjb3BlX25hbWUoX3Nj
837
- b3BlLCB0YXNrX25hbWUpCiAgICB0YXNrX25hbWUKICBlbmQKCiAgZGVmIG5l
838
- ZWRlZD8KICAgICFoYXNfcmVwb190YWc/CiAgZW5kCgogIHByaXZhdGUKCiAg
839
- ZGVmIGhhc19yZXBvX3RhZz8KICAgIGltYWdlcy5hbnk/IHsgfGltYWdlfCBp
840
- bWFnZS5pbmZvWydSZXBvVGFncyddLmluY2x1ZGU/KHJlcG9fdGFnKSB9CiAg
841
- ZW5kCgogIGRlZiBpbWFnZXMKICAgIEBpbWFnZXMgfHw9IERvY2tlcjo6SW1h
842
- Z2UuYWxsKDphbGwgPT4gdHJ1ZSkKICBlbmQKCiAgZGVmIHJlcG8KICAgIG5h
843
- bWUuc3BsaXQoJzonKVswXQogIGVuZAoKICBkZWYgdGFnCiAgICBuYW1lLnNw
844
- bGl0KCc6JylbMV0gfHwgJ2xhdGVzdCcKICBlbmQKCiAgZGVmIHJlcG9fdGFn
845
- CiAgICAiI3tyZXBvfToje3RhZ30iCiAgZW5kCmVuZAoKIyBNb25rZXlwYXRj
846
- aCBSYWtlIHRvIGFkZCB0aGUgYGltYWdlYCB0YXNrLgptb2R1bGUgUmFrZTo6
847
- RFNMCiAgZGVmIGltYWdlKCphcmdzLCAmYmxvY2spCiAgICBEb2NrZXI6Oklt
848
- YWdlVGFzay5kZWZpbmVfdGFzaygqYXJncywgJmJsb2NrKQogIGVuZAplbmQK
849
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
850
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
851
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
852
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
853
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
854
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
855
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
856
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
857
- AAAAAAAAAAAAZG9ja2VyL3V0aWwucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
858
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
859
- AAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAw
860
- MDAwMDExMTYyADEyNDY2NzczMTAzADAxMDYyMgAgMAAAAAAAAAAAAAAAAAAA
861
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
862
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
863
- cgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
864
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
865
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
866
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
867
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
868
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgbW9kdWxlIGhvbGRz
869
- IHNoYXJlZCBsb2dpYyB0aGF0IGRvZXNuJ3QgcmVhbGx5IGJlbG9uZyBhbnl3
870
- aGVyZSBlbHNlIGluIHRoZQojIGdlbS4KbW9kdWxlIERvY2tlcjo6VXRpbAog
871
- IGluY2x1ZGUgRG9ja2VyOjpFcnJvcgoKICBtb2R1bGVfZnVuY3Rpb24KCiAg
872
- IyBBdHRhY2hlcyB0byBhIEhUVFAgc3RyZWFtCiAgIwogICMgQHBhcmFtIGJs
873
- b2NrCiAgIyBAcGFyYW0gbXNnX3N0YWNrIFtEb2NrZXI6Ok1lc3NhZ2VzXQog
874
- ICMgQHBhcmFtIHR0eSBbYm9vbGVhbl0KICBkZWYgYXR0YWNoX2ZvcihibG9j
875
- aywgbXNnX3N0YWNrLCB0dHkgPSBmYWxzZSkKICAgICMgSWYgVFRZIGlzIGVu
876
- YWJsZWQgZXhwZWN0IHJhdyBkYXRhIGFuZCBhcHBlbmQgdG8gc3Rkb3V0CiAg
877
- ICBpZiB0dHkKICAgICAgYXR0YWNoX2Zvcl90dHkoYmxvY2ssIG1zZ19zdGFj
878
- aykKICAgIGVsc2UKICAgICAgYXR0YWNoX2Zvcl9tdWx0aXBsZXgoYmxvY2ss
879
- IG1zZ19zdGFjaykKICAgIGVuZAogIGVuZAoKICBkZWYgYXR0YWNoX2Zvcl90
880
- dHkoYmxvY2ssIG1zZ19zdGFjaykKICAgIHJldHVybiBsYW1iZGEgZG8gfGMs
881
- cix0fAogICAgICBtc2dfc3RhY2suc3Rkb3V0X21lc3NhZ2VzIDw8IGMKICAg
882
- ICAgbXNnX3N0YWNrLmFsbF9tZXNzYWdlcyA8PCBjCiAgICAgIGJsb2NrLmNh
883
- bGwgYyBpZiBibG9jawogICAgZW5kCiAgZW5kCgogIGRlZiBhdHRhY2hfZm9y
884
- X211bHRpcGxleChibG9jaywgbXNnX3N0YWNrKQogICAgbWVzc2FnZXMgPSBE
885
- b2NrZXI6Ok1lc3NhZ2VzLm5ldwogICAgbGFtYmRhIGRvIHxjLHIsdHwKICAg
886
- ICAgbWVzc2FnZXMgPSBtZXNzYWdlcy5kZWNpcGhlcl9tZXNzYWdlcyhjKQog
887
- ICAgICBtc2dfc3RhY2suYXBwZW5kKG1lc3NhZ2VzKQoKICAgICAgdW5sZXNz
888
- IGJsb2NrLm5pbD8KICAgICAgICBtZXNzYWdlcy5zdGRvdXRfbWVzc2FnZXMu
889
- ZWFjaCBkbyB8bXNnfAogICAgICAgICAgYmxvY2suY2FsbCg6c3Rkb3V0LCBt
890
- c2cpCiAgICAgICAgZW5kCiAgICAgICAgbWVzc2FnZXMuc3RkZXJyX21lc3Nh
891
- Z2VzLmVhY2ggZG8gfG1zZ3wKICAgICAgICAgIGJsb2NrLmNhbGwoOnN0ZGVy
892
- ciwgbXNnKQogICAgICAgIGVuZAogICAgICBlbmQKICAgIGVuZAogIGVuZAoK
893
- ICBkZWYgZGVidWcobXNnKQogICAgRG9ja2VyLmxvZ2dlci5kZWJ1Zyhtc2cp
894
- IGlmIERvY2tlci5sb2dnZXIKICBlbmQKCiAgZGVmIGhpamFja19mb3Ioc3Rk
895
- aW4sIGJsb2NrLCBtc2dfc3RhY2ssIHR0eSkKICAgIGF0dGFjaF9ibG9jayA9
896
- IGF0dGFjaF9mb3IoYmxvY2ssIG1zZ19zdGFjaywgdHR5KQoKICAgIGxhbWJk
897
- YSBkbyB8c29ja2V0fAogICAgICBkZWJ1ZyAiaGlqYWNrOiBoaWphY2tpbmcg
898
- dGhlIEhUVFAgc29ja2V0IgogICAgICB0aHJlYWRzID0gW10KCiAgICAgIGRl
899
- YnVnICJoaWphY2s6IHN0YXJ0aW5nIHN0ZGluIGNvcHkgdGhyZWFkIgogICAg
900
- ICB0aHJlYWRzIDw8IFRocmVhZC5zdGFydCBkbwogICAgICAgIGRlYnVnICJo
901
- aWphY2s6IGNvcHlpbmcgc3RkaW4gPT4gc29ja2V0IgogICAgICAgIElPLmNv
902
- cHlfc3RyZWFtIHN0ZGluLCBzb2NrZXQKCiAgICAgICAgZGVidWcgImhpamFj
903
- azogY2xvc2luZyB3cml0ZSBlbmQgb2YgaGlqYWNrZWQgc29ja2V0IgogICAg
904
- ICAgIHNvY2tldC5jbG9zZV93cml0ZQogICAgICBlbmQKCiAgICAgIGRlYnVn
905
- ICJoaWphY2s6IHN0YXJ0aW5nIGhpamFja2VkIHNvY2tldCByZWFkIHRocmVh
906
- ZCIKICAgICAgdGhyZWFkcyA8PCBUaHJlYWQuc3RhcnQgZG8KICAgICAgICBk
907
- ZWJ1ZyAiaGlqYWNrOiByZWFkaW5nIGZyb20gaGlqYWNrZWQgc29ja2V0IgoK
908
- ICAgICAgICBiZWdpbgogICAgICAgICAgd2hpbGUgY2h1bmsgPSBzb2NrZXQu
909
- cmVhZHBhcnRpYWwoNTEyKQogICAgICAgICAgICBkZWJ1ZyAiaGlqYWNrOiBn
910
- b3QgI3tjaHVuay5ieXRlc2l6ZX0gYnl0ZXMgZnJvbSBoaWphY2tlZCBzb2Nr
911
- ZXQiCiAgICAgICAgICAgIGF0dGFjaF9ibG9jay5jYWxsIGNodW5rLCBuaWws
912
- IG5pbAogICAgICAgICAgZW5kCiAgICAgICAgcmVzY3VlIEVPRkVycm9yCiAg
913
- ICAgICAgZW5kCgogICAgICAgIGRlYnVnICJoaWphY2s6IGtpbGxpbmcgc3Rk
914
- aW4gY29weSB0aHJlYWQiCiAgICAgICAgdGhyZWFkcy5maXJzdC5raWxsCiAg
915
- ICAgIGVuZAoKICAgICAgdGhyZWFkcy5lYWNoKCY6am9pbikKICAgIGVuZAog
916
- IGVuZAoKICBkZWYgcGFyc2VfanNvbihib2R5KQogICAgSlNPTi5wYXJzZShi
917
- b2R5KSB1bmxlc3MgYm9keS5uaWw/IHx8IGJvZHkuZW1wdHk/IHx8IChib2R5
918
- ID09ICdudWxsJykKICByZXNjdWUgSlNPTjo6UGFyc2VyRXJyb3IgPT4gZXgK
919
- ICAgIHJhaXNlIFVuZXhwZWN0ZWRSZXNwb25zZUVycm9yLCBleC5tZXNzYWdl
920
- CiAgZW5kCgogIGRlZiBwYXJzZV9yZXBvX3RhZyhzdHIpCiAgICBpZiBtYXRj
921
- aCA9IHN0ci5tYXRjaCgvXEEoLiopOihbXjpdKilcei8pCiAgICAgIG1hdGNo
922
- LmNhcHR1cmVzCiAgICBlbHNlCiAgICAgIFtzdHIsICcnXQogICAgZW5kCiAg
923
- ZW5kCgogIGRlZiBmaXhfanNvbihib2R5KQogICAgcGFyc2VfanNvbigiWyN7
924
- Ym9keS5nc3ViKC99XHMqey8sICd9LHsnKX1dIikKICBlbmQKCiAgZGVmIGNy
925
- ZWF0ZV90YXIoaGFzaCA9IHt9KQogICAgb3V0cHV0ID0gU3RyaW5nSU8ubmV3
926
- CiAgICBHZW06OlBhY2thZ2U6OlRhcldyaXRlci5uZXcob3V0cHV0KSBkbyB8
927
- dGFyfAogICAgICBoYXNoLmVhY2ggZG8gfGZpbGVfbmFtZSwgaW5wdXR8CiAg
928
- ICAgICAgdGFyLmFkZF9maWxlKGZpbGVfbmFtZSwgMDY0MCkgeyB8dGFyX2Zp
929
- bGV8IHRhcl9maWxlLndyaXRlKGlucHV0KSB9CiAgICAgIGVuZAogICAgZW5k
930
- CiAgICBvdXRwdXQudGFwKCY6cmV3aW5kKS5zdHJpbmcKICBlbmQKCiAgZGVm
931
- IGNyZWF0ZV9kaXJfdGFyKGRpcmVjdG9yeSkKICAgIGN3ZCA9IEZpbGVVdGls
932
- cy5wd2QKICAgIHRlbXBmaWxlX25hbWUgPSBEaXI6OlRtcG5hbWUuY3JlYXRl
933
- KCdvdXQnKSB7fQogICAgdGVtcGZpbGUgPSBGaWxlLm9wZW4odGVtcGZpbGVf
934
- bmFtZSwgJ3diKycpCiAgICBGaWxlVXRpbHMuY2QoZGlyZWN0b3J5KQogICAg
935
- QXJjaGl2ZTo6VGFyOjpNaW5pdGFyLnBhY2soJy4nLCB0ZW1wZmlsZSkKICAg
936
- IEZpbGUubmV3KHRlbXBmaWxlLnBhdGgsICdyJykKICBlbnN1cmUKICAgIEZp
937
- bGVVdGlscy5jZChjd2QpCiAgZW5kCgogIGRlZiBleHRyYWN0X2lkKGJvZHkp
938
- CiAgICBib2R5LmxpbmVzLnRvX2EucmV2ZXJzZS5lYWNoIGRvIHxsaW5lfAog
939
- ICAgICBpZiAoaWQgPSBsaW5lLm1hdGNoKC9TdWNjZXNzZnVsbHkgYnVpbHQg
940
- KFthLWYwLTldKykvKSkgJiYgIWlkWzFdLmVtcHR5PwogICAgICAgIHJldHVy
941
- biBpZFsxXQogICAgICBlbmQKICAgIGVuZAogICAgcmFpc2UgVW5leHBlY3Rl
942
- ZFJlc3BvbnNlRXJyb3IsICJDb3VsZG4ndCBmaW5kIGlkOiAje2JvZHl9Igog
943
- IGVuZAoKICAjIENvbnZlbmllbmNlIG1ldGhvZCB0byBnZXQgdGhlIGZpbGUg
944
- aGFzaCBjb3JyZXNwb25kaW5nIHRvIGFuIGFycmF5IG9mCiAgIyBsb2NhbCBw
945
- YXRocy4KICBkZWYgZmlsZV9oYXNoX2Zyb21fcGF0aHMobG9jYWxfcGF0aHMp
946
- CiAgICBsb2NhbF9wYXRocy5lYWNoX3dpdGhfb2JqZWN0KHt9KSBkbyB8bG9j
947
- YWxfcGF0aCwgZmlsZV9oYXNofAogICAgICB1bmxlc3MgRmlsZS5leGlzdD8o
948
- bG9jYWxfcGF0aCkKICAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiI3ts
949
- b2NhbF9wYXRofSBkb2VzIG5vdCBleGlzdC4iCiAgICAgIGVuZAoKICAgICAg
950
- YmFzZW5hbWUgPSBGaWxlLmJhc2VuYW1lKGxvY2FsX3BhdGgpCiAgICAgIGlm
951
- IEZpbGUuZGlyZWN0b3J5Pyhsb2NhbF9wYXRoKQogICAgICAgIHRhciA9IGNy
952
- ZWF0ZV9kaXJfdGFyKGxvY2FsX3BhdGgpCiAgICAgICAgZmlsZV9oYXNoW2Jh
953
- c2VuYW1lXSA9IHRhci5yZWFkCiAgICAgICAgdGFyLmNsb3NlCiAgICAgICAg
954
- RmlsZVV0aWxzLnJtKHRhci5wYXRoKQogICAgICBlbHNlCiAgICAgICAgZmls
955
- ZV9oYXNoW2Jhc2VuYW1lXSA9IEZpbGUucmVhZChsb2NhbF9wYXRoKQogICAg
956
- ICBlbmQKICAgIGVuZAogIGVuZAoKICBkZWYgYnVpbGRfYXV0aF9oZWFkZXIo
957
- Y3JlZGVudGlhbHMpCiAgICBjcmVkZW50aWFscyA9IGNyZWRlbnRpYWxzLnRv
958
- X2pzb24gaWYgY3JlZGVudGlhbHMuaXNfYT8oSGFzaCkKICAgIGVuY29kZWRf
959
- Y3JlZHMgPSBCYXNlNjQuZW5jb2RlNjQoY3JlZGVudGlhbHMpLmdzdWIoL1xu
960
- LywgJycpCiAgICB7CiAgICAgICdYLVJlZ2lzdHJ5LUF1dGgnID0+IGVuY29k
961
- ZWRfY3JlZHMKICAgIH0KICBlbmQKCiAgZGVmIGJ1aWxkX2NvbmZpZ19oZWFk
962
- ZXIoY3JlZGVudGlhbHMpCiAgICBpZiBjcmVkZW50aWFscy5pc19hPyhTdHJp
963
- bmcpCiAgICAgIGNyZWRlbnRpYWxzID0gSlNPTi5wYXJzZShjcmVkZW50aWFs
964
- cywgc3ltYm9saXplX25hbWVzOiB0cnVlKQogICAgZW5kCiAgICBoZWFkZXIg
965
- PSB7CiAgICAgICJjb25maWdzIiA9PiB7CiAgICAgICAgY3JlZGVudGlhbHNb
966
- OnNlcnZlcmFkZHJlc3NdLnRvX3MgPT4gewogICAgICAgICAgInVzZXJuYW1l
967
- IiA9PiBjcmVkZW50aWFsc1s6dXNlcm5hbWVdLnRvX3MsCiAgICAgICAgICAi
968
- cGFzc3dvcmQiID0+IGNyZWRlbnRpYWxzWzpwYXNzd29yZF0udG9fcywKICAg
969
- ICAgICAgICJlbWFpbCIgPT4gY3JlZGVudGlhbHNbOmVtYWlsXS50b19zCiAg
970
- ICAgICAgfQogICAgICB9CiAgICB9LnRvX2pzb24KCiAgICBlbmNvZGVkX2hl
971
- YWRlciA9IEJhc2U2NC5lbmNvZGU2NChoZWFkZXIpLmdzdWIoL1xuLywgJycp
972
- CgogICAgewogICAgICAnWC1SZWdpc3RyeS1Db25maWcnID0+IGVuY29kZWRf
973
- aGVhZGVyCiAgICB9CiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
974
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
975
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
976
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
977
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
978
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
979
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
980
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
981
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
982
- AAAAAAAAAAAAAAAAAAAAAGRvY2tlci92ZXJzaW9uLnJiAAAAAAAAAAAAAAAA
983
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
984
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAw
985
- MTc1MAAwMDAwMDAwMDIzMwAxMjQ2Njc3MzEzNgAwMTEzMzUAIDAAAAAAAAAA
986
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
987
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
988
- AAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
989
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
990
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
991
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
992
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
993
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbW9kdWxlIERvY2tl
994
- cgogICMgVGhlIHZlcnNpb24gb2YgdGhlIGRvY2tlci1hcGkgZ2VtLgogIFZF
995
- UlNJT04gPSAnMS4xOC4wJwoKICAjIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21w
996
- YXRpYmxlIERvY2tlciByZW1vdGUgQVBJLgogIEFQSV9WRVJTSU9OID0gJzEu
997
- MTYnCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
998
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
999
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1000
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1001
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1002
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1003
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1004
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1005
- AAAAAABkb2NrZXIucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1006
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007
- AAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAw
1008
- MDYyMjUAMTI0NjY3NzMxMDMAMDA3NjUxACAwAAAAAAAAAAAAAAAAAAAAAAAA
1009
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1010
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAw
1011
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1012
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1013
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1014
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJlcXVpcmUgJ2NnaScKcmVxdWlyZSAn
1017
- anNvbicKcmVxdWlyZSAnZXhjb24nCnJlcXVpcmUgJ3RlbXBmaWxlJwpyZXF1
1018
- aXJlICdiYXNlNjQnCnJlcXVpcmUgJ3J1YnlnZW1zL3BhY2thZ2UnCnJlcXVp
1019
- cmUgJ2FyY2hpdmUvdGFyL21pbml0YXInCnJlcXVpcmUgJ3VyaScKcmVxdWly
1020
- ZSAnb3Blbi11cmknCgojIEFkZCB0aGUgSGlqYWNrIG1pZGRsZXdhcmUgYXQg
1021
- dGhlIHRvcCBvZiB0aGUgbWlkZGxld2FyZSBzdGFjayBzbyBpdCBjYW4KIyBw
1022
- b3RlbnRpYWxseSBoaWphY2sgSFRUUCBzb2NrZXRzICh3aGVuIGF0dGFjaGlu
1023
- ZyB0byBzdGRpbikgYmVmb3JlIG90aGVyCiMgbWlkZGxld2FyZXMgdHJ5IGFu
1024
- ZCBwYXJzZSB0aGUgcmVzcG9uc2UuCnJlcXVpcmUgJ2V4Y29uL21pZGRsZXdh
1025
- cmVzL2hpamFjaycKRXhjb24uZGVmYXVsdHNbOm1pZGRsZXdhcmVzXS51bnNo
1026
- aWZ0IEV4Y29uOjpNaWRkbGV3YXJlOjpIaWphY2sKCiMgVGhlIHRvcC1sZXZl
1027
- bCBtb2R1bGUgZm9yIHRoaXMgZ2VtLiBJdCdzIHB1cnBvc2UgaXMgdG8gaG9s
1028
- ZCBnbG9iYWwKIyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyB0aGF0IGFyZSB1
1029
- c2VkIGFzIGRlZmF1bHRzIGluIG90aGVyIGNsYXNzZXMuCm1vZHVsZSBEb2Nr
1030
- ZXIKICBhdHRyX2FjY2Vzc29yIDpjcmVkcywgOmxvZ2dlcgoKICByZXF1aXJl
1031
- ICdkb2NrZXIvZXJyb3InCiAgcmVxdWlyZSAnZG9ja2VyL2Nvbm5lY3Rpb24n
1032
- CiAgcmVxdWlyZSAnZG9ja2VyL2Jhc2UnCiAgcmVxdWlyZSAnZG9ja2VyL2Nv
1033
- bnRhaW5lcicKICByZXF1aXJlICdkb2NrZXIvZXZlbnQnCiAgcmVxdWlyZSAn
1034
- ZG9ja2VyL2V4ZWMnCiAgcmVxdWlyZSAnZG9ja2VyL2ltYWdlJwogIHJlcXVp
1035
- cmUgJ2RvY2tlci9tZXNzYWdlcycKICByZXF1aXJlICdkb2NrZXIvdXRpbCcK
1036
- ICByZXF1aXJlICdkb2NrZXIvdmVyc2lvbicKICByZXF1aXJlICdkb2NrZXIv
1037
- cmFrZV90YXNrJyBpZiBkZWZpbmVkPyhSYWtlOjpUYXNrKQoKICBkZWYgZGVm
1038
- YXVsdF9zb2NrZXRfdXJsCiAgICAnPERPQ0tFUl9IT1NUPicKICBlbmQKCiAg
1039
- ZGVmIGVudl91cmwKICAgIEVOVlsnRE9DS0VSX1VSTCddIHx8IEVOVlsnRE9D
1040
- S0VSX0hPU1QnXQogIGVuZAoKICBkZWYgZW52X29wdGlvbnMKICAgIGlmIGNl
1041
- cnRfcGF0aCA9IEVOVlsnRE9DS0VSX0NFUlRfUEFUSCddCiAgICAgIHsKICAg
1042
- ICAgICBjbGllbnRfY2VydDogRmlsZS5qb2luKGNlcnRfcGF0aCwgJ2NlcnQu
1043
- cGVtJyksCiAgICAgICAgY2xpZW50X2tleTogRmlsZS5qb2luKGNlcnRfcGF0
1044
- aCwgJ2tleS5wZW0nKSwKICAgICAgICBzc2xfY2FfZmlsZTogRmlsZS5qb2lu
1045
- KGNlcnRfcGF0aCwgJ2NhLnBlbScpLAogICAgICAgIHNjaGVtZTogJ2h0dHBz
1046
- JwogICAgICB9CiAgICBlbHNlCiAgICAgIHt9CiAgICBlbmQKICBlbmQKCiAg
1047
- ZGVmIHVybAogICAgQHVybCB8fD0gZW52X3VybCB8fCBkZWZhdWx0X3NvY2tl
1048
- dF91cmwKICAgICMgZG9ja2VyIHVzZXMgYSBkZWZhdWx0IG5vdGF0aW9uIHRj
1049
- cDovLyB3aGljaCBtZWFucyB0Y3A6Ly9sb2NhbGhvc3Q6MjM3NQogICAgaWYg
1050
- QHVybCA9PSAndGNwOi8vJwogICAgICBAdXJsID0gJ3RjcDovL2xvY2FsaG9z
1051
- dDoyMzc1JwogICAgZW5kCiAgICBAdXJsCiAgZW5kCgogIGRlZiBvcHRpb25z
1052
- CiAgICBAb3B0aW9ucyB8fD0gZW52X29wdGlvbnMKICBlbmQKCiAgZGVmIHVy
1053
- bD0obmV3X3VybCkKICAgIEB1cmwgPSBuZXdfdXJsCiAgICByZXNldF9jb25u
1054
- ZWN0aW9uIQogIGVuZAoKICBkZWYgb3B0aW9ucz0obmV3X29wdGlvbnMpCiAg
1055
- ICBAb3B0aW9ucyA9IGVudl9vcHRpb25zLm1lcmdlKG5ld19vcHRpb25zIHx8
1056
- IHt9KQogICAgcmVzZXRfY29ubmVjdGlvbiEKICBlbmQKCiAgZGVmIGNvbm5l
1057
- Y3Rpb24KICAgIEBjb25uZWN0aW9uIHx8PSBDb25uZWN0aW9uLm5ldyh1cmws
1058
- IG9wdGlvbnMpCiAgZW5kCgogIGRlZiByZXNldCEKICAgIEB1cmwgPSBuaWwK
1059
- ICAgIEBvcHRpb25zID0gbmlsCiAgICByZXNldF9jb25uZWN0aW9uIQogIGVu
1060
- ZAoKICBkZWYgcmVzZXRfY29ubmVjdGlvbiEKICAgIEBjb25uZWN0aW9uID0g
1061
- bmlsCiAgZW5kCgogICMgR2V0IHRoZSB2ZXJzaW9uIG9mIEdvLCBEb2NrZXIs
1062
- IGFuZCBvcHRpb25hbGx5IHRoZSBHaXQgY29tbWl0LgogIGRlZiB2ZXJzaW9u
1063
- KGNvbm5lY3Rpb24gPSBzZWxmLmNvbm5lY3Rpb24pCiAgICBVdGlsLnBhcnNl
1064
- X2pzb24oY29ubmVjdGlvbi5nZXQoJy92ZXJzaW9uJykpCiAgZW5kCgogICMg
1065
- R2V0IG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERvY2tlciBzZXJ2ZXIu
1066
- CiAgZGVmIGluZm8oY29ubmVjdGlvbiA9IHNlbGYuY29ubmVjdGlvbikKICAg
1067
- IFV0aWwucGFyc2VfanNvbihjb25uZWN0aW9uLmdldCgnL2luZm8nKSkKICBl
1068
- bmQKCiAgIyBMb2dpbiB0byB0aGUgRG9ja2VyIHJlZ2lzdHJ5LgogIGRlZiBh
1069
- dXRoZW50aWNhdGUhKG9wdGlvbnMgPSB7fSwgY29ubmVjdGlvbiA9IHNlbGYu
1070
- Y29ubmVjdGlvbikKICAgIGNyZWRzID0gb3B0aW9ucy50b19qc29uCiAgICBj
1071
- b25uZWN0aW9uLnBvc3QoJy9hdXRoJywge30sIDpib2R5ID0+IGNyZWRzKQog
1072
- ICAgQGNyZWRzID0gY3JlZHMKICAgIHRydWUKICByZXNjdWUgRG9ja2VyOjpF
1073
- cnJvcjo6U2VydmVyRXJyb3IsIERvY2tlcjo6RXJyb3I6OlVuYXV0aG9yaXpl
1074
- ZEVycm9yCiAgICByYWlzZSBEb2NrZXI6OkVycm9yOjpBdXRoZW50aWNhdGlv
1075
- bkVycm9yCiAgZW5kCgogICMgV2hlbiB0aGUgY29ycmVjdCB2ZXJzaW9uIG9m
1076
- IERvY2tlciBpcyBpbnN0YWxsZWQsIHJldHVybnMgdHJ1ZS4gT3RoZXJ3aXNl
1077
- LAogICMgcmFpc2VzIGEgVmVyc2lvbkVycm9yLgogIGRlZiB2YWxpZGF0ZV92
1078
- ZXJzaW9uIQogICAgRG9ja2VyLmluZm8KICAgIHRydWUKICByZXNjdWUgRG9j
1079
- a2VyOjpFcnJvcjo6RG9ja2VyRXJyb3IKICAgIHJhaXNlIERvY2tlcjo6RXJy
1080
- b3I6OlZlcnNpb25FcnJvciwgIkV4cGVjdGVkIEFQSSBWZXJzaW9uOiAje0FQ
1081
- SV9WRVJTSU9OfSIKICBlbmQKCiAgbW9kdWxlX2Z1bmN0aW9uIDpkZWZhdWx0
1082
- X3NvY2tldF91cmwsIDplbnZfdXJsLCA6dXJsLCA6dXJsPSwgOmVudl9vcHRp
1083
- b25zLAogICAgICAgICAgICAgICAgICA6b3B0aW9ucywgOm9wdGlvbnM9LCA6
1084
- Y3JlZHMsIDpjcmVkcz0sIDpsb2dnZXIsIDpsb2dnZXI9LAogICAgICAgICAg
1085
- ICAgICAgICA6Y29ubmVjdGlvbiwgOnJlc2V0ISwgOnJlc2V0X2Nvbm5lY3Rp
1086
- b24hLCA6dmVyc2lvbiwgOmluZm8sCiAgICAgICAgICAgICAgICAgIDphdXRo
1087
- ZW50aWNhdGUhLCA6dmFsaWRhdGVfdmVyc2lvbiEKZW5kCgAAAAAAAAAAAAAA
1088
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
357
+ ZCA6bmV3CmVuZAoAAAAAAAAAAAAAAAAAAABkb2NrZXIvZXJyb3IucmIAAAAA
1089
358
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
359
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAw
360
+ MDAwMDAwADAwMDAwMDAAMDAwMDAwMDIzMDMAMTI1MzYwMDY3MDQAMDE0MjQ1
361
+ ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1090
362
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
363
+ AAAAAAAAAAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAA
364
+ AAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAw
365
+ MDAAMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
366
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
367
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
368
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMg
369
+ VGhpcyBtb2R1bGUgaG9sZHMgdGhlIEVycm9ycyBmb3IgdGhlIGdlbS4KbW9k
370
+ dWxlIERvY2tlcjo6RXJyb3IKCiAgIyBUaGUgZGVmYXVsdCBlcnJvci4gSXQn
371
+ cyBuZXZlciBhY3R1YWxseSByYWlzZWQsIGJ1dCBjYW4gYmUgdXNlZCB0byBj
372
+ YXRjaCBhbGwKICAjIGdlbS1zcGVjaWZpYyBlcnJvcnMgdGhhdCBhcmUgdGhy
373
+ b3duIGFzIHRoZXkgYWxsIHN1YmNsYXNzIGZyb20gdGhpcy4KICBjbGFzcyBE
374
+ b2NrZXJFcnJvciA8IFN0YW5kYXJkRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3
375
+ aGVuIGludmFsaWQgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gYSBtZXRob2Qu
376
+ CiAgY2xhc3MgQXJndW1lbnRFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAg
377
+ IyBSYWlzZWQgd2hlbiBhIHJlcXVlc3QgcmV0dXJucyBhIDQwMC4KICBjbGFz
378
+ cyBDbGllbnRFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAgIyBSYWlzZWQg
379
+ d2hlbiBhIHJlcXVlc3QgcmV0dXJucyBhIDQwMS4KICBjbGFzcyBVbmF1dGhv
380
+ cml6ZWRFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAgIyBSYWlzZWQgd2hl
381
+ biBhIHJlcXVlc3QgcmV0dXJucyBhIDQwNC4KICBjbGFzcyBOb3RGb3VuZEVy
382
+ cm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVx
383
+ dWVzdCByZXR1cm5zIGEgNDA5LgogIGNsYXNzIENvbmZsaWN0RXJyb3IgPCBE
384
+ b2NrZXJFcnJvcjsgZW5kCgogICMgUmFpc2VkIHdoZW4gYSByZXF1ZXN0IHJl
385
+ dHVybnMgYSA1MDAuCiAgY2xhc3MgU2VydmVyRXJyb3IgPCBEb2NrZXJFcnJv
386
+ cjsgZW5kCgogICMgUmFpc2VkIHdoZW4gdGhlcmUgaXMgYW4gdW5leHBlY3Rl
387
+ ZCByZXNwb25zZSBjb2RlIC8gYm9keS4KICBjbGFzcyBVbmV4cGVjdGVkUmVz
388
+ cG9uc2VFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAgIyBSYWlzZWQgd2hl
389
+ biB0aGVyZSBpcyBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbiBvZiBEb2NrZXIu
390
+ CiAgY2xhc3MgVmVyc2lvbkVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAj
391
+ IFJhaXNlZCB3aGVuIGEgcmVxdWVzdCB0aW1lcyBvdXQuCiAgY2xhc3MgVGlt
392
+ ZW91dEVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVu
393
+ IGxvZ2luIGZhaWxzLgogIGNsYXNzIEF1dGhlbnRpY2F0aW9uRXJyb3IgPCBE
394
+ b2NrZXJFcnJvcjsgZW5kCgogICMgUmFpc2VkIHdoZW4gYW4gSU8gYWN0aW9u
395
+ IGZhaWxzLgogIGNsYXNzIElPRXJyb3IgPCBEb2NrZXJFcnJvcjsgZW5kCmVu
396
+ ZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
397
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
398
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
399
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
400
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
401
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
402
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
403
+ AAAAAGRvY2tlci9ldmVudC5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
404
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
405
+ AAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAw
406
+ MTc1MQAxMjUzNjAwNjcwNAAwMTQyNDMAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
407
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
408
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDB3
409
+ aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAA
410
+ AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAAAAAAAAAA
411
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
412
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
413
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
414
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAIyBUaGlzIGNsYXNzIHJlcHJlc2VudHMg
415
+ YSBEb2NrZXIgRXZlbnQuCmNsYXNzIERvY2tlcjo6RXZlbnQKICBpbmNsdWRl
416
+ IERvY2tlcjo6RXJyb3IKCiAgYXR0cl9hY2Nlc3NvciA6c3RhdHVzLCA6aWQs
417
+ IDpmcm9tLCA6dGltZQoKICBkZWYgaW5pdGlhbGl6ZShzdGF0dXMsIGlkLCBm
418
+ cm9tLCB0aW1lKQogICAgQHN0YXR1cywgQGlkLCBAZnJvbSwgQHRpbWUgPSBz
419
+ dGF0dXMsIGlkLCBmcm9tLCB0aW1lCiAgZW5kCgogIGRlZiB0b19zCiAgICAi
420
+ RG9ja2VyOjpFdmVudCB7IDpzdGF0dXMgPT4gI3tzZWxmLnN0YXR1c30sIDpp
421
+ ZCA9PiAje3NlbGYuaWR9LCAiXAogICAgICAiOmZyb20gPT4gI3tzZWxmLmZy
422
+ b219LCA6dGltZSA9PiAje3NlbGYudGltZX0gfSIKICBlbmQKCiAgY2xhc3Mg
423
+ PDwgc2VsZgogICAgaW5jbHVkZSBEb2NrZXI6OkVycm9yCgogICAgZGVmIHN0
424
+ cmVhbShvcHRzID0ge30sIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbiwgJmJs
425
+ b2NrKQogICAgICBjb25uLmdldCgnL2V2ZW50cycsIG9wdHMsIDpyZXNwb25z
426
+ ZV9ibG9jayA9PiBsYW1iZGEgeyB8YiwgciwgdHwKICAgICAgICBibG9jay5j
427
+ YWxsKG5ld19ldmVudChiLCByLCB0KSkKICAgICAgfSkKICAgIGVuZAoKICAg
428
+ IGRlZiBzaW5jZShzaW5jZSwgb3B0cyA9IHt9LCBjb25uID0gRG9ja2VyLmNv
429
+ bm5lY3Rpb24sICZibG9jaykKICAgICAgc3RyZWFtKG9wdHMubWVyZ2UoOnNp
430
+ bmNlID0+IHNpbmNlKSwgY29ubiwgJmJsb2NrKQogICAgZW5kCgogICAgZGVm
431
+ IG5ld19ldmVudChib2R5LCByZW1haW5pbmcsIHRvdGFsKQogICAgICByZXR1
432
+ cm4gaWYgYm9keS5uaWw/IHx8IGJvZHkuZW1wdHk/CiAgICAgIGpzb24gPSBE
433
+ b2NrZXI6OlV0aWwucGFyc2VfanNvbihib2R5KQogICAgICBEb2NrZXI6OkV2
434
+ ZW50Lm5ldygKICAgICAgICBqc29uWydzdGF0dXMnXSwKICAgICAgICBqc29u
435
+ WydpZCddLAogICAgICAgIGpzb25bJ2Zyb20nXSwKICAgICAgICBqc29uWyd0
436
+ aW1lJ10KICAgICAgKQogICAgZW5kCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAA
437
+ AAAAAAAAAAAAAGRvY2tlci9leGVjLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAA
438
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
439
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAw
440
+ MDAwMDAwNjE1NgAxMjUzNjAwNjcwNAAwMTQwNTIAIDAAAAAAAAAAAAAAAAAA
1091
441
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
442
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
443
+ YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAA
444
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAA
1092
445
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1093
446
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1094
447
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1095
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGV4Y29uAAAA
448
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyBUaGlzIGNsYXNzIHJlcHJl
449
+ c2VudHMgYSBEb2NrZXIgRXhlYyBJbnN0YW5jZS4KY2xhc3MgRG9ja2VyOjpF
450
+ eGVjCiAgaW5jbHVkZSBEb2NrZXI6OkJhc2UKCiAgIyBDb252ZXJ0IGRldGFp
451
+ bHMgYWJvdXQgdGhlIG9iamVjdCBpbnRvIGEgc3RyaW5nCiAgIwogICMgQHJl
452
+ dHVybiBbU3RyaW5nXSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIEV4
453
+ ZWMgaW5zdGFuY2Ugb2JqZWN0CiAgZGVmIHRvX3MKICAgICJEb2NrZXI6OkV4
454
+ ZWMgeyA6aWQgPT4gI3tzZWxmLmlkfSwgOmNvbm5lY3Rpb24gPT4gI3tzZWxm
455
+ LmNvbm5lY3Rpb259IH0iCiAgZW5kCgogICMgQ3JlYXRlIGEgbmV3IEV4ZWMg
456
+ aW5zdGFuY2UgaW4gYSBydW5uaW5nIGNvbnRhaW5lci4gUGxlYXNlIG5vdGUs
457
+ IHRoaXMgZG9lcwogICMgTk9UIGV4ZWN1dGUgdGhlIGluc3RhbmNlIC0geW91
458
+ IG11c3QgcnVuICNzdGFydC4gQWxzbywgZWFjaCBpbnN0YW5jZSBpcwogICMg
459
+ b25lLXRpbWUgdXNlIG9ubHkuCiAgIwogICMgQHBhcmFtIG9wdGlvbnMgW0hh
460
+ c2hdIFBhcmFtZXRlcnMgdG8gcGFzcyBpbiB0byB0aGUgQVBJLgogICMgQHBh
461
+ cmFtIGNvbm4gW0RvY2tlcjo6Q29ubmVjdGlvbl0gQ29ubmVjdGlvbiB0byBE
462
+ b2NrZXIgUmVtb3RlIEFQSQogICMKICAjIEByZXR1cm4gW0RvY2tlcjo6RXhl
463
+ Y10gc2VsZgogIGRlZiBzZWxmLmNyZWF0ZShvcHRpb25zID0ge30sIGNvbm4g
464
+ PSBEb2NrZXIuY29ubmVjdGlvbikKICAgIGNvbnRhaW5lciA9IG9wdGlvbnMu
465
+ ZGVsZXRlKCdDb250YWluZXInKQogICAgcmVzcCA9IGNvbm4ucG9zdCgiL2Nv
466
+ bnRhaW5lcnMvI3tjb250YWluZXJ9L2V4ZWMiLCB7fSwKICAgICAgOmJvZHkg
467
+ PT4gb3B0aW9ucy50b19qc29uKQogICAgaGFzaCA9IERvY2tlcjo6VXRpbC5w
468
+ YXJzZV9qc29uKHJlc3ApIHx8IHt9CiAgICBuZXcoY29ubiwgaGFzaCkKICBl
469
+ bmQKCiAgIyBHZXQgaW5mbyBhYm91dCB0aGUgRXhlYyBpbnN0YW5jZQogICMK
470
+ ICBkZWYganNvbgogICAgRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oY29ubmVj
471
+ dGlvbi5nZXQocGF0aF9mb3IoOmpzb24pLCB7fSkpCiAgZW5kCgogICMgU3Rh
472
+ cnQgdGhlIEV4ZWMgaW5zdGFuY2UuIFRoZSBFeGVjIGluc3RhbmNlIGlzIGRl
473
+ bGV0ZWQgYWZ0ZXIgdGhpcyBzbyB0aGlzCiAgIyBjb21tYW5kIGNhbiBvbmx5
474
+ IGJlIHJ1biBvbmNlLgogICMKICAjIEBwYXJhbSBvcHRpb25zIFtIYXNoXSBP
475
+ cHRpb25zIHRvIGRpY3RhdGUgYmVoYXZpb3Igb2YgdGhlIGluc3RhbmNlCiAg
476
+ IyBAb3B0aW9uIG9wdGlvbnMgW09iamVjdF0gOnN0ZGluIChuaWwpIFRoZSBv
477
+ YmplY3QgdG8gcGFzcyB0byBTVERJTi4KICAjIEBvcHRpb24gb3B0aW9ucyBb
478
+ VHJ1ZUNsYXNzLCBGYWxzZUNsYXNzXSA6ZGV0YWNoIChmYWxzZSkgV2hldGhl
479
+ ciB0byBhdHRhY2gKICAjICAgICB0byBTVERPVVQvU1RERVJSLgogICMgQG9w
480
+ dGlvbiBvcHRpb25zIFtUcnVlQ2xhc3MsIEZhbHNlQ2xhc3NdIDp0dHkgKGZh
481
+ bHNlKSBXaGV0aGVyIHRvIGF0dGFjaCB1c2luZwogICMgICAgIGEgcHNldWRv
482
+ LVRUWS4KICAjCiAgIyBAcmV0dXJuIFtBcnJheSwgQXJyYXksIEludF0gVGhl
483
+ IFNURE9VVCwgU1RERVJSIGFuZCBleGl0IGNvZGUKICBkZWYgc3RhcnQhKG9w
484
+ dGlvbnMgPSB7fSwgJmJsb2NrKQoKICAgICMgUGFyc2UgdGhlIE9wdGlvbnMK
485
+ ICAgIHR0eSA9ICEhb3B0aW9ucy5kZWxldGUoOnR0eSkKICAgIGRldGFjaGVk
486
+ ID0gISFvcHRpb25zLmRlbGV0ZSg6ZGV0YWNoKQogICAgc3RkaW4gPSBvcHRp
487
+ b25zWzpzdGRpbl0KCiAgICAjIENyZWF0ZSBBUEkgUmVxdWVzdCBCb2R5CiAg
488
+ ICBib2R5ID0gewogICAgICAiVHR5IiA9PiB0dHksCiAgICAgICJEZXRhY2gi
489
+ ID0+IGRldGFjaGVkCiAgICB9CiAgICBleGNvbl9wYXJhbXMgPSB7IDpib2R5
490
+ ID0+IGJvZHkudG9fanNvbiB9CgogICAgbXNncyA9IERvY2tlcjo6TWVzc2Fn
491
+ ZXMubmV3CiAgICB1bmxlc3MgZGV0YWNoZWQKICAgICAgaWYgc3RkaW4KICAg
492
+ ICAgICBleGNvbl9wYXJhbXNbOmhpamFja19ibG9ja10gPSBEb2NrZXI6OlV0
493
+ aWwuaGlqYWNrX2ZvcihzdGRpbiwgYmxvY2ssCiAgICAgICAgICBtc2dzLCB0
494
+ dHkpCiAgICAgIGVsc2UKICAgICAgICBleGNvbl9wYXJhbXNbOnJlc3BvbnNl
495
+ X2Jsb2NrXSA9IERvY2tlcjo6VXRpbC5hdHRhY2hfZm9yKGJsb2NrLAogICAg
496
+ ICAgICAgbXNncywgdHR5KQogICAgICBlbmQKICAgIGVuZAoKICAgIGNvbm5l
497
+ Y3Rpb24ucG9zdChwYXRoX2Zvcig6c3RhcnQpLCBuaWwsIGV4Y29uX3BhcmFt
498
+ cykKICAgIFttc2dzLnN0ZG91dF9tZXNzYWdlcywgbXNncy5zdGRlcnJfbWVz
499
+ c2FnZXMsIHNlbGYuanNvblsnRXhpdENvZGUnXV0KICBlbmQKCiAgIyAjc3Rh
500
+ cnQhIHBlcmZvcm1zIHRoZSBhc3NvY2lhdGVkIGFjdGlvbiBhbmQgcmV0dXJu
501
+ cyB0aGUgb3V0cHV0LgogICMgI3N0YXJ0IGRvZXMgdGhlIHNhbWUsIGJ1dCBy
502
+ ZXNjdWVzIGZyb20gU2VydmVyRXJyb3JzLgogIFs6c3RhcnRdLmVhY2ggZG8g
503
+ fG1ldGhvZHwKICAgIGRlZmluZV9tZXRob2QobWV0aG9kKSBkbyB8KmFyZ3N8
504
+ CiAgICAgIGJlZ2luOyBwdWJsaWNfc2VuZCg6IiN7bWV0aG9kfSEiLCAqYXJn
505
+ cyk7IHJlc2N1ZSBTZXJ2ZXJFcnJvcjsgc2VsZiBlbmQKICAgIGVuZAogIGVu
506
+ ZAoKICAjIFJlc2l6ZSB0aGUgVFRZIGFzc29jaWF0ZWQgd2l0aCB0aGUgRXhl
507
+ YyBpbnN0YW5jZQogICMKICAjIEBwYXJhbSBxdWVyeSBbSGFzaF0gQVBJIHF1
508
+ ZXJ5IHBhcmFtZXRlcnMKICAjIEBvcHRpb24gcXVlcnkgW0ZpeG51bV0gaCBI
509
+ ZWlnaHQgb2YgdGhlIFRUWQogICMgQG9wdGlvbiBxdWVyeSBbRml4bnVtXSB3
510
+ IFdpZHRoIG9mIHRoZSBUVFkKICAjCiAgIyBAcmV0dXJuIFtEb2NrZXI6OkV4
511
+ ZWNdIHNlbGYKICBkZWYgcmVzaXplKHF1ZXJ5ID0ge30pCiAgICBjb25uZWN0
512
+ aW9uLnBvc3QocGF0aF9mb3IoOnJlc2l6ZSksIHF1ZXJ5KQogICAgc2VsZgog
513
+ IGVuZAoKICAjIEdldCB0aGUgcmVxdWVzdCBVUkkgZm9yIHRoZSBnaXZlbiBl
514
+ bmRwb2ludAogICMKICAjIEBwYXJhbSBlbmRwb2ludCBbU3ltYm9sXSBUaGUg
515
+ ZW5kcG9pbnQgdG8gZ3JhYgogICMgQHJldHVybiBbU3RyaW5nXSBUaGUgZnVs
516
+ bCBSZW1vdGUgQVBJIGVuZHBvaW50IHdpdGggSUQKICBkZWYgcGF0aF9mb3Io
517
+ ZW5kcG9pbnQpCiAgICAiL2V4ZWMvI3tzZWxmLmlkfS8je2VuZHBvaW50fSIK
518
+ ICBlbmQKCiAgcHJpdmF0ZSA6cGF0aF9mb3IKICBwcml2YXRlX2NsYXNzX21l
519
+ dGhvZCA6bmV3CmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
520
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
521
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
522
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
523
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
524
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
525
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
526
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
527
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
528
+ AAAAAAAAAAAAAABkb2NrZXIvaW1hZ2UucmIAAAAAAAAAAAAAAAAAAAAAAAAA
529
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
530
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAA
531
+ MDAwMDAwMjM1MjAAMTI1MzYwMDY3MDQAMDE0MjAyACAwAAAAAAAAAAAAAAAA
532
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
533
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz
534
+ dGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAA
535
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAA
536
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
537
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
538
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
539
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBjbGFzcyByZXBy
540
+ ZXNlbnRzIGEgRG9ja2VyIEltYWdlLgpjbGFzcyBEb2NrZXI6OkltYWdlCiAg
541
+ aW5jbHVkZSBEb2NrZXI6OkJhc2UKCiAgIyBHaXZlbiBhIGNvbW1hbmQgYW5k
542
+ IG9wdGlvbmFsIGxpc3Qgb2Ygc3RyZWFtcyB0byBhdHRhY2ggdG8sIHJ1biBh
543
+ IGNvbW1hbmQgb24KICAjIGFuIEltYWdlLiBUaGlzIHdpbGwgbm90IG1vZGlm
544
+ eSB0aGUgSW1hZ2UsIGJ1dCByYXRoZXIgY3JlYXRlIGEgbmV3IENvbnRhaW5l
545
+ cgogICMgdG8gcnVuIHRoZSBJbWFnZS4gSWYgdGhlIGltYWdlIGhhcyBhbiBl
546
+ bWJlZGRlZCBjb25maWcsIG5vIGNvbW1hbmQgaXMKICAjIG5lY2Vzc2FyeSwg
547
+ YnV0IGl0IHdpbGwgZmFpbCB3aXRoIDUwMCBpZiBubyBjb25maWcgaXMgc2F2
548
+ ZWQgd2l0aCB0aGUgaW1hZ2UKICBkZWYgcnVuKGNtZD1uaWwpCiAgICBvcHRz
549
+ ID0geyAnSW1hZ2UnID0+IHNlbGYuaWQgfQogICAgb3B0c1siQ21kIl0gPSBj
550
+ bWQuaXNfYT8oU3RyaW5nKSA/IGNtZC5zcGxpdCgvXHMrLykgOiBjbWQKICAg
551
+ IGJlZ2luCiAgICAgIERvY2tlcjo6Q29udGFpbmVyLmNyZWF0ZShvcHRzLCBj
552
+ b25uZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICAgIC50YXAoJjpzdGFy
553
+ dCEpCiAgICByZXNjdWUgU2VydmVyRXJyb3IgPT4gZXgKICAgICAgaWYgY21k
554
+ CiAgICAgICAgcmFpc2UgZXgKICAgICAgZWxzZQogICAgICAgIHJhaXNlIFNl
555
+ cnZlckVycm9yLCAiTm8gY29tbWFuZCBzcGVjaWZpZWQuIgogICAgICBlbmQK
556
+ ICAgIGVuZAogIGVuZAoKICAjIFB1c2ggdGhlIEltYWdlIHRvIHRoZSBEb2Nr
557
+ ZXIgcmVnaXN0cnkuCiAgZGVmIHB1c2goY3JlZHMgPSBuaWwsIG9wdGlvbnMg
558
+ PSB7fSwgJmJsb2NrKQogICAgcmVwb190YWcgPSBvcHRpb25zLmRlbGV0ZSg6
559
+ cmVwb190YWcpIHx8IGVuc3VyZV9yZXBvX3RhZ3MuZmlyc3QKICAgIHJhaXNl
560
+ IEFyZ3VtZW50RXJyb3IsICJJbWFnZSBpcyB1bnRhZ2dlZCIgaWYgcmVwb190
561
+ YWcubmlsPwogICAgcmVwbywgdGFnID0gRG9ja2VyOjpVdGlsLnBhcnNlX3Jl
562
+ cG9fdGFnKHJlcG9fdGFnKQogICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIklt
563
+ YWdlIGRvZXMgbm90IGhhdmUgYSBuYW1lIHRvIHB1c2guIiBpZiByZXBvLm5p
564
+ bD8KCiAgICBib2R5ID0gIiIKICAgIGNyZWRlbnRpYWxzID0gY3JlZHMgfHwg
565
+ RG9ja2VyLmNyZWRzIHx8IHt9CiAgICBoZWFkZXJzID0gRG9ja2VyOjpVdGls
566
+ LmJ1aWxkX2F1dGhfaGVhZGVyKGNyZWRlbnRpYWxzKQogICAgb3B0cyA9IHs6
567
+ dGFnID0+IHRhZ30ubWVyZ2Uob3B0aW9ucykKICAgIGNvbm5lY3Rpb24ucG9z
568
+ dCgiL2ltYWdlcy8je3JlcG99L3B1c2giLCBvcHRzLCA6aGVhZGVycyA9PiBo
569
+ ZWFkZXJzLAogICAgICAgICAgICAgICAgICAgIDpyZXNwb25zZV9ibG9jayA9
570
+ PiBzZWxmLmNsYXNzLnJlc3BvbnNlX2Jsb2NrKGJvZHksICZibG9jaykpCiAg
571
+ ICBzZWxmCiAgZW5kCgogICMgVGFnIHRoZSBJbWFnZS4KICBkZWYgdGFnKG9w
572
+ dHMgPSB7fSkKICAgIHNlbGYuaW5mb1snUmVwb1RhZ3MnXSB8fD0gW10KICAg
573
+ IGNvbm5lY3Rpb24ucG9zdChwYXRoX2Zvcig6dGFnKSwgb3B0cykKICAgIHJl
574
+ cG8gPSBvcHRzWydyZXBvJ10gfHwgb3B0c1s6cmVwb10KICAgIHRhZyA9IG9w
575
+ dHNbJ3RhZyddIHx8IG9wdHNbOnRhZ10gfHwgJ2xhdGVzdCcKICAgIHNlbGYu
576
+ aW5mb1snUmVwb1RhZ3MnXSA8PCAiI3tyZXBvfToje3RhZ30iCiAgZW5kCgog
577
+ ICMgR2l2ZW4gYSBwYXRoIG9mIGEgbG9jYWwgZmlsZSBhbmQgdGhlIHBhdGgg
578
+ aXQgc2hvdWxkIGJlIGluc2VydGVkLCBjcmVhdGVzCiAgIyBhIG5ldyBJbWFn
579
+ ZSB0aGF0IGhhcyB0aGF0IGZpbGUuCiAgZGVmIGluc2VydF9sb2NhbChvcHRz
580
+ ID0ge30pCiAgICBsb2NhbF9wYXRocyA9IG9wdHMuZGVsZXRlKCdsb2NhbFBh
581
+ dGgnKQogICAgb3V0cHV0X3BhdGggPSBvcHRzLmRlbGV0ZSgnb3V0cHV0UGF0
582
+ aCcpCgogICAgbG9jYWxfcGF0aHMgPSBbIGxvY2FsX3BhdGhzIF0gdW5sZXNz
583
+ IGxvY2FsX3BhdGhzLmlzX2E/KEFycmF5KQoKICAgIGZpbGVfaGFzaCA9IERv
584
+ Y2tlcjo6VXRpbC5maWxlX2hhc2hfZnJvbV9wYXRocyhsb2NhbF9wYXRocykK
585
+ CiAgICBmaWxlX2hhc2hbJ0RvY2tlcmZpbGUnXSA9IGRvY2tlcmZpbGVfZm9y
586
+ KGZpbGVfaGFzaCwgb3V0cHV0X3BhdGgpCgogICAgdGFyID0gRG9ja2VyOjpV
587
+ dGlsLmNyZWF0ZV90YXIoZmlsZV9oYXNoKQogICAgYm9keSA9IGNvbm5lY3Rp
588
+ b24ucG9zdCgnL2J1aWxkJywgb3B0cywgOmJvZHkgPT4gdGFyKQogICAgc2Vs
589
+ Zi5jbGFzcy5zZW5kKDpuZXcsIGNvbm5lY3Rpb24sICdpZCcgPT4gRG9ja2Vy
590
+ OjpVdGlsLmV4dHJhY3RfaWQoYm9keSkpCiAgZW5kCgogICMgUmVtb3ZlIHRo
591
+ ZSBJbWFnZSBmcm9tIHRoZSBzZXJ2ZXIuCiAgZGVmIHJlbW92ZShvcHRzID0g
592
+ e30pCiAgICBuYW1lID0gb3B0cy5kZWxldGUoOm5hbWUpIHx8IHNlbGYuaWQK
593
+ ICAgIGNvbm5lY3Rpb24uZGVsZXRlKCIvaW1hZ2VzLyN7bmFtZX0iLCBvcHRz
594
+ KQogIGVuZAogIGFsaWFzX21ldGhvZCA6ZGVsZXRlLCA6cmVtb3ZlCgogICMg
595
+ UmV0dXJuIGEgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBJbWFnZS4K
596
+ ICBkZWYgdG9fcwogICAgIkRvY2tlcjo6SW1hZ2UgeyA6aWQgPT4gI3tzZWxm
597
+ LmlkfSwgOmluZm8gPT4gI3tzZWxmLmluZm8uaW5zcGVjdH0sICJcCiAgICAg
598
+ ICI6Y29ubmVjdGlvbiA9PiAje3NlbGYuY29ubmVjdGlvbn0gfSIKICBlbmQK
599
+ CiAgIyAjanNvbiByZXR1cm5zIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGFu
600
+ IEltYWdlLCAjaGlzdG9yeSByZXR1cm5zIGl0cwogICMgaGlzdG9yeS4KICBb
601
+ Ompzb24sIDpoaXN0b3J5XS5lYWNoIGRvIHxtZXRob2R8CiAgICBkZWZpbmVf
602
+ bWV0aG9kKG1ldGhvZCkgZG8gfG9wdHMgPSB7fXwKICAgICAgRG9ja2VyOjpV
603
+ dGlsLnBhcnNlX2pzb24oY29ubmVjdGlvbi5nZXQocGF0aF9mb3IobWV0aG9k
604
+ KSwgb3B0cykpCiAgICBlbmQKICBlbmQKCiAgIyBTYXZlIHRoZSBpbWFnZSBh
605
+ cyBhIHRhcmJhbGwKICBkZWYgc2F2ZShmaWxlbmFtZSA9IG5pbCkKICAgIHNl
606
+ bGYuY2xhc3Muc2F2ZShzZWxmLmlkLCBmaWxlbmFtZSwgY29ubmVjdGlvbikK
607
+ ICBlbmQKCiAgIyBVcGRhdGUgdGhlIEBpbmZvIGhhc2gsIHdoaWNoIGlzIHRo
608
+ ZSBvbmx5IG11dGFibGUgc3RhdGUgaW4gdGhpcyBvYmplY3QuCiAgZGVmIHJl
609
+ ZnJlc2ghCiAgICBpbWcgPSBEb2NrZXI6OkltYWdlLmFsbCh7OmFsbCA9PiB0
610
+ cnVlfSwgY29ubmVjdGlvbikuZmluZCB7IHxpbWFnZXwKICAgICAgaW1hZ2Uu
611
+ aWQuc3RhcnRfd2l0aD8oc2VsZi5pZCkgfHwgc2VsZi5pZC5zdGFydF93aXRo
612
+ PyhpbWFnZS5pZCkKICAgIH0KICAgIGluZm8ubWVyZ2UhKHNlbGYuanNvbikK
613
+ ICAgIGltZyAmJiBpbmZvLm1lcmdlIShpbWcuaW5mbykKICAgIHNlbGYKICBl
614
+ bmQKCiAgY2xhc3MgPDwgc2VsZgoKICAgICMgQ3JlYXRlIGEgbmV3IEltYWdl
615
+ LgogICAgZGVmIGNyZWF0ZShvcHRzID0ge30sIGNyZWRzID0gbmlsLCBjb25u
616
+ ID0gRG9ja2VyLmNvbm5lY3Rpb24sICZibG9jaykKICAgICAgY3JlZGVudGlh
617
+ bHMgPSBjcmVkcy5uaWw/ID8gRG9ja2VyLmNyZWRzIDogY3JlZHMudG9fanNv
618
+ bgogICAgICBoZWFkZXJzID0gY3JlZGVudGlhbHMgJiYgRG9ja2VyOjpVdGls
619
+ LmJ1aWxkX2F1dGhfaGVhZGVyKGNyZWRlbnRpYWxzKSB8fCB7fQogICAgICBi
620
+ b2R5ID0gJycKICAgICAgY29ubi5wb3N0KAogICAgICAgICcvaW1hZ2VzL2Ny
621
+ ZWF0ZScsCiAgICAgICAgb3B0cywKICAgICAgICA6aGVhZGVycyA9PiBoZWFk
622
+ ZXJzLAogICAgICAgIDpyZXNwb25zZV9ibG9jayA9PiByZXNwb25zZV9ibG9j
623
+ ayhib2R5LCAmYmxvY2spCiAgICAgICkKICAgICAganNvbiA9IERvY2tlcjo6
624
+ VXRpbC5maXhfanNvbihib2R5KQogICAgICBpbWFnZSA9IGpzb24ucmV2ZXJz
625
+ ZV9lYWNoLmZpbmQgeyB8ZWx8IGVsICYmIGVsLmtleT8oJ2lkJykgfQogICAg
626
+ ICBuZXcoY29ubiwgJ2lkJyA9PiBpbWFnZSAmJiBpbWFnZS5mZXRjaCgnaWQn
627
+ KSwgOmhlYWRlcnMgPT4gaGVhZGVycykKICAgIGVuZAoKICAgICMgUmV0dXJu
628
+ IGEgc3BlY2lmaWMgaW1hZ2UuCiAgICBkZWYgZ2V0KGlkLCBvcHRzID0ge30s
629
+ IGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgaW1hZ2VfanNvbiA9
630
+ IGNvbm4uZ2V0KCIvaW1hZ2VzLyN7VVJJLmVuY29kZShpZCl9L2pzb24iLCBv
631
+ cHRzKQogICAgICBoYXNoID0gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oaW1h
632
+ Z2VfanNvbikgfHwge30KICAgICAgbmV3KGNvbm4sIGhhc2gpCiAgICBlbmQK
633
+ CiAgICAjIFNhdmUgdGhlIHJhdyBiaW5hcnkgcmVwcmVzZW50YXRpb24gb3Ig
634
+ b25lIG9yIG1vcmUgRG9ja2VyIGltYWdlcwogICAgIwogICAgIyBAcGFyYW0g
635
+ bmFtZXMgW1N0cmluZywgQXJyYXkjU3RyaW5nXSBUaGUgaW1hZ2UocykgeW91
636
+ IHdpc2ggdG8gc2F2ZQogICAgIyBAcGFyYW0gZmlsZW5hbWUgW1N0cmluZ10g
637
+ VGhlIGZpbGUgdG8gZXhwb3J0IHRoZSBkYXRhIHRvLgogICAgIyBAcGFyYW0g
638
+ Y29ubiBbRG9ja2VyOjpDb25uZWN0aW9uXSBUaGUgRG9ja2VyIGNvbm5lY3Rp
639
+ b24gdG8gdXNlCiAgICAjCiAgICAjIEByZXR1cm4gW05pbENsYXNzLCBTdHJp
640
+ bmddIElmIGZpbGVuYW1lIGlzIG5pbCwgcmV0dXJuIHRoZSBzdHJpbmcKICAg
641
+ ICMgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJpbmFyeSBkYXRhLiBJZiB0aGUg
642
+ ZmlsZW5hbWUgaXMgbm90IG5pbCwgdGhlbgogICAgIyByZXR1cm4gbmlsLgog
643
+ ICAgZGVmIHNhdmUobmFtZXMsIGZpbGVuYW1lID0gbmlsLCBjb25uID0gRG9j
644
+ a2VyLmNvbm5lY3Rpb24pCiAgICAgICMgQnkgdXNpbmcgY29tcGFyZV9ieV9p
645
+ ZGVudGl0eSB3ZSBjYW4gY3JlYXRlIGEgSGFzaCB0aGF0IGhhcwogICAgICAj
646
+ IHRoZSBzYW1lIGtleSBtdWx0aXBsZSB0aW1lcy4KICAgICAgcXVlcnkgPSB7
647
+ fQogICAgICBxdWVyeS5jb21wYXJlX2J5X2lkZW50aXR5CiAgICAgIEFycmF5
648
+ KG5hbWVzKS5lYWNoIGRvIHxuYW1lfAogICAgICAgIHF1ZXJ5WyduYW1lcydd
649
+ ID0gVVJJLmVuY29kZShuYW1lKQogICAgICBlbmQKCiAgICAgIGlmIGZpbGVu
650
+ YW1lCiAgICAgICAgZmlsZSA9IEZpbGUub3BlbihmaWxlbmFtZSwgJ3diJykK
651
+ ICAgICAgICBjb25uLmdldCgKICAgICAgICAgICcvaW1hZ2VzL2dldCcsIHF1
652
+ ZXJ5LAogICAgICAgICAgOnJlc3BvbnNlX2Jsb2NrID0+IHJlc3BvbnNlX2Js
653
+ b2NrX2Zvcl9zYXZlKGZpbGUpCiAgICAgICAgKQogICAgICAgIGZpbGUuY2xv
654
+ c2UKICAgICAgICBuaWwKICAgICAgZWxzZQogICAgICAgIGNvbm4uZ2V0KCcv
655
+ aW1hZ2VzL2dldCcsIHF1ZXJ5KQogICAgICBlbmQKICAgIGVuZAoKICAgICMg
656
+ Q2hlY2sgaWYgYW4gaW1hZ2UgZXhpc3RzLgogICAgZGVmIGV4aXN0PyhpZCwg
657
+ b3B0cyA9IHt9LCBjb25uID0gRG9ja2VyLmNvbm5lY3Rpb24pCiAgICAgIGdl
658
+ dChpZCwgb3B0cywgY29ubikKICAgICAgdHJ1ZQogICAgcmVzY3VlIERvY2tl
659
+ cjo6RXJyb3I6Ok5vdEZvdW5kRXJyb3IKICAgICAgZmFsc2UKICAgIGVuZAoK
660
+ ICAgICMgUmV0dXJuIGV2ZXJ5IEltYWdlLgogICAgZGVmIGFsbChvcHRzID0g
661
+ e30sIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgaGFzaGVzID0g
662
+ RG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oY29ubi5nZXQoJy9pbWFnZXMvanNv
663
+ bicsIG9wdHMpKSB8fCBbXQogICAgICBoYXNoZXMubWFwIHsgfGhhc2h8IG5l
664
+ dyhjb25uLCBoYXNoKSB9CiAgICBlbmQKCiAgICAjIEdpdmVuIGEgcXVlcnkg
665
+ bGlrZSBgeyA6dGVybSA9PiAnc3NoZCcgfWAsIHF1ZXJpZXMgdGhlIERvY2tl
666
+ ciBSZWdpc3RyeSBmb3IKICAgICMgYSBjb3JyZXNwb25kaW5nIEltYWdlLgog
667
+ ICAgZGVmIHNlYXJjaChxdWVyeSA9IHt9LCBjb25uZWN0aW9uID0gRG9ja2Vy
668
+ LmNvbm5lY3Rpb24pCiAgICAgIGJvZHkgPSBjb25uZWN0aW9uLmdldCgnL2lt
669
+ YWdlcy9zZWFyY2gnLCBxdWVyeSkKICAgICAgaGFzaGVzID0gRG9ja2VyOjpV
670
+ dGlsLnBhcnNlX2pzb24oYm9keSkgfHwgW10KICAgICAgaGFzaGVzLm1hcCB7
671
+ IHxoYXNofCBuZXcoY29ubmVjdGlvbiwgJ2lkJyA9PiBoYXNoWyduYW1lJ10p
672
+ IH0KICAgIGVuZAoKICAgICMgSW1wb3J0IGFuIEltYWdlIGZyb20gdGhlIG91
673
+ dHB1dCBvZiBEb2NrZXI6OkNvbnRhaW5lciNleHBvcnQuIFRoZSBmaXJzdAog
674
+ ICAgIyBhcmd1bWVudCBtYXkgZWl0aGVyIGJlIGEgRmlsZSBvciBVUkkuCiAg
675
+ ICBkZWYgaW1wb3J0KGltcCwgb3B0cyA9IHt9LCBjb25uID0gRG9ja2VyLmNv
676
+ bm5lY3Rpb24pCiAgICAgIG9wZW4oaW1wKSBkbyB8aW98CiAgICAgICAgaW1w
677
+ b3J0X3N0cmVhbShvcHRzLCBjb25uKSBkbwogICAgICAgICAgaW8ucmVhZChF
678
+ eGNvbi5kZWZhdWx0c1s6Y2h1bmtfc2l6ZV0pLnRvX3MKICAgICAgICBlbmQK
679
+ ICAgICAgZW5kCiAgICByZXNjdWUgU3RhbmRhcmRFcnJvcgogICAgICByYWlz
680
+ ZSBEb2NrZXI6OkVycm9yOjpJT0Vycm9yLCAiQ291bGQgbm90IGltcG9ydCAn
681
+ I3tpbXB9JyIKICAgIGVuZAoKICAgIGRlZiBpbXBvcnRfc3RyZWFtKG9wdGlv
682
+ bnMgPSB7fSwgY29ubmVjdGlvbiA9IERvY2tlci5jb25uZWN0aW9uLCAmYmxv
683
+ Y2spCiAgICAgIGJvZHkgPSBjb25uZWN0aW9uLnBvc3QoCiAgICAgICAgJy9p
684
+ bWFnZXMvY3JlYXRlJywKICAgICAgICAgb3B0aW9ucy5tZXJnZSgnZnJvbVNy
685
+ YycgPT4gJy0nKSwKICAgICAgICAgOmhlYWRlcnMgPT4geyAnQ29udGVudC1U
686
+ eXBlJyA9PiAnYXBwbGljYXRpb24vdGFyJywKICAgICAgICAgICAgICAgICAg
687
+ ICAgICAnVHJhbnNmZXItRW5jb2RpbmcnID0+ICdjaHVua2VkJyB9LAogICAg
688
+ ICAgICAmYmxvY2sKICAgICAgKQogICAgICBuZXcoY29ubmVjdGlvbiwgJ2lk
689
+ Jz0+IERvY2tlcjo6VXRpbC5wYXJzZV9qc29uKGJvZHkpWydzdGF0dXMnXSkK
690
+ ICAgIGVuZAoKICAgICMgR2l2ZW4gYSBEb2NrZXJmaWxlIGFzIGEgc3RyaW5n
691
+ LCBidWlsZHMgYW4gSW1hZ2UuCiAgICBkZWYgYnVpbGQoY29tbWFuZHMsIG9w
692
+ dHMgPSB7fSwgY29ubmVjdGlvbiA9IERvY2tlci5jb25uZWN0aW9uLCAmYmxv
693
+ Y2spCiAgICAgIGJvZHkgPSAiIgogICAgICBjb25uZWN0aW9uLnBvc3QoCiAg
694
+ ICAgICAgJy9idWlsZCcsIG9wdHMsCiAgICAgICAgOmJvZHkgPT4gRG9ja2Vy
695
+ OjpVdGlsLmNyZWF0ZV90YXIoJ0RvY2tlcmZpbGUnID0+IGNvbW1hbmRzKSwK
696
+ ICAgICAgICA6cmVzcG9uc2VfYmxvY2sgPT4gcmVzcG9uc2VfYmxvY2soYm9k
697
+ eSwgJmJsb2NrKQogICAgICApCiAgICAgIG5ldyhjb25uZWN0aW9uLCAnaWQn
698
+ ID0+IERvY2tlcjo6VXRpbC5leHRyYWN0X2lkKGJvZHkpKQogICAgcmVzY3Vl
699
+ IERvY2tlcjo6RXJyb3I6OlNlcnZlckVycm9yCiAgICAgIHJhaXNlIERvY2tl
700
+ cjo6RXJyb3I6OlVuZXhwZWN0ZWRSZXNwb25zZUVycm9yCiAgICBlbmQKCiAg
701
+ ICAjIEdpdmVuIEZpbGUgbGlrZSBvYmplY3QgY29udGFpbmluZyBhIHRhciBm
702
+ aWxlLCBidWlsZHMgYW4gSW1hZ2UuCiAgICAjCiAgICAjIElmIGEgYmxvY2sg
703
+ aXMgcGFzc2VkLCBjaHVua3Mgb2Ygb3V0cHV0IHByb2R1Y2VkIGJ5IERvY2tl
704
+ ciB3aWxsIGJlIHBhc3NlZAogICAgIyB0byB0aGF0IGJsb2NrLgogICAgZGVm
705
+ IGJ1aWxkX2Zyb21fdGFyKHRhciwgb3B0cyA9IHt9LCBjb25uZWN0aW9uID0g
706
+ RG9ja2VyLmNvbm5lY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgY3Jl
707
+ ZHMgPSBuaWwsICZibG9jaykKCiAgICAgIGhlYWRlcnMgPSBidWlsZF9oZWFk
708
+ ZXJzKGNyZWRzKQoKICAgICAgIyBUaGUgcmVzcG9uc2VfYmxvY2sgcGFzc2Vk
709
+ IHRvIEV4Y29uIHdpbGwgYnVpbGQgdXAgdGhpcyBib2R5IHZhcmlhYmxlLgog
710
+ ICAgICBib2R5ID0gIiIKICAgICAgY29ubmVjdGlvbi5wb3N0KAogICAgICAg
711
+ ICcvYnVpbGQnLCBvcHRzLAogICAgICAgIDpoZWFkZXJzID0+IGhlYWRlcnMs
712
+ CiAgICAgICAgOnJlc3BvbnNlX2Jsb2NrID0+IHJlc3BvbnNlX2Jsb2NrKGJv
713
+ ZHksICZibG9jaykKICAgICAgKSB7IHRhci5yZWFkKEV4Y29uLmRlZmF1bHRz
714
+ WzpjaHVua19zaXplXSkudG9fcyB9CgogICAgICBuZXcoY29ubmVjdGlvbiwK
715
+ ICAgICAgICAgICdpZCcgPT4gRG9ja2VyOjpVdGlsLmV4dHJhY3RfaWQoYm9k
716
+ eSksCiAgICAgICAgICA6aGVhZGVycyA9PiBoZWFkZXJzKQogICAgZW5kCgog
717
+ ICAgIyBHaXZlbiBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGEgRG9ja2Vy
718
+ ZmlsZSwgYnVpbGRzIGFuIEltYWdlLgogICAgIwogICAgIyBJZiBhIGJsb2Nr
719
+ IGlzIHBhc3NlZCwgY2h1bmtzIG9mIG91dHB1dCBwcm9kdWNlZCBieSBEb2Nr
720
+ ZXIgd2lsbCBiZSBwYXNzZWQKICAgICMgdG8gdGhhdCBibG9jay4KICAgIGRl
721
+ ZiBidWlsZF9mcm9tX2RpcihkaXIsIG9wdHMgPSB7fSwgY29ubmVjdGlvbiA9
722
+ IERvY2tlci5jb25uZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgIGNy
723
+ ZWRzID0gbmlsLCAmYmxvY2spCgogICAgICB0YXIgPSBEb2NrZXI6OlV0aWwu
724
+ Y3JlYXRlX2Rpcl90YXIoZGlyKQogICAgICBidWlsZF9mcm9tX3RhciB0YXIs
725
+ IG9wdHMsIGNvbm5lY3Rpb24sIGNyZWRzLCAmYmxvY2sKICAgIGVuc3VyZQog
726
+ ICAgICB1bmxlc3MgdGFyLm5pbD8KICAgICAgICB0YXIuY2xvc2UKICAgICAg
727
+ ICBGaWxlVXRpbHMucm0odGFyLnBhdGgsIGZvcmNlOiB0cnVlKQogICAgICBl
728
+ bmQKICAgIGVuZAogIGVuZAoKICBwcml2YXRlCgogICMgQSBtZXRob2QgdG8g
729
+ YnVpbGQgdGhlIGNvbmZpZyBoZWFkZXIgYW5kIG1lcmdlIGl0IGludG8gdGhl
730
+ CiAgIyBoZWFkZXJzIHNlbnQgYnkgYnVpbGRfZnJvbV9kaXIuCiAgZGVmIHNl
731
+ bGYuYnVpbGRfaGVhZGVycyhjcmVkcz1uaWwpCiAgICBjcmVkZW50aWFscyA9
732
+ IGNyZWRzIHx8IERvY2tlci5jcmVkcyB8fCB7fQogICAgY29uZmlnX2hlYWRl
733
+ ciA9IERvY2tlcjo6VXRpbC5idWlsZF9jb25maWdfaGVhZGVyKGNyZWRlbnRp
734
+ YWxzKQoKICAgIGhlYWRlcnMgPSB7ICdDb250ZW50LVR5cGUnICAgICAgPT4g
735
+ J2FwcGxpY2F0aW9uL3RhcicsCiAgICAgICAgICAgICAgICAnVHJhbnNmZXIt
736
+ RW5jb2RpbmcnID0+ICdjaHVua2VkJyB9CiAgICBoZWFkZXJzID0gaGVhZGVy
737
+ cy5tZXJnZShjb25maWdfaGVhZGVyKSBpZiBjb25maWdfaGVhZGVyCiAgICBo
738
+ ZWFkZXJzCiAgZW5kCgogICMgQ29udmVuaWVuY2UgbWV0aG9kIHRvIHJldHVy
739
+ biB0aGUgcGF0aCBmb3IgYSBwYXJ0aWN1bGFyIHJlc291cmNlLgogIGRlZiBw
740
+ YXRoX2ZvcihyZXNvdXJjZSkKICAgICIvaW1hZ2VzLyN7c2VsZi5pZH0vI3ty
741
+ ZXNvdXJjZX0iCiAgZW5kCgoKICAjIENvbnZpZW5jZSBtZXRob2QgdG8gZ2V0
742
+ IHRoZSBEb2NrZXJmaWxlIGZvciBhIGZpbGUgaGFzaCBhbmQgYSBwYXRoIHRv
743
+ CiAgIyBvdXRwdXQgdG8uCiAgZGVmIGRvY2tlcmZpbGVfZm9yKGZpbGVfaGFz
744
+ aCwgb3V0cHV0X3BhdGgpCiAgICBkb2NrZXJmaWxlID0gImZyb20gI3tzZWxm
745
+ LmlkfVxuIgoKICAgIGZpbGVfaGFzaC5rZXlzLmVhY2ggZG8gfGJhc2VuYW1l
746
+ fAogICAgICBkb2NrZXJmaWxlIDw8ICJhZGQgI3tiYXNlbmFtZX0gI3tvdXRw
747
+ dXRfcGF0aH1cbiIKICAgIGVuZAoKICAgIGRvY2tlcmZpbGUKICBlbmQKCiAg
748
+ ZGVmIGVuc3VyZV9yZXBvX3RhZ3MKICAgIHJlZnJlc2ghIHVubGVzcyBpbmZv
749
+ Lmhhc19rZXk/KCdSZXBvVGFncycpCiAgICBpbmZvWydSZXBvVGFncyddCiAg
750
+ ZW5kCgogICMgR2VuZXJhdGVzIHRoZSBibG9jayB0byBiZSBwYXNzZWQgYXMg
751
+ YSByZXBvbnNlIGJsb2NrIHRvIEV4Y29uLiBUaGUgcmV0dXJuZWQKICAjIGxh
752
+ bWJkYSB3aWxsIGFwcGVuZCBEb2NrZXIgb3V0cHV0IHRvIHRoZSBmaXJzdCBh
753
+ cmd1bWVudCwgYW5kIHlpZWxkIG91dHB1dCB0bwogICMgdGhlIHBhc3NlZCBi
754
+ bG9jaywgaWYgYSBibG9jayBpcyBnaXZlbi4KICBkZWYgc2VsZi5yZXNwb25z
755
+ ZV9ibG9jayhib2R5KQogICAgbGFtYmRhIGRvIHxjaHVuaywgcmVtYWluaW5n
756
+ LCB0b3RhbHwKICAgICAgYm9keSA8PCBjaHVuawogICAgICB5aWVsZCBjaHVu
757
+ ayBpZiBibG9ja19naXZlbj8KICAgIGVuZAogIGVuZAoKICAjIEdlbmVyYXRl
758
+ cyB0aGUgYmxvY2sgdG8gYmUgcGFzc2VkIGluIHRvIHRoZSBzYXZlIHJlcXVl
759
+ c3QuIFRoaXMgbGFtYmRhIHdpbGwKICAjIGFwcGVuZCB0aGUgc3RyZWFtaW5n
760
+ IGRhdGEgdG8gdGhlIGZpbGUgcHJvdmlkZWQuCiAgZGVmIHNlbGYucmVzcG9u
761
+ c2VfYmxvY2tfZm9yX3NhdmUoZmlsZSkKICAgIGxhbWJkYSBkbyB8Y2h1bmss
762
+ IHJlbWlhbmluZywgdG90YWx8CiAgICAgIGZpbGUgPDwgY2h1bmsKICAgIGVu
763
+ ZAogIGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
764
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
765
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
766
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
767
+ AAAAAAAAAABkb2NrZXIvbWVzc2FnZXMucmIAAAAAAAAAAAAAAAAAAAAAAAAA
768
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
769
+ AAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAw
770
+ MDAwMDI1NzUAMTI1MzYwMDY3MDQAMDE0NzM2ACAwAAAAAAAAAAAAAAAAAAAA
771
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
772
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy
773
+ ADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAA
774
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAAAAAA
775
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
776
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
777
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
778
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBjbGFzcyByZXByZXNl
779
+ bnRzIGFsbCB0aGUgbWVzc2FnZXMgZWl0aGVyIHJlY2VpdmVkIGJ5IGNodW5r
780
+ cyBmcm9tIGF0dGFjaApjbGFzcyBEb2NrZXI6Ok1lc3NhZ2VzCgogIGF0dHJf
781
+ YWNjZXNzb3IgOmJ1ZmZlciwgOnN0ZG91dF9tZXNzYWdlcywgOnN0ZGVycl9t
782
+ ZXNzYWdlcywgOmFsbF9tZXNzYWdlcwoKICBkZWYgaW5pdGlhbGl6ZShzdGRv
783
+ dXRfbWVzc2FnZXM9W10sCiAgICAgICAgICAgICAgICAgc3RkZXJyX21lc3Nh
784
+ Z2VzPVtdLAogICAgICAgICAgICAgICAgIGFsbF9tZXNzYWdlcz1bXSwKICAg
785
+ ICAgICAgICAgICAgICBidWZmZXI9IiIpCiAgICBAc3Rkb3V0X21lc3NhZ2Vz
786
+ ID0gc3Rkb3V0X21lc3NhZ2VzCiAgICBAc3RkZXJyX21lc3NhZ2VzID0gc3Rk
787
+ ZXJyX21lc3NhZ2VzCiAgICBAYWxsX21lc3NhZ2VzID0gYWxsX21lc3NhZ2Vz
788
+ CiAgICBAYnVmZmVyID0gYnVmZmVyCiAgZW5kCgogIGRlZiBhZGRfbWVzc2Fn
789
+ ZShzb3VyY2UsIG1lc3NhZ2UpCiAgICBjYXNlIHNvdXJjZQogICAgd2hlbiAx
790
+ CiAgICAgIHN0ZG91dF9tZXNzYWdlcyA8PCBtZXNzYWdlCiAgICB3aGVuIDIK
791
+ ICAgICAgc3RkZXJyX21lc3NhZ2VzIDw8IG1lc3NhZ2UKICAgIGVuZAogICAg
792
+ YWxsX21lc3NhZ2VzIDw8IG1lc3NhZ2UKICBlbmQKCiAgZGVmIGdldF9tZXNz
793
+ YWdlKHJhd190ZXh0KQogICAgaGVhZGVyID0gcmF3X3RleHQuc2xpY2UhKDAs
794
+ OCkKICAgIGlmIGhlYWRlci5sZW5ndGggPCA4CiAgICAgIEBidWZmZXIgPSBo
795
+ ZWFkZXIKICAgICAgcmV0dXJuCiAgICBlbmQKICAgIHR5cGUsIGxlbmd0aCA9
796
+ IGhlYWRlci51bnBhY2soIkN4eHhOIikKCiAgICBtZXNzYWdlID0gcmF3X3Rl
797
+ eHQuc2xpY2UhKDAsbGVuZ3RoKQogICAgaWYgbWVzc2FnZS5sZW5ndGggPCBs
798
+ ZW5ndGgKICAgICAgQGJ1ZmZlciA9IGhlYWRlciArIG1lc3NhZ2UKICAgIGVs
799
+ c2UKICAgICAgYWRkX21lc3NhZ2UodHlwZSwgbWVzc2FnZSkKICAgIGVuZAog
800
+ IGVuZAoKICBkZWYgYXBwZW5kKG1lc3NhZ2VzKQogICAgQHN0ZG91dF9tZXNz
801
+ YWdlcyArPSBtZXNzYWdlcy5zdGRvdXRfbWVzc2FnZXMKICAgIEBzdGRlcnJf
802
+ bWVzc2FnZXMgKz0gbWVzc2FnZXMuc3RkZXJyX21lc3NhZ2VzCiAgICBAYWxs
803
+ X21lc3NhZ2VzICs9IG1lc3NhZ2VzLmFsbF9tZXNzYWdlcwogIGVuZAoKICAj
804
+ IE1ldGhvZCB0byBicmVhayBhcGFydCBhcHBsaWNhdGlvbi92bmQuZG9ja2Vy
805
+ LnJhdy1zdHJlYW0gaGVhZGVycwogIGRlZiBkZWNpcGhlcl9tZXNzYWdlcyhi
806
+ b2R5KQogICAgcmF3X3RleHQgPSBidWZmZXIgKyBib2R5LmR1cAogICAgbWVz
807
+ c2FnZXMgPSBEb2NrZXI6Ok1lc3NhZ2VzLm5ldwogICAgd2hpbGUgIXJhd190
808
+ ZXh0LmVtcHR5PwogICAgICBtZXNzYWdlcy5nZXRfbWVzc2FnZShyYXdfdGV4
809
+ dCkKICAgIGVuZAoKICAgIG1lc3NhZ2VzCiAgZW5kCmVuZAoAAAAAAAAAAAAA
810
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
811
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
812
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlci9tZXNzYWdl
813
+ c19zdGFjay5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
814
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw
815
+ NjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDcxNQAxMjU1MDQyMDYxNwAw
816
+ MTYxMTQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
817
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
818
+ AAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAA
819
+ AAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
820
+ MDAwMDAwMAAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
821
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
822
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
823
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
824
+ AAAAY2xhc3MgRG9ja2VyOjpNZXNzYWdlc1N0YWNrCgogIGF0dHJfYWNjZXNz
825
+ b3IgOm1lc3NhZ2VzCgogICMgSW5pdGlhbGl6ZSBzdGFjayB3aXRoIG9wdGlv
826
+ bmFsIHNpemUKICAjCiAgIyBAcGFyYW0gc2l6ZSBbSW50ZWdlcl0KICBkZWYg
827
+ aW5pdGlhbGl6ZShzaXplID0gLTEpCiAgICBAbWVzc2FnZXMgPSBbXQogICAg
828
+ QHNpemUgPSBzaXplCiAgZW5kCgogICMgQXBwZW5kIG1lc3NhZ2VzIHRvIHN0
829
+ YWNrCiAgIwogICMgQHBhcmFtIG1lc3NhZ2VzIFtEb2NrZXI6Ok1lc3NhZ2Vz
830
+ XQogIGRlZiBhcHBlbmQobWVzc2FnZXMpCiAgICByZXR1cm4gaWYgQHNpemUg
831
+ PT0gMAoKICAgIG1lc3NhZ2VzLmFsbF9tZXNzYWdlcy5lYWNoIGRvIHxtc2d8
832
+ CiAgICAgIEBtZXNzYWdlcyA8PCBtc2cKICAgICAgQG1lc3NhZ2VzLnNoaWZ0
833
+ IGlmIEBzaXplID4gLTEgJiYgQG1lc3NhZ2VzLnNpemUgPiBAc2l6ZQogICAg
834
+ ZW5kCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
835
+ AAAAAAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvcmFrZV90YXNrLnJiAAAAAAAA
836
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
837
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAw
838
+ ADAwMDAwMDAAMDAwMDAwMDEyMTcAMTI1MzYwMDY3MDQAMDE1MDYzACAwAAAA
839
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
840
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
841
+ AAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
842
+ AAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAw
843
+ MDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
844
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
845
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
846
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBj
847
+ bGFzcyBhbGxvd3MgaW1hZ2UtYmFzZWQgdGFza3MgdG8gYmUgY3JlYXRlZC4K
848
+ Y2xhc3MgRG9ja2VyOjpJbWFnZVRhc2sgPCBSYWtlOjpUYXNrCiAgZGVmIHNl
849
+ bGYuc2NvcGVfbmFtZShfc2NvcGUsIHRhc2tfbmFtZSkKICAgIHRhc2tfbmFt
850
+ ZQogIGVuZAoKICBkZWYgbmVlZGVkPwogICAgIWhhc19yZXBvX3RhZz8KICBl
851
+ bmQKCiAgcHJpdmF0ZQoKICBkZWYgaGFzX3JlcG9fdGFnPwogICAgaW1hZ2Vz
852
+ LmFueT8geyB8aW1hZ2V8IGltYWdlLmluZm9bJ1JlcG9UYWdzJ10uaW5jbHVk
853
+ ZT8ocmVwb190YWcpIH0KICBlbmQKCiAgZGVmIGltYWdlcwogICAgQGltYWdl
854
+ cyB8fD0gRG9ja2VyOjpJbWFnZS5hbGwoOmFsbCA9PiB0cnVlKQogIGVuZAoK
855
+ ICBkZWYgcmVwbwogICAgbmFtZS5zcGxpdCgnOicpWzBdCiAgZW5kCgogIGRl
856
+ ZiB0YWcKICAgIG5hbWUuc3BsaXQoJzonKVsxXSB8fCAnbGF0ZXN0JwogIGVu
857
+ ZAoKICBkZWYgcmVwb190YWcKICAgICIje3JlcG99OiN7dGFnfSIKICBlbmQK
858
+ ZW5kCgojIE1vbmtleXBhdGNoIFJha2UgdG8gYWRkIHRoZSBgaW1hZ2VgIHRh
859
+ c2suCm1vZHVsZSBSYWtlOjpEU0wKICBkZWYgaW1hZ2UoKmFyZ3MsICZibG9j
860
+ aykKICAgIERvY2tlcjo6SW1hZ2VUYXNrLmRlZmluZV90YXNrKCphcmdzLCAm
861
+ YmxvY2spCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1096
862
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1097
863
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1098
- AAAwMDQwNzU1ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMDAwMAAxMjM2MzIy
1099
- NTM2NgAwMDcxMDcAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1100
864
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1101
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAA
1102
865
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1103
866
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1104
867
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1105
868
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
869
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvdXRpbC5yYgAAAAAA
870
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
871
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAw
872
+ MDAwMDAwADAwMDAwMDAAMDAwMDAwMTM3NjEAMTI1MzYwMTE1NjMAMDE0MTAy
873
+ ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
874
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
875
+ AAAAAAAAAAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAA
876
+ AAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAw
877
+ MDAAMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
878
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
879
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
880
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMg
881
+ VGhpcyBtb2R1bGUgaG9sZHMgc2hhcmVkIGxvZ2ljIHRoYXQgZG9lc24ndCBy
882
+ ZWFsbHkgYmVsb25nIGFueXdoZXJlIGVsc2UgaW4gdGhlCiMgZ2VtLgptb2R1
883
+ bGUgRG9ja2VyOjpVdGlsCiAgaW5jbHVkZSBEb2NrZXI6OkVycm9yCgogIG1v
884
+ ZHVsZV9mdW5jdGlvbgoKICAjIEF0dGFjaGVzIHRvIGEgSFRUUCBzdHJlYW0K
885
+ ICAjCiAgIyBAcGFyYW0gYmxvY2sKICAjIEBwYXJhbSBtc2dfc3RhY2sgW0Rv
886
+ Y2tlcjo6TWVzc2FnZXNdCiAgIyBAcGFyYW0gdHR5IFtib29sZWFuXQogIGRl
887
+ ZiBhdHRhY2hfZm9yKGJsb2NrLCBtc2dfc3RhY2ssIHR0eSA9IGZhbHNlKQog
888
+ ICAgIyBJZiBUVFkgaXMgZW5hYmxlZCBleHBlY3QgcmF3IGRhdGEgYW5kIGFw
889
+ cGVuZCB0byBzdGRvdXQKICAgIGlmIHR0eQogICAgICBhdHRhY2hfZm9yX3R0
890
+ eShibG9jaywgbXNnX3N0YWNrKQogICAgZWxzZQogICAgICBhdHRhY2hfZm9y
891
+ X211bHRpcGxleChibG9jaywgbXNnX3N0YWNrKQogICAgZW5kCiAgZW5kCgog
892
+ IGRlZiBhdHRhY2hfZm9yX3R0eShibG9jaywgbXNnX3N0YWNrKQogICAgcmV0
893
+ dXJuIGxhbWJkYSBkbyB8YyxyLHR8CiAgICAgIG1zZ19zdGFjay5zdGRvdXRf
894
+ bWVzc2FnZXMgPDwgYwogICAgICBtc2dfc3RhY2suYWxsX21lc3NhZ2VzIDw8
895
+ IGMKICAgICAgYmxvY2suY2FsbCBjIGlmIGJsb2NrCiAgICBlbmQKICBlbmQK
896
+ CiAgZGVmIGF0dGFjaF9mb3JfbXVsdGlwbGV4KGJsb2NrLCBtc2dfc3RhY2sp
897
+ CiAgICBtZXNzYWdlcyA9IERvY2tlcjo6TWVzc2FnZXMubmV3CiAgICBsYW1i
898
+ ZGEgZG8gfGMscix0fAogICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzLmRlY2lw
899
+ aGVyX21lc3NhZ2VzKGMpCiAgICAgIG1zZ19zdGFjay5hcHBlbmQobWVzc2Fn
900
+ ZXMpCgogICAgICB1bmxlc3MgYmxvY2submlsPwogICAgICAgIG1lc3NhZ2Vz
901
+ LnN0ZG91dF9tZXNzYWdlcy5lYWNoIGRvIHxtc2d8CiAgICAgICAgICBibG9j
902
+ ay5jYWxsKDpzdGRvdXQsIG1zZykKICAgICAgICBlbmQKICAgICAgICBtZXNz
903
+ YWdlcy5zdGRlcnJfbWVzc2FnZXMuZWFjaCBkbyB8bXNnfAogICAgICAgICAg
904
+ YmxvY2suY2FsbCg6c3RkZXJyLCBtc2cpCiAgICAgICAgZW5kCiAgICAgIGVu
905
+ ZAogICAgZW5kCiAgZW5kCgogIGRlZiBkZWJ1Zyhtc2cpCiAgICBEb2NrZXIu
906
+ bG9nZ2VyLmRlYnVnKG1zZykgaWYgRG9ja2VyLmxvZ2dlcgogIGVuZAoKICBk
907
+ ZWYgaGlqYWNrX2ZvcihzdGRpbiwgYmxvY2ssIG1zZ19zdGFjaywgdHR5KQog
908
+ ICAgYXR0YWNoX2Jsb2NrID0gYXR0YWNoX2ZvcihibG9jaywgbXNnX3N0YWNr
909
+ LCB0dHkpCgogICAgbGFtYmRhIGRvIHxzb2NrZXR8CiAgICAgIGRlYnVnICJo
910
+ aWphY2s6IGhpamFja2luZyB0aGUgSFRUUCBzb2NrZXQiCiAgICAgIHRocmVh
911
+ ZHMgPSBbXQoKICAgICAgZGVidWcgImhpamFjazogc3RhcnRpbmcgc3RkaW4g
912
+ Y29weSB0aHJlYWQiCiAgICAgIHRocmVhZHMgPDwgVGhyZWFkLnN0YXJ0IGRv
913
+ CiAgICAgICAgZGVidWcgImhpamFjazogY29weWluZyBzdGRpbiA9PiBzb2Nr
914
+ ZXQiCiAgICAgICAgSU8uY29weV9zdHJlYW0gc3RkaW4sIHNvY2tldAoKICAg
915
+ ICAgICBkZWJ1ZyAiaGlqYWNrOiBjbG9zaW5nIHdyaXRlIGVuZCBvZiBoaWph
916
+ Y2tlZCBzb2NrZXQiCiAgICAgICAgY2xvc2Vfd3JpdGUoc29ja2V0KQogICAg
917
+ ICBlbmQKCiAgICAgIGRlYnVnICJoaWphY2s6IHN0YXJ0aW5nIGhpamFja2Vk
918
+ IHNvY2tldCByZWFkIHRocmVhZCIKICAgICAgdGhyZWFkcyA8PCBUaHJlYWQu
919
+ c3RhcnQgZG8KICAgICAgICBkZWJ1ZyAiaGlqYWNrOiByZWFkaW5nIGZyb20g
920
+ aGlqYWNrZWQgc29ja2V0IgoKICAgICAgICBiZWdpbgogICAgICAgICAgd2hp
921
+ bGUgY2h1bmsgPSBzb2NrZXQucmVhZHBhcnRpYWwoNTEyKQogICAgICAgICAg
922
+ ICBkZWJ1ZyAiaGlqYWNrOiBnb3QgI3tjaHVuay5ieXRlc2l6ZX0gYnl0ZXMg
923
+ ZnJvbSBoaWphY2tlZCBzb2NrZXQiCiAgICAgICAgICAgIGF0dGFjaF9ibG9j
924
+ ay5jYWxsIGNodW5rLCBuaWwsIG5pbAogICAgICAgICAgZW5kCiAgICAgICAg
925
+ cmVzY3VlIEVPRkVycm9yCiAgICAgICAgZW5kCgogICAgICAgIGRlYnVnICJo
926
+ aWphY2s6IGtpbGxpbmcgc3RkaW4gY29weSB0aHJlYWQiCiAgICAgICAgdGhy
927
+ ZWFkcy5maXJzdC5raWxsCiAgICAgIGVuZAoKICAgICAgdGhyZWFkcy5lYWNo
928
+ KCY6am9pbikKICAgIGVuZAogIGVuZAoKICBkZWYgY2xvc2Vfd3JpdGUoc29j
929
+ a2V0KQogICAgaWYgc29ja2V0LnJlc3BvbmRfdG8/KDpjbG9zZV93cml0ZSkK
930
+ ICAgICAgc29ja2V0LmNsb3NlX3dyaXRlCiAgICBlbHNpZiBzb2NrZXQucmVz
931
+ cG9uZF90bz8oOmlvKQogICAgICBzb2NrZXQuaW8uY2xvc2Vfd3JpdGUKICAg
932
+ IGVsc2UKICAgICAgcmFpc2UgSU9FcnJvciwgJ0Nhbm5vdCBjbG9zZSBzb2Nr
933
+ ZXQnCiAgICBlbmQKICBlbmQKCiAgZGVmIHBhcnNlX2pzb24oYm9keSkKICAg
934
+ IEpTT04ucGFyc2UoYm9keSkgdW5sZXNzIGJvZHkubmlsPyB8fCBib2R5LmVt
935
+ cHR5PyB8fCAoYm9keSA9PSAnbnVsbCcpCiAgcmVzY3VlIEpTT046OlBhcnNl
936
+ ckVycm9yID0+IGV4CiAgICByYWlzZSBVbmV4cGVjdGVkUmVzcG9uc2VFcnJv
937
+ ciwgZXgubWVzc2FnZQogIGVuZAoKICBkZWYgcGFyc2VfcmVwb190YWcoc3Ry
938
+ KQogICAgaWYgbWF0Y2ggPSBzdHIubWF0Y2goL1xBKC4qKTooW146XSopXHov
939
+ KQogICAgICBtYXRjaC5jYXB0dXJlcwogICAgZWxzZQogICAgICBbc3RyLCAn
940
+ J10KICAgIGVuZAogIGVuZAoKICBkZWYgZml4X2pzb24oYm9keSkKICAgIHBh
941
+ cnNlX2pzb24oIlsje2JvZHkuZ3N1YigvfVxzKnsvLCAnfSx7Jyl9XSIpCiAg
942
+ ZW5kCgogIGRlZiBjcmVhdGVfdGFyKGhhc2ggPSB7fSkKICAgIG91dHB1dCA9
943
+ IFN0cmluZ0lPLm5ldwogICAgR2VtOjpQYWNrYWdlOjpUYXJXcml0ZXIubmV3
944
+ KG91dHB1dCkgZG8gfHRhcnwKICAgICAgaGFzaC5lYWNoIGRvIHxmaWxlX25h
945
+ bWUsIGlucHV0fAogICAgICAgIHRhci5hZGRfZmlsZShmaWxlX25hbWUsIDA2
946
+ NDApIHsgfHRhcl9maWxlfCB0YXJfZmlsZS53cml0ZShpbnB1dCkgfQogICAg
947
+ ICBlbmQKICAgIGVuZAogICAgb3V0cHV0LnRhcCgmOnJld2luZCkuc3RyaW5n
948
+ CiAgZW5kCgogIGRlZiBjcmVhdGVfZGlyX3RhcihkaXJlY3RvcnkpCiAgICB0
949
+ ZW1wZmlsZSA9IGNyZWF0ZV90ZW1wX2ZpbGUKICAgIGRpcmVjdG9yeSArPSAn
950
+ LycgdW5sZXNzIGRpcmVjdG9yeS5lbmRfd2l0aD8oJy8nKQoKICAgIGNyZWF0
951
+ ZV9yZWxhdGl2ZV9kaXJfdGFyKGRpcmVjdG9yeSwgdGVtcGZpbGUpCgogICAg
952
+ RmlsZS5uZXcodGVtcGZpbGUucGF0aCwgJ3InKQogIGVuZAoKICBkZWYgY3Jl
953
+ YXRlX3JlbGF0aXZlX2Rpcl90YXIoZGlyZWN0b3J5LCBvdXRwdXQpCiAgICBH
954
+ ZW06OlBhY2thZ2U6OlRhcldyaXRlci5uZXcob3V0cHV0KSBkbyB8dGFyfAog
955
+ ICAgICBGaW5kLmZpbmQoZGlyZWN0b3J5KSBkbyB8cHJlZml4ZWRfZmlsZV9u
956
+ YW1lfAogICAgICAgIHN0YXQgPSBGaWxlLnN0YXQocHJlZml4ZWRfZmlsZV9u
957
+ YW1lKQogICAgICAgIG5leHQgdW5sZXNzIHN0YXQuZmlsZT8KCiAgICAgICAg
958
+ dW5wcmVmaXhlZF9maWxlX25hbWUgPSBwcmVmaXhlZF9maWxlX25hbWVbZGly
959
+ ZWN0b3J5Lmxlbmd0aC4uLTFdCiAgICAgICAgYWRkX2ZpbGVfdG9fdGFyKAog
960
+ ICAgICAgICAgdGFyLCB1bnByZWZpeGVkX2ZpbGVfbmFtZSwgc3RhdC5tb2Rl
961
+ LCBzdGF0LnNpemUsIHN0YXQubXRpbWUKICAgICAgICApIGRvIHx0YXJfZmls
962
+ ZXwKICAgICAgICAgIElPLmNvcHlfc3RyZWFtKEZpbGUub3BlbihwcmVmaXhl
963
+ ZF9maWxlX25hbWUsICdyYicpLCB0YXJfZmlsZSkKICAgICAgICBlbmQKICAg
964
+ ICAgZW5kCiAgICBlbmQKICBlbmQKCiAgZGVmIGFkZF9maWxlX3RvX3Rhcih0
965
+ YXIsIG5hbWUsIG1vZGUsIHNpemUsIG10aW1lKQogICAgdGFyLmNoZWNrX2Ns
966
+ b3NlZAoKICAgIGlvID0gdGFyLmluc3RhbmNlX3ZhcmlhYmxlX2dldCg6QGlv
967
+ KQoKICAgIG5hbWUsIHByZWZpeCA9IHRhci5zcGxpdF9uYW1lKG5hbWUpCgog
968
+ ICAgaGVhZGVyID0gR2VtOjpQYWNrYWdlOjpUYXJIZWFkZXIubmV3KDpuYW1l
969
+ ID0+IG5hbWUsIDptb2RlID0+IG1vZGUsCiAgICAgICAgICAgICAgICAgICAg
970
+ ICAgICAgICAgICAgICAgICAgICAgOnNpemUgPT4gc2l6ZSwgOnByZWZpeCA9
971
+ PiBwcmVmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
972
+ ICAgICAgOm10aW1lID0+IG10aW1lKS50b19zCgogICAgaW8ud3JpdGUgaGVh
973
+ ZGVyCiAgICBvcyA9IEdlbTo6UGFja2FnZTo6VGFyV3JpdGVyOjpCb3VuZGVk
974
+ U3RyZWFtLm5ldyBpbywgc2l6ZQoKICAgIHlpZWxkIG9zIGlmIGJsb2NrX2dp
975
+ dmVuPwoKICAgIG1pbl9wYWRkaW5nID0gc2l6ZSAtIG9zLndyaXR0ZW4KICAg
976
+ IGlvLndyaXRlKCJcMCIgKiBtaW5fcGFkZGluZykKCiAgICByZW1haW5kZXIg
977
+ PSAoNTEyIC0gKHNpemUgJSA1MTIpKSAlIDUxMgogICAgaW8ud3JpdGUoIlww
978
+ IiAqIHJlbWFpbmRlcikKCiAgICB0YXIKICBlbmQKCiAgZGVmIGNyZWF0ZV90
979
+ ZW1wX2ZpbGUKICAgIHRlbXBmaWxlX25hbWUgPSBEaXI6OlRtcG5hbWUuY3Jl
980
+ YXRlKCdvdXQnKSB7fQogICAgRmlsZS5vcGVuKHRlbXBmaWxlX25hbWUsICd3
981
+ YisnKQogIGVuZAoKICBkZWYgZXh0cmFjdF9pZChib2R5KQogICAgYm9keS5s
982
+ aW5lcy5yZXZlcnNlX2VhY2ggZG8gfGxpbmV8CiAgICAgIGlmIChpZCA9IGxp
983
+ bmUubWF0Y2goL1N1Y2Nlc3NmdWxseSBidWlsdCAoW2EtZjAtOV0rKS8pKSAm
984
+ JiAhaWRbMV0uZW1wdHk/CiAgICAgICAgcmV0dXJuIGlkWzFdCiAgICAgIGVu
985
+ ZAogICAgZW5kCiAgICByYWlzZSBVbmV4cGVjdGVkUmVzcG9uc2VFcnJvciwg
986
+ IkNvdWxkbid0IGZpbmQgaWQ6ICN7Ym9keX0iCiAgZW5kCgogICMgQ29udmVu
987
+ aWVuY2UgbWV0aG9kIHRvIGdldCB0aGUgZmlsZSBoYXNoIGNvcnJlc3BvbmRp
988
+ bmcgdG8gYW4gYXJyYXkgb2YKICAjIGxvY2FsIHBhdGhzLgogIGRlZiBmaWxl
989
+ X2hhc2hfZnJvbV9wYXRocyhsb2NhbF9wYXRocykKICAgIGxvY2FsX3BhdGhz
990
+ LmVhY2hfd2l0aF9vYmplY3Qoe30pIGRvIHxsb2NhbF9wYXRoLCBmaWxlX2hh
991
+ c2h8CiAgICAgIHVubGVzcyBGaWxlLmV4aXN0Pyhsb2NhbF9wYXRoKQogICAg
992
+ ICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICIje2xvY2FsX3BhdGh9IGRvZXMg
993
+ bm90IGV4aXN0LiIKICAgICAgZW5kCgogICAgICBiYXNlbmFtZSA9IEZpbGUu
994
+ YmFzZW5hbWUobG9jYWxfcGF0aCkKICAgICAgaWYgRmlsZS5kaXJlY3Rvcnk/
995
+ KGxvY2FsX3BhdGgpCiAgICAgICAgdGFyID0gY3JlYXRlX2Rpcl90YXIobG9j
996
+ YWxfcGF0aCkKICAgICAgICBmaWxlX2hhc2hbYmFzZW5hbWVdID0gdGFyLnJl
997
+ YWQKICAgICAgICB0YXIuY2xvc2UKICAgICAgICBGaWxlVXRpbHMucm0odGFy
998
+ LnBhdGgpCiAgICAgIGVsc2UKICAgICAgICBmaWxlX2hhc2hbYmFzZW5hbWVd
999
+ ID0gRmlsZS5yZWFkKGxvY2FsX3BhdGgpCiAgICAgIGVuZAogICAgZW5kCiAg
1000
+ ZW5kCgogIGRlZiBidWlsZF9hdXRoX2hlYWRlcihjcmVkZW50aWFscykKICAg
1001
+ IGNyZWRlbnRpYWxzID0gY3JlZGVudGlhbHMudG9fanNvbiBpZiBjcmVkZW50
1002
+ aWFscy5pc19hPyhIYXNoKQogICAgZW5jb2RlZF9jcmVkcyA9IEJhc2U2NC5l
1003
+ bmNvZGU2NChjcmVkZW50aWFscykuZ3N1YigvXG4vLCAnJykKICAgIHsKICAg
1004
+ ICAgJ1gtUmVnaXN0cnktQXV0aCcgPT4gZW5jb2RlZF9jcmVkcwogICAgfQog
1005
+ IGVuZAoKICBkZWYgYnVpbGRfY29uZmlnX2hlYWRlcihjcmVkZW50aWFscykK
1006
+ ICAgIGlmIGNyZWRlbnRpYWxzLmlzX2E/KFN0cmluZykKICAgICAgY3JlZGVu
1007
+ dGlhbHMgPSBKU09OLnBhcnNlKGNyZWRlbnRpYWxzLCBzeW1ib2xpemVfbmFt
1008
+ ZXM6IHRydWUpCiAgICBlbmQKICAgIGhlYWRlciA9IHsKICAgICAgImNvbmZp
1009
+ Z3MiID0+IHsKICAgICAgICBjcmVkZW50aWFsc1s6c2VydmVyYWRkcmVzc10u
1010
+ dG9fcyA9PiB7CiAgICAgICAgICAidXNlcm5hbWUiID0+IGNyZWRlbnRpYWxz
1011
+ Wzp1c2VybmFtZV0udG9fcywKICAgICAgICAgICJwYXNzd29yZCIgPT4gY3Jl
1012
+ ZGVudGlhbHNbOnBhc3N3b3JkXS50b19zLAogICAgICAgICAgImVtYWlsIiA9
1013
+ PiBjcmVkZW50aWFsc1s6ZW1haWxdLnRvX3MKICAgICAgICB9CiAgICAgIH0K
1014
+ ICAgIH0udG9fanNvbgoKICAgIGVuY29kZWRfaGVhZGVyID0gQmFzZTY0LmVu
1015
+ Y29kZTY0KGhlYWRlcikuZ3N1YigvXG4vLCAnJykKCiAgICB7CiAgICAgICdY
1016
+ LVJlZ2lzdHJ5LUNvbmZpZycgPT4gZW5jb2RlZF9oZWFkZXIKICAgIH0KICBl
1017
+ bmQKZW5kCgAAAAAAAAAAAAAAAAAAAGRvY2tlci92ZXJzaW9uLnJiAAAAAAAA
1018
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1019
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAw
1020
+ MDAAMDAwMDAwMAAwMDAwMDAwMDIzMwAxMjUzNjAwNjcwNAAwMTQ2MDEAIDAA
1021
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1022
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1023
+ AAAAAAAAAAAAdXN0YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1024
+ AAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAw
1025
+ MDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1026
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1027
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1028
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbW9kdWxl
1029
+ IERvY2tlcgogICMgVGhlIHZlcnNpb24gb2YgdGhlIGRvY2tlci1hcGkgZ2Vt
1030
+ LgogIFZFUlNJT04gPSAnMS4yMS40JwoKICAjIFRoZSB2ZXJzaW9uIG9mIHRo
1031
+ ZSBjb21wYXRpYmxlIERvY2tlciByZW1vdGUgQVBJLgogIEFQSV9WRVJTSU9O
1032
+ ID0gJzEuMTYnCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1033
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1034
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1035
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1036
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1037
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1038
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1039
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1040
+ AAAAAAAAAAAAAABkb2NrZXIucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1041
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1042
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAA
1043
+ MDAwMDAwMDY1MjYAMTI1MzYwMTcxNTUAMDEzMTMxACAwAAAAAAAAAAAAAAAA
1044
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1045
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz
1046
+ dGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAA
1047
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAA
1048
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1049
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1050
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1051
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJlcXVpcmUgJ2NnaScKcmVx
1052
+ dWlyZSAnanNvbicKcmVxdWlyZSAnZXhjb24nCnJlcXVpcmUgJ3RlbXBmaWxl
1053
+ JwpyZXF1aXJlICdiYXNlNjQnCnJlcXVpcmUgJ2ZpbmQnCnJlcXVpcmUgJ3J1
1054
+ YnlnZW1zL3BhY2thZ2UnCnJlcXVpcmUgJ3VyaScKcmVxdWlyZSAnb3Blbi11
1055
+ cmknCgojIEFkZCB0aGUgSGlqYWNrIG1pZGRsZXdhcmUgYXQgdGhlIHRvcCBv
1056
+ ZiB0aGUgbWlkZGxld2FyZSBzdGFjayBzbyBpdCBjYW4KIyBwb3RlbnRpYWxs
1057
+ eSBoaWphY2sgSFRUUCBzb2NrZXRzICh3aGVuIGF0dGFjaGluZyB0byBzdGRp
1058
+ bikgYmVmb3JlIG90aGVyCiMgbWlkZGxld2FyZXMgdHJ5IGFuZCBwYXJzZSB0
1059
+ aGUgcmVzcG9uc2UuCnJlcXVpcmUgJ2V4Y29uL21pZGRsZXdhcmVzL2hpamFj
1060
+ aycKRXhjb24uZGVmYXVsdHNbOm1pZGRsZXdhcmVzXS51bnNoaWZ0IEV4Y29u
1061
+ OjpNaWRkbGV3YXJlOjpIaWphY2sKCiMgVGhlIHRvcC1sZXZlbCBtb2R1bGUg
1062
+ Zm9yIHRoaXMgZ2VtLiBJdCdzIHB1cnBvc2UgaXMgdG8gaG9sZCBnbG9iYWwK
1063
+ IyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyB0aGF0IGFyZSB1c2VkIGFzIGRl
1064
+ ZmF1bHRzIGluIG90aGVyIGNsYXNzZXMuCm1vZHVsZSBEb2NrZXIKICBhdHRy
1065
+ X2FjY2Vzc29yIDpjcmVkcywgOmxvZ2dlcgoKICByZXF1aXJlICdkb2NrZXIv
1066
+ ZXJyb3InCiAgcmVxdWlyZSAnZG9ja2VyL2Nvbm5lY3Rpb24nCiAgcmVxdWly
1067
+ ZSAnZG9ja2VyL2Jhc2UnCiAgcmVxdWlyZSAnZG9ja2VyL2NvbnRhaW5lcicK
1068
+ ICByZXF1aXJlICdkb2NrZXIvZXZlbnQnCiAgcmVxdWlyZSAnZG9ja2VyL2V4
1069
+ ZWMnCiAgcmVxdWlyZSAnZG9ja2VyL2ltYWdlJwogIHJlcXVpcmUgJ2RvY2tl
1070
+ ci9tZXNzYWdlc19zdGFjaycKICByZXF1aXJlICdkb2NrZXIvbWVzc2FnZXMn
1071
+ CiAgcmVxdWlyZSAnZG9ja2VyL3V0aWwnCiAgcmVxdWlyZSAnZG9ja2VyL3Zl
1072
+ cnNpb24nCiAgcmVxdWlyZSAnZG9ja2VyL3Jha2VfdGFzaycgaWYgZGVmaW5l
1073
+ ZD8oUmFrZTo6VGFzaykKCiAgZGVmIGRlZmF1bHRfc29ja2V0X3VybAogICAg
1074
+ JzxET0NLRVJfSE9TVD4nCiAgZW5kCgogIGRlZiBlbnZfdXJsCiAgICBFTlZb
1075
+ J0RPQ0tFUl9VUkwnXSB8fCBFTlZbJ0RPQ0tFUl9IT1NUJ10KICBlbmQKCiAg
1076
+ ZGVmIGVudl9vcHRpb25zCiAgICBpZiBjZXJ0X3BhdGggPSBFTlZbJ0RPQ0tF
1077
+ Ul9DRVJUX1BBVEgnXQogICAgICB7CiAgICAgICAgY2xpZW50X2NlcnQ6IEZp
1078
+ bGUuam9pbihjZXJ0X3BhdGgsICdjZXJ0LnBlbScpLAogICAgICAgIGNsaWVu
1079
+ dF9rZXk6IEZpbGUuam9pbihjZXJ0X3BhdGgsICdrZXkucGVtJyksCiAgICAg
1080
+ ICAgc3NsX2NhX2ZpbGU6IEZpbGUuam9pbihjZXJ0X3BhdGgsICdjYS5wZW0n
1081
+ KSwKICAgICAgICBzY2hlbWU6ICdodHRwcycKICAgICAgfS5tZXJnZShzc2xf
1082
+ b3B0aW9ucykKICAgIGVsc2UKICAgICAge30KICAgIGVuZAogIGVuZAoKICBk
1083
+ ZWYgc3NsX29wdGlvbnMKICAgIGlmIEVOVlsnRE9DS0VSX1NTTF9WRVJJRlkn
1084
+ XSA9PSAnZmFsc2UnCiAgICAgIHsKICAgICAgICBzc2xfdmVyaWZ5X3BlZXI6
1085
+ IGZhbHNlCiAgICAgIH0KICAgIGVsc2UKICAgICAge30KICAgIGVuZAogIGVu
1086
+ ZAoKICBkZWYgdXJsCiAgICBAdXJsIHx8PSBlbnZfdXJsIHx8IGRlZmF1bHRf
1087
+ c29ja2V0X3VybAogICAgIyBkb2NrZXIgdXNlcyBhIGRlZmF1bHQgbm90YXRp
1088
+ b24gdGNwOi8vIHdoaWNoIG1lYW5zIHRjcDovL2xvY2FsaG9zdDoyMzc1CiAg
1089
+ ICBpZiBAdXJsID09ICd0Y3A6Ly8nCiAgICAgIEB1cmwgPSAndGNwOi8vbG9j
1090
+ YWxob3N0OjIzNzUnCiAgICBlbmQKICAgIEB1cmwKICBlbmQKCiAgZGVmIG9w
1091
+ dGlvbnMKICAgIEBvcHRpb25zIHx8PSBlbnZfb3B0aW9ucwogIGVuZAoKICBk
1092
+ ZWYgdXJsPShuZXdfdXJsKQogICAgQHVybCA9IG5ld191cmwKICAgIHJlc2V0
1093
+ X2Nvbm5lY3Rpb24hCiAgZW5kCgogIGRlZiBvcHRpb25zPShuZXdfb3B0aW9u
1094
+ cykKICAgIEBvcHRpb25zID0gZW52X29wdGlvbnMubWVyZ2UobmV3X29wdGlv
1095
+ bnMgfHwge30pCiAgICByZXNldF9jb25uZWN0aW9uIQogIGVuZAoKICBkZWYg
1096
+ Y29ubmVjdGlvbgogICAgQGNvbm5lY3Rpb24gfHw9IENvbm5lY3Rpb24ubmV3
1097
+ KHVybCwgb3B0aW9ucykKICBlbmQKCiAgZGVmIHJlc2V0IQogICAgQHVybCA9
1098
+ IG5pbAogICAgQG9wdGlvbnMgPSBuaWwKICAgIHJlc2V0X2Nvbm5lY3Rpb24h
1099
+ CiAgZW5kCgogIGRlZiByZXNldF9jb25uZWN0aW9uIQogICAgQGNvbm5lY3Rp
1100
+ b24gPSBuaWwKICBlbmQKCiAgIyBHZXQgdGhlIHZlcnNpb24gb2YgR28sIERv
1101
+ Y2tlciwgYW5kIG9wdGlvbmFsbHkgdGhlIEdpdCBjb21taXQuCiAgZGVmIHZl
1102
+ cnNpb24oY29ubmVjdGlvbiA9IHNlbGYuY29ubmVjdGlvbikKICAgIFV0aWwu
1103
+ cGFyc2VfanNvbihjb25uZWN0aW9uLmdldCgnL3ZlcnNpb24nKSkKICBlbmQK
1104
+ CiAgIyBHZXQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRG9ja2VyIHNl
1105
+ cnZlci4KICBkZWYgaW5mbyhjb25uZWN0aW9uID0gc2VsZi5jb25uZWN0aW9u
1106
+ KQogICAgVXRpbC5wYXJzZV9qc29uKGNvbm5lY3Rpb24uZ2V0KCcvaW5mbycp
1107
+ KQogIGVuZAoKICAjIExvZ2luIHRvIHRoZSBEb2NrZXIgcmVnaXN0cnkuCiAg
1108
+ ZGVmIGF1dGhlbnRpY2F0ZSEob3B0aW9ucyA9IHt9LCBjb25uZWN0aW9uID0g
1109
+ c2VsZi5jb25uZWN0aW9uKQogICAgY3JlZHMgPSBvcHRpb25zLnRvX2pzb24K
1110
+ ICAgIGNvbm5lY3Rpb24ucG9zdCgnL2F1dGgnLCB7fSwgOmJvZHkgPT4gY3Jl
1111
+ ZHMpCiAgICBAY3JlZHMgPSBjcmVkcwogICAgdHJ1ZQogIHJlc2N1ZSBEb2Nr
1112
+ ZXI6OkVycm9yOjpTZXJ2ZXJFcnJvciwgRG9ja2VyOjpFcnJvcjo6VW5hdXRo
1113
+ b3JpemVkRXJyb3IKICAgIHJhaXNlIERvY2tlcjo6RXJyb3I6OkF1dGhlbnRp
1114
+ Y2F0aW9uRXJyb3IKICBlbmQKCiAgIyBXaGVuIHRoZSBjb3JyZWN0IHZlcnNp
1115
+ b24gb2YgRG9ja2VyIGlzIGluc3RhbGxlZCwgcmV0dXJucyB0cnVlLiBPdGhl
1116
+ cndpc2UsCiAgIyByYWlzZXMgYSBWZXJzaW9uRXJyb3IuCiAgZGVmIHZhbGlk
1117
+ YXRlX3ZlcnNpb24hCiAgICBEb2NrZXIuaW5mbwogICAgdHJ1ZQogIHJlc2N1
1118
+ ZSBEb2NrZXI6OkVycm9yOjpEb2NrZXJFcnJvcgogICAgcmFpc2UgRG9ja2Vy
1119
+ OjpFcnJvcjo6VmVyc2lvbkVycm9yLCAiRXhwZWN0ZWQgQVBJIFZlcnNpb246
1120
+ ICN7QVBJX1ZFUlNJT059IgogIGVuZAoKICBtb2R1bGVfZnVuY3Rpb24gOmRl
1121
+ ZmF1bHRfc29ja2V0X3VybCwgOmVudl91cmwsIDp1cmwsIDp1cmw9LCA6ZW52
1122
+ X29wdGlvbnMsCiAgICAgICAgICAgICAgICAgIDpvcHRpb25zLCA6b3B0aW9u
1123
+ cz0sIDpjcmVkcywgOmNyZWRzPSwgOmxvZ2dlciwgOmxvZ2dlcj0sCiAgICAg
1124
+ ICAgICAgICAgICAgIDpjb25uZWN0aW9uLCA6cmVzZXQhLCA6cmVzZXRfY29u
1125
+ bmVjdGlvbiEsIDp2ZXJzaW9uLCA6aW5mbywKICAgICAgICAgICAgICAgICAg
1126
+ OmF1dGhlbnRpY2F0ZSEsIDp2YWxpZGF0ZV92ZXJzaW9uISwgOnNzbF9vcHRp
1127
+ b25zCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1128
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1106
1129
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1107
- AAAAAAAAAAAAZXhjb24vbWlkZGxld2FyZXMAAAAAAAAAAAAAAAAAAAAAAAAA
1108
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1109
- AAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3NTUAMDAwMTc1MAAwMDAxNzUwADAw
1110
- MDAwMDAwMDAwADEyNDIzNDQ0MDA0ADAxMTM3NAAgNQAAAAAAAAAAAAAAAAAA
1111
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1112
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
1113
- cgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1114
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1115
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1116
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1117
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1118
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABleGNvbi9taWRkbGV3YXJlcy9o
1119
- aWphY2sucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1120
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAw
1121
- MDAxNzUwADAwMDE3NTAAMDAwMDAwMDMyMDQAMTI0MjM0NDQwMDQAMDEzMjI1
1122
- ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1130
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGV4
1131
+ Y29uL21pZGRsZXdhcmVzL2hpamFjay5yYgAAAAAAAAAAAAAAAAAAAAAAAAAA
1123
1132
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1124
- AAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1133
+ AAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMzIwNAAx
1134
+ MjUzNjAwNjcwNAAwMTY1MTMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1125
1135
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1136
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDB3aGVlbAAA
1137
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAA
1138
+ AAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAA
1126
1139
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1127
1140
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1128
1141
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1129
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1v
1130
- ZHVsZSBFeGNvbgogIFZBTElEX1JFUVVFU1RfS0VZUyA8PCA6aGlqYWNrX2Js
1131
- b2NrCgogIG1vZHVsZSBNaWRkbGV3YXJlCiAgICAjIEhpamFjayBpcyBhbiBF
1132
- eGNvbiBtaWRkbGV3YXJlIHdoaWNoIHBhcnNlcyByZXNwb25zZSBoZWFkZXJz
1133
- IGFuZCB0aGVuCiAgICAjIHlpZWxkcyB0aGUgdW5kZXJseWluZyBUQ1Agc29j
1134
- a2V0IGZvciByYXcgVENQIGNvbW11bmljYXRpb24gKHVzZWQgdG8KICAgICMg
1135
- YXR0YWNoIHRvIFNURElOIG9mIGNvbnRhaW5lcnMpLgogICAgY2xhc3MgSGlq
1136
- YWNrIDwgQmFzZQogICAgICBkZWYgYnVpbGRfcmVzcG9uc2Uoc3RhdHVzLCBz
1137
- b2NrZXQpCiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICA6Ym9keSAg
1138
- ICAgICAgICA9PiAnJywKICAgICAgICAgIDpoZWFkZXJzICAgICAgID0+IEV4
1139
- Y29uOjpIZWFkZXJzLm5ldywKICAgICAgICAgIDpzdGF0dXMgICAgICAgID0+
1140
- IHN0YXR1cywKICAgICAgICAgIDpyZW1vdGVfaXAgICAgID0+IHNvY2tldC5y
1141
- ZXNwb25kX3RvPyg6cmVtb3RlX2lwKSAmJgogICAgICAgICAgICAgICAgICAg
1142
- ICAgICAgICAgc29ja2V0LnJlbW90ZV9pcCwKICAgICAgICB9CiAgICAgICAg
1143
- aWYgc29ja2V0LmRhdGFbOnNjaGVtZV0gPX4gL14oaHR0cHM/fHRjcCkkLwog
1144
- ICAgICAgICAgcmVzcG9uc2UubWVyZ2UoewogICAgICAgICAgICA6bG9jYWxf
1145
- cG9ydCAgICA9PiBzb2NrZXQucmVzcG9uZF90bz8oOmxvY2FsX3BvcnQpICYm
1146
- CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5sb2NhbF9w
1147
- b3J0LAogICAgICAgICAgICA6bG9jYWxfYWRkcmVzcyA9PiBzb2NrZXQucmVz
1148
- cG9uZF90bz8oOmxvY2FsX2FkZHJlc3MpICYmCiAgICAgICAgICAgICAgICAg
1149
- ICAgICAgICAgICAgIHNvY2tldC5sb2NhbF9hZGRyZXNzCiAgICAgICAgICB9
1150
- KQogICAgICAgIGVuZAogICAgICAgIHJlc3BvbnNlCiAgICAgIGVuZAoKICAg
1151
- ICAgZGVmIHJlc3BvbnNlX2NhbGwoZGF0dW0pCiAgICAgICAgaWYgZGF0dW1b
1152
- OmhpamFja19ibG9ja10KICAgICAgICAgICMgTmVlZCB0byBwcm9jZXNzIHRo
1153
- ZSByZXNwb25zZSBoZWFkZXJzIGhlcmUgcmF0aGVyIHRoYW4gaW4KICAgICAg
1154
- ICAgICMgRXhjb246Ok1pZGRsZXdhcmU6OlJlc3BvbnNlUGFyc2VyIGFzIHRo
1155
- ZSByZXNwb25zZSBwYXJzZXIgd2lsbAogICAgICAgICAgIyBibG9jayB0cnlp
1156
- bmcgdG8gcmVhZCB0aGUgYm9keS4KICAgICAgICAgIHNvY2tldCA9IGRhdHVt
1157
- Wzpjb25uZWN0aW9uXS5zZW5kKDpzb2NrZXQpCgogICAgICAgICAgIyBjLmYu
1158
- IEV4Y29uOjpSZXNwb25zZS5wYXJzZQogICAgICAgICAgdW50aWwgbWF0Y2gg
1159
- PSAvXkhUVFBcL1xkK1wuXGQrXHMoXGR7M30pXHMvLm1hdGNoKHNvY2tldC5y
1160
- ZWFkbGluZSk7IGVuZAogICAgICAgICAgc3RhdHVzID0gbWF0Y2hbMV0udG9f
1161
- aQoKICAgICAgICAgIGRhdHVtWzpyZXNwb25zZV0gPSBidWlsZF9yZXNwb25z
1162
- ZShzdGF0dXMsIHNvY2tldCkKCiAgICAgICAgICBFeGNvbjo6UmVzcG9uc2Uu
1163
- cGFyc2VfaGVhZGVycyhzb2NrZXQsIGRhdHVtKQogICAgICAgICAgZGF0dW1b
1164
- OmhpamFja19ibG9ja10uY2FsbCBzb2NrZXQuaW5zdGFuY2VfdmFyaWFibGVf
1165
- Z2V0KDpAc29ja2V0KQogICAgICAgIGVuZAoKICAgICAgICBAc3RhY2sucmVz
1166
- cG9uc2VfY2FsbChkYXR1bSkKICAgICAgZW5kCiAgICBlbmQKICBlbmQKZW5k
1167
- CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1142
+ AAAAAAAAAAAAAAAAAAAAbW9kdWxlIEV4Y29uCiAgVkFMSURfUkVRVUVTVF9L
1143
+ RVlTIDw8IDpoaWphY2tfYmxvY2sKCiAgbW9kdWxlIE1pZGRsZXdhcmUKICAg
1144
+ ICMgSGlqYWNrIGlzIGFuIEV4Y29uIG1pZGRsZXdhcmUgd2hpY2ggcGFyc2Vz
1145
+ IHJlc3BvbnNlIGhlYWRlcnMgYW5kIHRoZW4KICAgICMgeWllbGRzIHRoZSB1
1146
+ bmRlcmx5aW5nIFRDUCBzb2NrZXQgZm9yIHJhdyBUQ1AgY29tbXVuaWNhdGlv
1147
+ biAodXNlZCB0bwogICAgIyBhdHRhY2ggdG8gU1RESU4gb2YgY29udGFpbmVy
1148
+ cykuCiAgICBjbGFzcyBIaWphY2sgPCBCYXNlCiAgICAgIGRlZiBidWlsZF9y
1149
+ ZXNwb25zZShzdGF0dXMsIHNvY2tldCkKICAgICAgICByZXNwb25zZSA9IHsK
1150
+ ICAgICAgICAgIDpib2R5ICAgICAgICAgID0+ICcnLAogICAgICAgICAgOmhl
1151
+ YWRlcnMgICAgICAgPT4gRXhjb246OkhlYWRlcnMubmV3LAogICAgICAgICAg
1152
+ OnN0YXR1cyAgICAgICAgPT4gc3RhdHVzLAogICAgICAgICAgOnJlbW90ZV9p
1153
+ cCAgICAgPT4gc29ja2V0LnJlc3BvbmRfdG8/KDpyZW1vdGVfaXApICYmCiAg
1154
+ ICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQucmVtb3RlX2lwLAog
1155
+ ICAgICAgIH0KICAgICAgICBpZiBzb2NrZXQuZGF0YVs6c2NoZW1lXSA9fiAv
1156
+ XihodHRwcz98dGNwKSQvCiAgICAgICAgICByZXNwb25zZS5tZXJnZSh7CiAg
1157
+ ICAgICAgICAgIDpsb2NhbF9wb3J0ICAgID0+IHNvY2tldC5yZXNwb25kX3Rv
1158
+ Pyg6bG9jYWxfcG9ydCkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1159
+ ICAgc29ja2V0LmxvY2FsX3BvcnQsCiAgICAgICAgICAgIDpsb2NhbF9hZGRy
1160
+ ZXNzID0+IHNvY2tldC5yZXNwb25kX3RvPyg6bG9jYWxfYWRkcmVzcykgJiYK
1161
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LmxvY2FsX2Fk
1162
+ ZHJlc3MKICAgICAgICAgIH0pCiAgICAgICAgZW5kCiAgICAgICAgcmVzcG9u
1163
+ c2UKICAgICAgZW5kCgogICAgICBkZWYgcmVzcG9uc2VfY2FsbChkYXR1bSkK
1164
+ ICAgICAgICBpZiBkYXR1bVs6aGlqYWNrX2Jsb2NrXQogICAgICAgICAgIyBO
1165
+ ZWVkIHRvIHByb2Nlc3MgdGhlIHJlc3BvbnNlIGhlYWRlcnMgaGVyZSByYXRo
1166
+ ZXIgdGhhbiBpbgogICAgICAgICAgIyBFeGNvbjo6TWlkZGxld2FyZTo6UmVz
1167
+ cG9uc2VQYXJzZXIgYXMgdGhlIHJlc3BvbnNlIHBhcnNlciB3aWxsCiAgICAg
1168
+ ICAgICAjIGJsb2NrIHRyeWluZyB0byByZWFkIHRoZSBib2R5LgogICAgICAg
1169
+ ICAgc29ja2V0ID0gZGF0dW1bOmNvbm5lY3Rpb25dLnNlbmQoOnNvY2tldCkK
1170
+ CiAgICAgICAgICAjIGMuZi4gRXhjb246OlJlc3BvbnNlLnBhcnNlCiAgICAg
1171
+ ICAgICB1bnRpbCBtYXRjaCA9IC9eSFRUUFwvXGQrXC5cZCtccyhcZHszfSlc
1172
+ cy8ubWF0Y2goc29ja2V0LnJlYWRsaW5lKTsgZW5kCiAgICAgICAgICBzdGF0
1173
+ dXMgPSBtYXRjaFsxXS50b19pCgogICAgICAgICAgZGF0dW1bOnJlc3BvbnNl
1174
+ XSA9IGJ1aWxkX3Jlc3BvbnNlKHN0YXR1cywgc29ja2V0KQoKICAgICAgICAg
1175
+ IEV4Y29uOjpSZXNwb25zZS5wYXJzZV9oZWFkZXJzKHNvY2tldCwgZGF0dW0p
1176
+ CiAgICAgICAgICBkYXR1bVs6aGlqYWNrX2Jsb2NrXS5jYWxsIHNvY2tldC5p
1177
+ bnN0YW5jZV92YXJpYWJsZV9nZXQoOkBzb2NrZXQpCiAgICAgICAgZW5kCgog
1178
+ ICAgICAgIEBzdGFjay5yZXNwb25zZV9jYWxsKGRhdHVtKQogICAgICBlbmQK
1179
+ ICAgIGVuZAogIGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1168
1180
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1169
1181
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1170
1182
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -1195,19 +1207,20 @@ http_interactions:
1195
1207
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1196
1208
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1197
1209
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1198
- AAAAAAAAAAAAAERvY2tlcmZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1210
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARG9ja2VyZmlsZQAAAAAAAAAA
1199
1211
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1200
- AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQwADAwMDAwMDAAMDAwMDAwMAAw
1201
- MDAwMDAwMDAzNwAwMDAwMDAwMDAwMAAwMTMyNDUAIDAAAAAAAAAAAAAAAAAA
1212
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDAA
1213
+ MDAwMDAwMAAwMDAwMDAwADAwMDAwMDAwMDM3ADEyNTUwNDMwNjIxADAxMzMw
1214
+ MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1202
1215
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1203
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
1204
- YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAA
1205
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAA
1216
+ AAAAAAAAAAAAAAAAAAB1c3RhcgAwMHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAA
1217
+ AAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw
1218
+ MDAwADAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1206
1219
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1207
1220
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1221
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm
1222
+ cm9tIDA2NTIxOGQ1NGQ3ZAphZGQgbGliIC9saWIKAAAAAAAAAAAAAAAAAAAA
1208
1223
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1209
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZnJvbSBjOTBkNjU1Yjk5YjIK
1210
- YWRkIGxpYiAvbGliCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1211
1224
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1212
1225
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1213
1226
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -1240,10 +1253,10 @@ http_interactions:
1240
1253
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1241
1254
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1242
1255
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1243
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1256
+ AAAAAAA=
1244
1257
  headers:
1245
1258
  User-Agent:
1246
- - Swipely/Docker-API 1.18.0
1259
+ - Swipely/Docker-API 1.21.4
1247
1260
  Content-Type:
1248
1261
  - application/json
1249
1262
  response:
@@ -1254,24 +1267,24 @@ http_interactions:
1254
1267
  Content-Type:
1255
1268
  - application/json
1256
1269
  Date:
1257
- - Thu, 12 Feb 2015 00:55:00 GMT
1270
+ - Sun, 12 Jul 2015 09:21:21 GMT
1258
1271
  body:
1259
- encoding: US-ASCII
1260
- string: ! "{\"stream\":\"Step 0 : FROM c90d655b99b2\\n\"}\r\n{\"stream\":\"
1261
- ---\\u003e c90d655b99b2\\n\"}\r\n{\"stream\":\"Step 1 : ADD lib /lib\\n\"}\r\n{\"stream\":\"
1262
- ---\\u003e 20ba59032379\\n\"}\r\n{\"stream\":\"Removing intermediate container
1263
- dddde1b4c718\\n\"}\r\n{\"stream\":\"Successfully built 20ba59032379\\n\"}\r\n"
1272
+ encoding: UTF-8
1273
+ string: "{\"stream\":\"Step 0 : FROM 065218d54d7d\\n\"}\r\n{\"stream\":\" ---\\u003e
1274
+ 065218d54d7d\\n\"}\r\n{\"stream\":\"Step 1 : ADD lib /lib\\n\"}\r\n{\"stream\":\"
1275
+ ---\\u003e c6204e3c0a2b\\n\"}\r\n{\"stream\":\"Removing intermediate container
1276
+ eef339f931c7\\n\"}\r\n{\"stream\":\"Successfully built c6204e3c0a2b\\n\"}\r\n"
1264
1277
  http_version:
1265
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1278
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1266
1279
  - request:
1267
1280
  method: post
1268
- uri: <DOCKER_HOST>/v1.16/containers/create
1281
+ uri: "<DOCKER_HOST>/v1.16/containers/create"
1269
1282
  body:
1270
1283
  encoding: UTF-8
1271
- string: ! '{"Image":"20ba59032379","Cmd":["ls","-a","/lib/docker"]}'
1284
+ string: '{"Image":"c6204e3c0a2b","Cmd":["ls","-a","/lib/docker"]}'
1272
1285
  headers:
1273
1286
  User-Agent:
1274
- - Swipely/Docker-API 1.18.0
1287
+ - Swipely/Docker-API 1.21.4
1275
1288
  Content-Type:
1276
1289
  - application/json
1277
1290
  response:
@@ -1282,25 +1295,24 @@ http_interactions:
1282
1295
  Content-Type:
1283
1296
  - application/json
1284
1297
  Date:
1285
- - Thu, 12 Feb 2015 00:55:03 GMT
1298
+ - Sun, 12 Jul 2015 09:21:22 GMT
1286
1299
  Content-Length:
1287
1300
  - '90'
1288
1301
  body:
1289
- encoding: US-ASCII
1290
- string: ! '{"Id":"1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8","Warnings":null}
1291
-
1292
- '
1302
+ encoding: UTF-8
1303
+ string: |
1304
+ {"Id":"6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7","Warnings":null}
1293
1305
  http_version:
1294
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1306
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1295
1307
  - request:
1296
1308
  method: post
1297
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8/start
1309
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/start"
1298
1310
  body:
1299
1311
  encoding: UTF-8
1300
- string: ! '{}'
1312
+ string: "{}"
1301
1313
  headers:
1302
1314
  User-Agent:
1303
- - Swipely/Docker-API 1.18.0
1315
+ - Swipely/Docker-API 1.21.4
1304
1316
  Content-Type:
1305
1317
  - application/json
1306
1318
  response:
@@ -1309,21 +1321,49 @@ http_interactions:
1309
1321
  message:
1310
1322
  headers:
1311
1323
  Date:
1312
- - Thu, 12 Feb 2015 00:55:03 GMT
1324
+ - Sun, 12 Jul 2015 09:21:22 GMT
1325
+ body:
1326
+ encoding: UTF-8
1327
+ string: ''
1328
+ http_version:
1329
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1330
+ - request:
1331
+ method: post
1332
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/wait"
1313
1333
  body:
1314
1334
  encoding: US-ASCII
1315
1335
  string: ''
1336
+ headers:
1337
+ User-Agent:
1338
+ - Swipely/Docker-API 1.21.4
1339
+ Content-Type:
1340
+ - text/plain
1341
+ response:
1342
+ status:
1343
+ code: 200
1344
+ message:
1345
+ headers:
1346
+ Content-Type:
1347
+ - application/json
1348
+ Date:
1349
+ - Sun, 12 Jul 2015 09:21:22 GMT
1350
+ Content-Length:
1351
+ - '17'
1352
+ body:
1353
+ encoding: UTF-8
1354
+ string: |
1355
+ {"StatusCode":0}
1316
1356
  http_version:
1317
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1357
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1318
1358
  - request:
1319
1359
  method: get
1320
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8/logs?stdout=true
1360
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/logs?stdout=true"
1321
1361
  body:
1322
1362
  encoding: US-ASCII
1323
1363
  string: ''
1324
1364
  headers:
1325
1365
  User-Agent:
1326
- - Swipely/Docker-API 1.18.0
1366
+ - Swipely/Docker-API 1.21.4
1327
1367
  Content-Type:
1328
1368
  - text/plain
1329
1369
  response:
@@ -1332,28 +1372,29 @@ http_interactions:
1332
1372
  message:
1333
1373
  headers:
1334
1374
  Date:
1335
- - Thu, 12 Feb 2015 00:55:03 GMT
1375
+ - Sun, 12 Jul 2015 09:21:22 GMT
1336
1376
  Content-Type:
1337
1377
  - application/octet-stream
1338
1378
  body:
1339
- encoding: US-ASCII
1379
+ encoding: UTF-8
1340
1380
  string: !binary |-
1341
1381
  AQAAAAAAAAIuCgEAAAAAAAADLi4KAQAAAAAAAAhiYXNlLnJiCgEAAAAAAAAO
1342
1382
  Y29ubmVjdGlvbi5yYgoBAAAAAAAADWNvbnRhaW5lci5yYgoBAAAAAAAACWVy
1343
1383
  cm9yLnJiCgEAAAAAAAAJZXZlbnQucmIKAQAAAAAAAAhleGVjLnJiCgEAAAAA
1344
- AAAJaW1hZ2UucmIKAQAAAAAAAAxtZXNzYWdlcy5yYgoBAAAAAAAADXJha2Vf
1345
- dGFzay5yYgoBAAAAAAAACHV0aWwucmIKAQAAAAAAAAt2ZXJzaW9uLnJiCg==
1384
+ AAAJaW1hZ2UucmIKAQAAAAAAAAxtZXNzYWdlcy5yYgoBAAAAAAAAEm1lc3Nh
1385
+ Z2VzX3N0YWNrLnJiCgEAAAAAAAANcmFrZV90YXNrLnJiCgEAAAAAAAAIdXRp
1386
+ bC5yYgoBAAAAAAAAC3ZlcnNpb24ucmIK
1346
1387
  http_version:
1347
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1388
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1348
1389
  - request:
1349
1390
  method: post
1350
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8/wait
1391
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/wait"
1351
1392
  body:
1352
1393
  encoding: US-ASCII
1353
1394
  string: ''
1354
1395
  headers:
1355
1396
  User-Agent:
1356
- - Swipely/Docker-API 1.18.0
1397
+ - Swipely/Docker-API 1.21.4
1357
1398
  Content-Type:
1358
1399
  - text/plain
1359
1400
  response:
@@ -1364,25 +1405,24 @@ http_interactions:
1364
1405
  Content-Type:
1365
1406
  - application/json
1366
1407
  Date:
1367
- - Thu, 12 Feb 2015 00:55:03 GMT
1408
+ - Sun, 12 Jul 2015 09:21:22 GMT
1368
1409
  Content-Length:
1369
1410
  - '17'
1370
1411
  body:
1371
- encoding: US-ASCII
1372
- string: ! '{"StatusCode":0}
1373
-
1374
- '
1412
+ encoding: UTF-8
1413
+ string: |
1414
+ {"StatusCode":0}
1375
1415
  http_version:
1376
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1416
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1377
1417
  - request:
1378
1418
  method: delete
1379
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8
1419
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7"
1380
1420
  body:
1381
1421
  encoding: US-ASCII
1382
1422
  string: ''
1383
1423
  headers:
1384
1424
  User-Agent:
1385
- - Swipely/Docker-API 1.18.0
1425
+ - Swipely/Docker-API 1.21.4
1386
1426
  Content-Type:
1387
1427
  - text/plain
1388
1428
  response:
@@ -1391,21 +1431,21 @@ http_interactions:
1391
1431
  message:
1392
1432
  headers:
1393
1433
  Date:
1394
- - Thu, 12 Feb 2015 00:55:04 GMT
1434
+ - Sun, 12 Jul 2015 09:21:22 GMT
1395
1435
  body:
1396
- encoding: US-ASCII
1436
+ encoding: UTF-8
1397
1437
  string: ''
1398
1438
  http_version:
1399
- recorded_at: Thu, 12 Feb 2015 00:55:04 GMT
1439
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1400
1440
  - request:
1401
1441
  method: delete
1402
- uri: <DOCKER_HOST>/v1.16/images/20ba59032379
1442
+ uri: "<DOCKER_HOST>/v1.16/images/c6204e3c0a2b"
1403
1443
  body:
1404
1444
  encoding: US-ASCII
1405
1445
  string: ''
1406
1446
  headers:
1407
1447
  User-Agent:
1408
- - Swipely/Docker-API 1.18.0
1448
+ - Swipely/Docker-API 1.21.4
1409
1449
  Content-Type:
1410
1450
  - text/plain
1411
1451
  response:
@@ -1416,14 +1456,14 @@ http_interactions:
1416
1456
  Content-Type:
1417
1457
  - application/json
1418
1458
  Date:
1419
- - Thu, 12 Feb 2015 00:55:05 GMT
1459
+ - Sun, 12 Jul 2015 09:21:22 GMT
1420
1460
  Content-Length:
1421
1461
  - '81'
1422
1462
  body:
1423
- encoding: US-ASCII
1424
- string: ! '[{"Deleted":"20ba590323791d129b86b5895e398d33f5b99b04e88cdc7d970cdddbed620f86"}
1425
-
1426
- ]'
1463
+ encoding: UTF-8
1464
+ string: |-
1465
+ [{"Deleted":"c6204e3c0a2bb6d7affd7d578040f9dfcb68c44bd8d5db3b27251b4630ad47db"}
1466
+ ]
1427
1467
  http_version:
1428
- recorded_at: Thu, 12 Feb 2015 00:55:05 GMT
1429
- recorded_with: VCR 2.9.2
1468
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1469
+ recorded_with: VCR 2.9.3