@cisstech/nge
Version:
NG Essentials is a collection of libraries for Angular developers.
230 lines • 39.1 kB
JavaScript
// ACTIONS
/** Toggle High Contrast Theme */
export const ACTION_TOGGLE_HIGH_CONTRAST = 'editor.action.toggleHighContrast';
/** Set Selection Anchor */
export const ACTION_SET_SELECTION_ANCHOR = 'editor.action.setSelectionAnchor';
/** Move Selected Text Left */
export const ACTION_MOVE_CARRET_LEFT = 'editor.action.moveCarretLeftAction';
/** Move Selected Text Right */
export const ACTION_MOVE_CARRET_RIGHT = 'editor.action.moveCarretRightAction';
/** Transpose Letters */
export const ACTION_TRANSPOSE_LETTERS = 'editor.action.transposeLetters';
/** Copy With Syntax Highlighting */
export const ACTION_CLIPBOARD_COPY_WITH_SYNTAX_HIGHLIGHTING = 'editor.action.clipboardCopyWithSyntaxHighlightingAction';
/** Toggle Line Comment */
export const ACTION_COMMENT_LINE = 'editor.action.commentLine';
/** Add Line Comment */
export const ACTION_ADD_COMMENT_LINE = 'editor.action.addCommentLine';
/** Remove Line Comment */
export const ACTION_REMOVE_COMMENT_LINE = 'editor.action.removeCommentLine';
/** Toggle Block Comment */
export const ACTION_BLOCK_COMMENT = 'editor.action.blockComment';
/** Show Editor Context Menu */
export const ACTION_SHOW_CONTEXT_MENU = 'editor.action.showContextMenu';
/** Cursor Undo */
export const ACTION_CURSOR_UNDO = 'cursorUndo';
/** Cursor Redo */
export const ACTION_CURSOR_REDO = 'cursorRedo';
/** Editor Font Zoom In */
export const ACTION_FONT_ZOOM_IN = 'editor.action.fontZoomIn';
/** Editor Font Zoom Out */
export const ACTION_FONT_ZOOM_OUT = 'editor.action.fontZoomOut';
/** Editor Font Zoom Reset */
export const ACTION_FONT_ZOOM_RESET = 'editor.action.fontZoomReset';
/** Convert Indentation to Spaces */
export const ACTION_INDENTATION_TO_SPACES = 'editor.action.indentationToSpaces';
/** Convert Indentation to Tabs */
export const ACTION_INDENTATION_TO_TABS = 'editor.action.indentationToTabs';
/** Indent Using Tabs */
export const ACTION_INDENT_USING_TABS = 'editor.action.indentUsingTabs';
/** Indent Using Spaces */
export const ACTION_INDENT_USING_SPACES = 'editor.action.indentUsingSpaces';
/** Detect Indentation from Content */
export const ACTION_DETECT_INDENTATION = 'editor.action.detectIndentation';
/** Reindent Lines */
export const ACTION_REINDENTLINES = 'editor.action.reindentlines';
/** Reindent Selected Lines */
export const ACTION_REINDENTSELECTEDLINES = 'editor.action.reindentselectedlines';
/** Copy Line Up */
export const ACTION_COPY_LINES_UP = 'editor.action.copyLinesUpAction';
/** Copy Line Down */
export const ACTION_COPY_LINES_DOWN = 'editor.action.copyLinesDownAction';
/** Duplicate Selection */
export const ACTION_DUPLICATE_SELECTION = 'editor.action.duplicateSelection';
/** Move Line Up */
export const ACTION_MOVE_LINES_UP = 'editor.action.moveLinesUpAction';
/** Move Line Down */
export const ACTION_MOVE_LINES_DOWN = 'editor.action.moveLinesDownAction';
/** Sort Lines Ascending */
export const ACTION_SORT_LINES_ASCENDING = 'editor.action.sortLinesAscending';
/** Sort Lines Descending */
export const ACTION_SORT_LINES_DESCENDING = 'editor.action.sortLinesDescending';
/** Trim Trailing Whitespace */
export const ACTION_TRIM_TRAILING_WHITESPACE = 'editor.action.trimTrailingWhitespace';
/** Delete Line */
export const ACTION_DELETE_LINES = 'editor.action.deleteLines';
/** Indent Line */
export const ACTION_INDENT_LINES = 'editor.action.indentLines';
/** Outdent Line */
export const ACTION_OUTDENT_LINES = 'editor.action.outdentLines';
/** Insert Line Above */
export const ACTION_INSERT_LINE_BEFORE = 'editor.action.insertLineBefore';
/** Insert Line Below */
export const ACTION_INSERT_LINE_AFTER = 'editor.action.insertLineAfter';
/** Delete All Left */
export const ACTION_DELETE_ALL_LEFT = 'deleteAllLeft';
/** Delete All Right */
export const ACTION_DELETE_ALL_RIGHT = 'deleteAllRight';
/** Join Lines */
export const ACTION_JOIN_LINES = 'editor.action.joinLines';
/** Transpose characters around the cursor */
export const ACTION_TRANSPOSE = 'editor.action.transpose';
/** Transform to Uppercase */
export const ACTION_TRANSFORM_TO_UPPERCASE = 'editor.action.transformToUppercase';
/** Transform to Lowercase */
export const ACTION_TRANSFORM_TO_LOWERCASE = 'editor.action.transformToLowercase';
/** Transform to Title Case */
export const ACTION_TRANSFORM_TO_TITLECASE = 'editor.action.transformToTitlecase';
/** Expand Selection */
export const ACTION_SMART_SELECT_EXPAND = 'editor.action.smartSelect.expand';
/** Shrink Selection */
export const ACTION_SMART_SELECT_SHRINK = 'editor.action.smartSelect.shrink';
/** Developer: Force Retokenize */
export const ACTION_FORCE_RETOKENIZE = 'editor.action.forceRetokenize';
/** Toggle Tab Key Moves Focus */
export const ACTION_TOGGLE_TAB_FOCUS_MODE = 'editor.action.toggleTabFocusMode';
/** Command Palette */
export const ACTION_QUICK_COMMAND = 'editor.action.quickCommand';
/** Replace with Previous Value */
export const ACTION_IN_PLACE_REPLACE_UP = 'editor.action.inPlaceReplace.up';
/** Replace with Next Value */
export const ACTION_IN_PLACE_REPLACE_DOWN = 'editor.action.inPlaceReplace.down';
/** Go to Line/Column... */
export const ACTION_GOTO_LINE = 'editor.action.gotoLine';
/** Select to Bracket */
export const ACTION_SELECT_TO_BRACKET = 'editor.action.selectToBracket';
/** Go to Bracket */
export const ACTION_JUMP_TO_BRACKET = 'editor.action.jumpToBracket';
/** Find */
export const ACTION_FIND = 'actions.find';
/** Find With Selection */
export const ACTION_FIND_WITH_SELECTION = 'actions.findWithSelection';
/** Find Next */
export const ACTION_NEXT_MATCH_FIND = 'editor.action.nextMatchFindAction';
/** Find Previous */
export const ACTION_PREVIOUS_MATCH_FIND = 'editor.action.previousMatchFindAction';
/** Find Next Selection */
export const ACTION_NEXT_SELECTION_MATCH_FIND = 'editor.action.nextSelectionMatchFindAction';
/** Find Previous Selection */
export const ACTION_PREVIOUS_SELECTION_MATCH_FIND = 'editor.action.previousSelectionMatchFindAction';
/** Replace */
export const ACTION_START_FIND_REPLACE = 'editor.action.startFindReplaceAction';
/** Unfold */
export const ACTION_EDITOR_UNFOLD = 'editor.unfold';
/** Unfold Recursively */
export const ACTION_EDITOR_UNFOLD_RECURSIVELY = 'editor.unfoldRecursively';
/** Fold */
export const ACTION_EDITOR_FOLD = 'editor.fold';
/** Fold Recursively */
export const ACTION_EDITOR_FOLD_RECURSIVELY = 'editor.foldRecursively';
/** Fold All */
export const ACTION_EDITOR_FOLD_ALL = 'editor.foldAll';
/** Unfold All */
export const ACTION_EDITOR_UNFOLD_ALL = 'editor.unfoldAll';
/** Fold All Block Comments */
export const ACTION_EDITOR_FOLD_ALL_BLOCK_COMMENTS = 'editor.foldAllBlockComments';
/** Fold All Regions */
export const ACTION_EDITOR_FOLD_ALL_MARKER_REGIONS = 'editor.foldAllMarkerRegions';
/** Unfold All Regions */
export const ACTION_EDITOR_UNFOLD_ALL_MARKER_REGIONS = 'editor.unfoldAllMarkerRegions';
/** Toggle Fold */
export const ACTION_EDITOR_TOGGLE_FOLD = 'editor.toggleFold';
/** Fold Level 1 */
export const ACTION_EDITOR_FOLD_LEVEL1 = 'editor.foldLevel1';
/** Fold Level 2 */
export const ACTION_EDITOR_FOLD_LEVEL2 = 'editor.foldLevel2';
/** Fold Level 3 */
export const ACTION_EDITOR_FOLD_LEVEL3 = 'editor.foldLevel3';
/** Fold Level 4 */
export const ACTION_EDITOR_FOLD_LEVEL4 = 'editor.foldLevel4';
/** Fold Level 5 */
export const ACTION_EDITOR_FOLD_LEVEL5 = 'editor.foldLevel5';
/** Fold Level 6 */
export const ACTION_EDITOR_FOLD_LEVEL6 = 'editor.foldLevel6';
/** Fold Level 7 */
export const ACTION_EDITOR_FOLD_LEVEL7 = 'editor.foldLevel7';
/** Open Link */
export const ACTION_OPEN_LINK = 'editor.action.openLink';
/** Trigger Symbol Highlight */
export const ACTION_WORD_HIGHLIGHT_TRIGGER = 'editor.action.wordHighlight.trigger';
/** Show Accessibility Help */
export const ACTION_SHOW_ACCESSIBILITY_HELP = 'editor.action.showAccessibilityHelp';
/** Developer: Inspect Tokens */
export const ACTION_INSPECT_TOKENS = 'editor.action.inspectTokens';
/** Go to Next Problem (Error, Warning, Info) */
export const ACTION_MARKER_NEXT = 'editor.action.marker.next';
/** Go to Previous Problem (Error, Warning, Info) */
export const ACTION_MARKER_PREV = 'editor.action.marker.prev';
/** Go to Next Problem in Files (Error, Warning, Info) */
export const ACTION_MARKER_NEXT_IN_FILES = 'editor.action.marker.nextInFiles';
/** Go to Previous Problem in Files (Error, Warning, Info) */
export const ACTION_MARKER_PREV_IN_FILES = 'editor.action.marker.prevInFiles';
/** Show Hover */
export const ACTION_SHOW_HOVER = 'editor.action.showHover';
/** Show Definition Preview Hover */
export const ACTION_SHOW_DEFINITION_PREVIEW_HOVER = 'editor.action.showDefinitionPreviewHover';
/** Add Cursor Above */
export const ACTION_INSERT_CURSOR_ABOVE = 'editor.action.insertCursorAbove';
/** Add Cursor Below */
export const ACTION_INSERT_CURSOR_BELOW = 'editor.action.insertCursorBelow';
/** Add Cursors to Line Ends */
export const ACTION_INSERT_CURSOR_AT_END_OF_EACH_LINE_SELECTED = 'editor.action.insertCursorAtEndOfEachLineSelected';
/** Add Selection To Next Find Match */
export const ACTION_ADD_SELECTION_TO_NEXT_FIND_MATCH = 'editor.action.addSelectionToNextFindMatch';
/** Add Selection To Previous Find Match */
export const ACTION_ADD_SELECTION_TO_PREVIOUS_FIND_MATCH = 'editor.action.addSelectionToPreviousFindMatch';
/** Move Last Selection To Next Find Match */
export const ACTION_MOVE_SELECTION_TO_NEXT_FIND_MATCH = 'editor.action.moveSelectionToNextFindMatch';
/** Move Last Selection To Previous Find Match */
export const ACTION_MOVE_SELECTION_TO_PREVIOUS_FIND_MATCH = 'editor.action.moveSelectionToPreviousFindMatch';
/** Select All Occurrences of Find Match */
export const ACTION_SELECT_HIGHLIGHTS = 'editor.action.selectHighlights';
/** Add Cursors To Bottom */
export const ACTION_ADD_CURSORS_TO_BOTTOM = 'editor.action.addCursorsToBottom';
/** Add Cursors To Top */
export const ACTION_ADD_CURSORS_TO_TOP = 'editor.action.addCursorsToTop';
/** Trigger Suggest */
export const ACTION_TRIGGER_SUGGEST = 'editor.action.triggerSuggest';
// https://github.com/microsoft/vscode/tree/master/src/vs/editor/contrib
export const COLOR_DETECTOR_CONTRIB = 'editor.contrib.colorDetector';
export const CONTEXT_MENU_CONTRIB = 'editor.contrib.contextmenu';
export const CURSOR_UNDO_REDO_CONTROLLER_CONTRIB = 'editor.contrib.cursorUndoRedoController';
export const DRAG_AND_DROP_CONTRIB = 'editor.contrib.dragAndDrop';
export const AUTO_FORMAT_CONTRIB = 'editor.contrib.autoFormat';
export const FORMAT_ON_PAST_CONTRIB = 'editor.contrib.formatOnPaste';
export const SMART_SELECT_CONTRIB = 'editor.contrib.smartSelectController';
export const IPAD_SHOW_KEYBOARD_CONTRIB = 'editor.contrib.iPadShowKeyboard';
export const BRACKET_MATCHING_CONTROLLER_CONTRIB = 'editor.contrib.bracketMatchingController';
export const CODE_LENS_CONTRIB = 'css.editor.codeLens';
export const FIND_CONTROLLE_CONTRIB = 'editor.contrib.findController';
export const FOLDING_CONTRIB = 'editor.contrib.folding';
export const IN_PLACE_REPLACE_CONTROLLER_CONTRIB = 'editor.contrib.inPlaceReplaceController';
export const LINK_DETECTOR_CONTRIB = 'editor.linkDetector';
export const MESSAGE_CONTROLLER_CONTRIB = 'editor.contrib.messageController';
export const QUICK_FIX_CONTROLLER_CONTRIB = 'editor.contrib.quickFixController';
export const MULTI_CURSOR_CONTROLLER_CONTRIB = 'editor.contrib.multiCursorController';
export const SELECTION_HIGHLIGHTER_CONTRIB = 'editor.contrib.selectionHighlighter';
export const PARAMETER_HINTS_CONTRIB = 'editor.controller.parameterHints';
export const REFERENCE_CONTROLLER_CONTRIB = 'editor.contrib.referenceController';
export const RENAME_CONTROLLER_CONTRIB = 'editor.contrib.renameController';
export const WORD_HIGHLIGHTER_CONTRIB = 'editor.contrib.wordHighlighter';
export const ACCESSIBILIY_HELP_CONTROLLER_CONTRIB = 'editor.contrib.accessibilityHelpController';
export const INSPECT_TOKENS_CONTRIB = 'editor.contrib.inspectTokens';
export const QUICK_OPEN_CONTROLLER_CONTRIB = 'editor.controller.quickOpenController';
export const GOTO_DEFINITION_CONTRIB = 'editor.contrib.gotodefinitionatposition';
export const REFERENCES_CONTROLLER_CONTRIB = 'editor.contrib.referencesController';
export const MARKER_CONTROLLER_CONTRIB = 'editor.contrib.markerController';
export const HOVER_CONTRIB = 'editor.contrib.hover';
export const SNIPPET_CONTROLLER_CONTRIB = 'snippetController2';
export const SUGGEST_CONTROLLER_CONTRIB = 'editor.contrib.suggestController';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nZS9tb25hY28vc3JjL21vbmFjby1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGlDQUFpQztBQUNqQyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxrQ0FBa0MsQ0FBQTtBQUU3RSwyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsa0NBQWtDLENBQUE7QUFFN0UsOEJBQThCO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLG9DQUFvQyxDQUFBO0FBRTNFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxxQ0FBcUMsQ0FBQTtBQUU3RSx3QkFBd0I7QUFDeEIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsZ0NBQWdDLENBQUE7QUFFeEUsb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLDhDQUE4QyxHQUFHLHlEQUF5RCxDQUFBO0FBRXZILDBCQUEwQjtBQUMxQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRywyQkFBMkIsQ0FBQTtBQUU5RCx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsOEJBQThCLENBQUE7QUFFckUsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGlDQUFpQyxDQUFBO0FBRTNFLDJCQUEyQjtBQUMzQixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyw0QkFBNEIsQ0FBQTtBQUVoRSwrQkFBK0I7QUFDL0IsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsK0JBQStCLENBQUE7QUFFdkUsa0JBQWtCO0FBQ2xCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQTtBQUU5QyxrQkFBa0I7QUFDbEIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdB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QUEwQixHQUFHLGtDQUFrQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQUNUSU9OU1xuLyoqIFRvZ2dsZSBIaWdoIENvbnRyYXN0IFRoZW1lICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1RPR0dMRV9ISUdIX0NPTlRSQVNUID0gJ2VkaXRvci5hY3Rpb24udG9nZ2xlSGlnaENvbnRyYXN0J1xuXG4vKiogU2V0IFNlbGVjdGlvbiBBbmNob3IgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fU0VUX1NFTEVDVElPTl9BTkNIT1IgPSAnZWRpdG9yLmFjdGlvbi5zZXRTZWxlY3Rpb25BbmNob3InXG5cbi8qKiBNb3ZlIFNlbGVjdGVkIFRleHQgTGVmdCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9NT1ZFX0NBUlJFVF9MRUZUID0gJ2VkaXRvci5hY3Rpb24ubW92ZUNhcnJldExlZnRBY3Rpb24nXG5cbi8qKiBNb3ZlIFNlbGVjdGVkIFRleHQgUmlnaHQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fTU9WRV9DQVJSRVRfUklHSFQgPSAnZWRpdG9yLmFjdGlvbi5tb3ZlQ2FycmV0UmlnaHRBY3Rpb24nXG5cbi8qKiBUcmFuc3Bvc2UgTGV0dGVycyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9UUkFOU1BPU0VfTEVUVEVSUyA9ICdlZGl0b3IuYWN0aW9uLnRyYW5zcG9zZUxldHRlcnMnXG5cbi8qKiBDb3B5IFdpdGggU3ludGF4IEhpZ2hsaWdodGluZyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9DTElQQk9BUkRfQ09QWV9XSVRIX1NZTlRBWF9ISUdITElHSFRJTkcgPSAnZWRpdG9yLmFjdGlvbi5jbGlwYm9hcmRDb3B5V2l0aFN5bnRheEhpZ2hsaWdodGluZ0FjdGlvbidcblxuLyoqIFRvZ2dsZSBMaW5lIENvbW1lbnQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fQ09NTUVOVF9MSU5FID0gJ2VkaXRvci5hY3Rpb24uY29tbWVudExpbmUnXG5cbi8qKiBBZGQgTGluZSBDb21tZW50ICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0FERF9DT01NRU5UX0xJTkUgPSAnZWRpdG9yLmFjdGlvbi5hZGRDb21tZW50TGluZSdcblxuLyoqIFJlbW92ZSBMaW5lIENvbW1lbnQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fUkVNT1ZFX0NPTU1FTlRfTElORSA9ICdlZGl0b3IuYWN0aW9uLnJlbW92ZUNvbW1lbnRMaW5lJ1xuXG4vKiogVG9nZ2xlIEJsb2NrIENvbW1lbnQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fQkxPQ0tfQ09NTUVOVCA9ICdlZGl0b3IuYWN0aW9uLmJsb2NrQ29tbWVudCdcblxuLyoqIFNob3cgRWRpdG9yIENvbnRleHQgTWVudSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9TSE9XX0NPTlRFWFRfTUVOVSA9ICdlZGl0b3IuYWN0aW9uLnNob3dDb250ZXh0TWVudSdcblxuLyoqIEN1cnNvciBVbmRvICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0NVUlNPUl9VTkRPID0gJ2N1cnNvclVuZG8nXG5cbi8qKiBDdXJzb3IgUmVkbyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9DVVJTT1JfUkVETyA9ICdjdXJzb3JSZWRvJ1xuXG4vKiogRWRpdG9yIEZvbnQgWm9vbSBJbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9GT05UX1pPT01fSU4gPSAnZWRpdG9yLmFjdGlvbi5mb250Wm9vbUluJ1xuXG4vKiogRWRpdG9yIEZvbnQgWm9vbSBPdXQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRk9OVF9aT09NX09VVCA9ICdlZGl0b3IuYWN0aW9uLmZvbnRab29tT3V0J1xuXG4vKiogRWRpdG9yIEZvbnQgWm9vbSBSZXNldCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9GT05UX1pPT01fUkVTRVQgPSAnZWRpdG9yLmFjdGlvbi5mb250Wm9vbVJlc2V0J1xuXG4vKiogQ29udmVydCBJbmRlbnRhdGlvbiB0byBTcGFjZXMgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fSU5ERU5UQVRJT05fVE9fU1BBQ0VTID0gJ2VkaXRvci5hY3Rpb24uaW5kZW50YXRpb25Ub1NwYWNlcydcblxuLyoqIENvbnZlcnQgSW5kZW50YXRpb24gdG8gVGFicyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9JTkRFTlRBVElPTl9UT19UQUJTID0gJ2VkaXRvci5hY3Rpb24uaW5kZW50YXRpb25Ub1RhYnMnXG5cbi8qKiBJbmRlbnQgVXNpbmcgVGFicyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9JTkRFTlRfVVNJTkdfVEFCUyA9ICdlZGl0b3IuYWN0aW9uLmluZGVudFVzaW5nVGFicydcblxuLyoqIEluZGVudCBVc2luZyBTcGFjZXMgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fSU5ERU5UX1VTSU5HX1NQQUNFUyA9ICdlZGl0b3IuYWN0aW9uLmluZGVudFVzaW5nU3BhY2VzJ1xuXG4vKiogRGV0ZWN0IEluZGVudGF0aW9uIGZyb20gQ29udGVudCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9ERVRFQ1RfSU5ERU5UQVRJT04gPSAnZWRpdG9yLmFjdGlvbi5kZXRlY3RJbmRlbnRhdGlvbidcblxuLyoqIFJlaW5kZW50IExpbmVzICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1JFSU5ERU5UTElORVMgPSAnZWRpdG9yLmFjdGlvbi5yZWluZGVudGxpbmVzJ1xuXG4vKiogUmVpbmRlbnQgU2VsZWN0ZWQgTGluZXMgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fUkVJTkRFTlRTRUxFQ1RFRExJTkVTID0gJ2VkaXRvci5hY3Rpb24ucmVpbmRlbnRzZWxlY3RlZGxpbmVzJ1xuXG4vKiogQ29weSBMaW5lIFVwICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0NPUFlfTElORVNfVVAgPSAnZWRpdG9yLmFjdGlvbi5jb3B5TGluZXNVcEFjdGlvbidcblxuLyoqIENvcHkgTGluZSBEb3duICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0NPUFlfTElORVNfRE9XTiA9ICdlZGl0b3IuYWN0aW9uLmNvcHlMaW5lc0Rvd25BY3Rpb24nXG5cbi8qKiBEdXBsaWNhdGUgU2VsZWN0aW9uICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0RVUExJQ0FURV9TRUxFQ1RJT04gPSAnZWRpdG9yLmFjdGlvbi5kdXBsaWNhdGVTZWxlY3Rpb24nXG5cbi8qKiBNb3ZlIExpbmUgVXAgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fTU9WRV9MSU5FU19VUCA9ICdlZGl0b3IuYWN0aW9uLm1vdmVMaW5lc1VwQWN0aW9uJ1xuXG4vKiogTW92ZSBMaW5lIERvd24gKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fTU9WRV9MSU5FU19ET1dOID0gJ2VkaXRvci5hY3Rpb24ubW92ZUxpbmVzRG93bkFjdGlvbidcblxuLyoqIFNvcnQgTGluZXMgQXNjZW5kaW5nICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1NPUlRfTElORVNfQVNDRU5ESU5HID0gJ2VkaXRvci5hY3Rpb24uc29ydExpbmVzQXNjZW5kaW5nJ1xuXG4vKiogU29ydCBMaW5lcyBEZXNjZW5kaW5nICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1NPUlRfTElORVNfREVTQ0VORElORyA9ICdlZGl0b3IuYWN0aW9uLnNvcnRMaW5lc0Rlc2NlbmRpbmcnXG5cbi8qKiBUcmltIFRyYWlsaW5nIFdoaXRlc3BhY2UgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fVFJJTV9UUkFJTElOR19XSElURVNQQUNFID0gJ2VkaXRvci5hY3Rpb24udHJpbVRyYWlsaW5nV2hpdGVzcGFjZSdcblxuLyoqIERlbGV0ZSBMaW5lICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0RFTEVURV9MSU5FUyA9ICdlZGl0b3IuYWN0aW9uLmRlbGV0ZUxpbmVzJ1xuXG4vKiogSW5kZW50IExpbmUgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fSU5ERU5UX0xJTkVTID0gJ2VkaXRvci5hY3Rpb24uaW5kZW50TGluZXMnXG5cbi8qKiBPdXRkZW50IExpbmUgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fT1VUREVOVF9MSU5FUyA9ICdlZGl0b3IuYWN0aW9uLm91dGRlbnRMaW5lcydcblxuLyoqIEluc2VydCBMaW5lIEFib3ZlICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0lOU0VSVF9MSU5FX0JFRk9SRSA9ICdlZGl0b3IuYWN0aW9uLmluc2VydExpbmVCZWZvcmUnXG5cbi8qKiBJbnNlcnQgTGluZSBCZWxvdyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9JTlNFUlRfTElORV9BRlRFUiA9ICdlZGl0b3IuYWN0aW9uLmluc2VydExpbmVBZnRlcidcblxuLyoqIERlbGV0ZSBBbGwgTGVmdCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9ERUxFVEVfQUxMX0xFRlQgPSAnZGVsZXRlQWxsTGVmdCdcblxuLyoqIERlbGV0ZSBBbGwgUmlnaHQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fREVMRVRFX0FMTF9SSUdIVCA9ICdkZWxldGVBbGxSaWdodCdcblxuLyoqIEpvaW4gTGluZXMgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fSk9JTl9MSU5FUyA9ICdlZGl0b3IuYWN0aW9uLmpvaW5MaW5lcydcblxuLyoqIFRyYW5zcG9zZSBjaGFyYWN0ZXJzIGFyb3VuZCB0aGUgY3Vyc29yICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1RSQU5TUE9TRSA9ICdlZGl0b3IuYWN0aW9uLnRyYW5zcG9zZSdcblxuLyoqIFRyYW5zZm9ybSB0byBVcHBlcmNhc2UgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fVFJBTlNGT1JNX1RPX1VQUEVSQ0FTRSA9ICdlZGl0b3IuYWN0aW9uLnRyYW5zZm9ybVRvVXBwZXJjYXNlJ1xuXG4vKiogVHJhbnNmb3JtIHRvIExvd2VyY2FzZSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9UUkFOU0ZPUk1fVE9fTE9XRVJDQVNFID0gJ2VkaXRvci5hY3Rpb24udHJhbnNmb3JtVG9Mb3dlcmNhc2UnXG5cbi8qKiBUcmFuc2Zvcm0gdG8gVGl0bGUgQ2FzZSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9UUkFOU0ZPUk1fVE9fVElUTEVDQVNFID0gJ2VkaXRvci5hY3Rpb24udHJhbnNmb3JtVG9UaXRsZWNhc2UnXG5cbi8qKiBFeHBhbmQgU2VsZWN0aW9uICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1NNQVJUX1NFTEVDVF9FWFBBTkQgPSAnZWRpdG9yLmFjdGlvbi5zbWFydFNlbGVjdC5leHBhbmQnXG5cbi8qKiBTaHJpbmsgU2VsZWN0aW9uICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1NNQVJUX1NFTEVDVF9TSFJJTksgPSAnZWRpdG9yLmFjdGlvbi5zbWFydFNlbGVjdC5zaHJpbmsnXG5cbi8qKiBEZXZlbG9wZXI6IEZvcmNlIFJldG9rZW5pemUgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRk9SQ0VfUkVUT0tFTklaRSA9ICdlZGl0b3IuYWN0aW9uLmZvcmNlUmV0b2tlbml6ZSdcblxuLyoqIFRvZ2dsZSBUYWIgS2V5IE1vdmVzIEZvY3VzICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1RPR0dMRV9UQUJfRk9DVVNfTU9ERSA9ICdlZGl0b3IuYWN0aW9uLnRvZ2dsZVRhYkZvY3VzTW9kZSdcblxuLyoqIENvbW1hbmQgUGFsZXR0ZSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9RVUlDS19DT01NQU5EID0gJ2VkaXRvci5hY3Rpb24ucXVpY2tDb21tYW5kJ1xuXG4vKiogUmVwbGFjZSB3aXRoIFByZXZpb3VzIFZhbHVlICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0lOX1BMQUNFX1JFUExBQ0VfVVAgPSAnZWRpdG9yLmFjdGlvbi5pblBsYWNlUmVwbGFjZS51cCdcblxuLyoqIFJlcGxhY2Ugd2l0aCBOZXh0IFZhbHVlICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0lOX1BMQUNFX1JFUExBQ0VfRE9XTiA9ICdlZGl0b3IuYWN0aW9uLmluUGxhY2VSZXBsYWNlLmRvd24nXG5cbi8qKiBHbyB0byBMaW5lL0NvbHVtbi4uLiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9HT1RPX0xJTkUgPSAnZWRpdG9yLmFjdGlvbi5nb3RvTGluZSdcblxuLyoqIFNlbGVjdCB0byBCcmFja2V0ICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1NFTEVDVF9UT19CUkFDS0VUID0gJ2VkaXRvci5hY3Rpb24uc2VsZWN0VG9CcmFja2V0J1xuXG4vKiogR28gdG8gQnJhY2tldCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9KVU1QX1RPX0JSQUNLRVQgPSAnZWRpdG9yLmFjdGlvbi5qdW1wVG9CcmFja2V0J1xuXG4vKiogRmluZCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9GSU5EID0gJ2FjdGlvbnMuZmluZCdcblxuLyoqIEZpbmQgV2l0aCBTZWxlY3Rpb24gKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRklORF9XSVRIX1NFTEVDVElPTiA9ICdhY3Rpb25zLmZpbmRXaXRoU2VsZWN0aW9uJ1xuXG4vKiogRmluZCBOZXh0ICovXG5leHBvcnQgY29uc3QgQUNUSU9OX05FWFRfTUFUQ0hfRklORCA9ICdlZGl0b3IuYWN0aW9uLm5leHRNYXRjaEZpbmRBY3Rpb24nXG5cbi8qKiBGaW5kIFByZXZpb3VzICovXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRVZJT1VTX01BVENIX0ZJTkQgPSAnZWRpdG9yLmFjdGlvbi5wcmV2aW91c01hdGNoRmluZEFjdGlvbidcblxuLyoqIEZpbmQgTmV4dCBTZWxlY3Rpb24gKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fTkVYVF9TRUxFQ1RJT05fTUFUQ0hfRklORCA9ICdlZGl0b3IuYWN0aW9uLm5leHRTZWxlY3Rpb25NYXRjaEZpbmRBY3Rpb24nXG5cbi8qKiBGaW5kIFByZXZpb3VzIFNlbGVjdGlvbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9QUkVWSU9VU19TRUxFQ1RJT05fTUFUQ0hfRklORCA9ICdlZGl0b3IuYWN0aW9uLnByZXZpb3VzU2VsZWN0aW9uTWF0Y2hGaW5kQWN0aW9uJ1xuXG4vKiogUmVwbGFjZSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9TVEFSVF9GSU5EX1JFUExBQ0UgPSAnZWRpdG9yLmFjdGlvbi5zdGFydEZpbmRSZXBsYWNlQWN0aW9uJ1xuXG4vKiogVW5mb2xkICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9VTkZPTEQgPSAnZWRpdG9yLnVuZm9sZCdcblxuLyoqIFVuZm9sZCBSZWN1cnNpdmVseSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfVU5GT0xEX1JFQ1VSU0lWRUxZID0gJ2VkaXRvci51bmZvbGRSZWN1cnNpdmVseSdcblxuLyoqIEZvbGQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRURJVE9SX0ZPTEQgPSAnZWRpdG9yLmZvbGQnXG5cbi8qKiBGb2xkIFJlY3Vyc2l2ZWx5ICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9GT0xEX1JFQ1VSU0lWRUxZID0gJ2VkaXRvci5mb2xkUmVjdXJzaXZlbHknXG5cbi8qKiBGb2xkIEFsbCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfRk9MRF9BTEwgPSAnZWRpdG9yLmZvbGRBbGwnXG5cbi8qKiBVbmZvbGQgQWxsICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9VTkZPTERfQUxMID0gJ2VkaXRvci51bmZvbGRBbGwnXG5cbi8qKiBGb2xkIEFsbCBCbG9jayBDb21tZW50cyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfRk9MRF9BTExfQkxPQ0tfQ09NTUVOVFMgPSAnZWRpdG9yLmZvbGRBbGxCbG9ja0NvbW1lbnRzJ1xuXG4vKiogRm9sZCBBbGwgUmVnaW9ucyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfRk9MRF9BTExfTUFSS0VSX1JFR0lPTlMgPSAnZWRpdG9yLmZvbGRBbGxNYXJrZXJSZWdpb25zJ1xuXG4vKiogVW5mb2xkIEFsbCBSZWdpb25zICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9VTkZPTERfQUxMX01BUktFUl9SRUdJT05TID0gJ2VkaXRvci51bmZvbGRBbGxNYXJrZXJSZWdpb25zJ1xuXG4vKiogVG9nZ2xlIEZvbGQgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRURJVE9SX1RPR0dMRV9GT0xEID0gJ2VkaXRvci50b2dnbGVGb2xkJ1xuXG4vKiogRm9sZCBMZXZlbCAxICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9GT0xEX0xFVkVMMSA9ICdlZGl0b3IuZm9sZExldmVsMSdcblxuLyoqIEZvbGQgTGV2ZWwgMiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfRk9MRF9MRVZFTDIgPSAnZWRpdG9yLmZvbGRMZXZlbDInXG5cbi8qKiBGb2xkIExldmVsIDMgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRURJVE9SX0ZPTERfTEVWRUwzID0gJ2VkaXRvci5mb2xkTGV2ZWwzJ1xuXG4vKiogRm9sZCBMZXZlbCA0ICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9GT0xEX0xFVkVMNCA9ICdlZGl0b3IuZm9sZExldmVsNCdcblxuLyoqIEZvbGQgTGV2ZWwgNSAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfRk9MRF9MRVZFTDUgPSAnZWRpdG9yLmZvbGRMZXZlbDUnXG5cbi8qKiBGb2xkIExldmVsIDYgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fRURJVE9SX0ZPTERfTEVWRUw2ID0gJ2VkaXRvci5mb2xkTGV2ZWw2J1xuXG4vKiogRm9sZCBMZXZlbCA3ICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0VESVRPUl9GT0xEX0xFVkVMNyA9ICdlZGl0b3IuZm9sZExldmVsNydcblxuLyoqIE9wZW4gTGluayAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9PUEVOX0xJTksgPSAnZWRpdG9yLmFjdGlvbi5vcGVuTGluaydcblxuLyoqIFRyaWdnZXIgU3ltYm9sIEhpZ2hsaWdodCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9XT1JEX0hJR0hMSUdIVF9UUklHR0VSID0gJ2VkaXRvci5hY3Rpb24ud29yZEhpZ2hsaWdodC50cmlnZ2VyJ1xuXG4vKiogU2hvdyBBY2Nlc3NpYmlsaXR5IEhlbHAgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fU0hPV19BQ0NFU1NJQklMSVRZX0hFTFAgPSAnZWRpdG9yLmFjdGlvbi5zaG93QWNjZXNzaWJpbGl0eUhlbHAnXG5cbi8qKiBEZXZlbG9wZXI6IEluc3BlY3QgVG9rZW5zICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0lOU1BFQ1RfVE9LRU5TID0gJ2VkaXRvci5hY3Rpb24uaW5zcGVjdFRva2VucydcblxuLyoqIEdvIHRvIE5leHQgUHJvYmxlbSAoRXJyb3IsIFdhcm5pbmcsIEluZm8pICovXG5leHBvcnQgY29uc3QgQUNUSU9OX01BUktFUl9ORVhUID0gJ2VkaXRvci5hY3Rpb24ubWFya2VyLm5leHQnXG5cbi8qKiBHbyB0byBQcmV2aW91cyBQcm9ibGVtIChFcnJvciwgV2FybmluZywgSW5mbykgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fTUFSS0VSX1BSRVYgPSAnZWRpdG9yLmFjdGlvbi5tYXJrZXIucHJldidcblxuLyoqIEdvIHRvIE5leHQgUHJvYmxlbSBpbiBGaWxlcyAoRXJyb3IsIFdhcm5pbmcsIEluZm8pICovXG5leHBvcnQgY29uc3QgQUNUSU9OX01BUktFUl9ORVhUX0lOX0ZJTEVTID0gJ2VkaXRvci5hY3Rpb24ubWFya2VyLm5leHRJbkZpbGVzJ1xuXG4vKiogR28gdG8gUHJldmlvdXMgUHJvYmxlbSBpbiBGaWxlcyAoRXJyb3IsIFdhcm5pbmcsIEluZm8pICovXG5leHBvcnQgY29uc3QgQUNUSU9OX01BUktFUl9QUkVWX0lOX0ZJTEVTID0gJ2VkaXRvci5hY3Rpb24ubWFya2VyLnByZXZJbkZpbGVzJ1xuXG4vKiogU2hvdyBIb3ZlciAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9TSE9XX0hPVkVSID0gJ2VkaXRvci5hY3Rpb24uc2hvd0hvdmVyJ1xuXG4vKiogU2hvdyBEZWZpbml0aW9uIFByZXZpZXcgSG92ZXIgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fU0hPV19ERUZJTklUSU9OX1BSRVZJRVdfSE9WRVIgPSAnZWRpdG9yLmFjdGlvbi5zaG93RGVmaW5pdGlvblByZXZpZXdIb3ZlcidcblxuLyoqIEFkZCBDdXJzb3IgQWJvdmUgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fSU5TRVJUX0NVUlNPUl9BQk9WRSA9ICdlZGl0b3IuYWN0aW9uLmluc2VydEN1cnNvckFib3ZlJ1xuXG4vKiogQWRkIEN1cnNvciBCZWxvdyAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9JTlNFUlRfQ1VSU09SX0JFTE9XID0gJ2VkaXRvci5hY3Rpb24uaW5zZXJ0Q3Vyc29yQmVsb3cnXG5cbi8qKiBBZGQgQ3Vyc29ycyB0byBMaW5lIEVuZHMgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fSU5TRVJUX0NVUlNPUl9BVF9FTkRfT0ZfRUFDSF9MSU5FX1NFTEVDVEVEID0gJ2VkaXRvci5hY3Rpb24uaW5zZXJ0Q3Vyc29yQXRFbmRPZkVhY2hMaW5lU2VsZWN0ZWQnXG5cbi8qKiBBZGQgU2VsZWN0aW9uIFRvIE5leHQgRmluZCBNYXRjaCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9BRERfU0VMRUNUSU9OX1RPX05FWFRfRklORF9NQVRDSCA9ICdlZGl0b3IuYWN0aW9uLmFkZFNlbGVjdGlvblRvTmV4dEZpbmRNYXRjaCdcblxuLyoqIEFkZCBTZWxlY3Rpb24gVG8gUHJldmlvdXMgRmluZCBNYXRjaCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9BRERfU0VMRUNUSU9OX1RPX1BSRVZJT1VTX0ZJTkRfTUFUQ0ggPSAnZWRpdG9yLmFjdGlvbi5hZGRTZWxlY3Rpb25Ub1ByZXZpb3VzRmluZE1hdGNoJ1xuXG4vKiogTW92ZSBMYXN0IFNlbGVjdGlvbiBUbyBOZXh0IEZpbmQgTWF0Y2ggKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fTU9WRV9TRUxFQ1RJT05fVE9fTkVYVF9GSU5EX01BVENIID0gJ2VkaXRvci5hY3Rpb24ubW92ZVNlbGVjdGlvblRvTmV4dEZpbmRNYXRjaCdcblxuLyoqIE1vdmUgTGFzdCBTZWxlY3Rpb24gVG8gUHJldmlvdXMgRmluZCBNYXRjaCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9NT1ZFX1NFTEVDVElPTl9UT19QUkVWSU9VU19GSU5EX01BVENIID0gJ2VkaXRvci5hY3Rpb24ubW92ZVNlbGVjdGlvblRvUHJldmlvdXNGaW5kTWF0Y2gnXG5cbi8qKiBTZWxlY3QgQWxsIE9jY3VycmVuY2VzIG9mIEZpbmQgTWF0Y2ggKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fU0VMRUNUX0hJR0hMSUdIVFMgPSAnZWRpdG9yLmFjdGlvbi5zZWxlY3RIaWdobGlnaHRzJ1xuXG4vKiogQWRkIEN1cnNvcnMgVG8gQm90dG9tICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0FERF9DVVJTT1JTX1RPX0JPVFRPTSA9ICdlZGl0b3IuYWN0aW9uLmFkZEN1cnNvcnNUb0JvdHRvbSdcblxuLyoqIEFkZCBDdXJzb3JzIFRvIFRvcCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9BRERfQ1VSU09SU19UT19UT1AgPSAnZWRpdG9yLmFjdGlvbi5hZGRDdXJzb3JzVG9Ub3AnXG5cbi8qKiBUcmlnZ2VyIFN1Z2dlc3QgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fVFJJR0dFUl9TVUdHRVNUID0gJ2VkaXRvci5hY3Rpb24udHJpZ2dlclN1Z2dlc3QnXG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlL3RyZWUvbWFzdGVyL3NyYy92cy9lZGl0b3IvY29udHJpYlxuXG5leHBvcnQgY29uc3QgQ09MT1JfREVURUNUT1JfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5jb2xvckRldGVjdG9yJ1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVV9DT05UUklCID0gJ2VkaXRvci5jb250cmliLmNvbnRleHRtZW51J1xuZXhwb3J0IGNvbnN0IENVUlNPUl9VTkRPX1JFRE9fQ09OVFJPTExFUl9DT05UUklCID0gJ2VkaXRvci5jb250cmliLmN1cnNvclVuZG9SZWRvQ29udHJvbGxlcidcbmV4cG9ydCBjb25zdCBEUkFHX0FORF9EUk9QX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIuZHJhZ0FuZERyb3AnXG5leHBvcnQgY29uc3QgQVVUT19GT1JNQVRfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5hdXRvRm9ybWF0J1xuZXhwb3J0IGNvbnN0IEZPUk1BVF9PTl9QQVNUX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIuZm9ybWF0T25QYXN0ZSdcbmV4cG9ydCBjb25zdCBTTUFSVF9TRUxFQ1RfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5zbWFydFNlbGVjdENvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgSVBBRF9TSE9XX0tFWUJPQVJEX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIuaVBhZFNob3dLZXlib2FyZCdcbmV4cG9ydCBjb25zdCBCUkFDS0VUX01BVENISU5HX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5icmFja2V0TWF0Y2hpbmdDb250cm9sbGVyJ1xuZXhwb3J0IGNvbnN0IENPREVfTEVOU19DT05UUklCID0gJ2Nzcy5lZGl0b3IuY29kZUxlbnMnXG5leHBvcnQgY29uc3QgRklORF9DT05UUk9MTEVfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5maW5kQ29udHJvbGxlcidcbmV4cG9ydCBjb25zdCBGT0xESU5HX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIuZm9sZGluZydcbmV4cG9ydCBjb25zdCBJTl9QTEFDRV9SRVBMQUNFX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5pblBsYWNlUmVwbGFjZUNvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgTElOS19ERVRFQ1RPUl9DT05UUklCID0gJ2VkaXRvci5saW5rRGV0ZWN0b3InXG5leHBvcnQgY29uc3QgTUVTU0FHRV9DT05UUk9MTEVSX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIubWVzc2FnZUNvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgUVVJQ0tfRklYX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5xdWlja0ZpeENvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgTVVMVElfQ1VSU09SX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5tdWx0aUN1cnNvckNvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX0hJR0hMSUdIVEVSX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIuc2VsZWN0aW9uSGlnaGxpZ2h0ZXInXG5leHBvcnQgY29uc3QgUEFSQU1FVEVSX0hJTlRTX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyb2xsZXIucGFyYW1ldGVySGludHMnXG5leHBvcnQgY29uc3QgUkVGRVJFTkNFX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5yZWZlcmVuY2VDb250cm9sbGVyJ1xuZXhwb3J0IGNvbnN0IFJFTkFNRV9DT05UUk9MTEVSX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIucmVuYW1lQ29udHJvbGxlcidcbmV4cG9ydCBjb25zdCBXT1JEX0hJR0hMSUdIVEVSX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIud29yZEhpZ2hsaWdodGVyJ1xuZXhwb3J0IGNvbnN0IEFDQ0VTU0lCSUxJWV9IRUxQX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5hY2Nlc3NpYmlsaXR5SGVscENvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgSU5TUEVDVF9UT0tFTlNfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5pbnNwZWN0VG9rZW5zJ1xuZXhwb3J0IGNvbnN0IFFVSUNLX09QRU5fQ09OVFJPTExFUl9DT05UUklCID0gJ2VkaXRvci5jb250cm9sbGVyLnF1aWNrT3BlbkNvbnRyb2xsZXInXG5leHBvcnQgY29uc3QgR09UT19ERUZJTklUSU9OX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIuZ290b2RlZmluaXRpb25hdHBvc2l0aW9uJ1xuZXhwb3J0IGNvbnN0IFJFRkVSRU5DRVNfQ09OVFJPTExFUl9DT05UUklCID0gJ2VkaXRvci5jb250cmliLnJlZmVyZW5jZXNDb250cm9sbGVyJ1xuZXhwb3J0IGNvbnN0IE1BUktFUl9DT05UUk9MTEVSX0NPTlRSSUIgPSAnZWRpdG9yLmNvbnRyaWIubWFya2VyQ29udHJvbGxlcidcbmV4cG9ydCBjb25zdCBIT1ZFUl9DT05UUklCID0gJ2VkaXRvci5jb250cmliLmhvdmVyJ1xuZXhwb3J0IGNvbnN0IFNOSVBQRVRfQ09OVFJPTExFUl9DT05UUklCID0gJ3NuaXBwZXRDb250cm9sbGVyMidcbmV4cG9ydCBjb25zdCBTVUdHRVNUX0NPTlRST0xMRVJfQ09OVFJJQiA9ICdlZGl0b3IuY29udHJpYi5zdWdnZXN0Q29udHJvbGxlcidcbiJdfQ==