@ruvector/ruvllm 2.7.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,24 @@ interface NativeConfig {
21
21
  }
22
22
  interface NativeEngine {
23
23
  query(text: string, config?: NativeGenConfig): NativeQueryResponse;
24
- generate(prompt: string, config?: NativeGenConfig): string;
24
+ /**
25
+ * Builds with `loadModel` return a generation result and throw while no
26
+ * model is loaded; older builds (the 2.0.x platform packages) return a
27
+ * string that is not model output, so the wrapper never calls them.
28
+ */
29
+ generate(prompt: string, config?: NativeGenConfig): NativeGenerationResult | string;
30
+ /**
31
+ * Present on builds since model loading was added. Those built without the
32
+ * `candle` feature throw `RUVLLM_NO_INFERENCE_BACKEND`; see
33
+ * `supportsModelLoading`.
34
+ */
35
+ loadModel?(path: string, options?: NativeLoadModelOptions): NativeModelInfo;
36
+ /** Whether the binary was built with the `candle` feature (absent on older builds). */
37
+ supportsModelLoading?(): boolean;
38
+ unloadModel?(): void;
39
+ isModelLoaded?(): boolean;
40
+ modelInfo?(): NativeModelInfo | null;
41
+ chat?(messages: NativeChatMessage[], config?: NativeGenConfig): NativeGenerationResult;
25
42
  route(text: string): NativeRoutingDecision;
26
43
  searchMemory(text: string, k?: number): NativeMemoryResult[];
27
44
  /** Current native builds return a UUID string; older ones returned a number. */
@@ -35,11 +52,38 @@ interface NativeEngine {
35
52
  simdCapabilities(): string[];
36
53
  }
37
54
  interface NativeGenConfig {
38
- max_tokens?: number;
55
+ maxTokens?: number;
39
56
  temperature?: number;
40
- top_p?: number;
41
- top_k?: number;
42
- repetition_penalty?: number;
57
+ topP?: number;
58
+ topK?: number;
59
+ repetitionPenalty?: number;
60
+ stopSequences?: string[];
61
+ seed?: number;
62
+ }
63
+ interface NativeLoadModelOptions {
64
+ maxContext?: number;
65
+ }
66
+ interface NativeChatMessage {
67
+ role: string;
68
+ content: string;
69
+ }
70
+ interface NativeGenerationResult {
71
+ text: string;
72
+ promptTokens: number;
73
+ completionTokens: number;
74
+ finishReason: string;
75
+ }
76
+ interface NativeModelInfo {
77
+ name: string;
78
+ architecture: string;
79
+ numParameters: number;
80
+ vocabSize: number;
81
+ hiddenSize: number;
82
+ numLayers: number;
83
+ maxContextLength: number;
84
+ quantization?: string | null;
85
+ memoryUsageBytes: number;
86
+ chatTemplate?: string | null;
43
87
  }
44
88
  interface NativeQueryResponse {
45
89
  text: string;
@@ -48,6 +92,10 @@ interface NativeQueryResponse {
48
92
  contextSize: number;
49
93
  latencyMs: number;
50
94
  requestId: string;
95
+ /** Builds with `loadModel` also report token usage. */
96
+ promptTokens?: number;
97
+ completionTokens?: number;
98
+ finishReason?: string;
51
99
  context_size?: number;
52
100
  latency_ms?: number;
53
101
  request_id?: string;
@@ -88,5 +136,5 @@ interface NativeSimdOps {
88
136
  export declare function getNativeModule(): NativeRuvLLM | null;
89
137
  export declare function version(): string;
90
138
  export declare function hasSimdSupport(): boolean;
91
- export type { NativeRuvLLM, NativeConfig, NativeEngine, NativeGenConfig, NativeQueryResponse, NativeRoutingDecision, NativeMemoryResult, NativeStats, NativeSimdOps, };
139
+ export type { NativeRuvLLM, NativeConfig, NativeEngine, NativeGenConfig, NativeLoadModelOptions, NativeChatMessage, NativeGenerationResult, NativeModelInfo, NativeQueryResponse, NativeRoutingDecision, NativeMemoryResult, NativeStats, NativeSimdOps, };
92
140
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Automatically loads the correct native binary for the current platform.
5
5
  */
6
- import { join } from 'path';
6
+ import { join, resolve } from 'path';
7
7
  // Try to load the native module
8
8
  let nativeModule = null;
9
9
  // Platform-specific package names
@@ -23,12 +23,29 @@ function loadNativeModule() {
23
23
  if (nativeModule) {
24
24
  return nativeModule;
25
25
  }
26
+ // An explicit binary (e.g. one built locally with `npm run build:native`)
27
+ // wins over the installed platform package. Failing to load it is an
28
+ // error, not a silent fallback to a different binary.
29
+ const override = process.env.RUVLLM_NATIVE_PATH;
30
+ if (override) {
31
+ try {
32
+ // resolve(): a relative path means relative to the working directory,
33
+ // not to this file.
34
+ nativeModule = normalize(require(resolve(override)));
35
+ return nativeModule;
36
+ }
37
+ catch (e) {
38
+ throw new Error(`RUVLLM_NATIVE_PATH=${override} could not be loaded: ${e.message}`);
39
+ }
40
+ }
26
41
  const platformKey = getPlatformKey();
27
42
  const packageName = PLATFORM_PACKAGES[platformKey];
28
43
  if (!packageName) {
29
44
  // Silently fail - JS fallback will be used
30
45
  return null;
31
46
  }
47
+ // `napi build --platform` names its output ruvllm.<platform>.node
48
+ const platformFile = `ruvllm.${packageName.replace('@ruvector/ruvllm-', '')}.node`;
32
49
  // Try loading from optional dependencies
33
50
  const attempts = [
34
51
  // Try the platform-specific package
@@ -37,17 +54,12 @@ function loadNativeModule() {
37
54
  () => require(join(__dirname, '..', '..', 'ruvllm.node')),
38
55
  // Try loading from local .node file (root)
39
56
  () => require(join(__dirname, '..', 'ruvllm.node')),
57
+ // Output of `npm run build:native` in the package root
58
+ () => require(join(__dirname, '..', '..', platformFile)),
40
59
  ];
41
60
  for (const attempt of attempts) {
42
61
  try {
43
- const raw = attempt();
44
- // Normalize: native exports RuvLlmEngine, we expose as RuvLLMEngine
45
- nativeModule = {
46
- RuvLLMEngine: raw.RuvLLMEngine ?? raw.RuvLlmEngine,
47
- SimdOperations: raw.SimdOperations,
48
- version: raw.version,
49
- hasSimdSupport: raw.hasSimdSupport,
50
- };
62
+ nativeModule = normalize(attempt());
51
63
  return nativeModule;
52
64
  }
53
65
  catch {
@@ -57,6 +69,15 @@ function loadNativeModule() {
57
69
  // Silently fall back to JS implementation
58
70
  return null;
59
71
  }
72
+ // Normalize: native exports RuvLlmEngine, we expose as RuvLLMEngine
73
+ function normalize(raw) {
74
+ return {
75
+ RuvLLMEngine: raw.RuvLLMEngine ?? raw.RuvLlmEngine,
76
+ SimdOperations: raw.SimdOperations,
77
+ version: raw.version,
78
+ hasSimdSupport: raw.hasSimdSupport,
79
+ };
80
+ }
60
81
  // Export functions to get native bindings
61
82
  export function getNativeModule() {
62
83
  return loadNativeModule();
@@ -69,4 +90,4 @@ export function hasSimdSupport() {
69
90
  const mod = loadNativeModule();
70
91
  return mod?.hasSimdSupport() ?? false;
71
92
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QixnQ0FBZ0M7QUFDaEMsSUFBSSxZQUFZLEdBQXdCLElBQUksQ0FBQztBQTRHN0Msa0NBQWtDO0FBQ2xDLE1BQU0saUJBQWlCLEdBQTJCO0lBQ2hELFlBQVksRUFBRSw2QkFBNkI7SUFDM0MsY0FBYyxFQUFFLCtCQUErQjtJQUMvQyxXQUFXLEVBQUUsZ0NBQWdDO0lBQzdDLGFBQWEsRUFBRSxrQ0FBa0M7SUFDakQsV0FBVyxFQUFFLGlDQUFpQztDQUMvQyxDQUFDO0FBRUYsU0FBUyxjQUFjO0lBQ3JCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDbEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMxQixPQUFPLEdBQUcsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVuRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsMkNBQTJDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxNQUFNLFFBQVEsR0FBRztRQUNmLG9DQUFvQztRQUNwQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFCLGdEQUFnRDtRQUNoRCxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELDJDQUEyQztRQUMzQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDcEQsQ0FBQztJQUVGLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsT0FBTyxFQUFxQixDQUFDO1lBQ3pDLG9FQUFvRTtZQUNwRSxZQUFZLEdBQUc7Z0JBQ2IsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLFlBQWE7Z0JBQ25ELGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztnQkFDbEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7YUFDbkMsQ0FBQztZQUNGLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCwyQkFBMkI7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU87SUFDckIsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUMvQixPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjO0lBQzVCLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDL0IsT0FBTyxHQUFHLEVBQUUsY0FBYyxFQUFFLElBQUksS0FBSyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5hdGl2ZSBiaW5kaW5ncyBsb2FkZXIgZm9yIFJ1dkxMTVxuICpcbiAqIEF1dG9tYXRpY2FsbHkgbG9hZHMgdGhlIGNvcnJlY3QgbmF0aXZlIGJpbmFyeSBmb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm0uXG4gKi9cblxuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuXG4vLyBUcnkgdG8gbG9hZCB0aGUgbmF0aXZlIG1vZHVsZVxubGV0IG5hdGl2ZU1vZHVsZTogTmF0aXZlUnV2TExNIHwgbnVsbCA9IG51bGw7XG5cbmludGVyZmFjZSBOYXRpdmVSdXZMTE0ge1xuICAvLyBOYXRpdmUgZXhwb3J0cyBSdXZMbG1FbmdpbmUgKGNhbWVsQ2FzZSksIHdlIG5vcm1hbGl6ZSB0byBSdXZMTE1FbmdpbmVcbiAgUnV2TExNRW5naW5lOiBuZXcgKGNvbmZpZz86IE5hdGl2ZUNvbmZpZykgPT4gTmF0aXZlRW5naW5lO1xuICBTaW1kT3BlcmF0aW9uczogbmV3ICgpID0+IE5hdGl2ZVNpbWRPcHM7XG4gIHZlcnNpb246ICgpID0+IHN0cmluZztcbiAgaGFzU2ltZFN1cHBvcnQ6ICgpID0+IGJvb2xlYW47XG59XG5cbi8vIFJhdyBuYXRpdmUgbW9kdWxlIGludGVyZmFjZSAoYWN0dWFsIGV4cG9ydCBuYW1lcylcbmludGVyZmFjZSBSYXdOYXRpdmVNb2R1bGUge1xuICBSdXZMbG1FbmdpbmU/OiBuZXcgKGNvbmZpZz86IE5hdGl2ZUNvbmZpZykgPT4gTmF0aXZlRW5naW5lO1xuICBSdXZMTE1FbmdpbmU/OiBuZXcgKGNvbmZpZz86IE5hdGl2ZUNvbmZpZykgPT4gTmF0aXZlRW5naW5lO1xuICBTaW1kT3BlcmF0aW9uczogbmV3ICgpID0+IE5hdGl2ZVNpbWRPcHM7XG4gIHZlcnNpb246ICgpID0+IHN0cmluZztcbiAgaGFzU2ltZFN1cHBvcnQ6ICgpID0+IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBOYXRpdmVDb25maWcge1xuICBlbWJlZGRpbmdfZGltPzogbnVtYmVyO1xuICByb3V0ZXJfaGlkZGVuX2RpbT86IG51bWJlcjtcbiAgaG5zd19tPzogbnVtYmVyO1xuICBobnN3X2VmX2NvbnN0cnVjdGlvbj86IG51bWJlcjtcbiAgaG5zd19lZl9zZWFyY2g/OiBudW1iZXI7XG4gIGxlYXJuaW5nX2VuYWJsZWQ/OiBib29sZWFuO1xuICBxdWFsaXR5X3RocmVzaG9sZD86IG51bWJlcjtcbiAgZXdjX2xhbWJkYT86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZUVuZ2luZSB7XG4gIHF1ZXJ5KHRleHQ6IHN0cmluZywgY29uZmlnPzogTmF0aXZlR2VuQ29uZmlnKTogTmF0aXZlUXVlcnlSZXNwb25zZTtcbiAgZ2VuZXJhdGUocHJvbXB0OiBzdHJpbmcsIGNvbmZpZz86IE5hdGl2ZUdlbkNvbmZpZyk6IHN0cmluZztcbiAgcm91dGUodGV4dDogc3RyaW5nKTogTmF0aXZlUm91dGluZ0RlY2lzaW9uO1xuICBzZWFyY2hNZW1vcnkodGV4dDogc3RyaW5nLCBrPzogbnVtYmVyKTogTmF0aXZlTWVtb3J5UmVzdWx0W107XG4gIC8qKiBDdXJyZW50IG5hdGl2ZSBidWlsZHMgcmV0dXJuIGEgVVVJRCBzdHJpbmc7IG9sZGVyIG9uZXMgcmV0dXJuZWQgYSBudW1iZXIuICovXG4gIGFkZE1lbW9yeShjb250ZW50OiBzdHJpbmcsIG1ldGFkYXRhPzogc3RyaW5nKTogc3RyaW5nIHwgbnVtYmVyO1xuICBmZWVkYmFjayhyZXF1ZXN0SWQ6IHN0cmluZywgcmF0aW5nOiBudW1iZXIsIGNvcnJlY3Rpb24/OiBzdHJpbmcpOiBib29sZWFuO1xuICBzdGF0cygpOiBOYXRpdmVTdGF0cztcbiAgZm9yY2VMZWFybigpOiBzdHJpbmc7XG4gIGVtYmVkKHRleHQ6IHN0cmluZyk6IG51bWJlcltdO1xuICBzaW1pbGFyaXR5KHRleHQxOiBzdHJpbmcsIHRleHQyOiBzdHJpbmcpOiBudW1iZXI7XG4gIGhhc1NpbWQoKTogYm9vbGVhbjtcbiAgc2ltZENhcGFiaWxpdGllcygpOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZUdlbkNvbmZpZyB7XG4gIG1heF90b2tlbnM/OiBudW1iZXI7XG4gIHRlbXBlcmF0dXJlPzogbnVtYmVyO1xuICB0b3BfcD86IG51bWJlcjtcbiAgdG9wX2s/OiBudW1iZXI7XG4gIHJlcGV0aXRpb25fcGVuYWx0eT86IG51bWJlcjtcbn1cblxuLy8gbmFwaS1ycyBjYW1lbENhc2VzIFJ1c3Qgc3RydWN0IGZpZWxkcyB3aGVuIGl0IGJ1aWxkcyB0aGUgSlMgb2JqZWN0LCBzbyB0aGVcbi8vIHJlYWwgbmF0aXZlIHNoYXBlIGlzIGNhbWVsQ2FzZS4gVGhlc2UgaW50ZXJmYWNlcyBwcmV2aW91c2x5IGRlY2xhcmVkIG9ubHlcbi8vIHNuYWtlX2Nhc2UsIHdoaWNoIGlzIHdoeSB0aGUgd3JhcHBlcidzIHNuYWtlX2Nhc2UgcmVhZHMgdHlwZWNoZWNrZWQgd2hpbGVcbi8vIHNpbGVudGx5IHlpZWxkaW5nIHVuZGVmaW5lZCBhdCBydW50aW1lLiBCb3RoIHNwZWxsaW5ncyBhcmUgZGVjbGFyZWQg4oCUXG4vLyBjYW1lbENhc2UgcmVxdWlyZWQsIHNuYWtlX2Nhc2Ugb3B0aW9uYWwg4oCUIHNvIG9sZGVyIG5hdGl2ZSBidWlsZHMgc3RpbGwgZml0LlxuaW50ZXJmYWNlIE5hdGl2ZVF1ZXJ5UmVzcG9uc2Uge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbiAgbW9kZWw6IHN0cmluZztcbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgbGF0ZW5jeU1zOiBudW1iZXI7XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBjb250ZXh0X3NpemU/OiBudW1iZXI7XG4gIGxhdGVuY3lfbXM/OiBudW1iZXI7XG4gIHJlcXVlc3RfaWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBOYXRpdmVSb3V0aW5nRGVjaXNpb24ge1xuICBtb2RlbDogc3RyaW5nO1xuICBjb250ZXh0U2l6ZTogbnVtYmVyO1xuICB0ZW1wZXJhdHVyZTogbnVtYmVyO1xuICB0b3BfcD86IG51bWJlcjtcbiAgdG9wUDogbnVtYmVyO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIGNvbnRleHRfc2l6ZT86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZU1lbW9yeVJlc3VsdCB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBEaXN0YW5jZSAoc21hbGxlciBpcyBjbG9zZXIpIGFzIHJlcG9ydGVkIGJ5IHRoZSBjdXJyZW50IG5hdGl2ZSBidWlsZC4gKi9cbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIC8qKiBTaW1pbGFyaXR5LCBlbWl0dGVkIGJ5IG9sZGVyIG5hdGl2ZSBidWlsZHMuICovXG4gIHNjb3JlPzogbnVtYmVyO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIG1ldGFkYXRhOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBOYXRpdmVTdGF0cyB7XG4gIHRvdGFsX3F1ZXJpZXM6IG51bWJlcjtcbiAgbWVtb3J5X25vZGVzOiBudW1iZXI7XG4gIHBhdHRlcm5zX2xlYXJuZWQ6IG51bWJlcjtcbiAgYXZnX2xhdGVuY3lfbXM6IG51bWJlcjtcbiAgY2FjaGVfaGl0X3JhdGU6IG51bWJlcjtcbiAgcm91dGVyX2FjY3VyYWN5OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVTaW1kT3BzIHtcbiAgZG90UHJvZHVjdChhOiBudW1iZXJbXSwgYjogbnVtYmVyW10pOiBudW1iZXI7XG4gIGNvc2luZVNpbWlsYXJpdHkoYTogbnVtYmVyW10sIGI6IG51bWJlcltdKTogbnVtYmVyO1xuICBsMkRpc3RhbmNlKGE6IG51bWJlcltdLCBiOiBudW1iZXJbXSk6IG51bWJlcjtcbiAgbWF0dmVjKG1hdHJpeDogbnVtYmVyW11bXSwgdmVjdG9yOiBudW1iZXJbXSk6IG51bWJlcltdO1xuICBzb2Z0bWF4KGlucHV0OiBudW1iZXJbXSk6IG51bWJlcltdO1xufVxuXG4vLyBQbGF0Zm9ybS1zcGVjaWZpYyBwYWNrYWdlIG5hbWVzXG5jb25zdCBQTEFURk9STV9QQUNLQUdFUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgJ2Rhcndpbi14NjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1kYXJ3aW4teDY0JyxcbiAgJ2Rhcndpbi1hcm02NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWRhcndpbi1hcm02NCcsXG4gICdsaW51eC14NjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1saW51eC14NjQtZ251JyxcbiAgJ2xpbnV4LWFybTY0JzogJ0BydXZlY3Rvci9ydXZsbG0tbGludXgtYXJtNjQtZ251JyxcbiAgJ3dpbjMyLXg2NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLXdpbjMyLXg2NC1tc3ZjJyxcbn07XG5cbmZ1bmN0aW9uIGdldFBsYXRmb3JtS2V5KCk6IHN0cmluZyB7XG4gIGNvbnN0IHBsYXRmb3JtID0gcHJvY2Vzcy5wbGF0Zm9ybTtcbiAgY29uc3QgYXJjaCA9IHByb2Nlc3MuYXJjaDtcbiAgcmV0dXJuIGAke3BsYXRmb3JtfS0ke2FyY2h9YDtcbn1cblxuZnVuY3Rpb24gbG9hZE5hdGl2ZU1vZHVsZSgpOiBOYXRpdmVSdXZMTE0gfCBudWxsIHtcbiAgaWYgKG5hdGl2ZU1vZHVsZSkge1xuICAgIHJldHVybiBuYXRpdmVNb2R1bGU7XG4gIH1cblxuICBjb25zdCBwbGF0Zm9ybUtleSA9IGdldFBsYXRmb3JtS2V5KCk7XG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gUExBVEZPUk1fUEFDS0FHRVNbcGxhdGZvcm1LZXldO1xuXG4gIGlmICghcGFja2FnZU5hbWUpIHtcbiAgICAvLyBTaWxlbnRseSBmYWlsIC0gSlMgZmFsbGJhY2sgd2lsbCBiZSB1c2VkXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBUcnkgbG9hZGluZyBmcm9tIG9wdGlvbmFsIGRlcGVuZGVuY2llc1xuICBjb25zdCBhdHRlbXB0cyA9IFtcbiAgICAvLyBUcnkgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2VcbiAgICAoKSA9PiByZXF1aXJlKHBhY2thZ2VOYW1lKSxcbiAgICAvLyBUcnkgbG9hZGluZyBmcm9tIGxvY2FsIC5ub2RlIGZpbGUgKENKUyBidWlsZClcbiAgICAoKSA9PiByZXF1aXJlKGpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncnV2bGxtLm5vZGUnKSksXG4gICAgLy8gVHJ5IGxvYWRpbmcgZnJvbSBsb2NhbCAubm9kZSBmaWxlIChyb290KVxuICAgICgpID0+IHJlcXVpcmUoam9pbihfX2Rpcm5hbWUsICcuLicsICdydXZsbG0ubm9kZScpKSxcbiAgXTtcblxuICBmb3IgKGNvbnN0IGF0dGVtcHQgb2YgYXR0ZW1wdHMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gYXR0ZW1wdCgpIGFzIFJhd05hdGl2ZU1vZHVsZTtcbiAgICAgIC8vIE5vcm1hbGl6ZTogbmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lLCB3ZSBleHBvc2UgYXMgUnV2TExNRW5naW5lXG4gICAgICBuYXRpdmVNb2R1bGUgPSB7XG4gICAgICAgIFJ1dkxMTUVuZ2luZTogcmF3LlJ1dkxMTUVuZ2luZSA/PyByYXcuUnV2TGxtRW5naW5lISxcbiAgICAgICAgU2ltZE9wZXJhdGlvbnM6IHJhdy5TaW1kT3BlcmF0aW9ucyxcbiAgICAgICAgdmVyc2lvbjogcmF3LnZlcnNpb24sXG4gICAgICAgIGhhc1NpbWRTdXBwb3J0OiByYXcuaGFzU2ltZFN1cHBvcnQsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIG5hdGl2ZU1vZHVsZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIENvbnRpbnVlIHRvIG5leHQgYXR0ZW1wdFxuICAgIH1cbiAgfVxuXG4gIC8vIFNpbGVudGx5IGZhbGwgYmFjayB0byBKUyBpbXBsZW1lbnRhdGlvblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gRXhwb3J0IGZ1bmN0aW9ucyB0byBnZXQgbmF0aXZlIGJpbmRpbmdzXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmF0aXZlTW9kdWxlKCk6IE5hdGl2ZVJ1dkxMTSB8IG51bGwge1xuICByZXR1cm4gbG9hZE5hdGl2ZU1vZHVsZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyc2lvbigpOiBzdHJpbmcge1xuICBjb25zdCBtb2QgPSBsb2FkTmF0aXZlTW9kdWxlKCk7XG4gIHJldHVybiBtb2Q/LnZlcnNpb24oKSA/PyAnMC4xLjAtanMnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzU2ltZFN1cHBvcnQoKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1vZCA9IGxvYWROYXRpdmVNb2R1bGUoKTtcbiAgcmV0dXJuIG1vZD8uaGFzU2ltZFN1cHBvcnQoKSA/PyBmYWxzZTtcbn1cblxuLy8gRXhwb3J0IHR5cGVzIGZvciBpbnRlcm5hbCB1c2VcbmV4cG9ydCB0eXBlIHtcbiAgTmF0aXZlUnV2TExNLFxuICBOYXRpdmVDb25maWcsXG4gIE5hdGl2ZUVuZ2luZSxcbiAgTmF0aXZlR2VuQ29uZmlnLFxuICBOYXRpdmVRdWVyeVJlc3BvbnNlLFxuICBOYXRpdmVSb3V0aW5nRGVjaXNpb24sXG4gIE5hdGl2ZU1lbW9yeVJlc3VsdCxcbiAgTmF0aXZlU3RhdHMsXG4gIE5hdGl2ZVNpbWRPcHMsXG59O1xuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsZ0NBQWdDO0FBQ2hDLElBQUksWUFBWSxHQUF3QixJQUFJLENBQUM7QUFrSzdDLGtDQUFrQztBQUNsQyxNQUFNLGlCQUFpQixHQUEyQjtJQUNoRCxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDLGNBQWMsRUFBRSwrQkFBK0I7SUFDL0MsV0FBVyxFQUFFLGdDQUFnQztJQUM3QyxhQUFhLEVBQUUsa0NBQWtDO0lBQ2pELFdBQVcsRUFBRSxpQ0FBaUM7Q0FDL0MsQ0FBQztBQUVGLFNBQVMsY0FBYztJQUNyQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDMUIsT0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBRUQsU0FBUyxnQkFBZ0I7SUFDdkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsMEVBQTBFO0lBQzFFLHFFQUFxRTtJQUNyRSxzREFBc0Q7SUFDdEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztJQUNoRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDO1lBQ0gsc0VBQXNFO1lBQ3RFLG9CQUFvQjtZQUNwQixZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQW9CLENBQUMsQ0FBQztZQUN4RSxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0JBQXNCLFFBQVEseUJBQTBCLENBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FDOUUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUM7SUFDckMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLDJDQUEyQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxrRUFBa0U7SUFDbEUsTUFBTSxZQUFZLEdBQUcsVUFBVSxXQUFXLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFFbkYseUNBQXlDO0lBQ3pDLE1BQU0sUUFBUSxHQUFHO1FBQ2Ysb0NBQW9DO1FBQ3BDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDMUIsZ0RBQWdEO1FBQ2hELEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekQsMkNBQTJDO1FBQzNDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRCx1REFBdUQ7UUFDdkQsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztLQUN6RCxDQUFDO0lBRUYsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUM7WUFDSCxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBcUIsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCwyQkFBMkI7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsb0VBQW9FO0FBQ3BFLFNBQVMsU0FBUyxDQUFDLEdBQW9CO0lBQ3JDLE9BQU87UUFDTCxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsWUFBYTtRQUNuRCxjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7UUFDbEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztLQUNuQyxDQUFDO0FBQ0osQ0FBQztBQUVELDBDQUEwQztBQUMxQyxNQUFNLFVBQVUsZUFBZTtJQUM3QixPQUFPLGdCQUFnQixFQUFFLENBQUM7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDL0IsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksVUFBVSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYztJQUM1QixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLEtBQUssQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYXRpdmUgYmluZGluZ3MgbG9hZGVyIGZvciBSdXZMTE1cbiAqXG4gKiBBdXRvbWF0aWNhbGx5IGxvYWRzIHRoZSBjb3JyZWN0IG5hdGl2ZSBiaW5hcnkgZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLlxuICovXG5cbmltcG9ydCB7IGpvaW4sIHJlc29sdmUgfSBmcm9tICdwYXRoJztcblxuLy8gVHJ5IHRvIGxvYWQgdGhlIG5hdGl2ZSBtb2R1bGVcbmxldCBuYXRpdmVNb2R1bGU6IE5hdGl2ZVJ1dkxMTSB8IG51bGwgPSBudWxsO1xuXG5pbnRlcmZhY2UgTmF0aXZlUnV2TExNIHtcbiAgLy8gTmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lIChjYW1lbENhc2UpLCB3ZSBub3JtYWxpemUgdG8gUnV2TExNRW5naW5lXG4gIFJ1dkxMTUVuZ2luZTogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG4vLyBSYXcgbmF0aXZlIG1vZHVsZSBpbnRlcmZhY2UgKGFjdHVhbCBleHBvcnQgbmFtZXMpXG5pbnRlcmZhY2UgUmF3TmF0aXZlTW9kdWxlIHtcbiAgUnV2TGxtRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgUnV2TExNRW5naW5lPzogbmV3IChjb25maWc/OiBOYXRpdmVDb25maWcpID0+IE5hdGl2ZUVuZ2luZTtcbiAgU2ltZE9wZXJhdGlvbnM6IG5ldyAoKSA9PiBOYXRpdmVTaW1kT3BzO1xuICB2ZXJzaW9uOiAoKSA9PiBzdHJpbmc7XG4gIGhhc1NpbWRTdXBwb3J0OiAoKSA9PiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlQ29uZmlnIHtcbiAgZW1iZWRkaW5nX2RpbT86IG51bWJlcjtcbiAgcm91dGVyX2hpZGRlbl9kaW0/OiBudW1iZXI7XG4gIGhuc3dfbT86IG51bWJlcjtcbiAgaG5zd19lZl9jb25zdHJ1Y3Rpb24/OiBudW1iZXI7XG4gIGhuc3dfZWZfc2VhcmNoPzogbnVtYmVyO1xuICBsZWFybmluZ19lbmFibGVkPzogYm9vbGVhbjtcbiAgcXVhbGl0eV90aHJlc2hvbGQ/OiBudW1iZXI7XG4gIGV3Y19sYW1iZGE/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVFbmdpbmUge1xuICBxdWVyeSh0ZXh0OiBzdHJpbmcsIGNvbmZpZz86IE5hdGl2ZUdlbkNvbmZpZyk6IE5hdGl2ZVF1ZXJ5UmVzcG9uc2U7XG4gIC8qKlxuICAgKiBCdWlsZHMgd2l0aCBgbG9hZE1vZGVsYCByZXR1cm4gYSBnZW5lcmF0aW9uIHJlc3VsdCBhbmQgdGhyb3cgd2hpbGUgbm9cbiAgICogbW9kZWwgaXMgbG9hZGVkOyBvbGRlciBidWlsZHMgKHRoZSAyLjAueCBwbGF0Zm9ybSBwYWNrYWdlcykgcmV0dXJuIGFcbiAgICogc3RyaW5nIHRoYXQgaXMgbm90IG1vZGVsIG91dHB1dCwgc28gdGhlIHdyYXBwZXIgbmV2ZXIgY2FsbHMgdGhlbS5cbiAgICovXG4gIGdlbmVyYXRlKHByb21wdDogc3RyaW5nLCBjb25maWc/OiBOYXRpdmVHZW5Db25maWcpOiBOYXRpdmVHZW5lcmF0aW9uUmVzdWx0IHwgc3RyaW5nO1xuICAvKipcbiAgICogUHJlc2VudCBvbiBidWlsZHMgc2luY2UgbW9kZWwgbG9hZGluZyB3YXMgYWRkZWQuIFRob3NlIGJ1aWx0IHdpdGhvdXQgdGhlXG4gICAqIGBjYW5kbGVgIGZlYXR1cmUgdGhyb3cgYFJVVkxMTV9OT19JTkZFUkVOQ0VfQkFDS0VORGA7IHNlZVxuICAgKiBgc3VwcG9ydHNNb2RlbExvYWRpbmdgLlxuICAgKi9cbiAgbG9hZE1vZGVsPyhwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBOYXRpdmVMb2FkTW9kZWxPcHRpb25zKTogTmF0aXZlTW9kZWxJbmZvO1xuICAvKiogV2hldGhlciB0aGUgYmluYXJ5IHdhcyBidWlsdCB3aXRoIHRoZSBgY2FuZGxlYCBmZWF0dXJlIChhYnNlbnQgb24gb2xkZXIgYnVpbGRzKS4gKi9cbiAgc3VwcG9ydHNNb2RlbExvYWRpbmc/KCk6IGJvb2xlYW47XG4gIHVubG9hZE1vZGVsPygpOiB2b2lkO1xuICBpc01vZGVsTG9hZGVkPygpOiBib29sZWFuO1xuICBtb2RlbEluZm8/KCk6IE5hdGl2ZU1vZGVsSW5mbyB8IG51bGw7XG4gIGNoYXQ/KG1lc3NhZ2VzOiBOYXRpdmVDaGF0TWVzc2FnZVtdLCBjb25maWc/OiBOYXRpdmVHZW5Db25maWcpOiBOYXRpdmVHZW5lcmF0aW9uUmVzdWx0O1xuICByb3V0ZSh0ZXh0OiBzdHJpbmcpOiBOYXRpdmVSb3V0aW5nRGVjaXNpb247XG4gIHNlYXJjaE1lbW9yeSh0ZXh0OiBzdHJpbmcsIGs/OiBudW1iZXIpOiBOYXRpdmVNZW1vcnlSZXN1bHRbXTtcbiAgLyoqIEN1cnJlbnQgbmF0aXZlIGJ1aWxkcyByZXR1cm4gYSBVVUlEIHN0cmluZzsgb2xkZXIgb25lcyByZXR1cm5lZCBhIG51bWJlci4gKi9cbiAgYWRkTWVtb3J5KGNvbnRlbnQ6IHN0cmluZywgbWV0YWRhdGE/OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXI7XG4gIGZlZWRiYWNrKHJlcXVlc3RJZDogc3RyaW5nLCByYXRpbmc6IG51bWJlciwgY29ycmVjdGlvbj86IHN0cmluZyk6IGJvb2xlYW47XG4gIHN0YXRzKCk6IE5hdGl2ZVN0YXRzO1xuICBmb3JjZUxlYXJuKCk6IHN0cmluZztcbiAgZW1iZWQodGV4dDogc3RyaW5nKTogbnVtYmVyW107XG4gIHNpbWlsYXJpdHkodGV4dDE6IHN0cmluZywgdGV4dDI6IHN0cmluZyk6IG51bWJlcjtcbiAgaGFzU2ltZCgpOiBib29sZWFuO1xuICBzaW1kQ2FwYWJpbGl0aWVzKCk6IHN0cmluZ1tdO1xufVxuXG4vLyBuYXBpLXJzIHJlYWRzIGAjW25hcGkob2JqZWN0KV1gIGZpZWxkcyBieSB0aGVpciBjYW1lbENhc2UgbmFtZXM7IHNuYWtlX2Nhc2Vcbi8vIGtleXMgYXJlIHNpbGVudGx5IGlnbm9yZWQgKHdoaWNoIGlzIGhvdyBgbWF4VG9rZW5zYCB1c2VkIHRvIGJlIGRyb3BwZWQpLlxuaW50ZXJmYWNlIE5hdGl2ZUdlbkNvbmZpZyB7XG4gIG1heFRva2Vucz86IG51bWJlcjtcbiAgdGVtcGVyYXR1cmU/OiBudW1iZXI7XG4gIHRvcFA/OiBudW1iZXI7XG4gIHRvcEs/OiBudW1iZXI7XG4gIHJlcGV0aXRpb25QZW5hbHR5PzogbnVtYmVyO1xuICBzdG9wU2VxdWVuY2VzPzogc3RyaW5nW107XG4gIHNlZWQ/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBOYXRpdmVMb2FkTW9kZWxPcHRpb25zIHtcbiAgbWF4Q29udGV4dD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZUNoYXRNZXNzYWdlIHtcbiAgcm9sZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBOYXRpdmVHZW5lcmF0aW9uUmVzdWx0IHtcbiAgdGV4dDogc3RyaW5nO1xuICBwcm9tcHRUb2tlbnM6IG51bWJlcjtcbiAgY29tcGxldGlvblRva2VuczogbnVtYmVyO1xuICBmaW5pc2hSZWFzb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZU1vZGVsSW5mbyB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXJjaGl0ZWN0dXJlOiBzdHJpbmc7XG4gIG51bVBhcmFtZXRlcnM6IG51bWJlcjtcbiAgdm9jYWJTaXplOiBudW1iZXI7XG4gIGhpZGRlblNpemU6IG51bWJlcjtcbiAgbnVtTGF5ZXJzOiBudW1iZXI7XG4gIG1heENvbnRleHRMZW5ndGg6IG51bWJlcjtcbiAgcXVhbnRpemF0aW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgbWVtb3J5VXNhZ2VCeXRlczogbnVtYmVyO1xuICBjaGF0VGVtcGxhdGU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vLyBuYXBpLXJzIGNhbWVsQ2FzZXMgUnVzdCBzdHJ1Y3QgZmllbGRzIHdoZW4gaXQgYnVpbGRzIHRoZSBKUyBvYmplY3QsIHNvIHRoZVxuLy8gcmVhbCBuYXRpdmUgc2hhcGUgaXMgY2FtZWxDYXNlLiBUaGVzZSBpbnRlcmZhY2VzIHByZXZpb3VzbHkgZGVjbGFyZWQgb25seVxuLy8gc25ha2VfY2FzZSwgd2hpY2ggaXMgd2h5IHRoZSB3cmFwcGVyJ3Mgc25ha2VfY2FzZSByZWFkcyB0eXBlY2hlY2tlZCB3aGlsZVxuLy8gc2lsZW50bHkgeWllbGRpbmcgdW5kZWZpbmVkIGF0IHJ1bnRpbWUuIEJvdGggc3BlbGxpbmdzIGFyZSBkZWNsYXJlZCDigJRcbi8vIGNhbWVsQ2FzZSByZXF1aXJlZCwgc25ha2VfY2FzZSBvcHRpb25hbCDigJQgc28gb2xkZXIgbmF0aXZlIGJ1aWxkcyBzdGlsbCBmaXQuXG5pbnRlcmZhY2UgTmF0aXZlUXVlcnlSZXNwb25zZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgY29uZmlkZW5jZTogbnVtYmVyO1xuICBtb2RlbDogc3RyaW5nO1xuICBjb250ZXh0U2l6ZTogbnVtYmVyO1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIC8qKiBCdWlsZHMgd2l0aCBgbG9hZE1vZGVsYCBhbHNvIHJlcG9ydCB0b2tlbiB1c2FnZS4gKi9cbiAgcHJvbXB0VG9rZW5zPzogbnVtYmVyO1xuICBjb21wbGV0aW9uVG9rZW5zPzogbnVtYmVyO1xuICBmaW5pc2hSZWFzb24/OiBzdHJpbmc7XG4gIGNvbnRleHRfc2l6ZT86IG51bWJlcjtcbiAgbGF0ZW5jeV9tcz86IG51bWJlcjtcbiAgcmVxdWVzdF9pZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVJvdXRpbmdEZWNpc2lvbiB7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGNvbnRleHRTaXplOiBudW1iZXI7XG4gIHRlbXBlcmF0dXJlOiBudW1iZXI7XG4gIHRvcF9wPzogbnVtYmVyO1xuICB0b3BQOiBudW1iZXI7XG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbiAgY29udGV4dF9zaXplPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlTWVtb3J5UmVzdWx0IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqIERpc3RhbmNlIChzbWFsbGVyIGlzIGNsb3NlcikgYXMgcmVwb3J0ZWQgYnkgdGhlIGN1cnJlbnQgbmF0aXZlIGJ1aWxkLiAqL1xuICBkaXN0YW5jZT86IG51bWJlcjtcbiAgLyoqIFNpbWlsYXJpdHksIGVtaXR0ZWQgYnkgb2xkZXIgbmF0aXZlIGJ1aWxkcy4gKi9cbiAgc2NvcmU/OiBudW1iZXI7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgbWV0YWRhdGE6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVN0YXRzIHtcbiAgdG90YWxfcXVlcmllczogbnVtYmVyO1xuICBtZW1vcnlfbm9kZXM6IG51bWJlcjtcbiAgcGF0dGVybnNfbGVhcm5lZDogbnVtYmVyO1xuICBhdmdfbGF0ZW5jeV9tczogbnVtYmVyO1xuICBjYWNoZV9oaXRfcmF0ZTogbnVtYmVyO1xuICByb3V0ZXJfYWNjdXJhY3k6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIE5hdGl2ZVNpbWRPcHMge1xuICBkb3RQcm9kdWN0KGE6IG51bWJlcltdLCBiOiBudW1iZXJbXSk6IG51bWJlcjtcbiAgY29zaW5lU2ltaWxhcml0eShhOiBudW1iZXJbXSwgYjogbnVtYmVyW10pOiBudW1iZXI7XG4gIGwyRGlzdGFuY2UoYTogbnVtYmVyW10sIGI6IG51bWJlcltdKTogbnVtYmVyO1xuICBtYXR2ZWMobWF0cml4OiBudW1iZXJbXVtdLCB2ZWN0b3I6IG51bWJlcltdKTogbnVtYmVyW107XG4gIHNvZnRtYXgoaW5wdXQ6IG51bWJlcltdKTogbnVtYmVyW107XG59XG5cbi8vIFBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2UgbmFtZXNcbmNvbnN0IFBMQVRGT1JNX1BBQ0tBR0VTOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnZGFyd2luLXg2NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWRhcndpbi14NjQnLFxuICAnZGFyd2luLWFybTY0JzogJ0BydXZlY3Rvci9ydXZsbG0tZGFyd2luLWFybTY0JyxcbiAgJ2xpbnV4LXg2NCc6ICdAcnV2ZWN0b3IvcnV2bGxtLWxpbnV4LXg2NC1nbnUnLFxuICAnbGludXgtYXJtNjQnOiAnQHJ1dmVjdG9yL3J1dmxsbS1saW51eC1hcm02NC1nbnUnLFxuICAnd2luMzIteDY0JzogJ0BydXZlY3Rvci9ydXZsbG0td2luMzIteDY0LW1zdmMnLFxufTtcblxuZnVuY3Rpb24gZ2V0UGxhdGZvcm1LZXkoKTogc3RyaW5nIHtcbiAgY29uc3QgcGxhdGZvcm0gPSBwcm9jZXNzLnBsYXRmb3JtO1xuICBjb25zdCBhcmNoID0gcHJvY2Vzcy5hcmNoO1xuICByZXR1cm4gYCR7cGxhdGZvcm19LSR7YXJjaH1gO1xufVxuXG5mdW5jdGlvbiBsb2FkTmF0aXZlTW9kdWxlKCk6IE5hdGl2ZVJ1dkxMTSB8IG51bGwge1xuICBpZiAobmF0aXZlTW9kdWxlKSB7XG4gICAgcmV0dXJuIG5hdGl2ZU1vZHVsZTtcbiAgfVxuXG4gIC8vIEFuIGV4cGxpY2l0IGJpbmFyeSAoZS5nLiBvbmUgYnVpbHQgbG9jYWxseSB3aXRoIGBucG0gcnVuIGJ1aWxkOm5hdGl2ZWApXG4gIC8vIHdpbnMgb3ZlciB0aGUgaW5zdGFsbGVkIHBsYXRmb3JtIHBhY2thZ2UuIEZhaWxpbmcgdG8gbG9hZCBpdCBpcyBhblxuICAvLyBlcnJvciwgbm90IGEgc2lsZW50IGZhbGxiYWNrIHRvIGEgZGlmZmVyZW50IGJpbmFyeS5cbiAgY29uc3Qgb3ZlcnJpZGUgPSBwcm9jZXNzLmVudi5SVVZMTE1fTkFUSVZFX1BBVEg7XG4gIGlmIChvdmVycmlkZSkge1xuICAgIHRyeSB7XG4gICAgICAvLyByZXNvbHZlKCk6IGEgcmVsYXRpdmUgcGF0aCBtZWFucyByZWxhdGl2ZSB0byB0aGUgd29ya2luZyBkaXJlY3RvcnksXG4gICAgICAvLyBub3QgdG8gdGhpcyBmaWxlLlxuICAgICAgbmF0aXZlTW9kdWxlID0gbm9ybWFsaXplKHJlcXVpcmUocmVzb2x2ZShvdmVycmlkZSkpIGFzIFJhd05hdGl2ZU1vZHVsZSk7XG4gICAgICByZXR1cm4gbmF0aXZlTW9kdWxlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFJVVkxMTV9OQVRJVkVfUEFUSD0ke292ZXJyaWRlfSBjb3VsZCBub3QgYmUgbG9hZGVkOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBsYXRmb3JtS2V5ID0gZ2V0UGxhdGZvcm1LZXkoKTtcbiAgY29uc3QgcGFja2FnZU5hbWUgPSBQTEFURk9STV9QQUNLQUdFU1twbGF0Zm9ybUtleV07XG5cbiAgaWYgKCFwYWNrYWdlTmFtZSkge1xuICAgIC8vIFNpbGVudGx5IGZhaWwgLSBKUyBmYWxsYmFjayB3aWxsIGJlIHVzZWRcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBgbmFwaSBidWlsZCAtLXBsYXRmb3JtYCBuYW1lcyBpdHMgb3V0cHV0IHJ1dmxsbS48cGxhdGZvcm0+Lm5vZGVcbiAgY29uc3QgcGxhdGZvcm1GaWxlID0gYHJ1dmxsbS4ke3BhY2thZ2VOYW1lLnJlcGxhY2UoJ0BydXZlY3Rvci9ydXZsbG0tJywgJycpfS5ub2RlYDtcblxuICAvLyBUcnkgbG9hZGluZyBmcm9tIG9wdGlvbmFsIGRlcGVuZGVuY2llc1xuICBjb25zdCBhdHRlbXB0cyA9IFtcbiAgICAvLyBUcnkgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2VcbiAgICAoKSA9PiByZXF1aXJlKHBhY2thZ2VOYW1lKSxcbiAgICAvLyBUcnkgbG9hZGluZyBmcm9tIGxvY2FsIC5ub2RlIGZpbGUgKENKUyBidWlsZClcbiAgICAoKSA9PiByZXF1aXJlKGpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAncnV2bGxtLm5vZGUnKSksXG4gICAgLy8gVHJ5IGxvYWRpbmcgZnJvbSBsb2NhbCAubm9kZSBmaWxlIChyb290KVxuICAgICgpID0+IHJlcXVpcmUoam9pbihfX2Rpcm5hbWUsICcuLicsICdydXZsbG0ubm9kZScpKSxcbiAgICAvLyBPdXRwdXQgb2YgYG5wbSBydW4gYnVpbGQ6bmF0aXZlYCBpbiB0aGUgcGFja2FnZSByb290XG4gICAgKCkgPT4gcmVxdWlyZShqb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgcGxhdGZvcm1GaWxlKSksXG4gIF07XG5cbiAgZm9yIChjb25zdCBhdHRlbXB0IG9mIGF0dGVtcHRzKSB7XG4gICAgdHJ5IHtcbiAgICAgIG5hdGl2ZU1vZHVsZSA9IG5vcm1hbGl6ZShhdHRlbXB0KCkgYXMgUmF3TmF0aXZlTW9kdWxlKTtcbiAgICAgIHJldHVybiBuYXRpdmVNb2R1bGU7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBDb250aW51ZSB0byBuZXh0IGF0dGVtcHRcbiAgICB9XG4gIH1cblxuICAvLyBTaWxlbnRseSBmYWxsIGJhY2sgdG8gSlMgaW1wbGVtZW50YXRpb25cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIE5vcm1hbGl6ZTogbmF0aXZlIGV4cG9ydHMgUnV2TGxtRW5naW5lLCB3ZSBleHBvc2UgYXMgUnV2TExNRW5naW5lXG5mdW5jdGlvbiBub3JtYWxpemUocmF3OiBSYXdOYXRpdmVNb2R1bGUpOiBOYXRpdmVSdXZMTE0ge1xuICByZXR1cm4ge1xuICAgIFJ1dkxMTUVuZ2luZTogcmF3LlJ1dkxMTUVuZ2luZSA/PyByYXcuUnV2TGxtRW5naW5lISxcbiAgICBTaW1kT3BlcmF0aW9uczogcmF3LlNpbWRPcGVyYXRpb25zLFxuICAgIHZlcnNpb246IHJhdy52ZXJzaW9uLFxuICAgIGhhc1NpbWRTdXBwb3J0OiByYXcuaGFzU2ltZFN1cHBvcnQsXG4gIH07XG59XG5cbi8vIEV4cG9ydCBmdW5jdGlvbnMgdG8gZ2V0IG5hdGl2ZSBiaW5kaW5nc1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5hdGl2ZU1vZHVsZSgpOiBOYXRpdmVSdXZMTE0gfCBudWxsIHtcbiAgcmV0dXJuIGxvYWROYXRpdmVNb2R1bGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb24oKTogc3RyaW5nIHtcbiAgY29uc3QgbW9kID0gbG9hZE5hdGl2ZU1vZHVsZSgpO1xuICByZXR1cm4gbW9kPy52ZXJzaW9uKCkgPz8gJzAuMS4wLWpzJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1NpbWRTdXBwb3J0KCk6IGJvb2xlYW4ge1xuICBjb25zdCBtb2QgPSBsb2FkTmF0aXZlTW9kdWxlKCk7XG4gIHJldHVybiBtb2Q/Lmhhc1NpbWRTdXBwb3J0KCkgPz8gZmFsc2U7XG59XG5cbi8vIEV4cG9ydCB0eXBlcyBmb3IgaW50ZXJuYWwgdXNlXG5leHBvcnQgdHlwZSB7XG4gIE5hdGl2ZVJ1dkxMTSxcbiAgTmF0aXZlQ29uZmlnLFxuICBOYXRpdmVFbmdpbmUsXG4gIE5hdGl2ZUdlbkNvbmZpZyxcbiAgTmF0aXZlTG9hZE1vZGVsT3B0aW9ucyxcbiAgTmF0aXZlQ2hhdE1lc3NhZ2UsXG4gIE5hdGl2ZUdlbmVyYXRpb25SZXN1bHQsXG4gIE5hdGl2ZU1vZGVsSW5mbyxcbiAgTmF0aXZlUXVlcnlSZXNwb25zZSxcbiAgTmF0aXZlUm91dGluZ0RlY2lzaW9uLFxuICBOYXRpdmVNZW1vcnlSZXN1bHQsXG4gIE5hdGl2ZVN0YXRzLFxuICBOYXRpdmVTaW1kT3BzLFxufTtcbiJdfQ==
@@ -22,10 +22,24 @@ export interface RuvLLMConfig {
22
22
  /** EWC lambda (default: 2000) */
23
23
  ewcLambda?: number;
24
24
  /**
25
- * Throw instead of warning when the engine cannot produce language-model
26
- * text: when a `modelPath` is passed (this package does not load GGUF
27
- * files), and when `generate()`/`query()` would return text from the
28
- * native engine, which has no language-model weights. Default false.
25
+ * GGUF file (or a directory holding one) to load in the constructor, the
26
+ * same as calling `loadModel(modelPath)`. The constructor throws if the
27
+ * model cannot be loaded. Requires a native binary that supports model
28
+ * loading (see `RuvLLM.loadModel`).
29
+ */
30
+ modelPath?: string;
31
+ /** Options for loading `modelPath` */
32
+ modelOptions?: LoadModelOptions;
33
+ /**
34
+ * Return a clearly labelled placeholder string from `generate()`/`query()`
35
+ * when no model is loaded, instead of throwing `RUVLLM_NO_LANGUAGE_MODEL`.
36
+ * The placeholder is never model output. For demos and tests only; also
37
+ * enabled by the environment variable `RUVLLM_ALLOW_MOCK=1`. Default false.
38
+ */
39
+ allowPlaceholder?: boolean;
40
+ /**
41
+ * Throw instead of warning for unsupported options (`backend`). Generation
42
+ * without a loaded model always throws unless `allowPlaceholder` is set.
29
43
  */
30
44
  strict?: boolean;
31
45
  }
@@ -33,26 +47,87 @@ export interface RuvLLMConfig {
33
47
  * Generation configuration
34
48
  */
35
49
  export interface GenerationConfig {
36
- /** Maximum tokens to generate */
50
+ /** Maximum tokens to generate (default: 256) */
37
51
  maxTokens?: number;
38
- /** Temperature for sampling (0.0 - 2.0) */
52
+ /** Temperature for sampling; 0 = greedy (default: 0.7) */
39
53
  temperature?: number;
40
- /** Top-p nucleus sampling (0.0 - 1.0) */
54
+ /** Top-p nucleus sampling, in (0, 1] (default: 0.9) */
41
55
  topP?: number;
42
- /** Top-k sampling */
56
+ /** Top-k sampling; 0 disables it (default: 50) */
43
57
  topK?: number;
44
- /** Repetition penalty */
58
+ /** Repetition penalty (default: 1.1) */
45
59
  repetitionPenalty?: number;
60
+ /** Stop when any of these strings is generated; it is not included in the text */
61
+ stopSequences?: string[];
62
+ /** Sampling seed for reproducible output at temperature > 0 */
63
+ seed?: number;
64
+ }
65
+ /**
66
+ * Options for `RuvLLM.loadModel`
67
+ */
68
+ export interface LoadModelOptions {
69
+ /** Maximum context in tokens, prompt plus completion (default: 4096) */
70
+ maxContext?: number;
71
+ }
72
+ /**
73
+ * The language model loaded with `RuvLLM.loadModel`
74
+ */
75
+ export interface LoadedModelInfo {
76
+ /** Model name (file stem) */
77
+ name: string;
78
+ /** Architecture family, e.g. "Llama" or "Qwen" */
79
+ architecture: string;
80
+ /** Approximate parameter count */
81
+ numParameters: number;
82
+ /** Vocabulary size */
83
+ vocabSize: number;
84
+ /** Hidden dimension */
85
+ hiddenSize: number;
86
+ /** Number of layers */
87
+ numLayers: number;
88
+ /** Maximum context length in tokens */
89
+ maxContextLength: number;
90
+ /** Weight quantization, e.g. "Q4K", when known */
91
+ quantization?: string | null;
92
+ /** Approximate memory used by the weights, in bytes */
93
+ memoryUsageBytes: number;
94
+ /** Chat template used by `chat()` and `query()`, e.g. "Qwen" or "Llama3" */
95
+ chatTemplate?: string | null;
96
+ }
97
+ /**
98
+ * One message of a chat conversation
99
+ */
100
+ export interface ChatMessage {
101
+ role: 'system' | 'user' | 'assistant';
102
+ content: string;
103
+ }
104
+ /**
105
+ * Why generation ended: `stop` (end-of-sequence token or a stop sequence),
106
+ * `length` (`maxTokens` reached or the context is full) or `cancelled`.
107
+ */
108
+ export type FinishReason = 'stop' | 'length' | 'cancelled';
109
+ /**
110
+ * Text generated by the loaded model, with token accounting
111
+ */
112
+ export interface GenerationResult {
113
+ /** Generated text, excluding the prompt and any stop sequence */
114
+ text: string;
115
+ /** Prompt tokens, counted with the model's tokenizer (after the chat template for `chat()`) */
116
+ promptTokens: number;
117
+ /** Tokens generated, including an end-of-sequence token that ended generation */
118
+ completionTokens: number;
119
+ /** Why generation ended */
120
+ finishReason: FinishReason;
46
121
  }
47
122
  /**
48
123
  * Query response from the LLM
49
124
  */
50
125
  export interface QueryResponse {
51
- /** Generated text */
126
+ /** Text generated by the loaded model (or a labelled placeholder with `allowPlaceholder`) */
52
127
  text: string;
53
128
  /** Confidence score (0.0 - 1.0) */
54
129
  confidence: number;
55
- /** Selected model */
130
+ /** Model size recommended by the router (not the loaded model) */
56
131
  model: string;
57
132
  /** Context size used */
58
133
  contextSize: number;
@@ -60,6 +135,12 @@ export interface QueryResponse {
60
135
  latencyMs: number;
61
136
  /** Request ID for feedback */
62
137
  requestId: string;
138
+ /** Prompt tokens after the chat template (absent for placeholder responses) */
139
+ promptTokens?: number;
140
+ /** Tokens generated (absent for placeholder responses) */
141
+ completionTokens?: number;
142
+ /** Why generation ended (absent for placeholder responses) */
143
+ finishReason?: FinishReason;
63
144
  }
64
145
  /**
65
146
  * Routing decision
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/esm/types.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * RuvLLM Type Definitions
3
3
  */
4
4
  export {};
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJ1dkxMTSBUeXBlIERlZmluaXRpb25zXG4gKi9cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBSdXZMTE0gZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnV2TExNQ29uZmlnIHtcbiAgLyoqIEVtYmVkZGluZyBkaW1lbnNpb24gKGRlZmF1bHQ6IDc2OCkgKi9cbiAgZW1iZWRkaW5nRGltPzogbnVtYmVyO1xuICAvKiogUm91dGVyIGhpZGRlbiBkaW1lbnNpb24gKGRlZmF1bHQ6IDEyOCkgKi9cbiAgcm91dGVySGlkZGVuRGltPzogbnVtYmVyO1xuICAvKiogSE5TVyBNIHBhcmFtZXRlciAoZGVmYXVsdDogMTYpICovXG4gIGhuc3dNPzogbnVtYmVyO1xuICAvKiogSE5TVyBlZl9jb25zdHJ1Y3Rpb24gKGRlZmF1bHQ6IDEwMCkgKi9cbiAgaG5zd0VmQ29uc3RydWN0aW9uPzogbnVtYmVyO1xuICAvKiogSE5TVyBlZl9zZWFyY2ggKGRlZmF1bHQ6IDY0KSAqL1xuICBobnN3RWZTZWFyY2g/OiBudW1iZXI7XG4gIC8qKiBFbmFibGUgbGVhcm5pbmcgKGRlZmF1bHQ6IHRydWUpICovXG4gIGxlYXJuaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCBmb3IgbGVhcm5pbmcgKGRlZmF1bHQ6IDAuNykgKi9cbiAgcXVhbGl0eVRocmVzaG9sZD86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgKGRlZmF1bHQ6IDIwMDApICovXG4gIGV3Y0xhbWJkYT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRocm93IGluc3RlYWQgb2Ygd2FybmluZyB3aGVuIHRoZSBlbmdpbmUgY2Fubm90IHByb2R1Y2UgbGFuZ3VhZ2UtbW9kZWxcbiAgICogdGV4dDogd2hlbiBhIGBtb2RlbFBhdGhgIGlzIHBhc3NlZCAodGhpcyBwYWNrYWdlIGRvZXMgbm90IGxvYWQgR0dVRlxuICAgKiBmaWxlcyksIGFuZCB3aGVuIGBnZW5lcmF0ZSgpYC9gcXVlcnkoKWAgd291bGQgcmV0dXJuIHRleHQgZnJvbSB0aGVcbiAgICogbmF0aXZlIGVuZ2luZSwgd2hpY2ggaGFzIG5vIGxhbmd1YWdlLW1vZGVsIHdlaWdodHMuIERlZmF1bHQgZmFsc2UuXG4gICAqL1xuICBzdHJpY3Q/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdlbmVyYXRpb24gY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRpb25Db25maWcge1xuICAvKiogTWF4aW11bSB0b2tlbnMgdG8gZ2VuZXJhdGUgKi9cbiAgbWF4VG9rZW5zPzogbnVtYmVyO1xuICAvKiogVGVtcGVyYXR1cmUgZm9yIHNhbXBsaW5nICgwLjAgLSAyLjApICovXG4gIHRlbXBlcmF0dXJlPzogbnVtYmVyO1xuICAvKiogVG9wLXAgbnVjbGV1cyBzYW1wbGluZyAoMC4wIC0gMS4wKSAqL1xuICB0b3BQPzogbnVtYmVyO1xuICAvKiogVG9wLWsgc2FtcGxpbmcgKi9cbiAgdG9wSz86IG51bWJlcjtcbiAgLyoqIFJlcGV0aXRpb24gcGVuYWx0eSAqL1xuICByZXBldGl0aW9uUGVuYWx0eT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBRdWVyeSByZXNwb25zZSBmcm9tIHRoZSBMTE1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeVJlc3BvbnNlIHtcbiAgLyoqIEdlbmVyYXRlZCB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIENvbmZpZGVuY2Ugc2NvcmUgKDAuMCAtIDEuMCkgKi9cbiAgY29uZmlkZW5jZTogbnVtYmVyO1xuICAvKiogU2VsZWN0ZWQgbW9kZWwgKi9cbiAgbW9kZWw6IHN0cmluZztcbiAgLyoqIENvbnRleHQgc2l6ZSB1c2VkICovXG4gIGNvbnRleHRTaXplOiBudW1iZXI7XG4gIC8qKiBMYXRlbmN5IGluIG1pbGxpc2Vjb25kcyAqL1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbiAgLyoqIFJlcXVlc3QgSUQgZm9yIGZlZWRiYWNrICovXG4gIHJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJvdXRpbmcgZGVjaXNpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0aW5nRGVjaXNpb24ge1xuICAvKiogU2VsZWN0ZWQgbW9kZWwgc2l6ZSAqL1xuICBtb2RlbDogTW9kZWxTaXplO1xuICAvKiogUmVjb21tZW5kZWQgY29udGV4dCBzaXplICovXG4gIGNvbnRleHRTaXplOiBudW1iZXI7XG4gIC8qKiBUZW1wZXJhdHVyZSAqL1xuICB0ZW1wZXJhdHVyZTogbnVtYmVyO1xuICAvKiogVG9wLXAgKi9cbiAgdG9wUDogbnVtYmVyO1xuICAvKiogQ29uZmlkZW5jZSAqL1xuICBjb25maWRlbmNlOiBudW1iZXI7XG59XG5cbi8qKlxuICogTWVtb3J5IHNlYXJjaCByZXN1bHRcbiAqL1xuLyoqIElkZW50aWZpZXIgZm9yIGEgc3RvcmVkIG1lbW9yeSBub2RlLiAqL1xuZXhwb3J0IHR5cGUgTWVtb3J5SWQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtb3J5UmVzdWx0IHtcbiAgLyoqIE5vZGUgSUQg4oCUIGEgVVVJRCBzdHJpbmcgb24gY3VycmVudCBuYXRpdmUgYnVpbGRzLCBhIG51bWJlciBvbiBvbGRlciBvbmVzLiAqL1xuICBpZDogTWVtb3J5SWQ7XG4gIC8qKiBTaW1pbGFyaXR5IHNjb3JlICovXG4gIHNjb3JlOiBudW1iZXI7XG4gIC8qKiBDb250ZW50IHRleHQgKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIEVuZ2luZSBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnV2TExNU3RhdHMge1xuICAvKiogVG90YWwgcXVlcmllcyBwcm9jZXNzZWQgKi9cbiAgdG90YWxRdWVyaWVzOiBudW1iZXI7XG4gIC8qKiBNZW1vcnkgbm9kZXMgc3RvcmVkICovXG4gIG1lbW9yeU5vZGVzOiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJucyBsZWFybmVkICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBsYXRlbmN5IGluIG1zICovXG4gIGF2Z0xhdGVuY3lNczogbnVtYmVyO1xuICAvKiogQ2FjaGUgaGl0IHJhdGUgKDAuMCAtIDEuMCkgKi9cbiAgY2FjaGVIaXRSYXRlOiBudW1iZXI7XG4gIC8qKiBSb3V0ZXIgYWNjdXJhY3kgKDAuMCAtIDEuMCkgKi9cbiAgcm91dGVyQWNjdXJhY3k6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNb2RlbCBzaXplIG9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxTaXplID0gJ00zNTAnIHwgJ003MDAnIHwgJ0IxXzInIHwgJ0IyXzYnO1xuXG4vKipcbiAqIEZlZWRiYWNrIGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrIHtcbiAgLyoqIFJlcXVlc3QgSUQgZnJvbSBxdWVyeSByZXNwb25zZSAqL1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgLyoqIFJhdGluZyAxLTUgKi9cbiAgcmF0aW5nOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uIHRleHQgKi9cbiAgY29ycmVjdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZXNzaW9uIGZvciBtdWx0aS10dXJuIGNvbnZlcnNhdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcbiAgLyoqIFNlc3Npb24gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIENyZWF0ZWQgdGltZXN0YW1wICovXG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgLyoqIE1lc3NhZ2VzIGluIHNlc3Npb24gKi9cbiAgbWVzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogU0lNRCBjYXBhYmlsaXRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1kQ2FwYWJpbGl0aWVzIHtcbiAgLyoqIEhhcyBhbnkgU0lNRCBzdXBwb3J0ICovXG4gIGhhc1NpbWQ6IGJvb2xlYW47XG4gIC8qKiBBdmFpbGFibGUgU0lNRCBpbnN0cnVjdGlvbnMgKi9cbiAgY2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFbWJlZGRpbmcgcmVzdWx0XG4gKi9cbmV4cG9ydCB0eXBlIEVtYmVkZGluZyA9IG51bWJlcltdO1xuXG4vKipcbiAqIEJhdGNoIHF1ZXJ5IHJlcXVlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVxdWVzdCB7XG4gIC8qKiBRdWVyaWVzIHRvIHByb2Nlc3MgKi9cbiAgcXVlcmllczogc3RyaW5nW107XG4gIC8qKiBPcHRpb25hbCBnZW5lcmF0aW9uIGNvbmZpZyAqL1xuICBjb25maWc/OiBHZW5lcmF0aW9uQ29uZmlnO1xufVxuXG4vKipcbiAqIEJhdGNoIHF1ZXJ5IHJlc3BvbnNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hRdWVyeVJlc3BvbnNlIHtcbiAgLyoqIFJlc3BvbnNlcyBmb3IgZWFjaCBxdWVyeSAqL1xuICByZXNwb25zZXM6IFF1ZXJ5UmVzcG9uc2VbXTtcbiAgLyoqIFRvdGFsIHByb2Nlc3NpbmcgdGltZSBpbiBtcyAqL1xuICB0b3RhbExhdGVuY3lNczogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU09OQSBMZWFybmluZyBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBTT05BIENvbmZpZ3VyYXRpb24gZm9yIGFkYXB0aXZlIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29uYUNvbmZpZyB7XG4gIC8qKiBFbmFibGUgaW5zdGFudCBsb29wIChyZWFsLXRpbWUgbGVhcm5pbmcpICovXG4gIGluc3RhbnRMb29wRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgYmFja2dyb3VuZCBsb29wIChiYXRjaCBsZWFybmluZykgKi9cbiAgYmFja2dyb3VuZExvb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgZm9yIExvUkEgYWRhcHRlcnMgKi9cbiAgbG9yYUxlYXJuaW5nUmF0ZT86IG51bWJlcjtcbiAgLyoqIExvUkEgcmFuayAobG93ZXIgPSBmYXN0ZXIsIGhpZ2hlciA9IG1vcmUgY2FwYWNpdHkpICovXG4gIGxvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogRVdDIGxhbWJkYSBmb3IgbWVtb3J5IHByb3RlY3Rpb24gKi9cbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xuICAvKiogTWF4IHRyYWplY3RvcnkgYnVmZmVyIHNpemUgKi9cbiAgbWF4VHJhamVjdG9yeVNpemU/OiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJuIHNpbWlsYXJpdHkgdGhyZXNob2xkICovXG4gIHBhdHRlcm5UaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTGVhcm5pbmcgc2lnbmFsIGZyb20gdXNlciBmZWVkYmFja1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExlYXJuaW5nU2lnbmFsIHtcbiAgLyoqIFJlcXVlc3QgSUQgKi9cbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIC8qKiBRdWFsaXR5IHNjb3JlICgwLTEpICovXG4gIHF1YWxpdHk6IG51bWJlcjtcbiAgLyoqIFNpZ25hbCB0eXBlICovXG4gIHR5cGU6IFNpZ25hbFR5cGU7XG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uICovXG4gIGNvcnJlY3Rpb24/OiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBEYXRlO1xufVxuXG4vKipcbiAqIFNpZ25hbCB0eXBlcyBmb3IgbGVhcm5pbmdcbiAqL1xuZXhwb3J0IHR5cGUgU2lnbmFsVHlwZSA9ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgJ2NvcnJlY3Rpb24nIHwgJ2ltcGxpY2l0JztcblxuLyoqXG4gKiBRdWVyeSB0cmFqZWN0b3J5IGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHJhamVjdG9yeSB7XG4gIC8qKiBUcmFqZWN0b3J5IElEICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBTdGVwcyBpbiB0aGUgdHJhamVjdG9yeSAqL1xuICBzdGVwczogVHJhamVjdG9yeVN0ZXBbXTtcbiAgLyoqIEZpbmFsIG91dGNvbWUgKi9cbiAgb3V0Y29tZTogVHJhamVjdG9yeU91dGNvbWU7XG4gIC8qKiBUb3RhbCBkdXJhdGlvbiAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogU2luZ2xlIHN0ZXAgaW4gYSB0cmFqZWN0b3J5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeVN0ZXAge1xuICAvKiogU3RlcCB0eXBlICovXG4gIHR5cGU6ICdxdWVyeScgfCAncm91dGUnIHwgJ2dlbmVyYXRlJyB8ICdtZW1vcnknIHwgJ2ZlZWRiYWNrJztcbiAgLyoqIElucHV0IGRhdGEgKi9cbiAgaW5wdXQ6IHN0cmluZztcbiAgLyoqIE91dHB1dCBkYXRhICovXG4gIG91dHB1dDogc3RyaW5nO1xuICAvKiogRHVyYXRpb24gb2YgdGhpcyBzdGVwICovXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIENvbmZpZGVuY2UgYXQgdGhpcyBzdGVwICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUcmFqZWN0b3J5IG91dGNvbWVcbiAqL1xuZXhwb3J0IHR5cGUgVHJhamVjdG9yeU91dGNvbWUgPSAnc3VjY2VzcycgfCAncGFydGlhbCcgfCAnZmFpbHVyZScgfCAndW5rbm93bic7XG5cbi8qKlxuICogTGVhcm5lZCBwYXR0ZXJuIGZyb20gUmVhc29uaW5nQmFua1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExlYXJuZWRQYXR0ZXJuIHtcbiAgLyoqIFBhdHRlcm4gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFBhdHRlcm4gdHlwZSAqL1xuICB0eXBlOiBQYXR0ZXJuVHlwZTtcbiAgLyoqIFBhdHRlcm4gZW1iZWRkaW5nICovXG4gIGVtYmVkZGluZzogRW1iZWRkaW5nO1xuICAvKiogU3VjY2VzcyByYXRlICgwLTEpICovXG4gIHN1Y2Nlc3NSYXRlOiBudW1iZXI7XG4gIC8qKiBUaW1lcyB1c2VkICovXG4gIHVzZUNvdW50OiBudW1iZXI7XG4gIC8qKiBMYXN0IHVzZWQgdGltZXN0YW1wICovXG4gIGxhc3RVc2VkOiBEYXRlO1xufVxuXG4vKipcbiAqIFR5cGVzIG9mIGxlYXJuZWQgcGF0dGVybnNcbiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblR5cGUgPVxuICB8ICdxdWVyeV9yZXNwb25zZScgICAgICAvLyBRJkEgcGF0dGVyblxuICB8ICdyb3V0aW5nJyAgICAgICAgICAgICAvLyBSb3V0aW5nIGRlY2lzaW9uIHBhdHRlcm5cbiAgfCAnY29udGV4dF9yZXRyaWV2YWwnICAgLy8gTWVtb3J5IHJldHJpZXZhbCBwYXR0ZXJuXG4gIHwgJ2NvcnJlY3Rpb24nICAgICAgICAgIC8vIFVzZXIgY29ycmVjdGlvbiBwYXR0ZXJuXG4gIHwgJ2Fic3RyYWN0aW9uJzsgICAgICAgIC8vIENvbXByZXNzZWQgY29uY2VwdFxuXG4vKipcbiAqIExvUkEgYWRhcHRlciBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9SQUNvbmZpZyB7XG4gIC8qKiBBZGFwdGVyIHJhbmsgKDQsIDgsIDE2LCAzMikgKi9cbiAgcmFuazogbnVtYmVyO1xuICAvKiogQWxwaGEgc2NhbGluZyBmYWN0b3IgKi9cbiAgYWxwaGE6IG51bWJlcjtcbiAgLyoqIERyb3BvdXQgcmF0ZSAqL1xuICBkcm9wb3V0OiBudW1iZXI7XG4gIC8qKiBUYXJnZXQgbW9kdWxlcyB0byBhZGFwdCAqL1xuICB0YXJnZXRNb2R1bGVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFV0MgKEVsYXN0aWMgV2VpZ2h0IENvbnNvbGlkYXRpb24pIHN0YXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXdjU3RhdHMge1xuICAvKiogTnVtYmVyIG9mIHRhc2tzIGxlYXJuZWQgKi9cbiAgdGFza3NMZWFybmVkOiBudW1iZXI7XG4gIC8qKiBGaXNoZXIgaW5mb3JtYXRpb24gY29tcHV0ZWQgKi9cbiAgZmlzaGVyQ29tcHV0ZWQ6IGJvb2xlYW47XG4gIC8qKiBNZW1vcnkgcHJvdGVjdGlvbiBzdHJlbmd0aCAqL1xuICBwcm90ZWN0aW9uU3RyZW5ndGg6IG51bWJlcjtcbiAgLyoqIEVzdGltYXRlZCBmb3JnZXR0aW5nIHJhdGUgKi9cbiAgZm9yZ2V0dGluZ1JhdGU6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlc3Npb24gJiBDb252ZXJzYXRpb24gVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXh0ZW5kZWQgc2Vzc2lvbiB3aXRoIGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVyc2F0aW9uU2Vzc2lvbiBleHRlbmRzIFNlc3Npb24ge1xuICAvKiogQ29udmVyc2F0aW9uIG1lc3NhZ2VzICovXG4gIG1lc3NhZ2VzOiBDb252ZXJzYXRpb25NZXNzYWdlW107XG4gIC8qKiBTZXNzaW9uIGNvbnRleHQgKGFjY3VtdWxhdGVkKSAqL1xuICBjb250ZXh0OiBzdHJpbmdbXTtcbiAgLyoqIEFjdGl2ZSBtZW1vcnkgSURzICovXG4gIGFjdGl2ZU1lbW9yeUlkczogbnVtYmVyW107XG4gIC8qKiBTZXNzaW9uIG1ldGFkYXRhICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBTaW5nbGUgbWVzc2FnZSBpbiBjb252ZXJzYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25NZXNzYWdlIHtcbiAgLyoqIE1lc3NhZ2Ugcm9sZSAqL1xuICByb2xlOiAndXNlcicgfCAnYXNzaXN0YW50JyB8ICdzeXN0ZW0nO1xuICAvKiogTWVzc2FnZSBjb250ZW50ICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IERhdGU7XG4gIC8qKiBBc3NvY2lhdGVkIHJlcXVlc3QgSUQgKGlmIGFzc2lzdGFudCkgKi9cbiAgcmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RyZWFtaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFN0cmVhbWluZyByZXNwb25zZSBjaHVua1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbUNodW5rIHtcbiAgLyoqIENodW5rIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogSXMgZmluYWwgY2h1bmsgKi9cbiAgZG9uZTogYm9vbGVhbjtcbiAgLyoqIFRva2VuIGNvdW50IHNvIGZhciAqL1xuICB0b2tlbkNvdW50OiBudW1iZXI7XG4gIC8qKiBDdW11bGF0aXZlIGxhdGVuY3kgKi9cbiAgbGF0ZW5jeU1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogU3RyZWFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1PcHRpb25zIGV4dGVuZHMgR2VuZXJhdGlvbkNvbmZpZyB7XG4gIC8qKiBDYWxsYmFjayBmb3IgZWFjaCBjaHVuayAqL1xuICBvbkNodW5rPzogKGNodW5rOiBTdHJlYW1DaHVuaykgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIG9uIGNvbXBsZXRpb24gKi9cbiAgb25Db21wbGV0ZT86IChyZXNwb25zZTogUXVlcnlSZXNwb25zZSkgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIG9uIGVycm9yICovXG4gIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tcHJlc3Npb24gJiBBcmNoaXZhbCBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBNZW1vcnkgY29tcHJlc3Npb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlc3Npb25SZXN1bHQge1xuICAvKiogTm9kZXMgY29tcHJlc3NlZCAqL1xuICBub2Rlc0NvbXByZXNzZWQ6IG51bWJlcjtcbiAgLyoqIE5vZGVzIGFyY2hpdmVkICovXG4gIG5vZGVzQXJjaGl2ZWQ6IG51bWJlcjtcbiAgLyoqIENvbmNlcHRzIGNyZWF0ZWQgKi9cbiAgY29uY2VwdHNDcmVhdGVkOiBudW1iZXI7XG4gIC8qKiBNZW1vcnkgc2F2ZWQgKGJ5dGVzKSAqL1xuICBtZW1vcnlTYXZlZDogbnVtYmVyO1xuICAvKiogRHVyYXRpb24gKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFyY2hpdmUgcXVlcnkgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJjaGl2ZVJlc3VsdCB7XG4gIC8qKiBBcmNoaXZlZCBub2RlIElEICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBPcmlnaW5hbCBjb250ZW50IChpZiBhdmFpbGFibGUpICovXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIC8qKiBDb25jZXB0IGl0IGJlbG9uZ3MgdG8gKi9cbiAgY29uY2VwdElkPzogc3RyaW5nO1xuICAvKiogQXJjaGl2ZSB0aW1lc3RhbXAgKi9cbiAgYXJjaGl2ZWRBdDogRGF0ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEF0dGVudGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBdHRlbnRpb24gd2VpZ2h0cyBmb3IgaW50ZXJwcmV0YWJpbGl0eVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dGVudGlvbldlaWdodHMge1xuICAvKiogUXVlcnkta2V5IGF0dGVudGlvbiBzY29yZXMgKi9cbiAgc2NvcmVzOiBudW1iZXJbXVtdO1xuICAvKiogSGVhZCBpbmRleCAqL1xuICBoZWFkSW5kZXg6IG51bWJlcjtcbiAgLyoqIExheWVyIGluZGV4ICovXG4gIGxheWVySW5kZXg6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBdHRlbnRpb24gYW5hbHlzaXMgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0ZW50aW9uQW5hbHlzaXMge1xuICAvKiogTW9zdCBhdHRlbmRlZCB0b2tlbnMgKi9cbiAgdG9wQXR0ZW5kZWQ6IEFycmF5PHsgdG9rZW46IHN0cmluZzsgd2VpZ2h0OiBudW1iZXIgfT47XG4gIC8qKiBBdHRlbnRpb24gZW50cm9weSAodW5jZXJ0YWludHkpICovXG4gIGVudHJvcHk6IG51bWJlcjtcbiAgLyoqIEZvY3VzIHNjb3JlICgwLTEsIGhpZ2hlciA9IG1vcmUgZm9jdXNlZCkgKi9cbiAgZm9jdXNTY29yZTogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRmVkZXJhdGVkIExlYXJuaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEZlZGVyYXRlZCBsZWFybmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVkZXJhdGVkQ29uZmlnIHtcbiAgLyoqIEhpZGRlbiBkaW1lbnNpb24gZm9yIGVtYmVkZGluZ3MgKi9cbiAgaGlkZGVuRGltPzogbnVtYmVyO1xuICAvKiogRW1iZWRkaW5nIGRpbWVuc2lvbiAqL1xuICBlbWJlZGRpbmdEaW0/OiBudW1iZXI7XG4gIC8qKiBNaWNyby1Mb1JBIHJhbmsgKi9cbiAgbWljcm9Mb3JhUmFuaz86IG51bWJlcjtcbiAgLyoqIEJhc2UgTG9SQSByYW5rICovXG4gIGJhc2VMb3JhUmFuaz86IG51bWJlcjtcbiAgLyoqIFRyYWplY3RvcnkgYnVmZmVyIGNhcGFjaXR5ICovXG4gIHRyYWplY3RvcnlDYXBhY2l0eT86IG51bWJlcjtcbiAgLyoqIFBhdHRlcm4gY2x1c3RlciBjb3VudCAqL1xuICBwYXR0ZXJuQ2x1c3RlcnM/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciByZWd1bGFyaXphdGlvbiAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCBmb3IgYWNjZXB0aW5nIHRyYWplY3RvcmllcyAqL1xuICBxdWFsaXR5VGhyZXNob2xkPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWplY3RvcnkgZXhwb3J0IGZvciBmZWRlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeUV4cG9ydCB7XG4gIC8qKiBRdWVyeSBlbWJlZGRpbmcgKi9cbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmc7XG4gIC8qKiBRdWFsaXR5IHNjb3JlICovXG4gIHF1YWxpdHk6IG51bWJlcjtcbiAgLyoqIE1vZGVsIHJvdXRlIChpZiBhbnkpICovXG4gIHJvdXRlPzogc3RyaW5nO1xuICAvKiogQ29udGV4dCBpZGVudGlmaWVycyAqL1xuICBjb250ZXh0OiBzdHJpbmdbXTtcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBZ2VudCBleHBvcnQgc3RhdGlzdGljc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50RXhwb3J0U3RhdHMge1xuICAvKiogVG90YWwgdHJhamVjdG9yaWVzIHByb2Nlc3NlZCAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5ICovXG4gIGF2Z1F1YWxpdHk6IG51bWJlcjtcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgbG9jYWxseSAqL1xuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBFeHBvcnRlZCBzdGF0ZSBmcm9tIGFuIGVwaGVtZXJhbCBhZ2VudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50RXhwb3J0IHtcbiAgLyoqIEFnZW50IGlkZW50aWZpZXIgKi9cbiAgYWdlbnRJZDogc3RyaW5nO1xuICAvKiogRXhwb3J0ZWQgdHJhamVjdG9yaWVzICovXG4gIHRyYWplY3RvcmllczogVHJhamVjdG9yeUV4cG9ydFtdO1xuICAvKiogQWdlbnQgc3RhdGlzdGljcyAqL1xuICBzdGF0czogQWdlbnRFeHBvcnRTdGF0cztcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzICovXG4gIHNlc3Npb25EdXJhdGlvbk1zOiBudW1iZXI7XG4gIC8qKiBFeHBvcnQgdGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFnZW50IGNvbnRyaWJ1dGlvbiByZWNvcmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2VudENvbnRyaWJ1dGlvbiB7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGNvbnRyaWJ1dGVkICovXG4gIHRyYWplY3RvcnlDb3VudDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5IG9mIGNvbnRyaWJ1dGlvbnMgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogQ29udHJpYnV0aW9uIHRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gKi9cbiAgc2Vzc2lvbkR1cmF0aW9uTXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgYWdncmVnYXRpbmcgYW4gYWdlbnQgZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRpb25SZXN1bHQge1xuICAvKiogQWdlbnQgSUQgdGhhdCB3YXMgYWdncmVnYXRlZCAqL1xuICBhZ2VudElkOiBzdHJpbmc7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGFjY2VwdGVkICovXG4gIHRyYWplY3Rvcmllc0FjY2VwdGVkOiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIHJlamVjdGVkIChiZWxvdyBxdWFsaXR5IHRocmVzaG9sZCkgKi9cbiAgdHJhamVjdG9yaWVzUmVqZWN0ZWQ6IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgY29uc29saWRhdGlvbiB3YXMgdHJpZ2dlcmVkICovXG4gIGNvbnNvbGlkYXRlZDogYm9vbGVhbjtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiBjb250cmlidXRpbmcgYWdlbnRzICovXG4gIHRvdGFsQWdlbnRzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgaW4gY29vcmRpbmF0b3IgKi9cbiAgdG90YWxUcmFqZWN0b3JpZXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDb29yZGluYXRvciBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmRpbmF0b3JTdGF0cyB7XG4gIC8qKiBDb29yZGluYXRvciBpZGVudGlmaWVyICovXG4gIGNvb3JkaW5hdG9ySWQ6IHN0cmluZztcbiAgLyoqIE51bWJlciBvZiBjb250cmlidXRpbmcgYWdlbnRzICovXG4gIHRvdGFsQWdlbnRzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgYWdncmVnYXRlZCAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xuICAvKiogUGF0dGVybnMgbGVhcm5lZCAqL1xuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcbiAgLyoqIEF2ZXJhZ2UgcXVhbGl0eSBhY3Jvc3MgYWxsIGNvbnRyaWJ1dGlvbnMgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgKi9cbiAgcXVhbGl0eVRocmVzaG9sZDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZlZGVyYXRlZCBsZWFybmluZyB0b3BvbG9neVxuICovXG5leHBvcnQgdHlwZSBGZWRlcmF0ZWRUb3BvbG9neSA9XG4gIHwgJ3N0YXInICAgICAgICAgICAvLyBBZ2VudHMg4oaSIENlbnRyYWwgQ29vcmRpbmF0b3JcbiAgfCAnaGllcmFyY2hpY2FsJyAgIC8vIEFnZW50cyDihpIgUmVnaW9uYWwg4oaSIEdsb2JhbFxuICB8ICdwZWVyLXRvLXBlZXInOyAgLy8gQWdlbnRzIHNoYXJlIGRpcmVjdGx5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUcmFpbmluZyBQaXBlbGluZSBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBUcmFpbmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdDb25maWcge1xuICAvKiogSW5pdGlhbCBsZWFybmluZyByYXRlICovXG4gIGxlYXJuaW5nUmF0ZT86IG51bWJlcjtcbiAgLyoqIEJhdGNoIHNpemUgKi9cbiAgYmF0Y2hTaXplPzogbnVtYmVyO1xuICAvKiogTnVtYmVyIG9mIGVwb2NocyAqL1xuICBlcG9jaHM/OiBudW1iZXI7XG4gIC8qKiBMZWFybmluZyByYXRlIHNjaGVkdWxlciAqL1xuICBzY2hlZHVsZXI/OiAnY29uc3RhbnQnIHwgJ2xpbmVhcicgfCAnY29zaW5lJyB8ICd3YXJtdXAnO1xuICAvKiogV2FybXVwIHN0ZXBzIChmb3Igd2FybXVwIHNjaGVkdWxlcikgKi9cbiAgd2FybXVwU3RlcHM/OiBudW1iZXI7XG4gIC8qKiBXZWlnaHQgZGVjYXkgKi9cbiAgd2VpZ2h0RGVjYXk/OiBudW1iZXI7XG4gIC8qKiBHcmFkaWVudCBjbGlwcGluZyB0aHJlc2hvbGQgKi9cbiAgZ3JhZGllbnRDbGlwPzogbnVtYmVyO1xuICAvKiogRWFybHkgc3RvcHBpbmcgcGF0aWVuY2UgKi9cbiAgZWFybHlTdG9wcGluZ1BhdGllbmNlPzogbnVtYmVyO1xuICAvKiogQ2hlY2twb2ludCBpbnRlcnZhbCAoZXBvY2hzKSAqL1xuICBjaGVja3BvaW50SW50ZXJ2YWw/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciBjb250aW51YWwgbGVhcm5pbmcgKi9cbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xuICAvKiogVmFsaWRhdGlvbiBzcGxpdCByYXRpbyAqL1xuICB2YWxpZGF0aW9uU3BsaXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGJlc3QtY2hlY2twb2ludCByZXRlbnRpb24uIFdoZW4gc2V0LCB0aGUgcGlwZWxpbmUgd3JpdGVzXG4gICAqIHRoZSBjdXJyZW50IHN0YXRlIHRvIHRoaXMgcGF0aCBlYWNoIHRpbWUgdmFsaWRhdGlvbiBsb3NzIGltcHJvdmVzLCBzbyB0aGVcbiAgICogYmVzdC12YWxpZGF0aW9uIG1vZGVsIHN1cnZpdmVzIGV2ZW4gaWYgbGF0ZXIgZXBvY2hzIGRlZ3JhZGUuIEVtcHR5IHN0cmluZ1xuICAgKiAodGhlIGRlZmF1bHQpIGRpc2FibGVzIGl0OyBhIG5vLW9wIHdoZW4gdmFsaWRhdGlvbiBuZXZlciBydW5zLlxuICAgKi9cbiAga2VlcEJlc3RDaGVja3BvaW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRyYWluaW5nIG1ldHJpY3Mgc25hcHNob3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ01ldHJpY3NTbmFwc2hvdCB7XG4gIC8qKiBDdXJyZW50IGVwb2NoICovXG4gIGVwb2NoOiBudW1iZXI7XG4gIC8qKiBDdXJyZW50IHN0ZXAgKi9cbiAgc3RlcDogbnVtYmVyO1xuICAvKiogVHJhaW5pbmcgbG9zcyAqL1xuICB0cmFpbkxvc3M6IG51bWJlcjtcbiAgLyoqIFZhbGlkYXRpb24gbG9zcyAqL1xuICB2YWxMb3NzOiBudW1iZXI7XG4gIC8qKiBMZWFybmluZyByYXRlICovXG4gIGxlYXJuaW5nUmF0ZTogbnVtYmVyO1xuICAvKiogR3JhZGllbnQgbm9ybSAqL1xuICBncmFkTm9ybTogbnVtYmVyO1xuICAvKiogU3RlcHMgcGVyIHNlY29uZCAqL1xuICBzdGVwc1BlclNlY29uZDogbnVtYmVyO1xuICAvKiogRVRBIGluIHNlY29uZHMgKi9cbiAgZXRhU2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWluaW5nIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYWluaW5nUmVzdWx0IHtcbiAgLyoqIFRvdGFsIGVwb2NocyBjb21wbGV0ZWQgKi9cbiAgZXBvY2hzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCBzdGVwcyBjb21wbGV0ZWQgKi9cbiAgc3RlcHM6IG51bWJlcjtcbiAgLyoqIEZpbmFsIHRyYWluaW5nIGxvc3MgKi9cbiAgZmluYWxMb3NzOiBudW1iZXI7XG4gIC8qKiBCZXN0IHZhbGlkYXRpb24gbG9zcyAqL1xuICBiZXN0VmFsTG9zczogbnVtYmVyO1xuICAvKiogVHJhaW5pbmcgZHVyYXRpb24gaW4gbXMgKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xuICAvKiogTG9zcyBoaXN0b3J5ICovXG4gIGxvc3NIaXN0b3J5OiBudW1iZXJbXTtcbiAgLyoqIFZhbGlkYXRpb24gbG9zcyBoaXN0b3J5ICovXG4gIHZhbExvc3NIaXN0b3J5OiBudW1iZXJbXTtcbiAgLyoqIEVhcmx5IHN0b3BwZWQgKi9cbiAgZWFybHlTdG9wcGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRyYWluaW5nIGNoZWNrcG9pbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ0NoZWNrcG9pbnQge1xuICAvKiogRXBvY2ggbnVtYmVyICovXG4gIGVwb2NoOiBudW1iZXI7XG4gIC8qKiBTdGVwIG51bWJlciAqL1xuICBzdGVwOiBudW1iZXI7XG4gIC8qKiBUcmFpbmluZyBsb3NzIGF0IGNoZWNrcG9pbnQgKi9cbiAgbG9zczogbnVtYmVyO1xuICAvKiogTW9kZWwgd2VpZ2h0cyAoc2VyaWFsaXplZCkgKi9cbiAgd2VpZ2h0czogc3RyaW5nO1xuICAvKiogVGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRXhwb3J0L1NlcmlhbGl6YXRpb24gVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXhwb3J0IGZvcm1hdCBvcHRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIEV4cG9ydEZvcm1hdCA9ICdzYWZldGVuc29ycycgfCAnanNvbicgfCAnYmluYXJ5JyB8ICdvbm54JztcblxuLyoqXG4gKiBNb2RlbCBtZXRhZGF0YSBmb3IgZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxNZXRhZGF0YSB7XG4gIC8qKiBNb2RlbCBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIE1vZGVsIHZlcnNpb24gKi9cbiAgdmVyc2lvbjogc3RyaW5nO1xuICAvKiogQXJjaGl0ZWN0dXJlIHR5cGUgKi9cbiAgYXJjaGl0ZWN0dXJlOiBzdHJpbmc7XG4gIC8qKiBUcmFpbmluZyBpbmZvICovXG4gIHRyYWluaW5nPzoge1xuICAgIHN0ZXBzOiBudW1iZXI7XG4gICAgbG9zczogbnVtYmVyO1xuICAgIGxlYXJuaW5nUmF0ZTogbnVtYmVyO1xuICB9O1xuICAvKiogQ3VzdG9tIG1ldGFkYXRhICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJ1dkxMTSBUeXBlIERlZmluaXRpb25zXG4gKi9cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBSdXZMTE0gZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnV2TExNQ29uZmlnIHtcbiAgLyoqIEVtYmVkZGluZyBkaW1lbnNpb24gKGRlZmF1bHQ6IDc2OCkgKi9cbiAgZW1iZWRkaW5nRGltPzogbnVtYmVyO1xuICAvKiogUm91dGVyIGhpZGRlbiBkaW1lbnNpb24gKGRlZmF1bHQ6IDEyOCkgKi9cbiAgcm91dGVySGlkZGVuRGltPzogbnVtYmVyO1xuICAvKiogSE5TVyBNIHBhcmFtZXRlciAoZGVmYXVsdDogMTYpICovXG4gIGhuc3dNPzogbnVtYmVyO1xuICAvKiogSE5TVyBlZl9jb25zdHJ1Y3Rpb24gKGRlZmF1bHQ6IDEwMCkgKi9cbiAgaG5zd0VmQ29uc3RydWN0aW9uPzogbnVtYmVyO1xuICAvKiogSE5TVyBlZl9zZWFyY2ggKGRlZmF1bHQ6IDY0KSAqL1xuICBobnN3RWZTZWFyY2g/OiBudW1iZXI7XG4gIC8qKiBFbmFibGUgbGVhcm5pbmcgKGRlZmF1bHQ6IHRydWUpICovXG4gIGxlYXJuaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCBmb3IgbGVhcm5pbmcgKGRlZmF1bHQ6IDAuNykgKi9cbiAgcXVhbGl0eVRocmVzaG9sZD86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgKGRlZmF1bHQ6IDIwMDApICovXG4gIGV3Y0xhbWJkYT86IG51bWJlcjtcbiAgLyoqXG4gICAqIEdHVUYgZmlsZSAob3IgYSBkaXJlY3RvcnkgaG9sZGluZyBvbmUpIHRvIGxvYWQgaW4gdGhlIGNvbnN0cnVjdG9yLCB0aGVcbiAgICogc2FtZSBhcyBjYWxsaW5nIGBsb2FkTW9kZWwobW9kZWxQYXRoKWAuIFRoZSBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlXG4gICAqIG1vZGVsIGNhbm5vdCBiZSBsb2FkZWQuIFJlcXVpcmVzIGEgbmF0aXZlIGJpbmFyeSB0aGF0IHN1cHBvcnRzIG1vZGVsXG4gICAqIGxvYWRpbmcgKHNlZSBgUnV2TExNLmxvYWRNb2RlbGApLlxuICAgKi9cbiAgbW9kZWxQYXRoPzogc3RyaW5nO1xuICAvKiogT3B0aW9ucyBmb3IgbG9hZGluZyBgbW9kZWxQYXRoYCAqL1xuICBtb2RlbE9wdGlvbnM/OiBMb2FkTW9kZWxPcHRpb25zO1xuICAvKipcbiAgICogUmV0dXJuIGEgY2xlYXJseSBsYWJlbGxlZCBwbGFjZWhvbGRlciBzdHJpbmcgZnJvbSBgZ2VuZXJhdGUoKWAvYHF1ZXJ5KClgXG4gICAqIHdoZW4gbm8gbW9kZWwgaXMgbG9hZGVkLCBpbnN0ZWFkIG9mIHRocm93aW5nIGBSVVZMTE1fTk9fTEFOR1VBR0VfTU9ERUxgLlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgaXMgbmV2ZXIgbW9kZWwgb3V0cHV0LiBGb3IgZGVtb3MgYW5kIHRlc3RzIG9ubHk7IGFsc29cbiAgICogZW5hYmxlZCBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgYFJVVkxMTV9BTExPV19NT0NLPTFgLiBEZWZhdWx0IGZhbHNlLlxuICAgKi9cbiAgYWxsb3dQbGFjZWhvbGRlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaHJvdyBpbnN0ZWFkIG9mIHdhcm5pbmcgZm9yIHVuc3VwcG9ydGVkIG9wdGlvbnMgKGBiYWNrZW5kYCkuIEdlbmVyYXRpb25cbiAgICogd2l0aG91dCBhIGxvYWRlZCBtb2RlbCBhbHdheXMgdGhyb3dzIHVubGVzcyBgYWxsb3dQbGFjZWhvbGRlcmAgaXMgc2V0LlxuICAgKi9cbiAgc3RyaWN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0aW9uIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0aW9uQ29uZmlnIHtcbiAgLyoqIE1heGltdW0gdG9rZW5zIHRvIGdlbmVyYXRlIChkZWZhdWx0OiAyNTYpICovXG4gIG1heFRva2Vucz86IG51bWJlcjtcbiAgLyoqIFRlbXBlcmF0dXJlIGZvciBzYW1wbGluZzsgMCA9IGdyZWVkeSAoZGVmYXVsdDogMC43KSAqL1xuICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbiAgLyoqIFRvcC1wIG51Y2xldXMgc2FtcGxpbmcsIGluICgwLCAxXSAoZGVmYXVsdDogMC45KSAqL1xuICB0b3BQPzogbnVtYmVyO1xuICAvKiogVG9wLWsgc2FtcGxpbmc7IDAgZGlzYWJsZXMgaXQgKGRlZmF1bHQ6IDUwKSAqL1xuICB0b3BLPzogbnVtYmVyO1xuICAvKiogUmVwZXRpdGlvbiBwZW5hbHR5IChkZWZhdWx0OiAxLjEpICovXG4gIHJlcGV0aXRpb25QZW5hbHR5PzogbnVtYmVyO1xuICAvKiogU3RvcCB3aGVuIGFueSBvZiB0aGVzZSBzdHJpbmdzIGlzIGdlbmVyYXRlZDsgaXQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSB0ZXh0ICovXG4gIHN0b3BTZXF1ZW5jZXM/OiBzdHJpbmdbXTtcbiAgLyoqIFNhbXBsaW5nIHNlZWQgZm9yIHJlcHJvZHVjaWJsZSBvdXRwdXQgYXQgdGVtcGVyYXR1cmUgPiAwICovXG4gIHNlZWQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFJ1dkxMTS5sb2FkTW9kZWxgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZE1vZGVsT3B0aW9ucyB7XG4gIC8qKiBNYXhpbXVtIGNvbnRleHQgaW4gdG9rZW5zLCBwcm9tcHQgcGx1cyBjb21wbGV0aW9uIChkZWZhdWx0OiA0MDk2KSAqL1xuICBtYXhDb250ZXh0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSBsYW5ndWFnZSBtb2RlbCBsb2FkZWQgd2l0aCBgUnV2TExNLmxvYWRNb2RlbGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2FkZWRNb2RlbEluZm8ge1xuICAvKiogTW9kZWwgbmFtZSAoZmlsZSBzdGVtKSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcmNoaXRlY3R1cmUgZmFtaWx5LCBlLmcuIFwiTGxhbWFcIiBvciBcIlF3ZW5cIiAqL1xuICBhcmNoaXRlY3R1cmU6IHN0cmluZztcbiAgLyoqIEFwcHJveGltYXRlIHBhcmFtZXRlciBjb3VudCAqL1xuICBudW1QYXJhbWV0ZXJzOiBudW1iZXI7XG4gIC8qKiBWb2NhYnVsYXJ5IHNpemUgKi9cbiAgdm9jYWJTaXplOiBudW1iZXI7XG4gIC8qKiBIaWRkZW4gZGltZW5zaW9uICovXG4gIGhpZGRlblNpemU6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiBsYXllcnMgKi9cbiAgbnVtTGF5ZXJzOiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIGNvbnRleHQgbGVuZ3RoIGluIHRva2VucyAqL1xuICBtYXhDb250ZXh0TGVuZ3RoOiBudW1iZXI7XG4gIC8qKiBXZWlnaHQgcXVhbnRpemF0aW9uLCBlLmcuIFwiUTRLXCIsIHdoZW4ga25vd24gKi9cbiAgcXVhbnRpemF0aW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIEFwcHJveGltYXRlIG1lbW9yeSB1c2VkIGJ5IHRoZSB3ZWlnaHRzLCBpbiBieXRlcyAqL1xuICBtZW1vcnlVc2FnZUJ5dGVzOiBudW1iZXI7XG4gIC8qKiBDaGF0IHRlbXBsYXRlIHVzZWQgYnkgYGNoYXQoKWAgYW5kIGBxdWVyeSgpYCwgZS5nLiBcIlF3ZW5cIiBvciBcIkxsYW1hM1wiICovXG4gIGNoYXRUZW1wbGF0ZT86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogT25lIG1lc3NhZ2Ugb2YgYSBjaGF0IGNvbnZlcnNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYXRNZXNzYWdlIHtcbiAgcm9sZTogJ3N5c3RlbScgfCAndXNlcicgfCAnYXNzaXN0YW50JztcbiAgY29udGVudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoeSBnZW5lcmF0aW9uIGVuZGVkOiBgc3RvcGAgKGVuZC1vZi1zZXF1ZW5jZSB0b2tlbiBvciBhIHN0b3Agc2VxdWVuY2UpLFxuICogYGxlbmd0aGAgKGBtYXhUb2tlbnNgIHJlYWNoZWQgb3IgdGhlIGNvbnRleHQgaXMgZnVsbCkgb3IgYGNhbmNlbGxlZGAuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbmlzaFJlYXNvbiA9ICdzdG9wJyB8ICdsZW5ndGgnIHwgJ2NhbmNlbGxlZCc7XG5cbi8qKlxuICogVGV4dCBnZW5lcmF0ZWQgYnkgdGhlIGxvYWRlZCBtb2RlbCwgd2l0aCB0b2tlbiBhY2NvdW50aW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGlvblJlc3VsdCB7XG4gIC8qKiBHZW5lcmF0ZWQgdGV4dCwgZXhjbHVkaW5nIHRoZSBwcm9tcHQgYW5kIGFueSBzdG9wIHNlcXVlbmNlICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIFByb21wdCB0b2tlbnMsIGNvdW50ZWQgd2l0aCB0aGUgbW9kZWwncyB0b2tlbml6ZXIgKGFmdGVyIHRoZSBjaGF0IHRlbXBsYXRlIGZvciBgY2hhdCgpYCkgKi9cbiAgcHJvbXB0VG9rZW5zOiBudW1iZXI7XG4gIC8qKiBUb2tlbnMgZ2VuZXJhdGVkLCBpbmNsdWRpbmcgYW4gZW5kLW9mLXNlcXVlbmNlIHRva2VuIHRoYXQgZW5kZWQgZ2VuZXJhdGlvbiAqL1xuICBjb21wbGV0aW9uVG9rZW5zOiBudW1iZXI7XG4gIC8qKiBXaHkgZ2VuZXJhdGlvbiBlbmRlZCAqL1xuICBmaW5pc2hSZWFzb246IEZpbmlzaFJlYXNvbjtcbn1cblxuLyoqXG4gKiBRdWVyeSByZXNwb25zZSBmcm9tIHRoZSBMTE1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeVJlc3BvbnNlIHtcbiAgLyoqIFRleHQgZ2VuZXJhdGVkIGJ5IHRoZSBsb2FkZWQgbW9kZWwgKG9yIGEgbGFiZWxsZWQgcGxhY2Vob2xkZXIgd2l0aCBgYWxsb3dQbGFjZWhvbGRlcmApICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIENvbmZpZGVuY2Ugc2NvcmUgKDAuMCAtIDEuMCkgKi9cbiAgY29uZmlkZW5jZTogbnVtYmVyO1xuICAvKiogTW9kZWwgc2l6ZSByZWNvbW1lbmRlZCBieSB0aGUgcm91dGVyIChub3QgdGhlIGxvYWRlZCBtb2RlbCkgKi9cbiAgbW9kZWw6IHN0cmluZztcbiAgLyoqIENvbnRleHQgc2l6ZSB1c2VkICovXG4gIGNvbnRleHRTaXplOiBudW1iZXI7XG4gIC8qKiBMYXRlbmN5IGluIG1pbGxpc2Vjb25kcyAqL1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbiAgLyoqIFJlcXVlc3QgSUQgZm9yIGZlZWRiYWNrICovXG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICAvKiogUHJvbXB0IHRva2VucyBhZnRlciB0aGUgY2hhdCB0ZW1wbGF0ZSAoYWJzZW50IGZvciBwbGFjZWhvbGRlciByZXNwb25zZXMpICovXG4gIHByb21wdFRva2Vucz86IG51bWJlcjtcbiAgLyoqIFRva2VucyBnZW5lcmF0ZWQgKGFic2VudCBmb3IgcGxhY2Vob2xkZXIgcmVzcG9uc2VzKSAqL1xuICBjb21wbGV0aW9uVG9rZW5zPzogbnVtYmVyO1xuICAvKiogV2h5IGdlbmVyYXRpb24gZW5kZWQgKGFic2VudCBmb3IgcGxhY2Vob2xkZXIgcmVzcG9uc2VzKSAqL1xuICBmaW5pc2hSZWFzb24/OiBGaW5pc2hSZWFzb247XG59XG5cbi8qKlxuICogUm91dGluZyBkZWNpc2lvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdEZWNpc2lvbiB7XG4gIC8qKiBTZWxlY3RlZCBtb2RlbCBzaXplICovXG4gIG1vZGVsOiBNb2RlbFNpemU7XG4gIC8qKiBSZWNvbW1lbmRlZCBjb250ZXh0IHNpemUgKi9cbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgLyoqIFRlbXBlcmF0dXJlICovXG4gIHRlbXBlcmF0dXJlOiBudW1iZXI7XG4gIC8qKiBUb3AtcCAqL1xuICB0b3BQOiBudW1iZXI7XG4gIC8qKiBDb25maWRlbmNlICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNZW1vcnkgc2VhcmNoIHJlc3VsdFxuICovXG4vKiogSWRlbnRpZmllciBmb3IgYSBzdG9yZWQgbWVtb3J5IG5vZGUuICovXG5leHBvcnQgdHlwZSBNZW1vcnlJZCA9IHN0cmluZyB8IG51bWJlcjtcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlSZXN1bHQge1xuICAvKiogTm9kZSBJRCDigJQgYSBVVUlEIHN0cmluZyBvbiBjdXJyZW50IG5hdGl2ZSBidWlsZHMsIGEgbnVtYmVyIG9uIG9sZGVyIG9uZXMuICovXG4gIGlkOiBNZW1vcnlJZDtcbiAgLyoqIFNpbWlsYXJpdHkgc2NvcmUgKi9cbiAgc2NvcmU6IG51bWJlcjtcbiAgLyoqIENvbnRlbnQgdGV4dCAqL1xuICBjb250ZW50OiBzdHJpbmc7XG4gIC8qKiBNZXRhZGF0YSAqL1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKlxuICogRW5naW5lIHN0YXRpc3RpY3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdXZMTE1TdGF0cyB7XG4gIC8qKiBUb3RhbCBxdWVyaWVzIHByb2Nlc3NlZCAqL1xuICB0b3RhbFF1ZXJpZXM6IG51bWJlcjtcbiAgLyoqIE1lbW9yeSBub2RlcyBzdG9yZWQgKi9cbiAgbWVtb3J5Tm9kZXM6IG51bWJlcjtcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgKi9cbiAgcGF0dGVybnNMZWFybmVkOiBudW1iZXI7XG4gIC8qKiBBdmVyYWdlIGxhdGVuY3kgaW4gbXMgKi9cbiAgYXZnTGF0ZW5jeU1zOiBudW1iZXI7XG4gIC8qKiBDYWNoZSBoaXQgcmF0ZSAoMC4wIC0gMS4wKSAqL1xuICBjYWNoZUhpdFJhdGU6IG51bWJlcjtcbiAgLyoqIFJvdXRlciBhY2N1cmFjeSAoMC4wIC0gMS4wKSAqL1xuICByb3V0ZXJBY2N1cmFjeTogbnVtYmVyO1xufVxuXG4vKipcbiAqIE1vZGVsIHNpemUgb3B0aW9uc1xuICovXG5leHBvcnQgdHlwZSBNb2RlbFNpemUgPSAnTTM1MCcgfCAnTTcwMCcgfCAnQjFfMicgfCAnQjJfNic7XG5cbi8qKlxuICogRmVlZGJhY2sgZm9yIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZGJhY2sge1xuICAvKiogUmVxdWVzdCBJRCBmcm9tIHF1ZXJ5IHJlc3BvbnNlICovXG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICAvKiogUmF0aW5nIDEtNSAqL1xuICByYXRpbmc6IG51bWJlcjtcbiAgLyoqIE9wdGlvbmFsIGNvcnJlY3Rpb24gdGV4dCAqL1xuICBjb3JyZWN0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlc3Npb24gZm9yIG11bHRpLXR1cm4gY29udmVyc2F0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb24ge1xuICAvKiogU2Vzc2lvbiBJRCAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogQ3JlYXRlZCB0aW1lc3RhbXAgKi9cbiAgY3JlYXRlZEF0OiBEYXRlO1xuICAvKiogTWVzc2FnZXMgaW4gc2Vzc2lvbiAqL1xuICBtZXNzYWdlQ291bnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTSU1EIGNhcGFiaWxpdGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbWRDYXBhYmlsaXRpZXMge1xuICAvKiogSGFzIGFueSBTSU1EIHN1cHBvcnQgKi9cbiAgaGFzU2ltZDogYm9vbGVhbjtcbiAgLyoqIEF2YWlsYWJsZSBTSU1EIGluc3RydWN0aW9ucyAqL1xuICBjYXBhYmlsaXRpZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEVtYmVkZGluZyByZXN1bHRcbiAqL1xuZXhwb3J0IHR5cGUgRW1iZWRkaW5nID0gbnVtYmVyW107XG5cbi8qKlxuICogQmF0Y2ggcXVlcnkgcmVxdWVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoUXVlcnlSZXF1ZXN0IHtcbiAgLyoqIFF1ZXJpZXMgdG8gcHJvY2VzcyAqL1xuICBxdWVyaWVzOiBzdHJpbmdbXTtcbiAgLyoqIE9wdGlvbmFsIGdlbmVyYXRpb24gY29uZmlnICovXG4gIGNvbmZpZz86IEdlbmVyYXRpb25Db25maWc7XG59XG5cbi8qKlxuICogQmF0Y2ggcXVlcnkgcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVzcG9uc2Uge1xuICAvKiogUmVzcG9uc2VzIGZvciBlYWNoIHF1ZXJ5ICovXG4gIHJlc3BvbnNlczogUXVlcnlSZXNwb25zZVtdO1xuICAvKiogVG90YWwgcHJvY2Vzc2luZyB0aW1lIGluIG1zICovXG4gIHRvdGFsTGF0ZW5jeU1zOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTT05BIExlYXJuaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFNPTkEgQ29uZmlndXJhdGlvbiBmb3IgYWRhcHRpdmUgbGVhcm5pbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb25hQ29uZmlnIHtcbiAgLyoqIEVuYWJsZSBpbnN0YW50IGxvb3AgKHJlYWwtdGltZSBsZWFybmluZykgKi9cbiAgaW5zdGFudExvb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBiYWNrZ3JvdW5kIGxvb3AgKGJhdGNoIGxlYXJuaW5nKSAqL1xuICBiYWNrZ3JvdW5kTG9vcEVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTGVhcm5pbmcgcmF0ZSBmb3IgTG9SQSBhZGFwdGVycyAqL1xuICBsb3JhTGVhcm5pbmdSYXRlPzogbnVtYmVyO1xuICAvKiogTG9SQSByYW5rIChsb3dlciA9IGZhc3RlciwgaGlnaGVyID0gbW9yZSBjYXBhY2l0eSkgKi9cbiAgbG9yYVJhbms/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciBtZW1vcnkgcHJvdGVjdGlvbiAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBNYXggdHJhamVjdG9yeSBidWZmZXIgc2l6ZSAqL1xuICBtYXhUcmFqZWN0b3J5U2l6ZT86IG51bWJlcjtcbiAgLyoqIFBhdHRlcm4gc2ltaWxhcml0eSB0aHJlc2hvbGQgKi9cbiAgcGF0dGVyblRocmVzaG9sZD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMZWFybmluZyBzaWduYWwgZnJvbSB1c2VyIGZlZWRiYWNrXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGVhcm5pbmdTaWduYWwge1xuICAvKiogUmVxdWVzdCBJRCAqL1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgLyoqIFF1YWxpdHkgc2NvcmUgKDAtMSkgKi9cbiAgcXVhbGl0eTogbnVtYmVyO1xuICAvKiogU2lnbmFsIHR5cGUgKi9cbiAgdHlwZTogU2lnbmFsVHlwZTtcbiAgLyoqIE9wdGlvbmFsIGNvcnJlY3Rpb24gKi9cbiAgY29ycmVjdGlvbj86IHN0cmluZztcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IERhdGU7XG59XG5cbi8qKlxuICogU2lnbmFsIHR5cGVzIGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgdHlwZSBTaWduYWxUeXBlID0gJ3Bvc2l0aXZlJyB8ICduZWdhdGl2ZScgfCAnY29ycmVjdGlvbicgfCAnaW1wbGljaXQnO1xuXG4vKipcbiAqIFF1ZXJ5IHRyYWplY3RvcnkgZm9yIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlUcmFqZWN0b3J5IHtcbiAgLyoqIFRyYWplY3RvcnkgSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFN0ZXBzIGluIHRoZSB0cmFqZWN0b3J5ICovXG4gIHN0ZXBzOiBUcmFqZWN0b3J5U3RlcFtdO1xuICAvKiogRmluYWwgb3V0Y29tZSAqL1xuICBvdXRjb21lOiBUcmFqZWN0b3J5T3V0Y29tZTtcbiAgLyoqIFRvdGFsIGR1cmF0aW9uICovXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTaW5nbGUgc3RlcCBpbiBhIHRyYWplY3RvcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFqZWN0b3J5U3RlcCB7XG4gIC8qKiBTdGVwIHR5cGUgKi9cbiAgdHlwZTogJ3F1ZXJ5JyB8ICdyb3V0ZScgfCAnZ2VuZXJhdGUnIHwgJ21lbW9yeScgfCAnZmVlZGJhY2snO1xuICAvKiogSW5wdXQgZGF0YSAqL1xuICBpbnB1dDogc3RyaW5nO1xuICAvKiogT3V0cHV0IGRhdGEgKi9cbiAgb3V0cHV0OiBzdHJpbmc7XG4gIC8qKiBEdXJhdGlvbiBvZiB0aGlzIHN0ZXAgKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xuICAvKiogQ29uZmlkZW5jZSBhdCB0aGlzIHN0ZXAgKi9cbiAgY29uZmlkZW5jZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWplY3Rvcnkgb3V0Y29tZVxuICovXG5leHBvcnQgdHlwZSBUcmFqZWN0b3J5T3V0Y29tZSA9ICdzdWNjZXNzJyB8ICdwYXJ0aWFsJyB8ICdmYWlsdXJlJyB8ICd1bmtub3duJztcblxuLyoqXG4gKiBMZWFybmVkIHBhdHRlcm4gZnJvbSBSZWFzb25pbmdCYW5rXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGVhcm5lZFBhdHRlcm4ge1xuICAvKiogUGF0dGVybiBJRCAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogUGF0dGVybiB0eXBlICovXG4gIHR5cGU6IFBhdHRlcm5UeXBlO1xuICAvKiogUGF0dGVybiBlbWJlZGRpbmcgKi9cbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmc7XG4gIC8qKiBTdWNjZXNzIHJhdGUgKDAtMSkgKi9cbiAgc3VjY2Vzc1JhdGU6IG51bWJlcjtcbiAgLyoqIFRpbWVzIHVzZWQgKi9cbiAgdXNlQ291bnQ6IG51bWJlcjtcbiAgLyoqIExhc3QgdXNlZCB0aW1lc3RhbXAgKi9cbiAgbGFzdFVzZWQ6IERhdGU7XG59XG5cbi8qKlxuICogVHlwZXMgb2YgbGVhcm5lZCBwYXR0ZXJuc1xuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9XG4gIHwgJ3F1ZXJ5X3Jlc3BvbnNlJyAgICAgIC8vIFEmQSBwYXR0ZXJuXG4gIHwgJ3JvdXRpbmcnICAgICAgICAgICAgIC8vIFJvdXRpbmcgZGVjaXNpb24gcGF0dGVyblxuICB8ICdjb250ZXh0X3JldHJpZXZhbCcgICAvLyBNZW1vcnkgcmV0cmlldmFsIHBhdHRlcm5cbiAgfCAnY29ycmVjdGlvbicgICAgICAgICAgLy8gVXNlciBjb3JyZWN0aW9uIHBhdHRlcm5cbiAgfCAnYWJzdHJhY3Rpb24nOyAgICAgICAgLy8gQ29tcHJlc3NlZCBjb25jZXB0XG5cbi8qKlxuICogTG9SQSBhZGFwdGVyIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb1JBQ29uZmlnIHtcbiAgLyoqIEFkYXB0ZXIgcmFuayAoNCwgOCwgMTYsIDMyKSAqL1xuICByYW5rOiBudW1iZXI7XG4gIC8qKiBBbHBoYSBzY2FsaW5nIGZhY3RvciAqL1xuICBhbHBoYTogbnVtYmVyO1xuICAvKiogRHJvcG91dCByYXRlICovXG4gIGRyb3BvdXQ6IG51bWJlcjtcbiAgLyoqIFRhcmdldCBtb2R1bGVzIHRvIGFkYXB0ICovXG4gIHRhcmdldE1vZHVsZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEVXQyAoRWxhc3RpYyBXZWlnaHQgQ29uc29saWRhdGlvbikgc3RhdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFd2NTdGF0cyB7XG4gIC8qKiBOdW1iZXIgb2YgdGFza3MgbGVhcm5lZCAqL1xuICB0YXNrc0xlYXJuZWQ6IG51bWJlcjtcbiAgLyoqIEZpc2hlciBpbmZvcm1hdGlvbiBjb21wdXRlZCAqL1xuICBmaXNoZXJDb21wdXRlZDogYm9vbGVhbjtcbiAgLyoqIE1lbW9yeSBwcm90ZWN0aW9uIHN0cmVuZ3RoICovXG4gIHByb3RlY3Rpb25TdHJlbmd0aDogbnVtYmVyO1xuICAvKiogRXN0aW1hdGVkIGZvcmdldHRpbmcgcmF0ZSAqL1xuICBmb3JnZXR0aW5nUmF0ZTogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2Vzc2lvbiAmIENvbnZlcnNhdGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFeHRlbmRlZCBzZXNzaW9uIHdpdGggY29udmVyc2F0aW9uIGhpc3RvcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25TZXNzaW9uIGV4dGVuZHMgU2Vzc2lvbiB7XG4gIC8qKiBDb252ZXJzYXRpb24gbWVzc2FnZXMgKi9cbiAgbWVzc2FnZXM6IENvbnZlcnNhdGlvbk1lc3NhZ2VbXTtcbiAgLyoqIFNlc3Npb24gY29udGV4dCAoYWNjdW11bGF0ZWQpICovXG4gIGNvbnRleHQ6IHN0cmluZ1tdO1xuICAvKiogQWN0aXZlIG1lbW9yeSBJRHMgKi9cbiAgYWN0aXZlTWVtb3J5SWRzOiBudW1iZXJbXTtcbiAgLyoqIFNlc3Npb24gbWV0YWRhdGEgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIFNpbmdsZSBtZXNzYWdlIGluIGNvbnZlcnNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbk1lc3NhZ2Uge1xuICAvKiogTWVzc2FnZSByb2xlICovXG4gIHJvbGU6ICd1c2VyJyB8ICdhc3Npc3RhbnQnIHwgJ3N5c3RlbSc7XG4gIC8qKiBNZXNzYWdlIGNvbnRlbnQgKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogVGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogRGF0ZTtcbiAgLyoqIEFzc29jaWF0ZWQgcmVxdWVzdCBJRCAoaWYgYXNzaXN0YW50KSAqL1xuICByZXF1ZXN0SWQ/OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdHJlYW1pbmcgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU3RyZWFtaW5nIHJlc3BvbnNlIGNodW5rXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyZWFtQ2h1bmsge1xuICAvKiogQ2h1bmsgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBJcyBmaW5hbCBjaHVuayAqL1xuICBkb25lOiBib29sZWFuO1xuICAvKiogVG9rZW4gY291bnQgc28gZmFyICovXG4gIHRva2VuQ291bnQ6IG51bWJlcjtcbiAgLyoqIEN1bXVsYXRpdmUgbGF0ZW5jeSAqL1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTdHJlYW0gb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbU9wdGlvbnMgZXh0ZW5kcyBHZW5lcmF0aW9uQ29uZmlnIHtcbiAgLyoqIENhbGxiYWNrIGZvciBlYWNoIGNodW5rICovXG4gIG9uQ2h1bms/OiAoY2h1bms6IFN0cmVhbUNodW5rKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgb24gY29tcGxldGlvbiAqL1xuICBvbkNvbXBsZXRlPzogKHJlc3BvbnNlOiBRdWVyeVJlc3BvbnNlKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgb24gZXJyb3IgKi9cbiAgb25FcnJvcj86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wcmVzc2lvbiAmIEFyY2hpdmFsIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1lbW9yeSBjb21wcmVzc2lvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2lvblJlc3VsdCB7XG4gIC8qKiBOb2RlcyBjb21wcmVzc2VkICovXG4gIG5vZGVzQ29tcHJlc3NlZDogbnVtYmVyO1xuICAvKiogTm9kZXMgYXJjaGl2ZWQgKi9cbiAgbm9kZXNBcmNoaXZlZDogbnVtYmVyO1xuICAvKiogQ29uY2VwdHMgY3JlYXRlZCAqL1xuICBjb25jZXB0c0NyZWF0ZWQ6IG51bWJlcjtcbiAgLyoqIE1lbW9yeSBzYXZlZCAoYnl0ZXMpICovXG4gIG1lbW9yeVNhdmVkOiBudW1iZXI7XG4gIC8qKiBEdXJhdGlvbiAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogQXJjaGl2ZSBxdWVyeSByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcmNoaXZlUmVzdWx0IHtcbiAgLyoqIEFyY2hpdmVkIG5vZGUgSUQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIE9yaWdpbmFsIGNvbnRlbnQgKGlmIGF2YWlsYWJsZSkgKi9cbiAgY29udGVudD86IHN0cmluZztcbiAgLyoqIENvbmNlcHQgaXQgYmVsb25ncyB0byAqL1xuICBjb25jZXB0SWQ/OiBzdHJpbmc7XG4gIC8qKiBBcmNoaXZlIHRpbWVzdGFtcCAqL1xuICBhcmNoaXZlZEF0OiBEYXRlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXR0ZW50aW9uIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEF0dGVudGlvbiB3ZWlnaHRzIGZvciBpbnRlcnByZXRhYmlsaXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0ZW50aW9uV2VpZ2h0cyB7XG4gIC8qKiBRdWVyeS1rZXkgYXR0ZW50aW9uIHNjb3JlcyAqL1xuICBzY29yZXM6IG51bWJlcltdW107XG4gIC8qKiBIZWFkIGluZGV4ICovXG4gIGhlYWRJbmRleDogbnVtYmVyO1xuICAvKiogTGF5ZXIgaW5kZXggKi9cbiAgbGF5ZXJJbmRleDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEF0dGVudGlvbiBhbmFseXNpcyByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRlbnRpb25BbmFseXNpcyB7XG4gIC8qKiBNb3N0IGF0dGVuZGVkIHRva2VucyAqL1xuICB0b3BBdHRlbmRlZDogQXJyYXk8eyB0b2tlbjogc3RyaW5nOyB3ZWlnaHQ6IG51bWJlciB9PjtcbiAgLyoqIEF0dGVudGlvbiBlbnRyb3B5ICh1bmNlcnRhaW50eSkgKi9cbiAgZW50cm9weTogbnVtYmVyO1xuICAvKiogRm9jdXMgc2NvcmUgKDAtMSwgaGlnaGVyID0gbW9yZSBmb2N1c2VkKSAqL1xuICBmb2N1c1Njb3JlOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGZWRlcmF0ZWQgTGVhcm5pbmcgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRmVkZXJhdGVkIGxlYXJuaW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWRlcmF0ZWRDb25maWcge1xuICAvKiogSGlkZGVuIGRpbWVuc2lvbiBmb3IgZW1iZWRkaW5ncyAqL1xuICBoaWRkZW5EaW0/OiBudW1iZXI7XG4gIC8qKiBFbWJlZGRpbmcgZGltZW5zaW9uICovXG4gIGVtYmVkZGluZ0RpbT86IG51bWJlcjtcbiAgLyoqIE1pY3JvLUxvUkEgcmFuayAqL1xuICBtaWNyb0xvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogQmFzZSBMb1JBIHJhbmsgKi9cbiAgYmFzZUxvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogVHJhamVjdG9yeSBidWZmZXIgY2FwYWNpdHkgKi9cbiAgdHJhamVjdG9yeUNhcGFjaXR5PzogbnVtYmVyO1xuICAvKiogUGF0dGVybiBjbHVzdGVyIGNvdW50ICovXG4gIHBhdHRlcm5DbHVzdGVycz86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgZm9yIHJlZ3VsYXJpemF0aW9uICovXG4gIGV3Y0xhbWJkYT86IG51bWJlcjtcbiAgLyoqIFF1YWxpdHkgdGhyZXNob2xkIGZvciBhY2NlcHRpbmcgdHJhamVjdG9yaWVzICovXG4gIHF1YWxpdHlUaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVHJhamVjdG9yeSBleHBvcnQgZm9yIGZlZGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFqZWN0b3J5RXhwb3J0IHtcbiAgLyoqIFF1ZXJ5IGVtYmVkZGluZyAqL1xuICBlbWJlZGRpbmc6IEVtYmVkZGluZztcbiAgLyoqIFF1YWxpdHkgc2NvcmUgKi9cbiAgcXVhbGl0eTogbnVtYmVyO1xuICAvKiogTW9kZWwgcm91dGUgKGlmIGFueSkgKi9cbiAgcm91dGU/OiBzdHJpbmc7XG4gIC8qKiBDb250ZXh0IGlkZW50aWZpZXJzICovXG4gIGNvbnRleHQ6IHN0cmluZ1tdO1xuICAvKiogVGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFnZW50IGV4cG9ydCBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRFeHBvcnRTdGF0cyB7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgcHJvY2Vzc2VkICovXG4gIHRvdGFsVHJhamVjdG9yaWVzOiBudW1iZXI7XG4gIC8qKiBBdmVyYWdlIHF1YWxpdHkgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogUGF0dGVybnMgbGVhcm5lZCBsb2NhbGx5ICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEV4cG9ydGVkIHN0YXRlIGZyb20gYW4gZXBoZW1lcmFsIGFnZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRFeHBvcnQge1xuICAvKiogQWdlbnQgaWRlbnRpZmllciAqL1xuICBhZ2VudElkOiBzdHJpbmc7XG4gIC8qKiBFeHBvcnRlZCB0cmFqZWN0b3JpZXMgKi9cbiAgdHJhamVjdG9yaWVzOiBUcmFqZWN0b3J5RXhwb3J0W107XG4gIC8qKiBBZ2VudCBzdGF0aXN0aWNzICovXG4gIHN0YXRzOiBBZ2VudEV4cG9ydFN0YXRzO1xuICAvKiogU2Vzc2lvbiBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgKi9cbiAgc2Vzc2lvbkR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIEV4cG9ydCB0aW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBudW1iZXI7XG59XG5cbi8qKlxuICogQWdlbnQgY29udHJpYnV0aW9uIHJlY29yZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50Q29udHJpYnV0aW9uIHtcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgY29udHJpYnV0ZWQgKi9cbiAgdHJhamVjdG9yeUNvdW50OiBudW1iZXI7XG4gIC8qKiBBdmVyYWdlIHF1YWxpdHkgb2YgY29udHJpYnV0aW9ucyAqL1xuICBhdmdRdWFsaXR5OiBudW1iZXI7XG4gIC8qKiBDb250cmlidXRpb24gdGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICAvKiogU2Vzc2lvbiBkdXJhdGlvbiAqL1xuICBzZXNzaW9uRHVyYXRpb25NczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlc3VsdCBvZiBhZ2dyZWdhdGluZyBhbiBhZ2VudCBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2dyZWdhdGlvblJlc3VsdCB7XG4gIC8qKiBBZ2VudCBJRCB0aGF0IHdhcyBhZ2dyZWdhdGVkICovXG4gIGFnZW50SWQ6IHN0cmluZztcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgYWNjZXB0ZWQgKi9cbiAgdHJhamVjdG9yaWVzQWNjZXB0ZWQ6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgcmVqZWN0ZWQgKGJlbG93IHF1YWxpdHkgdGhyZXNob2xkKSAqL1xuICB0cmFqZWN0b3JpZXNSZWplY3RlZDogbnVtYmVyO1xuICAvKiogV2hldGhlciBjb25zb2xpZGF0aW9uIHdhcyB0cmlnZ2VyZWQgKi9cbiAgY29uc29saWRhdGVkOiBib29sZWFuO1xuICAvKiogVG90YWwgbnVtYmVyIG9mIGNvbnRyaWJ1dGluZyBhZ2VudHMgKi9cbiAgdG90YWxBZ2VudHM6IG51bWJlcjtcbiAgLyoqIFRvdGFsIHRyYWplY3RvcmllcyBpbiBjb29yZGluYXRvciAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xufVxuXG4vKipcbiAqIENvb3JkaW5hdG9yIHN0YXRpc3RpY3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb29yZGluYXRvclN0YXRzIHtcbiAgLyoqIENvb3JkaW5hdG9yIGlkZW50aWZpZXIgKi9cbiAgY29vcmRpbmF0b3JJZDogc3RyaW5nO1xuICAvKiogTnVtYmVyIG9mIGNvbnRyaWJ1dGluZyBhZ2VudHMgKi9cbiAgdG90YWxBZ2VudHM6IG51bWJlcjtcbiAgLyoqIFRvdGFsIHRyYWplY3RvcmllcyBhZ2dyZWdhdGVkICovXG4gIHRvdGFsVHJhamVjdG9yaWVzOiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJucyBsZWFybmVkICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5IGFjcm9zcyBhbGwgY29udHJpYnV0aW9ucyAqL1xuICBhdmdRdWFsaXR5OiBudW1iZXI7XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCAqL1xuICBxdWFsaXR5VGhyZXNob2xkOiBudW1iZXI7XG59XG5cbi8qKlxuICogRmVkZXJhdGVkIGxlYXJuaW5nIHRvcG9sb2d5XG4gKi9cbmV4cG9ydCB0eXBlIEZlZGVyYXRlZFRvcG9sb2d5ID1cbiAgfCAnc3RhcicgICAgICAgICAgIC8vIEFnZW50cyDihpIgQ2VudHJhbCBDb29yZGluYXRvclxuICB8ICdoaWVyYXJjaGljYWwnICAgLy8gQWdlbnRzIOKGkiBSZWdpb25hbCDihpIgR2xvYmFsXG4gIHwgJ3BlZXItdG8tcGVlcic7ICAvLyBBZ2VudHMgc2hhcmUgZGlyZWN0bHlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYWluaW5nIFBpcGVsaW5lIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFRyYWluaW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ0NvbmZpZyB7XG4gIC8qKiBJbml0aWFsIGxlYXJuaW5nIHJhdGUgKi9cbiAgbGVhcm5pbmdSYXRlPzogbnVtYmVyO1xuICAvKiogQmF0Y2ggc2l6ZSAqL1xuICBiYXRjaFNpemU/OiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgZXBvY2hzICovXG4gIGVwb2Nocz86IG51bWJlcjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgc2NoZWR1bGVyICovXG4gIHNjaGVkdWxlcj86ICdjb25zdGFudCcgfCAnbGluZWFyJyB8ICdjb3NpbmUnIHwgJ3dhcm11cCc7XG4gIC8qKiBXYXJtdXAgc3RlcHMgKGZvciB3YXJtdXAgc2NoZWR1bGVyKSAqL1xuICB3YXJtdXBTdGVwcz86IG51bWJlcjtcbiAgLyoqIFdlaWdodCBkZWNheSAqL1xuICB3ZWlnaHREZWNheT86IG51bWJlcjtcbiAgLyoqIEdyYWRpZW50IGNsaXBwaW5nIHRocmVzaG9sZCAqL1xuICBncmFkaWVudENsaXA/OiBudW1iZXI7XG4gIC8qKiBFYXJseSBzdG9wcGluZyBwYXRpZW5jZSAqL1xuICBlYXJseVN0b3BwaW5nUGF0aWVuY2U/OiBudW1iZXI7XG4gIC8qKiBDaGVja3BvaW50IGludGVydmFsIChlcG9jaHMpICovXG4gIGNoZWNrcG9pbnRJbnRlcnZhbD86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgZm9yIGNvbnRpbnVhbCBsZWFybmluZyAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBWYWxpZGF0aW9uIHNwbGl0IHJhdGlvICovXG4gIHZhbGlkYXRpb25TcGxpdD86IG51bWJlcjtcbiAgLyoqXG4gICAqIEZpbGUgcGF0aCBmb3IgYmVzdC1jaGVja3BvaW50IHJldGVudGlvbi4gV2hlbiBzZXQsIHRoZSBwaXBlbGluZSB3cml0ZXNcbiAgICogdGhlIGN1cnJlbnQgc3RhdGUgdG8gdGhpcyBwYXRoIGVhY2ggdGltZSB2YWxpZGF0aW9uIGxvc3MgaW1wcm92ZXMsIHNvIHRoZVxuICAgKiBiZXN0LXZhbGlkYXRpb24gbW9kZWwgc3Vydml2ZXMgZXZlbiBpZiBsYXRlciBlcG9jaHMgZGVncmFkZS4gRW1wdHkgc3RyaW5nXG4gICAqICh0aGUgZGVmYXVsdCkgZGlzYWJsZXMgaXQ7IGEgbm8tb3Agd2hlbiB2YWxpZGF0aW9uIG5ldmVyIHJ1bnMuXG4gICAqL1xuICBrZWVwQmVzdENoZWNrcG9pbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHJhaW5pbmcgbWV0cmljcyBzbmFwc2hvdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYWluaW5nTWV0cmljc1NuYXBzaG90IHtcbiAgLyoqIEN1cnJlbnQgZXBvY2ggKi9cbiAgZXBvY2g6IG51bWJlcjtcbiAgLyoqIEN1cnJlbnQgc3RlcCAqL1xuICBzdGVwOiBudW1iZXI7XG4gIC8qKiBUcmFpbmluZyBsb3NzICovXG4gIHRyYWluTG9zczogbnVtYmVyO1xuICAvKiogVmFsaWRhdGlvbiBsb3NzICovXG4gIHZhbExvc3M6IG51bWJlcjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgKi9cbiAgbGVhcm5pbmdSYXRlOiBudW1iZXI7XG4gIC8qKiBHcmFkaWVudCBub3JtICovXG4gIGdyYWROb3JtOiBudW1iZXI7XG4gIC8qKiBTdGVwcyBwZXIgc2Vjb25kICovXG4gIHN0ZXBzUGVyU2Vjb25kOiBudW1iZXI7XG4gIC8qKiBFVEEgaW4gc2Vjb25kcyAqL1xuICBldGFTZWNvbmRzOiBudW1iZXI7XG59XG5cbi8qKlxuICogVHJhaW5pbmcgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdSZXN1bHQge1xuICAvKiogVG90YWwgZXBvY2hzIGNvbXBsZXRlZCAqL1xuICBlcG9jaHM6IG51bWJlcjtcbiAgLyoqIFRvdGFsIHN0ZXBzIGNvbXBsZXRlZCAqL1xuICBzdGVwczogbnVtYmVyO1xuICAvKiogRmluYWwgdHJhaW5pbmcgbG9zcyAqL1xuICBmaW5hbExvc3M6IG51bWJlcjtcbiAgLyoqIEJlc3QgdmFsaWRhdGlvbiBsb3NzICovXG4gIGJlc3RWYWxMb3NzOiBudW1iZXI7XG4gIC8qKiBUcmFpbmluZyBkdXJhdGlvbiBpbiBtcyAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gIC8qKiBMb3NzIGhpc3RvcnkgKi9cbiAgbG9zc0hpc3Rvcnk6IG51bWJlcltdO1xuICAvKiogVmFsaWRhdGlvbiBsb3NzIGhpc3RvcnkgKi9cbiAgdmFsTG9zc0hpc3Rvcnk6IG51bWJlcltdO1xuICAvKiogRWFybHkgc3RvcHBlZCAqL1xuICBlYXJseVN0b3BwZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVHJhaW5pbmcgY2hlY2twb2ludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYWluaW5nQ2hlY2twb2ludCB7XG4gIC8qKiBFcG9jaCBudW1iZXIgKi9cbiAgZXBvY2g6IG51bWJlcjtcbiAgLyoqIFN0ZXAgbnVtYmVyICovXG4gIHN0ZXA6IG51bWJlcjtcbiAgLyoqIFRyYWluaW5nIGxvc3MgYXQgY2hlY2twb2ludCAqL1xuICBsb3NzOiBudW1iZXI7XG4gIC8qKiBNb2RlbCB3ZWlnaHRzIChzZXJpYWxpemVkKSAqL1xuICB3ZWlnaHRzOiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFeHBvcnQvU2VyaWFsaXphdGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFeHBvcnQgZm9ybWF0IG9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgRXhwb3J0Rm9ybWF0ID0gJ3NhZmV0ZW5zb3JzJyB8ICdqc29uJyB8ICdiaW5hcnknIHwgJ29ubngnO1xuXG4vKipcbiAqIE1vZGVsIG1ldGFkYXRhIGZvciBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RlbE1ldGFkYXRhIHtcbiAgLyoqIE1vZGVsIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogTW9kZWwgdmVyc2lvbiAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIC8qKiBBcmNoaXRlY3R1cmUgdHlwZSAqL1xuICBhcmNoaXRlY3R1cmU6IHN0cmluZztcbiAgLyoqIFRyYWluaW5nIGluZm8gKi9cbiAgdHJhaW5pbmc/OiB7XG4gICAgc3RlcHM6IG51bWJlcjtcbiAgICBsb3NzOiBudW1iZXI7XG4gICAgbGVhcm5pbmdSYXRlOiBudW1iZXI7XG4gIH07XG4gIC8qKiBDdXN0b20gbWV0YWRhdGEgKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruvector/ruvllm",
3
- "version": "2.7.0",
3
+ "version": "3.0.0",
4
4
  "description": "Self-learning LLM runtime \u2014 TurboQuant KV-cache (6-8x compression), SONA adaptive learning, FlashAttention, speculative decoding, GGUF inference",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -31,6 +31,7 @@
31
31
  "ruvllm": "./bin/cli.js"
32
32
  },
33
33
  "napi": {
34
+ "name": "ruvllm",
34
35
  "binaryName": "ruvllm",
35
36
  "targets": [
36
37
  "x86_64-unknown-linux-gnu",
@@ -46,8 +47,8 @@
46
47
  "build:cjs": "tsc",
47
48
  "build:esm": "tsc -p tsconfig.esm.json && node scripts/fix-esm-extensions.mjs",
48
49
  "verify:esm": "node scripts/fix-esm-extensions.mjs --verify",
49
- "build:native": "napi build --platform --release -p ruvllm --manifest-path ../../../examples/ruvLLM/Cargo.toml -F napi",
50
- "build:debug": "napi build --platform -p ruvllm --manifest-path ../../../examples/ruvLLM/Cargo.toml -F napi",
50
+ "build:native": "napi build --platform --release --cargo-cwd ../../../examples/ruvLLM --features napi,candle --cargo-flags=--lib",
51
+ "build:debug": "napi build --platform --cargo-cwd ../../../examples/ruvLLM --features napi,candle --cargo-flags=--lib",
51
52
  "prepublishOnly": "npm run build",
52
53
  "test": "node --test test/*.test.js",
53
54
  "test:esm-smoke": "node scripts/smoke-esm.mjs",