scanoss 0.2.19 → 0.2.20

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.
Files changed (173) hide show
  1. package/build/main/bin/cli-bin.js +3 -1
  2. package/build/main/commands/dep.js +19 -7
  3. package/build/main/commands/helpers.d.ts +1 -0
  4. package/build/main/commands/helpers.js +22 -0
  5. package/build/main/commands/scan.js +3 -15
  6. package/build/main/index.d.ts +1 -2
  7. package/build/main/index.js +2 -3
  8. package/build/main/lib/dependencies/DependencyScanner.d.ts +6 -5
  9. package/build/main/lib/dependencies/DependencyScanner.js +31 -49
  10. package/build/main/lib/dependencies/DependencyScannerCfg.d.ts +4 -0
  11. package/build/main/lib/dependencies/DependencyScannerCfg.js +11 -0
  12. package/build/main/lib/dependencies/DependencyTypes.d.ts +10 -8
  13. package/build/main/lib/dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  14. package/build/main/lib/dependencies/LocalDependency/DependencyTypes.js +3 -0
  15. package/build/main/lib/dependencies/LocalDependency/LocalDependency.d.ts +6 -0
  16. package/build/main/lib/dependencies/LocalDependency/LocalDependency.js +51 -0
  17. package/build/main/lib/dependencies/LocalDependency/parsers/golangParser.d.ts +2 -0
  18. package/build/main/lib/dependencies/LocalDependency/parsers/golangParser.js +63 -0
  19. package/build/main/lib/dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  20. package/build/main/lib/dependencies/LocalDependency/parsers/mavenParser.js +57 -0
  21. package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/npmParser.d.ts +3 -3
  22. package/build/main/lib/dependencies/LocalDependency/parsers/npmParser.js +50 -0
  23. package/build/main/lib/dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  24. package/build/main/lib/dependencies/LocalDependency/parsers/pyParser.js +61 -0
  25. package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/rubyParser.d.ts +3 -3
  26. package/build/main/lib/dependencies/LocalDependency/parsers/rubyParser.js +133 -0
  27. package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/utils.d.ts +0 -0
  28. package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/utils.js +1 -1
  29. package/build/main/lib/grpc/GrpcDependencyService.d.ts +3 -5
  30. package/build/main/lib/grpc/GrpcDependencyService.js +15 -13
  31. package/build/main/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.js +22 -23
  32. package/build/main/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +5 -5
  33. package/build/main/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +90 -48
  34. package/build/main/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +4 -5
  35. package/build/main/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +5 -6
  36. package/build/main/lib/scanner/Scanner.js +1 -1
  37. package/build/module/bin/cli-bin.js +3 -1
  38. package/build/module/commands/dep.js +19 -7
  39. package/build/module/commands/helpers.d.ts +1 -0
  40. package/build/module/commands/helpers.js +15 -0
  41. package/build/module/commands/scan.js +2 -14
  42. package/build/module/index.d.ts +1 -2
  43. package/build/module/index.js +2 -3
  44. package/build/module/lib/dependencies/DependencyScanner.d.ts +6 -5
  45. package/build/module/lib/dependencies/DependencyScanner.js +32 -46
  46. package/build/module/lib/dependencies/DependencyScannerCfg.d.ts +4 -0
  47. package/build/module/lib/dependencies/DependencyScannerCfg.js +5 -0
  48. package/build/module/lib/dependencies/DependencyTypes.d.ts +10 -8
  49. package/build/module/lib/dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  50. package/build/module/lib/dependencies/LocalDependency/DependencyTypes.js +2 -0
  51. package/build/module/lib/dependencies/LocalDependency/LocalDependency.d.ts +6 -0
  52. package/build/module/lib/dependencies/LocalDependency/LocalDependency.js +45 -0
  53. package/build/module/lib/dependencies/LocalDependency/parsers/golangParser.d.ts +2 -0
  54. package/build/module/lib/dependencies/LocalDependency/parsers/golangParser.js +55 -0
  55. package/build/module/lib/dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  56. package/build/module/lib/dependencies/LocalDependency/parsers/mavenParser.js +50 -0
  57. package/build/module/lib/dependencies/{parsers → LocalDependency/parsers}/npmParser.d.ts +3 -3
  58. package/build/module/lib/dependencies/LocalDependency/parsers/npmParser.js +42 -0
  59. package/build/module/lib/dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  60. package/build/module/lib/dependencies/LocalDependency/parsers/pyParser.js +53 -0
  61. package/build/module/lib/dependencies/{parsers → LocalDependency/parsers}/rubyParser.d.ts +3 -3
  62. package/build/module/lib/dependencies/LocalDependency/parsers/rubyParser.js +130 -0
  63. package/build/module/lib/dependencies/{parsers → LocalDependency/parsers}/utils.d.ts +0 -0
  64. package/build/module/lib/dependencies/LocalDependency/parsers/utils.js +15 -0
  65. package/build/module/lib/grpc/GrpcDependencyService.d.ts +3 -5
  66. package/build/module/lib/grpc/GrpcDependencyService.js +15 -14
  67. package/build/module/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.js +22 -23
  68. package/build/module/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +5 -5
  69. package/build/module/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +90 -48
  70. package/build/module/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +4 -5
  71. package/build/module/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +5 -6
  72. package/build/module/lib/scanner/Scanner.js +1 -1
  73. package/build/tsconfig.module.tsbuildinfo +1 -1
  74. package/build/tsconfig.tsbuildinfo +1 -1
  75. package/package.json +3 -1
  76. package/src/bin/cli-bin.ts +4 -1
  77. package/src/commands/dep.ts +18 -6
  78. package/src/commands/helpers.ts +14 -0
  79. package/src/commands/scan.ts +3 -12
  80. package/src/index.ts +2 -2
  81. package/src/lib/dependencies/DependencyScanner.ts +77 -0
  82. package/src/lib/dependencies/DependencyScannerCfg.ts +7 -0
  83. package/src/lib/dependencies/DependencyTypes.ts +16 -14
  84. package/src/lib/dependencies/LocalDependency/DependencyTypes.ts +21 -0
  85. package/src/lib/dependencies/LocalDependency/LocalDependency.ts +48 -0
  86. package/src/lib/dependencies/{parsers → LocalDependency/parsers}/golangParser.ts +4 -6
  87. package/src/lib/dependencies/{parsers → LocalDependency/parsers}/mavenParser.ts +10 -6
  88. package/src/lib/dependencies/{parsers → LocalDependency/parsers}/npmParser.ts +14 -8
  89. package/src/lib/dependencies/LocalDependency/parsers/pyParser.ts +55 -0
  90. package/src/lib/dependencies/{parsers → LocalDependency/parsers}/rubyParser.ts +21 -29
  91. package/src/lib/dependencies/{parsers → LocalDependency/parsers}/utils.ts +0 -1
  92. package/src/lib/grpc/GrpcDependencyService.ts +66 -0
  93. package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +1 -0
  94. package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +1 -0
  95. package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +79 -0
  96. package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.js +482 -0
  97. package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +30 -0
  98. package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +109 -0
  99. package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +206 -0
  100. package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1489 -0
  101. package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +25 -0
  102. package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +73 -0
  103. package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +6 -0
  104. package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +15 -0
  105. package/src/lib/scanner/Scanner.ts +2 -1
  106. package/tsconfig.json +5 -22
  107. package/yarn.lock +5252 -5213
  108. package/build/main/lib/dependencies/Dependency.d.ts +0 -9
  109. package/build/main/lib/dependencies/Dependency.js +0 -52
  110. package/build/main/lib/dependencies/PurlGenerator.d.ts +0 -2
  111. package/build/main/lib/dependencies/PurlGenerator.js +0 -46
  112. package/build/main/lib/dependencies/parsers/golangParser.d.ts +0 -2
  113. package/build/main/lib/dependencies/parsers/golangParser.js +0 -63
  114. package/build/main/lib/dependencies/parsers/mavenParser.d.ts +0 -2
  115. package/build/main/lib/dependencies/parsers/mavenParser.js +0 -54
  116. package/build/main/lib/dependencies/parsers/npmParser.js +0 -46
  117. package/build/main/lib/dependencies/parsers/pyParser.d.ts +0 -2
  118. package/build/main/lib/dependencies/parsers/pyParser.js +0 -51
  119. package/build/main/lib/dependencies/parsers/rubyParser.js +0 -135
  120. package/build/main/lib/dependencies/parsers/types.d.ts +0 -15
  121. package/build/main/lib/dependencies/parsers/types.js +0 -3
  122. package/build/main/lib/grpc/GrpcConfig.d.ts +0 -4
  123. package/build/main/lib/grpc/GrpcConfig.js +0 -11
  124. package/build/main/old/Dependency.d.ts +0 -9
  125. package/build/main/old/Dependency.js +0 -96
  126. package/build/main/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  127. package/build/main/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
  128. package/build/main/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
  129. package/build/main/scanoss/api/common/v2/scanoss-common_pb.js +0 -405
  130. package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -42
  131. package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
  132. package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
  133. package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1156
  134. package/build/main/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -21
  135. package/build/main/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -67
  136. package/build/main/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
  137. package/build/main/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
  138. package/build/module/lib/dependencies/Dependency.d.ts +0 -9
  139. package/build/module/lib/dependencies/Dependency.js +0 -47
  140. package/build/module/lib/dependencies/PurlGenerator.d.ts +0 -2
  141. package/build/module/lib/dependencies/PurlGenerator.js +0 -39
  142. package/build/module/lib/dependencies/parsers/golangParser.d.ts +0 -2
  143. package/build/module/lib/dependencies/parsers/golangParser.js +0 -55
  144. package/build/module/lib/dependencies/parsers/mavenParser.d.ts +0 -2
  145. package/build/module/lib/dependencies/parsers/mavenParser.js +0 -47
  146. package/build/module/lib/dependencies/parsers/npmParser.js +0 -38
  147. package/build/module/lib/dependencies/parsers/pyParser.d.ts +0 -2
  148. package/build/module/lib/dependencies/parsers/pyParser.js +0 -44
  149. package/build/module/lib/dependencies/parsers/rubyParser.js +0 -132
  150. package/build/module/lib/dependencies/parsers/types.d.ts +0 -15
  151. package/build/module/lib/dependencies/parsers/types.js +0 -2
  152. package/build/module/lib/dependencies/parsers/utils.js +0 -15
  153. package/build/module/lib/grpc/GrpcConfig.d.ts +0 -4
  154. package/build/module/lib/grpc/GrpcConfig.js +0 -5
  155. package/build/module/old/Dependency.d.ts +0 -9
  156. package/build/module/old/Dependency.js +0 -72
  157. package/build/module/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  158. package/build/module/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
  159. package/build/module/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
  160. package/build/module/scanoss/api/common/v2/scanoss-common_pb.js +0 -405
  161. package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -42
  162. package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
  163. package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
  164. package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1156
  165. package/build/module/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -21
  166. package/build/module/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -67
  167. package/build/module/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
  168. package/build/module/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
  169. package/package-lock.json +0 -18589
  170. package/src/lib/dependencies/Dependency.ts +0 -60
  171. package/src/lib/dependencies/PurlGenerator.ts +0 -45
  172. package/src/lib/dependencies/parsers/pyParser.ts +0 -46
  173. package/src/lib/dependencies/parsers/types.ts +0 -19
@@ -1,1156 +0,0 @@
1
- // @ts-nocheck
2
- /**
3
- * @fileoverview
4
- * @enhanceable
5
- * @suppress {messageConventions} JS Compiler reports an error if a variable or
6
- * field starts with 'MSG_' and isn't a translatable message.
7
- * @public
8
- */
9
- // GENERATED CODE -- DO NOT EDIT!
10
- const jspb = require('google-protobuf');
11
- const goog = jspb;
12
- const global = Function('return this')();
13
- const scanoss_api_common_v2_scanoss$common_pb = require('../../../../scanoss/api/common/v2/scanoss-common_pb.js');
14
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyRequest', null, global);
15
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyRequest.Files', null, global);
16
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyRequest.Purls', null, global);
17
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyResponse', null, global);
18
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies', null, global);
19
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyResponse.Files', null, global);
20
- goog.exportSymbol('proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses', null, global);
21
- /**
22
- * Generated by JsPbCodeGenerator.
23
- * @param {Array=} opt_data Optional initial data array, typically from a
24
- * server response, or constructed directly in Javascript. The array is used
25
- * in place and becomes part of the constructed object. It is not cloned.
26
- * If no data is provided, the constructed object will be empty, but still
27
- * valid.
28
- * @extends {jspb.Message}
29
- * @constructor
30
- */
31
- proto.scanoss.api.dependencies.v2.DependencyRequest = function (opt_data) {
32
- jspb.Message.initialize(this, opt_data, 0, -1, proto.scanoss.api.dependencies.v2.DependencyRequest.repeatedFields_, null);
33
- };
34
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyRequest, jspb.Message);
35
- if (goog.DEBUG && !COMPILED) {
36
- proto.scanoss.api.dependencies.v2.DependencyRequest.displayName = 'proto.scanoss.api.dependencies.v2.DependencyRequest';
37
- }
38
- /**
39
- * List of repeated fields within this message type.
40
- * @private {!Array<number>}
41
- * @const
42
- */
43
- proto.scanoss.api.dependencies.v2.DependencyRequest.repeatedFields_ = [1];
44
- if (jspb.Message.GENERATE_TO_OBJECT) {
45
- /**
46
- * Creates an object representation of this proto suitable for use in Soy templates.
47
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
48
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
49
- * For the list of reserved names please see:
50
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
51
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
52
- * for transitional soy proto support: http://goto/soy-param-migration
53
- * @return {!Object}
54
- */
55
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.toObject = function (opt_includeInstance) {
56
- return proto.scanoss.api.dependencies.v2.DependencyRequest.toObject(opt_includeInstance, this);
57
- };
58
- /**
59
- * Static version of the {@see toObject} method.
60
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
61
- * instance for transitional soy proto support:
62
- * http://goto/soy-param-migration
63
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest} msg The msg instance to transform.
64
- * @return {!Object}
65
- * @suppress {unusedLocalVariables} f is only used for nested messages
66
- */
67
- proto.scanoss.api.dependencies.v2.DependencyRequest.toObject = function (includeInstance, msg) {
68
- let f, obj = {
69
- filesList: jspb.Message.toObjectList(msg.getFilesList(), proto.scanoss.api.dependencies.v2.DependencyRequest.Files.toObject, includeInstance),
70
- depth: jspb.Message.getFieldWithDefault(msg, 2, 0)
71
- };
72
- if (includeInstance) {
73
- obj.$jspbMessageInstance = msg;
74
- }
75
- return obj;
76
- };
77
- }
78
- /**
79
- * Deserializes binary data (in protobuf wire format).
80
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
81
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest}
82
- */
83
- proto.scanoss.api.dependencies.v2.DependencyRequest.deserializeBinary = function (bytes) {
84
- const reader = new jspb.BinaryReader(bytes);
85
- const msg = new proto.scanoss.api.dependencies.v2.DependencyRequest;
86
- return proto.scanoss.api.dependencies.v2.DependencyRequest.deserializeBinaryFromReader(msg, reader);
87
- };
88
- /**
89
- * Deserializes binary data (in protobuf wire format) from the
90
- * given reader into the given message object.
91
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest} msg The message object to deserialize into.
92
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
93
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest}
94
- */
95
- proto.scanoss.api.dependencies.v2.DependencyRequest.deserializeBinaryFromReader = function (msg, reader) {
96
- while (reader.nextField()) {
97
- if (reader.isEndGroup()) {
98
- break;
99
- }
100
- const field = reader.getFieldNumber();
101
- switch (field) {
102
- case 1:
103
- var value = new proto.scanoss.api.dependencies.v2.DependencyRequest.Files;
104
- reader.readMessage(value, proto.scanoss.api.dependencies.v2.DependencyRequest.Files.deserializeBinaryFromReader);
105
- msg.addFiles(value);
106
- break;
107
- case 2:
108
- var value = /** @type {number} */ (reader.readInt32());
109
- msg.setDepth(value);
110
- break;
111
- default:
112
- reader.skipField();
113
- break;
114
- }
115
- }
116
- return msg;
117
- };
118
- /**
119
- * Serializes the message to binary data (in protobuf wire format).
120
- * @return {!Uint8Array}
121
- */
122
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.serializeBinary = function () {
123
- const writer = new jspb.BinaryWriter();
124
- proto.scanoss.api.dependencies.v2.DependencyRequest.serializeBinaryToWriter(this, writer);
125
- return writer.getResultBuffer();
126
- };
127
- /**
128
- * Serializes the given message to binary data (in protobuf wire
129
- * format), writing to the given BinaryWriter.
130
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest} message
131
- * @param {!jspb.BinaryWriter} writer
132
- * @suppress {unusedLocalVariables} f is only used for nested messages
133
- */
134
- proto.scanoss.api.dependencies.v2.DependencyRequest.serializeBinaryToWriter = function (message, writer) {
135
- let f = undefined;
136
- f = message.getFilesList();
137
- if (f.length > 0) {
138
- writer.writeRepeatedMessage(1, f, proto.scanoss.api.dependencies.v2.DependencyRequest.Files.serializeBinaryToWriter);
139
- }
140
- f = message.getDepth();
141
- if (f !== 0) {
142
- writer.writeInt32(2, f);
143
- }
144
- };
145
- /**
146
- * Generated by JsPbCodeGenerator.
147
- * @param {Array=} opt_data Optional initial data array, typically from a
148
- * server response, or constructed directly in Javascript. The array is used
149
- * in place and becomes part of the constructed object. It is not cloned.
150
- * If no data is provided, the constructed object will be empty, but still
151
- * valid.
152
- * @extends {jspb.Message}
153
- * @constructor
154
- */
155
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls = function (opt_data) {
156
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
157
- };
158
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyRequest.Purls, jspb.Message);
159
- if (goog.DEBUG && !COMPILED) {
160
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.displayName = 'proto.scanoss.api.dependencies.v2.DependencyRequest.Purls';
161
- }
162
- if (jspb.Message.GENERATE_TO_OBJECT) {
163
- /**
164
- * Creates an object representation of this proto suitable for use in Soy templates.
165
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
166
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
167
- * For the list of reserved names please see:
168
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
169
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
170
- * for transitional soy proto support: http://goto/soy-param-migration
171
- * @return {!Object}
172
- */
173
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.prototype.toObject = function (opt_includeInstance) {
174
- return proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.toObject(opt_includeInstance, this);
175
- };
176
- /**
177
- * Static version of the {@see toObject} method.
178
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
179
- * instance for transitional soy proto support:
180
- * http://goto/soy-param-migration
181
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls} msg The msg instance to transform.
182
- * @return {!Object}
183
- * @suppress {unusedLocalVariables} f is only used for nested messages
184
- */
185
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.toObject = function (includeInstance, msg) {
186
- let f, obj = {
187
- purl: jspb.Message.getFieldWithDefault(msg, 1, ""),
188
- requirement: jspb.Message.getFieldWithDefault(msg, 2, "")
189
- };
190
- if (includeInstance) {
191
- obj.$jspbMessageInstance = msg;
192
- }
193
- return obj;
194
- };
195
- }
196
- /**
197
- * Deserializes binary data (in protobuf wire format).
198
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
199
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls}
200
- */
201
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.deserializeBinary = function (bytes) {
202
- const reader = new jspb.BinaryReader(bytes);
203
- const msg = new proto.scanoss.api.dependencies.v2.DependencyRequest.Purls;
204
- return proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.deserializeBinaryFromReader(msg, reader);
205
- };
206
- /**
207
- * Deserializes binary data (in protobuf wire format) from the
208
- * given reader into the given message object.
209
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls} msg The message object to deserialize into.
210
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
211
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls}
212
- */
213
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.deserializeBinaryFromReader = function (msg, reader) {
214
- while (reader.nextField()) {
215
- if (reader.isEndGroup()) {
216
- break;
217
- }
218
- const field = reader.getFieldNumber();
219
- switch (field) {
220
- case 1:
221
- var value = /** @type {string} */ (reader.readString());
222
- msg.setPurl(value);
223
- break;
224
- case 2:
225
- var value = /** @type {string} */ (reader.readString());
226
- msg.setRequirement(value);
227
- break;
228
- default:
229
- reader.skipField();
230
- break;
231
- }
232
- }
233
- return msg;
234
- };
235
- /**
236
- * Serializes the message to binary data (in protobuf wire format).
237
- * @return {!Uint8Array}
238
- */
239
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.prototype.serializeBinary = function () {
240
- const writer = new jspb.BinaryWriter();
241
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.serializeBinaryToWriter(this, writer);
242
- return writer.getResultBuffer();
243
- };
244
- /**
245
- * Serializes the given message to binary data (in protobuf wire
246
- * format), writing to the given BinaryWriter.
247
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls} message
248
- * @param {!jspb.BinaryWriter} writer
249
- * @suppress {unusedLocalVariables} f is only used for nested messages
250
- */
251
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.serializeBinaryToWriter = function (message, writer) {
252
- let f = undefined;
253
- f = message.getPurl();
254
- if (f.length > 0) {
255
- writer.writeString(1, f);
256
- }
257
- f = message.getRequirement();
258
- if (f.length > 0) {
259
- writer.writeString(2, f);
260
- }
261
- };
262
- /**
263
- * optional string purl = 1;
264
- * @return {string}
265
- */
266
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.prototype.getPurl = function () {
267
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
268
- };
269
- /** @param {string} value */
270
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.prototype.setPurl = function (value) {
271
- jspb.Message.setProto3StringField(this, 1, value);
272
- };
273
- /**
274
- * optional string requirement = 2;
275
- * @return {string}
276
- */
277
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.prototype.getRequirement = function () {
278
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
279
- };
280
- /** @param {string} value */
281
- proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.prototype.setRequirement = function (value) {
282
- jspb.Message.setProto3StringField(this, 2, value);
283
- };
284
- /**
285
- * Generated by JsPbCodeGenerator.
286
- * @param {Array=} opt_data Optional initial data array, typically from a
287
- * server response, or constructed directly in Javascript. The array is used
288
- * in place and becomes part of the constructed object. It is not cloned.
289
- * If no data is provided, the constructed object will be empty, but still
290
- * valid.
291
- * @extends {jspb.Message}
292
- * @constructor
293
- */
294
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files = function (opt_data) {
295
- jspb.Message.initialize(this, opt_data, 0, -1, proto.scanoss.api.dependencies.v2.DependencyRequest.Files.repeatedFields_, null);
296
- };
297
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyRequest.Files, jspb.Message);
298
- if (goog.DEBUG && !COMPILED) {
299
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.displayName = 'proto.scanoss.api.dependencies.v2.DependencyRequest.Files';
300
- }
301
- /**
302
- * List of repeated fields within this message type.
303
- * @private {!Array<number>}
304
- * @const
305
- */
306
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.repeatedFields_ = [2];
307
- if (jspb.Message.GENERATE_TO_OBJECT) {
308
- /**
309
- * Creates an object representation of this proto suitable for use in Soy templates.
310
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
311
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
312
- * For the list of reserved names please see:
313
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
314
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
315
- * for transitional soy proto support: http://goto/soy-param-migration
316
- * @return {!Object}
317
- */
318
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.toObject = function (opt_includeInstance) {
319
- return proto.scanoss.api.dependencies.v2.DependencyRequest.Files.toObject(opt_includeInstance, this);
320
- };
321
- /**
322
- * Static version of the {@see toObject} method.
323
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
324
- * instance for transitional soy proto support:
325
- * http://goto/soy-param-migration
326
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files} msg The msg instance to transform.
327
- * @return {!Object}
328
- * @suppress {unusedLocalVariables} f is only used for nested messages
329
- */
330
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.toObject = function (includeInstance, msg) {
331
- let f, obj = {
332
- file: jspb.Message.getFieldWithDefault(msg, 1, ""),
333
- purlsList: jspb.Message.toObjectList(msg.getPurlsList(), proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.toObject, includeInstance)
334
- };
335
- if (includeInstance) {
336
- obj.$jspbMessageInstance = msg;
337
- }
338
- return obj;
339
- };
340
- }
341
- /**
342
- * Deserializes binary data (in protobuf wire format).
343
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
344
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files}
345
- */
346
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.deserializeBinary = function (bytes) {
347
- const reader = new jspb.BinaryReader(bytes);
348
- const msg = new proto.scanoss.api.dependencies.v2.DependencyRequest.Files;
349
- return proto.scanoss.api.dependencies.v2.DependencyRequest.Files.deserializeBinaryFromReader(msg, reader);
350
- };
351
- /**
352
- * Deserializes binary data (in protobuf wire format) from the
353
- * given reader into the given message object.
354
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files} msg The message object to deserialize into.
355
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
356
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files}
357
- */
358
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.deserializeBinaryFromReader = function (msg, reader) {
359
- while (reader.nextField()) {
360
- if (reader.isEndGroup()) {
361
- break;
362
- }
363
- const field = reader.getFieldNumber();
364
- switch (field) {
365
- case 1:
366
- var value = /** @type {string} */ (reader.readString());
367
- msg.setFile(value);
368
- break;
369
- case 2:
370
- var value = new proto.scanoss.api.dependencies.v2.DependencyRequest.Purls;
371
- reader.readMessage(value, proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.deserializeBinaryFromReader);
372
- msg.addPurls(value);
373
- break;
374
- default:
375
- reader.skipField();
376
- break;
377
- }
378
- }
379
- return msg;
380
- };
381
- /**
382
- * Serializes the message to binary data (in protobuf wire format).
383
- * @return {!Uint8Array}
384
- */
385
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.serializeBinary = function () {
386
- const writer = new jspb.BinaryWriter();
387
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.serializeBinaryToWriter(this, writer);
388
- return writer.getResultBuffer();
389
- };
390
- /**
391
- * Serializes the given message to binary data (in protobuf wire
392
- * format), writing to the given BinaryWriter.
393
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files} message
394
- * @param {!jspb.BinaryWriter} writer
395
- * @suppress {unusedLocalVariables} f is only used for nested messages
396
- */
397
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.serializeBinaryToWriter = function (message, writer) {
398
- let f = undefined;
399
- f = message.getFile();
400
- if (f.length > 0) {
401
- writer.writeString(1, f);
402
- }
403
- f = message.getPurlsList();
404
- if (f.length > 0) {
405
- writer.writeRepeatedMessage(2, f, proto.scanoss.api.dependencies.v2.DependencyRequest.Purls.serializeBinaryToWriter);
406
- }
407
- };
408
- /**
409
- * optional string file = 1;
410
- * @return {string}
411
- */
412
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.getFile = function () {
413
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
414
- };
415
- /** @param {string} value */
416
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.setFile = function (value) {
417
- jspb.Message.setProto3StringField(this, 1, value);
418
- };
419
- /**
420
- * repeated Purls purls = 2;
421
- * @return {!Array<!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls>}
422
- */
423
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.getPurlsList = function () {
424
- return /** @type{!Array<!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls>} */ (jspb.Message.getRepeatedWrapperField(this, proto.scanoss.api.dependencies.v2.DependencyRequest.Purls, 2));
425
- };
426
- /** @param {!Array<!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls>} value */
427
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.setPurlsList = function (value) {
428
- jspb.Message.setRepeatedWrapperField(this, 2, value);
429
- };
430
- /**
431
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls=} opt_value
432
- * @param {number=} opt_index
433
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest.Purls}
434
- */
435
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.addPurls = function (opt_value, opt_index) {
436
- return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.scanoss.api.dependencies.v2.DependencyRequest.Purls, opt_index);
437
- };
438
- proto.scanoss.api.dependencies.v2.DependencyRequest.Files.prototype.clearPurlsList = function () {
439
- this.setPurlsList([]);
440
- };
441
- /**
442
- * repeated Files files = 1;
443
- * @return {!Array<!proto.scanoss.api.dependencies.v2.DependencyRequest.Files>}
444
- */
445
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.getFilesList = function () {
446
- return /** @type{!Array<!proto.scanoss.api.dependencies.v2.DependencyRequest.Files>} */ (jspb.Message.getRepeatedWrapperField(this, proto.scanoss.api.dependencies.v2.DependencyRequest.Files, 1));
447
- };
448
- /** @param {!Array<!proto.scanoss.api.dependencies.v2.DependencyRequest.Files>} value */
449
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.setFilesList = function (value) {
450
- jspb.Message.setRepeatedWrapperField(this, 1, value);
451
- };
452
- /**
453
- * @param {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files=} opt_value
454
- * @param {number=} opt_index
455
- * @return {!proto.scanoss.api.dependencies.v2.DependencyRequest.Files}
456
- */
457
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.addFiles = function (opt_value, opt_index) {
458
- return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.scanoss.api.dependencies.v2.DependencyRequest.Files, opt_index);
459
- };
460
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.clearFilesList = function () {
461
- this.setFilesList([]);
462
- };
463
- /**
464
- * optional int32 depth = 2;
465
- * @return {number}
466
- */
467
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.getDepth = function () {
468
- return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
469
- };
470
- /** @param {number} value */
471
- proto.scanoss.api.dependencies.v2.DependencyRequest.prototype.setDepth = function (value) {
472
- jspb.Message.setProto3IntField(this, 2, value);
473
- };
474
- /**
475
- * Generated by JsPbCodeGenerator.
476
- * @param {Array=} opt_data Optional initial data array, typically from a
477
- * server response, or constructed directly in Javascript. The array is used
478
- * in place and becomes part of the constructed object. It is not cloned.
479
- * If no data is provided, the constructed object will be empty, but still
480
- * valid.
481
- * @extends {jspb.Message}
482
- * @constructor
483
- */
484
- proto.scanoss.api.dependencies.v2.DependencyResponse = function (opt_data) {
485
- jspb.Message.initialize(this, opt_data, 0, -1, proto.scanoss.api.dependencies.v2.DependencyResponse.repeatedFields_, null);
486
- };
487
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyResponse, jspb.Message);
488
- if (goog.DEBUG && !COMPILED) {
489
- proto.scanoss.api.dependencies.v2.DependencyResponse.displayName = 'proto.scanoss.api.dependencies.v2.DependencyResponse';
490
- }
491
- /**
492
- * List of repeated fields within this message type.
493
- * @private {!Array<number>}
494
- * @const
495
- */
496
- proto.scanoss.api.dependencies.v2.DependencyResponse.repeatedFields_ = [1];
497
- if (jspb.Message.GENERATE_TO_OBJECT) {
498
- /**
499
- * Creates an object representation of this proto suitable for use in Soy templates.
500
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
501
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
502
- * For the list of reserved names please see:
503
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
504
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
505
- * for transitional soy proto support: http://goto/soy-param-migration
506
- * @return {!Object}
507
- */
508
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.toObject = function (opt_includeInstance) {
509
- return proto.scanoss.api.dependencies.v2.DependencyResponse.toObject(opt_includeInstance, this);
510
- };
511
- /**
512
- * Static version of the {@see toObject} method.
513
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
514
- * instance for transitional soy proto support:
515
- * http://goto/soy-param-migration
516
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse} msg The msg instance to transform.
517
- * @return {!Object}
518
- * @suppress {unusedLocalVariables} f is only used for nested messages
519
- */
520
- proto.scanoss.api.dependencies.v2.DependencyResponse.toObject = function (includeInstance, msg) {
521
- let f, obj = {
522
- filesList: jspb.Message.toObjectList(msg.getFilesList(), proto.scanoss.api.dependencies.v2.DependencyResponse.Files.toObject, includeInstance),
523
- status: (f = msg.getStatus()) && scanoss_api_common_v2_scanoss$common_pb.StatusResponse.toObject(includeInstance, f)
524
- };
525
- if (includeInstance) {
526
- obj.$jspbMessageInstance = msg;
527
- }
528
- return obj;
529
- };
530
- }
531
- /**
532
- * Deserializes binary data (in protobuf wire format).
533
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
534
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse}
535
- */
536
- proto.scanoss.api.dependencies.v2.DependencyResponse.deserializeBinary = function (bytes) {
537
- const reader = new jspb.BinaryReader(bytes);
538
- const msg = new proto.scanoss.api.dependencies.v2.DependencyResponse;
539
- return proto.scanoss.api.dependencies.v2.DependencyResponse.deserializeBinaryFromReader(msg, reader);
540
- };
541
- /**
542
- * Deserializes binary data (in protobuf wire format) from the
543
- * given reader into the given message object.
544
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse} msg The message object to deserialize into.
545
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
546
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse}
547
- */
548
- proto.scanoss.api.dependencies.v2.DependencyResponse.deserializeBinaryFromReader = function (msg, reader) {
549
- while (reader.nextField()) {
550
- if (reader.isEndGroup()) {
551
- break;
552
- }
553
- const field = reader.getFieldNumber();
554
- switch (field) {
555
- case 1:
556
- var value = new proto.scanoss.api.dependencies.v2.DependencyResponse.Files;
557
- reader.readMessage(value, proto.scanoss.api.dependencies.v2.DependencyResponse.Files.deserializeBinaryFromReader);
558
- msg.addFiles(value);
559
- break;
560
- case 2:
561
- var value = new scanoss_api_common_v2_scanoss$common_pb.StatusResponse;
562
- reader.readMessage(value, scanoss_api_common_v2_scanoss$common_pb.StatusResponse.deserializeBinaryFromReader);
563
- msg.setStatus(value);
564
- break;
565
- default:
566
- reader.skipField();
567
- break;
568
- }
569
- }
570
- return msg;
571
- };
572
- /**
573
- * Serializes the message to binary data (in protobuf wire format).
574
- * @return {!Uint8Array}
575
- */
576
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.serializeBinary = function () {
577
- const writer = new jspb.BinaryWriter();
578
- proto.scanoss.api.dependencies.v2.DependencyResponse.serializeBinaryToWriter(this, writer);
579
- return writer.getResultBuffer();
580
- };
581
- /**
582
- * Serializes the given message to binary data (in protobuf wire
583
- * format), writing to the given BinaryWriter.
584
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse} message
585
- * @param {!jspb.BinaryWriter} writer
586
- * @suppress {unusedLocalVariables} f is only used for nested messages
587
- */
588
- proto.scanoss.api.dependencies.v2.DependencyResponse.serializeBinaryToWriter = function (message, writer) {
589
- let f = undefined;
590
- f = message.getFilesList();
591
- if (f.length > 0) {
592
- writer.writeRepeatedMessage(1, f, proto.scanoss.api.dependencies.v2.DependencyResponse.Files.serializeBinaryToWriter);
593
- }
594
- f = message.getStatus();
595
- if (f != null) {
596
- writer.writeMessage(2, f, scanoss_api_common_v2_scanoss$common_pb.StatusResponse.serializeBinaryToWriter);
597
- }
598
- };
599
- /**
600
- * Generated by JsPbCodeGenerator.
601
- * @param {Array=} opt_data Optional initial data array, typically from a
602
- * server response, or constructed directly in Javascript. The array is used
603
- * in place and becomes part of the constructed object. It is not cloned.
604
- * If no data is provided, the constructed object will be empty, but still
605
- * valid.
606
- * @extends {jspb.Message}
607
- * @constructor
608
- */
609
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses = function (opt_data) {
610
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
611
- };
612
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses, jspb.Message);
613
- if (goog.DEBUG && !COMPILED) {
614
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.displayName = 'proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses';
615
- }
616
- if (jspb.Message.GENERATE_TO_OBJECT) {
617
- /**
618
- * Creates an object representation of this proto suitable for use in Soy templates.
619
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
620
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
621
- * For the list of reserved names please see:
622
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
623
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
624
- * for transitional soy proto support: http://goto/soy-param-migration
625
- * @return {!Object}
626
- */
627
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.prototype.toObject = function (opt_includeInstance) {
628
- return proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.toObject(opt_includeInstance, this);
629
- };
630
- /**
631
- * Static version of the {@see toObject} method.
632
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
633
- * instance for transitional soy proto support:
634
- * http://goto/soy-param-migration
635
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses} msg The msg instance to transform.
636
- * @return {!Object}
637
- * @suppress {unusedLocalVariables} f is only used for nested messages
638
- */
639
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.toObject = function (includeInstance, msg) {
640
- let f, obj = {
641
- name: jspb.Message.getFieldWithDefault(msg, 1, "")
642
- };
643
- if (includeInstance) {
644
- obj.$jspbMessageInstance = msg;
645
- }
646
- return obj;
647
- };
648
- }
649
- /**
650
- * Deserializes binary data (in protobuf wire format).
651
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
652
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses}
653
- */
654
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.deserializeBinary = function (bytes) {
655
- const reader = new jspb.BinaryReader(bytes);
656
- const msg = new proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses;
657
- return proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.deserializeBinaryFromReader(msg, reader);
658
- };
659
- /**
660
- * Deserializes binary data (in protobuf wire format) from the
661
- * given reader into the given message object.
662
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses} msg The message object to deserialize into.
663
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
664
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses}
665
- */
666
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.deserializeBinaryFromReader = function (msg, reader) {
667
- while (reader.nextField()) {
668
- if (reader.isEndGroup()) {
669
- break;
670
- }
671
- const field = reader.getFieldNumber();
672
- switch (field) {
673
- case 1:
674
- var value = /** @type {string} */ (reader.readString());
675
- msg.setName(value);
676
- break;
677
- default:
678
- reader.skipField();
679
- break;
680
- }
681
- }
682
- return msg;
683
- };
684
- /**
685
- * Serializes the message to binary data (in protobuf wire format).
686
- * @return {!Uint8Array}
687
- */
688
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.prototype.serializeBinary = function () {
689
- const writer = new jspb.BinaryWriter();
690
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.serializeBinaryToWriter(this, writer);
691
- return writer.getResultBuffer();
692
- };
693
- /**
694
- * Serializes the given message to binary data (in protobuf wire
695
- * format), writing to the given BinaryWriter.
696
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses} message
697
- * @param {!jspb.BinaryWriter} writer
698
- * @suppress {unusedLocalVariables} f is only used for nested messages
699
- */
700
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.serializeBinaryToWriter = function (message, writer) {
701
- let f = undefined;
702
- f = message.getName();
703
- if (f.length > 0) {
704
- writer.writeString(1, f);
705
- }
706
- };
707
- /**
708
- * optional string name = 1;
709
- * @return {string}
710
- */
711
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.prototype.getName = function () {
712
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
713
- };
714
- /** @param {string} value */
715
- proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.prototype.setName = function (value) {
716
- jspb.Message.setProto3StringField(this, 1, value);
717
- };
718
- /**
719
- * Generated by JsPbCodeGenerator.
720
- * @param {Array=} opt_data Optional initial data array, typically from a
721
- * server response, or constructed directly in Javascript. The array is used
722
- * in place and becomes part of the constructed object. It is not cloned.
723
- * If no data is provided, the constructed object will be empty, but still
724
- * valid.
725
- * @extends {jspb.Message}
726
- * @constructor
727
- */
728
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies = function (opt_data) {
729
- jspb.Message.initialize(this, opt_data, 0, -1, proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.repeatedFields_, null);
730
- };
731
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies, jspb.Message);
732
- if (goog.DEBUG && !COMPILED) {
733
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.displayName = 'proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies';
734
- }
735
- /**
736
- * List of repeated fields within this message type.
737
- * @private {!Array<number>}
738
- * @const
739
- */
740
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.repeatedFields_ = [4];
741
- if (jspb.Message.GENERATE_TO_OBJECT) {
742
- /**
743
- * Creates an object representation of this proto suitable for use in Soy templates.
744
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
745
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
746
- * For the list of reserved names please see:
747
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
748
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
749
- * for transitional soy proto support: http://goto/soy-param-migration
750
- * @return {!Object}
751
- */
752
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.toObject = function (opt_includeInstance) {
753
- return proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.toObject(opt_includeInstance, this);
754
- };
755
- /**
756
- * Static version of the {@see toObject} method.
757
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
758
- * instance for transitional soy proto support:
759
- * http://goto/soy-param-migration
760
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies} msg The msg instance to transform.
761
- * @return {!Object}
762
- * @suppress {unusedLocalVariables} f is only used for nested messages
763
- */
764
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.toObject = function (includeInstance, msg) {
765
- let f, obj = {
766
- component: jspb.Message.getFieldWithDefault(msg, 1, ""),
767
- purl: jspb.Message.getFieldWithDefault(msg, 2, ""),
768
- version: jspb.Message.getFieldWithDefault(msg, 3, ""),
769
- licensesList: jspb.Message.toObjectList(msg.getLicensesList(), proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.toObject, includeInstance)
770
- };
771
- if (includeInstance) {
772
- obj.$jspbMessageInstance = msg;
773
- }
774
- return obj;
775
- };
776
- }
777
- /**
778
- * Deserializes binary data (in protobuf wire format).
779
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
780
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies}
781
- */
782
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.deserializeBinary = function (bytes) {
783
- const reader = new jspb.BinaryReader(bytes);
784
- const msg = new proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies;
785
- return proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.deserializeBinaryFromReader(msg, reader);
786
- };
787
- /**
788
- * Deserializes binary data (in protobuf wire format) from the
789
- * given reader into the given message object.
790
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies} msg The message object to deserialize into.
791
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
792
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies}
793
- */
794
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.deserializeBinaryFromReader = function (msg, reader) {
795
- while (reader.nextField()) {
796
- if (reader.isEndGroup()) {
797
- break;
798
- }
799
- const field = reader.getFieldNumber();
800
- switch (field) {
801
- case 1:
802
- var value = /** @type {string} */ (reader.readString());
803
- msg.setComponent(value);
804
- break;
805
- case 2:
806
- var value = /** @type {string} */ (reader.readString());
807
- msg.setPurl(value);
808
- break;
809
- case 3:
810
- var value = /** @type {string} */ (reader.readString());
811
- msg.setVersion(value);
812
- break;
813
- case 4:
814
- var value = new proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses;
815
- reader.readMessage(value, proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.deserializeBinaryFromReader);
816
- msg.addLicenses(value);
817
- break;
818
- default:
819
- reader.skipField();
820
- break;
821
- }
822
- }
823
- return msg;
824
- };
825
- /**
826
- * Serializes the message to binary data (in protobuf wire format).
827
- * @return {!Uint8Array}
828
- */
829
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.serializeBinary = function () {
830
- const writer = new jspb.BinaryWriter();
831
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.serializeBinaryToWriter(this, writer);
832
- return writer.getResultBuffer();
833
- };
834
- /**
835
- * Serializes the given message to binary data (in protobuf wire
836
- * format), writing to the given BinaryWriter.
837
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies} message
838
- * @param {!jspb.BinaryWriter} writer
839
- * @suppress {unusedLocalVariables} f is only used for nested messages
840
- */
841
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.serializeBinaryToWriter = function (message, writer) {
842
- let f = undefined;
843
- f = message.getComponent();
844
- if (f.length > 0) {
845
- writer.writeString(1, f);
846
- }
847
- f = message.getPurl();
848
- if (f.length > 0) {
849
- writer.writeString(2, f);
850
- }
851
- f = message.getVersion();
852
- if (f.length > 0) {
853
- writer.writeString(3, f);
854
- }
855
- f = message.getLicensesList();
856
- if (f.length > 0) {
857
- writer.writeRepeatedMessage(4, f, proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses.serializeBinaryToWriter);
858
- }
859
- };
860
- /**
861
- * optional string component = 1;
862
- * @return {string}
863
- */
864
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.getComponent = function () {
865
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
866
- };
867
- /** @param {string} value */
868
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.setComponent = function (value) {
869
- jspb.Message.setProto3StringField(this, 1, value);
870
- };
871
- /**
872
- * optional string purl = 2;
873
- * @return {string}
874
- */
875
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.getPurl = function () {
876
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
877
- };
878
- /** @param {string} value */
879
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.setPurl = function (value) {
880
- jspb.Message.setProto3StringField(this, 2, value);
881
- };
882
- /**
883
- * optional string version = 3;
884
- * @return {string}
885
- */
886
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.getVersion = function () {
887
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
888
- };
889
- /** @param {string} value */
890
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.setVersion = function (value) {
891
- jspb.Message.setProto3StringField(this, 3, value);
892
- };
893
- /**
894
- * repeated Licenses licenses = 4;
895
- * @return {!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses>}
896
- */
897
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.getLicensesList = function () {
898
- return /** @type{!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses>} */ (jspb.Message.getRepeatedWrapperField(this, proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses, 4));
899
- };
900
- /** @param {!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses>} value */
901
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.setLicensesList = function (value) {
902
- jspb.Message.setRepeatedWrapperField(this, 4, value);
903
- };
904
- /**
905
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses=} opt_value
906
- * @param {number=} opt_index
907
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses}
908
- */
909
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.addLicenses = function (opt_value, opt_index) {
910
- return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.scanoss.api.dependencies.v2.DependencyResponse.Licenses, opt_index);
911
- };
912
- proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.prototype.clearLicensesList = function () {
913
- this.setLicensesList([]);
914
- };
915
- /**
916
- * Generated by JsPbCodeGenerator.
917
- * @param {Array=} opt_data Optional initial data array, typically from a
918
- * server response, or constructed directly in Javascript. The array is used
919
- * in place and becomes part of the constructed object. It is not cloned.
920
- * If no data is provided, the constructed object will be empty, but still
921
- * valid.
922
- * @extends {jspb.Message}
923
- * @constructor
924
- */
925
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files = function (opt_data) {
926
- jspb.Message.initialize(this, opt_data, 0, -1, proto.scanoss.api.dependencies.v2.DependencyResponse.Files.repeatedFields_, null);
927
- };
928
- goog.inherits(proto.scanoss.api.dependencies.v2.DependencyResponse.Files, jspb.Message);
929
- if (goog.DEBUG && !COMPILED) {
930
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.displayName = 'proto.scanoss.api.dependencies.v2.DependencyResponse.Files';
931
- }
932
- /**
933
- * List of repeated fields within this message type.
934
- * @private {!Array<number>}
935
- * @const
936
- */
937
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.repeatedFields_ = [4];
938
- if (jspb.Message.GENERATE_TO_OBJECT) {
939
- /**
940
- * Creates an object representation of this proto suitable for use in Soy templates.
941
- * Field names that are reserved in JavaScript and will be renamed to pb_name.
942
- * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
943
- * For the list of reserved names please see:
944
- * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
945
- * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
946
- * for transitional soy proto support: http://goto/soy-param-migration
947
- * @return {!Object}
948
- */
949
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.toObject = function (opt_includeInstance) {
950
- return proto.scanoss.api.dependencies.v2.DependencyResponse.Files.toObject(opt_includeInstance, this);
951
- };
952
- /**
953
- * Static version of the {@see toObject} method.
954
- * @param {boolean|undefined} includeInstance Whether to include the JSPB
955
- * instance for transitional soy proto support:
956
- * http://goto/soy-param-migration
957
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files} msg The msg instance to transform.
958
- * @return {!Object}
959
- * @suppress {unusedLocalVariables} f is only used for nested messages
960
- */
961
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.toObject = function (includeInstance, msg) {
962
- let f, obj = {
963
- file: jspb.Message.getFieldWithDefault(msg, 1, ""),
964
- id: jspb.Message.getFieldWithDefault(msg, 2, ""),
965
- status: jspb.Message.getFieldWithDefault(msg, 3, ""),
966
- dependenciesList: jspb.Message.toObjectList(msg.getDependenciesList(), proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.toObject, includeInstance)
967
- };
968
- if (includeInstance) {
969
- obj.$jspbMessageInstance = msg;
970
- }
971
- return obj;
972
- };
973
- }
974
- /**
975
- * Deserializes binary data (in protobuf wire format).
976
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
977
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files}
978
- */
979
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.deserializeBinary = function (bytes) {
980
- const reader = new jspb.BinaryReader(bytes);
981
- const msg = new proto.scanoss.api.dependencies.v2.DependencyResponse.Files;
982
- return proto.scanoss.api.dependencies.v2.DependencyResponse.Files.deserializeBinaryFromReader(msg, reader);
983
- };
984
- /**
985
- * Deserializes binary data (in protobuf wire format) from the
986
- * given reader into the given message object.
987
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files} msg The message object to deserialize into.
988
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
989
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files}
990
- */
991
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.deserializeBinaryFromReader = function (msg, reader) {
992
- while (reader.nextField()) {
993
- if (reader.isEndGroup()) {
994
- break;
995
- }
996
- const field = reader.getFieldNumber();
997
- switch (field) {
998
- case 1:
999
- var value = /** @type {string} */ (reader.readString());
1000
- msg.setFile(value);
1001
- break;
1002
- case 2:
1003
- var value = /** @type {string} */ (reader.readString());
1004
- msg.setId(value);
1005
- break;
1006
- case 3:
1007
- var value = /** @type {string} */ (reader.readString());
1008
- msg.setStatus(value);
1009
- break;
1010
- case 4:
1011
- var value = new proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies;
1012
- reader.readMessage(value, proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.deserializeBinaryFromReader);
1013
- msg.addDependencies(value);
1014
- break;
1015
- default:
1016
- reader.skipField();
1017
- break;
1018
- }
1019
- }
1020
- return msg;
1021
- };
1022
- /**
1023
- * Serializes the message to binary data (in protobuf wire format).
1024
- * @return {!Uint8Array}
1025
- */
1026
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.serializeBinary = function () {
1027
- const writer = new jspb.BinaryWriter();
1028
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.serializeBinaryToWriter(this, writer);
1029
- return writer.getResultBuffer();
1030
- };
1031
- /**
1032
- * Serializes the given message to binary data (in protobuf wire
1033
- * format), writing to the given BinaryWriter.
1034
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files} message
1035
- * @param {!jspb.BinaryWriter} writer
1036
- * @suppress {unusedLocalVariables} f is only used for nested messages
1037
- */
1038
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.serializeBinaryToWriter = function (message, writer) {
1039
- let f = undefined;
1040
- f = message.getFile();
1041
- if (f.length > 0) {
1042
- writer.writeString(1, f);
1043
- }
1044
- f = message.getId();
1045
- if (f.length > 0) {
1046
- writer.writeString(2, f);
1047
- }
1048
- f = message.getStatus();
1049
- if (f.length > 0) {
1050
- writer.writeString(3, f);
1051
- }
1052
- f = message.getDependenciesList();
1053
- if (f.length > 0) {
1054
- writer.writeRepeatedMessage(4, f, proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies.serializeBinaryToWriter);
1055
- }
1056
- };
1057
- /**
1058
- * optional string file = 1;
1059
- * @return {string}
1060
- */
1061
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.getFile = function () {
1062
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
1063
- };
1064
- /** @param {string} value */
1065
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.setFile = function (value) {
1066
- jspb.Message.setProto3StringField(this, 1, value);
1067
- };
1068
- /**
1069
- * optional string id = 2;
1070
- * @return {string}
1071
- */
1072
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.getId = function () {
1073
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
1074
- };
1075
- /** @param {string} value */
1076
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.setId = function (value) {
1077
- jspb.Message.setProto3StringField(this, 2, value);
1078
- };
1079
- /**
1080
- * optional string status = 3;
1081
- * @return {string}
1082
- */
1083
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.getStatus = function () {
1084
- return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
1085
- };
1086
- /** @param {string} value */
1087
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.setStatus = function (value) {
1088
- jspb.Message.setProto3StringField(this, 3, value);
1089
- };
1090
- /**
1091
- * repeated Dependencies dependencies = 4;
1092
- * @return {!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies>}
1093
- */
1094
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.getDependenciesList = function () {
1095
- return /** @type{!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies>} */ (jspb.Message.getRepeatedWrapperField(this, proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies, 4));
1096
- };
1097
- /** @param {!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies>} value */
1098
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.setDependenciesList = function (value) {
1099
- jspb.Message.setRepeatedWrapperField(this, 4, value);
1100
- };
1101
- /**
1102
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies=} opt_value
1103
- * @param {number=} opt_index
1104
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies}
1105
- */
1106
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.addDependencies = function (opt_value, opt_index) {
1107
- return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.scanoss.api.dependencies.v2.DependencyResponse.Dependencies, opt_index);
1108
- };
1109
- proto.scanoss.api.dependencies.v2.DependencyResponse.Files.prototype.clearDependenciesList = function () {
1110
- this.setDependenciesList([]);
1111
- };
1112
- /**
1113
- * repeated Files files = 1;
1114
- * @return {!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Files>}
1115
- */
1116
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.getFilesList = function () {
1117
- return /** @type{!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Files>} */ (jspb.Message.getRepeatedWrapperField(this, proto.scanoss.api.dependencies.v2.DependencyResponse.Files, 1));
1118
- };
1119
- /** @param {!Array<!proto.scanoss.api.dependencies.v2.DependencyResponse.Files>} value */
1120
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.setFilesList = function (value) {
1121
- jspb.Message.setRepeatedWrapperField(this, 1, value);
1122
- };
1123
- /**
1124
- * @param {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files=} opt_value
1125
- * @param {number=} opt_index
1126
- * @return {!proto.scanoss.api.dependencies.v2.DependencyResponse.Files}
1127
- */
1128
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.addFiles = function (opt_value, opt_index) {
1129
- return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.scanoss.api.dependencies.v2.DependencyResponse.Files, opt_index);
1130
- };
1131
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.clearFilesList = function () {
1132
- this.setFilesList([]);
1133
- };
1134
- /**
1135
- * optional scanoss.api.common.v2.StatusResponse status = 2;
1136
- * @return {?proto.scanoss.api.common.v2.StatusResponse}
1137
- */
1138
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.getStatus = function () {
1139
- return /** @type{?proto.scanoss.api.common.v2.StatusResponse} */ (jspb.Message.getWrapperField(this, scanoss_api_common_v2_scanoss$common_pb.StatusResponse, 2));
1140
- };
1141
- /** @param {?proto.scanoss.api.common.v2.StatusResponse|undefined} value */
1142
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.setStatus = function (value) {
1143
- jspb.Message.setWrapperField(this, 2, value);
1144
- };
1145
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.clearStatus = function () {
1146
- this.setStatus(undefined);
1147
- };
1148
- /**
1149
- * Returns whether this field is set.
1150
- * @return {!boolean}
1151
- */
1152
- proto.scanoss.api.dependencies.v2.DependencyResponse.prototype.hasStatus = function () {
1153
- return jspb.Message.getField(this, 2) != null;
1154
- };
1155
- goog.object.extend(exports, proto.scanoss.api.dependencies.v2);
1156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm9zcy1kZXBlbmRlbmNpZXNfcGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2Nhbm9zcy9hcGkvZGVwZW5kZW5jaWVzL3YyL3NjYW5vc3MtZGVwZW5kZW5jaWVzX3BiLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZDs7Ozs7O0dBTUc7QUFDSCxpQ0FBaUM7QUFFakMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0FBRXpDLE1BQU0sdUNBQXVDLEdBQUcsT0FBTyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7QUFDbEgsSUFBSSxDQUFDLFlBQVksQ0FBQyxxREFBcUQsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQywyREFBMkQsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0YsSUFBSSxDQUFDLFlBQVksQ0FBQywyREFBMkQsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxzREFBc0QsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxtRUFBbUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDckcsSUFBSSxDQUFDLFlBQVksQ0FBQyw0REFBNEQsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUYsSUFBSSxDQUFDLFlBQVksQ0FBQywrREFBK0QsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFakc7Ozs7Ozs7OztHQVNHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLFFBQVE7SUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUgsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNqRixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcscURBQXFELENBQUM7Q0FDekg7QUFDRDs7OztHQUlHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUkxRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7SUFDbkM7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVUsbUJBQW1CO1FBQ3BHLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakcsQ0FBQyxDQUFDO0lBR0Y7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxVQUFVLGVBQWUsRUFBRSxHQUFHO1FBQzNGLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRztZQUNYLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQ3JELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUM7WUFDdEYsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkQsQ0FBQztRQUVGLElBQUksZUFBZSxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLENBQUM7U0FDaEM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztDQUNIO0FBR0Q7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxLQUFLO0lBQ3JGLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDcEUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN0RyxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLDJCQUEyQixHQUFHLFVBQVUsR0FBRyxFQUFFLE1BQU07SUFDckcsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDekIsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkIsTUFBTTtTQUNQO1FBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxDQUFDO2dCQUNKLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7Z0JBQzFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7Z0JBQ2pILEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxLQUFLLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDdkQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEIsTUFBTTtZQUNSO2dCQUNFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsTUFBTTtTQUNUO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRztJQUM5RSxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRixPQUFPLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixHQUFHLFVBQVUsT0FBTyxFQUFFLE1BQU07SUFDckcsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ2xCLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsb0JBQW9CLENBQ3pCLENBQUMsRUFDRCxDQUFDLEVBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQ2xGLENBQUM7S0FDSDtJQUNELENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ1gsTUFBTSxDQUFDLFVBQVUsQ0FDZixDQUFDLEVBQ0QsQ0FBQyxDQUNGLENBQUM7S0FDSDtBQUNILENBQUMsQ0FBQztBQUlGOzs7Ozs7Ozs7R0FTRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLFVBQVUsUUFBUTtJQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkYsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO0lBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRywyREFBMkQsQ0FBQztDQUNySTtBQUdELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtJQUNuQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVUsbUJBQW1CO1FBQzFHLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZHLENBQUMsQ0FBQztJQUdGOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsZUFBZSxFQUFFLEdBQUc7UUFDakcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEQsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDMUQsQ0FBQztRQUVGLElBQUksZUFBZSxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLENBQUM7U0FDaEM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztDQUNIO0FBR0Q7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsS0FBSztJQUMzRixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztJQUMxRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM1RyxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxVQUFVLEdBQUcsRUFBRSxNQUFNO0lBQzNHLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3pCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE1BQU07U0FDUDtRQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssQ0FBQztnQkFDSixJQUFJLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hELEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLE1BQU07WUFDUjtnQkFDRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLE1BQU07U0FDVDtLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRyxPQUFPLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLE9BQU8sRUFBRSxNQUFNO0lBQzNHLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUNsQixDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RCLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsQ0FBQyxFQUNELENBQUMsQ0FDRixDQUFDO0tBQ0g7SUFDRCxDQUFDLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzdCLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsQ0FBQyxFQUNELENBQUMsQ0FDRixDQUFDO0tBQ0g7QUFDSCxDQUFDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHO0lBQzVFLE9BQU8scUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUM7QUFHRiw0QkFBNEI7QUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxVQUFVLEtBQUs7SUFDM0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUc7SUFDbkYsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUdGLDRCQUE0QjtBQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQVUsS0FBSztJQUNsRyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBSUY7Ozs7Ozs7OztHQVNHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsVUFBVSxRQUFRO0lBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsSSxDQUFDLENBQUM7QUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2RixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLDJEQUEyRCxDQUFDO0NBQ3JJO0FBQ0Q7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBSWhGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtJQUNuQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVUsbUJBQW1CO1FBQzFHLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZHLENBQUMsQ0FBQztJQUdGOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsZUFBZSxFQUFFLEdBQUc7UUFDakcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEQsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQztTQUN2RixDQUFDO1FBRUYsSUFBSSxlQUFlLEVBQUU7WUFDbkIsR0FBRyxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztTQUNoQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0NBQ0g7QUFHRDs7OztHQUlHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxLQUFLO0lBQzNGLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQzFFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVHLENBQUMsQ0FBQztBQUdGOzs7Ozs7R0FNRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixHQUFHLFVBQVUsR0FBRyxFQUFFLE1BQU07SUFDM0csT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDekIsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkIsTUFBTTtTQUNQO1FBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxDQUFDO2dCQUNKLElBQUksS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hELEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztnQkFDMUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFDakgsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEIsTUFBTTtZQUNSO2dCQUNFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsTUFBTTtTQUNUO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEdBQUc7SUFDcEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hHLE9BQU8sTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUdGOzs7Ozs7R0FNRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLHVCQUF1QixHQUFHLFVBQVUsT0FBTyxFQUFFLE1BQU07SUFDM0csSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ2xCLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsV0FBVyxDQUNoQixDQUFDLEVBQ0QsQ0FBQyxDQUNGLENBQUM7S0FDSDtJQUNELENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsb0JBQW9CLENBQ3pCLENBQUMsRUFDRCxDQUFDLEVBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQ2xGLENBQUM7S0FDSDtBQUNILENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUc7SUFDNUUsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUdGLDRCQUE0QjtBQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLFVBQVUsS0FBSztJQUMzRixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRztJQUNqRixPQUFPLGdGQUFnRixDQUFDLENBQ3RGLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUcsQ0FBQyxDQUFDO0FBR0Ysd0ZBQXdGO0FBQ3hGLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsVUFBVSxLQUFLO0lBQ2hHLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFHRjs7OztHQUlHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxVQUFVLFNBQVMsRUFBRSxTQUFTO0lBQzNHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxSSxDQUFDLENBQUM7QUFHRixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHO0lBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHO0lBQzNFLE9BQU8sZ0ZBQWdGLENBQUMsQ0FDdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RyxDQUFDLENBQUM7QUFHRix3RkFBd0Y7QUFDeEYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLFVBQVUsS0FBSztJQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBR0Y7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxVQUFVLFNBQVMsRUFBRSxTQUFTO0lBQ3JHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxSSxDQUFDLENBQUM7QUFHRixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUc7SUFDN0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDdkUsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMsQ0FBQztBQUdGLDRCQUE0QjtBQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxLQUFLO0lBQ3RGLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFJRjs7Ozs7Ozs7O0dBU0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsUUFBUTtJQUN2RSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3SCxDQUFDLENBQUM7QUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xGLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxzREFBc0QsQ0FBQztDQUMzSDtBQUNEOzs7O0dBSUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBSTNFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtJQUNuQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxtQkFBbUI7UUFDckcsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRyxDQUFDLENBQUM7SUFHRjs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFVBQVUsZUFBZSxFQUFFLEdBQUc7UUFDNUYsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQztZQUN2RixNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksdUNBQXVDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1NBQ3JILENBQUM7UUFFRixJQUFJLGVBQWUsRUFBRTtZQUNuQixHQUFHLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7Q0FDSDtBQUdEOzs7O0dBSUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixHQUFHLFVBQVUsS0FBSztJQUN0RixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ3JFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkcsQ0FBQyxDQUFDO0FBR0Y7Ozs7OztHQU1HO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsR0FBRyxVQUFVLEdBQUcsRUFBRSxNQUFNO0lBQ3RHLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3pCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE1BQU07U0FDUDtRQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssQ0FBQztnQkFDSixJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO2dCQUMzRSxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUNsSCxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksS0FBSyxHQUFHLElBQUksdUNBQXVDLENBQUMsY0FBYyxDQUFDO2dCQUN2RSxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSx1Q0FBdUMsQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFDOUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsTUFBTTtZQUNSO2dCQUNFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsTUFBTTtTQUNUO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRztJQUMvRSxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRixPQUFPLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixHQUFHLFVBQVUsT0FBTyxFQUFFLE1BQU07SUFDdEcsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ2xCLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsb0JBQW9CLENBQ3pCLENBQUMsRUFDRCxDQUFDLEVBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQ25GLENBQUM7S0FDSDtJQUNELENBQUMsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEIsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ2IsTUFBTSxDQUFDLFlBQVksQ0FDakIsQ0FBQyxFQUNELENBQUMsRUFDRCx1Q0FBdUMsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQy9FLENBQUM7S0FDSDtBQUNILENBQUMsQ0FBQztBQUlGOzs7Ozs7Ozs7R0FTRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFVBQVUsUUFBUTtJQUNoRixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDM0YsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO0lBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRywrREFBK0QsQ0FBQztDQUM3STtBQUdELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtJQUNuQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVUsbUJBQW1CO1FBQzlHLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNHLENBQUMsQ0FBQztJQUdGOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFVBQVUsZUFBZSxFQUFFLEdBQUc7UUFDckcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDbkQsQ0FBQztRQUVGLElBQUksZUFBZSxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLENBQUM7U0FDaEM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztDQUNIO0FBR0Q7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsS0FBSztJQUMvRixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUM5RSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoSCxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQywyQkFBMkIsR0FBRyxVQUFVLEdBQUcsRUFBRSxNQUFNO0lBQy9HLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3pCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE1BQU07U0FDUDtRQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssQ0FBQztnQkFDSixJQUFJLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixNQUFNO1NBQ1Q7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRztJQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEcsT0FBTyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBR0Y7Ozs7OztHQU1HO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEdBQUcsVUFBVSxPQUFPLEVBQUUsTUFBTTtJQUMvRyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDbEIsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLENBQUMsRUFDRCxDQUFDLENBQ0YsQ0FBQztLQUNIO0FBQ0gsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRztJQUNoRixPQUFPLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBR0YsNEJBQTRCO0FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxLQUFLO0lBQy9GLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFJRjs7Ozs7Ozs7O0dBU0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxVQUFVLFFBQVE7SUFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFJLENBQUMsQ0FBQztBQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQy9GLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxXQUFXLEdBQUcsbUVBQW1FLENBQUM7Q0FDcko7QUFDRDs7OztHQUlHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFJeEYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO0lBQ25DOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxtQkFBbUI7UUFDbEgsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0csQ0FBQyxDQUFDO0lBR0Y7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsVUFBVSxlQUFlLEVBQUUsR0FBRztRQUN6RyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUc7WUFDWCxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2RCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyRCxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUMzRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDO1NBQzNGLENBQUM7UUFFRixJQUFJLGVBQWUsRUFBRTtZQUNuQixHQUFHLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7Q0FDSDtBQUdEOzs7O0dBSUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLEtBQUs7SUFDbkcsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDbEYsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEgsQ0FBQyxDQUFDO0FBR0Y7Ozs7OztHQU1HO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsMkJBQTJCLEdBQUcsVUFBVSxHQUFHLEVBQUUsTUFBTTtJQUNuSCxPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUN6QixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN2QixNQUFNO1NBQ1A7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEMsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLENBQUM7Z0JBQ0osSUFBSSxLQUFLLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hELEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztnQkFDOUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFDckgsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsTUFBTTtZQUNSO2dCQUNFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsTUFBTTtTQUNUO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEdBQUc7SUFDNUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hHLE9BQU8sTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUdGOzs7Ozs7R0FNRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixHQUFHLFVBQVUsT0FBTyxFQUFFLE1BQU07SUFDbkgsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ2xCLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsV0FBVyxDQUNoQixDQUFDLEVBQ0QsQ0FBQyxDQUNGLENBQUM7S0FDSDtJQUNELENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsV0FBVyxDQUNoQixDQUFDLEVBQ0QsQ0FBQyxDQUNGLENBQUM7S0FDSDtJQUNELENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekIsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsV0FBVyxDQUNoQixDQUFDLEVBQ0QsQ0FBQyxDQUNGLENBQUM7S0FDSDtJQUNELENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDOUIsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLENBQUMsb0JBQW9CLENBQ3pCLENBQUMsRUFDRCxDQUFDLEVBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQ3RGLENBQUM7S0FDSDtBQUNILENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUc7SUFDekYsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUdGLDRCQUE0QjtBQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLFVBQVUsS0FBSztJQUN4RyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRztJQUNwRixPQUFPLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBR0YsNEJBQTRCO0FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxLQUFLO0lBQ25HLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHO0lBQ3ZGLE9BQU8scUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUM7QUFHRiw0QkFBNEI7QUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVLEtBQUs7SUFDdEcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEdBQUc7SUFDNUYsT0FBTyxvRkFBb0YsQ0FBQyxDQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xILENBQUMsQ0FBQztBQUdGLDRGQUE0RjtBQUM1RixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHLFVBQVUsS0FBSztJQUMzRyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBR0Y7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsVUFBVSxTQUFTLEVBQUUsU0FBUztJQUN0SCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDOUksQ0FBQyxDQUFDO0FBR0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHO0lBQzlGLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBSUY7Ozs7Ozs7OztHQVNHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsVUFBVSxRQUFRO0lBQzdFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuSSxDQUFDLENBQUM7QUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4RixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLDREQUE0RCxDQUFDO0NBQ3ZJO0FBQ0Q7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBSWpGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtJQUNuQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVUsbUJBQW1CO1FBQzNHLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hHLENBQUMsQ0FBQztJQUdGOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsZUFBZSxFQUFFLEdBQUc7UUFDbEcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEQsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEQsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEVBQ25FLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUM7U0FDL0YsQ0FBQztRQUVGLElBQUksZUFBZSxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLENBQUM7U0FDaEM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztDQUNIO0FBR0Q7Ozs7R0FJRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsS0FBSztJQUM1RixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUMzRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3RyxDQUFDLENBQUM7QUFHRjs7Ozs7O0dBTUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxVQUFVLEdBQUcsRUFBRSxNQUFNO0lBQzVHLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3pCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE1BQU07U0FDUDtRQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssQ0FBQztnQkFDSixJQUFJLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hELEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxLQUFLLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO2dCQUNsRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUN6SCxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixNQUFNO1NBQ1Q7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRztJQUNyRixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakcsT0FBTyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBR0Y7Ozs7OztHQU1HO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsVUFBVSxPQUFPLEVBQUUsTUFBTTtJQUM1RyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDbEIsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLENBQUMsRUFDRCxDQUFDLENBQ0YsQ0FBQztLQUNIO0lBQ0QsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLENBQUMsRUFDRCxDQUFDLENBQ0YsQ0FBQztLQUNIO0lBQ0QsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLENBQUMsRUFDRCxDQUFDLENBQ0YsQ0FBQztLQUNIO0lBQ0QsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDaEIsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUMxRixDQUFDO0tBQ0g7QUFDSCxDQUFDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHO0lBQzdFLE9BQU8scUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUM7QUFHRiw0QkFBNEI7QUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxVQUFVLEtBQUs7SUFDNUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUc7SUFDM0UsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUdGLDRCQUE0QjtBQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFVBQVUsS0FBSztJQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRztJQUMvRSxPQUFPLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBR0YsNEJBQTRCO0FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxLQUFLO0lBQzlGLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUc7SUFDekYsT0FBTyx3RkFBd0YsQ0FBQyxDQUM5RixJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RILENBQUMsQ0FBQztBQUdGLGdHQUFnRztBQUNoRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxLQUFLO0lBQ3hHLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFHRjs7OztHQUlHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRyxVQUFVLFNBQVMsRUFBRSxTQUFTO0lBQ25ILE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNsSixDQUFDLENBQUM7QUFHRixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMscUJBQXFCLEdBQUc7SUFDM0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUdGOzs7R0FHRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRztJQUM1RSxPQUFPLGlGQUFpRixDQUFDLENBQ3ZGLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0csQ0FBQyxDQUFDO0FBR0YseUZBQXlGO0FBQ3pGLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxVQUFVLEtBQUs7SUFDM0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUdGOzs7O0dBSUc7QUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxTQUFTLEVBQUUsU0FBUztJQUN0RyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDM0ksQ0FBQyxDQUFDO0FBR0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHO0lBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHO0lBQ3pFLE9BQU8seURBQXlELENBQUMsQ0FDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLHVDQUF1QyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25HLENBQUMsQ0FBQztBQUdGLDJFQUEyRTtBQUMzRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxLQUFLO0lBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBR0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHO0lBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBR0Y7OztHQUdHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHO0lBQ3pFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFHRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDIn0=