Skip to content

Instantly share code, notes, and snippets.

@sowderca
Created July 18, 2019 13:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sowderca/4a21ed202d085c5aeea3a840463ab81a to your computer and use it in GitHub Desktop.
Save sowderca/4a21ed202d085c5aeea3a840463ab81a to your computer and use it in GitHub Desktop.
/Applications/Slack.app/Contents/Resources/app/dist/
This file has been truncated, but you can view the full file.
module.exports = function(modules) {
var installedModules = {};
function __webpack_require__(moduleId) {
if (installedModules[moduleId]) return installedModules[moduleId].exports;
var module = installedModules[moduleId] = {
i: moduleId,
l: !1,
exports: {}
};
return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), module.l = !0, module.exports
}
return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.d = function(exports, name, getter) {
__webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {
enumerable: !0,
get: getter
})
}, __webpack_require__.r = function(exports) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
}), Object.defineProperty(exports, "__esModule", {
value: !0
})
}, __webpack_require__.t = function(value, mode) {
if (1 & mode && (value = __webpack_require__(value)), 8 & mode) return value;
if (4 & mode && "object" == typeof value && value && value.__esModule) return value;
var ns = Object.create(null);
if (__webpack_require__.r(ns), Object.defineProperty(ns, "default", {
enumerable: !0,
value
}), 2 & mode && "string" != typeof value)
for (var key in value) __webpack_require__.d(ns, key, function(key) {
return value[key]
}.bind(null, key));
return ns
}, __webpack_require__.n = function(module) {
var getter = module && module.__esModule ? function getDefault() {
return module.default
} : function getModuleExports() {
return module
};
return __webpack_require__.d(getter, "a", getter), getter
}, __webpack_require__.o = function(object, property) {
return Object.prototype.hasOwnProperty.call(object, property)
}, __webpack_require__.p = "", __webpack_require__(__webpack_require__.s = 591)
}([function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "Logger", function() {
return Logger
}), __webpack_require__.d(__webpack_exports__, "logger", function() {
return logger
});
var fs_extra__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9),
nothing_mock__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41),
path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6),
winston__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(155),
_get_path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23),
_parse_command_line__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(147),
_utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(27),
_utils_redact_utils_api_tokens__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(105);
const identifier = "renderer",
getRedactFormatter = winston__WEBPACK_IMPORTED_MODULE_3__.format((info, _opts) => {
const {
message: rawMessage,
meta: rawMeta,
...others
} = info;
return {
...others,
...Object(_utils_redact_utils_api_tokens__WEBPACK_IMPORTED_MODULE_7__.a)(rawMessage, rawMeta)
}
});
class Logger {
constructor(options = {}) {
this.info = nothing_mock__WEBPACK_IMPORTED_MODULE_1__.Nothing, this.debug = nothing_mock__WEBPACK_IMPORTED_MODULE_1__.Nothing, this.warn = nothing_mock__WEBPACK_IMPORTED_MODULE_1__.Nothing, this.error = nothing_mock__WEBPACK_IMPORTED_MODULE_1__.Nothing, this.winstonInstance = winston__WEBPACK_IMPORTED_MODULE_3__.createLogger({}), this.debugOut = nothing_mock__WEBPACK_IMPORTED_MODULE_1__.Nothing;
const {
identifierOverride,
showTimestamp
} = options, loggerConfig = Object(_parse_command_line__WEBPACK_IMPORTED_MODULE_5__.a)(), {
isDevMode,
logFile
} = loggerConfig, logLevel = loggerConfig.logLevel || process.env.SLACK_DEBUG_LEVEL || (isDevMode ? "debug" : "info");
if (Object.keys(_utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.a).map(key => _utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.a[key]).forEach(x => {
this[x] = (message, meta, ...args) => {
(x === _utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.a.ERROR || _utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.d) && this.debugOut(message, meta || ""), this.winstonInstance.log(x, message, meta ? {
meta
} : null, ...args)
}
}), isDevMode && (this.debugOut = __webpack_require__(273)(`logger:${identifierOverride||identifier}`), this.debugOut.useColors = !1), this.logLocation = logFile ? path__WEBPACK_IMPORTED_MODULE_2__.resolve(path__WEBPACK_IMPORTED_MODULE_2__.dirname(logFile)) : _get_path__WEBPACK_IMPORTED_MODULE_4__.a `${"userData"}/logs`, !fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(this.logLocation)) try {
fs_extra__WEBPACK_IMPORTED_MODULE_0__.mkdirpSync(this.logLocation)
} catch (error) {
this.winstonInstance.error(`Unable to create logs directory: ${error}`)
}
const uniqueId = Object(_utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.c)(identifierOverride);
identifierOverride || _utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.d || this.hookConsoleError(), this.winstonInstance.add(new winston__WEBPACK_IMPORTED_MODULE_3__.transports.File({
level: logLevel,
filename: path__WEBPACK_IMPORTED_MODULE_2__.join(this.logLocation, `${uniqueId}.log`),
maxsize: 5242880,
maxFiles: 5,
tailable: !0,
format: winston__WEBPACK_IMPORTED_MODULE_3__.format.combine(getRedactFormatter(), winston__WEBPACK_IMPORTED_MODULE_3__.format.printf(Object(_utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.b)(!0 !== showTimestamp, this.warn.bind(this))))
})), Object(_utils_logger_utils__WEBPACK_IMPORTED_MODULE_6__.e)(this.info.bind(this)), this.info("Configured logger via", {
logLevel,
SLACK_DEBUG_LEVEL: process.env.SLACK_DEBUG_LEVEL,
isDevMode
}), this.info("Predefined values for process", {
platform: "darwin",
NODE_ENV: "production",
type: "renderer",
"PACKAGE_MANIFEST.isPilot": void 0,
"PACKAGE_MANIFEST.productName": "Slack",
"PACKAGE_MANIFEST.channel": "mas",
"PACKAGE_MANIFEST.version": "4.0.0",
"PACKAGE_MANIFEST.versionName": "The Final Countdown",
"PACKAGE_MANIFEST.commit": "06572bf",
"PACKAGE_MANIFEST.branch": "HEAD"
})
}
fatal(message) {
try {
throw new Error(message)
} catch (e) {
this.debugOut(e.stack || e.message), this.winstonInstance.error(e.stack || e.message)
}
}
close() {
this.winstonInstance.close()
}
hookConsoleError() {
const originalError = console.error;
console.error = (message, ...args) => {
try {
this.error(message, ...args)
} catch (e) {
originalError("could not log console error into logger", e)
}
originalError(message, ...args)
}
}
}
const logger = new Logger
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var APP, APP_TEAMS;
__webpack_require__.d(__webpack_exports__, "a", function() {
return APP
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return APP_TEAMS
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return SELECTED_TEAM_ACTION
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return MenuActions
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return DIALOG
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return EnvironmentActions
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return EVENTS
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return NOTIFICATIONS
}), __webpack_require__.d(__webpack_exports__, "i", function() {
return SETTINGS
}), __webpack_require__.d(__webpack_exports__, "j", function() {
return TEAMS
}), __webpack_require__.d(__webpack_exports__, "k", function() {
return TEAMS_CHANGED_ACTION
}), __webpack_require__.d(__webpack_exports__, "l", function() {
return UNREADS
}), __webpack_require__.d(__webpack_exports__, "m", function() {
return WINDOWS
}), __webpack_require__.d(__webpack_exports__, "n", function() {
return WorkspaceActions
}),
function(APP) {
APP.SET_SUSPEND_STATUS = "SET_SUSPEND_STATUS", APP.SET_NETWORK_STATUS = "SET_NETWORK_STATUS", APP.SET_UPDATE_STATUS = "SET_UPDATE_STATUS", APP.MARK_DEVTOOLS_STATE = "MARK_DEVTOOLS_STATE", APP.SET_CUSTOM_MENU_ITEMS = "SET_CUSTOM_MENU_ITEMS", APP.CUSTOM_MENU_ITEM_CLICKED = "CUSTOM_MENU_ITEM_CLICKED", APP.UPDATE_DRAG_REGION = "UPDATE_DRAG_REGION", APP.SET_NET_LOG_STATUS = "SET_NET_LOG_STATUS", APP.SIGN_IN_PROGRESS = "SIGN_IN_PROGRESS", APP.SIGN_IN_COMPLETE = "SIGN_IN_COMPLETE", APP.SIGN_IN_CANCELED = "SIGN_IN_CANCELED", APP.DISPLAY_ADDED = "DISPLAY_ADDED", APP.DISPLAY_REMOVED = "DISPLAY_REMOVED", APP.DISPLAY_METRICS_CHANGED = "DISPLAY_METRICS_CHANGED", APP.POWER_RESUMED = "POWER_RESUMED", APP.SET_SYSTEM_IDLE = "SET_SYSTEM_IDLE", APP.SET_SYSTEM_LOCKED = "SET_SYSTEM_LOCKED", APP.TICKLE_MESSAGE_SERVER = "TICKLE_MESSAGE_SERVER"
}(APP || (APP = {})),
function(APP_TEAMS) {
APP_TEAMS.SELECT_TEAM = "SELECT_TEAM", APP_TEAMS.SELECT_TEAM_BY_USER_ID = "SELECT_TEAM_BY_USER_ID", APP_TEAMS.SELECT_TEAM_BY_INDEX = "SELECT_TEAM_BY_INDEX", APP_TEAMS.SET_TEAMS_BY_INDEX = "SET_TEAMS_BY_INDEX", APP_TEAMS.SELECT_CHANNEL = "SELECT_CHANNEL", APP_TEAMS.SELECT_NEXT_TEAM = "SELECT_NEXT_TEAM", APP_TEAMS.SELECT_PREVIOUS_TEAM = "SELECT_PREVIOUS_TEAM", APP_TEAMS.SIGNED_OUT_TEAM = "SIGNED_OUT_TEAM"
}(APP_TEAMS || (APP_TEAMS = {}));
const SELECTED_TEAM_ACTION = [APP_TEAMS.SELECT_TEAM, APP_TEAMS.SELECT_TEAM_BY_USER_ID, APP_TEAMS.SELECT_NEXT_TEAM, APP_TEAMS.SELECT_PREVIOUS_TEAM, APP_TEAMS.SELECT_TEAM_BY_INDEX];
var MenuActions, DIALOG, EnvironmentActions, EVENTS, NOTIFICATIONS, SETTINGS, TEAMS;
! function(MenuActions) {
MenuActions.ADD_WORD_TO_DICTIONARY = "ADD_WORD_TO_DICTIONARY", MenuActions.APP_COMMAND = "APP_COMMAND", MenuActions.CONTEXT_MENU_ITEM_CLICKED = "CONTEXT_MENU_ITEM_CLICKED", MenuActions.EDITING_COMMAND = "EDITING_COMMAND", MenuActions.OPEN_CONTEXT_MENU = "OPEN_CONTEXT_MENU", MenuActions.OPEN_TEAM_SIDEBAR_CONTEXT_MENU = "OPEN_TEAM_SIDEBAR_CONTEXT_MENU", MenuActions.POPUP_APP_MENU = "POPUP_APP_MENU", MenuActions.SET_CONTEXT_MENU_TEMPLATE = "SET_CONTEXT_MENU_TEMPLATE"
}(MenuActions || (MenuActions = {})),
function(DIALOG) {
DIALOG.SHOW_LOGIN_DIALOG = "SHOW_LOGIN_DIALOG", DIALOG.SHOW_AUTH_DIALOG = "SHOW_AUTH_DIALOG", DIALOG.SHOW_URL_SCHEME_MODAL = "SHOW_URL_SCHEME_MODAL", DIALOG.SUBMIT_CREDENTIALS = "SUBMIT_CREDENTIALS", DIALOG.SHOW_TRAY_BALLOON = "SHOW_TRAY_BALLOON"
}(DIALOG || (DIALOG = {})),
function(EnvironmentActions) {
EnvironmentActions.INITIALIZE = "INITIALIZE", EnvironmentActions.READY = "READY"
}(EnvironmentActions || (EnvironmentActions = {})),
function(EVENTS) {
EVENTS.AUTOLOGIN_TEAMS_COMPLETE = "AUTOLOGIN_TEAMS_COMPLETE", EVENTS.CLEAR_CACHE_RESTART_APP = "CLEAR_CACHE_RESTART_APP", EVENTS.CONFIRM_AND_RESET_APP = "CONFIRM_AND_RESET_APP", EVENTS.FOREGROUND_APP = "FOREGROUND_APP", EVENTS.HANDLE_DEEP_LINK = "HANDLE_DEEP_LINK", EVENTS.HANDLE_EXTERNAL_LINK = "HANDLE_EXTERNAL_LINK", EVENTS.HANDLE_SETTINGS_LINK = "HANDLE_SETTINGS_LINK", EVENTS.MAIN_WINDOW_BLURRED = "MAIN_WINDOW_BLURRED", EVENTS.MAIN_WINDOW_SHOWN = "MAIN_WINDOW_SHOWN", EVENTS.MOVE_WINDOW_PRIMARY_SCREEN = "MOVE_WINDOW_PRIMARY_SCREEN", EVENTS.PREPARE_AND_REVEAL_LOGS = "PREPARE_AND_REVEAL_LOGS", EVENTS.RESTART_APP = "RESTART_APP", EVENTS.QUIT_APP = "QUIT_APP", EVENTS.REFRESH_TEAMS = "REFRESH_TEAMS", EVENTS.RELOAD = "RELOAD", EVENTS.SHOW_ABOUT = "SHOW_ABOUT", EVENTS.SHOW_RELEASE_NOTES = "SHOW_RELEASE_NOTES", EVENTS.SHOW_SETTINGS_EDITOR = "SHOW_SETTINGS_EDITOR", EVENTS.SHOW_WEBAPP_DIALOG = "SHOW_WEBAPP_DIALOG", EVENTS.SIGN_OUT_TEAM = "SIGN_OUT_TEAM", EVENTS.TOGGLE_DEV_TOOLS = "TOGGLE_DEV_TOOLS", EVENTS.TOGGLE_FULL_SCREEN = "TOGGLE_FULL_SCREEN", EVENTS.TOKEN_FILE_PROCESSED = "TOKEN_FILE_PROCESSED", EVENTS.UNLOAD_TEAM = "UNLOAD_TEAM", EVENTS.PREPARE_PIN_TEAM_TO_START = "PREPARE_PIN_TEAM_TO_START", EVENTS.PIN_TEAM_TO_START = "PIN_TEAM_TO_START", EVENTS.UNPIN_TEAM_FROM_START = "UNPIN_TEAM_FROM_START", EVENTS.RESTART_WITH_NET_LOG = "RESTART_WITH_NET_LOG", EVENTS.DOWNLOADS_CLEANED_UP = "DOWNLOADS_CLEANED_UP", EVENTS.APP_CLEANED_UP = "APP_CLEANED_UP"
}(EVENTS || (EVENTS = {})),
function(NOTIFICATIONS) {
NOTIFICATIONS.NEW_NOTIFICATION = "NEW_NOTIFICATION", NOTIFICATIONS.REMOVE_NOTIFICATION = "REMOVE_NOTIFICATION", NOTIFICATIONS.CLICK_NOTIFICATION = "CLICK_NOTIFICATION", NOTIFICATIONS.NOTIFICATION_ACTION = "NOTIFICATION_ACTION", NOTIFICATIONS.REPLY_TO_NOTIFICATION = "REPLY_TO_NOTIFICATION", NOTIFICATIONS.DOWNLOAD_NOTIFICATION = "DOWNLOAD_NOTIFICATION", NOTIFICATIONS.CLICK_DOWNLOAD_NOTIFICATION = "CLICK_DOWNLOAD_NOTIFICATION"
}(NOTIFICATIONS || (NOTIFICATIONS = {})),
function(SETTINGS) {
SETTINGS.UPDATE_SETTINGS = "UPDATE_SETTINGS", SETTINGS.SET_DEV_MODE = "SET_DEV_MODE", SETTINGS.SET_DEV_ENVIRONMENT = "SET_DEV_ENVIRONMENT", SETTINGS.SET_TITLE_BAR_HIDDEN = "SET_TITLE_BAR_HIDDEN", SETTINGS.ZOOM_IN = "ZOOM_IN", SETTINGS.ZOOM_OUT = "ZOOM_OUT", SETTINGS.RESET_ZOOM = "RESET_ZOOM", SETTINGS.WHITELIST_PROTOCOL = "WHITELIST_PROTOCOL"
}(SETTINGS || (SETTINGS = {})),
function(TEAMS) {
TEAMS.ADD_NEW_TEAMS = "ADD_NEW_TEAMS", TEAMS.REMOVE_TEAMS = "REMOVE_TEAMS", TEAMS.UPDATE_SESSION_STATUS = "UPDATE_SESSION_STATUS", TEAMS.UPDATE_TEAM_THEME = "UPDATE_TEAM_THEME", TEAMS.UPDATE_TEAM_ICONS = "UPDATE_TEAM_ICONS", TEAMS.UPDATE_TEAM_USAGE = "UPDATE_TEAM_USAGE", TEAMS.UPDATE_TEAM_NAME = "UPDATE_TEAM_NAME", TEAMS.UPDATE_TEAM_URL = "UPDATE_TEAM_URL", TEAMS.UPDATE_USER_ID = "UPDATE_USER_ID", TEAMS.UPDATE_TEAM_LOCALE = "UPDATE_TEAM_LOCALE"
}(TEAMS || (TEAMS = {}));
const TEAMS_CHANGED_ACTION = [TEAMS.ADD_NEW_TEAMS, TEAMS.REMOVE_TEAMS];
var UNREADS, WindowFrameActions, WINDOWS, WorkspaceActions;
! function(UNREADS) {
UNREADS.UPDATE_UNREADS = "UPDATE_UNREADS"
}(UNREADS || (UNREADS = {})),
function(WindowFrameActions) {
WindowFrameActions.SAVE_WINDOW_SETTINGS = "SAVE_WINDOW_SETTINGS", WindowFrameActions.SET_FULL_SCREEN = "SET_FULL_SCREEN", WindowFrameActions.SET_HTML_FULL_SCREEN = "SET_HTML_FULL_SCREEN", WindowFrameActions.MINIMIZE = "MINIMIZE", WindowFrameActions.MAXIMIZE = "MAXIMIZE", WindowFrameActions.UNMAXIMIZE = "UNMAXIMIZE"
}(WindowFrameActions || (WindowFrameActions = {})),
function(WINDOWS) {
WINDOWS.CREATE_WINDOW = "CREATE_WINDOW", WINDOWS.WINDOW_CREATED = "WINDOW_CREATED", WINDOWS.REMOVE_WINDOW = "REMOVE_WINDOW", WINDOWS.SET_WINDOW_FRAME = "SET_WINDOW_FRAME"
}(WINDOWS || (WINDOWS = {})),
function(WorkspaceActions) {
WorkspaceActions.SYNC = "SYNC", WorkspaceActions.SELECTION_CHANGED = "SELECTION_CHANGED", WorkspaceActions.SELECT_BY_ID = "SELECT_BY_ID", WorkspaceActions.SELECT_NEXT = "SELECT_NEXT", WorkspaceActions.SELECT_PREVIOUS = "SELECT_PREVIOUS"
}(WorkspaceActions || (WorkspaceActions = {}))
}, function(module, exports) {
module.exports = require("electron")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "Store", function() {
return store
});
var _static_assign_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(238);
Object(_static_assign_metadata__WEBPACK_IMPORTED_MODULE_0__.assignMetadata)();
const {
makeStore
} = __webpack_require__(593), store = makeStore()
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "n", function() {
return SLACK_PROTOCOL
}), __webpack_require__.d(__webpack_exports__, "m", function() {
return SLACK_ORG_TEAM_IDS
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return EMPTY_WINDOW_URL
}), __webpack_require__.d(__webpack_exports__, "o", function() {
return SLACK_URL_REGEX
}), __webpack_require__.d(__webpack_exports__, "k", function() {
return PRIVILEGED_URL_SCHEMES
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return CALLS_MODULE_KEYS
}), __webpack_require__.d(__webpack_exports__, "q", function() {
return THIRD_PARTY_MODULE_KEYS
}), __webpack_require__.d(__webpack_exports__, "p", function() {
return THIRD_PARTY_HOSTNAMES
}), __webpack_require__.d(__webpack_exports__, "s", function() {
return UpdateStatus
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return EpicTags
}), __webpack_require__.d(__webpack_exports__, "l", function() {
return RECOVERABLE_NETWORK_ERRORS
}), __webpack_require__.d(__webpack_exports__, "j", function() {
return NetworkStatus
}), __webpack_require__.d(__webpack_exports__, "i", function() {
return IS_WINDOWS_STORE
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return IS_MAC_APP_STORE
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return IS_STORE_BUILD
}), __webpack_require__.d(__webpack_exports__, "w", function() {
return getAppUserModelID
}), __webpack_require__.d(__webpack_exports__, "r", function() {
return UUID_FILENAME
}), __webpack_require__.d(__webpack_exports__, "t", function() {
return WebContentsLifeCycle
}), __webpack_require__.d(__webpack_exports__, "v", function() {
return defaultTraceCategories
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return HTMLNotificationStyles
}), __webpack_require__.d(__webpack_exports__, "u", function() {
return WindowsBuild
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return ALLOWED_WINDOW_OPEN_KEYS
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return BootSonicPreference
});
var _is_snap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(113);
var SidebarItemMarginTop;
! function(SidebarItemMarginTop) {
SidebarItemMarginTop[SidebarItemMarginTop.DEFAULT = 16] = "DEFAULT", SidebarItemMarginTop[SidebarItemMarginTop.NO_TITLE_BAR = 36] = "NO_TITLE_BAR", SidebarItemMarginTop[SidebarItemMarginTop.NO_TITLE_BAR_NO_KEYBOARD_SHORTCUT = 21] = "NO_TITLE_BAR_NO_KEYBOARD_SHORTCUT"
}(SidebarItemMarginTop || (SidebarItemMarginTop = {}));
const SLACK_PROTOCOL = "slack:",
SLACK_ORG_TEAM_IDS = ["T024BE7LD", "T34263EUF", "T5J4Q04QG", "T5J7PJ5PT", "T5J7PM517", "T5JRYUBHS", "T5KK65FCP", "T5MTH4ARY"],
EMPTY_WINDOW_URL = "about:blank",
SLACK_URL_REGEX = /(\.|^)slack\.(eu|com)$/,
PRIVILEGED_URL_SCHEMES = ["slack-resources", "slack-sounds", "slack-webapp-dev"],
CALLS_MODULE_KEYS = ["app", "browserWindowId", "calls", "screen", "stats", "store", "window"],
THIRD_PARTY_MODULE_KEYS = ["browserWindowId", "calls", "window"],
THIRD_PARTY_HOSTNAMES = ["dropbox.com"];
var UpdateStatus, EpicTags;
! function(UpdateStatus) {
UpdateStatus.NONE = "none", UpdateStatus.CHECK_FOR_UPDATE = "check-for-update", UpdateStatus.MANUAL_CHECK_FOR_UPDATE = "manual-check-for-update", UpdateStatus.UPDATE_AVAILABLE = "update-available", UpdateStatus.DOWNLOADING_UPDATE = "downloading-update", UpdateStatus.UPDATE_DOWNLOADED = "update-downloaded", UpdateStatus.RESTART_TO_APPLY = "restart-to-apply", UpdateStatus.UP_TO_DATE = "up-to-date", UpdateStatus.ERROR = "error"
}(UpdateStatus || (UpdateStatus = {})),
function(EpicTags) {
EpicTags.AUTO_LOGIN = "autoLoginEpic", EpicTags.MAGIC_LOGIN_ON_FOCUS = "magicLoginOnFocusEpic", EpicTags.RESET_LAUNCH_ON_LOGIN = "resetLaunchOnLoginEpic", EpicTags.QUIT_APPLICATION = "quitApplicationEpic", EpicTags.RESTART_APPLICATION = "restartApplicationEpic", EpicTags.MANAGE_APP_DATA = "manageLocalAppDataEpic", EpicTags.SECOND_INSTANCE = "secondInstanceEpic", EpicTags.SHOW_LOADING_SCREEN = "showLoadingScreenEpic", EpicTags.FOCUS_MAIN_WINDOW = "focusMainWindowEpic", EpicTags.SYNC_BROWSER_WINDOW_TO_STATE = "syncBrowserWindowToState", EpicTags.INITIALIZE_ENVIRONMENT = "initializeEnvironmentEpic", EpicTags.HTML_NOTIFICATIONS_WINDOW_CREATION = "htmlWindowCreationEpic", EpicTags.HTML_WINDOW_HANDLE_DISPLAY_CHANGE = "htmlWindowDisplayChangeEpic", EpicTags.CONTEXT_MENU = "contextMenuEpic", EpicTags.ADD_WORD_TO_DICTIONARY = "addWordsToSpellCheckDictionaryEpic", EpicTags.TEAM_SIDEBAR_CONTEXT_MENU = "teamSidebarContextMenuEpic", EpicTags.PREPARE_PIN_TEAM = "preparePinTeamEpic", EpicTags.PIN_TEAM = "pinTeamEpic", EpicTags.UNPIN_TEAM = "unpinTeamEpic", EpicTags.UPDATE_PINNED_TEAM = "updatePinnedTeamEpic", EpicTags.CLEAR_TILE_NOTIFICATIONS = "clearTileNotificationsEpic", EpicTags.UPDATE_TILE_BADGE = "updateTileBadgeEpic", EpicTags.FORWARD_DEEP_LINK_TO_WEBAPP = "forwardDeepLinkToWebappEpic", EpicTags.TRANSFORM_ENTERPRISE_DEEP_LINKS = "transformEnterpriseDeepLinksEpic", EpicTags.SECONDARY_TILE_TELEMETRY = "secondaryTileTelemetryEpic", EpicTags.SHOW_AUTH_DIALOG = "showAuthDialogEpic", EpicTags.SHOW_URL_SCHEME_DIALOG = "urlSchemeDialogEpic", EpicTags.SYSTEM_IDLE_STATUS = "systemIdleStatusEpic", EpicTags.TICKLE_MESSAGE_SERVER = "tickleMessageServerEpic", EpicTags.INITIALIZE_MAIN_WINDOW = "initializeMainWindowEpic", EpicTags.MAIN_WINDOW_ACTIONS = "mainWindowActionsEpic", EpicTags.NETWORK_STATUS = "networkStatusEpic", EpicTags.TOGGLE_WINDOW_VISIBILITY_FOR_SIGNIN = "toggleWindowVisibilityForSignInEpic", EpicTags.CHECK_SLACK_ORG = "checkSlackOrgMembershipEpic", EpicTags.WINDOW_FRAME_ACTIONS = "windowFrameActionsEpic", EpicTags.MOVE_WINDOW_TO_PRIMARY_SCREEN = "moveWindowToPrimaryScreenEpic", EpicTags.MAIN_WINDOW_CLOSE = "mainWindowCloseEpic", EpicTags.NEW_NOTIFICATION = "newNotificationEpic", EpicTags.SETUP_NOTIFICATIONS = "setupNotificationsEpic", EpicTags.PLAY_NOTIFICATION_SOUND = "playSoundEpic", EpicTags.DOWNLOAD_NOTIFICATION = "downloadNotificationEpic", EpicTags.RELOAD = "reloadEpic", EpicTags.RELOAD_CRASHED_WEB_CONTENTS = "reloadCrashedWebContentsEpic", EpicTags.REFRESH_TEAMS = "refreshTeamsEpic", EpicTags.SET_BUGSNAG_METADATA = "setBugsnagMetadataEpic", EpicTags.INITIALIZE_AUTO_LAUNCH = "initializeAutoLaunchEpic", EpicTags.UPDATE_AUTO_LAUNCH = "updateAutoLaunchEpic", EpicTags.CREATE_SIGN_IN_WINDOW = "createSignInWindowEpic", EpicTags.START_SIGN_IN = "startSignInEpic", EpicTags.OBSERVE_SIGN_IN = "observeSignInEpic", EpicTags.ABORT_SIGN_IN = "abortSignInEpic", EpicTags.CLOSE_SIGN_IN_WINDOW = "closeSignInWindowEpic", EpicTags.SIGN_OUT_BROWSER = "signOutBrowserEpic", EpicTags.UNLOAD_IDLE_TEAMS = "unloadIdleTeamsEpic", EpicTags.UPDATE_TEAM_USAGE = "teamUsageEpic", EpicTags.UPDATE_RECENTLY_SELECTED_TEAMS = "updateRecentlySelectedTeamsEpic", EpicTags.AUTO_UPDATE_TIMER = "autoUpdateTimerEpic", EpicTags.APPLY_UPDATE_PROMPT = "promptToApplyUpdateEpic", EpicTags.UPDATE_PROMPT_CLICKED = "updatePromptClickedEpic", EpicTags.AUTO_UPDATE_CHECK = "autoUpdateCheckEpic", EpicTags.MANUAL_UPDATE_CHECK = "manualUpdateCheckEpic", EpicTags.AUTO_UPDATER_LIFECYCLE = "autoUpdaterLifecycleEpic", EpicTags.DOWNLOADING_UPDATE = "downloadingUpdateEpic", EpicTags.SWITCH_UPDATE_CHANNELS = "switchUpdateChannelsEpic", EpicTags.UPDATE_READY_METADATA = "updateReadyMetadataEpic", EpicTags.WEBCONTENTS_EMPTY_TEAMS = "emptyTeamsEpic", EpicTags.RELOAD_EMPTY_PAGES = "reloadEmptyPagesEpic", EpicTags.CONNECTION_TROUBLE = "connectionTroubleEpic", EpicTags.RETRIEVE_API_TOKEN = "retrieveApiTokenEpic", EpicTags.RETRIEVE_ENTERPRISE_ID = "retrieveEnterpriseIdEpic", EpicTags.SWITCH_TEAMS_FOR_NOTIFICATION = "switchTeamsForNotificationEpic", EpicTags.HANDLE_NOTIFICATION_ACTIONS = "handleNotificationActionsEpic", EpicTags.NAVIGATE_HISTORY = "navigateHistoryEpic", EpicTags.CLEAR_HISTORY = "clearHistoryWhenLoadedEpic", EpicTags.FOCUS_SELECTED_WEB_CONTENTS = "keepSelectedWebContentsInFocusEpic", EpicTags.SHOW_WEBAPP_DIALOG = "showWebappDialogEpic", EpicTags.EDITING_COMMANDS = "editingCommandsEpic", EpicTags.SET_ZOOM_LEVEL = "setZoomLevelEpic", EpicTags.PROMOTE_ALPHA_RELEASE_CHANNEL = "promoteAlphaReleaseChannelEpic", EpicTags.APPLY_LOCALE_BY_TEAM_SELECTION = "applyLocaleByTeamSelectionEpic", EpicTags.HANDLE_DOWNLOAD_NOTIFICATION_CLICK = "handleDownloadNotificationClickEpic", EpicTags.DISPATCH_FOCUS_ON_TEAM_CHANGE = "dispatchFocusOnTeamChangeEpic", EpicTags.DISPATCH_BLUR_ON_WINDOW_BLUR = "dispatchBlurOnWindowBlurEpic", EpicTags.DISPATCH_SLEEP_AND_WAKE = "dispatchSleepAndWakeEventsEpic", EpicTags.SET_SONIC_ENABLED = "enableSonicNextSessionEpic", EpicTags.CLEAR_SONIC_BOOT_SETTING = "clearSonicBootSettingEpic", EpicTags.DISABLE_SONIC_LOAD_TIMEOUT = "disableSonicOnLoadTimeoutEpic", EpicTags.TEAM_SWITCH_TELEMETRY = "teamSwitchTelemetryEpic", EpicTags.QUIT_APPLICATION_TELEMETRY = "flushTelemetryOnQuitEpic", EpicTags.INVALIDATE_WEB_APP_SESSION = "invalidateWebAppSessionEpic", EpicTags.INITIALIZE_BACKGROUND_CLIENTS = "initializeBackgroundClientsEpic", EpicTags.START_BACKGROUND_CLIENT = "startBackgroundClientEpic", EpicTags.STOP_BACKGROUND_CLIENT = "stopBackgroundClientEpic", EpicTags.RECONNECT_BACKGROUND_CLIENT = "reconnectBackgroundClientEpic", EpicTags.SUSPEND_OR_RESUME_CLIENTS = "suspendOrResumeBackgroundClientsEpic", EpicTags.TICKLE_BACKGROUND_CLIENTS = "tickleBackgroundClientsEpic", EpicTags.BACKGROUND_CLIENT_DISCONNECTED = "backgroundClientDisconnectedEpic", EpicTags.UPDATE_BADGE_COUNT_FOR_ENTERPRISE = "updateBadgeCountsForEnterpriseEpic", EpicTags.SHOW_SETTINGS_EDITOR = "openSettingsEditorEpic", EpicTags.TOGGLE_DEV_TOOLS = "openDevToolsEpic", EpicTags.PRESERVE_WEBAPP_SOURCE_PATH = "preserveWebappSourcePathEpic", EpicTags.SET_VERBOSE_EPIC_LOG = "setVerboseLogEpic", EpicTags.COLLECT_MEMORY_USAGE = "collectMemoryUsageEpic", EpicTags.SHOW_NET_LOG_WINDOW = "showNetLogWindowEpic", EpicTags.HIDE_NET_LOG_WINDOW = "hideNetLogWindowEpic", EpicTags.RESTART_WITH_NET_LOG = "restartWithNetLogEpic", EpicTags.PROXY_INFO = "proxyInfo", EpicTags.OBSERVE_TEXT_PREFERENCES = "observeSystemTextPreferencesEpic", EpicTags.WEBAPP_WINDOW_CREATION = "webappWindowCreationEpic", EpicTags.WEBAPP_WINDOW_MESSAGE = "webappWindowMessageEpic", EpicTags.WEBAPP_HIJACK_OPEN_FOR_IN_PROCESS_WINDOW_CREATION = "webappHijackOpenForInProcessWindowCreationEpic", EpicTags.WORKSPACE_SELECTION = "workspaceSelectionEpic", EpicTags.WEBAPP_REDUX_UPDATE_EPIC = "webappReduxUpdateEpic", EpicTags.CREATE_BADGE_EPIC = "createBadgeEpic", EpicTags.SET_BADGE_EPIC = "setBadgeEpic"
}(EpicTags || (EpicTags = {}));
const RECOVERABLE_NETWORK_ERRORS = ["ENOENT", "ENOTFOUND", "ETIMEDOUT", "ERR_INTERNET_DISCONNECTED", "ERR_NETWORK_CHANGED", "ERR_ADDRESS_UNREACHABLE", "ERR_CONNECTION_TIMED_OUT", "PROXY_AUTH_FAILED", "ERR_PROXY_CONNECTION_FAILED"];
var NetworkStatus, UpdateErrorCodes;
! function(NetworkStatus) {
NetworkStatus.ONLINE = "online", NetworkStatus.SLACK_DOWN = "slackDown", NetworkStatus.OFFLINE = "offline", NetworkStatus.CONNECTION_TROUBLE = "connectionTrouble"
}(NetworkStatus || (NetworkStatus = {})),
function(UpdateErrorCodes) {
UpdateErrorCodes[UpdateErrorCodes.AUTHORIZATION_DENIED = -60005] = "AUTHORIZATION_DENIED", UpdateErrorCodes[UpdateErrorCodes.AUTHORIZATION_CANCELED = -60006] = "AUTHORIZATION_CANCELED"
}(UpdateErrorCodes || (UpdateErrorCodes = {}));
const IS_WINDOWS_STORE = process.windowsStore,
IS_MAC_APP_STORE = process.mas,
IS_STORE_BUILD = process.mas || IS_WINDOWS_STORE || Object(_is_snap__WEBPACK_IMPORTED_MODULE_0__.a)();
function getAppUserModelID() {
return IS_WINDOWS_STORE ? "" : `com.squirrel.${"Slack".toLowerCase()}.slack`
}
const UUID_FILENAME = "installation";
var WebContentsLifeCycle, TraceUploadStatus;
! function(WebContentsLifeCycle) {
WebContentsLifeCycle.UNLOADED = "unloaded", WebContentsLifeCycle.PAGE_LOADED = "loaded", WebContentsLifeCycle.PAGE_FAIL_LOAD = "page-fail-load", WebContentsLifeCycle.EMPTY_PAGE = "empty-page", WebContentsLifeCycle.WEBAPP_LOADED = "webapp-loaded", WebContentsLifeCycle.PAGE_REDIRECT = "page-redirect", WebContentsLifeCycle.PAGE_WILL_NAVIGATE = "page-will-navigate", WebContentsLifeCycle.PAGE_CLOSED = "page-closed", WebContentsLifeCycle.CRASHED = "crashed", WebContentsLifeCycle.COMPONENT_DISPOSED = "component-disposed", WebContentsLifeCycle.WEBAPP_SESSION_EXPIRED = "webapp-session-expired"
}(WebContentsLifeCycle || (WebContentsLifeCycle = {})),
function(TraceUploadStatus) {
TraceUploadStatus.UPLOAD_SUCCEEDED = "upload-succeeded", TraceUploadStatus.UPLOAD_FAILED = "upload-failed"
}(TraceUploadStatus || (TraceUploadStatus = {}));
const defaultTraceCategories = ["-*", "devtools.timeline", "disabled-by-default-devtools.timeline", "disabled-by-default-devtools.timeline.frame", "toplevel", "blink.console", "disabled-by-default-devtools.timeline.stack", "disabled-by-default-v8.cpu_profile", "disabled-by-default-v8.cpu_profiler", "disabled-by-default-v8.cpu_profiler.hires", "disabled-by-default-ipc.flow", "ipc"];
Object.freeze(defaultTraceCategories), Object.freeze(["disabled-by-default-memory-infra", "disabled-by-default-memory-infra.v8.code_stats"]);
var TelemetryNotificationMethod, ResetScope, HTMLNotificationStyles, WindowsBuild;
! function(TelemetryNotificationMethod) {
TelemetryNotificationMethod[TelemetryNotificationMethod.WINRT_NODERT = 0] = "WINRT_NODERT", TelemetryNotificationMethod[TelemetryNotificationMethod.WINRT_ELECTRON = 1] = "WINRT_ELECTRON", TelemetryNotificationMethod[TelemetryNotificationMethod.HTML = 2] = "HTML", TelemetryNotificationMethod[TelemetryNotificationMethod.HWND_ELECTRON = 3] = "HWND_ELECTRON", TelemetryNotificationMethod[TelemetryNotificationMethod.MACOS_ELECTRON = 4] = "MACOS_ELECTRON", TelemetryNotificationMethod[TelemetryNotificationMethod.LINUX_ELECTRON = 5] = "LINUX_ELECTRON", TelemetryNotificationMethod[TelemetryNotificationMethod.HTML2018 = 6] = "HTML2018"
}(TelemetryNotificationMethod || (TelemetryNotificationMethod = {})),
function(ResetScope) {
ResetScope.NONE = "none", ResetScope.ALL = "all", ResetScope.CACHE = "cache"
}(ResetScope || (ResetScope = {})),
function(HTMLNotificationStyles) {
HTMLNotificationStyles.STYLE2016 = "2016", HTMLNotificationStyles.STYLE2018 = "2018"
}(HTMLNotificationStyles || (HTMLNotificationStyles = {})),
function(WindowsBuild) {
WindowsBuild[WindowsBuild.RS3_1709 = 16299] = "RS3_1709", WindowsBuild[WindowsBuild.RS4_1803 = 17134] = "RS4_1803"
}(WindowsBuild || (WindowsBuild = {}));
const ALLOWED_WINDOW_OPEN_KEYS = ["title", "url", "show", "x", "y", "width", "height", "allowThirdPartyNavigation", "fullscreen", "fullscreenable", "teamId", "userAgent", "parentInfo", "isPopupWindow", "windowType", "background", "backgroundColor", "hideMenuBar", "hides_on_close", "minHeight", "minWidth", "no_spinner", "alwaysOnTop", "content_html", "enableLargerThanScreen", "focusable", "frame", "hasShadow", "resizable", "skipTaskbar", "skip_css", "transparent", "useContentSize"];
var BootSonicPreference;
! function(BootSonicPreference) {
BootSonicPreference.ALWAYS = "always", BootSonicPreference.ONCE = "once", BootSonicPreference.NEVER = "never", BootSonicPreference.UNSET = "unset"
}(BootSonicPreference || (BootSonicPreference = {}))
}, function(module, exports) {
module.exports = require("rxjs/Observable")
}, function(module, exports) {
module.exports = require("path")
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.types = exports.loggers = exports.disbatch = exports.batch = exports.bindAll = exports.assignAll = exports.createReducer = exports.createAction = void 0;
var _createAction = __webpack_require__(271);
Object.defineProperty(exports, "createAction", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_createAction).default
}
});
var _createReducer = __webpack_require__(429);
Object.defineProperty(exports, "createReducer", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_createReducer).default
}
});
var _assignAll = __webpack_require__(430);
Object.defineProperty(exports, "assignAll", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_assignAll).default
}
});
var _bindAll = __webpack_require__(431);
Object.defineProperty(exports, "bindAll", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_bindAll).default
}
});
var _batch = __webpack_require__(172);
Object.defineProperty(exports, "batch", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_batch).default
}
});
var _disbatch = __webpack_require__(432);
Object.defineProperty(exports, "disbatch", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_disbatch).default
}
});
var _loggers = __webpack_require__(433);
Object.defineProperty(exports, "loggers", {
enumerable: !0,
get: function get() {
return _interopRequireDefault(_loggers).default
}
});
var _types = function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) return obj;
var newObj = {};
if (null != obj)
for (var key in obj) Object.prototype.hasOwnProperty.call(obj, key) && (newObj[key] = obj[key]);
return newObj.default = obj, newObj
}(__webpack_require__(272));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
exports.types = _types
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "e", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getEnvironment
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return isWindows10
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return isWindows10BuildOrHigher
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return isSonic
});
__webpack_require__(615);
var redux_act__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1),
_utils_constants_release_channels__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(138);
Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_2__.e.INITIALIZE), Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_2__.e.READY);
const defaultEnvironment = {
appVersion: "0.0.0",
isGpuCompositionAvailable: !0,
isTitleBarHidden: !1,
darwin: {},
isPilot: !1,
isSonic: !1,
platformVersion: {
major: 0,
minor: 0,
build: 0
},
releaseChannel: _utils_constants_release_channels__WEBPACK_IMPORTED_MODULE_3__.a.PROD,
resourcePath: "",
sessionId: "",
versionName: ""
};
const reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createReducer)({
[_actions__WEBPACK_IMPORTED_MODULE_2__.e.READY]: (state, payload) => ({
...state,
...payload
})
}, defaultEnvironment);
function getEnvironment(store) {
return store.getState().environment
}
function isWindows10(store) {
const environment = getEnvironment(store);
return !!(environment && environment.win32 && environment.win32.isWin10)
}
function isWindows10BuildOrHigher(store, build) {
const environment = getEnvironment(store);
return !!(environment && environment.platformVersion && environment.platformVersion.major >= 10 && environment.platformVersion.build >= build)
}
function isSonic(store) {
const environment = getEnvironment(store);
return !(!environment || !environment.isSonic)
}
}, function(module, exports, __webpack_require__) {
"use strict";
const assign = __webpack_require__(385),
fs = {};
assign(fs, __webpack_require__(249)), assign(fs, __webpack_require__(388)), assign(fs, __webpack_require__(254)), assign(fs, __webpack_require__(60)), assign(fs, __webpack_require__(170)), assign(fs, __webpack_require__(396)), assign(fs, __webpack_require__(400)), assign(fs, __webpack_require__(401)), assign(fs, __webpack_require__(402)), assign(fs, __webpack_require__(403)), assign(fs, __webpack_require__(409)), assign(fs, __webpack_require__(93)), module.exports = fs
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var MessageType, SocketCloseCode, FlannelError;
__webpack_require__.d(__webpack_exports__, "b", function() {
return MessageType
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return SocketCloseCode
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return FlannelError
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return SocketError
}),
function(MessageType) {
MessageType.HELLO = "hello", MessageType.GOODBYE = "goodbye", MessageType.ERROR = "error", MessageType.FLANNEL = "flannel", MessageType.PRESENCE_CHANGE = "presence_change", MessageType.PREFERENCE_CHANGE = "pref_change", MessageType.RECONNECT_URL = "reconnect_url", MessageType.DESKTOP_NOTIFICATION = "desktop_notification", MessageType.CHANNEL_MARKED = "channel_marked", MessageType.GROUP_MARKED = "group_marked", MessageType.IM_MARKED = "im_marked", MessageType.MESSAGE = "message"
}(MessageType || (MessageType = {})),
function(SocketCloseCode) {
SocketCloseCode[SocketCloseCode.NORMAL = 1e3] = "NORMAL", SocketCloseCode[SocketCloseCode.RECONNECT_IMMEDIATELY = 4e3] = "RECONNECT_IMMEDIATELY", SocketCloseCode[SocketCloseCode.RECONNECT_LATER = 4001] = "RECONNECT_LATER", SocketCloseCode[SocketCloseCode.RECONNECT_WHEN_ONLINE = 4002] = "RECONNECT_WHEN_ONLINE", SocketCloseCode[SocketCloseCode.RECONNECT_WHEN_AWAKE = 4003] = "RECONNECT_WHEN_AWAKE", SocketCloseCode[SocketCloseCode.FATAL = 4337] = "FATAL"
}(SocketCloseCode || (SocketCloseCode = {})),
function(FlannelError) {
FlannelError[FlannelError.INVALID_TOKEN = 1] = "INVALID_TOKEN", FlannelError[FlannelError.RATE_LIMITED = 4] = "RATE_LIMITED", FlannelError[FlannelError.INVALID_AUTH = -1337] = "INVALID_AUTH"
}(FlannelError || (FlannelError = {}));
class SocketError extends Error {
constructor(code) {
super(), this.code = code
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "getSettings", function() {
return getSettings
}), __webpack_require__.d(__webpack_exports__, "getReleaseChannel", function() {
return getReleaseChannel
}), __webpack_require__.d(__webpack_exports__, "isDevMode", function() {
return isDevMode
}), __webpack_require__.d(__webpack_exports__, "getSignInUrl", function() {
return getSignInUrl
}), __webpack_require__.d(__webpack_exports__, "getUserAgent", function() {
return getUserAgent
}), __webpack_require__.d(__webpack_exports__, "getUserAgentNoCache", function() {
return getUserAgentNoCache
}), __webpack_require__.d(__webpack_exports__, "isUsingHardwareAcceleration", function() {
return isUsingHardwareAcceleration
}), __webpack_require__.d(__webpack_exports__, "isSystemPlayingNotificationSound", function() {
return isSystemPlayingNotificationSound
}), __webpack_require__.d(__webpack_exports__, "canShowHtmlNotifications", function() {
return canShowHtmlNotifications
}), __webpack_require__.d(__webpack_exports__, "isShowingHtmlNotifications", function() {
return isShowingHtmlNotifications
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(367),
os__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25),
_native_interop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56),
_reducers_app_teams_reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18),
_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8),
_utils_constants_release_channels__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(138),
_utils_url_utils__WEBPACK_IMPORTED_MODULE_10__ = (__webpack_require__(285), __webpack_require__(239), __webpack_require__(113), __webpack_require__(286), __webpack_require__(24));
const {
isWindows10OrHigher,
getOSVersion
} = _native_interop__WEBPACK_IMPORTED_MODULE_2__.a, userAgentLastSegment = `Slack_SSB/${"4.0.0".split("-")[0]}`;
function getSettings(store) {
return store.getState().settings
}
function getReleaseChannel(store) {
const envOverride = process && process.env && process.env.SLACK_RELEASE_CHANNEL;
if (envOverride && Object.values(_utils_constants_release_channels__WEBPACK_IMPORTED_MODULE_5__.a).includes(envOverride)) return envOverride;
const {
environment,
settings
} = store.getState();
return settings.releaseChannelOverride || environment.releaseChannel
}
function isDevMode(store) {
const developerMenu = process.env.SLACK_DEVELOPER_MENU;
return "false" !== developerMenu && (Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__.a)(store).isDevMode || !!Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__.a)(store).devEnv || Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__.a)(store).openDevToolsOnStart || getSettings(store).isSignedIntoSlackOrg || !!developerMenu)
}
function getSignInUrl(store, useDefaultTeam = !1) {
const devEnv = Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__.a)(store).devEnv,
{
isUsingBrowserSignin
} = getSettings(store);
let signInUrlParameters = "",
signInPath = "signin";
if (useDefaultTeam) {
const defaultSigninTeam = getSettings(store).defaultSigninTeam;
signInUrlParameters = defaultSigninTeam ? `/${defaultSigninTeam}` : ""
}
return isUsingBrowserSignin && (signInUrlParameters += "?feature_desktop_browser_signin=1", signInUrlParameters += `&s=${Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__.b)(store)?1:0}`, signInUrlParameters += "&v=4.0.0", 0 === Object(_reducers_app_teams_reducer__WEBPACK_IMPORTED_MODULE_3__.d)(store).length && (signInPath = "ssb/first", signInUrlParameters += "&first_use=1")), `${Object(_utils_url_utils__WEBPACK_IMPORTED_MODULE_10__.b)(devEnv)}/${signInPath}${signInUrlParameters}`
}
const getUserAgent = Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(getUserAgentNoCache);
function getUserAgentNoCache(store, inputUserAgent) {
let userAgent = inputUserAgent || window.navigator.userAgent;
return userAgent && userAgent.endsWith(userAgentLastSegment) ? userAgent : (process.mas && (userAgent += ` MacAppStore/${os__WEBPACK_IMPORTED_MODULE_1__.release()}`), Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_4__.b)(store) && (userAgent += " Sonic"), userAgent.concat(" ", userAgentLastSegment))
}
function isUsingHardwareAcceleration(store) {
return getSettings(store).useHwAcceleration
}
function isSystemPlayingNotificationSound(store) {
const notificationPlayback = getSettings(store).notificationPlayback;
return "webapp" !== notificationPlayback || "native" === notificationPlayback
}
function canShowHtmlNotifications(store) {
return !0
}
function isShowingHtmlNotifications(store) {
const notificationMethod = getSettings(store).notificationMethod,
isPreferred = "html" === notificationMethod;
return !!isPreferred
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "preloadEnv", function() {
return preloadEnv
});
var _reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
let preloadEnv;
try {
const metadataArgs = process.argv.filter(x => x.includes("slack_preload_metadata_arguments")).shift() || "{}",
metadataJson = JSON.parse(metadataArgs);
preloadEnv = metadataJson.preloadEnvironment
} catch (error) {
preloadEnv = new Proxy({
isSonic: !1,
windowType: _reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_0__.b.UNKNOWN,
resourcePath: "error during parse",
appVersion: "error during parse"
}, {
get: (_obj, prop) => {
throw new Error(`Accessing property ${prop.toString()} from preload-environment when` + `argument parsing failed with error '${error.message}'`)
}
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return WindowType
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return CallsWindowType
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return createWindow
}), __webpack_require__.d(__webpack_exports__, "n", function() {
return windowCreated
}), __webpack_require__.d(__webpack_exports__, "k", function() {
return removeWindow
}), __webpack_require__.d(__webpack_exports__, "l", function() {
return setWindowFrame
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return close
}), __webpack_require__.d(__webpack_exports__, "i", function() {
return minimize
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return maximize
}), __webpack_require__.d(__webpack_exports__, "m", function() {
return unmaximize
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return getWindowFrame
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return getWindowType
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return getMainWindow
}), __webpack_require__.d(__webpack_exports__, "o", function() {
return withMainWindow
}), __webpack_require__.d(__webpack_exports__, "j", function() {
return reduce
});
var WindowType, CallsWindowType, MainWebappWindowType, lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(611),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(609),
redux_act__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7),
_actions_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1),
_utils_key_redactor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(33);
! function(WindowType) {
WindowType.MAIN = "main", WindowType.SIGN_IN = "sign-in", WindowType.LOADING_SCREEN = "loading-screen", WindowType.NOTIFICATIONS = "notifications", WindowType.WEBAPP = "webapp", WindowType.ABOUT_BOX = "about-box", WindowType.SETTINGS_EDITOR = "settings-editor", WindowType.BASIC_AUTH_VIEW = "basic-auth-view", WindowType.NET_LOG_WINDOW = "net-log-window", WindowType.REPORT_ISSUE = "report-issue", WindowType.OTHER = "other", WindowType.UNKNOWN = "unknown"
}(WindowType || (WindowType = {})),
function(CallsWindowType) {
CallsWindowType.CALLS = "calls", CallsWindowType.CALLS_MINI_PANEL = "calls_mini_panel", CallsWindowType.CALLS_INCOMING_CALL = "calls_incoming_call"
}(CallsWindowType || (CallsWindowType = {})),
function(MainWebappWindowType) {
MainWebappWindowType.REPORT_ISSUE = "report_issue"
}(MainWebappWindowType || (MainWebappWindowType = {}));
const createWindow = Object(redux_act__WEBPACK_IMPORTED_MODULE_2__.createAction)(_actions_index__WEBPACK_IMPORTED_MODULE_3__.m.CREATE_WINDOW),
windowCreated = Object(redux_act__WEBPACK_IMPORTED_MODULE_2__.createAction)(_actions_index__WEBPACK_IMPORTED_MODULE_3__.m.WINDOW_CREATED, metadata => ({
frame: {
isHtmlFullScreen: !1,
...metadata.frame
},
...metadata
})),
removeWindow = Object(redux_act__WEBPACK_IMPORTED_MODULE_2__.createAction)(_actions_index__WEBPACK_IMPORTED_MODULE_3__.m.REMOVE_WINDOW),
titleRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_4__.a)(["title"]),
setWindowFrame = Object(redux_act__WEBPACK_IMPORTED_MODULE_2__.createAction)(_actions_index__WEBPACK_IMPORTED_MODULE_3__.m.SET_WINDOW_FRAME, payload => ({
fromEvent: !1,
...payload
}), payload => ({
logPayload: {
...payload,
frame: titleRedactor(payload.frame)
},
logInProcess: ["browser"]
})),
close = Object(redux_act__WEBPACK_IMPORTED_MODULE_2__.createAction)("CLOSE_WINDOW"),
minimize = id => setWindowFrame({
id,
frame: {
isMinimized: !0
}
}),
maximize = id => setWindowFrame({
id,
frame: {
isMaximized: !0
}
}),
unmaximize = id => setWindowFrame({
id,
frame: {
isMaximized: !1
}
}),
getWindowFrame = (store, windowId) => {
const windows = store.getState().windows;
return windows[windowId] && windows[windowId].frame
},
getWindowType = (store, windowId) => {
const windows = store.getState().windows;
return windows[windowId] && windows[windowId].type
},
getMainWindow = store => {
const mainWindow = Object.values(store.getState().windows).filter(({
type
}) => type === WindowType.MAIN)[0];
return mainWindow || null
},
withMainWindow = (store, func) => {
const mainWindow = getMainWindow(store);
return mainWindow ? func(mainWindow) : null
};
function reduce(windows = {}, action) {
switch (action.type) {
case _actions_index__WEBPACK_IMPORTED_MODULE_3__.m.WINDOW_CREATED:
return {
...windows, [action.payload.id]: action.payload
};
case _actions_index__WEBPACK_IMPORTED_MODULE_3__.m.REMOVE_WINDOW:
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(windows, action.payload);
case _actions_index__WEBPACK_IMPORTED_MODULE_3__.m.SET_WINDOW_FRAME:
const {
id, frame
} = action.payload;
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)({
...windows
}, {
[id]: {
frame
}
});
default:
return windows
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var RemoteMethodChannel, EnterpriseStorageChannel, DownloadChannel, MagicLoginChannel, NotificationChannel, PrqChannel, WindowCreatorChannel, WebappMessageChannel, TraceRecorderChannel, WebContentsChannel, OverlayChannel, RemoteEventChannel, RemoteMainModuleChannel, ContextMenuChannel, ServiceWorkerManager;
__webpack_require__.d(__webpack_exports__, "f", function() {
return RemoteMethodChannel
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return EnterpriseStorageChannel
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return NotificationChannel
}), __webpack_require__.d(__webpack_exports__, "k", function() {
return WindowCreatorChannel
}), __webpack_require__.d(__webpack_exports__, "j", function() {
return WebappMessageChannel
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return TraceRecorderChannel
}), __webpack_require__.d(__webpack_exports__, "i", function() {
return WebContentsChannel
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return RemoteEventChannel
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return RemoteMainModuleChannel
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return ContextMenuChannel
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return ServiceWorkerManager
}),
function(RemoteMethodChannel) {
RemoteMethodChannel.Request = "SLACK_REMOTE_PROCESS_REQUEST", RemoteMethodChannel.Response = "SLACK_REMOTE_PROCESS_RESPONSE", RemoteMethodChannel.Error = "SLACK_REMOTE_PROCESS_ERROR", RemoteMethodChannel.Route = "SLACK_REMOTE_RENDERER_PROCESS_IPC"
}(RemoteMethodChannel || (RemoteMethodChannel = {})),
function(EnterpriseStorageChannel) {
EnterpriseStorageChannel.push = "SLACK_ENTERPRISE_STORAGE_PUSH", EnterpriseStorageChannel.pushDone = "SLACK_ENTERPRISE_STORAGE_PUSH_DONE", EnterpriseStorageChannel.pull = "SLACK_ENTERPRISE_STORAGE_PULL"
}(EnterpriseStorageChannel || (EnterpriseStorageChannel = {})),
function(DownloadChannel) {
DownloadChannel.StartEvent = "SLACK_START_DOWNLOAD", DownloadChannel.DoneEvent = "SLACK_DOWNLOAD_DONE"
}(DownloadChannel || (DownloadChannel = {})),
function(MagicLoginChannel) {
MagicLoginChannel.Response = "SLACK_MAGIC_LOGIN_RESPONSE"
}(MagicLoginChannel || (MagicLoginChannel = {})),
function(NotificationChannel) {
NotificationChannel.Click = "SLACK_NOTIFICATION_CLICK", NotificationChannel.Reply = "SLACK_NOTIFICATION_REPLY", NotificationChannel.Warnings = "SLACK_NOTIFICATION_WARNINGS"
}(NotificationChannel || (NotificationChannel = {})),
function(PrqChannel) {
PrqChannel.TeamBooted = "SLACK_PRQ_TEAM_BOOTED"
}(PrqChannel || (PrqChannel = {})),
function(WindowCreatorChannel) {
WindowCreatorChannel.CreateWebappWindow = "SLACK_CREATE_WEBAPP_WINDOW", WindowCreatorChannel.HijackOpenForInProcessWindow = "SLACK_HIJACK_OPEN_FOR_IN_PROCESS_WINDOW"
}(WindowCreatorChannel || (WindowCreatorChannel = {})),
function(WebappMessageChannel) {
WebappMessageChannel.InterWindowMessage = "SLACK_INTER_WINDOW_MESSAGE"
}(WebappMessageChannel || (WebappMessageChannel = {})),
function(TraceRecorderChannel) {
TraceRecorderChannel.Record = "SLACK_RECORD_TRACE", TraceRecorderChannel.Catapult = "SLACK_OPEN_CATAPULT_TRACE"
}(TraceRecorderChannel || (TraceRecorderChannel = {})),
function(WebContentsChannel) {
WebContentsChannel.DidSignIn = "SLACK_DID_SIGN_IN", WebContentsChannel.DidFinishLoading = "SLACK_DID_FINISH_LOADING"
}(WebContentsChannel || (WebContentsChannel = {})),
function(OverlayChannel) {
OverlayChannel.SetIcon = "SLACK_SET_OVERLAY_ICON"
}(OverlayChannel || (OverlayChannel = {})),
function(RemoteEventChannel) {
RemoteEventChannel.DispatchEvent = "SLACK_REMOTE_DISPATCH_EVENT", RemoteEventChannel.NotifyChildWindowEvent = "SLACK_NOTIFY_CHILD_WINDOW_EVENT"
}(RemoteEventChannel || (RemoteEventChannel = {})),
function(RemoteMainModuleChannel) {
RemoteMainModuleChannel.ReadSystemTextPreferences = "SLACK_READ_SYSTEM_TEXT_PREF"
}(RemoteMainModuleChannel || (RemoteMainModuleChannel = {})),
function(ContextMenuChannel) {
ContextMenuChannel.Click = "SLACK_CONTEXT_MENU_CLICK", ContextMenuChannel.Close = "SLACK_CONTEXT_MENU_CLOSE"
}(ContextMenuChannel || (ContextMenuChannel = {})),
function(ServiceWorkerManager) {
ServiceWorkerManager.RESTART_SELF = "SLACK_SERVICE_WORKER_MANAGER_RESTART_SELF"
}(ServiceWorkerManager || (ServiceWorkerManager = {}))
}, , function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var __window = "undefined" != typeof window && window,
__self = "undefined" != typeof self && "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope && self,
__global = "undefined" != typeof global && global,
_root = __window || __global || __self;
exports.root = _root,
function() {
if (!_root) throw new Error("Could not find any global context (window, self, global)")
}()
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return BackgroundClientStatus
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return backgroundClientsInitialized
}), __webpack_require__.d(__webpack_exports__, "j", function() {
return startBackgroundClient
}), __webpack_require__.d(__webpack_exports__, "i", function() {
return shutdownBackgroundClient
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return setBackgroundClientFields
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return backgroundClientError
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return messageForSocketCode
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return getBackgroundClients
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return getBackgroundClient
});
var BackgroundClientStatus, lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(611),
redux_act__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1),
_renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10);
! function(BackgroundClientStatus) {
BackgroundClientStatus.STARTING = "starting", BackgroundClientStatus.CONNECTED = "connected", BackgroundClientStatus.DISCONNECTED = "disconnected", BackgroundClientStatus.ERROR = "error"
}(BackgroundClientStatus || (BackgroundClientStatus = {}));
const backgroundClientsInitialized = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("BACKGROUND_CLIENTS_INITIALIZED"),
startBackgroundClient = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("START_BACKGROUND_CLIENT", payload => ({
...payload,
status: BackgroundClientStatus.STARTING
})),
shutdownBackgroundClient = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("SHUTDOWN_BACKGROUND_CLIENT"),
removeBackgroundClient = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("REMOVE_BACKGROUND_CLIENT"),
setBackgroundClientFields = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("SET_BACKGROUND_CLIENT_FIELDS", payload => payload, () => ({
omitFromLog: !0
})),
backgroundClientError = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("BACKGROUND_CLIENT_ERROR"),
reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createReducer)({
[startBackgroundClient.getType()]: (state, info) => ({
...state,
[info.teamId]: {
...state[info.teamId],
...info
}
}),
[setBackgroundClientFields.getType()]: (state, {
teamId,
...fields
}) => teamId && fields ? {
...state,
[teamId]: {
...state[teamId],
...fields
}
} : state,
[shutdownBackgroundClient.getType()]: (state, {
teamId,
code
}) => ({
...state,
[teamId]: {
...state[teamId],
code
}
}),
[backgroundClientError.getType()]: (state, error) => {
if (!error || !error.teamId || !error.code) return state;
const message = messageForSocketCode(error.code);
return {
...state,
[error.teamId]: {
...state[error.teamId],
...error,
status: BackgroundClientStatus.ERROR,
message
}
}
},
[removeBackgroundClient.getType()]: handleRemoveTeam,
[_actions__WEBPACK_IMPORTED_MODULE_2__.j.REMOVE_TEAMS]: handleRemoveTeam
}, {});
function handleRemoveTeam(state, toOmit) {
return toOmit ? Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(state, toOmit) : state
}
function messageForSocketCode(code) {
switch (code) {
case _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.NORMAL:
return "User requested shutdown";
case _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.RECONNECT_IMMEDIATELY:
return "The socket closed itself, reconnecting now";
case _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.RECONNECT_LATER:
return "The socket was rate-limited, reconnect later";
case _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.RECONNECT_WHEN_ONLINE:
return "The socket encountered a network error, reconnect when network online";
case _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.RECONNECT_WHEN_AWAKE:
return "The system is sleeping, reconnect when awake";
case _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.FATAL:
return "The socket closed unrecoverably, don't attempt reconnect";
default:
return "Unknown code"
}
}
function getBackgroundClients(store) {
return store.getState().backgroundClients
}
function getBackgroundClient(store, teamId) {
const clients = getBackgroundClients(store);
return clients && clients[teamId]
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseClone = __webpack_require__(142),
CLONE_SYMBOLS_FLAG = 4;
var lodash_es_clone = function clone(value) {
return Object(_baseClone.a)(value, CLONE_SYMBOLS_FLAG)
},
_baseFlatten = __webpack_require__(79),
_baseRest = __webpack_require__(76),
_baseUniq = __webpack_require__(213),
isArrayLikeObject = __webpack_require__(85),
lodash_es_union = Object(_baseRest.a)(function(arrays) {
return Object(_baseUniq.a)(Object(_baseFlatten.a)(arrays, 1, isArrayLikeObject.a, !0))
}),
difference = __webpack_require__(605),
lib = __webpack_require__(7),
constants = __webpack_require__(137),
external_url_ = __webpack_require__(21),
actions = __webpack_require__(1),
logger = __webpack_require__(0),
shared_constants = __webpack_require__(4),
environment_reducer = __webpack_require__(8),
web_contents_reducer = __webpack_require__(35);
__webpack_require__.d(__webpack_exports__, "f", function() {
return updateRecentlySelectedTeams
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return getTeamsByIndex
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getSelectedTeamId
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getNumberOfTeams
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getRecentlySelectedTeams
});
const initialState = {
selectedTeamId: null,
selectedChannelId: null,
teamsByIndex: [],
teamsToSignOut: [],
recentlySelectedTeams: []
},
updateRecentlySelectedTeams = Object(lib.createAction)("UPDATE_RECENTLY_SELECTED_TEAMS", payload => payload, () => ({
omitFromLog: !0
}));
function reduce(state = initialState, action) {
switch (action.type) {
case actions.j.ADD_NEW_TEAMS:
return function handleNewTeams(state, newTeams, selectTeam = !0) {
const teamIds = newTeams.map(team => team.team_id),
teamsToSignOut = state.teamsToSignOut.filter(team => !teamIds.includes(team));
return {
...state,
selectedTeamId: selectTeam ? teamIds[0] : state.selectedTeamId,
teamsByIndex: lodash_es_union(state.teamsByIndex, teamIds),
teamsToSignOut
}
}(state, action.payload, action.meta && action.meta.shouldSelect);
case actions.j.REMOVE_TEAMS:
return action.payload.reduce((acc, teamId) => (function handleRemoveTeam(state, removedTeamId) {
const teamsByIndex = lodash_es_clone(state.teamsByIndex),
removedIndex = teamsByIndex.findIndex(teamId => teamId === removedTeamId);
teamsByIndex.splice(removedIndex, 1);
let selectedTeamId = state.selectedTeamId;
selectedTeamId === removedTeamId && (selectedTeamId = teamsByIndex[0] || null);
return {
...state,
selectedTeamId,
teamsByIndex
}
})(acc, teamId), state);
case actions.b.SELECT_TEAM:
return function selectTeamById(state, selectedTeamId) {
if (!state.teamsByIndex.includes(selectedTeamId)) return logger.logger.error("AppTeamsReducer: No team found", {
selectedTeamId
}), state;
return {
...state,
selectedTeamId
}
}(state, action.payload);
case actions.b.SELECT_TEAM_BY_USER_ID:
return function selectTeamByUserId(state, payload) {
const {
userId,
teamList
} = payload, selectedTeam = Object.keys(teamList).map(teamId => teamList[teamId]).find(team => team.id === userId);
return selectedTeam ? {
...state,
selectedTeamId: selectedTeam.team_id
} : state
}(state, action.payload);
case actions.b.SELECT_NEXT_TEAM:
return function selectNextTeam(state) {
const selectedIndex = state.teamsByIndex.findIndex(teamAtIndex => teamAtIndex === state.selectedTeamId);
if (-1 === selectedIndex) return state;
const nextIndex = mod(selectedIndex + 1, state.teamsByIndex.length);
return {
...state,
selectedTeamId: state.teamsByIndex[nextIndex]
}
}(state);
case actions.b.SELECT_PREVIOUS_TEAM:
return function selectPreviousTeam(state) {
const selectedIndex = state.teamsByIndex.findIndex(teamAtIndex => teamAtIndex === state.selectedTeamId);
if (-1 === selectedIndex) return state;
const previousIndex = mod(selectedIndex - 1, state.teamsByIndex.length);
return {
...state,
selectedTeamId: state.teamsByIndex[previousIndex]
}
}(state);
case actions.b.SELECT_TEAM_BY_INDEX:
return {
...state, selectedTeamId: getTeamAtIndex(state, action.payload)
};
case updateRecentlySelectedTeams.getType():
return {
...state, recentlySelectedTeams: action.payload
};
case actions.b.SET_TEAMS_BY_INDEX:
return {
...state, teamsByIndex: action.payload
};
case actions.b.SELECT_CHANNEL:
return {
...state, selectedChannelId: action.payload
};
case actions.b.SIGNED_OUT_TEAM:
return function handleSignedOutTeam(state, teamId) {
const teamsToSignOut = state.teamsToSignOut.filter(currentTeamId => currentTeamId !== teamId);
return {
...state,
teamsToSignOut
}
}(state, action.payload);
case actions.d.SIGN_OUT_TEAM:
return function handleSignOutTeam(state, teamId) {
const teamsToSignOut = state.teamsToSignOut.concat(teamId),
selectedTeamId = state.selectedTeamId === teamId ? state.teamsByIndex[0] : state.selectedTeamId;
return {
...state,
selectedTeamId,
teamsToSignOut
}
}(state, action.payload.teamId);
case actions.d.HANDLE_DEEP_LINK:
return function parseTeamFromDeepLink(state, evt) {
const theUrl = external_url_.parse(evt.url, !0);
if (theUrl.protocol === shared_constants.n && theUrl.query && theUrl.query.team) {
const index = state.teamsByIndex.findIndex(teamId => teamId === theUrl.query.team);
if (index >= 0) return {
...state,
selectedTeamId: theUrl.query.team
}
}
return state
}(state, action.payload);
case constants.REHYDRATE:
return function validateTeamsState(state, persistedState) {
if (!persistedState.appTeams || !persistedState.teams) return state;
const {
appTeams,
teams
} = persistedState, {
teamsByIndex,
selectedTeamId
} = appTeams, teamIds = Object.keys(teams), teamsInconsistent = Object(difference.a)(teamsByIndex, teamIds).length > 0, teamMissing = teamIds.length > 0 && !teamIds.includes(selectedTeamId), teamMissingFromSidebar = teamsByIndex.length > 0 && !teamsByIndex.includes(selectedTeamId);
if (teamsInconsistent || teamMissing || teamMissingFromSidebar) return logger.logger.warn("validateTeamsState: Found inconsistencies", {
teamsByIndex,
teamIds
}), {
...state,
teamsByIndex: teamIds,
selectedTeamId: teamIds[0]
};
return state
}(state, action.payload);
default:
return state
}
}
function getTeamAtIndex(state, index) {
return state.teamsByIndex[index] ? state.teamsByIndex[index] : (logger.logger.error("AppTeamsReducer: No team found at index", {
index
}), state.teamsByIndex.find(t => !!t) || null)
}
function mod(a, n) {
return (a % n + n) % n
}
function getTeamsByIndex(store) {
return store.getState().appTeams.teamsByIndex
}
function getSelectedTeamId(store) {
return Object(environment_reducer.b)(store) ? web_contents_reducer.a : store.getState().appTeams.selectedTeamId
}
function getNumberOfTeams(store) {
return getTeamsByIndex(store).length
}
function getRecentlySelectedTeams(store) {
return store.getState().appTeams.recentlySelectedTeams
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return completeAction
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return mapToAction
});
var rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5),
rxjs_scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(152),
_bugsnag_reporter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(168),
_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4);
const logEpicException = tag => o => o.catch(error => {
const e = error instanceof Error ? {
name: error.name,
message: error.message,
stack: error.stack
} : error;
return _logger__WEBPACK_IMPORTED_MODULE_3__.logger.error(`mapToAction: Unhandled error in epic ${tag}`, e), _bugsnag_reporter__WEBPACK_IMPORTED_MODULE_2__.a.notify(e), global.__JEST_DEV__ ? rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.throw(e) : rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.empty()
}),
completeAction = tag => o => o.let(logEpicException(tag)).ignoreElements(),
mapToAction = (project, tag) => o => o.map(project).let(logEpicException(tag)),
newCoolOperators = {
guaranteedThrottle: function(time, scheduler = rxjs_scheduler_async__WEBPACK_IMPORTED_MODULE_1__.async) {
return this.switchMap(x => rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.timer(time, scheduler).map(() => x))
},
retryAtIntervals: function(maxRetries = 4, scheduler = rxjs_scheduler_async__WEBPACK_IMPORTED_MODULE_1__.async) {
return this.retryWhen(errors => retryIf(errors, maxRetries, (attempts, error) => attempts <= maxRetries ? rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.timer(1e3 * attempts, scheduler) : rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.throw(error)))
},
retryNetworkErrors: function(maxRetries = 8, scheduler = rxjs_scheduler_async__WEBPACK_IMPORTED_MODULE_1__.async) {
return this.retryWhen(errors => retryIf(errors, maxRetries, (attempts, error) => error.code && _utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__.l.includes(error.code) ? attempts > maxRetries ? rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.throw(error) : rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.timer(1e3 * attempts, scheduler) : rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.throw(error)))
},
tag: function(_tag) {
return this
}
};
function retryIf(errors, maxRetries, retryForAttempt) {
return rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.range(1, maxRetries + 1).zip(errors, (i, e) => ({
attempts: i,
error: e
})).flatMap(({
attempts,
error
}) => retryForAttempt(attempts, error))
}
for (const key of Object.keys(newCoolOperators)) rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.prototype[key] = newCoolOperators[key]
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var LocaleNamespace, LocaleType, external_fs_ = __webpack_require__(37),
message_format = __webpack_require__(243),
external_path_ = __webpack_require__(6),
logger = __webpack_require__(0);
! function(LocaleNamespace) {
LocaleNamespace.GENERAL = "desktop_general", LocaleNamespace.BROWSER = "desktop_browser", LocaleNamespace.RENDERER = "desktop_renderer", LocaleNamespace.MESSAGEBOX = "desktop_messagebox", LocaleNamespace.MENU = "desktop_menu"
}(LocaleNamespace || (LocaleNamespace = {})), __webpack_require__.d(__webpack_exports__, "b", function() {
return LocaleType
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return intl
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return LocaleNamespace
}),
function(LocaleType) {
LocaleType.JA_JP = "ja-JP", LocaleType.EN_US = "en-US", LocaleType.EN_GB = "en-GB", LocaleType.ES_ES = "es-ES", LocaleType.ES_LA = "es-LA", LocaleType.FR_FR = "fr-FR", LocaleType.DE_DE = "de-DE", LocaleType.PT_BR = "pt-BR"
}(LocaleType || (LocaleType = {}));
class intl_TranslationLookup {
constructor() {
this.locale = intl_TranslationLookup.defaultLocale, this.defaultConjunction = ", ", this.defaultStringFormatterTable = {}, this.stringFormatterTable = {}, this.localeResourceTable = {}
}
applyLocale(locale) {
return !locale || locale.length < 2 ? (logger.logger.error("Invalid locale code specified, do not try to apply locale", {
locale
}), !1) : (this.stringFormatterTable = {}, this.localeResourceTable = {}, locale === this.locale ? (logger.logger.debug("Current locale is same as new locale specified, skipping", {
locale,
current: this.locale
}), !1) : (this.stringFormatterTable = {}, this.localeResourceTable = {}, this.locale = locale, logger.logger.info(`TranslationLookup: locale set to ${locale} for renderer`), !0))
}
t(value, namespace) {
const key = function getHashCode(str) {
let i, chr, hash = 0;
if (0 === str.length) return hash;
for (i = 0; i < str.length; i++) hash = (hash << 5) - hash + (chr = str.charCodeAt(i)), hash |= 0;
return hash + 2147483647 + 1
}(value),
cachedFormatter = this.lookupStringFormatter(namespace, key);
if (cachedFormatter) return cachedFormatter;
const formatter = (...args) => {
try {
const translatedStringValue = this.translate(namespace, key) || value;
return new message_format(this.locale, translatedStringValue).format(...args)
} catch (err) {
if (process.defaultApp) throw new Error(`TranslationLookup: Error: localized string is invalid\n See string ${key} at ${namespace} for locale '${this.locale}'.\n\n${err.message}`);
return logger.logger.error(`TranslationLookup: Error: localized string is invalid.\n See string ${key} at ${namespace} for locale '${this.locale}'\n Falling back to default locale.`), new message_format(intl_TranslationLookup.defaultLocale, value).format(...args)
}
};
return this.updateFormatter(namespace, key, formatter), formatter
}
number(num) {
return new Intl.NumberFormat(this.locale).format(num)
}
listify(arr, conj = "and") {
let and;
const arrayLength = arr.length,
conjunction = "or" === conj ? this.t("or", LocaleNamespace.GENERAL)() : this.t("and", LocaleNamespace.GENERAL)(),
oxford = arrayLength > 2 ? "," : "";
switch (this.locale) {
case LocaleType.JA_JP:
and = this.defaultConjunction;
break;
default:
and = `${oxford} ${conjunction} `
}
return arr.reduce((acc, value, index) => (acc.push(value), index < arrayLength - 2 ? acc.push(this.defaultConjunction) : index < arrayLength - 1 && acc.push(and), acc), [])
}
lookupStringFormatter(namespace, key) {
const namespaceTable = (this.locale === intl_TranslationLookup.defaultLocale ? this.defaultStringFormatterTable : this.stringFormatterTable)[namespace];
return namespaceTable ? namespaceTable[key] : null
}
updateEmptyLocaleDictionary(namespace) {
return logger.logger.warn(`TranslationLookup: locale lookup for ${namespace} will be skipped until applying new locales`), this.localeResourceTable[namespace] = {}
}
loadLocaleResource(namespace) {
if (this.localeResourceTable[namespace]) return this.localeResourceTable[namespace];
const [locale, region] = this.locale.split("-"), setEmptyDict = () => this.updateEmptyLocaleDictionary(namespace);
logger.logger.debug(`TranslationLookup: trying to load locale resources for ${namespace}_${locale}_${region}`);
const resourcePath = external_path_.resolve(__dirname, "resources", locale);
if (!external_fs_.existsSync(resourcePath)) return logger.logger.info("TranslationLookup: resource for locale is not available at resource path", {
locale,
resourcePath
}), setEmptyDict();
let resources;
try {
resources = external_fs_.readdirSync(resourcePath)
} catch (error) {
return logger.logger.error("TranslationLookup: failed to lookup resources", {
locale,
error
}), setEmptyDict()
}
if (!resources || 0 === resources.length) return logger.logger.error("TranslationLookup: there are no resources exist, something went wrong"), setEmptyDict();
const resourceFileName = resources.find(file => {
return new RegExp(`${namespace}_${locale}_${region}.json`).test(file)
});
if (!resourceFileName) return logger.logger.error("TranslationLookup: could not find corresponding locale resource", {
resourceFileName,
namespace,
locale,
region
}), setEmptyDict();
let resource;
try {
const filePath = external_path_.join(resourcePath, resourceFileName),
resourceFile = external_fs_.readFileSync(filePath, "utf-8");
resource = JSON.parse(resourceFile)
} catch (error) {
return logger.logger.error(`TranslationLookup: failed to load resources from ${resourceFileName[0]}`, {
error
}), setEmptyDict()
}
return this.localeResourceTable[namespace] = resource
}
translate(namespace, key) {
if (this.locale === intl_TranslationLookup.defaultLocale) return null;
const translateValue = this.loadLocaleResource(namespace)[key];
return translateValue ? translateValue.translation && 0 !== translateValue.translation.length ? translateValue.translation : (logger.logger.error(`TranslationLookup: loaded resources are corrupted, does not contain locale values for ${namespace}_${key}`), null) : null
}
updateFormatter(namespace, key, formatter) {
const table = this.locale === intl_TranslationLookup.defaultLocale ? this.defaultStringFormatterTable : this.stringFormatterTable;
let namespaceTable = table[namespace];
namespaceTable || (namespaceTable = table[namespace] = {}), namespaceTable[key] = formatter
}
}
intl_TranslationLookup.defaultLocale = LocaleType.EN_US;
const intl = new intl_TranslationLookup
}, function(module, exports) {
module.exports = require("url")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var isArray = Array.isArray;
__webpack_exports__.a = isArray
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return p
});
var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
let electronApp;
"type" in process && (electronApp = __webpack_require__(2).remote.app);
const environmentVariableAliases = {
HOME: "home",
USERPROFILE: "home",
APPDATA: "appData",
TEMP: "temp",
TMPDIR: "temp"
},
pathCache = {};
function p(literals, ...placeholders) {
const newVals = placeholders.map(x => trimSlashes(function getPath(key) {
if (pathCache[key]) return pathCache[key];
let aliasKey = null;
environmentVariableAliases[key] && (aliasKey = environmentVariableAliases[key]);
let result = null;
if (electronApp) try {
result = electronApp.getPath(aliasKey || key)
} catch (e) {}
if (!(result = result || process.env[key]) && ("appdata" === key.toLowerCase() && process.env.USERPROFILE && (result = path__WEBPACK_IMPORTED_MODULE_0__.join(process.env.USERPROFILE, "AppData", "Roaming")), "localappdata" === key.toLowerCase() && process.env.USERPROFILE && (result = path__WEBPACK_IMPORTED_MODULE_0__.join(process.env.USERPROFILE, "AppData", "Local")), _utils_shared_constants__WEBPACK_IMPORTED_MODULE_1__.i && "localstateappdata" === key.toLowerCase() && process.env.USERPROFILE)) {
const packageFamilyId = __webpack_require__(410).Package.current.id.familyName;
result = path__WEBPACK_IMPORTED_MODULE_0__.join(process.env.USERPROFILE, "AppData", "Local", "Packages", packageFamilyId, "LocalState")
}
return result && (pathCache[key] = result), result
}(x)) || trimSlashes(x));
let newPath = String.raw(literals, ...newVals);
const parts = (newPath = trimSlashes(newPath)).split(/[\\\/]/).map(x => x || "/");
try {
return path__WEBPACK_IMPORTED_MODULE_0__.resolve(...parts)
} catch (e) {
return path__WEBPACK_IMPORTED_MODULE_0__.join(...parts)
}
}
function trimSlashes(untrimmedPath) {
if (!untrimmedPath) return untrimmedPath;
let trimmedPath = untrimmedPath;
for (; trimmedPath.match(/[\\\/]$/);) trimmedPath = trimmedPath.slice(0, trimmedPath.length - 1);
return trimmedPath
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "e", function() {
return getReleaseNotesUrl
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return makeFlannelURL
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return apiURL
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return baseSlackURL
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return deepLinkNavigationURL
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return isCallsWindowURL
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return isGantryWindowURL
}), __webpack_require__.d(__webpack_exports__, "i", function() {
return parseSettingsLinkURL
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return formatTeamURLsForEnvironment
}), __webpack_require__.d(__webpack_exports__, "j", function() {
return sanitizeTeamURL
});
var url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21),
_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0),
_constants_release_channels__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_require__(18), __webpack_require__(8), __webpack_require__(101), __webpack_require__(138)),
_url_operations__WEBPACK_IMPORTED_MODULE_7__ = (__webpack_require__(4), __webpack_require__(167));
const i18nUrlSlugMap = {
"en-GB": "en-gb",
"es-LA": "es-la",
de: "de-de",
es: "es-es",
fr: "fr-fr",
ja: "ja-jp",
pt: "pt-br"
},
platformUrlSlugMap = {
darwin: "mac",
linux: "linux",
win32: "windows"
};
function getReleaseNotesUrl(releaseChannel, locale) {
let releaseNotesUrl = "https://www.slack.com";
const langCode = locale.substr(0, 2).toLowerCase(),
i18nUrlSlug = i18nUrlSlugMap[locale] || i18nUrlSlugMap[langCode];
return i18nUrlSlug && (releaseNotesUrl += `/intl/${i18nUrlSlug}`), releaseNotesUrl += "/release-notes", releaseNotesUrl += `/${platformUrlSlugMap.darwin||"windows"}`, releaseNotesUrl += Object(_constants_release_channels__WEBPACK_IMPORTED_MODULE_5__.b)(releaseChannel) ? releaseChannel : ""
}
function makeFlannelURL(token, enterpriseId, devEnv, flannelVersion = 2) {
return "wss://wss-primary." + `${devEnv?"dev.":""}` + "slack.com/websocket" + `?flannel=${flannelVersion}` + `${enterpriseId?`&enterprise_id=${enterpriseId}`:""}` + "&start_args=no_channels%3D1&start_args=no_members%3D1" + `&token=${token}`
}
function apiURL(devEnv) {
return `${baseSlackURL(devEnv)}/api/`
}
function baseSlackURL(devEnv) {
return devEnv && (devEnv = function validateDevEnvironment(devEnv) {
const alphaNumericMatch = devEnv.match(/([A-Za-z0-9])*/i);
return alphaNumericMatch && devEnv === alphaNumericMatch[0] ? devEnv : void _logger__WEBPACK_IMPORTED_MODULE_1__.logger.warn(`apiURL: ${devEnv} contains invalid characters, ignoring`)
}(devEnv)), `https://${devEnv?`${devEnv}.`:""}slack.com`
}
function deepLinkNavigationURL({
channelId,
teamId,
messageTs,
threadTs
}) {
const result = new url__WEBPACK_IMPORTED_MODULE_0__.URL("slack://channel");
return channelId && result.searchParams.set("id", channelId), teamId && result.searchParams.set("team", teamId), messageTs && result.searchParams.set("message", messageTs), threadTs && result.searchParams.set("thread_ts", threadTs), result.href
}
function isCallsWindowURL(location) {
const theURL = new url__WEBPACK_IMPORTED_MODULE_0__.URL(location);
if (theURL.hostname.endsWith(".slack.com")) {
if (theURL.pathname.includes("/call/")) return !0;
if (theURL.pathname.includes("/test/calls")) return !0;
if (theURL.pathname.startsWith("/calls/")) return !0
}
return !("data:" !== theURL.protocol || !location.includes("TS.calls"))
}
function isGantryWindowURL(location) {
const theURL = new url__WEBPACK_IMPORTED_MODULE_0__.URL(location);
return theURL.hostname.endsWith(".slack.com") && theURL.hostname.startsWith("app.")
}
function parseSettingsLinkURL(linkURL) {
const parsedUrl = "string" == typeof linkURL ? url__WEBPACK_IMPORTED_MODULE_0__.parse(linkURL, !0) : null;
let query = parsedUrl && parsedUrl.query && parsedUrl.query.update || "{}";
!query || query.startsWith("{") && query.endsWith("}") || (query = `{${query}}`);
const qm = (query = query.replace(/(['"])?([a-zA-Z0-9_-]+)(['"])?:/g, '"$2": ')).match(/.*: (['"])?([a-zA-Z_-]*)(['"])?/),
isBool = qm && qm[2] && /(true)|(false)/.test(qm[2]),
isString = qm && qm[2] && /[\w]|[\w-]*/.test(qm[2]) && !isBool,
isQuoted = qm && '"' === qm[1] && '"' === qm[3];
return isString && !isQuoted && (query = (query || "{}").replace(/(.*): (['"])?([a-zA-Z0-9_-]+)(['"])?/g, '$1: "$3"')), query
}
function formatTeamURLsForEnvironment(teams, environment) {
return Object.values(teams).reduce((newState, team) => {
const newURL = function urlOperationsForEnvironment(team, environment) {
const operations = [],
devEnvOperation = function devEnvironmentURLOperationForTeam(team, devEnv) {
const devEnvOperation = new _url_operations__WEBPACK_IMPORTED_MODULE_7__.a;
if (devEnv) return {
operation: devEnvOperation,
args: [devEnv]
};
if (devEnvOperation.test(team.team_url)) return {
operation: devEnvOperation,
args: [],
undo: !0
};
return null
}(team, environment.devEnv);
devEnvOperation && operations.push(devEnvOperation);
const webappSourceOperation = function webappSourceOperationForTeam(team, webappSrcPath) {
const webappSourceOperation = new _url_operations__WEBPACK_IMPORTED_MODULE_7__.b;
if (webappSrcPath) return {
operation: webappSourceOperation,
args: []
};
if (webappSourceOperation.test(team.team_url)) return {
operation: webappSourceOperation,
args: [],
undo: !0
};
return null
}(team, environment.webappSrcPath);
webappSourceOperation && operations.push(webappSourceOperation);
return operations
}(team, environment).reduce((intermediate, meta) => {
const {
operation,
args,
undo
} = meta, after = undo ? operation.undo(intermediate, ...args) : operation.apply(intermediate, ...args);
return _logger__WEBPACK_IMPORTED_MODULE_1__.logger.info(`Applying operation ${operation.constructor.name} to URL`, {
before: intermediate,
after
}), after
}, team.team_url);
return newState[team.team_id] = {
...team,
team_url: newURL
}, newState
}, {})
}
function sanitizeTeamURL(input) {
const teamUrl = new url__WEBPACK_IMPORTED_MODULE_0__.URL(input),
{
hostname,
protocol,
searchParams
} = teamUrl;
return hostname && /(\.|^)slack\.(eu|com)$/.test(hostname) ? "https:" !== protocol ? (_logger__WEBPACK_IMPORTED_MODULE_1__.logger.warn(`isTeamValid: ${input} did not meet protocol requirements`), null) : (searchParams.has("redir") && (_logger__WEBPACK_IMPORTED_MODULE_1__.logger.warn(`isTeamValid: ${input} contained redir parameter, which will be deleted`), searchParams.delete("redir")), teamUrl.toString()) : (_logger__WEBPACK_IMPORTED_MODULE_1__.logger.warn(`isTeamValid: ${input} did not meet host requirements`), null)
}
}, function(module, exports) {
module.exports = require("os")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return ClogEvent
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return clog
});
var ClogEvent, getroot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16),
_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
! function(ClogEvent) {
ClogEvent.DESKTOP_LANGUAGE_DETECTED = "DESKTOP_LANGUAGE_DETECTED", ClogEvent.DESKTOP_DICT_UNSUPPORTED = "DESKTOP_DICT_UNSUPPORTED", ClogEvent.DESKTOP_DICT_INVALID_HASH = "DESKTOP_DICT_INVALID_HASH", ClogEvent.DESKTOP_DICT_DOWNLOAD_FAIL = "DESKTOP_DICT_DOWNLOAD_FAIL", ClogEvent.DESKTOP_SPELLCHECK_FORCE_LANGUAGE = "DESKTOP_SPELLCHECK_FORCE_LANGUAGE", ClogEvent.DESKTOP_SPELLCHECK_AUTO_LANGUAGE = "DESKTOP_SPELLCHECK_AUTO_LANGUAGE", ClogEvent.DESKTOP_SPELLCHECK_UNLOAD_DICT = "DESKTOP_SPELLCHECK_UNLOAD_DICT", ClogEvent.DESKTOP_SPELLCHECK_SWITCH_FAIL = "DESKTOP_SPELLCHECK_SWITCH_FAIL", ClogEvent.DESKTOP_CLIENT_TIME_TO_USABLE = "DESKTOP_CLIENT_TIME_TO_USABLE", ClogEvent.DESKTOP_CLIENT_ACCESSIBILITY_SUPPORT = "DESKTOP_CLIENT_ACCESSIBILITY_SUPPORT"
}(ClogEvent || (ClogEvent = {}));
const clog = (event, args) => {
getroot__WEBPACK_IMPORTED_MODULE_0__.root.desktop && getroot__WEBPACK_IMPORTED_MODULE_0__.root.desktop.delegate && getroot__WEBPACK_IMPORTED_MODULE_0__.root.desktop.delegate.track ? getroot__WEBPACK_IMPORTED_MODULE_0__.root.desktop.delegate.track(event, {
...args
}) : _logger__WEBPACK_IMPORTED_MODULE_1__.logger.error("Clog: Delegate track method unavailable")
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "d", function() {
return isBrowser
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return LogLevels
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getProcessIdentifier
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return logWelcome
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getCustomFormatter
});
var os__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25),
util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4),
_get_timestamp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(114);
const isBrowser = !1;
var LogLevels;
! function(LogLevels) {
LogLevels.DEBUG = "debug", LogLevels.INFO = "info", LogLevels.WARN = "warn", LogLevels.ERROR = "error"
}(LogLevels || (LogLevels = {}));
const getProcessIdentifier = customIdentifier => {
if (customIdentifier) return customIdentifier;
if (isBrowser) return "browser"; {
const {
windowType,
webappWindowType
} = __webpack_require__(12).preloadEnv;
return "renderer" + ((windowType ? `-${windowType}` : "") + (webappWindowType ? `-${webappWindowType}` : "") || `${-process.pid}`)
}
},
logWelcome = logger => {
const store = _utils_shared_constants__WEBPACK_IMPORTED_MODULE_2__.i || process.mas ? " (Store) " : " ",
title = ` Slack 4.0.0, ${os__WEBPACK_IMPORTED_MODULE_0__.platform()}${store}${os__WEBPACK_IMPORTED_MODULE_0__.release()} on ${os__WEBPACK_IMPORTED_MODULE_0__.arch()} at ${Object(_get_timestamp__WEBPACK_IMPORTED_MODULE_3__.b)()} `,
unicodeBorder = new Array(title.length + 1).join("═");
new Array(title.length + 1).join("=");
[`╔${unicodeBorder}╗`, `║${title}║`, `╚${unicodeBorder}╝`].forEach(line => logger(line))
},
getCustomFormatter = (showTimestamp, log) => options => {
const {
level,
message,
metaObject,
metaValue
} = options;
let metaString = metaValue || "";
if (metaObject && Object.keys(metaObject).length > 0) try {
metaString = `${os__WEBPACK_IMPORTED_MODULE_0__.EOL}${JSON.stringify(metaObject,null,2)}`
} catch (error) {
log("Circular reference logged – please fix!"), metaString = `${os__WEBPACK_IMPORTED_MODULE_0__.EOL}${util__WEBPACK_IMPORTED_MODULE_1__.inspect(metaObject)}`
}
const messageString = `${level||"nolevel"}: ${message||"(no message)"} ${metaString}`;
return `${(showTimestamp?`[${Object(_get_timestamp__WEBPACK_IMPORTED_MODULE_3__.b)()}] `:"")||""}${messageString}`
}
}, function(module, exports, __webpack_require__) {
"use strict";
var support = __webpack_require__(94),
base64 = __webpack_require__(341),
nodejsUtils = __webpack_require__(175),
setImmediate = __webpack_require__(524),
external = __webpack_require__(159);
function identity(input) {
return input
}
function stringToArrayLike(str, array) {
for (var i = 0; i < str.length; ++i) array[i] = 255 & str.charCodeAt(i);
return array
}
exports.newBlob = function(part, type) {
exports.checkSupport("blob");
try {
return new Blob([part], {
type
})
} catch (e) {
try {
var builder = new(self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder);
return builder.append(part), builder.getBlob(type)
} catch (e) {
throw new Error("Bug : can't construct the Blob.")
}
}
};
var arrayToStringHelper = {
stringifyByChunk: function(array, type, chunk) {
var result = [],
k = 0,
len = array.length;
if (len <= chunk) return String.fromCharCode.apply(null, array);
for (; k < len;) "array" === type || "nodebuffer" === type ? result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len)))) : result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len)))), k += chunk;
return result.join("")
},
stringifyByChar: function(array) {
for (var resultStr = "", i = 0; i < array.length; i++) resultStr += String.fromCharCode(array[i]);
return resultStr
},
applyCanBeUsed: {
uint8array: function() {
try {
return support.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length
} catch (e) {
return !1
}
}(),
nodebuffer: function() {
try {
return support.nodebuffer && 1 === String.fromCharCode.apply(null, nodejsUtils.allocBuffer(1)).length
} catch (e) {
return !1
}
}()
}
};
function arrayLikeToString(array) {
var chunk = 65536,
type = exports.getTypeOf(array),
canUseApply = !0;
if ("uint8array" === type ? canUseApply = arrayToStringHelper.applyCanBeUsed.uint8array : "nodebuffer" === type && (canUseApply = arrayToStringHelper.applyCanBeUsed.nodebuffer), canUseApply)
for (; chunk > 1;) try {
return arrayToStringHelper.stringifyByChunk(array, type, chunk)
} catch (e) {
chunk = Math.floor(chunk / 2)
}
return arrayToStringHelper.stringifyByChar(array)
}
function arrayLikeToArrayLike(arrayFrom, arrayTo) {
for (var i = 0; i < arrayFrom.length; i++) arrayTo[i] = arrayFrom[i];
return arrayTo
}
exports.applyFromCharCode = arrayLikeToString;
var transform = {};
transform.string = {
string: identity,
array: function(input) {
return stringToArrayLike(input, new Array(input.length))
},
arraybuffer: function(input) {
return transform.string.uint8array(input).buffer
},
uint8array: function(input) {
return stringToArrayLike(input, new Uint8Array(input.length))
},
nodebuffer: function(input) {
return stringToArrayLike(input, nodejsUtils.allocBuffer(input.length))
}
}, transform.array = {
string: arrayLikeToString,
array: identity,
arraybuffer: function(input) {
return new Uint8Array(input).buffer
},
uint8array: function(input) {
return new Uint8Array(input)
},
nodebuffer: function(input) {
return nodejsUtils.newBufferFrom(input)
}
}, transform.arraybuffer = {
string: function(input) {
return arrayLikeToString(new Uint8Array(input))
},
array: function(input) {
return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength))
},
arraybuffer: identity,
uint8array: function(input) {
return new Uint8Array(input)
},
nodebuffer: function(input) {
return nodejsUtils.newBufferFrom(new Uint8Array(input))
}
}, transform.uint8array = {
string: arrayLikeToString,
array: function(input) {
return arrayLikeToArrayLike(input, new Array(input.length))
},
arraybuffer: function(input) {
return input.buffer
},
uint8array: identity,
nodebuffer: function(input) {
return nodejsUtils.newBufferFrom(input)
}
}, transform.nodebuffer = {
string: arrayLikeToString,
array: function(input) {
return arrayLikeToArrayLike(input, new Array(input.length))
},
arraybuffer: function(input) {
return transform.nodebuffer.uint8array(input).buffer
},
uint8array: function(input) {
return arrayLikeToArrayLike(input, new Uint8Array(input.length))
},
nodebuffer: identity
}, exports.transformTo = function(outputType, input) {
if (input || (input = ""), !outputType) return input;
exports.checkSupport(outputType);
var inputType = exports.getTypeOf(input);
return transform[inputType][outputType](input)
}, exports.getTypeOf = function(input) {
return "string" == typeof input ? "string" : "[object Array]" === Object.prototype.toString.call(input) ? "array" : support.nodebuffer && nodejsUtils.isBuffer(input) ? "nodebuffer" : support.uint8array && input instanceof Uint8Array ? "uint8array" : support.arraybuffer && input instanceof ArrayBuffer ? "arraybuffer" : void 0
}, exports.checkSupport = function(type) {
if (!support[type.toLowerCase()]) throw new Error(type + " is not supported by this platform")
}, exports.MAX_VALUE_16BITS = 65535, exports.MAX_VALUE_32BITS = -1, exports.pretty = function(str) {
var code, i, res = "";
for (i = 0; i < (str || "").length; i++) res += "\\x" + ((code = str.charCodeAt(i)) < 16 ? "0" : "") + code.toString(16).toUpperCase();
return res
}, exports.delay = function(callback, args, self) {
setImmediate(function() {
callback.apply(self || null, args || [])
})
}, exports.inherits = function(ctor, superCtor) {
var Obj = function() {};
Obj.prototype = superCtor.prototype, ctor.prototype = new Obj
}, exports.extend = function() {
var i, attr, result = {};
for (i = 0; i < arguments.length; i++)
for (attr in arguments[i]) arguments[i].hasOwnProperty(attr) && void 0 === result[attr] && (result[attr] = arguments[i][attr]);
return result
}, exports.prepareContent = function(name, inputData, isBinary, isOptimizedBinaryString, isBase64) {
return external.Promise.resolve(inputData).then(function(data) {
return support.blob && (data instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(data))) && "undefined" != typeof FileReader ? new external.Promise(function(resolve, reject) {
var reader = new FileReader;
reader.onload = function(e) {
resolve(e.target.result)
}, reader.onerror = function(e) {
reject(e.target.error)
}, reader.readAsArrayBuffer(data)
}) : data
}).then(function(data) {
var dataType = exports.getTypeOf(data);
return dataType ? ("arraybuffer" === dataType ? data = exports.transformTo("uint8array", data) : "string" === dataType && (isBase64 ? data = base64.decode(data) : isBinary && !0 !== isOptimizedBinaryString && (data = function string2binary(str) {
return stringToArrayLike(str, support.uint8array ? new Uint8Array(str.length) : new Array(str.length))
}(data))), data) : external.Promise.reject(new Error("Can't read the data of '" + name + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function isObjectLike(value) {
return null != value && "object" == typeof value
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return addNewTeams
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return removeTeams
}), __webpack_require__.d(__webpack_exports__, "g", function() {
return updateTeamName
}), __webpack_require__.d(__webpack_exports__, "h", function() {
return updateTeamUrl
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getInitialsOfTeam
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return getTeams
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getTeamById
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(367),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(615),
lodash_es__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(607),
redux_act__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1),
_utils_key_redactor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33),
_utils_url_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24);
const teamRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_5__.a)(["name", "team_name", "team_url", "token"]),
addNewTeams = Object(redux_act__WEBPACK_IMPORTED_MODULE_3__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_4__.j.ADD_NEW_TEAMS, teams => teams, (teams, shouldSelect = !1) => ({
logPayload: teams.map(teamRedactor),
shouldSelect
})),
removeTeams = Object(redux_act__WEBPACK_IMPORTED_MODULE_3__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_4__.j.REMOVE_TEAMS),
updateTeamName = Object(redux_act__WEBPACK_IMPORTED_MODULE_3__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_NAME, update => update, update => ({
logPayload: teamRedactor(update)
})),
updateTeamUrl = Object(redux_act__WEBPACK_IMPORTED_MODULE_3__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_URL, update => update, update => ({
logPayload: teamRedactor(update)
}));
function reduce(teams = {}, action) {
switch (action.type) {
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.ADD_NEW_TEAMS:
return function addTeams(teamList, newTeams) {
const update = newTeams.reduce((acc, team) => {
const parsedTeam = function parseTeamInfoFromWebappSignin(ssbTeam) {
const team = Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)(ssbTeam, ["name", "id", "team_id", "team_name", "team_url"]),
sanitizedTeamUrl = Object(_utils_url_utils__WEBPACK_IMPORTED_MODULE_6__.j)(team.team_url);
if (!sanitizedTeamUrl) return null;
team.team_url = sanitizedTeamUrl, ssbTeam.team_icon && Object.keys(ssbTeam.team_icon).length > 0 && (team.icons = ssbTeam.team_icon);
return team.user_id = ssbTeam.id, team.hasValidSession = !0, team
}(team);
return parsedTeam ? (acc[team.team_id] = parsedTeam, acc) : acc
}, {});
return {
...teamList,
...update
}
}(teams, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.REMOVE_TEAMS:
return function removeTeamsWithIds(teamList, teamIds) {
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__.a)(teamList, team => !teamIds.includes(team.team_id))
}(teams, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_THEME:
return updateFieldOnTeam(teams, action.payload.teamId, "theme", action.payload.theme);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_ICONS:
return updateFieldOnTeam(teams, action.payload.teamId, "icons", action.payload.icons);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_USAGE:
return function updateTeamUsage(teams, usagePerTeam) {
const update = {};
for (const teamId of Object.keys(usagePerTeam)) {
if (!teams[teamId]) continue;
const usage = (teams[teamId].usage || 0) + usagePerTeam[teamId];
update[teamId] = {
...teams[teamId],
usage
}
}
return {
...teams,
...update
}
}(teams, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_NAME:
return updateFieldOnTeam(teams, action.payload.teamId, "name", action.payload.name);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_URL:
return updateFieldOnTeam(teams, action.payload.teamId, "team_url", action.payload.url);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_USER_ID:
return updateFieldOnTeam(teams, action.payload.teamId, "id", action.payload.userId);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_TEAM_LOCALE:
return updateFieldOnTeam(teams, action.payload.teamId, "locale", action.payload.locale);
case _actions__WEBPACK_IMPORTED_MODULE_4__.e.READY:
return Object(_utils_url_utils__WEBPACK_IMPORTED_MODULE_6__.d)(teams, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.UPDATE_SESSION_STATUS:
return updateFieldOnTeam(teams, action.payload.teamId, "hasValidSession", action.payload.hasValidSession);
default:
return teams
}
}
const getInitialsOfTeam = Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)((team, maxLength = 2) => {
if (!team) return "";
const initials = [],
words = team.team_name.split(" ");
for (const word of words) word.length < 1 || initials.push([...word][0]);
return maxLength = initials.length < maxLength ? initials.length : maxLength, initials.slice(0, maxLength).join("")
});
function updateFieldOnTeam(teams, teamId, key, value) {
const team = teams[teamId];
return team ? {
...teams,
[teamId]: {
...team,
[key]: value
}
} : teams
}
function getTeams(store) {
return store.getState().teams
}
function getTeamById(store, teamId) {
return store.getState().teams[teamId]
}
}, function(module, exports, __webpack_require__) {
var fs = __webpack_require__(37),
polyfills = __webpack_require__(386),
legacy = __webpack_require__(387),
queue = [],
util = __webpack_require__(83);
var fs$close, fs$closeSync, debug = function noop() {};
function patch(fs) {
polyfills(fs), fs.gracefulify = patch, fs.FileReadStream = ReadStream, fs.FileWriteStream = WriteStream, fs.createReadStream = function createReadStream(path, options) {
return new ReadStream(path, options)
}, fs.createWriteStream = function createWriteStream(path, options) {
return new WriteStream(path, options)
};
var fs$readFile = fs.readFile;
fs.readFile = function readFile(path, options, cb) {
"function" == typeof options && (cb = options, options = null);
return function go$readFile(path, options, cb) {
return fs$readFile(path, options, function(err) {
!err || "EMFILE" !== err.code && "ENFILE" !== err.code ? ("function" == typeof cb && cb.apply(this, arguments), retry()) : enqueue([go$readFile, [path, options, cb]])
})
}(path, options, cb)
};
var fs$writeFile = fs.writeFile;
fs.writeFile = function writeFile(path, data, options, cb) {
"function" == typeof options && (cb = options, options = null);
return function go$writeFile(path, data, options, cb) {
return fs$writeFile(path, data, options, function(err) {
!err || "EMFILE" !== err.code && "ENFILE" !== err.code ? ("function" == typeof cb && cb.apply(this, arguments), retry()) : enqueue([go$writeFile, [path, data, options, cb]])
})
}(path, data, options, cb)
};
var fs$appendFile = fs.appendFile;
fs$appendFile && (fs.appendFile = function appendFile(path, data, options, cb) {
"function" == typeof options && (cb = options, options = null);
return function go$appendFile(path, data, options, cb) {
return fs$appendFile(path, data, options, function(err) {
!err || "EMFILE" !== err.code && "ENFILE" !== err.code ? ("function" == typeof cb && cb.apply(this, arguments), retry()) : enqueue([go$appendFile, [path, data, options, cb]])
})
}(path, data, options, cb)
});
var fs$readdir = fs.readdir;
function go$readdir(args) {
return fs$readdir.apply(fs, args)
}
if (fs.readdir = function readdir(path, options, cb) {
var args = [path];
"function" != typeof options ? args.push(options) : cb = options;
return args.push(function go$readdir$cb(err, files) {
files && files.sort && files.sort(), !err || "EMFILE" !== err.code && "ENFILE" !== err.code ? ("function" == typeof cb && cb.apply(this, arguments), retry()) : enqueue([go$readdir, [args]])
}), go$readdir(args)
}, "v0.8" === process.version.substr(0, 4)) {
var legStreams = legacy(fs);
ReadStream = legStreams.ReadStream, WriteStream = legStreams.WriteStream
}
var fs$ReadStream = fs.ReadStream;
ReadStream.prototype = Object.create(fs$ReadStream.prototype), ReadStream.prototype.open = function ReadStream$open() {
var that = this;
open(that.path, that.flags, that.mode, function(err, fd) {
err ? (that.autoClose && that.destroy(), that.emit("error", err)) : (that.fd = fd, that.emit("open", fd), that.read())
})
};
var fs$WriteStream = fs.WriteStream;
function ReadStream(path, options) {
return this instanceof ReadStream ? (fs$ReadStream.apply(this, arguments), this) : ReadStream.apply(Object.create(ReadStream.prototype), arguments)
}
function WriteStream(path, options) {
return this instanceof WriteStream ? (fs$WriteStream.apply(this, arguments), this) : WriteStream.apply(Object.create(WriteStream.prototype), arguments)
}
WriteStream.prototype = Object.create(fs$WriteStream.prototype), WriteStream.prototype.open = function WriteStream$open() {
var that = this;
open(that.path, that.flags, that.mode, function(err, fd) {
err ? (that.destroy(), that.emit("error", err)) : (that.fd = fd, that.emit("open", fd))
})
}, fs.ReadStream = ReadStream, fs.WriteStream = WriteStream;
var fs$open = fs.open;
function open(path, flags, mode, cb) {
return "function" == typeof mode && (cb = mode, mode = null),
function go$open(path, flags, mode, cb) {
return fs$open(path, flags, mode, function(err, fd) {
!err || "EMFILE" !== err.code && "ENFILE" !== err.code ? ("function" == typeof cb && cb.apply(this, arguments), retry()) : enqueue([go$open, [path, flags, mode, cb]])
})
}(path, flags, mode, cb)
}
return fs.open = open, fs
}
function enqueue(elem) {
debug("ENQUEUE", elem[0].name, elem[1]), queue.push(elem)
}
function retry() {
var elem = queue.shift();
elem && (debug("RETRY", elem[0].name, elem[1]), elem[0].apply(null, elem[1]))
}
util.debuglog ? debug = util.debuglog("gfs4") : /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && (debug = function() {
var m = util.format.apply(util, arguments);
m = "GFS4: " + m.split(/\n/).join("\nGFS4: "), console.error(m)
}), /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && process.on("exit", function() {
debug(queue), __webpack_require__(156).equal(queue.length, 0)
}), module.exports = patch(__webpack_require__(250)), process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && (module.exports = patch(fs)), module.exports.close = fs.close = (fs$close = fs.close, function(fd, cb) {
return fs$close.call(fs, fd, function(err) {
err || retry(), "function" == typeof cb && cb.apply(this, arguments)
})
}), module.exports.closeSync = fs.closeSync = (fs$closeSync = fs.closeSync, function(fd) {
var rval = fs$closeSync.apply(fs, arguments);
return retry(), rval
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(177),
freeSelf = "object" == typeof self && self && self.Object === Object && self,
root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__.a || freeSelf || Function("return this")();
__webpack_exports__.a = root
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return getKeyRedactor
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(602);
const getKeyRedactor = (keysToFilter, redactString = "[REDACTED]") => {
const filterSet = new Set(keysToFilter);
return obj => Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(obj, (val, key) => filterSet.has(key) ? redactString : val)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return getMainWindow
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getWindowOfType
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return getWindows
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getWindowOfWebappType
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return getWindowsForWorkspace
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(607),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(610),
_reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13);
const electron = __webpack_require__(2);
function getMainWindow(store) {
const mainWindow = getWindowOfType(store, _reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_2__.b.MAIN);
return mainWindow ? electron.remote.BrowserWindow.fromId(mainWindow.id) : null
}
function getWindowOfType(store, windowType) {
const windows = store.getState().windows,
foundKey = Object.keys(windows).find(key => windows[key].type === windowType);
return foundKey && windows[foundKey] || null
}
function getWindows(store, windowTypes) {
const windows = store.getState().windows;
return windowTypes ? Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(windows, ({
type
}) => windowTypes.includes(type)) : windows
}
function getWindowOfWebappType(store, webappType) {
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)(store.getState().windows, metadata => metadata.type === _reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_2__.b.WEBAPP && metadata.webappType === webappType)
}
function getWindowsForWorkspace(store, teamId = "") {
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(store.getState().windows, metadata => metadata.teamId === teamId)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "g", function() {
return upsertWebContents
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return SONIC_WEB_CONTENTS_ID
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getWebContents
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getWebContentsById
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return getWebContentsFromTeamId
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return getWebContentsIdFromTeamId
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(604),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(611),
lodash_es__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(610),
lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(614),
redux_act__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7),
_logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0),
_utils_key_redactor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33),
_environment_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8);
const historyRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_6__.a)(["history"]),
upsertWebContents = Object(redux_act__WEBPACK_IMPORTED_MODULE_4__.createAction)("UPSERT_WEB_CONTENTS", payload => payload, payload => ({
logPayload: historyRedactor(payload)
})),
removeWebContents = Object(redux_act__WEBPACK_IMPORTED_MODULE_4__.createAction)("REMOVE_WEB_CONTENTS"),
SONIC_WEB_CONTENTS_ID = "app",
reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_4__.createReducer)({
[upsertWebContents.getType()]: (state, info) => {
if (!info || !info.id && !info.teamId) return state;
const webContentsId = info.id ? info.id : (findWebContentsFromTeamId(state, info.teamId) || {
id: null
}).id;
if (!webContentsId) return _logger__WEBPACK_IMPORTED_MODULE_5__.logger.warn("upsertWebContents: Missing ID in action", {
payload: info
}), state;
const existingHistory = state[webContentsId] && state[webContentsId].history || [],
history = Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)([...existingHistory, ...info.history || []]);
return {
...state,
[webContentsId]: {
...state[webContentsId],
...info,
history,
id: webContentsId
}
}
},
[removeWebContents.getType()]: (state, {
id
}) => "number" != typeof id ? state : Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)(state, id)
}, {});
function getWebContents(store) {
return store.getState().webContents
}
function getWebContentsById(store, id) {
return getWebContents(store)[id]
}
function getWebContentsFromTeamId(store, teamId) {
const viewId = Object(_environment_reducer__WEBPACK_IMPORTED_MODULE_7__.b)(store) ? SONIC_WEB_CONTENTS_ID : teamId;
return findWebContentsFromTeamId(getWebContents(store), viewId)
}
function getWebContentsIdFromTeamId(store, teamId) {
const webContents = getWebContentsFromTeamId(store, teamId);
return webContents ? webContents.id : null
}
function findWebContentsFromTeamId(state, teamId) {
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__.a)(Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__.a)(state), info => info.teamId === teamId)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
var external_os_ = __webpack_require__(25),
Observable_ = __webpack_require__(5),
Subject_ = __webpack_require__(110),
semver = __webpack_require__(72),
logger = __webpack_require__(0),
native_interop = __webpack_require__(56),
parse_command_line = __webpack_require__(147),
is_flatpak = (__webpack_require__(285), __webpack_require__(239)),
is_snap = __webpack_require__(113);
__webpack_require__(286);
let windowSession, userAgent;
const setUserAgent = request => {
userAgent && request.setHeader("User-Agent", userAgent)
},
setCookies = request => new Promise((resolve, reject) => {
windowSession ? windowSession.cookies.get({}, (e, cookies) => {
e && reject(e), request.setHeader("Cookie", cookies.map(x => `${x.name}=${x.value}`).join("; ")), resolve()
}) : resolve()
});
var url_utils = __webpack_require__(24),
uuid = __webpack_require__(39);
__webpack_require__(121);
__webpack_require__.d(__webpack_exports__, "TelemetryEvent", function() {
return TelemetryEvent
}), __webpack_require__.d(__webpack_exports__, "track", function() {
return track
}), __webpack_require__.d(__webpack_exports__, "flushTelemetry", function() {
return flushTelemetry
});
const TELEMETRY_QUEUE_BUFFERTIME = 6e5,
MAX_URL_LENGTH = 1500,
REQUEST_TIMEOUT = 3e3;
var TelemetryEvent;
! function(TelemetryEvent) {
TelemetryEvent.DESKTOP_TEAM_SWITCH = "DESKTOP_TEAM_SWITCH", TelemetryEvent.DESKTOP_CLIENT_LAUNCH = "DESKTOP_CLIENT_LAUNCH", TelemetryEvent.DESKTOP_CRASH = "DESKTOP_CRASH", TelemetryEvent.DESKTOP_CLIENT_RELOAD = "DESKTOP_CLIENT_RELOAD", TelemetryEvent.DESKTOP_CLIENT_RESET = "DESKTOP_CLIENT_RESET", TelemetryEvent.DESKTOP_KEYCHAIN_DENIED = "DESKTOP_KEYCHAIN_DENIED", TelemetryEvent.DESKTOP_NOTIFICATION_RECEIVED = "DESKTOP_NOTIFICATION_RECEIVED", TelemetryEvent.DESKTOP_NOTIFICATION_SUCCESS = "DESKTOP_NOTIFICATION_SUCCESS", TelemetryEvent.DESKTOP_NOTIFICATION_ERROR = "DESKTOP_NOTIFICATION_ERROR", TelemetryEvent.DESKTOP_NOTIFICATION_CLICK = "DESKTOP_NOTIFICATION_CLICK", TelemetryEvent.DESKTOP_NOTIFICATION_REPLY = "DESKTOP_NOTIFICATION_REPLY", TelemetryEvent.DESKTOP_NOTIFICATION_ACTION = "DESKTOP_NOTIFICATION_ACTION", TelemetryEvent.DESKTOP_NOTIFICATION_DISMISSED = "DESKTOP_NOTIFICATION_DISMISSED", TelemetryEvent.DESKTOP_NOTIFICATION_FAILOVER = "DESKTOP_NOTIFICATION_FAILOVER", TelemetryEvent.DESKTOP_DEEPLINK_ACTIVATION = "DESKTOP_DEEPLINK_ACTIVATION", TelemetryEvent.DESKTOP_TILE_ACTIVITY = "DESKTOP_TILE_ACTIVITY", TelemetryEvent.DESKTOP_UPDATER_ERROR = "DESKTOP_UPDATER_ERROR", TelemetryEvent.DESKTOP_UPDATER_CHECKING = "DESKTOP_UPDATER_CHECKING", TelemetryEvent.DESKTOP_UPDATER_CHECK_UPDATE_FAILURE = "DESKTOP_UPDATER_CHECK_UPDATE_FAILURE", TelemetryEvent.DESKTOP_UPDATER_UPDATE_AVAILABLE = "DESKTOP_UPDATER_UPDATE_AVAILABLE", TelemetryEvent.DESKTOP_UPDATER_UPDATE_NOT_AVAILABLE = "DESKTOP_UPDATER_UPDATE_NOT_AVAILABLE", TelemetryEvent.DESKTOP_UPDATER_UPDATE_DOWNLOADED = "DESKTOP_UPDATER_UPDATE_DOWNLOADED", TelemetryEvent.DESKTOP_UPDATER_APPLY_UPDATE = "DESKTOP_UPDATER_APPLY_UPDATE", TelemetryEvent.DESKTOP_CLIENT_ZOOM_LEVEL = "DESKTOP_CLIENT_ZOOM_LEVEL", TelemetryEvent.DESKTOP_WINDOWS_UPDATE_START = "DESKTOP_WINDOWS_UPDATE_START", TelemetryEvent.DESKTOP_WINDOWS_UPDATE_COMPLETED = "DESKTOP_WINDOWS_UPDATE_COMPLETED", TelemetryEvent.DESKTOP_API_TEST_ERROR = "DESKTOP_API_TEST_ERROR", TelemetryEvent.DESKTOP_API_TEST_OFFLINE = "DESKTOP_API_TEST_OFFLINE", TelemetryEvent.DESKTOP_NAVIGATOR_CONNECTION = "DESKTOP_NAVIGATOR_CONNECTION", TelemetryEvent.DESKTOP_NAVIGATOR_ONLINE_BOGUS = "DESKTOP_NAVIGATOR_ONLINE_BOGUS", TelemetryEvent.DESKTOP_PROXY_INFO = "DESKTOP_PROXY_INFO"
}(TelemetryEvent || (TelemetryEvent = {}));
let releaseChannel = null;
const readReleaseChannel = () => {
if (releaseChannel) return releaseChannel;
try {
const {
getReleaseChannel
} = __webpack_require__(11), {
Store
} = __webpack_require__(3);
return releaseChannel = getReleaseChannel(Store)
} catch (error) {
logger.logger.error("Could not get release channel metadata", {
error
})
}
},
catchRequest = o => o.catch(error => (logger.logger.error("Telemetry: Failed to send telemetry request", {
error
}), Observable_.Observable.empty()));
const getOsVersionString = async () => {
if (process.mas) return {
os: external_os_.release(),
release: void 0
}; {
const {
major,
minor,
build
} = await native_interop.a.getOSVersion();
return {
os: `${major}.${minor}.${build}`,
release: void 0
}
}
}, getDistributionString = () => {
const {
isDevMode,
devEnv
} = Object(parse_command_line.a)();
return isDevMode || devEnv ? "dev" : process.windowsStore ? "winstore" : process.mas ? "mas" : Object(is_snap.a)() ? "Snap" : Object(is_flatpak.a)() ? "Flatpak" : "ddl"
};
const clogTelemetry = new class telemetry_ClogTelemetry {
constructor() {
this.endpoint = this.getTelemetryEndpoint(), this.initializeRequestQueue(), this.endpoint ? logger.logger.debug(`Endpoint used: ${this.endpoint}`) : logger.logger.debug("Telemetry: Telemetry will not be sent, log it instead")
}
track(event, args) {
const payload = {
tstamp: Date.now(),
event,
args: {
...args,
instanceUid: Object(uuid.getInstanceUuid)(),
sessionId: Object(uuid.getSessionId)(),
releaseChannel: readReleaseChannel()
}
};
this.queue.next(payload)
}
async flush() {
this.queue.complete(), await this.queueAwaiter, this.initializeRequestQueue()
}
createNetRequestFunction() {
const {
net
} = __webpack_require__(2);
return url => Observable_.Observable.create(observer => {
const request = net.request({
url,
method: "GET"
});
setUserAgent(request), setCookies(request).then(() => ((request, observer) => {
let timeoutId = setTimeout(() => {
observer.closed || (request.abort(), observer.error(new Error("telemetry request aborted due to timeout")))
}, REQUEST_TIMEOUT);
const clear = () => {
timeoutId && (clearTimeout(timeoutId), timeoutId = null)
};
["error", "abort", "close"].forEach(err => request.once(err, x => {
clear(), observer.error(x)
})), request.once("response", res => {
observer.next(res.statusCode), observer.complete(), clear()
}), request.end()
})(request, observer), error => logger.logger.error("Telemetry: Failed to set cookies", {
error
}))
}).let(catchRequest)
}
createRequestFunction() {
return this.endpoint ? url => Observable_.Observable.fromPromise(fetch(url, {
credentials: "include"
})).map(x => x.status).let(catchRequest) : url => Observable_.Observable.of(url).do(x => logger.logger.debug("Telemetry: Logged", decodeURIComponent(x))).ignoreElements()
}
initializeRequestQueue() {
const request = this.createRequestFunction();
this.queue = new Subject_.Subject;
const requestObservable = this.queue.bufferTime(TELEMETRY_QUEUE_BUFFERTIME).filter(x => x.length > 0).map(payloads => payloads.reduce((acc, value) => {
const lastPayloadArray = acc[acc.length - 1];
return encodeURIComponent(JSON.stringify(lastPayloadArray)).length < MAX_URL_LENGTH ? lastPayloadArray.push(value) : acc.push([value]), acc
}, [
[]
])).map(payloads => payloads.map(x => `${this.endpoint}${encodeURIComponent(JSON.stringify(x))}`)).do(x => {
x.length >= 50 && logger.logger.warn("Telemetry: too many events are queued in one buffer time, bail out some of them")
}).concatMap(urls => Observable_.Observable.from(urls.slice(0, 50)).concatMap(request)).publish().refCount();
this.queueAwaiter = requestObservable.toPromise(), requestObservable.subscribe(() => {}, e => logger.logger.error("Telemetry: Unexpected error occurred", e))
}
getTelemetryEndpoint() {
const {
isDevMode,
devEnv
} = Object(parse_command_line.a)();
return isDevMode && !devEnv ? "" : `${Object(url_utils.b)(devEnv)}/clog/track/?logs=`
}
},
telemetry = new class telemetry_Telemetry {
constructor() {
this.endpoint = this.getTelemetryEndpoint();
const commonHeaders = {
"X-Slack-Ses-Id": Object(uuid.getSessionId)(),
Accept: "application/json"
};
this.headers = {
...commonHeaders,
type: "text/plain; charset=UTF-8"
}
}
async track(event, args) {
const basePayload = await this.getBasePayload(),
payload = {
timestamp: Date.now(),
event,
...basePayload,
...args
}; {
const blob = new Blob([JSON.stringify(payload)], this.headers);
return navigator.sendBeacon(this.endpoint, blob)
}
}
requestMainProcessTelemetry(payload) {
const {
net
} = __webpack_require__(2), triggerRequest = (req, resolve, reject) => {
logger.logger.debug("Telemetry: trigger request for main process", {
payload,
url: this.endpoint
});
let timeoutId = setTimeout(() => {
req.abort(), reject(new Error("telemetry request aborted due to timeout"))
}, REQUEST_TIMEOUT);
const clear = cb => {
timeoutId && (clearTimeout(timeoutId), timeoutId = null), cb()
};
["error", "abort", "close"].forEach(err => req.once(err, x => clear(() => reject(x)))), req.once("response", res => clear(() => resolve(200 === res.statusCode))), req.write(JSON.stringify(payload)), req.end()
}, request = net.request({
url: this.endpoint,
method: "POST"
});
return Object.keys(this.headers).map(key => ({
key,
value: this.headers[key]
})).forEach(({
key,
value
}) => request.setHeader(key, value)), setUserAgent(request), new Promise((resolve, reject) => setCookies(request).then(() => triggerRequest(request, resolve, reject), error => reject(error)))
}
getTelemetryEndpoint() {
const {
devEnv
} = Object(parse_command_line.a)();
return `https://${devEnv?"dev.":""}slackb.com/events/honeycomb`
}
async getBasePayload() {
if (this.basePayload) return this.basePayload;
const osVersion = await getOsVersionString();
return this.basePayload = {
"id.instance": Object(uuid.getInstanceUuid)(),
"id.session": Object(uuid.getSessionId)(),
"version.full": "4.0.0",
"version.semver": `${semver.major("4.0.0")}.${semver.minor("4.0.0")}.${semver.patch("4.0.0")}`,
"version.prerelease": (semver.prerelease("4.0.0") || []).join("."),
"version.releaseChannel": readReleaseChannel(),
"system.osver": osVersion.os,
"system.osrelease": osVersion.release,
"system.platform": "darwin",
"system.dist": getDistributionString()
}
}
},
flushTelemetry = clogTelemetry.flush.bind(clogTelemetry),
track = (event, args = {}) => {
clogTelemetry.track(event, args), telemetry.track(event, args).catch(error => logger.logger.warn("Telemetry: failed to send telemetry", {
error
}))
}
}, function(module, exports) {
module.exports = require("fs")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var Symbol = __webpack_require__(32).a.Symbol;
__webpack_exports__.a = Symbol
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "getInstanceUuid", function() {
return getInstanceUuid
}), __webpack_require__.d(__webpack_exports__, "getSessionId", function() {
return getSessionId
});
var fs_extra__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(367),
_get_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23),
_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_require__(96), __webpack_require__(4));
const uuidLocation = _get_path__WEBPACK_IMPORTED_MODULE_2__.a `${"userData"}/${_utils_shared_constants__WEBPACK_IMPORTED_MODULE_5__.r}`,
getInstanceUuid = Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)(() => {
if (_logger__WEBPACK_IMPORTED_MODULE_3__.logger.debug("There is no memoized UUID, try to read from filesystem", {
uuidLocation
}), fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(uuidLocation)) try {
const fileContents = fs_extra__WEBPACK_IMPORTED_MODULE_0__.readFileSync(uuidLocation, "utf-8"),
uuid = Buffer.from(fileContents, "base64").toString("utf-8");
if (!uuid) throw new Error("Found empty uuidValue");
return _logger__WEBPACK_IMPORTED_MODULE_3__.logger.info("Read UUID from file successful", {
uuid
}), uuid
} catch (e) {
_logger__WEBPACK_IMPORTED_MODULE_3__.logger.warn("Failed to read UUID from stored location, generating new one", e)
} else _logger__WEBPACK_IMPORTED_MODULE_3__.logger.debug("Could not located UUID from location, generate new one");
const randomValues = new Array(16);
for (let i = 0, r = 0; i < 16; i++) 0 == (3 & i) && (r = 4294967296 * Math.random()), randomValues[i] = r >>> ((3 & i) << 3) & 255;
const uuidValue = __webpack_require__(478)(`${process.pid}-${(new Date).getTime()}`, randomValues);
_logger__WEBPACK_IMPORTED_MODULE_3__.logger.info("Generated uuid and stored", {
uuid: uuidValue
});
try {
fs_extra__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(uuidLocation, Buffer.from(uuidValue).toString("base64"))
} catch (e) {
_logger__WEBPACK_IMPORTED_MODULE_3__.logger.warn("Failed to write UUID into file", e)
}
return uuidValue
}),
getSessionId = Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)(() => {
{
const {
sessionId
} = __webpack_require__(12);
return sessionId
}
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _Symbol = __webpack_require__(38),
objectProto = Object.prototype,
_getRawTag_hasOwnProperty = objectProto.hasOwnProperty,
nativeObjectToString = objectProto.toString,
symToStringTag = _Symbol.a ? _Symbol.a.toStringTag : void 0;
var _getRawTag = function getRawTag(value) {
var isOwn = _getRawTag_hasOwnProperty.call(value, symToStringTag),
tag = value[symToStringTag];
try {
value[symToStringTag] = void 0;
var unmasked = !0
} catch (e) {}
var result = nativeObjectToString.call(value);
return unmasked && (isOwn ? value[symToStringTag] = tag : delete value[symToStringTag]), result
},
_objectToString_nativeObjectToString = Object.prototype.toString;
var _objectToString = function objectToString(value) {
return _objectToString_nativeObjectToString.call(value)
},
nullTag = "[object Null]",
undefinedTag = "[object Undefined]",
_baseGetTag_symToStringTag = _Symbol.a ? _Symbol.a.toStringTag : void 0;
__webpack_exports__.a = function baseGetTag(value) {
return null == value ? void 0 === value ? undefinedTag : nullTag : _baseGetTag_symToStringTag && _baseGetTag_symToStringTag in Object(value) ? _getRawTag(value) : _objectToString(value)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "Nothing", function() {
return r
}), __webpack_require__.d(__webpack_exports__, "toBool", function() {
return t
}), __webpack_require__.d(__webpack_exports__, "isNothing", function() {
return u
}), __webpack_require__.d(__webpack_exports__, "isSomething", function() {
return e
}), __webpack_require__.d(__webpack_exports__, "serialize", function() {
return o
}), __webpack_require__.d(__webpack_exports__, "deserialize", function() {
return i
});
var n, r = ((n = function() {
return r
}).toString = n.toLocaleString = n[Symbol.toPrimitive] = function() {
return ""
}, n.valueOf = function() {
return !1
}, new Proxy(Object.freeze(n), {
get: function(n, t) {
return n.hasOwnProperty(t) ? n[t] : r
}
})),
t = function(n) {
return !(!n || !n.valueOf())
},
u = function(n) {
return n === r
},
e = function(n) {
return !(n === r || null == n)
},
o = function(n) {
return JSON.stringify(n, function(n, t) {
return t === r ? null : t
})
},
i = function(n) {
return JSON.parse(n, function(n, t) {
return null === t ? r : t
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return eventActions
});
var redux_act__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7),
_lib_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3),
_reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13),
_utils_key_redactor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33),
___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1);
const contextMenuRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_3__.a)(["params"]),
openContextMenu = Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(___WEBPACK_IMPORTED_MODULE_4__.f.OPEN_CONTEXT_MENU, payload => payload, payload => ({
logPayload: contextMenuRedactor(payload)
}));
const eventActions = new class EventActions {
mainWindowFocused() {
Object(_reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_2__.o)(_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store, ({
id
}) => _lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch(Object(_reducers_windows_reducer__WEBPACK_IMPORTED_MODULE_2__.l)({
id,
frame: {
isFocused: !0
}
})))
}
foregroundApp() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.FOREGROUND_APP
})
}
handleSettingsLink(url) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.HANDLE_SETTINGS_LINK,
payload: {
url
}
})
}
handleDeepLink(url, causedLaunch = !1) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.HANDLE_DEEP_LINK,
payload: {
url,
causedLaunch
}
})
}
restartApp() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.RESTART_APP
})
}
quitApp() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.QUIT_APP
})
}
reload(everything = !1) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.RELOAD,
payload: {
everything
}
})
}
toggleFullScreen() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.TOGGLE_FULL_SCREEN
})
}
toggleDevTools(electronDevTools = !1) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.TOGGLE_DEV_TOOLS,
payload: electronDevTools
})
}
showSettingsEditor() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.SHOW_SETTINGS_EDITOR
})
}
showReleaseNotes() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.SHOW_RELEASE_NOTES
})
}
showWebappDialog(dialogType) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.SHOW_WEBAPP_DIALOG,
payload: {
dialogType
}
})
}
signOutTeam(teamId) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.SIGN_OUT_TEAM,
payload: {
teamId
}
})
}
refreshTeams(teamIds) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.REFRESH_TEAMS,
payload: {
teamIds
}
})
}
confirmAndResetApp() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.CONFIRM_AND_RESET_APP
})
}
clearCacheRestartApp() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.CLEAR_CACHE_RESTART_APP
})
}
prepareAndRevealLogs() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.PREPARE_AND_REVEAL_LOGS
})
}
unloadTeam(teamId) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.UNLOAD_TEAM,
payload: {
teamId
}
})
}
openTeamSidebarMenu(teamId, position, showAdvancedItems = !1) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.f.OPEN_TEAM_SIDEBAR_CONTEXT_MENU,
payload: {
teamId,
showAdvancedItems,
position
}
})
}
openContextMenu(webContentsId, params) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch(openContextMenu({
id: webContentsId,
params
}))
}
addWordToSpellCheckDictionary(word) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.f.ADD_WORD_TO_DICTIONARY,
payload: word
})
}
setContextMenuTemplate(menuTemplate, menuId, contextMenuChannel, overrideDefaultMenu) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.f.SET_CONTEXT_MENU_TEMPLATE,
payload: {
menuTemplate,
menuId,
contextMenuChannel,
overrideDefaultMenu
}
})
}
pinTeamToStart(teamId, teamName) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.PREPARE_PIN_TEAM_TO_START,
payload: {
teamId,
teamName
}
})
}
unpinTeamFromStart(teamId) {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.UNPIN_TEAM_FROM_START,
payload: {
teamId
}
})
}
restartWithNetLog() {
_lib_store__WEBPACK_IMPORTED_MODULE_1__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_4__.d.RESTART_WITH_NET_LOG
})
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(124),
_isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(128);
__webpack_exports__.a = function isArrayLike(value) {
return null != value && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__.a)(value.length) && !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__.a)(value)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _Stack = __webpack_require__(80),
_baseIsEqual = __webpack_require__(143),
COMPARE_PARTIAL_FLAG = 1,
COMPARE_UNORDERED_FLAG = 2;
var _baseIsMatch = function baseIsMatch(object, source, matchData, customizer) {
var index = matchData.length,
length = index,
noCustomizer = !customizer;
if (null == object) return !length;
for (object = Object(object); index--;) {
var data = matchData[index];
if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) return !1
}
for (; ++index < length;) {
var key = (data = matchData[index])[0],
objValue = object[key],
srcValue = data[1];
if (noCustomizer && data[2]) {
if (void 0 === objValue && !(key in object)) return !1
} else {
var stack = new _Stack.a;
if (customizer) var result = customizer(objValue, srcValue, key, object, source, stack);
if (!(void 0 === result ? Object(_baseIsEqual.a)(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) return !1
}
}
return !0
},
isObject = __webpack_require__(63);
var _isStrictComparable = function isStrictComparable(value) {
return value == value && !Object(isObject.a)(value)
},
keys = __webpack_require__(49);
var _getMatchData = function getMatchData(object) {
for (var result = Object(keys.a)(object), length = result.length; length--;) {
var key = result[length],
value = object[key];
result[length] = [key, value, _isStrictComparable(value)]
}
return result
};
var _matchesStrictComparable = function matchesStrictComparable(key, srcValue) {
return function(object) {
return null != object && object[key] === srcValue && (void 0 !== srcValue || key in Object(object))
}
};
var _baseMatches = function baseMatches(source) {
var matchData = _getMatchData(source);
return 1 == matchData.length && matchData[0][2] ? _matchesStrictComparable(matchData[0][0], matchData[0][1]) : function(object) {
return object === source || _baseIsMatch(object, source, matchData)
}
},
get = __webpack_require__(368),
hasIn = __webpack_require__(207),
_isKey = __webpack_require__(126),
_toKey = __webpack_require__(66),
_baseMatchesProperty_COMPARE_PARTIAL_FLAG = 1,
_baseMatchesProperty_COMPARE_UNORDERED_FLAG = 2;
var _baseMatchesProperty = function baseMatchesProperty(path, srcValue) {
return Object(_isKey.a)(path) && _isStrictComparable(srcValue) ? _matchesStrictComparable(Object(_toKey.a)(path), srcValue) : function(object) {
var objValue = Object(get.a)(object, path);
return void 0 === objValue && objValue === srcValue ? Object(hasIn.a)(object, path) : Object(_baseIsEqual.a)(srcValue, objValue, _baseMatchesProperty_COMPARE_PARTIAL_FLAG | _baseMatchesProperty_COMPARE_UNORDERED_FLAG)
}
},
identity = __webpack_require__(73),
isArray = __webpack_require__(22);
var _baseProperty = function baseProperty(key) {
return function(object) {
return null == object ? void 0 : object[key]
}
},
_baseGet = __webpack_require__(97);
var _basePropertyDeep = function basePropertyDeep(path) {
return function(object) {
return Object(_baseGet.a)(object, path)
}
};
var lodash_es_property = function property(path) {
return Object(_isKey.a)(path) ? _baseProperty(Object(_toKey.a)(path)) : _basePropertyDeep(path)
};
__webpack_exports__.a = function baseIteratee(value) {
return "function" == typeof value ? value : null == value ? identity.a : "object" == typeof value ? Object(isArray.a)(value) ? _baseMatchesProperty(value[0], value[1]) : _baseMatches(value) : lodash_es_property(value)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return getCurrentWindow
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return authCookieChanged
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return promiseToStateChange
});
var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2),
_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
const {
BrowserWindow
} = electron__WEBPACK_IMPORTED_MODULE_0__.remote;
function getCurrentWindow() {
return BrowserWindow.fromId(global.browserWindowId)
}
const AUTH_COOKIE_NAME = "lc",
DEV_ENVIRONMENT_POSTFIX = "-dev";
function authCookieChanged(devEnv) {
return new Promise(resolve => {
const defaultSession = electron__WEBPACK_IMPORTED_MODULE_0__.remote.session.defaultSession;
if (!defaultSession) return _logger__WEBPACK_IMPORTED_MODULE_1__.logger.error("Cookies: Could not find defaultSession"), resolve(!1);
const onCookieChanged = (_event, cookie, _cause, removed) => {
if (removed) return;
const authCookieName = devEnv && devEnv.startsWith("dev") ? `${AUTH_COOKIE_NAME}${DEV_ENVIRONMENT_POSTFIX}` : AUTH_COOKIE_NAME;
cookie && cookie.domain && cookie.domain.endsWith(".slack.com") && cookie.name === authCookieName && (defaultSession.cookies.removeListener("changed", onCookieChanged), resolve(!0))
};
defaultSession.cookies.addListener("changed", onCookieChanged), window.addEventListener("beforeunload", () => {
defaultSession.cookies.removeListener("changed", onCookieChanged)
})
})
}
function promiseToStateChange(store, selector, timeout) {
return new Promise((resolve, reject) => {
let prevState = selector(store.getState());
const unsubscribe = store.subscribe(() => {
const currentState = selector(store.getState());
prevState !== currentState ? (unsubscribe(), resolve(currentState)) : prevState = currentState
});
timeout && setTimeout(() => {
unsubscribe(), reject(new Error(`No store change in ${timeout}ms`))
}, timeout)
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function arrayMap(array, iteratee) {
for (var index = -1, length = null == array ? 0 : array.length, result = Array(length); ++index < length;) result[index] = iteratee(array[index], index, array);
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var omit = __webpack_require__(611),
isEmpty = __webpack_require__(606),
_baseFlatten = __webpack_require__(79),
_arrayMap = __webpack_require__(46),
_baseIteratee = __webpack_require__(44),
_baseMap = __webpack_require__(192),
isArray = __webpack_require__(22);
var lodash_es_map = function map(collection, iteratee) {
return (Object(isArray.a)(collection) ? _arrayMap.a : _baseMap.a)(collection, Object(_baseIteratee.a)(iteratee, 3))
};
var lodash_es_flatMap = function flatMap(collection, iteratee) {
return Object(_baseFlatten.a)(lodash_es_map(collection, iteratee), 1)
},
lib = __webpack_require__(7),
logger = __webpack_require__(0),
key_redactor = __webpack_require__(33);
__webpack_require__.d(__webpack_exports__, "e", function() {
return startDownload
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return updateDownload
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return removeDownloads
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getDownloadByKey
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getDownloadsToClear
});
const downloadRedactor = Object(key_redactor.a)(["url", "downloadPath"]),
startDownload = Object(lib.createAction)("START_DOWNLOAD", p => p, p => ({
logPayload: downloadRedactor(p)
})),
updateDownload = Object(lib.createAction)("UPDATE_DOWNLOAD", p => p, p => ({
logPayload: downloadRedactor(p)
})),
removeDownloads = Object(lib.createAction)("REMOVE_DOWNLOADS"),
reduce = Object(lib.createReducer)({
[startDownload.getType()]: (state, download) => {
if (!(download && download.id && download.teamId && download.url)) return logger.logger.warn("DownloadsReducer: Received a bad start action", Object(omit.a)(download, "url")), state;
const prevDownload = state[download.teamId] && state[download.teamId][download.id] || {};
return {
...state,
[download.teamId]: {
...state[download.teamId],
[download.id]: {
...prevDownload,
...download,
downloadState: "not_started",
startTime: Date.now(),
progress: 0
}
}
}
},
[updateDownload.getType()]: (state, {
id,
teamId,
...newProps
}) => state[teamId] && state[teamId][id] ? {
...state,
[teamId]: {
...state[teamId],
[id]: {
...state[teamId][id],
...newProps
}
}
} : state,
[removeDownloads.getType()]: (state, keys) => Object.keys(state).reduce((newState, stateTeamId) => {
const idsToRemove = keys.filter(({
teamId
}) => teamId === stateTeamId).map(({
id
}) => id),
teamDownloads = Object(omit.a)(state[stateTeamId], idsToRemove);
return Object(isEmpty.a)(teamDownloads) || (newState[stateTeamId] = teamDownloads), newState
}, {})
}, {});
function getDownloads(store) {
return store.getState().downloads
}
function getDownloadByKey(store, {
id,
teamId
}) {
return function getDownloadsForTeam(store, teamId) {
return getDownloads(store)[teamId] || {}
}(store, teamId)[id]
}
function getDownloadsToClear(store, teamId) {
return function getAllDownloads(store) {
return lodash_es_flatMap(getDownloads(store), downloadsPerTeam => lodash_es_flatMap(downloadsPerTeam))
}(store).filter(download => download.teamId === teamId && !!download.downloadState && "progressing" !== download.downloadState)
}
}, function(module, exports, __webpack_require__) {
"use strict";
function isObject(input) {
return "object" == typeof input && null !== input
}
function isDefined(input) {
return void 0 !== input
}
function isFunction(input) {
return "function" == typeof input
}
exports.isNumber = function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n)
}, exports.isString = function isString(input) {
return "string" == typeof input
}, exports.isBoolean = function isBoolean(input) {
return "boolean" == typeof input
}, exports.isPlainObject = function isPlainObject(input) {
return null !== input && "object" == typeof input && input.constructor === Object
}, exports.isArrayLike = function isArrayLike(input) {
return isObject(input) && "number" == typeof input.length
}, exports.isObject = isObject, exports.isDefined = isDefined, exports.isFunction = isFunction, exports.isClass = function isClass(input) {
return !!isFunction(input) && /^class /.test(Function.prototype.toString.call(input))
}, exports.isPrimitive = function isPrimitive(input) {
if (null === input) return !0;
switch (typeof input) {
case "string":
case "number":
case "symbol":
case "undefined":
case "boolean":
return !0;
default:
return !1
}
}, exports.isPromise = function isPromise(input) {
if (input) {
var isPromise = isDefined(Promise) && input instanceof Promise,
isThenable = input.then && "function" == typeof input.then;
return !(!isPromise && !isThenable)
}
return !1
}, exports.isIterable = function isIterable(input) {
return !(null === input || !isDefined(input)) && "function" == typeof input[Symbol.iterator]
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(209),
_baseKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(210),
_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43);
__webpack_exports__.a = function keys(object) {
return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__.a)(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__.a)(object) : Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_1__.a)(object)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(127),
_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99);
__webpack_exports__.a = function copyObject(source, props, object, customizer) {
var isNew = !object;
object || (object = {});
for (var index = -1, length = props.length; ++index < length;) {
var key = props[index],
newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
void 0 === newValue && (newValue = source[key]), isNew ? Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__.a)(object, key, newValue) : Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, key, newValue)
}
return object
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var uid, isFunction = __webpack_require__(124),
_coreJsData = __webpack_require__(32).a["__core-js_shared__"],
maskSrcKey = (uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || "")) ? "Symbol(src)_1." + uid : "";
var _isMasked = function isMasked(func) {
return !!maskSrcKey && maskSrcKey in func
},
isObject = __webpack_require__(63),
_toSource = __webpack_require__(92),
reIsHostCtor = /^\[object .+?Constructor\]$/,
funcProto = Function.prototype,
objectProto = Object.prototype,
funcToString = funcProto.toString,
_baseIsNative_hasOwnProperty = objectProto.hasOwnProperty,
reIsNative = RegExp("^" + funcToString.call(_baseIsNative_hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
var _baseIsNative = function baseIsNative(value) {
return !(!Object(isObject.a)(value) || _isMasked(value)) && (Object(isFunction.a)(value) ? reIsNative : reIsHostCtor).test(Object(_toSource.a)(value))
};
var _getValue = function getValue(object, key) {
return null == object ? void 0 : object[key]
};
__webpack_exports__.a = function getNative(object, key) {
var value = _getValue(object, key);
return _baseIsNative(value) ? value : void 0
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var SignInProgress, noop = __webpack_require__(471),
lib = __webpack_require__(7),
actions = __webpack_require__(1);
! function(SignInProgress) {
SignInProgress.NOT_STARTED = "not-started", SignInProgress.IN_PROGRESS = "in-progress", SignInProgress.COMPLETED = "completed", SignInProgress.CANCELED = "canceled"
}(SignInProgress || (SignInProgress = {}));
var IdleStatus, shared_constants = __webpack_require__(4),
background_clients_reducer = __webpack_require__(17);
__webpack_require__.d(__webpack_exports__, "e", function() {
return setNetLogStatus
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return updateDragRegion
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getNetworkStatus
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return isMachineAwake
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getNetLogStatus
}),
function(IdleStatus) {
IdleStatus.ACTIVE = "active", IdleStatus.IDLE_TASKBAR = "idle_taskbar", IdleStatus.IDLE_PRESENCE = "idle_presence", IdleStatus.UNKNOWN = "unknown"
}(IdleStatus || (IdleStatus = {}));
const initialState = {
signInProgress: SignInProgress.NOT_STARTED,
networkStatus: shared_constants.j.ONLINE,
systemIdleStatus: IdleStatus.ACTIVE,
systemLockedStatus: !1,
updateStatus: shared_constants.s.NONE,
updateInfo: null,
customMenuItems: null,
isMachineAwake: !0,
isMainWindowReady: !1,
backgroundClientsInitialized: !1,
areDevToolsOpen: !1,
dragRegions: [],
lastError: null,
netLogStatus: !1,
isQuitting: !1
},
setNetLogStatus = Object(lib.createAction)(actions.a.SET_NET_LOG_STATUS),
updateDragRegion = (Object(lib.createAction)(actions.a.SET_SYSTEM_IDLE), Object(lib.createAction)(actions.a.SET_SYSTEM_LOCKED), Object(lib.createAction)(actions.a.TICKLE_MESSAGE_SERVER, noop.a, () => ({
omitFromLog: !0
})), Object(lib.createAction)(actions.a.SIGN_IN_PROGRESS), Object(lib.createAction)(actions.a.SIGN_IN_COMPLETE), Object(lib.createAction)(actions.a.SIGN_IN_CANCELED), Object(lib.createAction)(actions.a.DISPLAY_ADDED), Object(lib.createAction)(actions.a.DISPLAY_REMOVED), Object(lib.createAction)(actions.a.DISPLAY_METRICS_CHANGED), Object(lib.createAction)(actions.a.POWER_RESUMED), Object(lib.createAction)(actions.a.UPDATE_DRAG_REGION, payload => payload, () => ({
omitFromLog: !0
})));
function reduce(state = initialState, action) {
switch (action.type) {
case actions.a.SET_SUSPEND_STATUS:
return {
...state, isMachineAwake: action.payload
};
case actions.a.SET_NETWORK_STATUS:
return function setNetworkStatus(state, networkStatus, lastError) {
return {
...state,
networkStatus,
lastError: lastError || state.lastError
}
}(state, action.payload, action.meta);
case actions.a.SET_UPDATE_STATUS:
return function setUpdateStatus(state, updateStatus, updateInfo) {
return {
...state,
updateStatus,
updateInfo
}
}(state, action.payload, action.meta && action.meta.updateInfo || null);
case actions.a.SET_SYSTEM_IDLE:
return {
...state, systemIdleStatus: action.payload
};
case actions.a.SET_SYSTEM_LOCKED:
return {
...state, systemLockedStatus: action.payload
};
case actions.a.SET_CUSTOM_MENU_ITEMS:
return function addMenuItemsForTeam(state, newItems, teamId) {
return {
...state,
customMenuItems: {
...state.customMenuItems,
[teamId]: newItems
}
}
}(state, action.payload.customItems, action.payload.teamId);
case actions.a.MARK_DEVTOOLS_STATE:
return {
...state, areDevToolsOpen: action.payload
};
case actions.a.UPDATE_DRAG_REGION:
return function handleUpdateDragRegion(state, region) {
const newRegions = Array.isArray(region) ? region : [...state.dragRegions.filter(r => r.id !== region.id), region];
return {
...state,
dragRegions: newRegions
}
}(state, action.payload.region);
case actions.d.MAIN_WINDOW_SHOWN:
return {
...state, isMainWindowReady: !0
};
case background_clients_reducer.c.getType():
return {
...state, backgroundClientsInitialized: action.payload
};
case actions.a.SET_NET_LOG_STATUS:
return {
...state, netLogStatus: action.payload
};
case actions.c.SHOW_LOGIN_DIALOG:
return {
...state, signInProgress: SignInProgress.IN_PROGRESS
};
case actions.a.SIGN_IN_PROGRESS:
return {
...state, signInURL: action.payload, signInProgress: SignInProgress.IN_PROGRESS
};
case actions.a.SIGN_IN_COMPLETE:
return {
...state, signInURL: void 0, signInProgress: SignInProgress.COMPLETED
};
case actions.a.SIGN_IN_CANCELED:
return {
...state, signInProgress: SignInProgress.CANCELED
};
case actions.d.QUIT_APP:
return {
...state, isQuitting: !0
};
default:
return state
}
}
function getNetworkStatus(store) {
return store.getState().app.networkStatus
}
function isMachineAwake(store) {
return store.getState().app.isMachineAwake
}
function getNetLogStatus(store) {
return store.getState().app.netLogStatus
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
function defaultEqualityCheck(a, b) {
return a === b
}
__webpack_require__.d(__webpack_exports__, "a", function() {
return createSelector
});
var createSelector = function createSelectorCreator(memoize) {
for (var _len = arguments.length, memoizeOptions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) memoizeOptions[_key - 1] = arguments[_key];
return function() {
for (var _len2 = arguments.length, funcs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) funcs[_key2] = arguments[_key2];
var recomputations = 0,
resultFunc = funcs.pop(),
dependencies = function getDependencies(funcs) {
var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
if (!dependencies.every(function(dep) {
return "function" == typeof dep
})) {
var dependencyTypes = dependencies.map(function(dep) {
return typeof dep
}).join(", ");
throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: [" + dependencyTypes + "]")
}
return dependencies
}(funcs),
memoizedResultFunc = memoize.apply(void 0, [function() {
return recomputations++, resultFunc.apply(null, arguments)
}].concat(memoizeOptions)),
selector = memoize(function() {
for (var params = [], length = dependencies.length, i = 0; i < length; i++) params.push(dependencies[i].apply(null, arguments));
return memoizedResultFunc.apply(null, params)
});
return selector.resultFunc = resultFunc, selector.dependencies = dependencies, selector.recomputations = function() {
return recomputations
}, selector.resetRecomputations = function() {
return recomputations = 0
}, selector
}
}(function defaultMemoize(func) {
var equalityCheck = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : defaultEqualityCheck,
lastArgs = null,
lastResult = null;
return function() {
return function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
if (null === prev || null === next || prev.length !== next.length) return !1;
for (var length = prev.length, i = 0; i < length; i++)
if (!equalityCheck(prev[i], next[i])) return !1;
return !0
}(equalityCheck, lastArgs, arguments) || (lastResult = func.apply(null, arguments)), lastArgs = arguments, lastResult
}
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "e", function() {
return setupKeyDownHandlers
}), __webpack_require__.d(__webpack_exports__, "f", function() {
return setupKeyUpHandlers
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return setupDoubleClickHandler
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return canAccessLocalStorage
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return disableDesktopIntegration
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return patchDocumentFocus
});
var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2),
nothing_mock__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_require__(169), __webpack_require__(41)),
rxjs_Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5),
_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1),
_actions_app_teams_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81),
_actions_setting_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(116),
_lib_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3),
_logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(0),
_reducers_app_teams_reducer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(18),
_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8),
_renderer_preload_environment__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(12),
_helpers__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(45);
const {
systemPreferences
} = electron__WEBPACK_IMPORTED_MODULE_0__.remote, invalidEventTargetHeader = ["#search_container", "#topic_inline_edit"], KeyCodes = {
Esc: 27,
Zero: 48,
One: 49,
Nine: 57,
V: 86,
NumOne: 97,
NumNine: 105,
Equals: 187,
Dash: 189
};
function keyCodeInRange({
keyCode
}, min, max) {
return keyCode >= min && keyCode <= max
}
function setupKeyDownHandlers() {
document.body.addEventListener("keydown", e => {
Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_10__.b)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store) || function switchTeamsByIndex(e) {
const numberOfTeams = Object(_reducers_app_teams_reducer__WEBPACK_IMPORTED_MODULE_9__.a)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store);
if (!e.shiftKey && e.metaKey && numberOfTeams > 0) {
const isNumberKey = keyCodeInRange(e, KeyCodes.One, KeyCodes.Nine),
isNumPadKey = keyCodeInRange(e, KeyCodes.NumOne, KeyCodes.NumNine);
if (isNumberKey || isNumPadKey) {
e.preventDefault();
const index = e.keyCode - (isNumberKey ? KeyCodes.One : KeyCodes.NumOne);
numberOfTeams > index && _actions_app_teams_actions__WEBPACK_IMPORTED_MODULE_5__.a.selectTeamByIndex(index)
}
}
}(e), e.keyCode !== KeyCodes.Dash || e.shiftKey || e.altKey || !e.ctrlKey && !e.metaKey || (e.preventDefault(), _actions_setting_actions__WEBPACK_IMPORTED_MODULE_6__.settingActions.zoomOut()), e.keyCode !== KeyCodes.Equals || e.shiftKey || e.altKey || !e.ctrlKey && !e.metaKey || (e.preventDefault(), _actions_setting_actions__WEBPACK_IMPORTED_MODULE_6__.settingActions.zoomIn()), e.keyCode !== KeyCodes.Zero || e.shiftKey || e.altKey || !e.ctrlKey || (e.preventDefault(), _actions_setting_actions__WEBPACK_IMPORTED_MODULE_6__.settingActions.resetZoom())
}, !0), Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_10__.c)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store) && !Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_10__.b)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store) && function listenToAltPress() {
const keyDown = rxjs_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable.fromEvent(document, "keydown", e => e.keyCode),
keyUp = rxjs_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable.fromEvent(document, "keyup", e => e.keyCode),
altDown = keyDown.filter(x => 18 === x),
shiftDown = keyDown.filter(x => 16 === x),
altUp = keyUp.filter(x => 18 === x),
debouncedAltDown = altDown.take(1).concat(rxjs_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable.timer(1e4)).takeUntil(altUp).repeat(),
keyUpOrMouseClick = rxjs_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable.merge(keyUp, shiftDown, rxjs_Observable__WEBPACK_IMPORTED_MODULE_3__.Observable.fromEvent(document, "mousedown", {
capture: !0
}, () => 0));
return debouncedAltDown.switchMap(() => keyUpOrMouseClick.filter(x => 18 !== x).takeUntil(altUp).reduce((acc, x) => (acc.push(x), acc), [])).filter(x => 0 === x.length).map(() => !0)
}().subscribe(() => {
_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store.dispatch({
type: _actions__WEBPACK_IMPORTED_MODULE_4__.f.POPUP_APP_MENU,
payload: {
invokedViaKeyboard: !0
}
})
})
}
function setupKeyUpHandlers() {
Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_10__.b)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store) || document.body.addEventListener("keyup", e => {
switch (e.key) {
case "Tab":
e.ctrlKey && (e.shiftKey ? _actions_app_teams_actions__WEBPACK_IMPORTED_MODULE_5__.a.selectPreviousTeam() : _actions_app_teams_actions__WEBPACK_IMPORTED_MODULE_5__.a.selectNextTeam())
}
}, !0)
}
function setupDoubleClickHandler() {
let channelHeader = null;
const invalidEventElements = {};
window.addEventListener("dblclick", event => {
const actionOnDoubleClick = systemPreferences.getUserDefault("AppleActionOnDoubleClick", "string");
if (!((channelHeader = channelHeader || document.querySelector("#client_header")) && channelHeader.contains(event.target)) || function isEventInvalid(elements, event) {
return invalidEventTargetHeader.reduce((acc, id) => {
let target = elements[id];
return target || (elements[id] = target = document.querySelector(id)), target && target.contains(event.target) || acc
}, !1)
}(invalidEventElements, event)) return;
const mainWindow = Object(_helpers__WEBPACK_IMPORTED_MODULE_12__.b)();
switch (actionOnDoubleClick) {
case "Maximize":
default:
mainWindow.isMaximized() ? mainWindow.unmaximize() : mainWindow.maximize();
break;
case "Minimize":
mainWindow.minimize();
break;
case "None":
}
}, !0)
}
function canAccessLocalStorage() {
return "data:" !== window.location.protocol && "about:" !== window.location.protocol && "chrome-error:" !== window.location.protocol
}
function disableDesktopIntegration(keys) {
window.desktop ? _logger__WEBPACK_IMPORTED_MODULE_8__.logger.info("Window is unloading, window.desktop is no longer accessible") : window.desktop = {}, (keys || Object.keys(window.desktop).filter(key => "calls" !== key)).forEach(key => {
window.desktop[key] = nothing_mock__WEBPACK_IMPORTED_MODULE_2__.Nothing
})
}
function patchDocumentFocus() {
if (Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_10__.b)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store)) return;
const hasFocus = window.document.hasFocus;
document.hasFocus = function() {
try {
const currentBrowserWindow = Object(_helpers__WEBPACK_IMPORTED_MODULE_12__.b)();
return hasFocus.call(document) && currentBrowserWindow && currentBrowserWindow.isFocused() && _renderer_preload_environment__WEBPACK_IMPORTED_MODULE_11__.preloadEnv.teamId === Object(_reducers_app_teams_reducer__WEBPACK_IMPORTED_MODULE_9__.c)(_lib_store__WEBPACK_IMPORTED_MODULE_7__.Store)
} catch (error) {
return _logger__WEBPACK_IMPORTED_MODULE_8__.logger.error("hasFocus replacement hit an error", {
error
}), !1
}
}.bind(document)
}
}, function(module, exports, __webpack_require__) {
"use strict";
exports.fromCallback = function(fn) {
return Object.defineProperty(function() {
if ("function" != typeof arguments[arguments.length - 1]) return new Promise((resolve, reject) => {
arguments[arguments.length] = (err, res) => {
if (err) return reject(err);
resolve(res)
}, arguments.length++, fn.apply(this, arguments)
});
fn.apply(this, arguments)
}, "name", {
value: fn.name
})
}, exports.fromPromise = function(fn) {
return Object.defineProperty(function() {
const cb = arguments[arguments.length - 1];
if ("function" != typeof cb) return fn.apply(this, arguments);
fn.apply(this, arguments).then(r => cb(null, r), cb)
}, "name", {
value: fn.name
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return nativeInterop
});
var fs_extra__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9),
os__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25),
path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6),
_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0),
_utils_spawn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(187);
let win10OrHigher = null;
const interops = {
win32: {
getOSVersion: passedRelease => {
const result = (passedRelease || os__WEBPACK_IMPORTED_MODULE_1__.release() || "").match(/(\d{1,2})\.(\d{1,2})\.(\d{1,6})/);
return (!result || result.length < 4) && _logger__WEBPACK_IMPORTED_MODULE_3__.logger.error("Tried to query the OS version, but failed. Data might be incomplete."), {
major: result && result[1] ? result[1] : null,
minor: result && result[2] ? result[2] : null,
build: result && result[3] ? result[3] : null
}
},
is64BitOperatingSystem: () => {
if ("x64" === process.arch) return !0;
let sysRoot = "C:\\Windows";
return fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(process.env.SYSTEMROOT || "C:\\__nothere__") && (sysRoot = process.env.SYSTEMROOT), fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(path__WEBPACK_IMPORTED_MODULE_2__.join(sysRoot, "sysnative"))
},
isWindows10OrHigher: () => {
if (win10OrHigher || !1 === win10OrHigher) return win10OrHigher;
const osVersion = interops.win32.getOSVersion();
if (osVersion && osVersion.major) win10OrHigher = parseInt(osVersion.major, 10) >= 10;
else {
let sysRoot = "C:\\Windows";
fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(process.env.SYSTEMROOT || "C:\\__nothere__") && (sysRoot = process.env.SYSTEMROOT);
const is64BitOS = fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(path__WEBPACK_IMPORTED_MODULE_2__.join(sysRoot, "sysnative"));
win10OrHigher = fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(path__WEBPACK_IMPORTED_MODULE_2__.join(sysRoot, is64BitOS ? "SysNative" : "System32", "win32kbase.sys"))
}
return win10OrHigher
},
isWindows7: () => {
const osVersion = interops.win32.getOSVersion();
return !(!osVersion || !osVersion.major || "6" !== osVersion.major || "1" !== osVersion.minor)
}
},
darwin: {
getOSVersion: async () => {
let macOSVersion;
try {
macOSVersion = await Object(_utils_spawn__WEBPACK_IMPORTED_MODULE_4__.a)("sw_vers", ["-productVersion"])
} catch (e) {
_logger__WEBPACK_IMPORTED_MODULE_3__.logger.error(e), macOSVersion = "0.0.0"
}
const [major, minor, build] = macOSVersion.split(".").map(v => v.trim());
return {
major,
minor: minor || "0",
build: build || "0"
}
},
is64BitOperatingSystem: () => !0,
isWindows10OrHigher: () => !1,
isWindows7: () => !1
},
linux: {
is64BitOperatingSystem: () => "x64" === process.arch,
isWindows10OrHigher: () => !1,
isWindows7: () => !1
}
},
nativeInterop = interops.darwin
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return localSettings
});
var fs_extra__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9),
write_file_atomic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(372),
_get_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23);
const localSettings = new class LocalStorage {
constructor(storagePath) {
if (this._length = 0, this.storagePath = storagePath || _get_path__WEBPACK_IMPORTED_MODULE_2__.a `${"userData"}/local-settings.json`, console.info(`Initializing local storage instance at path: ${this.storagePath}`), fs_extra__WEBPACK_IMPORTED_MODULE_0__.existsSync(this.storagePath)) try {
this.data = JSON.parse(fs_extra__WEBPACK_IMPORTED_MODULE_0__.readFileSync(this.storagePath, "utf-8"))
} catch (err) {
console.error(`Couldn't load ${this.storagePath}: ${err.message}`), this.data = {}
} else this.data = {}
}
get length() {
return this._length
}
getItem(key) {
return this.data[key]
}
key(index) {
return Object.keys(this.data)[index]
}
removeItem(key) {
delete this.data[key], this._length = Object.keys(this.data).length, this.save()
}
clear() {
this.data = {}, this._length = 0, this.save()
}
setItem(key, value) {
this.data[key] = value, this._length = Object.keys(this.data).length, this.save()
}
save() {
try {
Object(write_file_atomic__WEBPACK_IMPORTED_MODULE_1__.sync)(this.storagePath, JSON.stringify(this.data))
} catch (e) {
console.error(`Couldn't save to ${this.storagePath}: ${e.message}`)
}
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return SpellCheckerVersion
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getSpellCheckerVersion
});
var SpellCheckerVersion, _browser_local_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57),
_inject_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(140),
_storage_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77);
! function(SpellCheckerVersion) {
SpellCheckerVersion.V1 = "V1", SpellCheckerVersion.V2 = "V2", SpellCheckerVersion.V2_5 = "V2.5", SpellCheckerVersion.V3 = "V3"
}(SpellCheckerVersion || (SpellCheckerVersion = {}));
const spellCheckerVersion = Object(_inject_factory__WEBPACK_IMPORTED_MODULE_1__.a)(() => ({})),
getSpellCheckerVersion = () => {
if (_storage_constants__WEBPACK_IMPORTED_MODULE_2__.a) return SpellCheckerVersion.V1;
if (spellCheckerVersion.version) return spellCheckerVersion.version;
const value = _browser_local_storage__WEBPACK_IMPORTED_MODULE_0__.a.getItem("spellCheckerVersion") || "",
version = SpellCheckerVersion[value.toUpperCase()];
return spellCheckerVersion.version = version || SpellCheckerVersion.V1
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var external_electron_ = __webpack_require__(2),
lib = __webpack_require__(9),
Observable_ = __webpack_require__(5),
actions = __webpack_require__(1),
logger = (__webpack_require__(57), __webpack_require__(0)),
shared_constants = (__webpack_require__(56), __webpack_require__(4));
const isWindows10 = !1;
class node_rt_notification_helpers_NodeRTNotificationHelpers {
static clearTileNotifications() {
if (isWindows10) try {
const {
TileUpdater
} = __webpack_require__(231);
(new TileUpdater).clear()
} catch (error) {
return logger.logger.warn("Windows Notifications History: Tried to clear tiles, but encountered error:", {
error
}), !1
}
}
static enableNotificationQueue() {
const prefix = "Windows Store Tile Notifications Queue: ";
if (shared_constants.i) try {
const windowsNotifications = __webpack_require__(231);
if (windowsNotifications) {
logger.logger.info(`${prefix}Successfully initialized electron-windows-notifications .`);
const {
TileUpdater
} = windowsNotifications;
(new TileUpdater).enableNotificationQueue(), logger.logger.info(`${prefix}enabled.`)
} else logger.logger.error(`${prefix}Tried to enable notification queue, but failed (no error).`)
} catch (error) {
logger.logger.error(`${prefix}Tried to enable notification queue, but failed.`, error)
}
}
}
node_rt_notification_helpers_NodeRTNotificationHelpers.activatorRegistered = !1;
var get_path = __webpack_require__(23),
app_teams_reducer = (__webpack_require__(52), __webpack_require__(18)),
tokens_reducer = (__webpack_require__(8), __webpack_require__(102)),
web_contents_reducer = __webpack_require__(35),
windows_reducer = __webpack_require__(13),
color = (__webpack_require__(11), __webpack_require__(34), __webpack_require__(91)),
url_utils = __webpack_require__(24);
__webpack_require__(19), __webpack_require__(121);
function checkFeatureFlagWithRetry(args) {
return Observable_.Observable.of(!0).mergeMap(() => (function checkFeatureFlag({
token,
flag
}) {
return logger.logger.debug("SlackApi: Checking flag using api.features", {
flag
}), fetch(`${Object(url_utils.a)()}api.features?token=${token}&platform=ssb`).then(resp => resp.json()).then(response => response.ok && response.features ? Promise.resolve(!!response.features[flag]) : Promise.reject(JSON.stringify(response)))
})(args)).retryNetworkErrors().catch(error => (logger.logger.warn("SlackApi: Failed to call api.features", {
error
}), Observable_.Observable.of(null)))
}
var teams_reducer = __webpack_require__(30);
__webpack_require__.d(__webpack_exports__, "f", function() {
return windowFocused
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return whenWebAppLoaded
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getSelectedWebContentsId
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return teamSelectionObservable
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return generateTileAssets
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return checkMinWebFeatureFlag
});
const windowFocused = (actionObservable, store, windowTypes) => actionObservable.ofType(windows_reducer.l.getType()).filter(({
payload: {
frame: {
isFocused
}
}
}) => !0 === isFocused).filter(({
payload: {
id
}
}) => void 0 === windowTypes || windowTypes.includes(Object(windows_reducer.g)(store, id)));
function whenWebAppLoaded(actionObservable) {
return actionObservable.ofType(web_contents_reducer.g.getType()).map(({
payload
}) => payload).filter(({
state
}) => state === shared_constants.t.WEBAPP_LOADED)
}
function getSelectedWebContentsId(store) {
const selectedTeamId = Object(app_teams_reducer.c)(store);
return selectedTeamId ? Object(web_contents_reducer.e)(store, selectedTeamId) : null
}
function teamSelectionObservable(actionObservable, store, filterSingleTeams = !0) {
const selectionEvents = actionObservable.ofType(actions.d.MAIN_WINDOW_SHOWN, actions.d.HANDLE_DEEP_LINK, ...actions.h, ...actions.k).takeUntil(actionObservable.ofType(actions.d.QUIT_APP));
return filterSingleTeams ? selectionEvents.filter(() => Object(app_teams_reducer.a)(store) > 1) : selectionEvents
}
async function generateTileAssets(team) {
const canvas = document.createElement("canvas");
if (!canvas) throw new Error("Cannot create canvas");
if (logger.logger.info(`Updating Tile assets for Team ${team.team_id}`), team.icons && team.icons.image_230) {
const image = new Image;
return image.crossOrigin = "Anonymous", image.src = team.icons.image_230, await Observable_.Observable.fromEvent(image, "load").take(1).toPromise(), renderTileAssets(team, canvas, image)
}
return renderTileAssets(team, canvas)
}
async function renderTileAssets(team, canvas, image) {
const assets = {
Square70x70Logo: await renderTeamTileAndStoreAssets(canvas, team, {
width: 70,
height: 70,
margin: 0,
fontSize: 30,
name: "square70x70Logo.png"
}, image),
Square150x150Logo: await renderTeamTileAndStoreAssets(canvas, team, {
width: 150,
height: 150,
margin: 36,
fontSize: 46,
name: "square150x150Logo.png"
}, image),
Wide310x150Logo: await renderTeamTileAndStoreAssets(canvas, team, {
width: 310,
height: 150,
margin: 36,
fontSize: 46,
name: "wide150x310Logo.png"
}, image),
Square310x310Logo: await renderTeamTileAndStoreAssets(canvas, team, {
width: 310,
height: 310,
margin: 103,
fontSize: 62,
name: "square310x310Logo.png"
}, image),
Background: Object(color.b)(team),
DarkForeground: Object(color.e)(team),
IsValid: !1
};
return assets.IsValid = !!(assets.Square70x70Logo && assets.Square150x150Logo && assets.Wide310x150Logo && assets.Square310x310Logo), assets
}
async function renderTeamTileAndStoreAssets(canvas, team, renderingOptions, image) {
const nativeImg = function renderTeamTileImage(canvas, team, renderingOptions, image) {
const context = canvas.getContext("2d");
if (!context) return logger.logger.warn("Unable to aquire 2d context."), null;
context.clearRect(0, 0, canvas.width, canvas.height), canvas.height = renderingOptions.height, canvas.width = renderingOptions.width;
const logoSize = renderingOptions.height - 2 * renderingOptions.margin,
x = (canvas.width - logoSize) / 2,
y = (canvas.height - logoSize) / 2,
xCenter = canvas.width / 2,
yCenter = canvas.height / 2;
return renderingOptions.margin > 0 && (function roundRect(ctx, x, y, width, height, radius = 0) {
ctx.beginPath(), ctx.moveTo(x + radius, y), ctx.lineTo(x + width - radius, y), ctx.quadraticCurveTo(x + width, y, x + width, y + radius), ctx.lineTo(x + width, y + height - radius), ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height), ctx.lineTo(x + radius, y + height), ctx.quadraticCurveTo(x, y + height, x, y + height - radius), ctx.lineTo(x, y + radius), ctx.quadraticCurveTo(x, y, x + radius, y), ctx.closePath()
}(context, x, y, logoSize, logoSize, 5), context.clip()), image ? context.drawImage(image, x, y, logoSize, logoSize) : (context.fillStyle = Object(color.e)(team) ? "rgba(0, 0, 0, 0.3)" : "rgba(255, 255, 255, 0.3)", context.fillRect(x, y, logoSize, logoSize), context.font = `${renderingOptions.fontSize}pt Segoe UI`, context.fillStyle = "white", context.textAlign = "center", context.fillText(Object(teams_reducer.b)(team).toUpperCase(), xCenter, yCenter + renderingOptions.fontSize / 2)), external_electron_.nativeImage.createFromDataURL(canvas.toDataURL("image/png"))
}(canvas, team, renderingOptions, image),
filePath = get_path.a `${"LOCALSTATEAPPDATA"}/${team.team_id}_${renderingOptions.name}`;
if (nativeImg) try {
return await lib.writeFile(filePath, nativeImg.toPNG()), `ms-appdata:///local/${team.team_id}_${renderingOptions.name}`
} catch (error) {
return void logger.logger.error(`Failed to write Tile image file to ${filePath}`, error)
}
}
function checkMinWebFeatureFlag(teamId, store) {
const token = Object(tokens_reducer.a)(store, teamId);
return function isMinWebEnabled(token) {
return checkFeatureFlagWithRetry({
token,
flag: "feature_min_web_v3"
})
}(token).map(isEnabled => ({
teamId,
token,
isEnabled
}))
}
}, function(module, exports, __webpack_require__) {
"use strict";
const mkdirs = (0, __webpack_require__(55).fromCallback)(__webpack_require__(391)),
mkdirsSync = __webpack_require__(392);
module.exports = {
mkdirs,
mkdirsSync,
mkdirp: mkdirs,
mkdirpSync: mkdirsSync,
ensureDir: mkdirs,
ensureDirSync: mkdirsSync
}
}, function(module, exports, __webpack_require__) {
module.exports = function arrayify(input) {
const t = __webpack_require__(48);
return Array.isArray(input) ? input : void 0 === input ? [] : t.isArrayLike(input) ? Array.prototype.slice.call(input) : [input]
}
}, function(module, exports, __webpack_require__) {
"use strict";
function GenericWorker(name) {
this.name = name || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = {
data: [],
end: [],
error: []
}, this.previous = null
}
GenericWorker.prototype = {
push: function(chunk) {
this.emit("data", chunk)
},
end: function() {
if (this.isFinished) return !1;
this.flush();
try {
this.emit("end"), this.cleanUp(), this.isFinished = !0
} catch (e) {
this.emit("error", e)
}
return !0
},
error: function(e) {
return !this.isFinished && (this.isPaused ? this.generatedError = e : (this.isFinished = !0, this.emit("error", e), this.previous && this.previous.error(e), this.cleanUp()), !0)
},
on: function(name, listener) {
return this._listeners[name].push(listener), this
},
cleanUp: function() {
this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []
},
emit: function(name, arg) {
if (this._listeners[name])
for (var i = 0; i < this._listeners[name].length; i++) this._listeners[name][i].call(this, arg)
},
pipe: function(next) {
return next.registerPrevious(this)
},
registerPrevious: function(previous) {
if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
this.streamInfo = previous.streamInfo, this.mergeStreamInfo(), this.previous = previous;
var self = this;
return previous.on("data", function(chunk) {
self.processChunk(chunk)
}), previous.on("end", function() {
self.end()
}), previous.on("error", function(e) {
self.error(e)
}), this
},
pause: function() {
return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0)
},
resume: function() {
if (!this.isPaused || this.isFinished) return !1;
this.isPaused = !1;
var withError = !1;
return this.generatedError && (this.error(this.generatedError), withError = !0), this.previous && this.previous.resume(), !withError
},
flush: function() {},
processChunk: function(chunk) {
this.push(chunk)
},
withStreamInfo: function(key, value) {
return this.extraStreamInfo[key] = value, this.mergeStreamInfo(), this
},
mergeStreamInfo: function() {
for (var key in this.extraStreamInfo) this.extraStreamInfo.hasOwnProperty(key) && (this.streamInfo[key] = this.extraStreamInfo[key])
},
lock: function() {
if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
this.isLocked = !0, this.previous && this.previous.lock()
},
toString: function() {
var me = "Worker " + this.name;
return this.previous ? this.previous + " -> " + me : me
}
}, module.exports = GenericWorker
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function isObject(value) {
var type = typeof value;
return null != value && ("object" == type || "function" == type)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40),
_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(134),
_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29),
objectTag = "[object Object]",
funcProto = Function.prototype,
objectProto = Object.prototype,
funcToString = funcProto.toString,
hasOwnProperty = objectProto.hasOwnProperty,
objectCtorString = funcToString.call(Object);
__webpack_exports__.default = function isPlainObject(value) {
if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__.a)(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__.a)(value) != objectTag) return !1;
var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__.a)(value);
if (null === proto) return !0;
var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
return "function" == typeof Ctor && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40),
_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29),
symbolTag = "[object Symbol]";
__webpack_exports__.default = function isSymbol(value) {
return "symbol" == typeof value || Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__.a)(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__.a)(value) == symbolTag
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65),
INFINITY = 1 / 0;
__webpack_exports__.a = function toKey(value) {
if ("string" == typeof value || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__.default)(value)) return value;
var result = value + "";
return "0" == result && 1 / value == -INFINITY ? "-0" : result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var isArray = __webpack_require__(22),
_isKey = __webpack_require__(126),
memoize = __webpack_require__(367),
MAX_MEMOIZE_SIZE = 500;
var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
reEscapeChar = /\\(\\)?/g,
_stringToPath = function memoizeCapped(func) {
var result = Object(memoize.a)(func, function(key) {
return cache.size === MAX_MEMOIZE_SIZE && cache.clear(), key
}),
cache = result.cache;
return result
}(function(string) {
var result = [];
return 46 === string.charCodeAt(0) && result.push(""), string.replace(rePropName, function(match, number, quote, subString) {
result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match)
}), result
}),
lodash_es_toString = __webpack_require__(146);
__webpack_exports__.a = function castPath(value, object) {
return Object(isArray.a)(value) ? value : Object(_isKey.a)(value, object) ? [value] : _stringToPath(Object(lodash_es_toString.a)(value))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "e", function() {
return updateUnreadsInfo
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getCombinedUnreadsInfo
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getUnreads
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getShowBulletPreference
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(611),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(614),
lodash_es__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(613),
redux_act__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1),
_environment_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8),
_webapp_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(103);
const updateUnreadsInfo = Object(redux_act__WEBPACK_IMPORTED_MODULE_3__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_4__.l.UPDATE_UNREADS, p => p, () => ({
omitFromLog: !0
}));
function reduce(state = {}, action) {
switch (action.type) {
case _actions__WEBPACK_IMPORTED_MODULE_4__.l.UPDATE_UNREADS:
return function updateUnreads(state, {
teamId,
unreads,
unreadHighlights,
showBullet
}) {
return teamId ? {
...state,
[teamId]: {
unreads,
unreadHighlights,
showBullet
}
} : state
}(state, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_4__.j.REMOVE_TEAMS:
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(state, action.payload);
default:
return state
}
}
function getCombinedUnreadsInfo(store) {
const allUnreads = getUnreads(store),
unreadsPerTeam = Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)(allUnreads),
shouldShowBullet = Object.keys(unreadsPerTeam).some(key => {
const {
showBullet,
unreads
} = unreadsPerTeam[key];
return showBullet && unreads > 0
});
return {
unreads: Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__.a)(unreadsPerTeam, "unreads"),
unreadHighlights: Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__.a)(unreadsPerTeam, "unreadHighlights"),
showBullet: shouldShowBullet
}
}
function getUnreads(store) {
return Object(_environment_reducer__WEBPACK_IMPORTED_MODULE_5__.b)(store) ? Object(_webapp_reducer__WEBPACK_IMPORTED_MODULE_6__.b)(store.getState()) : store.getState().unreads
}
function getShowBulletPreference(store, teamId) {
const unreads = getUnreads(store);
return unreads && unreads[teamId] && unreads[teamId].showBullet
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
(function(module) {
var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32),
_stubFalse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(369),
freeExports = "object" == typeof exports && exports && !exports.nodeType && exports,
freeModule = freeExports && "object" == typeof module && module && !module.nodeType && module,
Buffer = freeModule && freeModule.exports === freeExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__.a.Buffer : void 0,
isBuffer = (Buffer ? Buffer.isBuffer : void 0) || _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__.a;
__webpack_exports__.a = isBuffer
}).call(this, __webpack_require__(226)(module))
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _getNative = __webpack_require__(51),
_root = __webpack_require__(32),
_DataView = Object(_getNative.a)(_root.a, "DataView"),
_Map = __webpack_require__(108),
_Promise = Object(_getNative.a)(_root.a, "Promise"),
_Set = __webpack_require__(111),
_WeakMap = Object(_getNative.a)(_root.a, "WeakMap"),
_baseGetTag = __webpack_require__(40),
_toSource = __webpack_require__(92),
dataViewCtorString = Object(_toSource.a)(_DataView),
mapCtorString = Object(_toSource.a)(_Map.a),
promiseCtorString = Object(_toSource.a)(_Promise),
setCtorString = Object(_toSource.a)(_Set.a),
weakMapCtorString = Object(_toSource.a)(_WeakMap),
getTag = _baseGetTag.a;
(_DataView && "[object DataView]" != getTag(new _DataView(new ArrayBuffer(1))) || _Map.a && "[object Map]" != getTag(new _Map.a) || _Promise && "[object Promise]" != getTag(_Promise.resolve()) || _Set.a && "[object Set]" != getTag(new _Set.a) || _WeakMap && "[object WeakMap]" != getTag(new _WeakMap)) && (getTag = function(value) {
var result = Object(_baseGetTag.a)(value),
Ctor = "[object Object]" == result ? value.constructor : void 0,
ctorString = Ctor ? Object(_toSource.a)(Ctor) : "";
if (ctorString) switch (ctorString) {
case dataViewCtorString:
return "[object DataView]";
case mapCtorString:
return "[object Map]";
case promiseCtorString:
return "[object Promise]";
case setCtorString:
return "[object Set]";
case weakMapCtorString:
return "[object WeakMap]"
}
return result
});
__webpack_exports__.a = getTag
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGetTag = __webpack_require__(40),
isObjectLike = __webpack_require__(29),
argsTag = "[object Arguments]";
var _baseIsArguments = function baseIsArguments(value) {
return Object(isObjectLike.a)(value) && Object(_baseGetTag.a)(value) == argsTag
},
objectProto = Object.prototype,
isArguments_hasOwnProperty = objectProto.hasOwnProperty,
propertyIsEnumerable = objectProto.propertyIsEnumerable,
isArguments = _baseIsArguments(function() {
return arguments
}()) ? _baseIsArguments : function(value) {
return Object(isObjectLike.a)(value) && isArguments_hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee")
};
__webpack_exports__.a = isArguments
}, function(module, exports) {
var debug;
exports = module.exports = SemVer, debug = "object" == typeof process && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? function() {
var args = Array.prototype.slice.call(arguments, 0);
args.unshift("SEMVER"), console.log.apply(console, args)
} : function() {}, exports.SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256,
MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991,
re = exports.re = [],
src = exports.src = [],
R = 0,
NUMERICIDENTIFIER = R++;
src[NUMERICIDENTIFIER] = "0|[1-9]\\d*";
var NUMERICIDENTIFIERLOOSE = R++;
src[NUMERICIDENTIFIERLOOSE] = "[0-9]+";
var NONNUMERICIDENTIFIER = R++;
src[NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
var MAINVERSION = R++;
src[MAINVERSION] = "(" + src[NUMERICIDENTIFIER] + ")\\.(" + src[NUMERICIDENTIFIER] + ")\\.(" + src[NUMERICIDENTIFIER] + ")";
var MAINVERSIONLOOSE = R++;
src[MAINVERSIONLOOSE] = "(" + src[NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[NUMERICIDENTIFIERLOOSE] + ")";
var PRERELEASEIDENTIFIER = R++;
src[PRERELEASEIDENTIFIER] = "(?:" + src[NUMERICIDENTIFIER] + "|" + src[NONNUMERICIDENTIFIER] + ")";
var PRERELEASEIDENTIFIERLOOSE = R++;
src[PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[NUMERICIDENTIFIERLOOSE] + "|" + src[NONNUMERICIDENTIFIER] + ")";
var PRERELEASE = R++;
src[PRERELEASE] = "(?:-(" + src[PRERELEASEIDENTIFIER] + "(?:\\." + src[PRERELEASEIDENTIFIER] + ")*))";
var PRERELEASELOOSE = R++;
src[PRERELEASELOOSE] = "(?:-?(" + src[PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[PRERELEASEIDENTIFIERLOOSE] + ")*))";
var BUILDIDENTIFIER = R++;
src[BUILDIDENTIFIER] = "[0-9A-Za-z-]+";
var BUILD = R++;
src[BUILD] = "(?:\\+(" + src[BUILDIDENTIFIER] + "(?:\\." + src[BUILDIDENTIFIER] + ")*))";
var FULL = R++,
FULLPLAIN = "v?" + src[MAINVERSION] + src[PRERELEASE] + "?" + src[BUILD] + "?";
src[FULL] = "^" + FULLPLAIN + "$";
var LOOSEPLAIN = "[v=\\s]*" + src[MAINVERSIONLOOSE] + src[PRERELEASELOOSE] + "?" + src[BUILD] + "?",
LOOSE = R++;
src[LOOSE] = "^" + LOOSEPLAIN + "$";
var GTLT = R++;
src[GTLT] = "((?:<|>)?=?)";
var XRANGEIDENTIFIERLOOSE = R++;
src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
var XRANGEIDENTIFIER = R++;
src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + "|x|X|\\*";
var XRANGEPLAIN = R++;
src[XRANGEPLAIN] = "[v=\\s]*(" + src[XRANGEIDENTIFIER] + ")(?:\\.(" + src[XRANGEIDENTIFIER] + ")(?:\\.(" + src[XRANGEIDENTIFIER] + ")(?:" + src[PRERELEASE] + ")?" + src[BUILD] + "?)?)?";
var XRANGEPLAINLOOSE = R++;
src[XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[XRANGEIDENTIFIERLOOSE] + ")(?:" + src[PRERELEASELOOSE] + ")?" + src[BUILD] + "?)?)?";
var XRANGE = R++;
src[XRANGE] = "^" + src[GTLT] + "\\s*" + src[XRANGEPLAIN] + "$";
var XRANGELOOSE = R++;
src[XRANGELOOSE] = "^" + src[GTLT] + "\\s*" + src[XRANGEPLAINLOOSE] + "$";
var COERCE = R++;
src[COERCE] = "(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";
var LONETILDE = R++;
src[LONETILDE] = "(?:~>?)";
var TILDETRIM = R++;
src[TILDETRIM] = "(\\s*)" + src[LONETILDE] + "\\s+", re[TILDETRIM] = new RegExp(src[TILDETRIM], "g");
var TILDE = R++;
src[TILDE] = "^" + src[LONETILDE] + src[XRANGEPLAIN] + "$";
var TILDELOOSE = R++;
src[TILDELOOSE] = "^" + src[LONETILDE] + src[XRANGEPLAINLOOSE] + "$";
var LONECARET = R++;
src[LONECARET] = "(?:\\^)";
var CARETTRIM = R++;
src[CARETTRIM] = "(\\s*)" + src[LONECARET] + "\\s+", re[CARETTRIM] = new RegExp(src[CARETTRIM], "g");
var CARET = R++;
src[CARET] = "^" + src[LONECARET] + src[XRANGEPLAIN] + "$";
var CARETLOOSE = R++;
src[CARETLOOSE] = "^" + src[LONECARET] + src[XRANGEPLAINLOOSE] + "$";
var COMPARATORLOOSE = R++;
src[COMPARATORLOOSE] = "^" + src[GTLT] + "\\s*(" + LOOSEPLAIN + ")$|^$";
var COMPARATOR = R++;
src[COMPARATOR] = "^" + src[GTLT] + "\\s*(" + FULLPLAIN + ")$|^$";
var COMPARATORTRIM = R++;
src[COMPARATORTRIM] = "(\\s*)" + src[GTLT] + "\\s*(" + LOOSEPLAIN + "|" + src[XRANGEPLAIN] + ")", re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], "g");
var HYPHENRANGE = R++;
src[HYPHENRANGE] = "^\\s*(" + src[XRANGEPLAIN] + ")\\s+-\\s+(" + src[XRANGEPLAIN] + ")\\s*$";
var HYPHENRANGELOOSE = R++;
src[HYPHENRANGELOOSE] = "^\\s*(" + src[XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[XRANGEPLAINLOOSE] + ")\\s*$";
var STAR = R++;
src[STAR] = "(<|>)?=?\\s*\\*";
for (var i = 0; i < 35; i++) debug(i, src[i]), re[i] || (re[i] = new RegExp(src[i]));
function parse(version, loose) {
if (version instanceof SemVer) return version;
if ("string" != typeof version) return null;
if (version.length > MAX_LENGTH) return null;
if (!(loose ? re[LOOSE] : re[FULL]).test(version)) return null;
try {
return new SemVer(version, loose)
} catch (er) {
return null
}
}
function SemVer(version, loose) {
if (version instanceof SemVer) {
if (version.loose === loose) return version;
version = version.version
} else if ("string" != typeof version) throw new TypeError("Invalid Version: " + version);
if (version.length > MAX_LENGTH) throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
if (!(this instanceof SemVer)) return new SemVer(version, loose);
debug("SemVer", version, loose), this.loose = loose;
var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);
if (!m) throw new TypeError("Invalid Version: " + version);
if (this.raw = version, this.major = +m[1], this.minor = +m[2], this.patch = +m[3], this.major > MAX_SAFE_INTEGER || this.major < 0) throw new TypeError("Invalid major version");
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) throw new TypeError("Invalid minor version");
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) throw new TypeError("Invalid patch version");
m[4] ? this.prerelease = m[4].split(".").map(function(id) {
if (/^[0-9]+$/.test(id)) {
var num = +id;
if (num >= 0 && num < MAX_SAFE_INTEGER) return num
}
return id
}) : this.prerelease = [], this.build = m[5] ? m[5].split(".") : [], this.format()
}
exports.parse = parse, exports.valid = function valid(version, loose) {
var v = parse(version, loose);
return v ? v.version : null
}, exports.clean = function clean(version, loose) {
var s = parse(version.trim().replace(/^[=v]+/, ""), loose);
return s ? s.version : null
}, exports.SemVer = SemVer, SemVer.prototype.format = function() {
return this.version = this.major + "." + this.minor + "." + this.patch, this.prerelease.length && (this.version += "-" + this.prerelease.join(".")), this.version
}, SemVer.prototype.toString = function() {
return this.version
}, SemVer.prototype.compare = function(other) {
return debug("SemVer.compare", this.version, this.loose, other), other instanceof SemVer || (other = new SemVer(other, this.loose)), this.compareMain(other) || this.comparePre(other)
}, SemVer.prototype.compareMain = function(other) {
return other instanceof SemVer || (other = new SemVer(other, this.loose)), compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch)
}, SemVer.prototype.comparePre = function(other) {
if (other instanceof SemVer || (other = new SemVer(other, this.loose)), this.prerelease.length && !other.prerelease.length) return -1;
if (!this.prerelease.length && other.prerelease.length) return 1;
if (!this.prerelease.length && !other.prerelease.length) return 0;
var i = 0;
do {
var a = this.prerelease[i],
b = other.prerelease[i];
if (debug("prerelease compare", i, a, b), void 0 === a && void 0 === b) return 0;
if (void 0 === b) return 1;
if (void 0 === a) return -1;
if (a !== b) return compareIdentifiers(a, b)
} while (++i)
}, SemVer.prototype.inc = function(release, identifier) {
switch (release) {
case "premajor":
this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc("pre", identifier);
break;
case "preminor":
this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc("pre", identifier);
break;
case "prepatch":
this.prerelease.length = 0, this.inc("patch", identifier), this.inc("pre", identifier);
break;
case "prerelease":
0 === this.prerelease.length && this.inc("patch", identifier), this.inc("pre", identifier);
break;
case "major":
0 === this.minor && 0 === this.patch && 0 !== this.prerelease.length || this.major++, this.minor = 0, this.patch = 0, this.prerelease = [];
break;
case "minor":
0 === this.patch && 0 !== this.prerelease.length || this.minor++, this.patch = 0, this.prerelease = [];
break;
case "patch":
0 === this.prerelease.length && this.patch++, this.prerelease = [];
break;
case "pre":
if (0 === this.prerelease.length) this.prerelease = [0];
else {
for (var i = this.prerelease.length; --i >= 0;) "number" == typeof this.prerelease[i] && (this.prerelease[i]++, i = -2); - 1 === i && this.prerelease.push(0)
}
identifier && (this.prerelease[0] === identifier ? isNaN(this.prerelease[1]) && (this.prerelease = [identifier, 0]) : this.prerelease = [identifier, 0]);
break;
default:
throw new Error("invalid increment argument: " + release)
}
return this.format(), this.raw = this.version, this
}, exports.inc = function inc(version, release, loose, identifier) {
"string" == typeof loose && (identifier = loose, loose = void 0);
try {
return new SemVer(version, loose).inc(release, identifier).version
} catch (er) {
return null
}
}, exports.diff = function diff(version1, version2) {
if (eq(version1, version2)) return null;
var v1 = parse(version1),
v2 = parse(version2);
if (v1.prerelease.length || v2.prerelease.length) {
for (var key in v1)
if (("major" === key || "minor" === key || "patch" === key) && v1[key] !== v2[key]) return "pre" + key;
return "prerelease"
}
for (var key in v1)
if (("major" === key || "minor" === key || "patch" === key) && v1[key] !== v2[key]) return key
}, exports.compareIdentifiers = compareIdentifiers;
var numeric = /^[0-9]+$/;
function compareIdentifiers(a, b) {
var anum = numeric.test(a),
bnum = numeric.test(b);
return anum && bnum && (a = +a, b = +b), anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : a > b ? 1 : 0
}
function compare(a, b, loose) {
return new SemVer(a, loose).compare(new SemVer(b, loose))
}
function gt(a, b, loose) {
return compare(a, b, loose) > 0
}
function lt(a, b, loose) {
return compare(a, b, loose) < 0
}
function eq(a, b, loose) {
return 0 === compare(a, b, loose)
}
function neq(a, b, loose) {
return 0 !== compare(a, b, loose)
}
function gte(a, b, loose) {
return compare(a, b, loose) >= 0
}
function lte(a, b, loose) {
return compare(a, b, loose) <= 0
}
function cmp(a, op, b, loose) {
var ret;
switch (op) {
case "===":
"object" == typeof a && (a = a.version), "object" == typeof b && (b = b.version), ret = a === b;
break;
case "!==":
"object" == typeof a && (a = a.version), "object" == typeof b && (b = b.version), ret = a !== b;
break;
case "":
case "=":
case "==":
ret = eq(a, b, loose);
break;
case "!=":
ret = neq(a, b, loose);
break;
case ">":
ret = gt(a, b, loose);
break;
case ">=":
ret = gte(a, b, loose);
break;
case "<":
ret = lt(a, b, loose);
break;
case "<=":
ret = lte(a, b, loose);
break;
default:
throw new TypeError("Invalid operator: " + op)
}
return ret
}
function Comparator(comp, loose) {
if (comp instanceof Comparator) {
if (comp.loose === loose) return comp;
comp = comp.value
}
if (!(this instanceof Comparator)) return new Comparator(comp, loose);
debug("comparator", comp, loose), this.loose = loose, this.parse(comp), this.semver === ANY ? this.value = "" : this.value = this.operator + this.semver.version, debug("comp", this)
}
exports.rcompareIdentifiers = function rcompareIdentifiers(a, b) {
return compareIdentifiers(b, a)
}, exports.major = function major(a, loose) {
return new SemVer(a, loose).major
}, exports.minor = function minor(a, loose) {
return new SemVer(a, loose).minor
}, exports.patch = function patch(a, loose) {
return new SemVer(a, loose).patch
}, exports.compare = compare, exports.compareLoose = function compareLoose(a, b) {
return compare(a, b, !0)
}, exports.rcompare = function rcompare(a, b, loose) {
return compare(b, a, loose)
}, exports.sort = function sort(list, loose) {
return list.sort(function(a, b) {
return exports.compare(a, b, loose)
})
}, exports.rsort = function rsort(list, loose) {
return list.sort(function(a, b) {
return exports.rcompare(a, b, loose)
})
}, exports.gt = gt, exports.lt = lt, exports.eq = eq, exports.neq = neq, exports.gte = gte, exports.lte = lte, exports.cmp = cmp, exports.Comparator = Comparator;
var ANY = {};
function Range(range, loose) {
if (range instanceof Range) return range.loose === loose ? range : new Range(range.raw, loose);
if (range instanceof Comparator) return new Range(range.value, loose);
if (!(this instanceof Range)) return new Range(range, loose);
if (this.loose = loose, this.raw = range, this.set = range.split(/\s*\|\|\s*/).map(function(range) {
return this.parseRange(range.trim())
}, this).filter(function(c) {
return c.length
}), !this.set.length) throw new TypeError("Invalid SemVer Range: " + range);
this.format()
}
function isX(id) {
return !id || "x" === id.toLowerCase() || "*" === id
}
function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
return ((from = isX(fM) ? "" : isX(fm) ? ">=" + fM + ".0.0" : isX(fp) ? ">=" + fM + "." + fm + ".0" : ">=" + from) + " " + (to = isX(tM) ? "" : isX(tm) ? "<" + (+tM + 1) + ".0.0" : isX(tp) ? "<" + tM + "." + (+tm + 1) + ".0" : tpr ? "<=" + tM + "." + tm + "." + tp + "-" + tpr : "<=" + to)).trim()
}
function testSet(set, version) {
for (var i = 0; i < set.length; i++)
if (!set[i].test(version)) return !1;
if (version.prerelease.length) {
for (i = 0; i < set.length; i++)
if (debug(set[i].semver), set[i].semver !== ANY && set[i].semver.prerelease.length > 0) {
var allowed = set[i].semver;
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) return !0
} return !1
}
return !0
}
function satisfies(version, range, loose) {
try {
range = new Range(range, loose)
} catch (er) {
return !1
}
return range.test(version)
}
function outside(version, range, hilo, loose) {
var gtfn, ltefn, ltfn, comp, ecomp;
switch (version = new SemVer(version, loose), range = new Range(range, loose), hilo) {
case ">":
gtfn = gt, ltefn = lte, ltfn = lt, comp = ">", ecomp = ">=";
break;
case "<":
gtfn = lt, ltefn = gte, ltfn = gt, comp = "<", ecomp = "<=";
break;
default:
throw new TypeError('Must provide a hilo val of "<" or ">"')
}
if (satisfies(version, range, loose)) return !1;
for (var i = 0; i < range.set.length; ++i) {
var comparators = range.set[i],
high = null,
low = null;
if (comparators.forEach(function(comparator) {
comparator.semver === ANY && (comparator = new Comparator(">=0.0.0")), high = high || comparator, low = low || comparator, gtfn(comparator.semver, high.semver, loose) ? high = comparator : ltfn(comparator.semver, low.semver, loose) && (low = comparator)
}), high.operator === comp || high.operator === ecomp) return !1;
if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) return !1;
if (low.operator === ecomp && ltfn(version, low.semver)) return !1
}
return !0
}
Comparator.prototype.parse = function(comp) {
var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR],
m = comp.match(r);
if (!m) throw new TypeError("Invalid comparator: " + comp);
this.operator = m[1], "=" === this.operator && (this.operator = ""), m[2] ? this.semver = new SemVer(m[2], this.loose) : this.semver = ANY
}, Comparator.prototype.toString = function() {
return this.value
}, Comparator.prototype.test = function(version) {
return debug("Comparator.test", version, this.loose), this.semver === ANY || ("string" == typeof version && (version = new SemVer(version, this.loose)), cmp(version, this.operator, this.semver, this.loose))
}, Comparator.prototype.intersects = function(comp, loose) {
if (!(comp instanceof Comparator)) throw new TypeError("a Comparator is required");
var rangeTmp;
if ("" === this.operator) return rangeTmp = new Range(comp.value, loose), satisfies(this.value, rangeTmp, loose);
if ("" === comp.operator) return rangeTmp = new Range(this.value, loose), satisfies(comp.semver, rangeTmp, loose);
var sameDirectionIncreasing = !(">=" !== this.operator && ">" !== this.operator || ">=" !== comp.operator && ">" !== comp.operator),
sameDirectionDecreasing = !("<=" !== this.operator && "<" !== this.operator || "<=" !== comp.operator && "<" !== comp.operator),
sameSemVer = this.semver.version === comp.semver.version,
differentDirectionsInclusive = !(">=" !== this.operator && "<=" !== this.operator || ">=" !== comp.operator && "<=" !== comp.operator),
oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, loose) && (">=" === this.operator || ">" === this.operator) && ("<=" === comp.operator || "<" === comp.operator),
oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, loose) && ("<=" === this.operator || "<" === this.operator) && (">=" === comp.operator || ">" === comp.operator);
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan
}, exports.Range = Range, Range.prototype.format = function() {
return this.range = this.set.map(function(comps) {
return comps.join(" ").trim()
}).join("||").trim(), this.range
}, Range.prototype.toString = function() {
return this.range
}, Range.prototype.parseRange = function(range) {
var loose = this.loose;
range = range.trim(), debug("range", range, loose);
var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];
range = range.replace(hr, hyphenReplace), debug("hyphen replace", range), range = range.replace(re[COMPARATORTRIM], "$1$2$3"), debug("comparator trim", range, re[COMPARATORTRIM]), range = (range = (range = range.replace(re[TILDETRIM], "$1~")).replace(re[CARETTRIM], "$1^")).split(/\s+/).join(" ");
var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR],
set = range.split(" ").map(function(comp) {
return function parseComparator(comp, loose) {
return debug("comp", comp), comp = function replaceCarets(comp, loose) {
return comp.trim().split(/\s+/).map(function(comp) {
return function replaceCaret(comp, loose) {
debug("caret", comp, loose);
var r = loose ? re[CARETLOOSE] : re[CARET];
return comp.replace(r, function(_, M, m, p, pr) {
var ret;
return debug("caret", comp, _, M, m, p, pr), isX(M) ? ret = "" : isX(m) ? ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0" : isX(p) ? ret = "0" === M ? ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0" : ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0" : pr ? (debug("replaceCaret pr", pr), "-" !== pr.charAt(0) && (pr = "-" + pr), ret = "0" === M ? "0" === m ? ">=" + M + "." + m + "." + p + pr + " <" + M + "." + m + "." + (+p + 1) : ">=" + M + "." + m + "." + p + pr + " <" + M + "." + (+m + 1) + ".0" : ">=" + M + "." + m + "." + p + pr + " <" + (+M + 1) + ".0.0") : (debug("no pr"), ret = "0" === M ? "0" === m ? ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1) : ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0" : ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0"), debug("caret return", ret), ret
})
}(comp, loose)
}).join(" ")
}(comp, loose), debug("caret", comp), comp = function replaceTildes(comp, loose) {
return comp.trim().split(/\s+/).map(function(comp) {
return function replaceTilde(comp, loose) {
var r = loose ? re[TILDELOOSE] : re[TILDE];
return comp.replace(r, function(_, M, m, p, pr) {
var ret;
return debug("tilde", comp, _, M, m, p, pr), isX(M) ? ret = "" : isX(m) ? ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0" : isX(p) ? ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0" : pr ? (debug("replaceTilde pr", pr), "-" !== pr.charAt(0) && (pr = "-" + pr), ret = ">=" + M + "." + m + "." + p + pr + " <" + M + "." + (+m + 1) + ".0") : ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0", debug("tilde return", ret), ret
})
}(comp, loose)
}).join(" ")
}(comp, loose), debug("tildes", comp), comp = function replaceXRanges(comp, loose) {
return debug("replaceXRanges", comp, loose), comp.split(/\s+/).map(function(comp) {
return function replaceXRange(comp, loose) {
comp = comp.trim();
var r = loose ? re[XRANGELOOSE] : re[XRANGE];
return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
debug("xRange", comp, ret, gtlt, M, m, p, pr);
var xM = isX(M),
xm = xM || isX(m),
xp = xm || isX(p),
anyX = xp;
return "=" === gtlt && anyX && (gtlt = ""), xM ? ret = ">" === gtlt || "<" === gtlt ? "<0.0.0" : "*" : gtlt && anyX ? (xm && (m = 0), xp && (p = 0), ">" === gtlt ? (gtlt = ">=", xm ? (M = +M + 1, m = 0, p = 0) : xp && (m = +m + 1, p = 0)) : "<=" === gtlt && (gtlt = "<", xm ? M = +M + 1 : m = +m + 1), ret = gtlt + M + "." + m + "." + p) : xm ? ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0" : xp && (ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0"), debug("xRange return", ret), ret
})
}(comp, loose)
}).join(" ")
}(comp, loose), debug("xrange", comp), comp = function replaceStars(comp, loose) {
return debug("replaceStars", comp, loose), comp.trim().replace(re[STAR], "")
}(comp, loose), debug("stars", comp), comp
}(comp, loose)
}).join(" ").split(/\s+/);
return this.loose && (set = set.filter(function(comp) {
return !!comp.match(compRe)
})), set = set.map(function(comp) {
return new Comparator(comp, loose)
})
}, Range.prototype.intersects = function(range, loose) {
if (!(range instanceof Range)) throw new TypeError("a Range is required");
return this.set.some(function(thisComparators) {
return thisComparators.every(function(thisComparator) {
return range.set.some(function(rangeComparators) {
return rangeComparators.every(function(rangeComparator) {
return thisComparator.intersects(rangeComparator, loose)
})
})
})
})
}, exports.toComparators = function toComparators(range, loose) {
return new Range(range, loose).set.map(function(comp) {
return comp.map(function(c) {
return c.value
}).join(" ").trim().split(" ")
})
}, Range.prototype.test = function(version) {
if (!version) return !1;
"string" == typeof version && (version = new SemVer(version, this.loose));
for (var i = 0; i < this.set.length; i++)
if (testSet(this.set[i], version)) return !0;
return !1
}, exports.satisfies = satisfies, exports.maxSatisfying = function maxSatisfying(versions, range, loose) {
var max = null,
maxSV = null;
try {
var rangeObj = new Range(range, loose)
} catch (er) {
return null
}
return versions.forEach(function(v) {
rangeObj.test(v) && (max && -1 !== maxSV.compare(v) || (maxSV = new SemVer(max = v, loose)))
}), max
}, exports.minSatisfying = function minSatisfying(versions, range, loose) {
var min = null,
minSV = null;
try {
var rangeObj = new Range(range, loose)
} catch (er) {
return null
}
return versions.forEach(function(v) {
rangeObj.test(v) && (min && 1 !== minSV.compare(v) || (minSV = new SemVer(min = v, loose)))
}), min
}, exports.validRange = function validRange(range, loose) {
try {
return new Range(range, loose).range || "*"
} catch (er) {
return null
}
}, exports.ltr = function ltr(version, range, loose) {
return outside(version, range, "<", loose)
}, exports.gtr = function gtr(version, range, loose) {
return outside(version, range, ">", loose)
}, exports.outside = outside, exports.prerelease = function prerelease(version, loose) {
var parsed = parse(version, loose);
return parsed && parsed.prerelease.length ? parsed.prerelease : null
}, exports.intersects = function intersects(r1, r2, loose) {
return r1 = new Range(r1, loose), r2 = new Range(r2, loose), r1.intersects(r2)
}, exports.coerce = function coerce(version) {
if (version instanceof SemVer) return version;
if ("string" != typeof version) return null;
var match = version.match(re[COERCE]);
return null == match ? null : parse((match[1] || "0") + "." + (match[2] || "0") + "." + (match[3] || "0"))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function identity(value) {
return value
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function eq(value, other) {
return value === other || value != value && other != other
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function baseUnary(func) {
return function(value) {
return func(value)
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73),
_overRest_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(217),
_setToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(206);
__webpack_exports__.a = function baseRest(func, start) {
return Object(_setToString_js__WEBPACK_IMPORTED_MODULE_2__.a)(Object(_overRest_js__WEBPACK_IMPORTED_MODULE_1__.a)(func, start, _identity_js__WEBPACK_IMPORTED_MODULE_0__.a), func + "")
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return IS_SONIC_ENABLED
});
var _browser_local_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
const storagesToClear = ["appcache", "cookies", "filesystem", "indexdb", "localstorage", "shadercache", "websql", "serviceworkers"],
IS_SONIC_ENABLED = (storagesToClear.filter(storage => "cookies" !== storage), (() => !process.argv.includes("--legacy") && (_browser_local_storage__WEBPACK_IMPORTED_MODULE_0__.a.getItem("bootSonic") === _utils_shared_constants__WEBPACK_IMPORTED_MODULE_1__.b.ONCE || _browser_local_storage__WEBPACK_IMPORTED_MODULE_0__.a.getItem("bootSonic") === _utils_shared_constants__WEBPACK_IMPORTED_MODULE_1__.b.ALWAYS))())
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayLikeKeys = __webpack_require__(209),
isObject = __webpack_require__(63),
_isPrototype = __webpack_require__(100);
var _nativeKeysIn = function nativeKeysIn(object) {
var result = [];
if (null != object)
for (var key in Object(object)) result.push(key);
return result
},
_baseKeysIn_hasOwnProperty = Object.prototype.hasOwnProperty;
var _baseKeysIn = function baseKeysIn(object) {
if (!Object(isObject.a)(object)) return _nativeKeysIn(object);
var isProto = Object(_isPrototype.a)(object),
result = [];
for (var key in object)("constructor" != key || !isProto && _baseKeysIn_hasOwnProperty.call(object, key)) && result.push(key);
return result
},
isArrayLike = __webpack_require__(43);
__webpack_exports__.a = function keysIn(object) {
return Object(isArrayLike.a)(object) ? Object(_arrayLikeKeys.a)(object, !0) : _baseKeysIn(object)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayPush = __webpack_require__(125),
_Symbol = __webpack_require__(38),
isArguments = __webpack_require__(71),
isArray = __webpack_require__(22),
spreadableSymbol = _Symbol.a ? _Symbol.a.isConcatSpreadable : void 0;
var _isFlattenable = function isFlattenable(value) {
return Object(isArray.a)(value) || Object(isArguments.a)(value) || !!(spreadableSymbol && value && value[spreadableSymbol])
};
__webpack_exports__.a = function baseFlatten(array, depth, predicate, isStrict, result) {
var index = -1,
length = array.length;
for (predicate || (predicate = _isFlattenable), result || (result = []); ++index < length;) {
var value = array[index];
depth > 0 && predicate(value) ? depth > 1 ? baseFlatten(value, depth - 1, predicate, isStrict, result) : Object(_arrayPush.a)(result, value) : isStrict || (result[result.length] = value)
}
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _ListCache = __webpack_require__(104);
var _stackClear = function stackClear() {
this.__data__ = new _ListCache.a, this.size = 0
};
var _stackDelete = function stackDelete(key) {
var data = this.__data__,
result = data.delete(key);
return this.size = data.size, result
};
var _stackGet = function stackGet(key) {
return this.__data__.get(key)
};
var _stackHas = function stackHas(key) {
return this.__data__.has(key)
},
_Map = __webpack_require__(108),
_MapCache = __webpack_require__(119),
LARGE_ARRAY_SIZE = 200;
var _stackSet = function stackSet(key, value) {
var data = this.__data__;
if (data instanceof _ListCache.a) {
var pairs = data.__data__;
if (!_Map.a || pairs.length < LARGE_ARRAY_SIZE - 1) return pairs.push([key, value]), this.size = ++data.size, this;
data = this.__data__ = new _MapCache.a(pairs)
}
return data.set(key, value), this.size = data.size, this
};
function Stack(entries) {
var data = this.__data__ = new _ListCache.a(entries);
this.size = data.size
}
Stack.prototype.clear = _stackClear, Stack.prototype.delete = _stackDelete, Stack.prototype.get = _stackGet, Stack.prototype.has = _stackHas, Stack.prototype.set = _stackSet;
__webpack_exports__.a = Stack
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return appTeamsActions
});
var _lib_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3),
_stores_team_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(117),
___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
const appTeamsActions = new class AppTeamsActions {
selectTeam(teamId) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SELECT_TEAM,
payload: teamId
})
}
selectTeamByUserId(userId) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SELECT_TEAM_BY_USER_ID,
payload: {
userId,
teamList: _stores_team_store__WEBPACK_IMPORTED_MODULE_1__.a.teams
}
})
}
signedOutTeam(teamId) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SIGNED_OUT_TEAM,
payload: teamId
})
}
selectNextTeam() {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SELECT_NEXT_TEAM
})
}
selectPreviousTeam() {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SELECT_PREVIOUS_TEAM
})
}
selectTeamByIndex(teamIndex) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SELECT_TEAM_BY_INDEX,
payload: teamIndex
})
}
setTeamsByIndex(teamsByIndex) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SET_TEAMS_BY_INDEX,
payload: teamsByIndex
})
}
selectChannel(channel) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_2__.b.SELECT_CHANNEL,
payload: channel
})
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var external_electron_ = __webpack_require__(2),
src = __webpack_require__(16),
Observable_ = (__webpack_require__(368), __webpack_require__(5)),
asap_ = __webpack_require__(166),
logger = __webpack_require__(0),
preload_environment = __webpack_require__(12),
ipc_channel_names = __webpack_require__(14);
const electronIpc = __webpack_require__(2).ipcRenderer,
fromIpcEvent = channel => Observable_.Observable.fromEventPattern(h => electronIpc.on(channel, h), h => electronIpc.removeListener(channel, h), (...args) => args);
var inject_factory = __webpack_require__(140);
__webpack_require__.d(__webpack_exports__, "a", function() {
return RemoteElectronModule
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return RemoteRendererGlobalModule
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return remoteProcessMethod
});
const remoteListenerProcess = Object(inject_factory.a)(() => ({}));
var RemoteElectronModule, RemoteRendererGlobalModule;
! function(RemoteElectronModule) {
RemoteElectronModule.app = "app"
}(RemoteElectronModule || (RemoteElectronModule = {})),
function(RemoteRendererGlobalModule) {
RemoteRendererGlobalModule.localStorage = "localStorage"
}(RemoteRendererGlobalModule || (RemoteRendererGlobalModule = {}));
const throttledRemoteMethod = Object.freeze(["getAppMetrics"]),
remoteProcessMethod = (Object.freeze(["getItem", "setItem", "removeItem", ...throttledRemoteMethod]), (target, method, ...args) => {
if (remoteListenerProcess.pid === process.pid) return Promise.reject("Cannot execute remote method in same process");
const isRendererMethod = !!RemoteRendererGlobalModule[target];
if (isRendererMethod && !src.root.browserWindowId) return logger.logger.error("remoteProcessMethod: requested to invoke method, but global.browserWindowId is missing", {
target,
method,
preloadEnvironment: preload_environment.preloadEnv
}), Promise.reject(`Requested to invoke method ${method}, but global.browserWindowId is missing`);
const result = Observable_.Observable.race(fromIpcEvent(ipc_channel_names.f.Response).observeOn(asap_.asap).map(([, , response]) => response), fromIpcEvent(ipc_channel_names.f.Error).observeOn(asap_.asap).flatMap(([, , message]) => Observable_.Observable.throw(new Error(message))), Observable_.Observable.timer(5e3).mergeMap(() => Observable_.Observable.throw(new Error(`Couldn't complete '${method}' in time`)))).first().toPromise(),
requestArgs = [ipc_channel_names.f.Request, {
id: isRendererMethod ? src.root.browserWindowId : -1,
webContents: !1
}, target, method, ...args],
channel = isRendererMethod ? ipc_channel_names.f.Route : requestArgs.shift();
return logger.logger.info("remoteProcessMethod: dispatching request", {
isRendererMethod,
windowId: isRendererMethod ? src.root.browserWindowId : -1,
target,
method
}), external_electron_.ipcRenderer.send(channel, ...requestArgs), result
})
}, function(module, exports) {
module.exports = require("util")
}, function(module, exports) {
module.exports = require("events")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43),
_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29);
__webpack_exports__.a = function isArrayLikeObject(value) {
return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__.a)(value) && Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__.a)(value)
}
}, function(module, exports) {
module.exports = require("redux-observable")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
(function(module) {
var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(177),
freeExports = "object" == typeof exports && exports && !exports.nodeType && exports,
freeModule = freeExports && "object" == typeof module && module && !module.nodeType && module,
freeProcess = freeModule && freeModule.exports === freeExports && _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__.a.process,
nodeUtil = function() {
try {
var types = freeModule && freeModule.require && freeModule.require("util").types;
return types || freeProcess && freeProcess.binding && freeProcess.binding("util")
} catch (e) {}
}();
__webpack_exports__.a = nodeUtil
}).call(this, __webpack_require__(226)(module))
}, function(module, exports) {
module.exports = require("rxjs-requestidlecallback-scheduler")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var isPlainObject = __webpack_require__(64),
symbol_observable = __webpack_require__(244),
symbol_observable_default = __webpack_require__.n(symbol_observable),
ActionTypes = {
INIT: "@@redux/INIT"
};
function createStore_createStore(reducer, preloadedState, enhancer) {
var _ref2;
if ("function" == typeof preloadedState && void 0 === enhancer && (enhancer = preloadedState, preloadedState = void 0), void 0 !== enhancer) {
if ("function" != typeof enhancer) throw new Error("Expected the enhancer to be a function.");
return enhancer(createStore_createStore)(reducer, preloadedState)
}
if ("function" != typeof reducer) throw new Error("Expected the reducer to be a function.");
var currentReducer = reducer,
currentState = preloadedState,
currentListeners = [],
nextListeners = currentListeners,
isDispatching = !1;
function ensureCanMutateNextListeners() {
nextListeners === currentListeners && (nextListeners = currentListeners.slice())
}
function getState() {
return currentState
}
function subscribe(listener) {
if ("function" != typeof listener) throw new Error("Expected listener to be a function.");
var isSubscribed = !0;
return ensureCanMutateNextListeners(), nextListeners.push(listener),
function unsubscribe() {
if (isSubscribed) {
isSubscribed = !1, ensureCanMutateNextListeners();
var index = nextListeners.indexOf(listener);
nextListeners.splice(index, 1)
}
}
}
function dispatch(action) {
if (!Object(isPlainObject.default)(action)) throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
if (void 0 === action.type) throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
if (isDispatching) throw new Error("Reducers may not dispatch actions.");
try {
isDispatching = !0, currentState = currentReducer(currentState, action)
} finally {
isDispatching = !1
}
for (var listeners = currentListeners = nextListeners, i = 0; i < listeners.length; i++) listeners[i]();
return action
}
return dispatch({
type: ActionTypes.INIT
}), (_ref2 = {
dispatch,
subscribe,
getState,
replaceReducer: function replaceReducer(nextReducer) {
if ("function" != typeof nextReducer) throw new Error("Expected the nextReducer to be a function.");
currentReducer = nextReducer, dispatch({
type: ActionTypes.INIT
})
}
})[symbol_observable_default.a] = function observable() {
var _ref, outerSubscribe = subscribe;
return (_ref = {
subscribe: function subscribe(observer) {
if ("object" != typeof observer) throw new TypeError("Expected the observer to be an object.");
function observeState() {
observer.next && observer.next(getState())
}
return observeState(), {
unsubscribe: outerSubscribe(observeState)
}
}
})[symbol_observable_default.a] = function() {
return this
}, _ref
}, _ref2
}
function getUndefinedStateErrorMessage(key, action) {
var actionType = action && action.type;
return "Given action " + (actionType && '"' + actionType.toString() + '"' || "an action") + ', reducer "' + key + '" returned undefined. To ignore an action, you must explicitly return the previous state.'
}
function combineReducers(reducers) {
for (var reducerKeys = Object.keys(reducers), finalReducers = {}, i = 0; i < reducerKeys.length; i++) {
var key = reducerKeys[i];
0, "function" == typeof reducers[key] && (finalReducers[key] = reducers[key])
}
var sanityError, finalReducerKeys = Object.keys(finalReducers);
try {
! function assertReducerSanity(reducers) {
Object.keys(reducers).forEach(function(key) {
var reducer = reducers[key];
if (void 0 === reducer(void 0, {
type: ActionTypes.INIT
})) throw new Error('Reducer "' + key + '" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined.');
if (void 0 === reducer(void 0, {
type: "@@redux/PROBE_UNKNOWN_ACTION_" + Math.random().toString(36).substring(7).split("").join(".")
})) throw new Error('Reducer "' + key + "\" returned undefined when probed with a random type. Don't try to handle " + ActionTypes.INIT + ' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined.')
})
}(finalReducers)
} catch (e) {
sanityError = e
}
return function combination() {
var state = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0],
action = arguments[1];
if (sanityError) throw sanityError;
for (var hasChanged = !1, nextState = {}, i = 0; i < finalReducerKeys.length; i++) {
var key = finalReducerKeys[i],
reducer = finalReducers[key],
previousStateForKey = state[key],
nextStateForKey = reducer(previousStateForKey, action);
if (void 0 === nextStateForKey) {
var errorMessage = getUndefinedStateErrorMessage(key, action);
throw new Error(errorMessage)
}
nextState[key] = nextStateForKey, hasChanged = hasChanged || nextStateForKey !== previousStateForKey
}
return hasChanged ? nextState : state
}
}
function bindActionCreator(actionCreator, dispatch) {
return function() {
return dispatch(actionCreator.apply(void 0, arguments))
}
}
function bindActionCreators(actionCreators, dispatch) {
if ("function" == typeof actionCreators) return bindActionCreator(actionCreators, dispatch);
if ("object" != typeof actionCreators || null === actionCreators) throw new Error("bindActionCreators expected an object or a function, instead received " + (null === actionCreators ? "null" : typeof actionCreators) + '. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');
for (var keys = Object.keys(actionCreators), boundActionCreators = {}, i = 0; i < keys.length; i++) {
var key = keys[i],
actionCreator = actionCreators[key];
"function" == typeof actionCreator && (boundActionCreators[key] = bindActionCreator(actionCreator, dispatch))
}
return boundActionCreators
}
function compose() {
for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) funcs[_key] = arguments[_key];
if (0 === funcs.length) return function(arg) {
return arg
};
if (1 === funcs.length) return funcs[0];
var last = funcs[funcs.length - 1],
rest = funcs.slice(0, -1);
return function() {
return rest.reduceRight(function(composed, f) {
return f(composed)
}, last.apply(void 0, arguments))
}
}
var _extends = Object.assign || function(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key])
}
return target
};
function applyMiddleware() {
for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) middlewares[_key] = arguments[_key];
return function(createStore) {
return function(reducer, preloadedState, enhancer) {
var chain, store = createStore(reducer, preloadedState, enhancer),
_dispatch = store.dispatch,
middlewareAPI = {
getState: store.getState,
dispatch: function dispatch(action) {
return _dispatch(action)
}
};
return chain = middlewares.map(function(middleware) {
return middleware(middlewareAPI)
}), _dispatch = compose.apply(void 0, chain)(store.dispatch), _extends({}, store, {
dispatch: _dispatch
})
}
}
}
__webpack_require__.d(__webpack_exports__, "e", function() {
return createStore_createStore
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return combineReducers
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return bindActionCreators
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return applyMiddleware
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return compose
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayFilter = __webpack_require__(181),
_baseEach = __webpack_require__(212);
var _baseFilter = function baseFilter(collection, predicate) {
var result = [];
return Object(_baseEach.a)(collection, function(value, index, collection) {
predicate(value, index, collection) && result.push(value)
}), result
},
_baseIteratee = __webpack_require__(44),
isArray = __webpack_require__(22);
var lodash_es_filter = function filter(collection, predicate) {
return (Object(isArray.a)(collection) ? _arrayFilter.a : _baseFilter)(collection, Object(_baseIteratee.a)(predicate, 3))
},
lib = (__webpack_require__(610), __webpack_require__(7)),
app_teams_reducer = __webpack_require__(18);
__webpack_require__.d(__webpack_exports__, "c", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getEnterpriseIdForTeamId
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getTeamsInOrg
});
const storeEnterpriseIdPair = Object(lib.createAction)("STORE_ENTERPRISE_ID_PAIR"),
reduce = Object(lib.createReducer)({
[storeEnterpriseIdPair.getType()]: (state, pair) => ({
...state,
[pair.teamId]: pair.enterpriseId
})
}, {});
function getEnterpriseIdForTeamId(store, teamId) {
return null === teamId ? null : store.getState().enterprise[teamId]
}
function getTeamsInOrg(store, teams) {
if (null === teams) return [];
const idMap = store.getState().enterprise,
enterpriseIds = teams.map(team => idMap[team]).filter(x => x);
if (enterpriseIds.length > 0) {
return lodash_es_filter(Object(app_teams_reducer.d)(store), t => enterpriseIds.includes(idMap[t])) || []
}
return []
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var color = __webpack_require__(245),
logger = __webpack_require__(0),
cloneDeep = __webpack_require__(603);
class mock_Mock {
get(...modifiers) {
if (!this.base) throw new Error("Mocks require a base attribute / function");
let obj = "function" == typeof this.base ? this.base() : Object(cloneDeep.a)(this.base);
return modifiers.forEach(modifier => {
const value = this[modifier] || {};
"function" == typeof value ? obj = value(obj) : Object.assign(obj, value)
}), obj
}
}
const themeMock = new class theme_mock_ThemeMock extends mock_Mock {
constructor() {
super(...arguments), this.base = {
active_item: "#D39B46",
active_item_text: "#FFFFFF",
active_presence: "#99D04A",
badge: "#DB6668",
column_bg: "#4D5250",
hover_item: "#434745",
menu_bg: "#444A47",
text_color: "#FFFFFF"
}, this.aubergine = {
active_item: "#4C9689",
active_item_text: "#FFFFFF",
active_presence: "#38978D",
badge: "#EB4D5C",
column_bg: "#4D394B",
hover_item: "#3E313C",
menu_bg: "#3E313C",
text_color: "#FFFFFF"
}, this.hoth = {
active_item: "#CAD1D9",
active_item_text: "#FFFFFF",
active_presence: "#60D156",
badge: "#FF8669",
column_bg: "#F8F8FA",
hover_item: "#FFFFFF",
menu_bg: "#F8F8FA",
text_color: "#383F45"
}, this.monument = {
active_item: "#F79F66",
active_item_text: "#FFFFFF",
active_presence: "#F79F66",
badge: "#F15340",
column_bg: "#0D7E83",
hover_item: "#D37C71",
menu_bg: "#076570",
text_color: "#FFFFFF"
}
}
};
function getSidebarColor(team) {
return getSidebarColorForTeam(team).rgb().string()
}
function getSidebarColorAsHex(team) {
return getSidebarColorForTeam(team).hex().toString()
}
function getTextColor(team) {
return getSidebarColorForTeam(team).light() ? "#000000" : "#FFFFFF"
}
function getWindowChromeBackgroundColor(sidebarColor) {
return color(sidebarColor).darken(.15).rgb().string()
}
function isSidebarColorLight(team) {
return getSidebarColorForTeam(team).light()
}
function getSidebarColorForTeam(team) {
const theme = team && team.theme && team.theme.column_bg ? team.theme : themeMock.get();
let column;
try {
column = color(theme.column_bg)
} catch (error) {
return logger.logger.error("Could not parse theme color", {
color: theme.column_bg
}), getSidebarColorForTeam()
}
return column.light() ? column.darken(.1).desaturate(.1) : column.darken(.5)
}
__webpack_require__.d(__webpack_exports__, "a", function() {
return getSidebarColor
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getSidebarColorAsHex
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return getTextColor
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return getWindowChromeBackgroundColor
}), __webpack_require__.d(__webpack_exports__, "e", function() {
return isSidebarColorLight
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var funcToString = Function.prototype.toString;
__webpack_exports__.a = function toSource(func) {
if (null != func) {
try {
return funcToString.call(func)
} catch (e) {}
try {
return func + ""
} catch (e) {}
}
return ""
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromPromise,
fs = __webpack_require__(249);
module.exports = {
pathExists: u(function pathExists(path) {
return fs.access(path).then(() => !0).catch(() => !1)
}),
pathExistsSync: fs.existsSync
}
}, function(module, exports, __webpack_require__) {
"use strict";
if (exports.base64 = !0, exports.array = !0, exports.string = !0, exports.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, exports.nodebuffer = "undefined" != typeof Buffer, exports.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) exports.blob = !1;
else {
var buffer = new ArrayBuffer(0);
try {
exports.blob = 0 === new Blob([buffer], {
type: "application/zip"
}).size
} catch (e) {
try {
var builder = new(self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder);
builder.append(buffer), exports.blob = 0 === builder.getBlob("application/zip").size
} catch (e) {
exports.blob = !1
}
}
}
try {
exports.nodestream = !!__webpack_require__(334).Readable
} catch (e) {
exports.nodestream = !1
}
}, function(module, exports, __webpack_require__) {
"use strict";
var TYPED_OK = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array;
function _has(obj, key) {
return Object.prototype.hasOwnProperty.call(obj, key)
}
exports.assign = function(obj) {
for (var sources = Array.prototype.slice.call(arguments, 1); sources.length;) {
var source = sources.shift();
if (source) {
if ("object" != typeof source) throw new TypeError(source + "must be non-object");
for (var p in source) _has(source, p) && (obj[p] = source[p])
}
}
return obj
}, exports.shrinkBuf = function(buf, size) {
return buf.length === size ? buf : buf.subarray ? buf.subarray(0, size) : (buf.length = size, buf)
};
var fnTyped = {
arraySet: function(dest, src, src_offs, len, dest_offs) {
if (src.subarray && dest.subarray) dest.set(src.subarray(src_offs, src_offs + len), dest_offs);
else
for (var i = 0; i < len; i++) dest[dest_offs + i] = src[src_offs + i]
},
flattenChunks: function(chunks) {
var i, l, len, pos, chunk, result;
for (len = 0, i = 0, l = chunks.length; i < l; i++) len += chunks[i].length;
for (result = new Uint8Array(len), pos = 0, i = 0, l = chunks.length; i < l; i++) chunk = chunks[i], result.set(chunk, pos), pos += chunk.length;
return result
}
},
fnUntyped = {
arraySet: function(dest, src, src_offs, len, dest_offs) {
for (var i = 0; i < len; i++) dest[dest_offs + i] = src[src_offs + i]
},
flattenChunks: function(chunks) {
return [].concat.apply([], chunks)
}
};
exports.setTyped = function(on) {
on ? (exports.Buf8 = Uint8Array, exports.Buf16 = Uint16Array, exports.Buf32 = Int32Array, exports.assign(exports, fnTyped)) : (exports.Buf8 = Array, exports.Buf16 = Array, exports.Buf32 = Array, exports.assign(exports, fnUntyped))
}, exports.setTyped(TYPED_OK)
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return isPrebuilt
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getDefaultEnvironment
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(615);
const standardEnv = ["COMSPEC", "HOMEDRIVE", "HOMEPATH", "LOGONSERVER", "PATH", "PATHEXT", "PROMPT", "SYSTEMDRIVE", "SYSTEMROOT", "USERDOMAIN", "USERNAME", "USERPROFILE", "ALLUSERSPROFILE", "APPDATA", "CommonProgramFiles", "CommonProgramFiles(x86)", "CommonProgramW6432", "COMPUTERNAME", "DriverData", "LOCALAPPDATA", "NUMBER_OF_PROCESSORS", "OS", "PROCESSOR_ARCHITECTURE", "PROCESSOR_IDENTIFIER", "PROCESSOR_LEVEL", "PROCESSOR_REVISION", "ProgramData", "ProgramFiles", "ProgramFiles(x86)", "ProgramW6432", "PSModulePath", "PUBLIC", "SESSIONNAME", "TEMP", "TMP", "USERDOMAIN_ROAMINGPROFILE", "WINDIR"];
let isRunningFromPrebuilt;
function isPrebuilt() {
return isRunningFromPrebuilt = isRunningFromPrebuilt || !!process.execPath.match(/[\\\/](electron-prebuilt|electron)[\\\/]/)
}
function getDefaultEnvironment() {
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(process.env, standardEnv)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67),
_toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66);
__webpack_exports__.a = function baseGet(object, path) {
for (var index = 0, length = (path = Object(_castPath_js__WEBPACK_IMPORTED_MODULE_0__.a)(path, object)).length; null != object && index < length;) object = object[Object(_toKey_js__WEBPACK_IMPORTED_MODULE_1__.a)(path[index++])];
return index && index == length ? object : void 0
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var MAX_SAFE_INTEGER = 9007199254740991,
reIsUint = /^(?:0|[1-9]\d*)$/;
__webpack_exports__.a = function isIndex(value, length) {
var type = typeof value;
return !!(length = null == length ? MAX_SAFE_INTEGER : length) && ("number" == type || "symbol" != type && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(148);
__webpack_exports__.a = function baseAssignValue(object, key, value) {
"__proto__" == key && _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__.a ? Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, key, {
configurable: !0,
enumerable: !0,
value,
writable: !0
}) : object[key] = value
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var objectProto = Object.prototype;
__webpack_exports__.a = function isPrototype(value) {
var Ctor = value && value.constructor;
return value === ("function" == typeof Ctor && Ctor.prototype || objectProto)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "c", function() {
return selectedWorkspaceChanged
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getSelectedWorkspaceId
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return sonicBaseURL
});
var redux_act__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7),
url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21),
_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1),
_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0),
_utils_url_operations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(167),
_environment_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8);
__webpack_require__(107);
const selectedWorkspaceChanged = Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_2__.n.SELECTION_CHANGED),
SONIC_APP_URL = (Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_2__.n.SELECT_BY_ID), Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_2__.n.SELECT_NEXT), Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_2__.n.SELECT_PREVIOUS), "https://app.slack.com"),
reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createReducer)({
[_actions__WEBPACK_IMPORTED_MODULE_2__.n.SELECTION_CHANGED]: (state, selectedWorkspaceId) => ({
...state,
selectedWorkspaceId
})
}, {
selectedWorkspaceId: null
});
function getSelectedWorkspaceId(store) {
return store.getState().workspacesMeta.selectedWorkspaceId
}
function sonicBaseURL(store) {
const environment = Object(_environment_reducer__WEBPACK_IMPORTED_MODULE_5__.a)(store),
url = new url__WEBPACK_IMPORTED_MODULE_1__.URL(SONIC_APP_URL);
if (environment.devEnv) {
const devEnvURL = (new _utils_url_operations__WEBPACK_IMPORTED_MODULE_4__.a).apply(url.href, environment.devEnv);
return _logger__WEBPACK_IMPORTED_MODULE_3__.logger.info("sonicBaseURL: Booting into devEnv", {
url: devEnvURL
}), devEnvURL
}
return url.href
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getTokenForTeam
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(611),
redux_act__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1),
_renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10),
_background_clients_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17);
const assignApiToken = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("STORE_API_TOKEN"),
reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createReducer)({
[assignApiToken.getType()]: (state, pair) => ({
...state,
[pair.teamId]: pair
}),
[_actions__WEBPACK_IMPORTED_MODULE_2__.j.ADD_NEW_TEAMS]: (state, teams) => {
return {
...state,
...teams.reduce((acc, {
team_id,
token
}) => token ? (acc[team_id] = {
teamId: team_id,
token
}, acc) : acc, {})
}
},
[_actions__WEBPACK_IMPORTED_MODULE_2__.j.REMOVE_TEAMS]: (state, teamIds) => Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(state, teamIds),
[_background_clients_reducer__WEBPACK_IMPORTED_MODULE_4__.b.getType()]: (state, error) => error.code === _renderer_background_interfaces__WEBPACK_IMPORTED_MODULE_3__.c.FATAL ? Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(state, error.teamId) : state
}, {});
function getTokenForTeam(store, teamId) {
const tokens = function getTokens(store) {
return store.getState().tokens
}(store);
return tokens[teamId] ? tokens[teamId].token : null
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "d", function() {
return reduxUpdateFromWebapp
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getWebappStateForTeam
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getWebappUnreads
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(611),
redux_act__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7),
reselect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(53),
_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4);
const BOGUS_TEAM_ID = "T0000000",
reduxUpdateFromWebapp = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)("REDUX_UPDATE_FROM_WEBAPP"),
reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createReducer)({
[reduxUpdateFromWebapp.getType()]: (state, payload) => {
const teams = payload.teams ? function mergeTeamsUpdate(prevTeams, teamsUpdate) {
return Object.entries(teamsUpdate).filter(([teamId]) => teamId !== BOGUS_TEAM_ID).map(([teamId, update]) => ({
[teamId]: {
...prevTeams[teamId] || {},
...update
}
})).reduce((obj, teamState) => ({
...obj,
...teamState
}), prevTeams)
}(state.teams, payload.teams) : state.teams;
return {
...state,
teams
}
},
[_actions__WEBPACK_IMPORTED_MODULE_3__.j.REMOVE_TEAMS]: (state, payload) => ({
...state,
teams: Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(state.teams, payload)
})
}, {
teams: {}
}),
getWebappState = state => state.webapp.teams;
function getWebappStateForTeam(store, teamId) {
return getWebappState(store.getState())[teamId]
}
const getBootConfigs = Object(reselect__WEBPACK_IMPORTED_MODULE_2__.a)(getWebappState, teamsState => Object.values(teamsState).filter(teamState => !!teamState && teamState.bootConfig).map(({
bootConfig
}) => bootConfig));
Object(reselect__WEBPACK_IMPORTED_MODULE_2__.a)(getBootConfigs, configs => 0 === configs.length ? _utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__.b.UNSET : configs.some(({
isSonicDisabled
}) => isSonicDisabled) ? _utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__.b.UNSET : configs.some(({
isSonicEnabled
}) => isSonicEnabled) ? _utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__.b.ONCE : _utils_shared_constants__WEBPACK_IMPORTED_MODULE_4__.b.UNSET);
const getWebappUnreads = Object(reselect__WEBPACK_IMPORTED_MODULE_2__.a)(state => state.webapp.teams, teams => Object.entries(teams).reduce((unreads, [teamId, team]) => (unreads[teamId] = {
...team.unreads,
teamId
}, unreads), {}))
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _listCacheClear = function listCacheClear() {
this.__data__ = [], this.size = 0
},
eq = __webpack_require__(74);
var _assocIndexOf = function assocIndexOf(array, key) {
for (var length = array.length; length--;)
if (Object(eq.a)(array[length][0], key)) return length;
return -1
},
splice = Array.prototype.splice;
var _listCacheDelete = function listCacheDelete(key) {
var data = this.__data__,
index = _assocIndexOf(data, key);
return !(index < 0 || (index == data.length - 1 ? data.pop() : splice.call(data, index, 1), --this.size, 0))
};
var _listCacheGet = function listCacheGet(key) {
var data = this.__data__,
index = _assocIndexOf(data, key);
return index < 0 ? void 0 : data[index][1]
};
var _listCacheHas = function listCacheHas(key) {
return _assocIndexOf(this.__data__, key) > -1
};
var _listCacheSet = function listCacheSet(key, value) {
var data = this.__data__,
index = _assocIndexOf(data, key);
return index < 0 ? (++this.size, data.push([key, value])) : data[index][1] = value, this
};
function ListCache(entries) {
var index = -1,
length = null == entries ? 0 : entries.length;
for (this.clear(); ++index < length;) {
var entry = entries[index];
this.set(entry[0], entry[1])
}
}
ListCache.prototype.clear = _listCacheClear, ListCache.prototype.delete = _listCacheDelete, ListCache.prototype.get = _listCacheGet, ListCache.prototype.has = _listCacheHas, ListCache.prototype.set = _listCacheSet;
__webpack_exports__.a = ListCache
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var error_stack_parser = __webpack_require__(161),
lib = __webpack_require__(9),
cloneDeep = __webpack_require__(603),
_baseGetTag = __webpack_require__(40),
isObjectLike = __webpack_require__(29),
isPlainObject = __webpack_require__(64),
domExcTag = "[object DOMException]",
errorTag = "[object Error]";
var lodash_es_isError = function isError(value) {
if (!Object(isObjectLike.a)(value)) return !1;
var tag = Object(_baseGetTag.a)(value);
return tag == errorTag || tag == domExcTag || "string" == typeof value.message && "string" == typeof value.name && !Object(isPlainObject.default)(value)
},
pick = __webpack_require__(615),
isObject = __webpack_require__(63),
external_path_ = __webpack_require__(6),
external_readline_ = __webpack_require__(370),
Observable_ = __webpack_require__(5);
__webpack_require__.d(__webpack_exports__, "a", function() {
return redactApiTokens
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return redactApiTokensInFile
});
const tokenRegex = /(xox[c|s]-)[\w-]*/g;
function redactApiTokens(msgInput, metaInput) {
let message, metaObject, metaValue;
return msgInput && "string" == typeof msgInput && (message = replaceToken(msgInput)), metaInput && ("object" == typeof metaInput ? function traverseObject(input) {
const keys = Object.keys(input);
for (let i = 0, l = keys.length; i < l; i++)
if ("string" == typeof input[keys[i]]) input[keys[i]] = replaceToken(input[keys[i]]);
else if (input[keys[i]])
if (lodash_es_isError(input[keys[i]])) try {
input[keys[i]] = Object(pick.a)(input[keys[i]], Object.getOwnPropertyNames(input[keys[i]])), input.stackFrameString = JSON.stringify(error_stack_parser.parse(input[keys[i]]))
} catch (e) {
input[keys[i]] = {
message: input[keys[i]].message,
stack: input[keys[i]].stack
}
} else Object(isObject.a)(input[keys[i]]) && traverseObject(input[keys[i]])
}(metaObject = Object(cloneDeep.a)(metaInput)) : metaValue = metaInput), {
message,
metaObject,
metaValue
}
}
function replaceToken(input) {
return input.replace(tokenRegex, "$1⋯")
}
async function redactApiTokensInFile(filepath) {
await async function transformFileByLines(filepath, transform) {
const tempDirectory = process.env.TMPDIR || process.env.TEMP || "/tmp",
tmp = external_path_.join(tempDirectory, external_path_.basename(filepath));
await lib.move(filepath, tmp, {
overwrite: !0
});
const rl = external_readline_.createInterface({
input: lib.createReadStream(tmp)
}),
tmpStream = lib.createWriteStream(filepath);
await Observable_.Observable.fromEvent(rl, "line").takeUntil(Observable_.Observable.fromEvent(rl, "close")).do(line => tmpStream.write(`${transform(line)}\n`)).finally(() => tmpStream.end()).toPromise()
}(filepath, line => redactApiTokens(line).message)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGetTag = __webpack_require__(40),
isLength = __webpack_require__(128),
isObjectLike = __webpack_require__(29),
typedArrayTags = {};
typedArrayTags["[object Float32Array]"] = typedArrayTags["[object Float64Array]"] = typedArrayTags["[object Int8Array]"] = typedArrayTags["[object Int16Array]"] = typedArrayTags["[object Int32Array]"] = typedArrayTags["[object Uint8Array]"] = typedArrayTags["[object Uint8ClampedArray]"] = typedArrayTags["[object Uint16Array]"] = typedArrayTags["[object Uint32Array]"] = !0, typedArrayTags["[object Arguments]"] = typedArrayTags["[object Array]"] = typedArrayTags["[object ArrayBuffer]"] = typedArrayTags["[object Boolean]"] = typedArrayTags["[object DataView]"] = typedArrayTags["[object Date]"] = typedArrayTags["[object Error]"] = typedArrayTags["[object Function]"] = typedArrayTags["[object Map]"] = typedArrayTags["[object Number]"] = typedArrayTags["[object Object]"] = typedArrayTags["[object RegExp]"] = typedArrayTags["[object Set]"] = typedArrayTags["[object String]"] = typedArrayTags["[object WeakMap]"] = !1;
var _baseIsTypedArray = function baseIsTypedArray(value) {
return Object(isObjectLike.a)(value) && Object(isLength.a)(value.length) && !!typedArrayTags[Object(_baseGetTag.a)(value)]
},
_baseUnary = __webpack_require__(75),
_nodeUtil = __webpack_require__(87),
nodeIsTypedArray = _nodeUtil.a && _nodeUtil.a.isTypedArray,
isTypedArray = nodeIsTypedArray ? Object(_baseUnary.a)(nodeIsTypedArray) : _baseIsTypedArray;
__webpack_exports__.a = isTypedArray
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var pickBy = __webpack_require__(607),
sortBy = __webpack_require__(612),
isEmpty = __webpack_require__(606),
_baseDifference = __webpack_require__(190),
_baseRest = __webpack_require__(76),
isArrayLikeObject = __webpack_require__(85),
lodash_es_without = Object(_baseRest.a)(function(array, values) {
return Object(isArrayLikeObject.a)(array) ? Object(_baseDifference.a)(array, values) : []
}),
lib = __webpack_require__(7),
es = __webpack_require__(53),
actions = __webpack_require__(1),
logger = __webpack_require__(0),
shared_constants = __webpack_require__(4);
__webpack_require__.d(__webpack_exports__, "d", function() {
return syncWorkspaces
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getWorkspaces
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return hasTeamsOrWorkspaces
});
const syncWorkspaces = Object(lib.createAction)(actions.n.SYNC, payload => payload, payload => ({
logPayload: logMessageForWorkspaceSync(payload)
})),
reduce = Object(lib.createReducer)({
[actions.n.SYNC]: (state, payload) => payload ? Object(pickBy.a)(payload, validateWorkspace) : state
}, {});
function getWorkspaces(store) {
return store.getState().workspaces
}
const getOrderedWorkspaceIds = Object(es.a)(state => state.workspaces, workspaces => Object(sortBy.a)(workspaces, ({
order
}) => order).map(({
id
}) => id)),
hasTeamsOrWorkspaces = (Object(es.a)(getOrderedWorkspaceIds, workspaceIds => workspaceIds.length), Object(es.a)([state => state.workspaces, state => state.teams, state => state.environment.isSonic], (workspaces, teams) => workspaces && Object.keys(workspaces).length > 0 || teams && Object.keys(teams).length > 0));
Object(es.a)([state => state.workspaces, state => state.appTeams.teamsByIndex, state => state.environment.isSonic], (workspaces, teamIds, useWorkspaces) => {
return (useWorkspaces ? Object.keys(workspaces) : teamIds).some(id => shared_constants.m.includes(id))
});
const REQUIRED_WORKSPACE_KEYS = ["id", "name", "icon"];
function validateWorkspace(workspace) {
if (!workspace) return !1;
if (Object(isEmpty.a)(workspace)) return !1;
const missingKeys = lodash_es_without(REQUIRED_WORKSPACE_KEYS, ...Object.keys(workspace));
return !(missingKeys.length > 0) || (logger.logger.warn(`Skipping workspace ${workspace.id} because missing keys`, {
missingKeys
}), !1)
}
function logMessageForWorkspaceSync(payload) {
if (!payload || Object(isEmpty.a)(payload)) return "Bad or empty workspaces payload";
const workspaceIds = Object.keys(payload);
return `Synced ${workspaceIds.length} workspaces with IDs [${workspaceIds}]`
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51),
_root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32),
Map = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__.a)(_root_js__WEBPACK_IMPORTED_MODULE_1__.a, "Map");
__webpack_exports__.a = Map
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return uniqueId
});
const hashIds = new(__webpack_require__(472)),
pid = process.pid;
let currentId = 1;
function uniqueId() {
return hashIds.encode(pid, ++currentId, Date.now())
}
}, function(module, exports) {
module.exports = require("rxjs/Subject")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51),
_root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32),
Set = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__.a)(_root_js__WEBPACK_IMPORTED_MODULE_1__.a, "Set");
__webpack_exports__.a = Set
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var emscripten_wasm_loader_1 = __webpack_require__(160),
logInstance = function() {};
exports.log = function() {
for (var args = [], _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
return logInstance.apply(void 0, args)
};
exports.enableLogger = function(logger) {
var scopedLogger = function(scope) {
return function(message) {
for (var optionalParams = [], _i = 1; _i < arguments.length; _i++) optionalParams[_i - 1] = arguments[_i];
logger.apply(void 0, [scope + "::" + message].concat(optionalParams))
}
};
logInstance = scopedLogger("hunspell"), emscripten_wasm_loader_1.enableLogger(scopedLogger("hunspellLoader"))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
function isSnap() {
return !1
}
__webpack_require__.d(__webpack_exports__, "a", function() {
return isSnap
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
function getTimestamp(d = new Date) {
const ms = d.getMilliseconds().toString().padStart(3, "0"),
ss = d.getSeconds().toString().padStart(2, "0"),
mm = d.getMinutes().toString().padStart(2, "0"),
hh = d.getHours().toString().padStart(2, "0");
return `${(d.getMonth()+1).toString().padStart(2,"0")}/${d.getDate().toString().padStart(2,"0")}/${d.getFullYear().toString().slice(2)}, ${hh}:${mm}:${ss}:${ms}`
}
function getFileTimestamp(d = new Date) {
const ss = d.getSeconds().toString().padStart(2, "0"),
mm = d.getMinutes().toString().padStart(2, "0"),
hh = d.getHours().toString().padStart(2, "0"),
MM = (d.getMonth() + 1).toString().padStart(2, "0"),
DD = d.getDate().toString().padStart(2, "0");
return `${d.getFullYear().toString().slice(2)}-${MM}-${DD}_${hh}-${mm}-${ss}`
}
__webpack_require__.d(__webpack_exports__, "b", function() {
return getTimestamp
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getFileTimestamp
})
}, function(__webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "c", function() {
return transferHandlers
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return expose
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return wrap
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return proxy
});
const proxyMarker = Symbol("Comlink.proxy"),
createEndpoint = Symbol("Comlink.endpoint"),
throwSet = new WeakSet,
transferHandlers = new Map([
["proxy", {
canHandle: obj => obj && obj[proxyMarker],
serialize(obj) {
const {
port1,
port2
} = new MessageChannel;
return expose(obj, port1), [port2, [port2]]
},
deserialize: port => (port.start(), wrap(port))
}],
["throw", {
canHandle: obj => throwSet.has(obj),
serialize(obj) {
const isError = obj instanceof Error;
let serialized = obj;
return isError && (serialized = {
isError,
message: obj.message,
stack: obj.stack
}), [serialized, []]
},
deserialize(obj) {
if (obj.isError) throw Object.assign(new Error, obj);
throw obj
}
}]
]);
function expose(obj, ep = self) {
ep.addEventListener("message", async ev => {
if (!ev || !ev.data) return;
const {
id,
type,
path
} = {
path: [],
...ev.data
}, argumentList = (ev.data.argumentList || []).map(fromWireValue);
let returnValue;
try {
const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj),
rawValue = path.reduce((obj, prop) => obj[prop], obj);
switch (type) {
case 0:
returnValue = await rawValue;
break;
case 1:
parent[path.slice(-1)[0]] = fromWireValue(ev.data.value), returnValue = !0;
break;
case 2:
returnValue = await rawValue.apply(parent, argumentList);
break;
case 3:
returnValue = proxy(await new rawValue(...argumentList));
break;
case 4: {
const {
port1,
port2
} = new MessageChannel;
expose(obj, port2), returnValue = function transfer(obj, transfers) {
return transferCache.set(obj, transfers), obj
}(port1, [port1])
}
break;
default:
console.warn("Unrecognized message", ev.data)
}
} catch (e) {
returnValue = e, throwSet.add(e)
}
const [wireValue, transferables] = toWireValue(returnValue);
ep.postMessage({
...wireValue,
id
}, transferables)
}), ep.start && ep.start()
}
function wrap(ep) {
return function createProxy(ep, path = []) {
const proxy = new Proxy(function() {}, {
get(_target, prop) {
if ("then" === prop) {
if (0 === path.length) return {
then: () => proxy
};
const r = requestResponseMessage(ep, {
type: 0,
path: path.map(p => p.toString())
}).then(fromWireValue);
return r.then.bind(r)
}
return createProxy(ep, [...path, prop])
},
set(_target, prop, rawValue) {
const [value, transferables] = toWireValue(rawValue);
return requestResponseMessage(ep, {
type: 1,
path: [...path, prop].map(p => p.toString()),
value
}, transferables).then(fromWireValue)
},
apply(_target, _thisArg, rawArgumentList) {
const last = path[path.length - 1];
if (last === createEndpoint) return requestResponseMessage(ep, {
type: 4
}).then(fromWireValue);
if ("bind" === last) return createProxy(ep, path.slice(0, -1));
const [argumentList, transferables] = processArguments(rawArgumentList);
return requestResponseMessage(ep, {
type: 2,
path: path.map(p => p.toString()),
argumentList
}, transferables).then(fromWireValue)
},
construct(_target, rawArgumentList) {
const [argumentList, transferables] = processArguments(rawArgumentList);
return requestResponseMessage(ep, {
type: 3,
path: path.map(p => p.toString()),
argumentList
}, transferables).then(fromWireValue)
}
});
return proxy
}(ep)
}
function processArguments(argumentList) {
const processed = argumentList.map(toWireValue);
return [processed.map(v => v[0]), (arr = processed.map(v => v[1]), Array.prototype.concat.apply([], arr))];
var arr
}
const transferCache = new WeakMap;
function proxy(obj) {
return Object.assign(obj, {
[proxyMarker]: !0
})
}
function toWireValue(value) {
for (const [name, handler] of transferHandlers)
if (handler.canHandle(value)) {
const [serializedValue, transferables] = handler.serialize(value);
return [{
type: 3,
name,
value: serializedValue
}, transferables]
} return [{
type: 0,
value
}, transferCache.get(value) || []]
}
function fromWireValue(value) {
switch (value.type) {
case 3:
return transferHandlers.get(value.name).deserialize(value.value);
case 0:
return value.value
}
}
function requestResponseMessage(ep, msg, transfers) {
return new Promise(resolve => {
const id = function generateUUID() {
return new Array(4).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)).join("-")
}();
ep.addEventListener("message", function l(ev) {
ev.data && ev.data.id && ev.data.id === id && (ep.removeEventListener("message", l), resolve(ev.data))
}), ep.start && ep.start(), ep.postMessage({
id,
...msg
}, transfers)
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "SettingActions", function() {
return SettingActions
}), __webpack_require__.d(__webpack_exports__, "settingActions", function() {
return settingActions
});
var _lib_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3),
___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
class SettingActions {
updateSettings(settings) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_1__.i.UPDATE_SETTINGS,
payload: settings
})
}
zoomIn() {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_1__.i.ZOOM_IN
})
}
zoomOut() {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_1__.i.ZOOM_OUT
})
}
resetZoom() {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_1__.i.RESET_ZOOM
})
}
}
const settingActions = new SettingActions
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return teamStore
});
var _lib_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
const teamStore = new class TeamStore {
get teams() {
return _lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.getState().teams
}
getTeamIds() {
return Object.keys(this.teams)
}
getTeam(teamId) {
return teamId ? this.teams[teamId] : null
}
getNumTeams() {
return this.getTeamIds().length
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var PerformanceEvent;
__webpack_require__.d(__webpack_exports__, "b", function() {
return formatHrTime
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return calcHrTime
}),
function(PerformanceEvent) {
PerformanceEvent.BOOT = "BOOT", PerformanceEvent.APP_READY = "APP_READY", PerformanceEvent.SHELL = "SHELL", PerformanceEvent.APP_CREATED = "APP_CREATED", PerformanceEvent.MAIN_WINDOW_CREATING = "MAIN_WINDOW_CREATING", PerformanceEvent.MAIN_WINDOW_CREATED = "MAIN_WINDOW_CREATED", PerformanceEvent.MAIN_WINDOW_LOADED = "MAIN_WINDOW_LOADED", PerformanceEvent.PRELOAD_STARTED = "PRELOAD_STARTED", PerformanceEvent.PRELOAD_READY = "PRELOAD_READY", PerformanceEvent.DID_FINISH_LOADING = "DID_FINISH_LOADING"
}(PerformanceEvent || (PerformanceEvent = {}));
const formatHrTime = hrtime => {
const nanoseconds = 1e9 * hrtime[0] + hrtime[1];
return {
seconds: nanoseconds / 1e9,
milliseconds: nanoseconds / 1e6,
nanoseconds
}
},
calcHrTime = (from, to) => {
if (!Array.isArray(from) || !Array.isArray(to) || 2 !== from.length || 2 !== to.length) return Number.NaN;
const fromNs = formatHrTime(from).nanoseconds;
return (formatHrTime(to).nanoseconds - fromNs) / 1e6
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _getNative = __webpack_require__(51),
_nativeCreate = Object(_getNative.a)(Object, "create");
var _hashClear = function hashClear() {
this.__data__ = _nativeCreate ? _nativeCreate(null) : {}, this.size = 0
};
var _hashDelete = function hashDelete(key) {
var result = this.has(key) && delete this.__data__[key];
return this.size -= result ? 1 : 0, result
},
HASH_UNDEFINED = "__lodash_hash_undefined__",
_hashGet_hasOwnProperty = Object.prototype.hasOwnProperty;
var _hashGet = function hashGet(key) {
var data = this.__data__;
if (_nativeCreate) {
var result = data[key];
return result === HASH_UNDEFINED ? void 0 : result
}
return _hashGet_hasOwnProperty.call(data, key) ? data[key] : void 0
},
_hashHas_hasOwnProperty = Object.prototype.hasOwnProperty;
var _hashHas = function hashHas(key) {
var data = this.__data__;
return _nativeCreate ? void 0 !== data[key] : _hashHas_hasOwnProperty.call(data, key)
},
_hashSet_HASH_UNDEFINED = "__lodash_hash_undefined__";
var _hashSet = function hashSet(key, value) {
var data = this.__data__;
return this.size += this.has(key) ? 0 : 1, data[key] = _nativeCreate && void 0 === value ? _hashSet_HASH_UNDEFINED : value, this
};
function Hash(entries) {
var index = -1,
length = null == entries ? 0 : entries.length;
for (this.clear(); ++index < length;) {
var entry = entries[index];
this.set(entry[0], entry[1])
}
}
Hash.prototype.clear = _hashClear, Hash.prototype.delete = _hashDelete, Hash.prototype.get = _hashGet, Hash.prototype.has = _hashHas, Hash.prototype.set = _hashSet;
var _Hash = Hash,
_ListCache = __webpack_require__(104),
_Map = __webpack_require__(108);
var _mapCacheClear = function mapCacheClear() {
this.size = 0, this.__data__ = {
hash: new _Hash,
map: new(_Map.a || _ListCache.a),
string: new _Hash
}
};
var _isKeyable = function isKeyable(value) {
var type = typeof value;
return "string" == type || "number" == type || "symbol" == type || "boolean" == type ? "__proto__" !== value : null === value
};
var _getMapData = function getMapData(map, key) {
var data = map.__data__;
return _isKeyable(key) ? data["string" == typeof key ? "string" : "hash"] : data.map
};
var _mapCacheDelete = function mapCacheDelete(key) {
var result = _getMapData(this, key).delete(key);
return this.size -= result ? 1 : 0, result
};
var _mapCacheGet = function mapCacheGet(key) {
return _getMapData(this, key).get(key)
};
var _mapCacheHas = function mapCacheHas(key) {
return _getMapData(this, key).has(key)
};
var _mapCacheSet = function mapCacheSet(key, value) {
var data = _getMapData(this, key),
size = data.size;
return data.set(key, value), this.size += data.size == size ? 0 : 1, this
};
function MapCache(entries) {
var index = -1,
length = null == entries ? 0 : entries.length;
for (this.clear(); ++index < length;) {
var entry = entries[index];
this.set(entry[0], entry[1])
}
}
MapCache.prototype.clear = _mapCacheClear, MapCache.prototype.delete = _mapCacheDelete, MapCache.prototype.get = _mapCacheGet, MapCache.prototype.has = _mapCacheHas, MapCache.prototype.set = _mapCacheSet;
__webpack_exports__.a = MapCache
}, function(module, exports, __webpack_require__) {
"use strict";
const setLevelSym = Symbol("pino.setLevel"),
getLevelSym = Symbol("pino.getLevel"),
levelValSym = Symbol("pino.levelVal"),
useLevelLabelsSym = Symbol("pino.useLevelLabels"),
changeLevelNameSym = Symbol("pino.changeLevelName"),
useOnlyCustomLevelsSym = Symbol("pino.useOnlyCustomLevels"),
lsCacheSym = Symbol("pino.lsCache"),
chindingsSym = Symbol("pino.chindings"),
parsedChindingsSym = Symbol("pino.parsedChindings"),
asJsonSym = Symbol("pino.asJson"),
writeSym = Symbol("pino.write"),
redactFmtSym = Symbol("pino.redactFmt"),
timeSym = Symbol("pino.time"),
streamSym = Symbol("pino.stream"),
stringifySym = Symbol("pino.stringify"),
stringifiersSym = Symbol("pino.stringifiers"),
endSym = Symbol("pino.end"),
formatOptsSym = Symbol("pino.formatOpts"),
messageKeyStringSym = Symbol("pino.messageKeyString"),
wildcardFirstSym = Symbol("pino.wildcardFirst"),
serializersSym = Symbol.for("pino.serializers"),
wildcardGsym = Symbol.for("pino.*"),
needsMetadataGsym = Symbol.for("pino.metadata");
module.exports = {
setLevelSym,
getLevelSym,
levelValSym,
useLevelLabelsSym,
lsCacheSym,
chindingsSym,
parsedChindingsSym,
asJsonSym,
writeSym,
serializersSym,
redactFmtSym,
timeSym,
streamSym,
stringifySym,
stringifiersSym,
endSym,
formatOptsSym,
messageKeyStringSym,
wildcardFirstSym,
changeLevelNameSym,
wildcardGsym,
needsMetadataGsym,
useOnlyCustomLevelsSym
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__(287), __webpack_require__(288), __webpack_require__(289), __webpack_require__(290), __webpack_require__(291), __webpack_require__(292), __webpack_require__(293), __webpack_require__(294), __webpack_require__(295), __webpack_require__(296), __webpack_require__(297), __webpack_require__(298), __webpack_require__(299), __webpack_require__(300), __webpack_require__(301), __webpack_require__(302), __webpack_require__(303), __webpack_require__(304), __webpack_require__(305), __webpack_require__(306), __webpack_require__(482), __webpack_require__(307), __webpack_require__(308), __webpack_require__(309), __webpack_require__(310), __webpack_require__(311), __webpack_require__(312), __webpack_require__(313), __webpack_require__(314), __webpack_require__(315), __webpack_require__(316), __webpack_require__(317), __webpack_require__(318), __webpack_require__(319), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333)
}, function(module, exports, __webpack_require__) {
"use strict";
for (var utils = __webpack_require__(28), support = __webpack_require__(94), nodejsUtils = __webpack_require__(175), GenericWorker = __webpack_require__(62), _utf8len = new Array(256), i = 0; i < 256; i++) _utf8len[i] = i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1;
_utf8len[254] = _utf8len[254] = 1;
function Utf8DecodeWorker() {
GenericWorker.call(this, "utf-8 decode"), this.leftOver = null
}
function Utf8EncodeWorker() {
GenericWorker.call(this, "utf-8 encode")
}
exports.utf8encode = function utf8encode(str) {
return support.nodebuffer ? nodejsUtils.newBufferFrom(str, "utf-8") : function(str) {
var buf, c, c2, m_pos, i, str_len = str.length,
buf_len = 0;
for (m_pos = 0; m_pos < str_len; m_pos++) 55296 == (64512 & (c = str.charCodeAt(m_pos))) && m_pos + 1 < str_len && 56320 == (64512 & (c2 = str.charCodeAt(m_pos + 1))) && (c = 65536 + (c - 55296 << 10) + (c2 - 56320), m_pos++), buf_len += c < 128 ? 1 : c < 2048 ? 2 : c < 65536 ? 3 : 4;
for (buf = support.uint8array ? new Uint8Array(buf_len) : new Array(buf_len), i = 0, m_pos = 0; i < buf_len; m_pos++) 55296 == (64512 & (c = str.charCodeAt(m_pos))) && m_pos + 1 < str_len && 56320 == (64512 & (c2 = str.charCodeAt(m_pos + 1))) && (c = 65536 + (c - 55296 << 10) + (c2 - 56320), m_pos++), c < 128 ? buf[i++] = c : c < 2048 ? (buf[i++] = 192 | c >>> 6, buf[i++] = 128 | 63 & c) : c < 65536 ? (buf[i++] = 224 | c >>> 12, buf[i++] = 128 | c >>> 6 & 63, buf[i++] = 128 | 63 & c) : (buf[i++] = 240 | c >>> 18, buf[i++] = 128 | c >>> 12 & 63, buf[i++] = 128 | c >>> 6 & 63, buf[i++] = 128 | 63 & c);
return buf
}(str)
}, exports.utf8decode = function utf8decode(buf) {
return support.nodebuffer ? utils.transformTo("nodebuffer", buf).toString("utf-8") : function(buf) {
var i, out, c, c_len, len = buf.length,
utf16buf = new Array(2 * len);
for (out = 0, i = 0; i < len;)
if ((c = buf[i++]) < 128) utf16buf[out++] = c;
else if ((c_len = _utf8len[c]) > 4) utf16buf[out++] = 65533, i += c_len - 1;
else {
for (c &= 2 === c_len ? 31 : 3 === c_len ? 15 : 7; c_len > 1 && i < len;) c = c << 6 | 63 & buf[i++], c_len--;
c_len > 1 ? utf16buf[out++] = 65533 : c < 65536 ? utf16buf[out++] = c : (c -= 65536, utf16buf[out++] = 55296 | c >> 10 & 1023, utf16buf[out++] = 56320 | 1023 & c)
}
return utf16buf.length !== out && (utf16buf.subarray ? utf16buf = utf16buf.subarray(0, out) : utf16buf.length = out), utils.applyFromCharCode(utf16buf)
}(buf = utils.transformTo(support.uint8array ? "uint8array" : "array", buf))
}, utils.inherits(Utf8DecodeWorker, GenericWorker), Utf8DecodeWorker.prototype.processChunk = function(chunk) {
var data = utils.transformTo(support.uint8array ? "uint8array" : "array", chunk.data);
if (this.leftOver && this.leftOver.length) {
if (support.uint8array) {
var previousData = data;
(data = new Uint8Array(previousData.length + this.leftOver.length)).set(this.leftOver, 0), data.set(previousData, this.leftOver.length)
} else data = this.leftOver.concat(data);
this.leftOver = null
}
var nextBoundary = function(buf, max) {
var pos;
for ((max = max || buf.length) > buf.length && (max = buf.length), pos = max - 1; pos >= 0 && 128 == (192 & buf[pos]);) pos--;
return pos < 0 ? max : 0 === pos ? max : pos + _utf8len[buf[pos]] > max ? pos : max
}(data),
usableData = data;
nextBoundary !== data.length && (support.uint8array ? (usableData = data.subarray(0, nextBoundary), this.leftOver = data.subarray(nextBoundary, data.length)) : (usableData = data.slice(0, nextBoundary), this.leftOver = data.slice(nextBoundary, data.length))), this.push({
data: exports.utf8decode(usableData),
meta: chunk.meta
})
}, Utf8DecodeWorker.prototype.flush = function() {
this.leftOver && this.leftOver.length && (this.push({
data: exports.utf8decode(this.leftOver),
meta: {}
}), this.leftOver = null)
}, exports.Utf8DecodeWorker = Utf8DecodeWorker, utils.inherits(Utf8EncodeWorker, GenericWorker), Utf8EncodeWorker.prototype.processChunk = function(chunk) {
this.push({
data: exports.utf8encode(chunk.data),
meta: chunk.meta
})
}, exports.Utf8EncodeWorker = Utf8EncodeWorker
}, function(module, exports, __webpack_require__) {
"use strict";
var pna = __webpack_require__(173),
objectKeys = Object.keys || function(obj) {
var keys = [];
for (var key in obj) keys.push(key);
return keys
};
module.exports = Duplex;
var util = __webpack_require__(157);
util.inherits = __webpack_require__(158);
var Readable = __webpack_require__(335),
Writable = __webpack_require__(338);
util.inherits(Duplex, Readable);
for (var keys = objectKeys(Writable.prototype), v = 0; v < keys.length; v++) {
var method = keys[v];
Duplex.prototype[method] || (Duplex.prototype[method] = Writable.prototype[method])
}
function Duplex(options) {
if (!(this instanceof Duplex)) return new Duplex(options);
Readable.call(this, options), Writable.call(this, options), options && !1 === options.readable && (this.readable = !1), options && !1 === options.writable && (this.writable = !1), this.allowHalfOpen = !0, options && !1 === options.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", onend)
}
function onend() {
this.allowHalfOpen || this._writableState.ended || pna.nextTick(onEndNT, this)
}
function onEndNT(self) {
self.end()
}
Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
enumerable: !1,
get: function() {
return this._writableState.highWaterMark
}
}), Object.defineProperty(Duplex.prototype, "destroyed", {
get: function() {
return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed)
},
set: function(value) {
void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = value, this._writableState.destroyed = value)
}
}), Duplex.prototype._destroy = function(err, cb) {
this.push(null), this.end(), pna.nextTick(cb, err)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40),
_isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63),
asyncTag = "[object AsyncFunction]",
funcTag = "[object Function]",
genTag = "[object GeneratorFunction]",
proxyTag = "[object Proxy]";
__webpack_exports__.a = function isFunction(value) {
if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__.a)(value)) return !1;
var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__.a)(value);
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function arrayPush(array, values) {
for (var index = -1, length = values.length, offset = array.length; ++index < length;) array[offset + index] = values[index];
return array
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22),
_isSymbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65),
reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
reIsPlainProp = /^\w*$/;
__webpack_exports__.a = function isKey(value, object) {
if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__.a)(value)) return !1;
var type = typeof value;
return !("number" != type && "symbol" != type && "boolean" != type && null != value && !Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_1__.default)(value)) || reIsPlainProp.test(value) || !reIsDeepProp.test(value) || null != object && value in Object(object)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(99),
_eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74),
hasOwnProperty = Object.prototype.hasOwnProperty;
__webpack_exports__.a = function assignValue(object, key, value) {
var objValue = object[key];
hasOwnProperty.call(object, key) && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__.a)(objValue, value) && (void 0 !== value || key in object) || Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, key, value)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var MAX_SAFE_INTEGER = 9007199254740991;
__webpack_exports__.a = function isLength(value) {
return "number" == typeof value && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function cacheHas(cache, key) {
return cache.has(key)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function setToArray(set) {
var index = -1,
result = Array(set.size);
return set.forEach(function(value) {
result[++index] = value
}), result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(181),
_stubArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(180),
propertyIsEnumerable = Object.prototype.propertyIsEnumerable,
nativeGetSymbols = Object.getOwnPropertySymbols,
getSymbols = nativeGetSymbols ? function(object) {
return null == object ? [] : (object = Object(object), Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__.a)(nativeGetSymbols(object), function(symbol) {
return propertyIsEnumerable.call(object, symbol)
}))
} : _stubArray_js__WEBPACK_IMPORTED_MODULE_1__.a;
__webpack_exports__.a = getSymbols
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(211),
_keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
__webpack_exports__.a = function baseForOwn(object, iteratee) {
return object && Object(_baseFor_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__.a)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(178),
_getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(182),
_keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78);
__webpack_exports__.a = function getAllKeysIn(object) {
return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, _keysIn_js__WEBPACK_IMPORTED_MODULE_2__.a, _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__.a)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(179),
getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__.a)(Object.getPrototypeOf, Object);
__webpack_exports__.a = getPrototype
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(149);
__webpack_exports__.a = function cloneArrayBuffer(arrayBuffer) {
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
return new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__.a(result).set(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__.a(arrayBuffer)), result
}
}, function(module, exports) {
module.exports = require("child_process")
}, function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = !0;
exports.KEY_PREFIX = "reduxPersist:", exports.REHYDRATE = "persist/REHYDRATE"
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var ReleaseChannel;
__webpack_require__.d(__webpack_exports__, "a", function() {
return ReleaseChannel
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return isPreRelease
}),
function(ReleaseChannel) {
ReleaseChannel.NIGHTLY = "nightly", ReleaseChannel.SONIC_PILOT = "sonic-pilot", ReleaseChannel.ALPHA = "alpha", ReleaseChannel.ELECTRON_ALPHA = "electron-alpha", ReleaseChannel.PILOT = "pilot", ReleaseChannel.BETA = "beta", ReleaseChannel.ELECTRON_BETA = "electron-beta", ReleaseChannel.PROD = "prod"
}(ReleaseChannel || (ReleaseChannel = {}));
ReleaseChannel.ALPHA, ReleaseChannel.BETA, ReleaseChannel.ELECTRON_BETA, ReleaseChannel.PILOT, ReleaseChannel.PROD, ReleaseChannel.NIGHTLY, ReleaseChannel.SONIC_PILOT, ReleaseChannel.ELECTRON_ALPHA;
const isPreRelease = channel => channel !== ReleaseChannel.PROD
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "c", function() {
return showLoginDialog
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return reduce
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getBasicAuthCredentials
});
var redux_act__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1),
_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33);
const initialState = {
lastBalloon: null,
urlSchemeModal: null,
authInfo: null,
credentials: null
},
hostRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__.a)(["host"]),
credentialsRedactor = (Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_AUTH_DIALOG, authInfo => authInfo, authInfo => ({
logPayload: hostRedactor(authInfo)
})), Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__.a)(["password", "username"])),
urlRedactor = (Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.c.SUBMIT_CREDENTIALS, credentials => credentials, credentials => ({
logPayload: credentialsRedactor(credentials)
})), Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__.a)(["url"])),
showLoginDialog = (Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_URL_SCHEME_MODAL, payload => ({
...payload,
isShowing: !0
}), payload => ({
logPayload: urlRedactor(payload)
})), Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_LOGIN_DIALOG));
Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_TRAY_BALLOON);
function reduce(state = initialState, action) {
switch (action.type) {
case _actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_AUTH_DIALOG:
return {
...state, authInfo: action.payload
};
case _actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_URL_SCHEME_MODAL:
return {
...state, urlSchemeModal: action.payload
};
case _actions__WEBPACK_IMPORTED_MODULE_1__.c.SUBMIT_CREDENTIALS:
return {
...state, authInfo: null, credentials: action.payload
};
case _actions__WEBPACK_IMPORTED_MODULE_1__.c.SHOW_TRAY_BALLOON:
return {
...state, lastBalloon: action.payload
};
default:
return state
}
}
function getBasicAuthCredentials(store) {
return store.getState().dialog.credentials
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return inject
});
const inject = factory => factory()
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return getDesktopStateForWebapp
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return webappReduxUpdateEpic
});
var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(602),
lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(615),
lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(606),
reselect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53),
_custom_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4);
const getDownloadsState = Object(reselect__WEBPACK_IMPORTED_MODULE_3__.a)([state => state.downloads], downloads => Object(lodash__WEBPACK_IMPORTED_MODULE_0__.a)(downloads, teamDownloads => Object(lodash__WEBPACK_IMPORTED_MODULE_0__.a)(teamDownloads, downloadInfo => Object(lodash__WEBPACK_IMPORTED_MODULE_1__.a)(downloadInfo, ["id", "teamId", "userId", "url", "startTime", "endTime", "downloadState", "progress", "downloadPath"])))),
getEnvironmentState = Object(reselect__WEBPACK_IMPORTED_MODULE_3__.a)([state => state.environment], ({
isTitleBarHidden,
win32,
isSonic
}) => ({
titleBarStyle: isTitleBarHidden ? "frameless" : isSonic && win32 && win32.isWin10 ? "custom-extension" : "default"
})),
getWindowsState = Object(reselect__WEBPACK_IMPORTED_MODULE_3__.a)([state => state.windows], windows => Object(lodash__WEBPACK_IMPORTED_MODULE_0__.a)(windows, win => Object(lodash__WEBPACK_IMPORTED_MODULE_1__.a)(win, ["id", "type", "teamId", "frame"]))),
getDesktopStateForWebapp = Object(reselect__WEBPACK_IMPORTED_MODULE_3__.a)([getDownloadsState, getEnvironmentState, getWindowsState], (downloads, environment, windows) => ({
downloads,
environment,
windows
})),
webappReduxUpdateEpic = (actionObservable, store) => {
const prevValues = {};
return actionObservable.filter(() => !(!window.desktop || !window.desktop.delegate)).map(() => getDesktopStateForWebapp(store.getState())).distinctUntilChanged().do(state => {
const update = Object.assign({}, ...Object.entries(state).map(([key, value]) => prevValues[key] !== value ? (prevValues[key] = value, {
[key]: value
}) : {}));
Object(lodash__WEBPACK_IMPORTED_MODULE_2__.a)(update) || window.desktop.delegate.updateState(update)
}).let(Object(_custom_operators__WEBPACK_IMPORTED_MODULE_4__.a)(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_5__.e.WEBAPP_REDUX_UPDATE_EPIC))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _Stack = __webpack_require__(80);
var _arrayEach = function arrayEach(array, iteratee) {
for (var index = -1, length = null == array ? 0 : array.length; ++index < length && !1 !== iteratee(array[index], index, array););
return array
},
_assignValue = __webpack_require__(127),
_copyObject = __webpack_require__(50),
keys = __webpack_require__(49);
var _baseAssign = function baseAssign(object, source) {
return object && Object(_copyObject.a)(source, Object(keys.a)(source), object)
},
lodash_es_keysIn = __webpack_require__(78);
var _baseAssignIn = function baseAssignIn(object, source) {
return object && Object(_copyObject.a)(source, Object(lodash_es_keysIn.a)(source), object)
},
_cloneBuffer = __webpack_require__(184),
_copyArray = __webpack_require__(183),
_getSymbols = __webpack_require__(131);
var _copySymbols = function copySymbols(source, object) {
return Object(_copyObject.a)(source, Object(_getSymbols.a)(source), object)
},
_getSymbolsIn = __webpack_require__(182);
var _copySymbolsIn = function copySymbolsIn(source, object) {
return Object(_copyObject.a)(source, Object(_getSymbolsIn.a)(source), object)
},
_getAllKeys = __webpack_require__(162),
_getAllKeysIn = __webpack_require__(133),
_getTag = __webpack_require__(70),
_initCloneArray_hasOwnProperty = Object.prototype.hasOwnProperty;
var _initCloneArray = function initCloneArray(array) {
var length = array.length,
result = new array.constructor(length);
return length && "string" == typeof array[0] && _initCloneArray_hasOwnProperty.call(array, "index") && (result.index = array.index, result.input = array.input), result
},
_cloneArrayBuffer = __webpack_require__(135);
var _cloneDataView = function cloneDataView(dataView, isDeep) {
var buffer = isDeep ? Object(_cloneArrayBuffer.a)(dataView.buffer) : dataView.buffer;
return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength)
},
reFlags = /\w*$/;
var _cloneRegExp = function cloneRegExp(regexp) {
var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
return result.lastIndex = regexp.lastIndex, result
},
_Symbol = __webpack_require__(38),
symbolProto = _Symbol.a ? _Symbol.a.prototype : void 0,
symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
var _cloneSymbol = function cloneSymbol(symbol) {
return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}
},
_cloneTypedArray = __webpack_require__(185),
boolTag = "[object Boolean]",
dateTag = "[object Date]",
mapTag = "[object Map]",
numberTag = "[object Number]",
regexpTag = "[object RegExp]",
setTag = "[object Set]",
stringTag = "[object String]",
symbolTag = "[object Symbol]",
arrayBufferTag = "[object ArrayBuffer]",
dataViewTag = "[object DataView]",
float32Tag = "[object Float32Array]",
float64Tag = "[object Float64Array]",
int8Tag = "[object Int8Array]",
int16Tag = "[object Int16Array]",
int32Tag = "[object Int32Array]",
uint8Tag = "[object Uint8Array]",
uint8ClampedTag = "[object Uint8ClampedArray]",
uint16Tag = "[object Uint16Array]",
uint32Tag = "[object Uint32Array]";
var _initCloneByTag = function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
return Object(_cloneArrayBuffer.a)(object);
case boolTag:
case dateTag:
return new Ctor(+object);
case dataViewTag:
return _cloneDataView(object, isDeep);
case float32Tag:
case float64Tag:
case int8Tag:
case int16Tag:
case int32Tag:
case uint8Tag:
case uint8ClampedTag:
case uint16Tag:
case uint32Tag:
return Object(_cloneTypedArray.a)(object, isDeep);
case mapTag:
return new Ctor;
case numberTag:
case stringTag:
return new Ctor(object);
case regexpTag:
return _cloneRegExp(object);
case setTag:
return new Ctor;
case symbolTag:
return _cloneSymbol(object)
}
},
_initCloneObject = __webpack_require__(214),
isArray = __webpack_require__(22),
isBuffer = __webpack_require__(69),
isObjectLike = __webpack_require__(29),
_baseIsMap_mapTag = "[object Map]";
var _baseIsMap = function baseIsMap(value) {
return Object(isObjectLike.a)(value) && Object(_getTag.a)(value) == _baseIsMap_mapTag
},
_baseUnary = __webpack_require__(75),
_nodeUtil = __webpack_require__(87),
nodeIsMap = _nodeUtil.a && _nodeUtil.a.isMap,
lodash_es_isMap = nodeIsMap ? Object(_baseUnary.a)(nodeIsMap) : _baseIsMap,
isObject = __webpack_require__(63),
_baseIsSet_setTag = "[object Set]";
var _baseIsSet = function baseIsSet(value) {
return Object(isObjectLike.a)(value) && Object(_getTag.a)(value) == _baseIsSet_setTag
},
nodeIsSet = _nodeUtil.a && _nodeUtil.a.isSet,
lodash_es_isSet = nodeIsSet ? Object(_baseUnary.a)(nodeIsSet) : _baseIsSet,
CLONE_DEEP_FLAG = 1,
CLONE_FLAT_FLAG = 2,
CLONE_SYMBOLS_FLAG = 4,
argsTag = "[object Arguments]",
funcTag = "[object Function]",
genTag = "[object GeneratorFunction]",
objectTag = "[object Object]",
cloneableTags = {};
cloneableTags[argsTag] = cloneableTags["[object Array]"] = cloneableTags["[object ArrayBuffer]"] = cloneableTags["[object DataView]"] = cloneableTags["[object Boolean]"] = cloneableTags["[object Date]"] = cloneableTags["[object Float32Array]"] = cloneableTags["[object Float64Array]"] = cloneableTags["[object Int8Array]"] = cloneableTags["[object Int16Array]"] = cloneableTags["[object Int32Array]"] = cloneableTags["[object Map]"] = cloneableTags["[object Number]"] = cloneableTags[objectTag] = cloneableTags["[object RegExp]"] = cloneableTags["[object Set]"] = cloneableTags["[object String]"] = cloneableTags["[object Symbol]"] = cloneableTags["[object Uint8Array]"] = cloneableTags["[object Uint8ClampedArray]"] = cloneableTags["[object Uint16Array]"] = cloneableTags["[object Uint32Array]"] = !0, cloneableTags["[object Error]"] = cloneableTags[funcTag] = cloneableTags["[object WeakMap]"] = !1;
__webpack_exports__.a = function baseClone(value, bitmask, customizer, key, object, stack) {
var result, isDeep = bitmask & CLONE_DEEP_FLAG,
isFlat = bitmask & CLONE_FLAT_FLAG,
isFull = bitmask & CLONE_SYMBOLS_FLAG;
if (customizer && (result = object ? customizer(value, key, object, stack) : customizer(value)), void 0 !== result) return result;
if (!Object(isObject.a)(value)) return value;
var isArr = Object(isArray.a)(value);
if (isArr) {
if (result = _initCloneArray(value), !isDeep) return Object(_copyArray.a)(value, result)
} else {
var tag = Object(_getTag.a)(value),
isFunc = tag == funcTag || tag == genTag;
if (Object(isBuffer.a)(value)) return Object(_cloneBuffer.a)(value, isDeep);
if (tag == objectTag || tag == argsTag || isFunc && !object) {
if (result = isFlat || isFunc ? {} : Object(_initCloneObject.a)(value), !isDeep) return isFlat ? _copySymbolsIn(value, _baseAssignIn(result, value)) : _copySymbols(value, _baseAssign(result, value))
} else {
if (!cloneableTags[tag]) return object ? value : {};
result = _initCloneByTag(value, tag, isDeep)
}
}
stack || (stack = new _Stack.a);
var stacked = stack.get(value);
if (stacked) return stacked;
if (stack.set(value, result), lodash_es_isSet(value)) return value.forEach(function(subValue) {
result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack))
}), result;
if (lodash_es_isMap(value)) return value.forEach(function(subValue, key) {
result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack))
}), result;
var keysFunc = isFull ? isFlat ? _getAllKeysIn.a : _getAllKeys.a : isFlat ? keysIn : keys.a,
props = isArr ? void 0 : keysFunc(value);
return _arrayEach(props || value, function(subValue, key) {
props && (subValue = value[key = subValue]), Object(_assignValue.a)(result, key, baseClone(subValue, bitmask, customizer, key, value, stack))
}), result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _Stack = __webpack_require__(80),
_SetCache = __webpack_require__(144);
var _arraySome = function arraySome(array, predicate) {
for (var index = -1, length = null == array ? 0 : array.length; ++index < length;)
if (predicate(array[index], index, array)) return !0;
return !1
},
_cacheHas = __webpack_require__(129),
COMPARE_PARTIAL_FLAG = 1,
COMPARE_UNORDERED_FLAG = 2;
var _equalArrays = function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
arrLength = array.length,
othLength = other.length;
if (arrLength != othLength && !(isPartial && othLength > arrLength)) return !1;
var stacked = stack.get(array);
if (stacked && stack.get(other)) return stacked == other;
var index = -1,
result = !0,
seen = bitmask & COMPARE_UNORDERED_FLAG ? new _SetCache.a : void 0;
for (stack.set(array, other), stack.set(other, array); ++index < arrLength;) {
var arrValue = array[index],
othValue = other[index];
if (customizer) var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
if (void 0 !== compared) {
if (compared) continue;
result = !1;
break
}
if (seen) {
if (!_arraySome(other, function(othValue, othIndex) {
if (!Object(_cacheHas.a)(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) return seen.push(othIndex)
})) {
result = !1;
break
}
} else if (arrValue !== othValue && !equalFunc(arrValue, othValue, bitmask, customizer, stack)) {
result = !1;
break
}
}
return stack.delete(array), stack.delete(other), result
},
_Symbol = __webpack_require__(38),
_Uint8Array = __webpack_require__(149),
eq = __webpack_require__(74);
var _mapToArray = function mapToArray(map) {
var index = -1,
result = Array(map.size);
return map.forEach(function(value, key) {
result[++index] = [key, value]
}), result
},
_setToArray = __webpack_require__(130),
_equalByTag_COMPARE_PARTIAL_FLAG = 1,
_equalByTag_COMPARE_UNORDERED_FLAG = 2,
boolTag = "[object Boolean]",
dateTag = "[object Date]",
errorTag = "[object Error]",
mapTag = "[object Map]",
numberTag = "[object Number]",
regexpTag = "[object RegExp]",
setTag = "[object Set]",
stringTag = "[object String]",
symbolTag = "[object Symbol]",
arrayBufferTag = "[object ArrayBuffer]",
dataViewTag = "[object DataView]",
symbolProto = _Symbol.a ? _Symbol.a.prototype : void 0,
symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
var _equalByTag = function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
switch (tag) {
case dataViewTag:
if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) return !1;
object = object.buffer, other = other.buffer;
case arrayBufferTag:
return !(object.byteLength != other.byteLength || !equalFunc(new _Uint8Array.a(object), new _Uint8Array.a(other)));
case boolTag:
case dateTag:
case numberTag:
return Object(eq.a)(+object, +other);
case errorTag:
return object.name == other.name && object.message == other.message;
case regexpTag:
case stringTag:
return object == other + "";
case mapTag:
var convert = _mapToArray;
case setTag:
var isPartial = bitmask & _equalByTag_COMPARE_PARTIAL_FLAG;
if (convert || (convert = _setToArray.a), object.size != other.size && !isPartial) return !1;
var stacked = stack.get(object);
if (stacked) return stacked == other;
bitmask |= _equalByTag_COMPARE_UNORDERED_FLAG, stack.set(object, other);
var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
return stack.delete(object), result;
case symbolTag:
if (symbolValueOf) return symbolValueOf.call(object) == symbolValueOf.call(other)
}
return !1
},
_getAllKeys = __webpack_require__(162),
_equalObjects_COMPARE_PARTIAL_FLAG = 1,
_equalObjects_hasOwnProperty = Object.prototype.hasOwnProperty;
var _equalObjects = function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
var isPartial = bitmask & _equalObjects_COMPARE_PARTIAL_FLAG,
objProps = Object(_getAllKeys.a)(object),
objLength = objProps.length;
if (objLength != Object(_getAllKeys.a)(other).length && !isPartial) return !1;
for (var index = objLength; index--;) {
var key = objProps[index];
if (!(isPartial ? key in other : _equalObjects_hasOwnProperty.call(other, key))) return !1
}
var stacked = stack.get(object);
if (stacked && stack.get(other)) return stacked == other;
var result = !0;
stack.set(object, other), stack.set(other, object);
for (var skipCtor = isPartial; ++index < objLength;) {
var objValue = object[key = objProps[index]],
othValue = other[key];
if (customizer) var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
if (!(void 0 === compared ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
result = !1;
break
}
skipCtor || (skipCtor = "constructor" == key)
}
if (result && !skipCtor) {
var objCtor = object.constructor,
othCtor = other.constructor;
objCtor != othCtor && "constructor" in object && "constructor" in other && !("function" == typeof objCtor && objCtor instanceof objCtor && "function" == typeof othCtor && othCtor instanceof othCtor) && (result = !1)
}
return stack.delete(object), stack.delete(other), result
},
_getTag = __webpack_require__(70),
isArray = __webpack_require__(22),
isBuffer = __webpack_require__(69),
isTypedArray = __webpack_require__(106),
_baseIsEqualDeep_COMPARE_PARTIAL_FLAG = 1,
argsTag = "[object Arguments]",
arrayTag = "[object Array]",
objectTag = "[object Object]",
_baseIsEqualDeep_hasOwnProperty = Object.prototype.hasOwnProperty;
var _baseIsEqualDeep = function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
var objIsArr = Object(isArray.a)(object),
othIsArr = Object(isArray.a)(other),
objTag = objIsArr ? arrayTag : Object(_getTag.a)(object),
othTag = othIsArr ? arrayTag : Object(_getTag.a)(other),
objIsObj = (objTag = objTag == argsTag ? objectTag : objTag) == objectTag,
othIsObj = (othTag = othTag == argsTag ? objectTag : othTag) == objectTag,
isSameTag = objTag == othTag;
if (isSameTag && Object(isBuffer.a)(object)) {
if (!Object(isBuffer.a)(other)) return !1;
objIsArr = !0, objIsObj = !1
}
if (isSameTag && !objIsObj) return stack || (stack = new _Stack.a), objIsArr || Object(isTypedArray.a)(object) ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
if (!(bitmask & _baseIsEqualDeep_COMPARE_PARTIAL_FLAG)) {
var objIsWrapped = objIsObj && _baseIsEqualDeep_hasOwnProperty.call(object, "__wrapped__"),
othIsWrapped = othIsObj && _baseIsEqualDeep_hasOwnProperty.call(other, "__wrapped__");
if (objIsWrapped || othIsWrapped) {
var objUnwrapped = objIsWrapped ? object.value() : object,
othUnwrapped = othIsWrapped ? other.value() : other;
return stack || (stack = new _Stack.a), equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack)
}
}
return !!isSameTag && (stack || (stack = new _Stack.a), _equalObjects(object, other, bitmask, customizer, equalFunc, stack))
},
isObjectLike = __webpack_require__(29);
__webpack_exports__.a = function baseIsEqual(value, other, bitmask, customizer, stack) {
return value === other || (null == value || null == other || !Object(isObjectLike.a)(value) && !Object(isObjectLike.a)(other) ? value != value && other != other : _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _MapCache = __webpack_require__(119),
HASH_UNDEFINED = "__lodash_hash_undefined__";
var _setCacheAdd = function setCacheAdd(value) {
return this.__data__.set(value, HASH_UNDEFINED), this
};
var _setCacheHas = function setCacheHas(value) {
return this.__data__.has(value)
};
function SetCache(values) {
var index = -1,
length = null == values ? 0 : values.length;
for (this.__data__ = new _MapCache.a; ++index < length;) this.add(values[index])
}
SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd, SetCache.prototype.has = _setCacheHas;
__webpack_exports__.a = SetCache
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var lib = __webpack_require__(9),
_baseForOwn = __webpack_require__(132),
identity = __webpack_require__(73);
var _castFunction = function castFunction(value) {
return "function" == typeof value ? value : identity.a
};
var lodash_es_forOwn = function forOwn(object, iteratee) {
return object && Object(_baseForOwn.a)(object, _castFunction(iteratee))
},
external_path_ = __webpack_require__(6),
temp = __webpack_require__(377),
get_path = __webpack_require__(23),
logger = __webpack_require__(0),
redact_utils_api_tokens = __webpack_require__(105);
__webpack_require__.d(__webpack_exports__, "a", function() {
return REDACTED_STRING
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return getCleanStateFiles
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return redact_utils_api_tokens.b
});
const REDACTED_STRING = "[REDACTED]",
stateKeysToOmit = {
downloads: ["*.*.url", "*.*.downloadPath"],
teams: ["*.team_name", "*.team_url", "*.name"]
};
function getCleanStateFiles(storagePath = get_path.a `${"userData"}/storage`) {
return new Promise(resolve => {
const storageFiles = lib.readdirSync(storagePath),
output = [];
temp.mkdir("statefiles", async (error, dirPath) => {
error && (logger.logger.error("Tried to create temp folder for state file cleaning, but failed", {
error
}), resolve(storageFiles.map(file => get_path.a `${storagePath}/${file}`)));
for (const file of storageFiles) {
const filePath = get_path.a `${storagePath}/${file}`,
newPath = get_path.a `${dirPath}/${file}`,
cleanData = await getCleanStateData(filePath);
await lib.writeFile(newPath, cleanData, {
encoding: "utf-8"
}), output.push(newPath)
}
resolve(output)
})
})
}
async function getCleanStateData(filePath) {
if (!lib.existsSync(filePath)) throw new Error(`File ${filePath} does not exist!`);
const fileName = external_path_.basename(filePath).replace("slack-", "").replace(".json", ""),
content = await lib.readFile(filePath, "utf-8");
let data;
try {
data = JSON.parse(content)
} catch (error) {
return logger.logger.error("Tried to parse state file, but failed", {
error
}), content
}
return data && stateKeysToOmit[fileName] && stateKeysToOmit[fileName].forEach(key => {
! function cleanKeyInObject(input, key) {
const pieces = key.split(".");
let currentObject = input;
for (let i = 0; i < pieces.length; i++)
if (currentObject && currentObject[pieces[i]] && i === pieces.length - 1) currentObject[pieces[i]] = REDACTED_STRING;
else {
if ("*" === pieces[i]) {
const remainingKey = pieces.slice(i + 1).join(".");
lodash_es_forOwn(currentObject, member => {
cleanKeyInObject(member, remainingKey)
});
break
}
currentObject = currentObject[pieces[i]]
} return input
}(data, key)
}), JSON.stringify(data, null, 2)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _Symbol = __webpack_require__(38),
_arrayMap = __webpack_require__(46),
isArray = __webpack_require__(22),
isSymbol = __webpack_require__(65),
INFINITY = 1 / 0,
symbolProto = _Symbol.a ? _Symbol.a.prototype : void 0,
symbolToString = symbolProto ? symbolProto.toString : void 0;
var _baseToString = function baseToString(value) {
if ("string" == typeof value) return value;
if (Object(isArray.a)(value)) return Object(_arrayMap.a)(value, baseToString) + "";
if (Object(isSymbol.default)(value)) return symbolToString ? symbolToString.call(value) : "";
var result = value + "";
return "0" == result && 1 / value == -INFINITY ? "-0" : result
};
__webpack_exports__.a = function toString_toString(value) {
return null == value ? "" : _baseToString(value)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return parseCommandLine
});
var command_line_args__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(365),
command_line_usage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(366),
fs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37),
lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(367),
path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6),
_utils_process_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96);
const DISALLOWED_COMMAND_LINE_ARGUMENTS = [/disable-web-security/i, /allow-running-insecure-content/i],
SLACK_URL_REGEXP = /^slack:/i,
DEV_ENVIRONMENT_REGEXP = /^(dev[0-9]{0,4}|staging|qa[0-9]{0,4})$/i,
CHROME_DRIVER_TYPE = "webdriver",
parseCommandLine = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__.a)(() => (function parseInput(input) {
let argList = [...input.slice(1)],
protoUrl = argList.find(x => !!x.match(SLACK_URL_REGEXP)) || "";
(argList = argList.filter(x => !x.match(SLACK_URL_REGEXP))).find(x => !!DISALLOWED_COMMAND_LINE_ARGUMENTS.find(r => !!x.match(r))) && process.exit(-1);
const args = command_line_args__WEBPACK_IMPORTED_MODULE_0__([...publicCommandLineDefinitions, ...privateCommandLineDefinitions], {
argv: argList,
partial: !0,
camelCase: !0
});
if (args.help) {
const usage = command_line_usage__WEBPACK_IMPORTED_MODULE_1__([{
header: "Options",
optionList: publicCommandLineDefinitions
}]);
console.log(usage), process.exit(0)
}
args.version && (console.log("4.0.0"), process.exit(0));
const result = {
resourcePath: "",
logFile: args.logFile,
logLevel: args.logLevel,
integrationTestMode: args.integrationTestMode,
rxLogging: args.rxLogging,
tsaToken: args.tsaToken
};
args.testType && (result.chromeDriver = args.testType === CHROME_DRIVER_TYPE);
args.startup && (result.invokedOnStartup = args.startup);
args.jsPath && (result.webappSrcPath = args.jsPath);
let devEnv = args.devEnv,
isDevMode = result.chromeDriver,
resourcePath = path__WEBPACK_IMPORTED_MODULE_4__.join(process.resourcesPath, "app.asar");
args.resourcePath && (isDevMode = !0, resourcePath = args.resourcePath);
fs__WEBPACK_IMPORTED_MODULE_2__.existsSync(resourcePath) || (resourcePath = path__WEBPACK_IMPORTED_MODULE_4__.dirname(__dirname));
if (Object(_utils_process_helpers__WEBPACK_IMPORTED_MODULE_5__.b)()) {
const envToLoad = argList.find(arg => DEV_ENVIRONMENT_REGEXP.test(arg));
envToLoad && (protoUrl = `slack://open?devEnv=${envToLoad}`), devEnv = envToLoad
}
result.resourcePath = path__WEBPACK_IMPORTED_MODULE_4__.resolve(resourcePath), isDevMode && (result.isDevMode = isDevMode);
devEnv && (result.devEnv = devEnv);
protoUrl && (result.protoUrl = protoUrl);
return result
})(process.argv)),
publicCommandLineDefinitions = [{
alias: "h",
type: Boolean,
name: "help",
description: "Print this usage message."
}, {
alias: "u",
type: Boolean,
name: "startup",
description: "The app is being started via a Startup shortcut. Hide the window on Win32"
}, {
alias: "v",
type: Boolean,
name: "version",
description: "Print the version."
}, {
alias: "x",
type: Boolean,
name: "rxLogging",
description: "Enable more verbose logging"
}, {
alias: "l",
type: String,
name: "logFile",
description: "Log all output to file."
}, {
alias: "g",
type: String,
name: "logLevel",
description: "Set the minimum log level, e.g., 'info', 'debug', etc."
}, {
alias: "r",
type: String,
name: "resourcePath",
description: "Set the path to the Slack's source directory and enable dev-mode."
}, {
alias: "i",
name: "integrationTestMode",
description: "Run the application in integration test mode, which enables use of a different user data folder",
type: Boolean
}],
privateCommandLineDefinitions = [{
alias: "e",
type: String,
name: "devEnv",
description: "Set QA/DEV Env"
}, {
alias: "t",
type: String,
name: "tsaToken",
description: "Token for TSAuth"
}, {
alias: "j",
type: Boolean,
name: "jsPath",
description: "Sets the js_path to allow running from webapp source"
}, {
alias: "y",
type: String,
name: "test-type",
description: "Specify 'webdriver' when running ChromeDriver tests"
}]
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51),
defineProperty = function() {
try {
var func = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__.a)(Object, "defineProperty");
return func({}, "", {}), func
} catch (e) {}
}();
__webpack_exports__.a = defineProperty
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var Uint8Array = __webpack_require__(32).a.Uint8Array;
__webpack_exports__.a = Uint8Array
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return newNotification
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return clickDownloadNotification
}), __webpack_require__.d(__webpack_exports__, "d", function() {
return replyToNotification
}), __webpack_require__.d(__webpack_exports__, "c", function() {
return reduce
});
var redux_act__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7),
_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1),
_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33),
_utils_unique_id__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(109);
const notificationRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__.a)(["content", "title", "msg", "authorName", "channelName", "subtitle", "avatarImage"]),
newNotification = Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.g.NEW_NOTIFICATION, options => ({
id: Object(_utils_unique_id__WEBPACK_IMPORTED_MODULE_3__.a)(),
...options
}), options => ({
logPayload: notificationRedactor(options)
})),
launchPathRedactor = (Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.g.DOWNLOAD_NOTIFICATION, options => ({
id: Object(_utils_unique_id__WEBPACK_IMPORTED_MODULE_3__.a)(),
...options
}), options => ({
logPayload: notificationRedactor(options)
})), Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__.a)(["fileLaunchPath"])),
clickDownloadNotification = Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.g.CLICK_DOWNLOAD_NOTIFICATION, payload => payload, payload => ({
logPayload: launchPathRedactor(payload)
})),
responseRedactor = Object(_utils_key_redactor__WEBPACK_IMPORTED_MODULE_2__.a)(["response"]),
replyToNotification = Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.g.REPLY_TO_NOTIFICATION, payload => payload, payload => ({
logPayload: responseRedactor(payload)
})),
initialState = (Object(redux_act__WEBPACK_IMPORTED_MODULE_0__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_1__.g.NOTIFICATION_ACTION, payload => payload), {
notifications: [],
newNotification: {
timestamp: 0,
notification: {}
}
});
function reduce(state = initialState, action) {
switch (action.type) {
case _actions__WEBPACK_IMPORTED_MODULE_1__.g.NEW_NOTIFICATION:
case _actions__WEBPACK_IMPORTED_MODULE_1__.g.DOWNLOAD_NOTIFICATION:
return function handleNewNotification(state, notification) {
return {
...state,
notifications: [...state.notifications, notification],
newNotification: {
timestamp: Date.now(),
notification
}
}
}(state, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_1__.g.REMOVE_NOTIFICATION:
return handleRemoveNotification(state, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_1__.g.CLICK_NOTIFICATION:
return handleRemoveNotification(state, action.payload.notificationId);
default:
return state
}
}
function handleRemoveNotification(state, notificationId) {
return {
...state,
notifications: state.notifications.filter(item => item.id !== notificationId)
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(283);
__webpack_require__.o(_interfaces__WEBPACK_IMPORTED_MODULE_0__, "platformSpecificDefaults") && __webpack_require__.d(__webpack_exports__, "platformSpecificDefaults", function() {
return _interfaces__WEBPACK_IMPORTED_MODULE_0__.platformSpecificDefaults
}), __webpack_require__.o(_interfaces__WEBPACK_IMPORTED_MODULE_0__, "reduce") && __webpack_require__.d(__webpack_exports__, "reduce", function() {
return _interfaces__WEBPACK_IMPORTED_MODULE_0__.reduce
}), __webpack_require__.o(_interfaces__WEBPACK_IMPORTED_MODULE_0__, "updateSettings") && __webpack_require__.d(__webpack_exports__, "updateSettings", function() {
return _interfaces__WEBPACK_IMPORTED_MODULE_0__.updateSettings
});
var _reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(284);
__webpack_require__.d(__webpack_exports__, "reduce", function() {
return _reducer__WEBPACK_IMPORTED_MODULE_1__.a
}), __webpack_require__.d(__webpack_exports__, "updateSettings", function() {
return _reducer__WEBPACK_IMPORTED_MODULE_1__.b
});
var _get_default_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(176);
__webpack_require__.d(__webpack_exports__, "platformSpecificDefaults", function() {
return _get_default_settings__WEBPACK_IMPORTED_MODULE_2__.b
})
}, function(module, exports) {
module.exports = require("rxjs/scheduler/async")
}, function(module, exports) {
module.exports = require("rxjs/Subscription")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return removeUnneccessaryRegions
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return getLanguageNames
});
const languages = {
ab: {
name: "Abkhaz",
nativeName: "Аҧсуа"
},
aa: {
name: "Afar",
nativeName: "Afaraf"
},
af: {
name: "Afrikaans",
nativeName: "Afrikaans"
},
ak: {
name: "Akan",
nativeName: "Akan"
},
sq: {
name: "Albanian",
nativeName: "Shqip"
},
am: {
name: "Amharic",
nativeName: "አማርኛ"
},
ar: {
name: "Arabic",
nativeName: "العربية"
},
an: {
name: "Aragonese",
nativeName: "Aragonés"
},
hy: {
name: "Armenian",
nativeName: "Հայերեն"
},
as: {
name: "Assamese",
nativeName: "অসমীয়া"
},
av: {
name: "Avaric",
nativeName: "Авар мацӀ, магӀарул мацӀ"
},
ae: {
name: "Avestan",
nativeName: "Avesta"
},
ay: {
name: "Aymara",
nativeName: "Aymar aru"
},
az: {
name: "Azerbaijani",
nativeName: "Azərbaycan dili"
},
bm: {
name: "Bambara",
nativeName: "Bamanankan"
},
ba: {
name: "Bashkir",
nativeName: "Башҡорт теле"
},
eu: {
name: "Basque",
nativeName: "Euskara, euskera"
},
be: {
name: "Belarusian",
nativeName: "Беларуская"
},
bn: {
name: "Bengali",
nativeName: "বাংলা"
},
bh: {
name: "Bihari",
nativeName: "भोजपुरी"
},
bi: {
name: "Bislama",
nativeName: "Bislama"
},
bs: {
name: "Bosnian",
nativeName: "Bosanski jezik"
},
br: {
name: "Breton",
nativeName: "Brezhoneg"
},
bg: {
name: "Bulgarian",
nativeName: "Български език"
},
my: {
name: "Burmese",
nativeName: "ဗမာစာ"
},
ca: {
name: "Catalan; Valencian",
nativeName: "Català"
},
ch: {
name: "Chamorro",
nativeName: "Chamoru"
},
ce: {
name: "Chechen",
nativeName: "Нохчийн мотт"
},
ny: {
name: "Chichewa; Chewa; Nyanja",
nativeName: "ChiCheŵa, chinyanja"
},
zh: {
name: "Chinese",
nativeName: "中文 (Zhōngwén), 汉语, 漢語"
},
cv: {
name: "Chuvash",
nativeName: "Чӑваш чӗлхи"
},
kw: {
name: "Cornish",
nativeName: "Kernewek"
},
co: {
name: "Corsican",
nativeName: "Corsu, lingua corsa"
},
cr: {
name: "Cree",
nativeName: "ᓀᐦᐃᔭᐍᐏᐣ"
},
hr: {
name: "Croatian",
nativeName: "Hrvatski"
},
cs: {
name: "Czech",
nativeName: "Česky, čeština"
},
da: {
name: "Danish",
nativeName: "Dansk"
},
dv: {
name: "Divehi; Dhivehi; Maldivian;",
nativeName: "ދިވެހި"
},
nl: {
name: "Dutch",
nativeName: "Nederlands, Vlaams"
},
en: {
name: "English",
nativeName: "English"
},
eo: {
name: "Esperanto",
nativeName: "Esperanto"
},
et: {
name: "Estonian",
nativeName: "Eesti, eesti keel"
},
ee: {
name: "Ewe",
nativeName: "Eʋegbe"
},
fo: {
name: "Faroese",
nativeName: "Føroyskt"
},
fj: {
name: "Fijian",
nativeName: "Vosa Vakaviti"
},
fi: {
name: "Finnish",
nativeName: "Suomi, suomen kieli"
},
fr: {
name: "French",
nativeName: "Français"
},
ff: {
name: "Fula; Fulah; Pulaar; Pular",
nativeName: "Fulfulde, Pulaar, Pular"
},
gl: {
name: "Galician",
nativeName: "Galego"
},
ka: {
name: "Georgian",
nativeName: "ქართული"
},
de: {
name: "German",
nativeName: "Deutsch"
},
el: {
name: "Greek, Modern",
nativeName: "Ελληνικά"
},
gn: {
name: "Guaraní",
nativeName: "Avañeẽ"
},
gu: {
name: "Gujarati",
nativeName: "ગુજરાતી"
},
ht: {
name: "Haitian; Haitian Creole",
nativeName: "Kreyòl ayisyen"
},
ha: {
name: "Hausa",
nativeName: "Hausa, هَوُسَ"
},
he: {
name: "Hebrew (modern)",
nativeName: "עברית"
},
hz: {
name: "Herero",
nativeName: "Otjiherero"
},
hi: {
name: "Hindi",
nativeName: "हिन्दी, हिंदी"
},
ho: {
name: "Hiri Motu",
nativeName: "Hiri Motu"
},
hu: {
name: "Hungarian",
nativeName: "Magyar"
},
ia: {
name: "Interlingua",
nativeName: "Interlingua"
},
id: {
name: "Indonesian",
nativeName: "Bahasa Indonesia"
},
ie: {
name: "Interlingue",
nativeName: "Originally called Occidental; then Interlingue after WWII"
},
ga: {
name: "Irish",
nativeName: "Gaeilge"
},
ig: {
name: "Igbo",
nativeName: "Asụsụ Igbo"
},
ik: {
name: "Inupiaq",
nativeName: "Iñupiaq, Iñupiatun"
},
io: {
name: "Ido",
nativeName: "Ido"
},
is: {
name: "Icelandic",
nativeName: "Íslenska"
},
it: {
name: "Italian",
nativeName: "Italiano"
},
iu: {
name: "Inuktitut",
nativeName: "ᐃᓄᒃᑎᑐᑦ"
},
ja: {
name: "Japanese",
nativeName: "日本語 (にほんご/にっぽんご)"
},
jv: {
name: "Javanese",
nativeName: "Basa Jawa"
},
kl: {
name: "Kalaallisut, Greenlandic",
nativeName: "Kalaallisut, kalaallit oqaasii"
},
kn: {
name: "Kannada",
nativeName: "ಕನ್ನಡ"
},
kr: {
name: "Kanuri",
nativeName: "Kanuri"
},
ks: {
name: "Kashmiri",
nativeName: "कश्मीरी, كشميري‎"
},
kk: {
name: "Kazakh",
nativeName: "Қазақ тілі"
},
km: {
name: "Khmer",
nativeName: "ភាសាខ្មែរ"
},
ki: {
name: "Kikuyu, Gikuyu",
nativeName: "Gĩkũyũ"
},
rw: {
name: "Kinyarwanda",
nativeName: "Ikinyarwanda"
},
ky: {
name: "Kirghiz, Kyrgyz",
nativeName: "Кыргыз тили"
},
kv: {
name: "Komi",
nativeName: "Коми кыв"
},
kg: {
name: "Kongo",
nativeName: "KiKongo"
},
ko: {
name: "Korean",
nativeName: "한국어"
},
ku: {
name: "Kurdish",
nativeName: "Kurdî, كوردی‎"
},
kj: {
name: "Kwanyama, Kuanyama",
nativeName: "Kuanyama"
},
la: {
name: "Latin",
nativeName: "Latine, lingua latina"
},
lb: {
name: "Luxembourgish, Letzeburgesch",
nativeName: "Lëtzebuergesch"
},
lg: {
name: "Luganda",
nativeName: "Luganda"
},
li: {
name: "Limburgish, Limburgan, Limburger",
nativeName: "Limburgs"
},
ln: {
name: "Lingala",
nativeName: "Lingála"
},
lo: {
name: "Lao",
nativeName: "ພາສາລາວ"
},
lt: {
name: "Lithuanian",
nativeName: "Lietuvių kalba"
},
lu: {
name: "Luba-Katanga",
nativeName: ""
},
lv: {
name: "Latvian",
nativeName: "Latviešu valoda"
},
gv: {
name: "Manx",
nativeName: "Gaelg, Gailck"
},
mk: {
name: "Macedonian",
nativeName: "Македонски јазик"
},
mg: {
name: "Malagasy",
nativeName: "Malagasy fiteny"
},
ms: {
name: "Malay",
nativeName: "Bahasa Melayu, بهاس ملايو‎"
},
ml: {
name: "Malayalam",
nativeName: "മലയാളം"
},
mt: {
name: "Maltese",
nativeName: "Malti"
},
mi: {
name: "Māori",
nativeName: "Te reo Māori"
},
mr: {
name: "Marathi (Marāṭhī)",
nativeName: "मराठी"
},
mh: {
name: "Marshallese",
nativeName: "Kajin M̧ajeļ"
},
mn: {
name: "Mongolian",
nativeName: "Монгол"
},
na: {
name: "Nauru",
nativeName: "Ekakairũ Naoero"
},
nv: {
name: "Navajo, Navaho",
nativeName: "Diné bizaad, Dinékʼehǰí"
},
nb: {
name: "Norwegian Bokmål",
nativeName: "Norsk bokmål"
},
nd: {
name: "North Ndebele",
nativeName: "IsiNdebele"
},
ne: {
name: "Nepali",
nativeName: "नेपाली"
},
ng: {
name: "Ndonga",
nativeName: "Owambo"
},
nn: {
name: "Norwegian Nynorsk",
nativeName: "Norsk nynorsk"
},
no: {
name: "Norwegian",
nativeName: "Norsk"
},
ii: {
name: "Nuosu",
nativeName: "ꆈꌠ꒿ Nuosuhxop"
},
nr: {
name: "South Ndebele",
nativeName: "IsiNdebele"
},
oc: {
name: "Occitan",
nativeName: "Occitan"
},
oj: {
name: "Ojibwe, Ojibwa",
nativeName: "ᐊᓂᔑᓈᐯᒧᐎᓐ"
},
cu: {
name: "Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
nativeName: "Ѩзыкъ словѣньскъ"
},
om: {
name: "Oromo",
nativeName: "Afaan Oromoo"
},
or: {
name: "Oriya",
nativeName: "ଓଡ଼ିଆ"
},
os: {
name: "Ossetian, Ossetic",
nativeName: "Ирон æвзаг"
},
pa: {
name: "Panjabi, Punjabi",
nativeName: "ਪੰਜਾਬੀ, پنجابی‎"
},
pi: {
name: "Pāli",
nativeName: "पाऴि"
},
fa: {
name: "Persian",
nativeName: "فارسی"
},
pl: {
name: "Polish",
nativeName: "Polski"
},
ps: {
name: "Pashto, Pushto",
nativeName: "پښتو"
},
pt: {
name: "Portuguese",
nativeName: "Português"
},
qu: {
name: "Quechua",
nativeName: "Runa Simi, Kichwa"
},
rm: {
name: "Romansh",
nativeName: "Rumantsch grischun"
},
rn: {
name: "Kirundi",
nativeName: "KiRundi"
},
ro: {
name: "Romanian, Moldavian, Moldovan",
nativeName: "Română"
},
ru: {
name: "Russian",
nativeName: "Русский язык"
},
sa: {
name: "Sanskrit (Saṁskṛta)",
nativeName: "संस्कृतम्"
},
sc: {
name: "Sardinian",
nativeName: "Sardu"
},
sd: {
name: "Sindhi",
nativeName: "सिन्धी, سنڌي، سندھی‎"
},
se: {
name: "Northern Sami",
nativeName: "Davvisámegiella"
},
sm: {
name: "Samoan",
nativeName: "Gagana faa Samoa"
},
sg: {
name: "Sango",
nativeName: "Yângâ tî sängö"
},
sr: {
name: "Serbian",
nativeName: "Српски језик"
},
gd: {
name: "Scottish Gaelic; Gaelic",
nativeName: "Gàidhlig"
},
sn: {
name: "Shona",
nativeName: "ChiShona"
},
si: {
name: "Sinhala, Sinhalese",
nativeName: "සිංහල"
},
sk: {
name: "Slovak",
nativeName: "Slovenčina"
},
sl: {
name: "Slovene",
nativeName: "Slovenščina"
},
so: {
name: "Somali",
nativeName: "Soomaaliga, af Soomaali"
},
st: {
name: "Southern Sotho",
nativeName: "Sesotho"
},
es: {
name: "Spanish; Castilian",
nativeName: "Español, castellano"
},
su: {
name: "Sundanese",
nativeName: "Basa Sunda"
},
sw: {
name: "Swahili",
nativeName: "Kiswahili"
},
ss: {
name: "Swati",
nativeName: "SiSwati"
},
sv: {
name: "Swedish",
nativeName: "Svenska"
},
ta: {
name: "Tamil",
nativeName: "தமிழ்"
},
te: {
name: "Telugu",
nativeName: "తెలుగు"
},
tg: {
name: "Tajik",
nativeName: "Тоҷикӣ, toğikī, تاجیکی‎"
},
th: {
name: "Thai",
nativeName: "ไทย"
},
ti: {
name: "Tigrinya",
nativeName: "ትግርኛ"
},
bo: {
name: "Tibetan Standard, Tibetan, Central",
nativeName: "བོད་ཡིག"
},
tk: {
name: "Turkmen",
nativeName: "Türkmen, Түркмен"
},
tl: {
name: "Tagalog",
nativeName: "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"
},
tn: {
name: "Tswana",
nativeName: "Setswana"
},
to: {
name: "Tonga (Tonga Islands)",
nativeName: "Faka Tonga"
},
tr: {
name: "Turkish",
nativeName: "Türkçe"
},
ts: {
name: "Tsonga",
nativeName: "Xitsonga"
},
tt: {
name: "Tatar",
nativeName: "Татарча, tatarça, تاتارچا‎"
},
tw: {
name: "Twi",
nativeName: "Twi"
},
ty: {
name: "Tahitian",
nativeName: "Reo Tahiti"
},
ug: {
name: "Uighur, Uyghur",
nativeName: "Uyƣurqə, ئۇيغۇرچە‎"
},
uk: {
name: "Ukrainian",
nativeName: "Українська"
},
ur: {
name: "Urdu",
nativeName: "اردو"
},
uz: {
name: "Uzbek",
nativeName: "Zbek, Ўзбек, أۇزبېك‎"
},
ve: {
name: "Venda",
nativeName: "Tshivenḓa"
},
vi: {
name: "Vietnamese",
nativeName: "Tiếng Việt"
},
vo: {
name: "Volapük",
nativeName: "Volapük"
},
wa: {
name: "Walloon",
nativeName: "Walon"
},
cy: {
name: "Welsh",
nativeName: "Cymraeg"
},
wo: {
name: "Wolof",
nativeName: "Wollof"
},
fy: {
name: "Western Frisian",
nativeName: "Frysk"
},
xh: {
name: "Xhosa",
nativeName: "IsiXhosa"
},
yi: {
name: "Yiddish",
nativeName: "ייִדיש"
},
yo: {
name: "Yoruba",
nativeName: "Yorùbá"
},
za: {
name: "Zhuang, Chuang",
nativeName: "Saɯ cueŋƅ, Saw cuengh"
}
};
function removeUnneccessaryRegions(input) {
const rgx = /(\S*) \(\w*\)/,
languageNames = {
noPrefix: []
},
output = [];
return input.forEach(lang => {
const match = lang.label.match(rgx);
match && 2 === match.length ? (languageNames[match[1]] = languageNames[match[1]] || [], languageNames[match[1]].push(lang)) : languageNames.noPrefix.push(lang)
}), Object.keys(languageNames).forEach(bucket => {
"noPrefix" === bucket || languageNames[bucket].length > 1 ? output.push(...languageNames[bucket]) : output.push(...languageNames[bucket].map(lang => (lang.label = lang.nativeName, lang)))
}), output.sort((a, b) => a.label >= b.label ? 1 : -1)
}
function getLanguageNames(key, options = {
includeEnglishNames: !0
}) {
const {
includeEnglishNames
} = options;
let language = null;
const slicedKey = key.slice(0, 2);
if (languages[key]) language = {
...languages[key],
key,
label: getLabel(languages[key], includeEnglishNames)
};
else if (languages[slicedKey]) {
const sublocale = key.slice(key.length - 2);
language = {
...languages[slicedKey],
key,
label: getLabel(languages[slicedKey], includeEnglishNames, sublocale)
}
} else language = {
label: key,
name: key,
nativeName: key,
key
};
return language
}
function getLabel(lang, includeEnglishNames = !0, sub) {
return lang.name === lang.nativeName ? sub ? `${lang.name} (${sub})` : lang.name : !1 === includeEnglishNames ? sub ? `${lang.nativeName} (${sub})` : `${lang.nativeName}` : sub ? `${lang.name} (${sub}) | ${lang.nativeName} (${sub})` : `${lang.name} | ${lang.nativeName}`
}
}, function(module, exports) {
module.exports = require("winston")
}, function(module, exports) {
module.exports = require("assert")
}, function(module, exports) {
function objectToString(o) {
return Object.prototype.toString.call(o)
}
exports.isArray = function isArray(arg) {
return Array.isArray ? Array.isArray(arg) : "[object Array]" === objectToString(arg)
}, exports.isBoolean = function isBoolean(arg) {
return "boolean" == typeof arg
}, exports.isNull = function isNull(arg) {
return null === arg
}, exports.isNullOrUndefined = function isNullOrUndefined(arg) {
return null == arg
}, exports.isNumber = function isNumber(arg) {
return "number" == typeof arg
}, exports.isString = function isString(arg) {
return "string" == typeof arg
}, exports.isSymbol = function isSymbol(arg) {
return "symbol" == typeof arg
}, exports.isUndefined = function isUndefined(arg) {
return void 0 === arg
}, exports.isRegExp = function isRegExp(re) {
return "[object RegExp]" === objectToString(re)
}, exports.isObject = function isObject(arg) {
return "object" == typeof arg && null !== arg
}, exports.isDate = function isDate(d) {
return "[object Date]" === objectToString(d)
}, exports.isError = function isError(e) {
return "[object Error]" === objectToString(e) || e instanceof Error
}, exports.isFunction = function isFunction(arg) {
return "function" == typeof arg
}, exports.isPrimitive = function isPrimitive(arg) {
return null === arg || "boolean" == typeof arg || "number" == typeof arg || "string" == typeof arg || "symbol" == typeof arg || void 0 === arg
}, exports.isBuffer = Buffer.isBuffer
}, function(module, exports) {
"function" == typeof Object.create ? module.exports = function inherits(ctor, superCtor) {
ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: !1,
writable: !0,
configurable: !0
}
})
} : module.exports = function inherits(ctor, superCtor) {
ctor.super_ = superCtor;
var TempCtor = function() {};
TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor
}
}, function(module, exports, __webpack_require__) {
"use strict";
var ES6Promise = null;
ES6Promise = "undefined" != typeof Promise ? Promise : __webpack_require__(525), module.exports = {
Promise: ES6Promise
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var environment_1 = __webpack_require__(359);
exports.ENVIRONMENT = environment_1.ENVIRONMENT;
var getModuleLoader_1 = __webpack_require__(558);
exports.getModuleLoader = getModuleLoader_1.getModuleLoader;
var logger_1 = __webpack_require__(236);
exports.enableLogger = logger_1.enableLogger, exports.log = logger_1.log;
var isNode_1 = __webpack_require__(360);
exports.isNode = isNode_1.isNode;
var isWasmEnabled_1 = __webpack_require__(560);
exports.isWasmEnabled = isWasmEnabled_1.isWasmEnabled
}, function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
! function(root, factory) {
"use strict";
__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(384)], void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof(__WEBPACK_AMD_DEFINE_FACTORY__ = function ErrorStackParser(StackFrame) {
var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\S+\:\d+/,
CHROME_IE_STACK_REGEXP = /^\s*at .*(\S+\:\d+|\(native\))/m,
SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\[native code\])?$/;
return {
parse: function ErrorStackParser$$parse(error) {
if (void 0 !== error.stacktrace || void 0 !== error["opera#sourceloc"]) return this.parseOpera(error);
if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) return this.parseV8OrIE(error);
if (error.stack) return this.parseFFOrSafari(error);
throw new Error("Cannot parse given Error object")
},
extractLocation: function ErrorStackParser$$extractLocation(urlLike) {
if (-1 === urlLike.indexOf(":")) return [urlLike];
var parts = /(.+?)(?:\:(\d+))?(?:\:(\d+))?$/.exec(urlLike.replace(/[\(\)]/g, ""));
return [parts[1], parts[2] || void 0, parts[3] || void 0]
},
parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {
var filtered = error.stack.split("\n").filter(function(line) {
return !!line.match(CHROME_IE_STACK_REGEXP)
}, this);
return filtered.map(function(line) {
line.indexOf("(eval ") > -1 && (line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^\()]*)|(\)\,.*$)/g, ""));
var tokens = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").split(/\s+/).slice(1),
locationParts = this.extractLocation(tokens.pop()),
functionName = tokens.join(" ") || void 0,
fileName = ["eval", "<anonymous>"].indexOf(locationParts[0]) > -1 ? void 0 : locationParts[0];
return new StackFrame({
functionName,
fileName,
lineNumber: locationParts[1],
columnNumber: locationParts[2],
source: line
})
}, this)
},
parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {
var filtered = error.stack.split("\n").filter(function(line) {
return !line.match(SAFARI_NATIVE_CODE_REGEXP)
}, this);
return filtered.map(function(line) {
if (line.indexOf(" > eval") > -1 && (line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g, ":$1")), -1 === line.indexOf("@") && -1 === line.indexOf(":")) return new StackFrame({
functionName: line
});
var functionNameRegex = /((.*".+"[^@]*)?[^@]*)(?:@)/,
matches = line.match(functionNameRegex),
functionName = matches && matches[1] ? matches[1] : void 0,
locationParts = this.extractLocation(line.replace(functionNameRegex, ""));
return new StackFrame({
functionName,
fileName: locationParts[0],
lineNumber: locationParts[1],
columnNumber: locationParts[2],
source: line
})
}, this)
},
parseOpera: function ErrorStackParser$$parseOpera(e) {
return !e.stacktrace || e.message.indexOf("\n") > -1 && e.message.split("\n").length > e.stacktrace.split("\n").length ? this.parseOpera9(e) : e.stack ? this.parseOpera11(e) : this.parseOpera10(e)
},
parseOpera9: function ErrorStackParser$$parseOpera9(e) {
for (var lineRE = /Line (\d+).*script (?:in )?(\S+)/i, lines = e.message.split("\n"), result = [], i = 2, len = lines.length; i < len; i += 2) {
var match = lineRE.exec(lines[i]);
match && result.push(new StackFrame({
fileName: match[2],
lineNumber: match[1],
source: lines[i]
}))
}
return result
},
parseOpera10: function ErrorStackParser$$parseOpera10(e) {
for (var lineRE = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, lines = e.stacktrace.split("\n"), result = [], i = 0, len = lines.length; i < len; i += 2) {
var match = lineRE.exec(lines[i]);
match && result.push(new StackFrame({
functionName: match[3] || void 0,
fileName: match[2],
lineNumber: match[1],
source: lines[i]
}))
}
return result
},
parseOpera11: function ErrorStackParser$$parseOpera11(error) {
var filtered = error.stack.split("\n").filter(function(line) {
return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/)
}, this);
return filtered.map(function(line) {
var argsRaw, tokens = line.split("@"),
locationParts = this.extractLocation(tokens.pop()),
functionCall = tokens.shift() || "",
functionName = functionCall.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^\)]*\)/g, "") || void 0;
functionCall.match(/\(([^\)]*)\)/) && (argsRaw = functionCall.replace(/^[^\(]+\(([^\)]*)\)$/, "$1"));
var args = void 0 === argsRaw || "[arguments not available]" === argsRaw ? void 0 : argsRaw.split(",");
return new StackFrame({
functionName,
args,
fileName: locationParts[0],
lineNumber: locationParts[1],
columnNumber: locationParts[2],
source: line
})
}, this)
}
}
}) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
}()
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(178),
_getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(131),
_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);
__webpack_exports__.a = function getAllKeys(object) {
return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, _keys_js__WEBPACK_IMPORTED_MODULE_2__.a, _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__.a)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74),
_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43),
_isIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98),
_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63);
__webpack_exports__.a = function isIterateeCall(value, index, object) {
if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_3__.a)(object)) return !1;
var type = typeof index;
return !!("number" == type ? Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__.a)(object) && Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_2__.a)(index, object.length) : "string" == type && index in object) && Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__.a)(object[index], value)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return playSoundEpic
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return playDownloadSoundEpic
});
var getroot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16),
_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1),
_custom_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19),
_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0),
_reducers_web_contents_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35),
_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4);
const playSoundEpic = (actionObservable, store) => actionObservable.ofType(_actions__WEBPACK_IMPORTED_MODULE_1__.g.NEW_NOTIFICATION).tag(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_6__.e.PLAY_NOTIFICATION_SOUND).filter(() => !Object(_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_5__.isSystemPlayingNotificationSound)(store)).filter(({
payload
}) => {
const {
teamId
} = payload;
return null === Object(_reducers_web_contents_reducer__WEBPACK_IMPORTED_MODULE_4__.e)(store, teamId)
}).map(({
payload
}) => playSound(payload.ssbFilename)).let(Object(_custom_operators__WEBPACK_IMPORTED_MODULE_2__.a)(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_6__.e.PLAY_NOTIFICATION_SOUND)),
playDownloadSoundEpic = (actionObservable, store) => actionObservable.ofType(_actions__WEBPACK_IMPORTED_MODULE_1__.g.DOWNLOAD_NOTIFICATION).tag(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_6__.e.PLAY_NOTIFICATION_SOUND).filter(() => !Object(_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_5__.isSystemPlayingNotificationSound)(store)).map(({
payload
}) => playSound(payload.ssbFilename)).let(Object(_custom_operators__WEBPACK_IMPORTED_MODULE_2__.a)(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_6__.e.PLAY_NOTIFICATION_SOUND));
function playSound(ssbFilename) {
if (getroot__WEBPACK_IMPORTED_MODULE_0__.root && getroot__WEBPACK_IMPORTED_MODULE_0__.root.Audio) {
if (ssbFilename) return _logger__WEBPACK_IMPORTED_MODULE_3__.logger.debug("Playing notification sound"), new getroot__WEBPACK_IMPORTED_MODULE_0__.root.Audio(`slack-sounds://${ssbFilename}`).play().catch(error => {
_logger__WEBPACK_IMPORTED_MODULE_3__.logger.error("Failed to play notification sound", {
error
})
});
_logger__WEBPACK_IMPORTED_MODULE_3__.logger.warn("Tried to play notification sound, but no ssbFilename passed")
} else _logger__WEBPACK_IMPORTED_MODULE_3__.logger.warn("Tried to play notification sound, but no global Audio found")
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return safeRequire
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return requireOnPlatform
});
var nothing_mock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41),
_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
function safeRequire(resolve, errorMessage) {
let moduleToRequire = null;
try {
moduleToRequire = resolve()
} catch (e) {
errorMessage ? _logger__WEBPACK_IMPORTED_MODULE_1__.logger.error(`safeRequire: Couldn't initialize ${resolve}: ${e} ${errorMessage}`) : _logger__WEBPACK_IMPORTED_MODULE_1__.logger.error(`safeRequire: Couldn't initialize ${resolve}: ${e}`)
}
return moduleToRequire
}
function requireOnPlatform(resolve, ...platforms) {
return platforms.includes("darwin") ? resolve() : nothing_mock__WEBPACK_IMPORTED_MODULE_0__.Nothing
}
}, function(module, exports) {
module.exports = require("rxjs/scheduler/asap")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var external_url_ = __webpack_require__(21);
__webpack_require__(373);
const DEV_ENVIRONMENT_REGEX = /(dev\d*|staging|qa\d*)/;
__webpack_require__.d(__webpack_exports__, "a", function() {
return url_operations_DevEnvironmentURLOperation
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return url_operations_WebappSourcePathOperation
});
class url_operations_DevEnvironmentURLOperation {
apply(input, ...args) {
if (0 === args.length) throw new Error("Insufficient arguments");
const url = new external_url_.URL(input),
hostParts = url.hostname.split("."),
partsToDelete = hostParts.length > 3 ? 1 : 0;
return hostParts.splice(1, partsToDelete, args[0]), url.hostname = hostParts.join("."), url.href
}
undo(input, ...args) {
const url = new external_url_.URL(input),
hostParts = url.hostname.split(".");
return hostParts.length < 4 ? input : (args[0] ? hostParts.splice(1, 1, args[0]) : hostParts.splice(1, 1), url.hostname = hostParts.join("."), url.href)
}
test(input) {
return DEV_ENVIRONMENT_REGEX.test(input)
}
}
const WEBAPP_SOURCE_PATH_FRAGMENT = "js_path";
class url_operations_WebappSourcePathOperation {
apply(input, ..._args) {
const url = new external_url_.URL(input);
return url.searchParams.set(WEBAPP_SOURCE_PATH_FRAGMENT, "1"), url.href
}
undo(input, ..._args) {
const url = new external_url_.URL(input);
return url.searchParams.delete(WEBAPP_SOURCE_PATH_FRAGMENT), url.href
}
test(input) {
return new external_url_.URL(input).searchParams.has(WEBAPP_SOURCE_PATH_FRAGMENT)
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var notifier = __webpack_require__(375),
notifier_default = __webpack_require__.n(notifier),
bugsnag_react = __webpack_require__(376),
bugsnag_react_default = __webpack_require__.n(bugsnag_react),
error_stack_parser = __webpack_require__(161),
external_path_ = __webpack_require__(6);
const buffer = new Array(10),
readBreadcrumb = () => buffer.filter(x => !!x);
var is_snap = __webpack_require__(113),
shared_constants = __webpack_require__(4);
__webpack_require__.d(__webpack_exports__, "a", function() {
return bugsnagClient
});
const BUGSNAG_API_KEY = "acaff8df67924f677747922423057034",
SEPARATOR_REGEX = /\\/g,
sanitizePath = (rawPath, projectRoot) => {
if (!rawPath || 0 === rawPath.length) return "";
const resourcePath = projectRoot.replace(SEPARATOR_REGEX, "/"),
localResourcePath = external_path_.resolve(resourcePath, "..").replace(SEPARATOR_REGEX, "/");
let sanitizedPath = rawPath.replace(SEPARATOR_REGEX, "/");
for (; sanitizedPath.indexOf(resourcePath) > -1;) sanitizedPath = sanitizedPath.replace(resourcePath, "");
for (; sanitizedPath.indexOf(localResourcePath) > -1;) sanitizedPath = sanitizedPath.replace(localResourcePath, "");
return sanitizedPath
},
getProductionReleaseStage = () => process.env.DEBUG ? "development" : shared_constants.i ? "winstore" : shared_constants.g ? "mas" : Object(is_snap.a)() ? "snap" : "darwin";
const bugsnagClient = new class bugsnag_reporter_BugsnagReporter {
constructor() {
this.beforeNotifyCallback = isReportDisabled => report => {
const {
client
} = this;
if (isReportDisabled) return this.logger.info("beforeNotifyCallback: Skipping report on non production build or specified to suppress", {
error: report.originalError
}), void report.ignore();
if (report.errorMessage.includes("DeprecationWarning: Buffer() is deprecated due to security and usability issues")) return void report.ignore();
const user = this._user || {};
report.user = user;
const resourcePath = client.config.projectRoot ? client.config.projectRoot : __webpack_require__(12).preloadEnv.resourcePath || "";
report.updateMetaData("stackFrameString", {
value: JSON.stringify(error_stack_parser.parse(report.originalError))
}), report.updateMetaData("logBreadCrumb", readBreadcrumb());
const stackTraceAvailable = !!report.stacktrace && report.stacktrace.length > 0;
stackTraceAvailable && (report.stacktrace = report.stacktrace.map(x => ({
...x,
file: sanitizePath(x.file, resourcePath)
}))), report.context = stackTraceAvailable ? report.stacktrace[0].file : sanitizePath(report.context, resourcePath);
const {
track,
TelemetryEvent
} = __webpack_require__(36);
track(TelemetryEvent.DESKTOP_CRASH, {
...this.metaData,
...user,
crashOrigin: "renderer",
crashMessage: report.context,
crashes: 1
}), report.request && report.request.url && (report.request.url = "[REDACTED]"), this.logger.error("beforeNotifyCallback: Bugsnag payload updated", {
user,
resourcePath,
error: report.originalError,
breadcrumb: readBreadcrumb()
})
}
}
set metaData(value) {
const {
client
} = this;
client && value && (client.metaData = value)
}
get metaData() {
const {
client
} = this;
return client ? client.metaData : null
}
set user(value) {
this._user = value
}
get logger() {
return this._logger || (this._logger = new(__webpack_require__(0).Logger)), this._logger
}
initialize({
suppressReport,
projectRoot
}) {
const isReportDisabled = 0 == !!process.env.SLACK_BUGSNAG && suppressReport && !!process.env.DEBUG,
appVersion = process.env.SLACK_BUGSNAG ? `0.0.1-dev.${__webpack_require__(39).getInstanceUuid()}` : "4.0.0",
baseOptions = {
apiKey: BUGSNAG_API_KEY,
releaseStage: getProductionReleaseStage(),
appVersion,
appType: "renderer",
maxEvents: 100,
beforeSend: this.beforeNotifyCallback(isReportDisabled),
logger: this.logger
},
{
onUnhandledFailure
} = __webpack_require__(594),
nodeOptions = {
projectRoot: void 0,
onUncaughtException: onUnhandledFailure,
onunhandledRejection: onUnhandledFailure,
sendCode: !1
};
this.client = notifier_default()({
...baseOptions,
...nodeOptions
}), this.setupGlobalExceptionHandler()
}
initializeErrorBoundary(react) {
const {
client
} = this;
if (!client) throw new Error("bugsnag client is not yet initialized, cannot create error boundary");
return client.use(bugsnag_react_default.a, react), client.getPlugin("react")
}
notify(err = new Error("Custom notify default error"), options) {
const {
client
} = this;
return client && client.notify(err, options)
}
setupGlobalExceptionHandler() {
if (console && console.error) {
const originalError = console.error;
console.error = (message, ...args) => {
try {
const metaData = args && args.length > 0 ? args.reduce((acc, value, index) => (acc[index] = value, acc), {}) : {};
this.notify(message, {
metaData
})
} catch (e) {
originalError("Could not log console error into logger", e)
}
originalError(message, ...args)
}
}
}
}
}, function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;
! function(window, document, exportName, undefined) {
"use strict";
var assign, VENDOR_PREFIXES = ["", "webkit", "Moz", "MS", "ms", "o"],
TEST_ELEMENT = document.createElement("div"),
TYPE_FUNCTION = "function",
round = Math.round,
abs = Math.abs,
now = Date.now;
function setTimeoutContext(fn, timeout, context) {
return setTimeout(bindFn(fn, context), timeout)
}
function invokeArrayArg(arg, fn, context) {
return !!Array.isArray(arg) && (each(arg, context[fn], context), !0)
}
function each(obj, iterator, context) {
var i;
if (obj)
if (obj.forEach) obj.forEach(iterator, context);
else if (obj.length !== undefined)
for (i = 0; i < obj.length;) iterator.call(context, obj[i], i, obj), i++;
else
for (i in obj) obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj)
}
function deprecate(method, name, message) {
var deprecationMessage = "DEPRECATED METHOD: " + name + "\n" + message + " AT \n";
return function() {
var e = new Error("get-stack-trace"),
stack = e && e.stack ? e.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@") : "Unknown Stack Trace",
log = window.console && (window.console.warn || window.console.log);
return log && log.call(window.console, deprecationMessage, stack), method.apply(this, arguments)
}
}
assign = "function" != typeof Object.assign ? function assign(target) {
if (target === undefined || null === target) throw new TypeError("Cannot convert undefined or null to object");
for (var output = Object(target), index = 1; index < arguments.length; index++) {
var source = arguments[index];
if (source !== undefined && null !== source)
for (var nextKey in source) source.hasOwnProperty(nextKey) && (output[nextKey] = source[nextKey])
}
return output
} : Object.assign;
var extend = deprecate(function extend(dest, src, merge) {
for (var keys = Object.keys(src), i = 0; i < keys.length;)(!merge || merge && dest[keys[i]] === undefined) && (dest[keys[i]] = src[keys[i]]), i++;
return dest
}, "extend", "Use `assign`."),
merge = deprecate(function merge(dest, src) {
return extend(dest, src, !0)
}, "merge", "Use `assign`.");
function inherit(child, base, properties) {
var childP, baseP = base.prototype;
(childP = child.prototype = Object.create(baseP)).constructor = child, childP._super = baseP, properties && assign(childP, properties)
}
function bindFn(fn, context) {
return function boundFn() {
return fn.apply(context, arguments)
}
}
function boolOrFn(val, args) {
return typeof val == TYPE_FUNCTION ? val.apply(args && args[0] || undefined, args) : val
}
function ifUndefined(val1, val2) {
return val1 === undefined ? val2 : val1
}
function addEventListeners(target, types, handler) {
each(splitStr(types), function(type) {
target.addEventListener(type, handler, !1)
})
}
function removeEventListeners(target, types, handler) {
each(splitStr(types), function(type) {
target.removeEventListener(type, handler, !1)
})
}
function hasParent(node, parent) {
for (; node;) {
if (node == parent) return !0;
node = node.parentNode
}
return !1
}
function inStr(str, find) {
return str.indexOf(find) > -1
}
function splitStr(str) {
return str.trim().split(/\s+/g)
}
function inArray(src, find, findByKey) {
if (src.indexOf && !findByKey) return src.indexOf(find);
for (var i = 0; i < src.length;) {
if (findByKey && src[i][findByKey] == find || !findByKey && src[i] === find) return i;
i++
}
return -1
}
function toArray(obj) {
return Array.prototype.slice.call(obj, 0)
}
function uniqueArray(src, key, sort) {
for (var results = [], values = [], i = 0; i < src.length;) {
var val = key ? src[i][key] : src[i];
inArray(values, val) < 0 && results.push(src[i]), values[i] = val, i++
}
return sort && (results = key ? results.sort(function sortUniqueArray(a, b) {
return a[key] > b[key]
}) : results.sort()), results
}
function prefixed(obj, property) {
for (var prefix, prop, camelProp = property[0].toUpperCase() + property.slice(1), i = 0; i < VENDOR_PREFIXES.length;) {
if ((prop = (prefix = VENDOR_PREFIXES[i]) ? prefix + camelProp : property) in obj) return prop;
i++
}
return undefined
}
var _uniqueId = 1;
function getWindowForElement(element) {
var doc = element.ownerDocument || element;
return doc.defaultView || doc.parentWindow || window
}
var SUPPORT_TOUCH = "ontouchstart" in window,
SUPPORT_POINTER_EVENTS = prefixed(window, "PointerEvent") !== undefined,
SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && /mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),
COMPUTE_INTERVAL = 25,
INPUT_START = 1,
INPUT_MOVE = 2,
INPUT_END = 4,
INPUT_CANCEL = 8,
DIRECTION_NONE = 1,
DIRECTION_LEFT = 2,
DIRECTION_RIGHT = 4,
DIRECTION_UP = 8,
DIRECTION_DOWN = 16,
DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT,
DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN,
DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,
PROPS_XY = ["x", "y"],
PROPS_CLIENT_XY = ["clientX", "clientY"];
function Input(manager, callback) {
var self = this;
this.manager = manager, this.callback = callback, this.element = manager.element, this.target = manager.options.inputTarget, this.domHandler = function(ev) {
boolOrFn(manager.options.enable, [manager]) && self.handler(ev)
}, this.init()
}
function inputHandler(manager, eventType, input) {
var pointersLen = input.pointers.length,
changedPointersLen = input.changedPointers.length,
isFirst = eventType & INPUT_START && pointersLen - changedPointersLen == 0,
isFinal = eventType & (INPUT_END | INPUT_CANCEL) && pointersLen - changedPointersLen == 0;
input.isFirst = !!isFirst, input.isFinal = !!isFinal, isFirst && (manager.session = {}), input.eventType = eventType,
function computeInputData(manager, input) {
var session = manager.session,
pointers = input.pointers,
pointersLength = pointers.length;
session.firstInput || (session.firstInput = simpleCloneInputData(input));
pointersLength > 1 && !session.firstMultiple ? session.firstMultiple = simpleCloneInputData(input) : 1 === pointersLength && (session.firstMultiple = !1);
var firstInput = session.firstInput,
firstMultiple = session.firstMultiple,
offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center,
center = input.center = getCenter(pointers);
input.timeStamp = now(), input.deltaTime = input.timeStamp - firstInput.timeStamp, input.angle = getAngle(offsetCenter, center), input.distance = getDistance(offsetCenter, center),
function computeDeltaXY(session, input) {
var center = input.center,
offset = session.offsetDelta || {},
prevDelta = session.prevDelta || {},
prevInput = session.prevInput || {};
input.eventType !== INPUT_START && prevInput.eventType !== INPUT_END || (prevDelta = session.prevDelta = {
x: prevInput.deltaX || 0,
y: prevInput.deltaY || 0
}, offset = session.offsetDelta = {
x: center.x,
y: center.y
});
input.deltaX = prevDelta.x + (center.x - offset.x), input.deltaY = prevDelta.y + (center.y - offset.y)
}(session, input), input.offsetDirection = getDirection(input.deltaX, input.deltaY);
var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);
input.overallVelocityX = overallVelocity.x, input.overallVelocityY = overallVelocity.y, input.overallVelocity = abs(overallVelocity.x) > abs(overallVelocity.y) ? overallVelocity.x : overallVelocity.y, input.scale = firstMultiple ? function getScale(start, end) {
return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY)
}(firstMultiple.pointers, pointers) : 1, input.rotation = firstMultiple ? function getRotation(start, end) {
return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY)
}(firstMultiple.pointers, pointers) : 0, input.maxPointers = session.prevInput ? input.pointers.length > session.prevInput.maxPointers ? input.pointers.length : session.prevInput.maxPointers : input.pointers.length,
function computeIntervalInputData(session, input) {
var velocity, velocityX, velocityY, direction, last = session.lastInterval || input,
deltaTime = input.timeStamp - last.timeStamp;
if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {
var deltaX = input.deltaX - last.deltaX,
deltaY = input.deltaY - last.deltaY,
v = getVelocity(deltaTime, deltaX, deltaY);
velocityX = v.x, velocityY = v.y, velocity = abs(v.x) > abs(v.y) ? v.x : v.y, direction = getDirection(deltaX, deltaY), session.lastInterval = input
} else velocity = last.velocity, velocityX = last.velocityX, velocityY = last.velocityY, direction = last.direction;
input.velocity = velocity, input.velocityX = velocityX, input.velocityY = velocityY, input.direction = direction
}(session, input);
var target = manager.element;
hasParent(input.srcEvent.target, target) && (target = input.srcEvent.target);
input.target = target
}(manager, input), manager.emit("hammer.input", input), manager.recognize(input), manager.session.prevInput = input
}
function simpleCloneInputData(input) {
for (var pointers = [], i = 0; i < input.pointers.length;) pointers[i] = {
clientX: round(input.pointers[i].clientX),
clientY: round(input.pointers[i].clientY)
}, i++;
return {
timeStamp: now(),
pointers,
center: getCenter(pointers),
deltaX: input.deltaX,
deltaY: input.deltaY
}
}
function getCenter(pointers) {
var pointersLength = pointers.length;
if (1 === pointersLength) return {
x: round(pointers[0].clientX),
y: round(pointers[0].clientY)
};
for (var x = 0, y = 0, i = 0; i < pointersLength;) x += pointers[i].clientX, y += pointers[i].clientY, i++;
return {
x: round(x / pointersLength),
y: round(y / pointersLength)
}
}
function getVelocity(deltaTime, x, y) {
return {
x: x / deltaTime || 0,
y: y / deltaTime || 0
}
}
function getDirection(x, y) {
return x === y ? DIRECTION_NONE : abs(x) >= abs(y) ? x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT : y < 0 ? DIRECTION_UP : DIRECTION_DOWN
}
function getDistance(p1, p2, props) {
props || (props = PROPS_XY);
var x = p2[props[0]] - p1[props[0]],
y = p2[props[1]] - p1[props[1]];
return Math.sqrt(x * x + y * y)
}
function getAngle(p1, p2, props) {
props || (props = PROPS_XY);
var x = p2[props[0]] - p1[props[0]],
y = p2[props[1]] - p1[props[1]];
return 180 * Math.atan2(y, x) / Math.PI
}
Input.prototype = {
handler: function() {},
init: function() {
this.evEl && addEventListeners(this.element, this.evEl, this.domHandler), this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler), this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler)
},
destroy: function() {
this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler), this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler), this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler)
}
};
var MOUSE_INPUT_MAP = {
mousedown: INPUT_START,
mousemove: INPUT_MOVE,
mouseup: INPUT_END
},
MOUSE_ELEMENT_EVENTS = "mousedown",
MOUSE_WINDOW_EVENTS = "mousemove mouseup";
function MouseInput() {
this.evEl = MOUSE_ELEMENT_EVENTS, this.evWin = MOUSE_WINDOW_EVENTS, this.pressed = !1, Input.apply(this, arguments)
}
inherit(MouseInput, Input, {
handler: function MEhandler(ev) {
var eventType = MOUSE_INPUT_MAP[ev.type];
eventType & INPUT_START && 0 === ev.button && (this.pressed = !0), eventType & INPUT_MOVE && 1 !== ev.which && (eventType = INPUT_END), this.pressed && (eventType & INPUT_END && (this.pressed = !1), this.callback(this.manager, eventType, {
pointers: [ev],
changedPointers: [ev],
pointerType: "mouse",
srcEvent: ev
}))
}
});
var POINTER_INPUT_MAP = {
pointerdown: INPUT_START,
pointermove: INPUT_MOVE,
pointerup: INPUT_END,
pointercancel: INPUT_CANCEL,
pointerout: INPUT_CANCEL
},
IE10_POINTER_TYPE_ENUM = {
2: "touch",
3: "pen",
4: "mouse",
5: "kinect"
},
POINTER_ELEMENT_EVENTS = "pointerdown",
POINTER_WINDOW_EVENTS = "pointermove pointerup pointercancel";
function PointerEventInput() {
this.evEl = POINTER_ELEMENT_EVENTS, this.evWin = POINTER_WINDOW_EVENTS, Input.apply(this, arguments), this.store = this.manager.session.pointerEvents = []
}
window.MSPointerEvent && !window.PointerEvent && (POINTER_ELEMENT_EVENTS = "MSPointerDown", POINTER_WINDOW_EVENTS = "MSPointerMove MSPointerUp MSPointerCancel"), inherit(PointerEventInput, Input, {
handler: function PEhandler(ev) {
var store = this.store,
removePointer = !1,
eventTypeNormalized = ev.type.toLowerCase().replace("ms", ""),
eventType = POINTER_INPUT_MAP[eventTypeNormalized],
pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType,
isTouch = "touch" == pointerType,
storeIndex = inArray(store, ev.pointerId, "pointerId");
eventType & INPUT_START && (0 === ev.button || isTouch) ? storeIndex < 0 && (store.push(ev), storeIndex = store.length - 1) : eventType & (INPUT_END | INPUT_CANCEL) && (removePointer = !0), storeIndex < 0 || (store[storeIndex] = ev, this.callback(this.manager, eventType, {
pointers: store,
changedPointers: [ev],
pointerType,
srcEvent: ev
}), removePointer && store.splice(storeIndex, 1))
}
});
var SINGLE_TOUCH_INPUT_MAP = {
touchstart: INPUT_START,
touchmove: INPUT_MOVE,
touchend: INPUT_END,
touchcancel: INPUT_CANCEL
},
SINGLE_TOUCH_TARGET_EVENTS = "touchstart",
SINGLE_TOUCH_WINDOW_EVENTS = "touchstart touchmove touchend touchcancel";
function SingleTouchInput() {
this.evTarget = SINGLE_TOUCH_TARGET_EVENTS, this.evWin = SINGLE_TOUCH_WINDOW_EVENTS, this.started = !1, Input.apply(this, arguments)
}
inherit(SingleTouchInput, Input, {
handler: function TEhandler(ev) {
var type = SINGLE_TOUCH_INPUT_MAP[ev.type];
if (type === INPUT_START && (this.started = !0), this.started) {
var touches = function normalizeSingleTouches(ev, type) {
var all = toArray(ev.touches),
changed = toArray(ev.changedTouches);
type & (INPUT_END | INPUT_CANCEL) && (all = uniqueArray(all.concat(changed), "identifier", !0));
return [all, changed]
}.call(this, ev, type);
type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length == 0 && (this.started = !1), this.callback(this.manager, type, {
pointers: touches[0],
changedPointers: touches[1],
pointerType: "touch",
srcEvent: ev
})
}
}
});
var TOUCH_INPUT_MAP = {
touchstart: INPUT_START,
touchmove: INPUT_MOVE,
touchend: INPUT_END,
touchcancel: INPUT_CANCEL
},
TOUCH_TARGET_EVENTS = "touchstart touchmove touchend touchcancel";
function TouchInput() {
this.evTarget = TOUCH_TARGET_EVENTS, this.targetIds = {}, Input.apply(this, arguments)
}
inherit(TouchInput, Input, {
handler: function MTEhandler(ev) {
var type = TOUCH_INPUT_MAP[ev.type],
touches = function getTouches(ev, type) {
var allTouches = toArray(ev.touches),
targetIds = this.targetIds;
if (type & (INPUT_START | INPUT_MOVE) && 1 === allTouches.length) return targetIds[allTouches[0].identifier] = !0, [allTouches, allTouches];
var i, targetTouches, changedTouches = toArray(ev.changedTouches),
changedTargetTouches = [],
target = this.target;
if (targetTouches = allTouches.filter(function(touch) {
return hasParent(touch.target, target)
}), type === INPUT_START)
for (i = 0; i < targetTouches.length;) targetIds[targetTouches[i].identifier] = !0, i++;
i = 0;
for (; i < changedTouches.length;) targetIds[changedTouches[i].identifier] && changedTargetTouches.push(changedTouches[i]), type & (INPUT_END | INPUT_CANCEL) && delete targetIds[changedTouches[i].identifier], i++;
if (!changedTargetTouches.length) return;
return [uniqueArray(targetTouches.concat(changedTargetTouches), "identifier", !0), changedTargetTouches]
}.call(this, ev, type);
touches && this.callback(this.manager, type, {
pointers: touches[0],
changedPointers: touches[1],
pointerType: "touch",
srcEvent: ev
})
}
});
var DEDUP_TIMEOUT = 2500,
DEDUP_DISTANCE = 25;
function TouchMouseInput() {
Input.apply(this, arguments);
var handler = bindFn(this.handler, this);
this.touch = new TouchInput(this.manager, handler), this.mouse = new MouseInput(this.manager, handler), this.primaryTouch = null, this.lastTouches = []
}
function setLastTouch(eventData) {
var touch = eventData.changedPointers[0];
if (touch.identifier === this.primaryTouch) {
var lastTouch = {
x: touch.clientX,
y: touch.clientY
};
this.lastTouches.push(lastTouch);
var lts = this.lastTouches;
setTimeout(function() {
var i = lts.indexOf(lastTouch);
i > -1 && lts.splice(i, 1)
}, DEDUP_TIMEOUT)
}
}
inherit(TouchMouseInput, Input, {
handler: function TMEhandler(manager, inputEvent, inputData) {
var isTouch = "touch" == inputData.pointerType,
isMouse = "mouse" == inputData.pointerType;
if (!(isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents)) {
if (isTouch)(function recordTouches(eventType, eventData) {
eventType & INPUT_START ? (this.primaryTouch = eventData.changedPointers[0].identifier, setLastTouch.call(this, eventData)) : eventType & (INPUT_END | INPUT_CANCEL) && setLastTouch.call(this, eventData)
}).call(this, inputEvent, inputData);
else if (isMouse && function isSyntheticEvent(eventData) {
for (var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY, i = 0; i < this.lastTouches.length; i++) {
var t = this.lastTouches[i],
dx = Math.abs(x - t.x),
dy = Math.abs(y - t.y);
if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) return !0
}
return !1
}.call(this, inputData)) return;
this.callback(manager, inputEvent, inputData)
}
},
destroy: function destroy() {
this.touch.destroy(), this.mouse.destroy()
}
});
var PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, "touchAction"),
NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined,
TOUCH_ACTION_AUTO = "auto",
TOUCH_ACTION_MANIPULATION = "manipulation",
TOUCH_ACTION_NONE = "none",
TOUCH_ACTION_PAN_X = "pan-x",
TOUCH_ACTION_PAN_Y = "pan-y",
TOUCH_ACTION_MAP = function getTouchActionProps() {
if (!NATIVE_TOUCH_ACTION) return !1;
var touchMap = {},
cssSupports = window.CSS && window.CSS.supports;
return ["auto", "manipulation", "pan-y", "pan-x", "pan-x pan-y", "none"].forEach(function(val) {
touchMap[val] = !cssSupports || window.CSS.supports("touch-action", val)
}), touchMap
}();
function TouchAction(manager, value) {
this.manager = manager, this.set(value)
}
TouchAction.prototype = {
set: function(value) {
"compute" == value && (value = this.compute()), NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value] && (this.manager.element.style[PREFIXED_TOUCH_ACTION] = value), this.actions = value.toLowerCase().trim()
},
update: function() {
this.set(this.manager.options.touchAction)
},
compute: function() {
var actions = [];
return each(this.manager.recognizers, function(recognizer) {
boolOrFn(recognizer.options.enable, [recognizer]) && (actions = actions.concat(recognizer.getTouchAction()))
}),
function cleanTouchActions(actions) {
if (inStr(actions, TOUCH_ACTION_NONE)) return TOUCH_ACTION_NONE;
var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X),
hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);
if (hasPanX && hasPanY) return TOUCH_ACTION_NONE;
if (hasPanX || hasPanY) return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;
if (inStr(actions, TOUCH_ACTION_MANIPULATION)) return TOUCH_ACTION_MANIPULATION;
return TOUCH_ACTION_AUTO
}(actions.join(" "))
},
preventDefaults: function(input) {
var srcEvent = input.srcEvent,
direction = input.offsetDirection;
if (this.manager.session.prevented) srcEvent.preventDefault();
else {
var actions = this.actions,
hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE],
hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y],
hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];
if (hasNone) {
var isTapPointer = 1 === input.pointers.length,
isTapMovement = input.distance < 2,
isTapTouchTime = input.deltaTime < 250;
if (isTapPointer && isTapMovement && isTapTouchTime) return
}
if (!hasPanX || !hasPanY) return hasNone || hasPanY && direction & DIRECTION_HORIZONTAL || hasPanX && direction & DIRECTION_VERTICAL ? this.preventSrc(srcEvent) : void 0
}
},
preventSrc: function(srcEvent) {
this.manager.session.prevented = !0, srcEvent.preventDefault()
}
};
var STATE_POSSIBLE = 1,
STATE_BEGAN = 2,
STATE_CHANGED = 4,
STATE_ENDED = 8,
STATE_RECOGNIZED = STATE_ENDED,
STATE_CANCELLED = 16;
function Recognizer(options) {
this.options = assign({}, this.defaults, options || {}), this.id = function uniqueId() {
return _uniqueId++
}(), this.manager = null, this.options.enable = ifUndefined(this.options.enable, !0), this.state = STATE_POSSIBLE, this.simultaneous = {}, this.requireFail = []
}
function stateStr(state) {
return state & STATE_CANCELLED ? "cancel" : state & STATE_ENDED ? "end" : state & STATE_CHANGED ? "move" : state & STATE_BEGAN ? "start" : ""
}
function directionStr(direction) {
return direction == DIRECTION_DOWN ? "down" : direction == DIRECTION_UP ? "up" : direction == DIRECTION_LEFT ? "left" : direction == DIRECTION_RIGHT ? "right" : ""
}
function getRecognizerByNameIfManager(otherRecognizer, recognizer) {
var manager = recognizer.manager;
return manager ? manager.get(otherRecognizer) : otherRecognizer
}
function AttrRecognizer() {
Recognizer.apply(this, arguments)
}
function PanRecognizer() {
AttrRecognizer.apply(this, arguments), this.pX = null, this.pY = null
}
function PinchRecognizer() {
AttrRecognizer.apply(this, arguments)
}
function PressRecognizer() {
Recognizer.apply(this, arguments), this._timer = null, this._input = null
}
function RotateRecognizer() {
AttrRecognizer.apply(this, arguments)
}
function SwipeRecognizer() {
AttrRecognizer.apply(this, arguments)
}
function TapRecognizer() {
Recognizer.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0
}
function Hammer(element, options) {
return (options = options || {}).recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset), new Manager(element, options)
}
Recognizer.prototype = {
defaults: {},
set: function(options) {
return assign(this.options, options), this.manager && this.manager.touchAction.update(), this
},
recognizeWith: function(otherRecognizer) {
if (invokeArrayArg(otherRecognizer, "recognizeWith", this)) return this;
var simultaneous = this.simultaneous;
return simultaneous[(otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this)).id] || (simultaneous[otherRecognizer.id] = otherRecognizer, otherRecognizer.recognizeWith(this)), this
},
dropRecognizeWith: function(otherRecognizer) {
return invokeArrayArg(otherRecognizer, "dropRecognizeWith", this) ? this : (otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this), delete this.simultaneous[otherRecognizer.id], this)
},
requireFailure: function(otherRecognizer) {
if (invokeArrayArg(otherRecognizer, "requireFailure", this)) return this;
var requireFail = this.requireFail;
return -1 === inArray(requireFail, otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this)) && (requireFail.push(otherRecognizer), otherRecognizer.requireFailure(this)), this
},
dropRequireFailure: function(otherRecognizer) {
if (invokeArrayArg(otherRecognizer, "dropRequireFailure", this)) return this;
otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);
var index = inArray(this.requireFail, otherRecognizer);
return index > -1 && this.requireFail.splice(index, 1), this
},
hasRequireFailures: function() {
return this.requireFail.length > 0
},
canRecognizeWith: function(otherRecognizer) {
return !!this.simultaneous[otherRecognizer.id]
},
emit: function(input) {
var self = this,
state = this.state;
function emit(event) {
self.manager.emit(event, input)
}
state < STATE_ENDED && emit(self.options.event + stateStr(state)), emit(self.options.event), input.additionalEvent && emit(input.additionalEvent), state >= STATE_ENDED && emit(self.options.event + stateStr(state))
},
tryEmit: function(input) {
if (this.canEmit()) return this.emit(input);
this.state = 32
},
canEmit: function() {
for (var i = 0; i < this.requireFail.length;) {
if (!(this.requireFail[i].state & (32 | STATE_POSSIBLE))) return !1;
i++
}
return !0
},
recognize: function(inputData) {
var inputDataClone = assign({}, inputData);
if (!boolOrFn(this.options.enable, [this, inputDataClone])) return this.reset(), void(this.state = 32);
this.state & (STATE_RECOGNIZED | STATE_CANCELLED | 32) && (this.state = STATE_POSSIBLE), this.state = this.process(inputDataClone), this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED) && this.tryEmit(inputDataClone)
},
process: function(inputData) {},
getTouchAction: function() {},
reset: function() {}
}, inherit(AttrRecognizer, Recognizer, {
defaults: {
pointers: 1
},
attrTest: function(input) {
var optionPointers = this.options.pointers;
return 0 === optionPointers || input.pointers.length === optionPointers
},
process: function(input) {
var state = this.state,
eventType = input.eventType,
isRecognized = state & (STATE_BEGAN | STATE_CHANGED),
isValid = this.attrTest(input);
return isRecognized && (eventType & INPUT_CANCEL || !isValid) ? state | STATE_CANCELLED : isRecognized || isValid ? eventType & INPUT_END ? state | STATE_ENDED : state & STATE_BEGAN ? state | STATE_CHANGED : STATE_BEGAN : 32
}
}), inherit(PanRecognizer, AttrRecognizer, {
defaults: {
event: "pan",
threshold: 10,
pointers: 1,
direction: DIRECTION_ALL
},
getTouchAction: function() {
var direction = this.options.direction,
actions = [];
return direction & DIRECTION_HORIZONTAL && actions.push(TOUCH_ACTION_PAN_Y), direction & DIRECTION_VERTICAL && actions.push(TOUCH_ACTION_PAN_X), actions
},
directionTest: function(input) {
var options = this.options,
hasMoved = !0,
distance = input.distance,
direction = input.direction,
x = input.deltaX,
y = input.deltaY;
return direction & options.direction || (options.direction & DIRECTION_HORIZONTAL ? (direction = 0 === x ? DIRECTION_NONE : x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT, hasMoved = x != this.pX, distance = Math.abs(input.deltaX)) : (direction = 0 === y ? DIRECTION_NONE : y < 0 ? DIRECTION_UP : DIRECTION_DOWN, hasMoved = y != this.pY, distance = Math.abs(input.deltaY))), input.direction = direction, hasMoved && distance > options.threshold && direction & options.direction
},
attrTest: function(input) {
return AttrRecognizer.prototype.attrTest.call(this, input) && (this.state & STATE_BEGAN || !(this.state & STATE_BEGAN) && this.directionTest(input))
},
emit: function(input) {
this.pX = input.deltaX, this.pY = input.deltaY;
var direction = directionStr(input.direction);
direction && (input.additionalEvent = this.options.event + direction), this._super.emit.call(this, input)
}
}), inherit(PinchRecognizer, AttrRecognizer, {
defaults: {
event: "pinch",
threshold: 0,
pointers: 2
},
getTouchAction: function() {
return [TOUCH_ACTION_NONE]
},
attrTest: function(input) {
return this._super.attrTest.call(this, input) && (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN)
},
emit: function(input) {
if (1 !== input.scale) {
var inOut = input.scale < 1 ? "in" : "out";
input.additionalEvent = this.options.event + inOut
}
this._super.emit.call(this, input)
}
}), inherit(PressRecognizer, Recognizer, {
defaults: {
event: "press",
pointers: 1,
time: 251,
threshold: 9
},
getTouchAction: function() {
return [TOUCH_ACTION_AUTO]
},
process: function(input) {
var options = this.options,
validPointers = input.pointers.length === options.pointers,
validMovement = input.distance < options.threshold,
validTime = input.deltaTime > options.time;
if (this._input = input, !validMovement || !validPointers || input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime) this.reset();
else if (input.eventType & INPUT_START) this.reset(), this._timer = setTimeoutContext(function() {
this.state = STATE_RECOGNIZED, this.tryEmit()
}, options.time, this);
else if (input.eventType & INPUT_END) return STATE_RECOGNIZED;
return 32
},
reset: function() {
clearTimeout(this._timer)
},
emit: function(input) {
this.state === STATE_RECOGNIZED && (input && input.eventType & INPUT_END ? this.manager.emit(this.options.event + "up", input) : (this._input.timeStamp = now(), this.manager.emit(this.options.event, this._input)))
}
}), inherit(RotateRecognizer, AttrRecognizer, {
defaults: {
event: "rotate",
threshold: 0,
pointers: 2
},
getTouchAction: function() {
return [TOUCH_ACTION_NONE]
},
attrTest: function(input) {
return this._super.attrTest.call(this, input) && (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN)
}
}), inherit(SwipeRecognizer, AttrRecognizer, {
defaults: {
event: "swipe",
threshold: 10,
velocity: .3,
direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,
pointers: 1
},
getTouchAction: function() {
return PanRecognizer.prototype.getTouchAction.call(this)
},
attrTest: function(input) {
var velocity, direction = this.options.direction;
return direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL) ? velocity = input.overallVelocity : direction & DIRECTION_HORIZONTAL ? velocity = input.overallVelocityX : direction & DIRECTION_VERTICAL && (velocity = input.overallVelocityY), this._super.attrTest.call(this, input) && direction & input.offsetDirection && input.distance > this.options.threshold && input.maxPointers == this.options.pointers && abs(velocity) > this.options.velocity && input.eventType & INPUT_END
},
emit: function(input) {
var direction = directionStr(input.offsetDirection);
direction && this.manager.emit(this.options.event + direction, input), this.manager.emit(this.options.event, input)
}
}), inherit(TapRecognizer, Recognizer, {
defaults: {
event: "tap",
pointers: 1,
taps: 1,
interval: 300,
time: 250,
threshold: 9,
posThreshold: 10
},
getTouchAction: function() {
return [TOUCH_ACTION_MANIPULATION]
},
process: function(input) {
var options = this.options,
validPointers = input.pointers.length === options.pointers,
validMovement = input.distance < options.threshold,
validTouchTime = input.deltaTime < options.time;
if (this.reset(), input.eventType & INPUT_START && 0 === this.count) return this.failTimeout();
if (validMovement && validTouchTime && validPointers) {
if (input.eventType != INPUT_END) return this.failTimeout();
var validInterval = !this.pTime || input.timeStamp - this.pTime < options.interval,
validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;
if (this.pTime = input.timeStamp, this.pCenter = input.center, validMultiTap && validInterval ? this.count += 1 : this.count = 1, this._input = input, 0 === this.count % options.taps) return this.hasRequireFailures() ? (this._timer = setTimeoutContext(function() {
this.state = STATE_RECOGNIZED, this.tryEmit()
}, options.interval, this), STATE_BEGAN) : STATE_RECOGNIZED
}
return 32
},
failTimeout: function() {
return this._timer = setTimeoutContext(function() {
this.state = 32
}, this.options.interval, this), 32
},
reset: function() {
clearTimeout(this._timer)
},
emit: function() {
this.state == STATE_RECOGNIZED && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input))
}
}), Hammer.VERSION = "2.0.7", Hammer.defaults = {
domEvents: !1,
touchAction: "compute",
enable: !0,
inputTarget: null,
inputClass: null,
preset: [
[RotateRecognizer, {
enable: !1
}],
[PinchRecognizer, {
enable: !1
},
["rotate"]
],
[SwipeRecognizer, {
direction: DIRECTION_HORIZONTAL
}],
[PanRecognizer, {
direction: DIRECTION_HORIZONTAL
},
["swipe"]
],
[TapRecognizer],
[TapRecognizer, {
event: "doubletap",
taps: 2
},
["tap"]
],
[PressRecognizer]
],
cssProps: {
userSelect: "none",
touchSelect: "none",
touchCallout: "none",
contentZooming: "none",
userDrag: "none",
tapHighlightColor: "rgba(0,0,0,0)"
}
};
function Manager(element, options) {
this.options = assign({}, Hammer.defaults, options || {}), this.options.inputTarget = this.options.inputTarget || element, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = element, this.input = function createInputInstance(manager) {
var inputClass = manager.options.inputClass;
return new(inputClass || (SUPPORT_POINTER_EVENTS ? PointerEventInput : SUPPORT_ONLY_TOUCH ? TouchInput : SUPPORT_TOUCH ? TouchMouseInput : MouseInput))(manager, inputHandler)
}(this), this.touchAction = new TouchAction(this, this.options.touchAction), toggleCssProps(this, !0), each(this.options.recognizers, function(item) {
var recognizer = this.add(new item[0](item[1]));
item[2] && recognizer.recognizeWith(item[2]), item[3] && recognizer.requireFailure(item[3])
}, this)
}
function toggleCssProps(manager, add) {
var prop, element = manager.element;
element.style && (each(manager.options.cssProps, function(value, name) {
prop = prefixed(element.style, name), add ? (manager.oldCssProps[prop] = element.style[prop], element.style[prop] = value) : element.style[prop] = manager.oldCssProps[prop] || ""
}), add || (manager.oldCssProps = {}))
}
Manager.prototype = {
set: function(options) {
return assign(this.options, options), options.touchAction && this.touchAction.update(), options.inputTarget && (this.input.destroy(), this.input.target = options.inputTarget, this.input.init()), this
},
stop: function(force) {
this.session.stopped = force ? 2 : 1
},
recognize: function(inputData) {
var session = this.session;
if (!session.stopped) {
var recognizer;
this.touchAction.preventDefaults(inputData);
var recognizers = this.recognizers,
curRecognizer = session.curRecognizer;
(!curRecognizer || curRecognizer && curRecognizer.state & STATE_RECOGNIZED) && (curRecognizer = session.curRecognizer = null);
for (var i = 0; i < recognizers.length;) recognizer = recognizers[i], 2 === session.stopped || curRecognizer && recognizer != curRecognizer && !recognizer.canRecognizeWith(curRecognizer) ? recognizer.reset() : recognizer.recognize(inputData), !curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED) && (curRecognizer = session.curRecognizer = recognizer), i++
}
},
get: function(recognizer) {
if (recognizer instanceof Recognizer) return recognizer;
for (var recognizers = this.recognizers, i = 0; i < recognizers.length; i++)
if (recognizers[i].options.event == recognizer) return recognizers[i];
return null
},
add: function(recognizer) {
if (invokeArrayArg(recognizer, "add", this)) return this;
var existing = this.get(recognizer.options.event);
return existing && this.remove(existing), this.recognizers.push(recognizer), recognizer.manager = this, this.touchAction.update(), recognizer
},
remove: function(recognizer) {
if (invokeArrayArg(recognizer, "remove", this)) return this;
if (recognizer = this.get(recognizer)) {
var recognizers = this.recognizers,
index = inArray(recognizers, recognizer); - 1 !== index && (recognizers.splice(index, 1), this.touchAction.update())
}
return this
},
on: function(events, handler) {
if (events !== undefined && handler !== undefined) {
var handlers = this.handlers;
return each(splitStr(events), function(event) {
handlers[event] = handlers[event] || [], handlers[event].push(handler)
}), this
}
},
off: function(events, handler) {
if (events !== undefined) {
var handlers = this.handlers;
return each(splitStr(events), function(event) {
handler ? handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1) : delete handlers[event]
}), this
}
},
emit: function(event, data) {
this.options.domEvents && function triggerDomEvent(event, data) {
var gestureEvent = document.createEvent("Event");
gestureEvent.initEvent(event, !0, !0), gestureEvent.gesture = data, data.target.dispatchEvent(gestureEvent)
}(event, data);
var handlers = this.handlers[event] && this.handlers[event].slice();
if (handlers && handlers.length) {
data.type = event, data.preventDefault = function() {
data.srcEvent.preventDefault()
};
for (var i = 0; i < handlers.length;) handlers[i](data), i++
}
},
destroy: function() {
this.element && toggleCssProps(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null
}
}, assign(Hammer, {
INPUT_START,
INPUT_MOVE,
INPUT_END,
INPUT_CANCEL,
STATE_POSSIBLE,
STATE_BEGAN,
STATE_CHANGED,
STATE_ENDED,
STATE_RECOGNIZED,
STATE_CANCELLED,
STATE_FAILED: 32,
DIRECTION_NONE,
DIRECTION_LEFT,
DIRECTION_RIGHT,
DIRECTION_UP,
DIRECTION_DOWN,
DIRECTION_HORIZONTAL,
DIRECTION_VERTICAL,
DIRECTION_ALL,
Manager,
Input,
TouchAction,
TouchInput,
MouseInput,
PointerEventInput,
TouchMouseInput,
SingleTouchInput,
Recognizer,
AttrRecognizer,
Tap: TapRecognizer,
Pan: PanRecognizer,
Swipe: SwipeRecognizer,
Pinch: PinchRecognizer,
Rotate: RotateRecognizer,
Press: PressRecognizer,
on: addEventListeners,
off: removeEventListeners,
each,
merge,
extend,
assign,
inherit,
bindFn,
prefixed
}), (void 0 !== window ? window : "undefined" != typeof self ? self : {}).Hammer = Hammer, (__WEBPACK_AMD_DEFINE_RESULT__ = function() {
return Hammer
}.call(exports, __webpack_require__, exports, module)) === undefined || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
}(window, document)
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
rimraf = __webpack_require__(395);
module.exports = {
remove: u(rimraf),
removeSync: rimraf.sync
}
}, function(module, exports, __webpack_require__) {
const chalk = __webpack_require__(262);
module.exports = function chalkFormat(str) {
return str ? function format(str) {
return chalk(Object.assign([], {
raw: [str]
}))
}(str = str.replace(/`/g, "\\`")) : ""
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var _createAction2 = function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}(__webpack_require__(271));
exports.default = (0, _createAction2.default)("Batch", function() {
for (var _len = arguments.length, actions = Array(_len), _key = 0; _key < _len; _key++) actions[_key] = arguments[_key];
return 1 === actions.length && Array.isArray(actions[0]) ? actions[0] : actions
})
}, function(module, exports, __webpack_require__) {
"use strict";
!process.version || 0 === process.version.indexOf("v0.") || 0 === process.version.indexOf("v1.") && 0 !== process.version.indexOf("v1.8.") ? module.exports = {
nextTick: function nextTick(fn, arg1, arg2, arg3) {
if ("function" != typeof fn) throw new TypeError('"callback" argument must be a function');
var args, i, len = arguments.length;
switch (len) {
case 0:
case 1:
return process.nextTick(fn);
case 2:
return process.nextTick(function afterTickOne() {
fn.call(null, arg1)
});
case 3:
return process.nextTick(function afterTickTwo() {
fn.call(null, arg1, arg2)
});
case 4:
return process.nextTick(function afterTickThree() {
fn.call(null, arg1, arg2, arg3)
});
default:
for (args = new Array(len - 1), i = 0; i < args.length;) args[i++] = arguments[i];
return process.nextTick(function afterTick() {
fn.apply(null, args)
})
}
}
} : module.exports = process
}, function(module, exports, __webpack_require__) {
var buffer = __webpack_require__(520),
Buffer = buffer.Buffer;
function copyProps(src, dst) {
for (var key in src) dst[key] = src[key]
}
function SafeBuffer(arg, encodingOrOffset, length) {
return Buffer(arg, encodingOrOffset, length)
}
Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow ? module.exports = buffer : (copyProps(buffer, exports), exports.Buffer = SafeBuffer), copyProps(Buffer, SafeBuffer), SafeBuffer.from = function(arg, encodingOrOffset, length) {
if ("number" == typeof arg) throw new TypeError("Argument must not be a number");
return Buffer(arg, encodingOrOffset, length)
}, SafeBuffer.alloc = function(size, fill, encoding) {
if ("number" != typeof size) throw new TypeError("Argument must be a number");
var buf = Buffer(size);
return void 0 !== fill ? "string" == typeof encoding ? buf.fill(fill, encoding) : buf.fill(fill) : buf.fill(0), buf
}, SafeBuffer.allocUnsafe = function(size) {
if ("number" != typeof size) throw new TypeError("Argument must be a number");
return Buffer(size)
}, SafeBuffer.allocUnsafeSlow = function(size) {
if ("number" != typeof size) throw new TypeError("Argument must be a number");
return buffer.SlowBuffer(size)
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = {
isNode: "undefined" != typeof Buffer,
newBufferFrom: function(data, encoding) {
if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(data, encoding);
if ("number" == typeof data) throw new Error('The "data" argument must not be a number');
return new Buffer(data, encoding)
},
allocBuffer: function(size) {
if (Buffer.alloc) return Buffer.alloc(size);
var buf = new Buffer(size);
return buf.fill(0), buf
},
isBuffer: function(b) {
return Buffer.isBuffer(b)
},
isStream: function(obj) {
return obj && "function" == typeof obj.on && "function" == typeof obj.pause && "function" == typeof obj.resume
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var lodash_es_defaultTo = function defaultTo(value, defaultValue) {
return null == value || value != value ? defaultValue : value
},
get_path = __webpack_require__(23),
intl = __webpack_require__(20),
locale = __webpack_require__(193),
get_spell_checker_version = __webpack_require__(58),
shared_constants = __webpack_require__(4),
storage_constants = __webpack_require__(77);
__webpack_require__.d(__webpack_exports__, "a", function() {
return getDefaultSettings
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return platformSpecificDefaults
});
const DEFAULT_IDLE_TIMEOUT = 432e5;
function getDefaultSettings(localSettings) {
return {
lastClogForProxyInfo: 0,
defaultSigninTeam: null,
hasRunApp: !1,
hasRunFromTray: !1,
isSignedIntoSlackOrg: !1,
isUsingBrowserSignin: !0,
reportIssueOnStartup: !1,
suppressPermissionDialog: !1,
whitelistedUrlSchemes: ["http:", "https:", "mailto:", "skype:", "spotify:", "live:", "callto:", "tel:", "im:", "sip:", "sips:", "slack:"],
notificationAfterHoverTimeout: 2e3,
notificationFailover: 0,
notificationFailoverEnabled: !0,
notificationMaxItems: 3,
notificationMethod: null,
notificationPlayback: null,
notificationPresentationCheck: null,
notificationStyle: shared_constants.f.STYLE2018,
notificationTimeout: 6e3,
notificationZoomLevel: null,
notifyPosition: {
corner: "bottom_right",
display: "same_as_app"
},
isOpenExternalShellForced: !0,
isTitleBarForcedByUser: !1,
sandboxSigninWindow: !1,
workspaceIdleTimeout: DEFAULT_IDLE_TIMEOUT,
...defaultSpellCheckSettings(localSettings),
...defaultUserSettings(localSettings),
...platformSpecificDefaults()
}
}
function platformSpecificDefaults() {
return {}
}
function defaultSpellCheckSettings(localSettings) {
const spellCheckerVersion = lodash_es_defaultTo(localSettings.getItem("spellCheckerVersion"), get_spell_checker_version.a.V1);
return {
spellcheckerLanguage: null,
spellCheckerVersion: storage_constants.a ? get_spell_checker_version.a.V1 : spellCheckerVersion
}
}
function defaultUserSettings(localSettings) {
const currentLocale = localSettings.getItem("lastKnownLocale") || locale.a.currentLocale.systemLocale;
intl.c.applyLocale(currentLocale);
const useHwAcceleration = lodash_es_defaultTo(localSettings.getItem("useHwAcceleration"), !0);
return {
autoHideMenuBar: !1,
launchOnStartup: null,
locale: currentLocale,
PrefSSBFileDownloadPath: defaultDownloadPath(),
runFromTray: !0,
startNetLogAtLaunch: !1,
useHwAcceleration,
zoomLevel: 0,
releaseChannelOverride: null
}
}
function defaultDownloadPath() {
return get_path.a `${"HOME"}/Downloads`
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var freeGlobal = "object" == typeof global && global && global.Object === Object && global;
__webpack_exports__.a = freeGlobal
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(125),
_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22);
__webpack_exports__.a = function baseGetAllKeys(object, keysFunc, symbolsFunc) {
var result = keysFunc(object);
return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__.a)(object) ? result : Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__.a)(result, symbolsFunc(object))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function overArg(func, transform) {
return function(arg) {
return func(transform(arg))
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function stubArray() {
return []
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function arrayFilter(array, predicate) {
for (var index = -1, length = null == array ? 0 : array.length, resIndex = 0, result = []; ++index < length;) {
var value = array[index];
predicate(value, index, array) && (result[resIndex++] = value)
}
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(125),
_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(134),
_getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(131),
_stubArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(180),
getSymbolsIn = Object.getOwnPropertySymbols ? function(object) {
for (var result = []; object;) Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__.a)(result, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_2__.a)(object)), object = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__.a)(object);
return result
} : _stubArray_js__WEBPACK_IMPORTED_MODULE_3__.a;
__webpack_exports__.a = getSymbolsIn
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function copyArray(source, array) {
var index = -1,
length = source.length;
for (array || (array = Array(length)); ++index < length;) array[index] = source[index];
return array
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
(function(module) {
var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32),
freeExports = "object" == typeof exports && exports && !exports.nodeType && exports,
freeModule = freeExports && "object" == typeof module && module && !module.nodeType && module,
Buffer = freeModule && freeModule.exports === freeExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__.a.Buffer : void 0,
allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
__webpack_exports__.a = function cloneBuffer(buffer, isDeep) {
if (isDeep) return buffer.slice();
var length = buffer.length,
result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
return buffer.copy(result), result
}
}).call(this, __webpack_require__(226)(module))
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(135);
__webpack_exports__.a = function cloneTypedArray(typedArray, isDeep) {
var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__.a)(typedArray.buffer) : typedArray.buffer;
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76),
_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(163);
__webpack_exports__.a = function createAssigner(assigner) {
return Object(_baseRest_js__WEBPACK_IMPORTED_MODULE_0__.a)(function(object, sources) {
var index = -1,
length = sources.length,
customizer = length > 1 ? sources[length - 1] : void 0,
guard = length > 2 ? sources[2] : void 0;
for (customizer = assigner.length > 3 && "function" == typeof customizer ? (length--, customizer) : void 0, guard && Object(_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__.a)(sources[0], sources[1], guard) && (customizer = length < 3 ? void 0 : customizer, length = 1), object = Object(object); ++index < length;) {
var source = sources[index];
source && assigner(object, source, index, customizer)
}
return object
})
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return spawn
});
var child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(136);
const spawn = (command, args, options) => new Promise((resolve, reject) => {
const childProcess = Object(child_process__WEBPACK_IMPORTED_MODULE_0__.spawn)(command, args, options),
{
stdout,
stderr
} = childProcess,
stdoutResult = [],
stderrResult = [];
childProcess.on("error", reject), childProcess.on("exit", code => {
0 === code ? resolve(stdoutResult.join("\n")) : reject(stderrResult.join("\n"))
}), stdout && stdout.on("data", chunk => stdoutResult.push(chunk)), stderr && stderr.on("data", chunk => stderrResult.push(chunk))
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function baseFindIndex(array, predicate, fromIndex, fromRight) {
for (var length = array.length, index = fromIndex + (fromRight ? 1 : -1); fromRight ? index-- : ++index < length;)
if (predicate(array[index], index, array)) return index;
return -1
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function arrayIncludesWith(array, value, comparator) {
for (var index = -1, length = null == array ? 0 : array.length; ++index < length;)
if (comparator(value, array[index])) return !0;
return !1
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _SetCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(144),
_arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(204),
_arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(189),
_arrayMap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46),
_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75),
_cacheHas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(129),
LARGE_ARRAY_SIZE = 200;
__webpack_exports__.a = function baseDifference(array, values, iteratee, comparator) {
var index = -1,
includes = _arrayIncludes_js__WEBPACK_IMPORTED_MODULE_1__.a,
isCommon = !0,
length = array.length,
result = [],
valuesLength = values.length;
if (!length) return result;
iteratee && (values = Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_3__.a)(values, Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_4__.a)(iteratee))), comparator ? (includes = _arrayIncludesWith_js__WEBPACK_IMPORTED_MODULE_2__.a, isCommon = !1) : values.length >= LARGE_ARRAY_SIZE && (includes = _cacheHas_js__WEBPACK_IMPORTED_MODULE_5__.a, isCommon = !1, values = new _SetCache_js__WEBPACK_IMPORTED_MODULE_0__.a(values));
outer: for (; ++index < length;) {
var value = array[index],
computed = null == iteratee ? value : iteratee(value);
if (value = comparator || 0 !== value ? value : 0, isCommon && computed == computed) {
for (var valuesIndex = valuesLength; valuesIndex--;)
if (values[valuesIndex] === computed) continue outer;
result.push(value)
} else includes(values, computed, comparator) || result.push(value)
}
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return gatherMemoryStats
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return reduce
});
__webpack_require__(613);
var DiagnosticsActions, redux_act__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7),
_utils_logger_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27);
! function(DiagnosticsActions) {
DiagnosticsActions.GATHER_MEMORY_STATS = "GATHER_MEMORY_STATS", DiagnosticsActions.SAVE_MEMORY_STATS = "SAVE_MEMORY_STATS"
}(DiagnosticsActions || (DiagnosticsActions = {}));
const gatherMemoryStats = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)(DiagnosticsActions.GATHER_MEMORY_STATS, payload => payload, () => ({
logLevel: _utils_logger_utils__WEBPACK_IMPORTED_MODULE_2__.a.DEBUG
})),
saveMemoryStats = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createAction)(DiagnosticsActions.SAVE_MEMORY_STATS, payload => payload, () => ({
logLevel: _utils_logger_utils__WEBPACK_IMPORTED_MODULE_2__.a.DEBUG
})),
reduce = Object(redux_act__WEBPACK_IMPORTED_MODULE_1__.createReducer)({
[saveMemoryStats.getType()]: (state, payload) => ({
...state,
memoryStats: [...payload]
})
}, {
memoryStats: []
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseEach_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(212),
_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43);
__webpack_exports__.a = function baseMap(collection, iteratee) {
var index = -1,
result = Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__.a)(collection) ? Array(collection.length) : [];
return Object(_baseEach_js__WEBPACK_IMPORTED_MODULE_0__.a)(collection, function(value, key, collection) {
result[++index] = iteratee(value, key, collection)
}), result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return locale
});
var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2),
_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0),
_intl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20);
const locale = new class Locale {
constructor() {
this.localeConfig = null
}
get currentLocale() {
return this.localeConfig || (this.localeConfig = {
systemLocale: this.systemLocale,
systemRegion: this.systemRegion
}), this.localeConfig
}
invalidate() {
return this.localeConfig = null, this.currentLocale
}
get systemLocale() {
const main = electron__WEBPACK_IMPORTED_MODULE_0__.app || electron__WEBPACK_IMPORTED_MODULE_0__.remote.app;
if (main) return main.isReady() ? main.getLocale() || _intl__WEBPACK_IMPORTED_MODULE_2__.b.EN_US : (_logger__WEBPACK_IMPORTED_MODULE_1__.logger.error("Locale: Tried to access systemLocale before application was ready"), _intl__WEBPACK_IMPORTED_MODULE_2__.b.EN_US);
throw new Error("cannot locate main process instance, check context")
}
get userLocale() {
return ""
}
get systemRegion() {
return ""
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return flushTelemetryOnQuitEpic
});
var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1),
_custom_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19),
_telemetry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36),
_utils_shared_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4);
const flushTelemetryOnQuitEpic = (actionObservable, _store) => actionObservable.ofType(_actions__WEBPACK_IMPORTED_MODULE_0__.d.QUIT_APP).tag(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_3__.e.QUIT_APPLICATION_TELEMETRY).mergeMap(_telemetry__WEBPACK_IMPORTED_MODULE_2__.flushTelemetry).let(Object(_custom_operators__WEBPACK_IMPORTED_MODULE_1__.a)(_utils_shared_constants__WEBPACK_IMPORTED_MODULE_3__.e.QUIT_APPLICATION_TELEMETRY))
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return notificationActions
});
var _lib_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3),
_reducers_notifications_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(150),
_utils_unique_id__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(109),
___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1);
const notificationActions = new class NotificationActions {
newNotification(notification) {
notification = {
id: Object(_utils_unique_id__WEBPACK_IMPORTED_MODULE_2__.a)(),
...notification
}, _lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch(Object(_reducers_notifications_reducer__WEBPACK_IMPORTED_MODULE_1__.b)(notification))
}
removeNotification(notificationId) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_3__.g.REMOVE_NOTIFICATION,
payload: notificationId
})
}
clickNotification(notificationId, channel, teamId, messageId, threadTimestamp) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch({
type: ___WEBPACK_IMPORTED_MODULE_3__.g.CLICK_NOTIFICATION,
payload: {
notificationId,
channel,
teamId,
messageId,
threadTimestamp
}
})
}
clickDownloadNotification(notificationId, teamId, fileLaunchPath) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch(Object(_reducers_notifications_reducer__WEBPACK_IMPORTED_MODULE_1__.a)({
notificationId,
teamId,
fileLaunchPath
}))
}
replyToNotification(response, channel, userId, teamId, messageId, threadTimestamp) {
_lib_store__WEBPACK_IMPORTED_MODULE_0__.Store.dispatch(Object(_reducers_notifications_reducer__WEBPACK_IMPORTED_MODULE_1__.d)({
response,
channel,
userId,
teamId,
messageId,
threadTimestamp
}))
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return getCrashReporterOptions
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return setupCrashReporter
});
__webpack_require__(9);
var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0),
_uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39);
function getCrashReporterOptions(extras) {
if (process.mas) return null;
try {
const extra = {
instanceUid: Object(_uuid__WEBPACK_IMPORTED_MODULE_2__.getInstanceUuid)(),
sessionId: Object(_uuid__WEBPACK_IMPORTED_MODULE_2__.getSessionId)(),
...extras
},
version = extras ? extras.version : null,
channel = extras ? extras.channel : null;
return {
productName: "Slack",
companyName: "Slack Technologies",
uploadToServer: !0,
submitURL: `https://slack.com/apps/breakpad?instanceUid=${Object(_uuid__WEBPACK_IMPORTED_MODULE_2__.getInstanceUuid)()}` + `${version?`&version=${version}`:""}` + `${channel?`&channel=${channel}`:""}`,
extra
}
} catch (error) {
return _logger__WEBPACK_IMPORTED_MODULE_1__.logger.error("CrashReporter: Unable to compute crash reporter options", {
error
}), null
}
}
function setupCrashReporter(extras) {
const opts = getCrashReporterOptions(extras);
if (opts) try {
__webpack_require__(2).crashReporter.start(opts)
} catch (error) {
_logger__WEBPACK_IMPORTED_MODULE_1__.logger.error("CrashReporter: Unable to start crash report service", {
error
})
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return openExternal
});
__webpack_require__(136);
var electron__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2),
url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21),
_logger__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_require__(1), __webpack_require__(0)),
_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11);
__webpack_require__(96);
function openExternal(url, store, activate = !0) {
const {
protocol
} = url__WEBPACK_IMPORTED_MODULE_2__.parse(url);
if (!protocol || protocol.startsWith("file:")) return;
Object(_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_5__.getSettings)(store).isOpenExternalShellForced; {
const sOpenExternal = electron__WEBPACK_IMPORTED_MODULE_1__ && electron__WEBPACK_IMPORTED_MODULE_1__.remote ? electron__WEBPACK_IMPORTED_MODULE_1__.remote.shell.openExternal : electron__WEBPACK_IMPORTED_MODULE_1__.shell.openExternal;
try {
sOpenExternal(url, {
activate
})
} catch (error) {
_logger__WEBPACK_IMPORTED_MODULE_4__.logger.error("Open external util: Failed to open link", {
error
})
}
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return remoteDispatchEventToParent
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return remoteDispatchEventToTarget
});
var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2),
getroot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16),
_renderer_preload_environment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12),
_utils_ipc_channel_names__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14);
const remoteDispatchEventToTarget = (data = "", target) => new Promise(resolve => {
electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer.once(_utils_ipc_channel_names__WEBPACK_IMPORTED_MODULE_3__.d.DispatchEvent, () => resolve());
const stringifiedData = JSON.stringify(data),
origin = document.location.origin,
windowId = getroot__WEBPACK_IMPORTED_MODULE_1__.root.desktop.browserWindowId;
target.send(_utils_ipc_channel_names__WEBPACK_IMPORTED_MODULE_3__.d.DispatchEvent, stringifiedData, origin, windowId)
}),
remoteDispatchEventToParent = (data = "") => {
const {
parentWebContentsId
} = _renderer_preload_environment__WEBPACK_IMPORTED_MODULE_2__.preloadEnv;
if (!parentWebContentsId) return console.warn("remoteDispatchEvent: Current window does not have context to parent window"), Promise.resolve();
const parentWebContents = electron__WEBPACK_IMPORTED_MODULE_0__.remote.webContents.fromId(parentWebContentsId);
return remoteDispatchEventToTarget(data, parentWebContents)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return isWindowsVersionOrHigher
});
__webpack_require__(72), __webpack_require__(8);
function isWindowsVersionOrHigher(store, version) {
return !1
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var loadModule_1 = __webpack_require__(557);
exports.loadModule = loadModule_1.loadModule;
var logger_1 = __webpack_require__(112);
exports.log = logger_1.log, exports.enableLogger = logger_1.enableLogger;
var emscripten_wasm_loader_1 = __webpack_require__(160);
exports.ENVIRONMENT = emscripten_wasm_loader_1.ENVIRONMENT
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return fetchContentForChannel
});
var rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5),
rxjs_Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(153),
_lib_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3),
_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0),
_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11),
_utils_get_spell_checker_version__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(58),
_utils_storage_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77);
function fetchContentForChannel(retries = 0) {
if (_utils_storage_constants__WEBPACK_IMPORTED_MODULE_6__.a) return void _logger__WEBPACK_IMPORTED_MODULE_3__.logger.info("fetchContentForChannel: will not attempt to try fetch channel content in pilot");
if (Object(_utils_get_spell_checker_version__WEBPACK_IMPORTED_MODULE_5__.b)() !== _utils_get_spell_checker_version__WEBPACK_IMPORTED_MODULE_5__.a.V1) return void _logger__WEBPACK_IMPORTED_MODULE_3__.logger.info("Skipping request to provide hint content for channel for spellchecker", {
version: Object(_utils_get_spell_checker_version__WEBPACK_IMPORTED_MODULE_5__.b)()
});
if (Object(_stores_setting_store_helper__WEBPACK_IMPORTED_MODULE_4__.getSettings)(_lib_store__WEBPACK_IMPORTED_MODULE_2__.Store).spellcheckerLanguage) return void _logger__WEBPACK_IMPORTED_MODULE_3__.logger.debug("Asked to provide hint content for channel, but refusing: spellcheckerLanguage is set");
let fetchWithRetry = rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.create(subj => {
try {
const ret = function fetchRecentMessages() {
const {
msgs
} = window.desktop.delegate.recentMessagesFromCurrentChannel();
return msgs.reduce((acc, x) => {
if (!x || !x.text) return acc;
if ("message" !== x.type || x.subtype) return acc;
const finalText = x.text.replace(/<[^>]+>/g, "").replace(/:[a-zA-Z_]:/g, "").replace(/@[a-zA-Z0-9.-]+/g, "");
return acc.push(finalText), acc
}, [])
}().join("\n");
ret.length < 10 ? subj.error(new Error("Failed to fetch recent messages")) : (subj.next(ret), subj.complete())
} catch (e) {
subj.error(e)
}
return rxjs_Subscription__WEBPACK_IMPORTED_MODULE_1__.Subscription.EMPTY
}).catch(e => rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.timer(2e3).flatMap(() => rxjs_Observable__WEBPACK_IMPORTED_MODULE_0__.Observable.throw(e)));
retries > 0 && (fetchWithRetry = fetchWithRetry.retry(retries)), fetchWithRetry.filter(() => !!window.winssb.spellCheckingHelper && !!window.winssb.spellCheckingHelper.spellCheckHandler).subscribe(msgs => window.winssb.spellCheckingHelper.spellCheckHandler.provideHintText(msgs), e => _logger__WEBPACK_IMPORTED_MODULE_3__.logger.info(`Couldn't get hint text from messages in channel: ${e.message}`))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "deviceStorage", function() {
return deviceStorage
});
var _utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82);
const deviceStorage = {
getItem: key => Object(_utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__.c)(_utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__.b.localStorage, "getItem", key),
setItem: (key, value) => Object(_utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__.c)(_utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__.b.localStorage, "setItem", key, value),
removeItem: key => Object(_utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__.c)(_utils_remote_process_method__WEBPACK_IMPORTED_MODULE_0__.b.localStorage, "removeItem", key)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return doNotDisturb
});
var _utils_safe_require__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(165);
const {
getDoNotDisturb
} = Object(_utils_safe_require__WEBPACK_IMPORTED_MODULE_0__.a)(() => __webpack_require__(579), "darwin");
function doNotDisturb() {
return getDoNotDisturb()
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseFindIndex = __webpack_require__(188);
var _baseIsNaN = function baseIsNaN(value) {
return value != value
};
var _strictIndexOf = function strictIndexOf(array, value, fromIndex) {
for (var index = fromIndex - 1, length = array.length; ++index < length;)
if (array[index] === value) return index;
return -1
};
var _baseIndexOf = function baseIndexOf(array, value, fromIndex) {
return value == value ? _strictIndexOf(array, value, fromIndex) : Object(_baseFindIndex.a)(array, _baseIsNaN, fromIndex)
};
__webpack_exports__.a = function arrayIncludes(array, value) {
return !(null == array || !array.length) && _baseIndexOf(array, value, 0) > -1
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
function __awaiter(thisArg, _arguments, P, generator) {
return new(P || (P = Promise))(function(resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value))
} catch (e) {
reject(e)
}
}
function rejected(value) {
try {
step(generator.throw(value))
} catch (e) {
reject(e)
}
}
function step(result) {
result.done ? resolve(result.value) : new P(function(resolve) {
resolve(result.value)
}).then(fulfilled, rejected)
}
step((generator = generator.apply(thisArg, _arguments || [])).next())
})
}
function __generator(thisArg, body) {
var f, y, t, g, _ = {
label: 0,
sent: function() {
if (1 & t[0]) throw t[1];
return t[1]
},
trys: [],
ops: []
};
return g = {
next: verb(0),
throw: verb(1),
return: verb(2)
}, "function" == typeof Symbol && (g[Symbol.iterator] = function() {
return this
}), g;
function verb(n) {
return function(v) {
return function step(op) {
if (f) throw new TypeError("Generator is already executing.");
for (; _;) try {
if (f = 1, y && (t = 2 & op[0] ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
switch (y = 0, t && (op = [2 & op[0], t.value]), op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
return _.label++, {
value: op[1],
done: !1
};
case 5:
_.label++, y = op[1], op = [0];
continue;
case 7:
op = _.ops.pop(), _.trys.pop();
continue;
default:
if (!(t = (t = _.trys).length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
_ = 0;
continue
}
if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break
}
if (6 === op[0] && _.label < t[1]) {
_.label = t[1], t = op;
break
}
if (t && _.label < t[2]) {
_.label = t[2], _.ops.push(op);
break
}
t[2] && _.ops.pop(), _.trys.pop();
continue
}
op = body.call(thisArg, _)
} catch (e) {
op = [6, e], y = 0
} finally {
f = t = 0
}
if (5 & op[0]) throw op[1];
return {
value: op[0] ? op[1] : void 0,
done: !0
}
}([n, v])
}
}
}
var src = __webpack_require__(200),
external_path_ = __webpack_require__(6),
unixify = __webpack_require__(242),
noopLog = function() {
for (var _args = [], _i = 0; _i < arguments.length; _i++) _args[_i] = arguments[_i]
},
log = {
debug: noopLog,
info: noopLog,
warn: noopLog,
error: noopLog
};
function enableLogger(logger) {
var isLogFunction = "function" == typeof logger;
Object.keys(log).forEach(function(key) {
return log[key] = isLogFunction ? logger : logger[key] || function() {}
}), Object(src.enableLogger)(log.debug.bind(log))
}
var spellCheckerProvider_SpellCheckerProvider = function() {
function SpellCheckerProvider() {
this.spellCheckerTable = {}, this._currentSpellCheckerKey = null, this._verboseLog = !1, this.fileMountRefCount = {}, this.currentSpellCheckerStartTime = Number.NEGATIVE_INFINITY
}
return Object.defineProperty(SpellCheckerProvider.prototype, "availableDictionaries", {
get: function() {
var key, _this = this;
return Object.keys(this.spellCheckerTable).map(function(key) {
return {
key,
uptime: _this.spellCheckerTable[key].uptime
}
}).sort((key = "uptime", function(a, b) {
return a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0
})).reverse().map(function(v) {
return v.key
})
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(SpellCheckerProvider.prototype, "selectedDictionary", {
get: function() {
return this._currentSpellCheckerKey
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(SpellCheckerProvider.prototype, "verboseLog", {
set: function(value) {
this._verboseLog = value
},
enumerable: !0,
configurable: !0
}), SpellCheckerProvider.prototype.initialize = function() {
return __awaiter(this, void 0, void 0, function() {
var _a;
return __generator(this, function(_b) {
switch (_b.label) {
case 0:
return this.hunspellFactory ? [2] : (log.info("loadAsmModule: loading hunspell-asm module"), _a = this, [4, Object(src.loadModule)()]);
case 1:
return _a.hunspellFactory = _b.sent(), log.info("loadAsmModule: asm module loaded successfully"), [2]
}
})
})
}, SpellCheckerProvider.prototype.switchDictionary = function(key) {
if (!key || !this.spellCheckerTable[key]) throw new Error("Spellchecker dictionary for " + key + " is not available, ensure dictionary loaded");
if (log.info("switchDictionary: switching dictionary to check spell from '" + this._currentSpellCheckerKey + "' to '" + key + "'"), Number.isInteger(this.currentSpellCheckerStartTime)) {
var timePassed = Date.now() - this.currentSpellCheckerStartTime,
currentKey = this._currentSpellCheckerKey;
currentKey && (this.spellCheckerTable[currentKey].uptime += timePassed, log.info("switchDictionary: total uptime for '" + currentKey + "' - '" + this.spellCheckerTable[currentKey].uptime + "'"))
}
this.currentSpellCheckerStartTime = Date.now(), this._currentSpellCheckerKey = key, this.attach(key)
}, SpellCheckerProvider.prototype.getSuggestion = function(text) {
if (!this._currentSpellCheckerKey) return log.warn("getSuggestedWord: there isn't any spellchecker key, bailing"), [];
var checker = this.spellCheckerTable[this._currentSpellCheckerKey];
if (!checker) return log.error("attach: There isn't corresponding dictionary for key '" + this._currentSpellCheckerKey + "'"), [];
var ret = checker.spellChecker.suggest(text);
return this._verboseLog && log.debug("getSuggestion: '" + text + "' got suggestions", ret), ret
}, SpellCheckerProvider.prototype.loadDictionary = function(key, dic, aff) {
return __awaiter(this, void 0, void 0, function() {
var isBufferDictionary, isFileDictionary, mounted;
return __generator(this, function(_a) {
if (!key || this.spellCheckerTable[key]) throw new Error("Invalid key: " + (key ? "already registered key" : "key is empty"));
if (isBufferDictionary = ArrayBuffer.isView(dic) && ArrayBuffer.isView(aff), isFileDictionary = "string" == typeof dic && "string" == typeof aff, !isBufferDictionary && !isFileDictionary) throw new Error("Cannot load dictionary for given parameters");
return mounted = isBufferDictionary ? this.mountBufferDictionary(dic, aff) : this.mountFileDictionary(dic, aff), this.assignSpellchecker(key, mounted), [2]
})
})
}, SpellCheckerProvider.prototype.unloadDictionary = function(key) {
key && this.spellCheckerTable[key] ? (this._currentSpellCheckerKey && this._currentSpellCheckerKey === key && (this._currentSpellCheckerKey = null, this.currentSpellCheckerStartTime = Number.NEGATIVE_INFINITY, log.warn("unloadDictionary: unload dictionary for current spellchecker instance"), this.setProvider(key, function() {
return !0
})), this.spellCheckerTable[key].dispose(), delete this.spellCheckerTable[key], log.info("unloadDictionary: dictionary for '" + key + "' is unloaded")) : log.info("unloadDictionary: not able to find corresponding spellchecker for given key")
}, SpellCheckerProvider.prototype.attach = function(key) {
var _this = this,
checker = this.spellCheckerTable[key];
this.setProvider(key, function(text) {
var ret = checker.spellChecker.spell(text);
return _this._verboseLog && log.debug("spellChecker: checking spell for '" + text + "' with '" + key + "' returned", ret), ret
})
}, SpellCheckerProvider.prototype.setProvider = function(key, provider) {
var webFrame = __webpack_require__(2).webFrame;
webFrame ? webFrame.setSpellCheckProvider(key, !0, {
spellCheck: provider
}) : log.warn("attach: Cannot lookup webFrame to set spell checker provider")
}, SpellCheckerProvider.prototype.mountBufferDictionary = function(dicBuffer, affBuffer) {
var factory = this.hunspellFactory;
return {
affPath: factory.mountBuffer(affBuffer),
dicPath: factory.mountBuffer(dicBuffer),
buffer: !0
}
}, SpellCheckerProvider.prototype.mountFileDictionary = function(dicFilePath, affFilePath) {
var factory = this.hunspellFactory,
getMountedPath = function(filePath) {
var mountedDir = factory.mountDirectory(external_path_.dirname(filePath));
return unixify(external_path_.join(mountedDir, external_path_.basename(filePath)))
};
return {
affPath: getMountedPath(affFilePath),
dicPath: getMountedPath(dicFilePath),
buffer: !1
}
}, SpellCheckerProvider.prototype.assignSpellchecker = function(key, _a) {
var _this = this,
buffer = _a.buffer,
affPath = _a.affPath,
dicPath = _a.dicPath,
factory = this.hunspellFactory,
spellChecker = factory.create(affPath, dicPath),
increaseRefCount = function(filePath) {
var dir = external_path_.dirname(filePath);
_this.fileMountRefCount[dir] = _this.fileMountRefCount[dir] ? _this.fileMountRefCount[dir] + 1 : 1, log.debug("increaseRefCount: refCount set for '" + dir + "' to '" + _this.fileMountRefCount[dir] + "'")
};
buffer || (increaseRefCount(affPath), increaseRefCount(dicPath));
this.spellCheckerTable[key] = {
uptime: 0,
spellChecker,
dispose: buffer ? function() {
factory.unmount(affPath), factory.unmount(dicPath), log.debug("unmountBuffer: unmounted buffer ", affPath, dicPath), spellChecker.dispose(), log.debug("unmountBuffer: disposed hunspell instance for ", key)
} : function() {
[affPath, dicPath].forEach(function(p) {
0 === function(filePath) {
var dir = external_path_.dirname(filePath);
_this.fileMountRefCount[dir] > 0 && (_this.fileMountRefCount[dir] -= 1), 0 === _this.fileMountRefCount[dir] && delete _this.fileMountRefCount[dir];
var refCount = _this.fileMountRefCount[dir] ? _this.fileMountRefCount[dir] : 0;
return log.debug("decreaseRefCount: refCount set for '" + dir + "' to '" + refCount + "'"), refCount
}(p) && factory.unmount(external_path_.dirname(p))
}), spellChecker.dispose()
}
}, log.info("assignSpellchecker: spellCheckerTable added new checker for '" + key + "'")
}, SpellCheckerProvider
}();
__webpack_require__.d(__webpack_exports__, "a", function() {
return spellCheckerProvider_SpellCheckerProvider
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return enableLogger
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var lodash_es_constant = function constant(value) {
return function() {
return value
}
},
_defineProperty = __webpack_require__(148),
identity = __webpack_require__(73),
_baseSetToString = _defineProperty.a ? function(func, string) {
return Object(_defineProperty.a)(func, "toString", {
configurable: !0,
enumerable: !1,
value: lodash_es_constant(string),
writable: !0
})
} : identity.a,
HOT_COUNT = 800,
HOT_SPAN = 16,
nativeNow = Date.now;
var setToString = function shortOut(func) {
var count = 0,
lastCalled = 0;
return function() {
var stamp = nativeNow(),
remaining = HOT_SPAN - (stamp - lastCalled);
if (lastCalled = stamp, remaining > 0) {
if (++count >= HOT_COUNT) return arguments[0]
} else count = 0;
return func.apply(void 0, arguments)
}
}(_baseSetToString);
__webpack_exports__.a = setToString
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseHasIn = function baseHasIn(object, key) {
return null != object && key in Object(object)
},
_castPath = __webpack_require__(67),
isArguments = __webpack_require__(71),
isArray = __webpack_require__(22),
_isIndex = __webpack_require__(98),
isLength = __webpack_require__(128),
_toKey = __webpack_require__(66);
var _hasPath = function hasPath(object, path, hasFunc) {
for (var index = -1, length = (path = Object(_castPath.a)(path, object)).length, result = !1; ++index < length;) {
var key = Object(_toKey.a)(path[index]);
if (!(result = null != object && hasFunc(object, key))) break;
object = object[key]
}
return result || ++index != length ? result : !!(length = null == object ? 0 : object.length) && Object(isLength.a)(length) && Object(_isIndex.a)(key, length) && (Object(isArray.a)(object) || Object(isArguments.a)(object))
};
__webpack_exports__.a = function hasIn(object, path) {
return null != object && _hasPath(object, path, _baseHasIn)
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var assignIn = __webpack_require__(608),
Subscription_ = __webpack_require__(153);
const hasOwn = Object.prototype.hasOwnProperty;
function is(x, y) {
return x === y ? 0 !== x || 0 !== y || 1 / x == 1 / y : x != x && y != y
}
var logger = __webpack_require__(0);
var store = __webpack_require__(3);
__webpack_require__.d(__webpack_exports__, "a", function() {
return redux_component_ReduxComponent
});
class redux_component_ReduxComponent {
constructor(args = {}) {
this.disposables = new Subscription_.Subscription, this.updateCallbacks = [], Object(assignIn.a)(this, args), this.state = this.syncState() || {}, this.disposables.add(new Subscription_.Subscription(store.Store.subscribe(this.updateState.bind(this)))), this.disposables.add(new Subscription_.Subscription(store.Store.subscribePostDispatch(this.runUpdateCallbacks.bind(this))))
}
syncState() {
return null
}
update(_prevState) {}
shouldComponentUpdate(prevState, newState) {
return ! function shallowEqual(objA, objB) {
if (is(objA, objB)) return !0;
if ("object" != typeof objA || null === objA || "object" != typeof objB || null === objB) return !1;
const keysA = Object.keys(objA),
keysB = Object.keys(objB);
if (keysA.length !== keysB.length) return !1;
for (let i = 0; i < keysA.length; i++)
if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) return !1;
return !0
}(prevState, newState)
}
dispose() {
this.disposables.unsubscribe()
}
updateState() {
if (this.disposables.closed) return;
const prevState = this.state,
newState = this.syncState() || {};
this.shouldComponentUpdate(prevState, newState) && (this.state = {
...newState
}, Object.keys(newState).forEach(key => {
const value = newState[key],
handler = function stateEventHandler(component, event, eventName, prevState) {
if (event && event.timestamp && event.timestamp > prevState[eventName].timestamp) {
const handler = component[eventName];
return handler && "function" == typeof handler ? (...args) => process.nextTick(handler.bind(component, ...args)) : (logger.logger.warn(`${component.constructor.name} declares an event named ${eventName} but no method to handle it`), null)
}
return null
}(this, value, key, prevState);
handler && this.updateCallbacks.push(() => handler(value))
}), this.updateCallbacks.push(() => this.update(prevState)))
}
runUpdateCallbacks() {
let cb = this.updateCallbacks.shift();
for (; cb;) cb(), cb = this.updateCallbacks.shift()
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseTimes = function baseTimes(n, iteratee) {
for (var index = -1, result = Array(n); ++index < n;) result[index] = iteratee(index);
return result
},
isArguments = __webpack_require__(71),
isArray = __webpack_require__(22),
isBuffer = __webpack_require__(69),
_isIndex = __webpack_require__(98),
isTypedArray = __webpack_require__(106),
_arrayLikeKeys_hasOwnProperty = Object.prototype.hasOwnProperty;
__webpack_exports__.a = function arrayLikeKeys(value, inherited) {
var isArr = Object(isArray.a)(value),
isArg = !isArr && Object(isArguments.a)(value),
isBuff = !isArr && !isArg && Object(isBuffer.a)(value),
isType = !isArr && !isArg && !isBuff && Object(isTypedArray.a)(value),
skipIndexes = isArr || isArg || isBuff || isType,
result = skipIndexes ? _baseTimes(value.length, String) : [],
length = result.length;
for (var key in value) !inherited && !_arrayLikeKeys_hasOwnProperty.call(value, key) || skipIndexes && ("length" == key || isBuff && ("offset" == key || "parent" == key) || isType && ("buffer" == key || "byteLength" == key || "byteOffset" == key) || Object(_isIndex.a)(key, length)) || result.push(key);
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _isPrototype = __webpack_require__(100),
_overArg = __webpack_require__(179),
_nativeKeys = Object(_overArg.a)(Object.keys, Object),
_baseKeys_hasOwnProperty = Object.prototype.hasOwnProperty;
__webpack_exports__.a = function baseKeys(object) {
if (!Object(_isPrototype.a)(object)) return _nativeKeys(object);
var result = [];
for (var key in Object(object)) _baseKeys_hasOwnProperty.call(object, key) && "constructor" != key && result.push(key);
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var baseFor = function createBaseFor(fromRight) {
return function(object, iteratee, keysFunc) {
for (var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; length--;) {
var key = props[fromRight ? length : ++index];
if (!1 === iteratee(iterable[key], key, iterable)) break
}
return object
}
}();
__webpack_exports__.a = baseFor
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseForOwn = __webpack_require__(132),
isArrayLike = __webpack_require__(43);
var baseEach = function createBaseEach(eachFunc, fromRight) {
return function(collection, iteratee) {
if (null == collection) return collection;
if (!Object(isArrayLike.a)(collection)) return eachFunc(collection, iteratee);
for (var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
(fromRight ? index-- : ++index < length) && !1 !== iteratee(iterable[index], index, iterable););
return collection
}
}(_baseForOwn.a);
__webpack_exports__.a = baseEach
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _SetCache = __webpack_require__(144),
_arrayIncludes = __webpack_require__(204),
_arrayIncludesWith = __webpack_require__(189),
_cacheHas = __webpack_require__(129),
_Set = __webpack_require__(111),
noop = __webpack_require__(471),
_setToArray = __webpack_require__(130),
_createSet = _Set.a && 1 / Object(_setToArray.a)(new _Set.a([, -0]))[1] == 1 / 0 ? function(values) {
return new _Set.a(values)
} : noop.a,
LARGE_ARRAY_SIZE = 200;
__webpack_exports__.a = function baseUniq(array, iteratee, comparator) {
var index = -1,
includes = _arrayIncludes.a,
length = array.length,
isCommon = !0,
result = [],
seen = result;
if (comparator) isCommon = !1, includes = _arrayIncludesWith.a;
else if (length >= LARGE_ARRAY_SIZE) {
var set = iteratee ? null : _createSet(array);
if (set) return Object(_setToArray.a)(set);
isCommon = !1, includes = _cacheHas.a, seen = new _SetCache.a
} else seen = iteratee ? [] : result;
outer: for (; ++index < length;) {
var value = array[index],
computed = iteratee ? iteratee(value) : value;
if (value = comparator || 0 !== value ? value : 0, isCommon && computed == computed) {
for (var seenIndex = seen.length; seenIndex--;)
if (seen[seenIndex] === computed) continue outer;
iteratee && seen.push(computed), result.push(value)
} else includes(seen, computed, comparator) || (seen !== result && seen.push(computed), result.push(value))
}
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var isObject = __webpack_require__(63),
objectCreate = Object.create,
_baseCreate = function() {
function object() {}
return function(proto) {
if (!Object(isObject.a)(proto)) return {};
if (objectCreate) return objectCreate(proto);
object.prototype = proto;
var result = new object;
return object.prototype = void 0, result
}
}(),
_getPrototype = __webpack_require__(134),
_isPrototype = __webpack_require__(100);
__webpack_exports__.a = function initCloneObject(object) {
return "function" != typeof object.constructor || Object(_isPrototype.a)(object) ? {} : _baseCreate(Object(_getPrototype.a)(object))
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var comlink = __webpack_require__(115),
external_fs_ = __webpack_require__(37),
memoize = __webpack_require__(367),
external_path_ = __webpack_require__(6),
logger = __webpack_require__(0),
logger_utils = __webpack_require__(27);
let worker;
__webpack_require__.d(__webpack_exports__, "a", function() {
return getWorkerProxy
}), __webpack_require__.d(__webpack_exports__, "b", function() {
return loadWorker
});
const loadWorker = () => {
if (worker) throw new Error("Cannot initialize worker instance more than once");
try {
const workerPath = external_path_.resolve(__dirname, "worker.js"),
blob = new Blob([external_fs_.readFileSync(workerPath, "utf-8")]),
blobUrl = window.URL.createObjectURL(blob);
worker = new Worker(blobUrl)
} catch (error) {
console.warn("loadWorker: failed to instantiate worker", error)
}
},
getWorkerProxy = Object(memoize.a)(() => {
const boundLogger = Object(comlink.b)(Object.values(logger_utils.a).reduce((acc, level) => (acc[level] = logger.logger[level].bind(logger.logger), acc), {}));
(() => comlink.c.set("LogErrorArg", {
canHandle: obj => obj && obj.error && obj.error instanceof Error,
serialize: obj => [{
...obj,
error: {
name: obj.error.name,
stack: obj.error.stack,
code: obj.error.code,
message: obj.error.message
}
},
[]
],
deserialize: obj => obj
}))();
const wrapped = Object(comlink.d)(worker);
return wrapped.setLoggerProxy(boundLogger), wrapped
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var NetworkStatusCheck, actions = __webpack_require__(1),
custom_operators = __webpack_require__(19),
src = __webpack_require__(16),
Observable_ = __webpack_require__(5),
TimeoutError_ = __webpack_require__(378),
logger = __webpack_require__(0),
dialog_reducer = __webpack_require__(139),
environment_reducer = __webpack_require__(8),
telemetry = __webpack_require__(36),
shared_constants = __webpack_require__(4);
__webpack_require__(121);
! function(NetworkStatusCheck) {
NetworkStatusCheck.NAVIGATOR_ONLINE = "navigator_online", NetworkStatusCheck.NAVIGATOR_CONNECTION = "navigator_connection", NetworkStatusCheck.API_TEST = "api_test"
}(NetworkStatusCheck || (NetworkStatusCheck = {}));
const NETWORK_STATUS_TIMEOUT = 3e4,
DEBOUNCE_NETWORK_EVENTS = 500;
function networkStatusObservable(actionObservable, store, options) {
const {
onlineEvent,
offlineEvent,
scheduler
} = options || {
onlineEvent: Observable_.Observable.fromEvent(src.root, "online"),
offlineEvent: Observable_.Observable.fromEvent(src.root, "offline"),
scheduler: void 0
}, formCredentials = actionObservable.ofType(actions.c.SUBMIT_CREDENTIALS);
return Observable_.Observable.merge(onlineEvent, offlineEvent, formCredentials).startWith(!0).guaranteedThrottle(DEBOUNCE_NETWORK_EVENTS, scheduler).switchMap(() => (function isOnlineObservable(store, scheduler) {
return Observable_.Observable.forkJoin(Observable_.Observable.defer(() => Observable_.Observable.of({
result: navigator.onLine,
check: NetworkStatusCheck.NAVIGATOR_ONLINE
})), Observable_.Observable.defer(() => Observable_.Observable.of({
result: navigator.connection && navigator.connection.type,
check: NetworkStatusCheck.NAVIGATOR_CONNECTION
})), function apiTestObservable(store) {
return Observable_.Observable.from(fetch("https://slack.com/api/api.test?error=", {
credentials: Object(environment_reducer.b)(store) ? "same-origin" : "include",
cache: "no-store",
headers: headersForAuthCredentials(store)
})).flatMap(response => 0 === response.status ? Observable_.Observable.of(shared_constants.j.OFFLINE) : response.status > 499 ? Observable_.Observable.of(shared_constants.j.SLACK_DOWN) : response.status > 399 ? Observable_.Observable.of(shared_constants.j.OFFLINE) : Observable_.Observable.from(response.json()).catch(error => (logger.logger.warn("NetworkStatus: Unexpected api.test response body", {
body: response.body,
error
}), shared_constants.j.OFFLINE)).map(({
ok
}) => ok ? shared_constants.j.ONLINE : shared_constants.j.SLACK_DOWN)).catch(error => (logger.logger.info("NetworkStatus: Network check failed", {
error
}), Observable_.Observable.of(shared_constants.j.OFFLINE)))
}(store).map(result => ({
result,
check: NetworkStatusCheck.API_TEST
}))).timeout(NETWORK_STATUS_TIMEOUT, scheduler).catch(error => Observable_.Observable.of([{
result: shared_constants.j.OFFLINE,
error: error instanceof TimeoutError_.TimeoutError ? "timed out" : error.message
}])).timeInterval(scheduler).map(combinedChecks => (function aggregateNetworkStatusChecks(combinedChecks) {
return combinedChecks.value.reduce((result, entry) => (entry.check ? result[entry.check] = entry.result : result.error = entry.error, result), {
elapsed_time_ms: combinedChecks.interval
})
})(combinedChecks)).do(payload => (function clogNetworkStatusEvents(payload) {
logger.logger.info("Network status check", payload), payload.error && Object(telemetry.track)(telemetry.TelemetryEvent.DESKTOP_API_TEST_ERROR, {
error: payload.error
});
payload[NetworkStatusCheck.API_TEST] !== shared_constants.j.ONLINE && Object(telemetry.track)(telemetry.TelemetryEvent.DESKTOP_API_TEST_OFFLINE, {
status: payload[NetworkStatusCheck.API_TEST]
});
payload[NetworkStatusCheck.API_TEST] !== shared_constants.j.ONLINE || payload[NetworkStatusCheck.NAVIGATOR_ONLINE] || Object(telemetry.track)(telemetry.TelemetryEvent.DESKTOP_NAVIGATOR_ONLINE_BOGUS, {
platform: navigator.platform
});
payload[NetworkStatusCheck.NAVIGATOR_CONNECTION] && Object(telemetry.track)(telemetry.TelemetryEvent.DESKTOP_NAVIGATOR_CONNECTION, {
type: payload[NetworkStatusCheck.NAVIGATOR_CONNECTION]
})
})(payload)).map(payload => payload[NetworkStatusCheck.API_TEST] || shared_constants.j.OFFLINE)
})(store, scheduler)).distinctUntilChanged().publish().refCount()
}
function headersForAuthCredentials(store) {
const headers = new Headers,
credentials = Object(dialog_reducer.a)(store);
if (credentials) {
const {
username,
password
} = credentials, base64Encoded = btoa(`${username}:${password}`);
headers.set("Authorization", `Basic ${base64Encoded}`)
}
return headers
}
__webpack_require__.d(__webpack_exports__, "a", function() {
return networkStatusEpic
});
const networkStatusEpic = (actionObservable, store) => networkStatusObservable(actionObservable, store).tag(shared_constants.e.NETWORK_STATUS).let(Object(custom_operators.b)(payload => ({
type: actions.a.SET_NETWORK_STATUS,
payload
}), shared_constants.e.NETWORK_STATUS))
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _apply = function apply(func, thisArg, args) {
switch (args.length) {
case 0:
return func.call(thisArg);
case 1:
return func.call(thisArg, args[0]);
case 2:
return func.call(thisArg, args[0], args[1]);
case 3:
return func.call(thisArg, args[0], args[1], args[2])
}
return func.apply(thisArg, args)
},
nativeMax = Math.max;
__webpack_exports__.a = function overRest(func, start, transform) {
return start = nativeMax(void 0 === start ? func.length - 1 : start, 0),
function() {
for (var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); ++index < length;) array[index] = args[start + index];
index = -1;
for (var otherArgs = Array(start + 1); ++index < start;) otherArgs[index] = args[index];
return otherArgs[start] = transform(array), _apply(func, this, otherArgs)
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGet = __webpack_require__(97),
_assignValue = __webpack_require__(127),
_castPath = __webpack_require__(67),
_isIndex = __webpack_require__(98),
isObject = __webpack_require__(63),
_toKey = __webpack_require__(66);
var _baseSet = function baseSet(object, path, value, customizer) {
if (!Object(isObject.a)(object)) return object;
for (var index = -1, length = (path = Object(_castPath.a)(path, object)).length, lastIndex = length - 1, nested = object; null != nested && ++index < length;) {
var key = Object(_toKey.a)(path[index]),
newValue = value;
if (index != lastIndex) {
var objValue = nested[key];
void 0 === (newValue = customizer ? customizer(objValue, key, nested) : void 0) && (newValue = Object(isObject.a)(objValue) ? objValue : Object(_isIndex.a)(path[index + 1]) ? [] : {})
}
Object(_assignValue.a)(nested, key, newValue), nested = nested[key]
}
return object
};
__webpack_exports__.a = function basePickBy(object, paths, predicate) {
for (var index = -1, length = paths.length, result = {}; ++index < length;) {
var path = paths[index],
value = Object(_baseGet.a)(object, path);
predicate(value, path) && _baseSet(result, Object(_castPath.a)(path, object), value)
}
return result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseFlatten = __webpack_require__(79);
var lodash_es_flatten = function flatten(array) {
return null != array && array.length ? Object(_baseFlatten.a)(array, 1) : []
},
_overRest = __webpack_require__(217),
_setToString = __webpack_require__(206);
__webpack_exports__.a = function flatRest(func) {
return Object(_setToString.a)(Object(_overRest.a)(func, void 0, lodash_es_flatten), func + "")
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.getInitialStateRenderer = exports.replayActionRenderer = exports.replayActionMain = exports.createAliasedAction = exports.triggerAlias = exports.forwardToRenderer = exports.forwardToMain = void 0;
var _forwardToMain2 = _interopRequireDefault(__webpack_require__(461)),
_forwardToRenderer2 = _interopRequireDefault(__webpack_require__(463)),
_triggerAlias2 = _interopRequireDefault(__webpack_require__(464)),
_createAliasedAction2 = _interopRequireDefault(__webpack_require__(465)),
_replayActionMain2 = _interopRequireDefault(__webpack_require__(466)),
_replayActionRenderer2 = _interopRequireDefault(__webpack_require__(467)),
_getInitialStateRenderer2 = _interopRequireDefault(__webpack_require__(468));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
exports.forwardToMain = _forwardToMain2.default, exports.forwardToRenderer = _forwardToRenderer2.default, exports.triggerAlias = _triggerAlias2.default, exports.createAliasedAction = _createAliasedAction2.default, exports.replayActionMain = _replayActionMain2.default, exports.replayActionRenderer = _replayActionRenderer2.default, exports.getInitialStateRenderer = _getInitialStateRenderer2.default
}, function(module, exports) {
module.exports = require("stream")
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
jsonFile = __webpack_require__(397);
module.exports = {
readJson: u(jsonFile.readFile),
readJsonSync: jsonFile.readFileSync,
writeJson: u(jsonFile.writeFile),
writeJsonSync: jsonFile.writeFileSync
}
}, function(module, exports, __webpack_require__) {
"use strict";
const arrayify = __webpack_require__(61),
argvTools = __webpack_require__(256),
t = __webpack_require__(48);
function halt(name, message) {
const err = new Error(message);
throw err.name = name, err
}
function containsValidGroup(def) {
return arrayify(def.group).some(group => group)
}
function hasDuplicates(array) {
const items = {};
for (let i = 0; i < array.length; i++) {
const value = array[i];
if (items[value]) return !0;
t.isDefined(value) && (items[value] = !0)
}
}
module.exports = class Definitions extends Array {
validate() {
let invalidOption;
this.some(def => !def.name) && halt("INVALID_DEFINITIONS", "Invalid option definitions: the `name` property is required on each definition"), this.some(def => def.type && "function" != typeof def.type) && halt("INVALID_DEFINITIONS", "Invalid option definitions: the `type` property must be a setter fuction (default: `Boolean`)"), this.some(def => (invalidOption = def, t.isDefined(def.alias) && t.isNumber(def.alias))) && halt("INVALID_DEFINITIONS", "Invalid option definition: to avoid ambiguity an alias cannot be numeric [--" + invalidOption.name + " alias is -" + invalidOption.alias + "]"), this.some(def => (invalidOption = def, t.isDefined(def.alias) && 1 !== def.alias.length)) && halt("INVALID_DEFINITIONS", "Invalid option definition: an alias must be a single character"), this.some(def => (invalidOption = def, "-" === def.alias)) && halt("INVALID_DEFINITIONS", 'Invalid option definition: an alias cannot be "-"'), hasDuplicates(this.map(def => def.name)) && halt("INVALID_DEFINITIONS", "Two or more option definitions have the same name"), hasDuplicates(this.map(def => def.alias)) && halt("INVALID_DEFINITIONS", "Two or more option definitions have the same alias"), hasDuplicates(this.map(def => def.defaultOption)) && halt("INVALID_DEFINITIONS", "Only one option definition can be the defaultOption"), this.some(def => (invalidOption = def, def.isBoolean() && def.defaultOption)) && halt("INVALID_DEFINITIONS", `A boolean option ["${invalidOption.name}"] can not also be the defaultOption.`)
}
get(arg) {
return argvTools.isOption(arg) ? argvTools.re.short.test(arg) ? this.find(def => def.alias === argvTools.getOptionName(arg)) : this.find(def => def.name === argvTools.getOptionName(arg)) : this.find(def => def.name === arg)
}
getDefault() {
return this.find(def => !0 === def.defaultOption)
}
isGrouped() {
return this.some(def => def.group)
}
whereGrouped() {
return this.filter(containsValidGroup)
}
whereNotGrouped() {
return this.filter(def => !containsValidGroup(def))
}
whereDefaultValueSet() {
return this.filter(def => t.isDefined(def.defaultValue))
}
static from(definitions) {
if (definitions instanceof this) return definitions;
const Definition = __webpack_require__(258),
result = super.from(arrayify(definitions), def => Definition.create(def));
return result.validate(), result
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const _value = new WeakMap,
arrayify = __webpack_require__(61),
t = __webpack_require__(48),
Definition = __webpack_require__(258);
module.exports = class Option {
constructor(definition) {
this.definition = new Definition(definition), this.state = null, this.resetToDefault()
}
get() {
return _value.get(this)
}
set(val) {
this._set(val, "set")
}
_set(val, state) {
const def = this.definition;
if (def.isMultiple()) {
if (null != val) {
const arr = this.get();
"default" === this.state && (arr.length = 0), arr.push(def.type(val)), this.state = state
}
} else {
if (!def.isMultiple() && "set" === this.state) {
const err = new Error(`Singular option already set [${this.definition.name}=${this.get()}]`);
throw err.name = "ALREADY_SET", err.value = val, err.optionName = def.name, err
}
null == val ? _value.set(this, val) : (_value.set(this, def.type(val)), this.state = state)
}
}
resetToDefault() {
t.isDefined(this.definition.defaultValue) ? this.definition.isMultiple() ? _value.set(this, arrayify(this.definition.defaultValue).slice()) : _value.set(this, this.definition.defaultValue) : this.definition.isMultiple() ? _value.set(this, []) : _value.set(this, null), this.state = "default"
}
static create(definition) {
return (definition = new Definition(definition)).isBoolean() ? __webpack_require__(413).create(definition) : new this(definition)
}
}
}, function(module, exports) {
module.exports = function(module) {
return module.webpackPolyfill || (module.deprecate = function() {}, module.paths = [], module.children || (module.children = []), Object.defineProperty(module, "loaded", {
enumerable: !0,
get: function() {
return module.l
}
}), Object.defineProperty(module, "id", {
enumerable: !0,
get: function() {
return module.i
}
}), module.webpackPolyfill = 1), module
}
}, function(module, exports) {
module.exports = function(originalModule) {
if (!originalModule.webpackPolyfill) {
var module = Object.create(originalModule);
module.children || (module.children = []), Object.defineProperty(module, "loaded", {
enumerable: !0,
get: function() {
return module.l
}
}), Object.defineProperty(module, "id", {
enumerable: !0,
get: function() {
return module.i
}
}), Object.defineProperty(module, "exports", {
enumerable: !0
}), module.webpackPolyfill = 1
}
return module
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(\.|\[\])(?:\4|$))$/g
}, function(module, exports, __webpack_require__) {
"use strict";
if (!process.versions || !process.versions.node || parseInt(process.versions.node.split(".")[0]) >= 8) try {
var flatstr = Function("s", 'return typeof s === "string" ? %FlattenString(s) : s')
} catch (e) {
try {
var v8 = __webpack_require__(452);
v8.setFlagsFromString("--allow-natives-syntax");
flatstr = Function("s", 'return typeof s === "string" ? %FlattenString(s) : s');
v8.setFlagsFromString("--no-allow-natives-syntax")
} catch (e) {
flatstr = function flatstr(s) {
return Number(s), s
}
}
} else flatstr = function flatstr(s) {
return Number(s), s
};
module.exports = flatstr
}, function(module, exports, __webpack_require__) {
"use strict";
const format = __webpack_require__(453),
{
mapHttpRequest,
mapHttpResponse
} = __webpack_require__(274),
SonicBoom = __webpack_require__(276),
stringifySafe = __webpack_require__(454),
{
lsCacheSym,
chindingsSym,
parsedChindingsSym,
writeSym,
messageKeyStringSym,
serializersSym,
formatOptsSym,
endSym,
stringifiersSym,
stringifySym,
wildcardFirstSym,
needsMetadataGsym,
wildcardGsym,
redactFmtSym,
streamSym
} = __webpack_require__(120);
function noop() {}
function asString(str) {
var result = "",
last = 0,
found = !1,
point = 255;
const l = str.length;
if (l > 100) return JSON.stringify(str);
for (var i = 0; i < l && point >= 32; i++) 34 !== (point = str.charCodeAt(i)) && 92 !== point || (result += str.slice(last, i) + "\\", last = i, found = !0);
return found ? result += str.slice(last) : result = str, point < 32 ? JSON.stringify(str) : '"' + result + '"'
}
function getPrettyStream(opts, prettifier, dest) {
if (prettifier && "function" == typeof prettifier) return prettifierMetaWrapper(prettifier(opts), dest);
try {
var prettyFactory = __webpack_require__(! function webpackMissingModule() {
var e = new Error("Cannot find module 'pino-pretty'");
throw e.code = "MODULE_NOT_FOUND", e
}());
return prettyFactory.asMetaWrapper = prettifierMetaWrapper, prettifierMetaWrapper(prettyFactory(opts), dest)
} catch (e) {
throw Error("Missing `pino-pretty` module: `pino-pretty` must be installed separately")
}
}
function prettifierMetaWrapper(pretty, dest) {
var warned = !1;
return {
[needsMetadataGsym]: !0,
lastLevel: 0,
lastMsg: null,
lastObj: null,
lastLogger: null,
flushSync() {
warned || (warned = !0, dest.write(pretty(Object.assign({
level: 40,
msg: "pino.final with prettyPrint does not support flushing",
time: Date.now()
}, this.chindings()))))
},
chindings() {
const lastLogger = this.lastLogger;
var chindings = null;
return lastLogger ? (lastLogger.hasOwnProperty(parsedChindingsSym) ? chindings = lastLogger[parsedChindingsSym] : (chindings = JSON.parse('{"v":1' + lastLogger[chindingsSym] + "}"), lastLogger[parsedChindingsSym] = chindings), chindings) : null
},
write(chunk) {
const lastLogger = this.lastLogger,
chindings = this.chindings();
var time = this.lastTime;
time.match(/^\d+/) && (time = parseInt(time));
var lastObj = this.lastObj,
msg = this.lastMsg,
errorProps = null;
lastObj instanceof Error && (msg = msg || lastObj.message, errorProps = {
type: "Error",
stack: lastObj.stack
});
const obj = Object.assign({
level: this.lastLevel,
msg,
time
}, chindings, lastObj, errorProps),
serializers = lastLogger[serializersSym],
keys = Object.keys(serializers);
for (var key, i = 0; i < keys.length; i++) void 0 !== obj[key = keys[i]] && (obj[key] = serializers[key](obj[key]));
const redact = lastLogger[stringifiersSym][redactFmtSym],
formatted = pretty("function" == typeof redact ? redact(obj) : obj);
void 0 !== formatted && dest.write(formatted)
}
}
}
function buildSafeSonicBoom(dest, buffer = 0, sync = !0) {
const stream = new SonicBoom(dest, buffer, sync);
return stream.on("error", function filterBrokenPipe(err) {
if ("EPIPE" === err.code) return stream.write = noop, stream.end = noop, stream.flushSync = noop, void(stream.destroy = noop);
stream.removeListener("error", filterBrokenPipe);
stream.emit("error", err)
}), stream
}
module.exports = {
noop,
buildSafeSonicBoom,
getPrettyStream,
asChindings: function asChindings(instance, bindings) {
if (!bindings) throw Error("missing bindings for child Pino");
var key, value, data = instance[chindingsSym];
const stringify = instance[stringifySym],
stringifiers = instance[stringifiersSym],
serializers = instance[serializersSym];
for (key in serializers[wildcardGsym] && (bindings = serializers[wildcardGsym](bindings)), bindings)
if (value = bindings[key], !0 === ("level" !== key && "serializers" !== key && "customLevels" !== key && bindings.hasOwnProperty(key) && void 0 !== value)) {
if (value = serializers[key] ? serializers[key](value) : value, void 0 === (value = (stringifiers[key] || stringify)(value))) continue;
data += ',"' + key + '":' + value
} return data
},
asJson: function asJson(obj, msg, num, time) {
const hasObj = null != obj,
objError = hasObj && obj instanceof Error;
msg = msg || !0 !== objError ? msg || void 0 : obj.message;
const stringify = this[stringifySym],
stringifiers = this[stringifiersSym],
end = this[endSym],
messageKeyString = this[messageKeyStringSym],
chindings = this[chindingsSym],
serializers = this[serializersSym];
var value, data = this[lsCacheSym][num] + time;
if (void 0 !== msg && (data += messageKeyString + asString("" + msg)), data += chindings, !0 === hasObj) {
var notHasOwnProperty = void 0 === obj.hasOwnProperty;
!0 === objError && (data += ',"type":"Error"', void 0 !== obj.stack && (data += ',"stack":' + stringify(obj.stack))), serializers[wildcardGsym] && (obj = serializers[wildcardGsym](obj));
const wildcardStringifier = stringifiers[wildcardFirstSym];
for (var key in obj)
if (value = obj[key], (notHasOwnProperty || obj.hasOwnProperty(key)) && void 0 !== value) {
value = serializers[key] ? serializers[key](value) : value;
const stringifier = stringifiers[key] || wildcardStringifier;
switch (typeof value) {
case "undefined":
case "function":
continue;
case "number":
!1 === Number.isFinite(value) && (value = null);
case "boolean":
stringifier && (value = stringifier(value)), data += ',"' + key + '":' + value;
continue;
case "string":
value = (stringifier || asString)(value);
break;
default:
value = (stringifier || stringify)(value)
}
if (void 0 === value) continue;
data += ',"' + key + '":' + value
}
}
return data + end
},
genLog: function genLog(z) {
return function LOG(o, ...n) {
"object" == typeof o && null !== o ? (o.method && o.headers && o.socket ? o = mapHttpRequest(o) : "function" == typeof o.setHeader && (o = mapHttpResponse(o)), this[writeSym](o, format(null, n, this[formatOptsSym]), z)) : this[writeSym](null, format(o, n, this[formatOptsSym]), z)
}
},
createArgsNormalizer: function createArgsNormalizer(defaultOptions) {
return function normalizeArgs(opts = {}, stream) {
if ("string" == typeof opts ? (stream = buildSafeSonicBoom(opts), opts = {}) : "string" == typeof stream ? stream = buildSafeSonicBoom(stream) : (opts instanceof SonicBoom || opts.writable || opts._writableState) && (stream = opts, opts = null), "extreme" in (opts = Object.assign({}, defaultOptions, opts))) throw Error("The extreme option has been removed, use pino.extreme instead");
if ("onTerminated" in opts) throw Error("The onTerminated option has been removed, use pino.final instead");
const {
enabled,
prettyPrint,
prettifier,
messageKey
} = opts;
return !1 === enabled && (opts.level = "silent"), (stream = stream || process.stdout) === process.stdout && stream.fd >= 0 && ! function hasBeenTampered(stream) {
return stream.write !== stream.constructor.prototype.write
}(stream) && (stream = buildSafeSonicBoom(stream.fd)), prettyPrint && (stream = getPrettyStream(Object.assign({
messageKey
}, prettyPrint), prettifier, stream)), {
opts,
stream
}
}
},
final: function final(logger, handler) {
if (void 0 === logger || "function" != typeof logger.child) throw Error("expected a pino logger instance");
const hasHandler = void 0 !== handler;
if (hasHandler && "function" != typeof handler) throw Error("if supplied, the handler parameter should be a function");
const stream = logger[streamSym];
if ("function" != typeof stream.flushSync) throw Error("final requires a stream that has a flushSync method, such as pino.destination and pino.extreme");
const finalLogger = new Proxy(logger, {
get: (logger, key) => key in logger.levels.values ? (...args) => {
logger[key](...args), stream.flushSync()
} : logger[key]
});
return hasHandler ? (err = null, ...args) => {
try {
stream.flushSync()
} catch (e) {}
return handler(err, finalLogger, ...args)
} : finalLogger
},
stringify: function stringify(obj) {
try {
return JSON.stringify(obj)
} catch (_) {
return stringifySafe(obj)
}
}
}
}, function(module, exports) {
module.exports = require("crypto")
}, function(module, exports) {
module.exports = require("electron-windows-notifications")
}, function(module, exports, __webpack_require__) {
"use strict";
var external = __webpack_require__(159),
DataWorker = __webpack_require__(344),
DataLengthProbe = __webpack_require__(345),
Crc32Probe = __webpack_require__(346);
DataLengthProbe = __webpack_require__(345);
function CompressedObject(compressedSize, uncompressedSize, crc32, compression, data) {
this.compressedSize = compressedSize, this.uncompressedSize = uncompressedSize, this.crc32 = crc32, this.compression = compression, this.compressedContent = data
}
CompressedObject.prototype = {
getContentWorker: function() {
var worker = new DataWorker(external.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new DataLengthProbe("data_length")),
that = this;
return worker.on("end", function() {
if (this.streamInfo.data_length !== that.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch")
}), worker
},
getCompressedWorker: function() {
return new DataWorker(external.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression)
}
}, CompressedObject.createWorkerFrom = function(uncompressedWorker, compression, compressionOptions) {
return uncompressedWorker.pipe(new Crc32Probe).pipe(new DataLengthProbe("uncompressedSize")).pipe(compression.compressWorker(compressionOptions)).pipe(new DataLengthProbe("compressedSize")).withStreamInfo("compression", compression)
}, module.exports = CompressedObject
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28);
var crcTable = function makeTable() {
for (var c, table = [], n = 0; n < 256; n++) {
c = n;
for (var k = 0; k < 8; k++) c = 1 & c ? 3988292384 ^ c >>> 1 : c >>> 1;
table[n] = c
}
return table
}();
module.exports = function crc32wrapper(input, crc) {
return void 0 !== input && input.length ? "string" !== utils.getTypeOf(input) ? function crc32(crc, buf, len, pos) {
var t = crcTable,
end = pos + len;
crc ^= -1;
for (var i = pos; i < end; i++) crc = crc >>> 8 ^ t[255 & (crc ^ buf[i])];
return -1 ^ crc
}(0 | crc, input, input.length, 0) : function crc32str(crc, str, len, pos) {
var t = crcTable,
end = pos + len;
crc ^= -1;
for (var i = pos; i < end; i++) crc = crc >>> 8 ^ t[255 & (crc ^ str.charCodeAt(i))];
return -1 ^ crc
}(0 | crc, input, input.length, 0) : 0
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = {
2: "need dictionary",
1: "stream end",
0: "",
"-1": "file error",
"-2": "stream error",
"-3": "data error",
"-4": "insufficient memory",
"-5": "buffer error",
"-6": "incompatible version"
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "__extends", function() {
return __extends
}), __webpack_require__.d(__webpack_exports__, "__assign", function() {
return __assign
}), __webpack_require__.d(__webpack_exports__, "__rest", function() {
return __rest
}), __webpack_require__.d(__webpack_exports__, "__decorate", function() {
return __decorate
}), __webpack_require__.d(__webpack_exports__, "__param", function() {
return __param
}), __webpack_require__.d(__webpack_exports__, "__metadata", function() {
return __metadata
}), __webpack_require__.d(__webpack_exports__, "__awaiter", function() {
return __awaiter
}), __webpack_require__.d(__webpack_exports__, "__generator", function() {
return __generator
}), __webpack_require__.d(__webpack_exports__, "__exportStar", function() {
return __exportStar
}), __webpack_require__.d(__webpack_exports__, "__values", function() {
return __values
}), __webpack_require__.d(__webpack_exports__, "__read", function() {
return __read
}), __webpack_require__.d(__webpack_exports__, "__spread", function() {
return __spread
}), __webpack_require__.d(__webpack_exports__, "__await", function() {
return __await
}), __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() {
return __asyncGenerator
}), __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() {
return __asyncDelegator
}), __webpack_require__.d(__webpack_exports__, "__asyncValues", function() {
return __asyncValues
}), __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() {
return __makeTemplateObject
}), __webpack_require__.d(__webpack_exports__, "__importStar", function() {
return __importStar
}), __webpack_require__.d(__webpack_exports__, "__importDefault", function() {
return __importDefault
});
var extendStatics = Object.setPrototypeOf || {
__proto__: []
}
instanceof Array && function(d, b) {
d.__proto__ = b
} || function(d, b) {
for (var p in b) b.hasOwnProperty(p) && (d[p] = b[p])
};
function __extends(d, b) {
function __() {
this.constructor = d
}
extendStatics(d, b), d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __)
}
var __assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++)
for (var p in s = arguments[i]) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
return t
};
function __rest(s, e) {
var t = {};
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
var i = 0;
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && (t[p[i]] = s[p[i]])
}
return t
}
function __decorate(decorators, target, key, desc) {
var d, c = arguments.length,
r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
return c > 3 && r && Object.defineProperty(target, key, r), r
}
function __param(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex)
}
}
function __metadata(metadataKey, metadataValue) {
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(metadataKey, metadataValue)
}
function __awaiter(thisArg, _arguments, P, generator) {
return new(P || (P = Promise))(function(resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value))
} catch (e) {
reject(e)
}
}
function rejected(value) {
try {
step(generator.throw(value))
} catch (e) {
reject(e)
}
}
function step(result) {
result.done ? resolve(result.value) : new P(function(resolve) {
resolve(result.value)
}).then(fulfilled, rejected)
}
step((generator = generator.apply(thisArg, _arguments || [])).next())
})
}
function __generator(thisArg, body) {
var f, y, t, g, _ = {
label: 0,
sent: function() {
if (1 & t[0]) throw t[1];
return t[1]
},
trys: [],
ops: []
};
return g = {
next: verb(0),
throw: verb(1),
return: verb(2)
}, "function" == typeof Symbol && (g[Symbol.iterator] = function() {
return this
}), g;
function verb(n) {
return function(v) {
return function step(op) {
if (f) throw new TypeError("Generator is already executing.");
for (; _;) try {
if (f = 1, y && (t = 2 & op[0] ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
switch (y = 0, t && (op = [2 & op[0], t.value]), op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
return _.label++, {
value: op[1],
done: !1
};
case 5:
_.label++, y = op[1], op = [0];
continue;
case 7:
op = _.ops.pop(), _.trys.pop();
continue;
default:
if (!(t = (t = _.trys).length > 0 && t[t.length - 1]) && (6 === op[0] || 2 === op[0])) {
_ = 0;
continue
}
if (3 === op[0] && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break
}
if (6 === op[0] && _.label < t[1]) {
_.label = t[1], t = op;
break
}
if (t && _.label < t[2]) {
_.label = t[2], _.ops.push(op);
break
}
t[2] && _.ops.pop(), _.trys.pop();
continue
}
op = body.call(thisArg, _)
} catch (e) {
op = [6, e], y = 0
} finally {
f = t = 0
}
if (5 & op[0]) throw op[1];
return {
value: op[0] ? op[1] : void 0,
done: !0
}
}([n, v])
}
}
}
function __exportStar(m, exports) {
for (var p in m) exports.hasOwnProperty(p) || (exports[p] = m[p])
}
function __values(o) {
var m = "function" == typeof Symbol && o[Symbol.iterator],
i = 0;
return m ? m.call(o) : {
next: function() {
return o && i >= o.length && (o = void 0), {
value: o && o[i++],
done: !o
}
}
}
}
function __read(o, n) {
var m = "function" == typeof Symbol && o[Symbol.iterator];
if (!m) return o;
var r, e, i = m.call(o),
ar = [];
try {
for (;
(void 0 === n || n-- > 0) && !(r = i.next()).done;) ar.push(r.value)
} catch (error) {
e = {
error
}
} finally {
try {
r && !r.done && (m = i.return) && m.call(i)
} finally {
if (e) throw e.error
}
}
return ar
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
return ar
}
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v)
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var i, g = generator.apply(thisArg, _arguments || []),
q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
return this
}, i;
function verb(n) {
g[n] && (i[n] = function(v) {
return new Promise(function(a, b) {
q.push([n, v, a, b]) > 1 || resume(n, v)
})
})
}
function resume(n, v) {
try {
! function step(r) {
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r)
}(g[n](v))
} catch (e) {
settle(q[0][3], e)
}
}
function fulfill(value) {
resume("next", value)
}
function reject(value) {
resume("throw", value)
}
function settle(f, v) {
f(v), q.shift(), q.length && resume(q[0][0], q[0][1])
}
}
function __asyncDelegator(o) {
var i, p;
return i = {}, verb("next"), verb("throw", function(e) {
throw e
}), verb("return"), i[Symbol.iterator] = function() {
return this
}, i;
function verb(n, f) {
i[n] = o[n] ? function(v) {
return (p = !p) ? {
value: __await(o[n](v)),
done: "return" === n
} : f ? f(v) : v
} : f
}
}
function __asyncValues(o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var i, m = o[Symbol.asyncIterator];
return m ? m.call(o) : (o = __values(o), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
return this
}, i);
function verb(n) {
i[n] = o[n] && function(v) {
return new Promise(function(resolve, reject) {
(function settle(resolve, reject, d, v) {
Promise.resolve(v).then(function(v) {
resolve({
value: v,
done: d
})
}, reject)
})(resolve, reject, (v = o[n](v)).done, v.value)
})
}
}
}
function __makeTemplateObject(cooked, raw) {
return Object.defineProperty ? Object.defineProperty(cooked, "raw", {
value: raw
}) : cooked.raw = raw, cooked
}
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (null != mod)
for (var k in mod) Object.hasOwnProperty.call(mod, k) && (result[k] = mod[k]);
return result.default = mod, result
}
function __importDefault(mod) {
return mod && mod.__esModule ? mod : {
default: mod
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var logInstance = function() {};
exports.log = function() {
for (var args = [], _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
return logInstance.apply(void 0, args)
};
exports.enableLogger = function(logger) {
return logInstance = logger
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var logger_1 = __webpack_require__(112);
exports.isMounted = function(FS, mountPath, type) {
try {
var stat = FS.stat(mountPath),
typeFunction = "dir" === type ? FS.isDir : FS.isFile;
if (stat && typeFunction(stat.mode)) return logger_1.log("isMounted: " + mountPath + " is mounted"), !0
} catch (e) {
"ENOENT" !== e.code && logger_1.log("isMounted check failed", e)
}
return !1
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, "assignMetadata", function() {
return assignMetadata
});
const allowedMetadata = ["perfTimer", "crashReporterOpts"],
assignMetadata = () => {
try {
const metadataArgs = process.argv.filter(x => x.includes("slack_preload_metadata_arguments")).shift() || "{}",
metadataJson = JSON.parse(metadataArgs);
Object.keys(metadataJson).filter(key => "identifier" !== key && allowedMetadata.includes(key)).forEach(key => window[key] = metadataJson[key])
} catch (e) {
console.log(e)
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
function isFlatpak() {
return !1
}
__webpack_require__.d(__webpack_exports__, "a", function() {
return isFlatpak
})
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return getIsFocusAssistOn
});
var _logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0),
_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8),
_shared_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4),
_windows_version__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(199);
let getIsQuietHours, getFocusAssist, isCreatorsUpdateOrLater;
function getIsFocusAssistOn(store) {
return !!Object(_windows_version__WEBPACK_IMPORTED_MODULE_3__.a)(store, "8") && ((isCreatorsUpdateOrLater = Object(_reducers_environment_reducer__WEBPACK_IMPORTED_MODULE_1__.d)(store, _shared_constants__WEBPACK_IMPORTED_MODULE_2__.u.RS4_1803)) ? function isFocusAssistOn() {
if (null === getFocusAssist) return !1;
try {
getFocusAssist = getFocusAssist || __webpack_require__(554).getFocusAssist
} catch (error) {
return getFocusAssist = null, _logger__WEBPACK_IMPORTED_MODULE_0__.logger.error("Failed to load windows-focus-assist", {
error
}), !1
}
try {
const status = getFocusAssist();
return status.value > 0
} catch (error) {
return _logger__WEBPACK_IMPORTED_MODULE_0__.logger.warn("Unable to read Focus Assist setting", {
error
}), !1
}
}() : function isQuietHours() {
if (null === getIsQuietHours) return !1;
try {
getIsQuietHours = getIsQuietHours || __webpack_require__(555).getIsQuietHours
} catch (error) {
return getIsQuietHours = null, _logger__WEBPACK_IMPORTED_MODULE_0__.logger.error("Failed to load windows-quiet-hours", {
error
}), !1
}
try {
return getIsQuietHours()
} catch (error) {
return _logger__WEBPACK_IMPORTED_MODULE_0__.logger.warn("Unable to read quiet hours setting", {
error
}), !1
}
}())
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "a", function() {
return shouldDisplayNotifications
});
var WindowsNotificationState, WindowsNotifierState;
__webpack_require__(0), __webpack_require__(4), __webpack_require__(240), __webpack_require__(199);
function shouldDisplayNotifications(store) {
return !0
}! function(WindowsNotificationState) {
WindowsNotificationState.QUNS_NOT_PRESENT = "QUNS_NOT_PRESENT", WindowsNotificationState.QUNS_BUSY = "QUNS_BUSY", WindowsNotificationState.QUNS_RUNNING_D3D_FULL_SCREEN = "QUNS_RUNNING_D3D_FULL_SCREEN", WindowsNotificationState.QUNS_PRESENTATION_MODE = "QUNS_PRESENTATION_MODE", WindowsNotificationState.QUNS_ACCEPTS_NOTIFICATIONS = "QUNS_ACCEPTS_NOTIFICATIONS", WindowsNotificationState.QUNS_QUIET_TIME = "QUNS_QUIET_TIME", WindowsNotificationState.QUNS_APP = "QUNS_APP", WindowsNotificationState.UNKNOWN = "", WindowsNotificationState.UNKNOWN_ERROR = "UNKNOWN_ERROR"
}(WindowsNotificationState || (WindowsNotificationState = {})),
function(WindowsNotifierState) {
WindowsNotifierState[WindowsNotifierState.Error = -1] = "Error", WindowsNotifierState[WindowsNotifierState.NotDisabled = 0] = "NotDisabled", WindowsNotifierState[WindowsNotifierState.DisabledByManifest = 1] = "DisabledByManifest", WindowsNotifierState[WindowsNotifierState.DisabledByGroupPolicy = 2] = "DisabledByGroupPolicy", WindowsNotifierState[WindowsNotifierState.DisabledForUser = 3] = "DisabledForUser", WindowsNotifierState[WindowsNotifierState.DisabledForApplication = 4] = "DisabledForApplication"
}(WindowsNotifierState || (WindowsNotifierState = {}))
}, function(module, exports, __webpack_require__) {
"use strict";
var normalizePath = __webpack_require__(566);
module.exports = function unixify(filepath, stripTrailing) {
return (filepath = normalizePath(filepath, stripTrailing)).replace(/^([a-zA-Z]+:|\.\/)/, "")
}
}, function(module, exports, __webpack_require__) {
"use strict";
var parse = __webpack_require__(456),
interpret = __webpack_require__(457),
closestSupportedLocale = interpret.closestSupportedLocale;
function MessageFormat(locales, pattern) {
if (!(this instanceof MessageFormat)) return new MessageFormat(locales, pattern);
var root = interpret(locales, parse(pattern));
this._internal = {
locale: closestSupportedLocale(locales),
format: "string" == typeof root ? function format() {
return root
} : root
}
}
module.exports = MessageFormat, Object.defineProperties(MessageFormat.prototype, {
resolvedOptions: {
configurable: !0,
writable: !0,
value: function resolvedOptions() {
return {
locale: this._internal.locale
}
}
},
format: {
configurable: !0,
get: function() {
return this._internal.format
}
},
_internal: {
configurable: !0,
writable: !0,
value: {
locale: "en",
format: function format() {
return ""
}
}
}
}), Object.defineProperties(MessageFormat, {
supportedLocalesOf: {
configurable: !0,
writable: !0,
value: function supportedLocalesOf(requestedLocales) {
return [].concat(requestedLocales || []).filter(function(locale, i, array) {
var closest = closestSupportedLocale(locale);
return closest === locale.slice(0, closest.length) && array.indexOf(locale) === i
})
}
}
})
}, function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(469)
}, function(module, exports, __webpack_require__) {
"use strict";
var colorString = __webpack_require__(513),
convert = __webpack_require__(264),
_slice = [].slice,
skippedModels = ["keyword", "gray", "hex"],
hashedModelKeys = {};
Object.keys(convert).forEach(function(model) {
hashedModelKeys[_slice.call(convert[model].labels).sort().join("")] = model
});
var limiters = {};
function Color(obj, model) {
if (!(this instanceof Color)) return new Color(obj, model);
if (model && model in skippedModels && (model = null), model && !(model in convert)) throw new Error("Unknown model: " + model);
var i, channels;
if (obj)
if (obj instanceof Color) this.model = obj.model, this.color = obj.color.slice(), this.valpha = obj.valpha;
else if ("string" == typeof obj) {
var result = colorString.get(obj);
if (null === result) throw new Error("Unable to parse color from string: " + obj);
this.model = result.model, channels = convert[this.model].channels, this.color = result.value.slice(0, channels), this.valpha = "number" == typeof result.value[channels] ? result.value[channels] : 1
} else if (obj.length) {
this.model = model || "rgb", channels = convert[this.model].channels;
var newArr = _slice.call(obj, 0, channels);
this.color = zeroArray(newArr, channels), this.valpha = "number" == typeof obj[channels] ? obj[channels] : 1
} else if ("number" == typeof obj) obj &= 16777215, this.model = "rgb", this.color = [obj >> 16 & 255, obj >> 8 & 255, 255 & obj], this.valpha = 1;
else {
this.valpha = 1;
var keys = Object.keys(obj);
"alpha" in obj && (keys.splice(keys.indexOf("alpha"), 1), this.valpha = "number" == typeof obj.alpha ? obj.alpha : 0);
var hashedKeys = keys.sort().join("");
if (!(hashedKeys in hashedModelKeys)) throw new Error("Unable to parse color from object: " + JSON.stringify(obj));
this.model = hashedModelKeys[hashedKeys];
var labels = convert[this.model].labels,
color = [];
for (i = 0; i < labels.length; i++) color.push(obj[labels[i]]);
this.color = zeroArray(color)
} else this.model = "rgb", this.color = [0, 0, 0], this.valpha = 1;
if (limiters[this.model])
for (channels = convert[this.model].channels, i = 0; i < channels; i++) {
var limit = limiters[this.model][i];
limit && (this.color[i] = limit(this.color[i]))
}
this.valpha = Math.max(0, Math.min(1, this.valpha)), Object.freeze && Object.freeze(this)
}
function getset(model, channel, modifier) {
return (model = Array.isArray(model) ? model : [model]).forEach(function(m) {
(limiters[m] || (limiters[m] = []))[channel] = modifier
}), model = model[0],
function(val) {
var result;
return arguments.length ? (modifier && (val = modifier(val)), (result = this[model]()).color[channel] = val, result) : (result = this[model]().color[channel], modifier && (result = modifier(result)), result)
}
}
function maxfn(max) {
return function(v) {
return Math.max(0, Math.min(max, v))
}
}
function zeroArray(arr, length) {
for (var i = 0; i < length; i++) "number" != typeof arr[i] && (arr[i] = 0);
return arr
}
Color.prototype = {
toString: function() {
return this.string()
},
toJSON: function() {
return this[this.model]()
},
string: function(places) {
var self = this.model in colorString.to ? this : this.rgb(),
args = 1 === (self = self.round("number" == typeof places ? places : 1)).valpha ? self.color : self.color.concat(this.valpha);
return colorString.to[self.model](args)
},
percentString: function(places) {
var self = this.rgb().round("number" == typeof places ? places : 1),
args = 1 === self.valpha ? self.color : self.color.concat(this.valpha);
return colorString.to.rgb.percent(args)
},
array: function() {
return 1 === this.valpha ? this.color.slice() : this.color.concat(this.valpha)
},
object: function() {
for (var result = {}, channels = convert[this.model].channels, labels = convert[this.model].labels, i = 0; i < channels; i++) result[labels[i]] = this.color[i];
return 1 !== this.valpha && (result.alpha = this.valpha), result
},
unitArray: function() {
var rgb = this.rgb().color;
return rgb[0] /= 255, rgb[1] /= 255, rgb[2] /= 255, 1 !== this.valpha && rgb.push(this.valpha), rgb
},
unitObject: function() {
var rgb = this.rgb().object();
return rgb.r /= 255, rgb.g /= 255, rgb.b /= 255, 1 !== this.valpha && (rgb.alpha = this.valpha), rgb
},
round: function(places) {
return places = Math.max(places || 0, 0), new Color(this.color.map(function roundToPlace(places) {
return function(num) {
return function roundTo(num, places) {
return Number(num.toFixed(places))
}(num, places)
}
}(places)).concat(this.valpha), this.model)
},
alpha: function(val) {
return arguments.length ? new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model) : this.valpha
},
red: getset("rgb", 0, maxfn(255)),
green: getset("rgb", 1, maxfn(255)),
blue: getset("rgb", 2, maxfn(255)),
hue: getset(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, function(val) {
return (val % 360 + 360) % 360
}),
saturationl: getset("hsl", 1, maxfn(100)),
lightness: getset("hsl", 2, maxfn(100)),
saturationv: getset("hsv", 1, maxfn(100)),
value: getset("hsv", 2, maxfn(100)),
chroma: getset("hcg", 1, maxfn(100)),
gray: getset("hcg", 2, maxfn(100)),
white: getset("hwb", 1, maxfn(100)),
wblack: getset("hwb", 2, maxfn(100)),
cyan: getset("cmyk", 0, maxfn(100)),
magenta: getset("cmyk", 1, maxfn(100)),
yellow: getset("cmyk", 2, maxfn(100)),
black: getset("cmyk", 3, maxfn(100)),
x: getset("xyz", 0, maxfn(100)),
y: getset("xyz", 1, maxfn(100)),
z: getset("xyz", 2, maxfn(100)),
l: getset("lab", 0, maxfn(100)),
a: getset("lab", 1),
b: getset("lab", 2),
keyword: function(val) {
return arguments.length ? new Color(val) : convert[this.model].keyword(this.color)
},
hex: function(val) {
return arguments.length ? new Color(val) : colorString.to.hex(this.rgb().round().color)
},
rgbNumber: function() {
var rgb = this.rgb().color;
return (255 & rgb[0]) << 16 | (255 & rgb[1]) << 8 | 255 & rgb[2]
},
luminosity: function() {
for (var rgb = this.rgb().color, lum = [], i = 0; i < rgb.length; i++) {
var chan = rgb[i] / 255;
lum[i] = chan <= .03928 ? chan / 12.92 : Math.pow((chan + .055) / 1.055, 2.4)
}
return .2126 * lum[0] + .7152 * lum[1] + .0722 * lum[2]
},
contrast: function(color2) {
var lum1 = this.luminosity(),
lum2 = color2.luminosity();
return lum1 > lum2 ? (lum1 + .05) / (lum2 + .05) : (lum2 + .05) / (lum1 + .05)
},
level: function(color2) {
var contrastRatio = this.contrast(color2);
return contrastRatio >= 7.1 ? "AAA" : contrastRatio >= 4.5 ? "AA" : ""
},
dark: function() {
var rgb = this.rgb().color;
return (299 * rgb[0] + 587 * rgb[1] + 114 * rgb[2]) / 1e3 < 128
},
light: function() {
return !this.dark()
},
negate: function() {
for (var rgb = this.rgb(), i = 0; i < 3; i++) rgb.color[i] = 255 - rgb.color[i];
return rgb
},
lighten: function(ratio) {
var hsl = this.hsl();
return hsl.color[2] += hsl.color[2] * ratio, hsl
},
darken: function(ratio) {
var hsl = this.hsl();
return hsl.color[2] -= hsl.color[2] * ratio, hsl
},
saturate: function(ratio) {
var hsl = this.hsl();
return hsl.color[1] += hsl.color[1] * ratio, hsl
},
desaturate: function(ratio) {
var hsl = this.hsl();
return hsl.color[1] -= hsl.color[1] * ratio, hsl
},
whiten: function(ratio) {
var hwb = this.hwb();
return hwb.color[1] += hwb.color[1] * ratio, hwb
},
blacken: function(ratio) {
var hwb = this.hwb();
return hwb.color[2] += hwb.color[2] * ratio, hwb
},
grayscale: function() {
var rgb = this.rgb().color,
val = .3 * rgb[0] + .59 * rgb[1] + .11 * rgb[2];
return Color.rgb(val, val, val)
},
fade: function(ratio) {
return this.alpha(this.valpha - this.valpha * ratio)
},
opaquer: function(ratio) {
return this.alpha(this.valpha + this.valpha * ratio)
},
rotate: function(degrees) {
var hsl = this.hsl(),
hue = hsl.color[0];
return hue = (hue = (hue + degrees) % 360) < 0 ? 360 + hue : hue, hsl.color[0] = hue, hsl
},
mix: function(mixinColor, weight) {
var color1 = mixinColor.rgb(),
color2 = this.rgb(),
p = void 0 === weight ? .5 : weight,
w = 2 * p - 1,
a = color1.alpha() - color2.alpha(),
w1 = ((w * a == -1 ? w : (w + a) / (1 + w * a)) + 1) / 2,
w2 = 1 - w1;
return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p))
}
}, Object.keys(convert).forEach(function(model) {
if (-1 === skippedModels.indexOf(model)) {
var channels = convert[model].channels;
Color.prototype[model] = function() {
if (this.model === model) return new Color(this);
if (arguments.length) return new Color(arguments, model);
var newAlpha = "number" == typeof arguments[channels] ? channels : this.valpha;
return new Color(function assertArray(val) {
return Array.isArray(val) ? val : [val]
}(convert[this.model][model].raw(this.color)).concat(newAlpha), model)
}, Color[model] = function(color) {
return "number" == typeof color && (color = zeroArray(_slice.call(arguments), channels)), new Color(color, model)
}
}
}), module.exports = Color
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
const unsafe = /[\u{0000}-\u{0008}\u{D800}-\u{DFFF}\u{FFFE}-\u{FFFF}]/mu;
function sanitize(input = "", replacement = "") {
return input.replace(unsafe, replacement)
}
exports.sanitize = sanitize, exports.validate = function validate(input) {
return sanitize(input).length === input.length
}
}, function(module, exports) {
(module.exports = function escape(string, ignore) {
var pattern;
if (null != string) return ignore = (ignore || "").replace(/[^&"<>\']/g, ""), pattern = "([&\"<>'])".replace(new RegExp("[" + ignore + "]", "g"), ""), string.replace(new RegExp(pattern, "g"), function(str, item) {
return escape.map[item]
})
}).map = {
">": "&gt;",
"<": "&lt;",
"'": "&apos;",
'"': "&quot;",
"&": "&amp;"
}
}, function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;
! function(global) {
function SignalBinding(signal, listener, isOnce, listenerContext, priority) {
this._listener = listener, this._isOnce = isOnce, this.context = listenerContext, this._signal = signal, this._priority = priority || 0
}
function validateListener(listener, fnName) {
if ("function" != typeof listener) throw new Error("listener is a required param of {fn}() and should be a Function.".replace("{fn}", fnName))
}
function Signal() {
this._bindings = [], this._prevParams = null;
var self = this;
this.dispatch = function() {
Signal.prototype.dispatch.apply(self, arguments)
}
}
SignalBinding.prototype = {
active: !0,
params: null,
execute: function(paramsArr) {
var handlerReturn, params;
return this.active && this._listener && (params = this.params ? this.params.concat(paramsArr) : paramsArr, handlerReturn = this._listener.apply(this.context, params), this._isOnce && this.detach()), handlerReturn
},
detach: function() {
return this.isBound() ? this._signal.remove(this._listener, this.context) : null
},
isBound: function() {
return !!this._signal && !!this._listener
},
isOnce: function() {
return this._isOnce
},
getListener: function() {
return this._listener
},
getSignal: function() {
return this._signal
},
_destroy: function() {
delete this._signal, delete this._listener, delete this.context
},
toString: function() {
return "[SignalBinding isOnce:" + this._isOnce + ", isBound:" + this.isBound() + ", active:" + this.active + "]"
}
}, Signal.prototype = {
VERSION: "1.0.0",
memorize: !1,
_shouldPropagate: !0,
active: !0,
_registerListener: function(listener, isOnce, listenerContext, priority) {
var binding, prevIndex = this._indexOfListener(listener, listenerContext);
if (-1 !== prevIndex) {
if ((binding = this._bindings[prevIndex]).isOnce() !== isOnce) throw new Error("You cannot add" + (isOnce ? "" : "Once") + "() then add" + (isOnce ? "Once" : "") + "() the same listener without removing the relationship first.")
} else binding = new SignalBinding(this, listener, isOnce, listenerContext, priority), this._addBinding(binding);
return this.memorize && this._prevParams && binding.execute(this._prevParams), binding
},
_addBinding: function(binding) {
var n = this._bindings.length;
do {
--n
} while (this._bindings[n] && binding._priority <= this._bindings[n]._priority);
this._bindings.splice(n + 1, 0, binding)
},
_indexOfListener: function(listener, context) {
for (var cur, n = this._bindings.length; n--;)
if ((cur = this._bindings[n])._listener === listener && cur.context === context) return n;
return -1
},
has: function(listener, context) {
return -1 !== this._indexOfListener(listener, context)
},
add: function(listener, listenerContext, priority) {
return validateListener(listener, "add"), this._registerListener(listener, !1, listenerContext, priority)
},
addOnce: function(listener, listenerContext, priority) {
return validateListener(listener, "addOnce"), this._registerListener(listener, !0, listenerContext, priority)
},
remove: function(listener, context) {
validateListener(listener, "remove");
var i = this._indexOfListener(listener, context);
return -1 !== i && (this._bindings[i]._destroy(), this._bindings.splice(i, 1)), listener
},
removeAll: function() {
for (var n = this._bindings.length; n--;) this._bindings[n]._destroy();
this._bindings.length = 0
},
getNumListeners: function() {
return this._bindings.length
},
halt: function() {
this._shouldPropagate = !1
},
dispatch: function(params) {
if (this.active) {
var bindings, paramsArr = Array.prototype.slice.call(arguments),
n = this._bindings.length;
if (this.memorize && (this._prevParams = paramsArr), n) {
bindings = this._bindings.slice(), this._shouldPropagate = !0;
do {
n--
} while (bindings[n] && this._shouldPropagate && !1 !== bindings[n].execute(paramsArr))
}
}
},
forget: function() {
this._prevParams = null
},
dispose: function() {
this.removeAll(), delete this._bindings, delete this._prevParams
},
toString: function() {
return "[Signal active:" + this.active + " numListeners:" + this.getNumListeners() + "]"
}
};
var signals = Signal;
signals.Signal = Signal, void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = function() {
return signals
}.call(exports, __webpack_require__, exports, module)) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
}()
}, function(module, exports, __webpack_require__) {
const u = __webpack_require__(55).fromCallback,
fs = __webpack_require__(31),
api = ["access", "appendFile", "chmod", "chown", "close", "fchmod", "fchown", "fdatasync", "fstat", "fsync", "ftruncate", "futimes", "lchown", "link", "lstat", "mkdir", "open", "readFile", "readdir", "readlink", "realpath", "rename", "rmdir", "stat", "symlink", "truncate", "unlink", "utimes", "writeFile"];
"function" == typeof fs.mkdtemp && api.push("mkdtemp"), Object.keys(fs).forEach(key => {
exports[key] = fs[key]
}), api.forEach(method => {
exports[method] = u(fs[method])
}), exports.exists = function(filename, callback) {
return "function" == typeof callback ? fs.exists(filename, callback) : new Promise(resolve => fs.exists(filename, resolve))
}, exports.read = function(fd, buffer, offset, length, position, callback) {
return "function" == typeof callback ? fs.read(fd, buffer, offset, length, position, callback) : new Promise((resolve, reject) => {
fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {
if (err) return reject(err);
resolve({
bytesRead,
buffer
})
})
})
}, exports.write = function(fd, buffer, a, b, c, callback) {
return "function" == typeof arguments[arguments.length - 1] ? fs.write(fd, buffer, a, b, c, callback) : "string" == typeof buffer ? new Promise((resolve, reject) => {
fs.write(fd, buffer, a, b, (err, bytesWritten, buffer) => {
if (err) return reject(err);
resolve({
bytesWritten,
buffer
})
})
}) : new Promise((resolve, reject) => {
fs.write(fd, buffer, a, b, c, (err, bytesWritten, buffer) => {
if (err) return reject(err);
resolve({
bytesWritten,
buffer
})
})
})
}
}, function(module, exports, __webpack_require__) {
"use strict";
var fs = __webpack_require__(37);
module.exports = function clone(obj) {
if (null === obj || "object" != typeof obj) return obj;
if (obj instanceof Object) var copy = {
__proto__: obj.__proto__
};
else var copy = Object.create(null);
return Object.getOwnPropertyNames(obj).forEach(function(key) {
Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))
}), copy
}(fs)
}, function(module, exports) {
module.exports = require("constants")
}, function(module, exports, __webpack_require__) {
var fs = __webpack_require__(31),
path = __webpack_require__(6),
utimes = __webpack_require__(390);
module.exports = function ncp(source, dest, options, callback) {
callback || (callback = options, options = {});
var basePath = process.cwd(),
currentPath = path.resolve(basePath, source),
targetPath = path.resolve(basePath, dest),
filter = options.filter,
transform = options.transform,
overwrite = options.overwrite;
void 0 === overwrite && (overwrite = options.clobber), void 0 === overwrite && (overwrite = !0);
var errorOnExist = options.errorOnExist,
dereference = options.dereference,
preserveTimestamps = !0 === options.preserveTimestamps,
started = 0,
finished = 0,
running = 0,
errored = !1;
function startCopy(source) {
if (started++, filter)
if (filter instanceof RegExp) {
if (console.warn("Warning: fs-extra: Passing a RegExp filter is deprecated, use a function"), !filter.test(source)) return doneOne(!0)
} else if ("function" == typeof filter && !filter(source, dest)) return doneOne(!0);
return function getStats(source) {
var stat = dereference ? fs.stat : fs.lstat;
running++, stat(source, function(err, stats) {
if (err) return onError(err);
var item = {
name: source,
mode: stats.mode,
mtime: stats.mtime,
atime: stats.atime,
stats
};
return stats.isDirectory() ? function onDir(dir) {
var target = dir.name.replace(currentPath, targetPath.replace("$", "$$$$"));
isWritable(target, function(writable) {
if (writable) return function mkDir(dir, target) {
fs.mkdir(target, dir.mode, function(err) {
if (err) return onError(err);
fs.chmod(target, dir.mode, function(err) {
if (err) return onError(err);
copyDir(dir.name)
})
})
}(dir, target);
copyDir(dir.name)
})
}(item) : stats.isFile() || stats.isCharacterDevice() || stats.isBlockDevice() ? function onFile(file) {
var target = file.name.replace(currentPath, targetPath.replace("$", "$$$$"));
isWritable(target, function(writable) {
writable ? copyFile(file, target) : overwrite ? rmFile(target, function() {
copyFile(file, target)
}) : errorOnExist ? onError(new Error(target + " already exists")) : doneOne()
})
}(item) : stats.isSymbolicLink() ? function onLink(link) {
var target = link.replace(currentPath, targetPath);
fs.readlink(link, function(err, resolvedPath) {
if (err) return onError(err);
! function checkLink(resolvedPath, target) {
dereference && (resolvedPath = path.resolve(basePath, resolvedPath)), isWritable(target, function(writable) {
if (writable) return makeLink(resolvedPath, target);
fs.readlink(target, function(err, targetDest) {
return err ? onError(err) : (dereference && (targetDest = path.resolve(basePath, targetDest)), targetDest === resolvedPath ? doneOne() : rmFile(target, function() {
makeLink(resolvedPath, target)
}))
})
})
}(resolvedPath, target)
})
}(source) : void 0
})
}(source)
}
function copyFile(file, target) {
var readStream = fs.createReadStream(file.name),
writeStream = fs.createWriteStream(target, {
mode: file.mode
});
readStream.on("error", onError), writeStream.on("error", onError), transform ? transform(readStream, writeStream, file) : writeStream.on("open", function() {
readStream.pipe(writeStream)
}), writeStream.once("close", function() {
fs.chmod(target, file.mode, function(err) {
if (err) return onError(err);
preserveTimestamps ? utimes.utimesMillis(target, file.atime, file.mtime, function(err) {
return err ? onError(err) : doneOne()
}) : doneOne()
})
})
}
function rmFile(file, done) {
fs.unlink(file, function(err) {
return err ? onError(err) : done()
})
}
function copyDir(dir) {
fs.readdir(dir, function(err, items) {
return err ? onError(err) : (items.forEach(function(item) {
startCopy(path.join(dir, item))
}), doneOne())
})
}
function makeLink(linkPath, target) {
fs.symlink(linkPath, target, function(err) {
return err ? onError(err) : doneOne()
})
}
function isWritable(path, done) {
fs.lstat(path, function(err) {
return err && "ENOENT" === err.code ? done(!0) : done(!1)
})
}
function onError(err) {
if (!errored && void 0 !== callback) return errored = !0, callback(err)
}
function doneOne(skipped) {
if (skipped || running--, started === ++finished && 0 === running && void 0 !== callback) return callback(null)
}
startCopy(currentPath)
}
}, function(module, exports, __webpack_require__) {
"use strict";
const path = __webpack_require__(6);
function getRootPath(p) {
return (p = path.normalize(path.resolve(p)).split(path.sep)).length > 0 ? p[0] : null
}
const INVALID_PATH_CHARS = /[<>:"|?*]/;
module.exports = {
getRootPath,
invalidWin32Path: function invalidWin32Path(p) {
const rp = getRootPath(p);
return p = p.replace(rp, ""), INVALID_PATH_CHARS.test(p)
}
}
}, function(module, exports, __webpack_require__) {
module.exports = {
copySync: __webpack_require__(393)
}
}, function(module, exports) {
module.exports = function(size) {
if ("function" == typeof Buffer.allocUnsafe) try {
return Buffer.allocUnsafe(size)
} catch (e) {
return new Buffer(size)
}
return new Buffer(size)
}
}, function(module, exports, __webpack_require__) {
"use strict";
const re = {
short: /^-([^\d-])$/,
long: /^--(\S+)/,
combinedShort: /^-[^\d-]{2,}$/,
optEquals: /^(--\S+?)=(.*)/
};
function expandCombinedShortArg(arg) {
return (arg = arg.slice(1)).split("").map(letter => "-" + letter)
}
function isOptionEqualsNotation(arg) {
return re.optEquals.test(arg)
}
function isOption(arg) {
return (re.short.test(arg) || re.long.test(arg)) && !re.optEquals.test(arg)
}
function isLongOption(arg) {
return re.long.test(arg) && !isOptionEqualsNotation(arg)
}
exports.expandCombinedShortArg = expandCombinedShortArg, exports.re = re, exports.ArgvArray = class ArgvArray extends Array {
load(argv) {
const arrayify = __webpack_require__(61);
this.clear(), argv && argv !== process.argv ? argv = arrayify(argv) : (argv = process.argv.slice(0)).splice(0, 2), argv.forEach(arg => this.push(String(arg)))
}
clear() {
this.length = 0
}
expandOptionEqualsNotation() {
if (this.some(arg => re.optEquals.test(arg))) {
const expandedArgs = [];
this.forEach(arg => {
const matches = arg.match(re.optEquals);
matches ? expandedArgs.push(matches[1], matches[2]) : expandedArgs.push(arg)
}), this.clear(), this.load(expandedArgs)
}
}
expandGetoptNotation() {
this.hasCombinedShortOptions() && __webpack_require__(257)(this, re.combinedShort, expandCombinedShortArg)
}
hasCombinedShortOptions() {
return this.some(arg => re.combinedShort.test(arg))
}
static from(argv) {
const result = new this;
return result.load(argv), result
}
}, exports.getOptionName = function getOptionName(arg) {
return re.short.test(arg) ? arg.match(re.short)[1] : isLongOption(arg) ? arg.match(re.long)[1] : isOptionEqualsNotation(arg) ? arg.match(re.optEquals)[1].replace(/^--/, "") : null
}, exports.isOption = isOption, exports.isLongOption = isLongOption, exports.isOptionEqualsNotation = isOptionEqualsNotation, exports.isValue = arg => !(isOption(arg) || re.combinedShort.test(arg) || re.optEquals.test(arg))
}, function(module, exports, __webpack_require__) {
"use strict";
const arrayify = __webpack_require__(61),
testValue = __webpack_require__(411);
module.exports = function findReplace(array, valueTest) {
const found = [],
replaceWiths = arrayify(arguments);
return replaceWiths.splice(0, 2), arrayify(array).forEach((value, index) => {
let expanded = [];
replaceWiths.forEach(replaceWith => {
"function" == typeof replaceWith ? expanded = expanded.concat(replaceWith(value)) : expanded.push(replaceWith)
}), testValue(value, valueTest) && found.push({
index,
replaceWithValue: expanded
})
}), found.reverse().forEach(item => {
const spliceArgs = [item.index, 1].concat(item.replaceWithValue);
array.splice.apply(array, spliceArgs)
}), array
}
}, function(module, exports, __webpack_require__) {
"use strict";
const t = __webpack_require__(48);
module.exports = class OptionDefinition {
constructor(definition) {
this.name = definition.name, this.type = definition.type || String, this.alias = definition.alias, this.multiple = definition.multiple, this.lazyMultiple = definition.lazyMultiple, this.defaultOption = definition.defaultOption, this.defaultValue = definition.defaultValue, this.group = definition.group;
for (let prop in definition) this[prop] || (this[prop] = definition[prop])
}
isBoolean() {
return this.type === Boolean || t.isFunction(this.type) && "Boolean" === this.type.name
}
isMultiple() {
return this.multiple || this.lazyMultiple
}
static create(def) {
return new this(def)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const Option = __webpack_require__(224);
module.exports = class Output extends Map {
constructor(definitions) {
super();
const Definitions = __webpack_require__(223);
this.definitions = Definitions.from(definitions), this.set("_unknown", Option.create({
name: "_unknown",
multiple: !0
}));
for (const def of this.definitions.whereDefaultValueSet()) this.set(def.name, Option.create(def))
}
toObject(options) {
const camelCase = __webpack_require__(260);
options = options || {};
const output = {};
for (const item of this) {
const name = options.camelCase && "_unknown" !== item[0] ? camelCase(item[0]) : item[0],
option = item[1];
("_unknown" !== name || option.get().length) && (output[name] = option.get())
}
return options.skipUnknown && delete output._unknown, output
}
}
}, function(module, exports) {
var INFINITY = 1 / 0,
symbolTag = "[object Symbol]",
reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,
reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,
rsBreakRange = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",
rsAstral = "[\\ud800-\\udfff]",
rsBreak = "[" + rsBreakRange + "]",
rsCombo = "[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]",
rsDigits = "\\d+",
rsDingbat = "[\\u2700-\\u27bf]",
rsLower = "[a-z\\xdf-\\xf6\\xf8-\\xff]",
rsMisc = "[^\\ud800-\\udfff" + rsBreakRange + rsDigits + "\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",
rsFitz = "\\ud83c[\\udffb-\\udfff]",
rsNonAstral = "[^\\ud800-\\udfff]",
rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}",
rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]",
rsUpper = "[A-Z\\xc0-\\xd6\\xd8-\\xde]",
rsLowerMisc = "(?:" + rsLower + "|" + rsMisc + ")",
rsUpperMisc = "(?:" + rsUpper + "|" + rsMisc + ")",
reOptMod = "(?:" + rsCombo + "|" + rsFitz + ")" + "?",
rsSeq = "[\\ufe0e\\ufe0f]?" + reOptMod + ("(?:\\u200d(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")[\\ufe0e\\ufe0f]?" + reOptMod + ")*"),
rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq,
rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")",
reApos = RegExp("['’]", "g"),
reComboMark = RegExp(rsCombo, "g"),
reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"),
reUnicodeWord = RegExp([rsUpper + "?" + rsLower + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", rsUpperMisc + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [rsBreak, rsUpper + rsLowerMisc, "$"].join("|") + ")", rsUpper + "?" + rsLowerMisc + "+(?:['’](?:d|ll|m|re|s|t|ve))?", rsUpper + "+(?:['’](?:D|LL|M|RE|S|T|VE))?", rsDigits, rsEmoji].join("|"), "g"),
reHasUnicode = RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),
reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,
freeGlobal = "object" == typeof global && global && global.Object === Object && global,
freeSelf = "object" == typeof self && self && self.Object === Object && self,
root = freeGlobal || freeSelf || Function("return this")();
var deburrLetter = function basePropertyOf(object) {
return function(key) {
return null == object ? void 0 : object[key]
}
}({
"À": "A",
"Á": "A",
"Â": "A",
"Ã": "A",
"Ä": "A",
"Å": "A",
"à": "a",
"á": "a",
"â": "a",
"ã": "a",
"ä": "a",
"å": "a",
"Ç": "C",
"ç": "c",
"Ð": "D",
"ð": "d",
"È": "E",
"É": "E",
"Ê": "E",
"Ë": "E",
"è": "e",
"é": "e",
"ê": "e",
"ë": "e",
"Ì": "I",
"Í": "I",
"Î": "I",
"Ï": "I",
"ì": "i",
"í": "i",
"î": "i",
"ï": "i",
"Ñ": "N",
"ñ": "n",
"Ò": "O",
"Ó": "O",
"Ô": "O",
"Õ": "O",
"Ö": "O",
"Ø": "O",
"ò": "o",
"ó": "o",
"ô": "o",
"õ": "o",
"ö": "o",
"ø": "o",
"Ù": "U",
"Ú": "U",
"Û": "U",
"Ü": "U",
"ù": "u",
"ú": "u",
"û": "u",
"ü": "u",
"Ý": "Y",
"ý": "y",
"ÿ": "y",
"Æ": "Ae",
"æ": "ae",
"Þ": "Th",
"þ": "th",
"ß": "ss",
"Ā": "A",
"Ă": "A",
"Ą": "A",
"ā": "a",
"ă": "a",
"ą": "a",
"Ć": "C",
"Ĉ": "C",
"Ċ": "C",
"Č": "C",
"ć": "c",
"ĉ": "c",
"ċ": "c",
"č": "c",
"Ď": "D",
"Đ": "D",
"ď": "d",
"đ": "d",
"Ē": "E",
"Ĕ": "E",
"Ė": "E",
"Ę": "E",
"Ě": "E",
"ē": "e",
"ĕ": "e",
"ė": "e",
"ę": "e",
"ě": "e",
"Ĝ": "G",
"Ğ": "G",
"Ġ": "G",
"Ģ": "G",
"ĝ": "g",
"ğ": "g",
"ġ": "g",
"ģ": "g",
"Ĥ": "H",
"Ħ": "H",
"ĥ": "h",
"ħ": "h",
"Ĩ": "I",
"Ī": "I",
"Ĭ": "I",
"Į": "I",
"İ": "I",
"ĩ": "i",
"ī": "i",
"ĭ": "i",
"į": "i",
"ı": "i",
"Ĵ": "J",
"ĵ": "j",
"Ķ": "K",
"ķ": "k",
"ĸ": "k",
"Ĺ": "L",
"Ļ": "L",
"Ľ": "L",
"Ŀ": "L",
"Ł": "L",
"ĺ": "l",
"ļ": "l",
"ľ": "l",
"ŀ": "l",
"ł": "l",
"Ń": "N",
"Ņ": "N",
"Ň": "N",
"Ŋ": "N",
"ń": "n",
"ņ": "n",
"ň": "n",
"ŋ": "n",
"Ō": "O",
"Ŏ": "O",
"Ő": "O",
"ō": "o",
"ŏ": "o",
"ő": "o",
"Ŕ": "R",
"Ŗ": "R",
"Ř": "R",
"ŕ": "r",
"ŗ": "r",
"ř": "r",
"Ś": "S",
"Ŝ": "S",
"Ş": "S",
"Š": "S",
"ś": "s",
"ŝ": "s",
"ş": "s",
"š": "s",
"Ţ": "T",
"Ť": "T",
"Ŧ": "T",
"ţ": "t",
"ť": "t",
"ŧ": "t",
"Ũ": "U",
"Ū": "U",
"Ŭ": "U",
"Ů": "U",
"Ű": "U",
"Ų": "U",
"ũ": "u",
"ū": "u",
"ŭ": "u",
"ů": "u",
"ű": "u",
"ų": "u",
"Ŵ": "W",
"ŵ": "w",
"Ŷ": "Y",
"ŷ": "y",
"Ÿ": "Y",
"Ź": "Z",
"Ż": "Z",
"Ž": "Z",
"ź": "z",
"ż": "z",
"ž": "z",
"IJ": "IJ",
"ij": "ij",
"Œ": "Oe",
"œ": "oe",
"ʼn": "'n",
"ſ": "ss"
});
function hasUnicode(string) {
return reHasUnicode.test(string)
}
function stringToArray(string) {
return hasUnicode(string) ? function unicodeToArray(string) {
return string.match(reUnicode) || []
}(string) : function asciiToArray(string) {
return string.split("")
}(string)
}
var objectToString = Object.prototype.toString,
Symbol = root.Symbol,
symbolProto = Symbol ? Symbol.prototype : void 0,
symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseToString(value) {
if ("string" == typeof value) return value;
if (function isSymbol(value) {
return "symbol" == typeof value || function isObjectLike(value) {
return !!value && "object" == typeof value
}(value) && objectToString.call(value) == symbolTag
}(value)) return symbolToString ? symbolToString.call(value) : "";
var result = value + "";
return "0" == result && 1 / value == -INFINITY ? "-0" : result
}
function castSlice(array, start, end) {
var length = array.length;
return end = void 0 === end ? length : end, !start && end >= length ? array : function baseSlice(array, start, end) {
var index = -1,
length = array.length;
start < 0 && (start = -start > length ? 0 : length + start), (end = end > length ? length : end) < 0 && (end += length), length = start > end ? 0 : end - start >>> 0, start >>>= 0;
for (var result = Array(length); ++index < length;) result[index] = array[index + start];
return result
}(array, start, end)
}
function toString(value) {
return null == value ? "" : baseToString(value)
}
var camelCase = function createCompounder(callback) {
return function(string) {
return function arrayReduce(array, iteratee, accumulator, initAccum) {
var index = -1,
length = array ? array.length : 0;
for (initAccum && length && (accumulator = array[++index]); ++index < length;) accumulator = iteratee(accumulator, array[index], index, array);
return accumulator
}(function words(string, pattern, guard) {
return string = toString(string), void 0 === (pattern = guard ? void 0 : pattern) ? function hasUnicodeWord(string) {
return reHasUnicodeWord.test(string)
}(string) ? function unicodeWords(string) {
return string.match(reUnicodeWord) || []
}(string) : function asciiWords(string) {
return string.match(reAsciiWord) || []
}(string) : string.match(pattern) || []
}(function deburr(string) {
return (string = toString(string)) && string.replace(reLatin, deburrLetter).replace(reComboMark, "")
}(string).replace(reApos, "")), callback, "")
}
}(function(result, word, index) {
return word = word.toLowerCase(), result + (index ? function capitalize(string) {
return upperFirst(toString(string).toLowerCase())
}(word) : word)
});
var upperFirst = function createCaseFirst(methodName) {
return function(string) {
var strSymbols = hasUnicode(string = toString(string)) ? stringToArray(string) : void 0,
chr = strSymbols ? strSymbols[0] : string.charAt(0),
trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
return chr[methodName]() + trailing
}
}("toUpperCase");
module.exports = camelCase
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = class Section {
constructor() {
this.list = []
}
add(content) {
__webpack_require__(171), __webpack_require__(61)(content).forEach(line => this.list.push(line))
}
emptyLine() {
this.list.push("")
}
header(text) {
const chalk = __webpack_require__(262);
text && (this.add(chalk.underline.bold(text)), this.emptyLine())
}
toString() {
const os = __webpack_require__(25);
return this.list.join(os.EOL)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const escapeStringRegexp = __webpack_require__(263),
ansiStyles = __webpack_require__(416),
stdoutColor = __webpack_require__(418).stdout,
template = __webpack_require__(419),
isSimpleWindowsTerm = !1,
levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"],
skipModels = new Set(["gray"]),
styles = Object.create(null);
function applyOptions(obj, options) {
options = options || {};
const scLevel = stdoutColor ? stdoutColor.level : 0;
obj.level = void 0 === options.level ? scLevel : options.level, obj.enabled = "enabled" in options ? options.enabled : obj.level > 0
}
function Chalk(options) {
if (!this || !(this instanceof Chalk) || this.template) {
const chalk = {};
return applyOptions(chalk, options), chalk.template = function() {
const args = [].slice.call(arguments);
return function chalkTag(chalk, strings) {
if (!Array.isArray(strings)) return [].slice.call(arguments, 1).join(" ");
const args = [].slice.call(arguments, 2),
parts = [strings.raw[0]];
for (let i = 1; i < strings.length; i++) parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")), parts.push(String(strings.raw[i]));
return template(chalk, parts.join(""))
}.apply(null, [chalk.template].concat(args))
}, Object.setPrototypeOf(chalk, Chalk.prototype), Object.setPrototypeOf(chalk.template, chalk), chalk.template.constructor = Chalk, chalk.template
}
applyOptions(this, options)
}
isSimpleWindowsTerm && (ansiStyles.blue.open = "");
for (const key of Object.keys(ansiStyles)) ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), "g"), styles[key] = {
get() {
const codes = ansiStyles[key];
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key)
}
};
styles.visible = {
get() {
return build.call(this, this._styles || [], !0, "visible")
}
}, ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), "g");
for (const model of Object.keys(ansiStyles.color.ansi)) skipModels.has(model) || (styles[model] = {
get() {
const level = this.level;
return function() {
const codes = {
open: ansiStyles.color[levelMapping[level]][model].apply(null, arguments),
close: ansiStyles.color.close,
closeRe: ansiStyles.color.closeRe
};
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model)
}
}
});
ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), "g");
for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
if (skipModels.has(model)) continue;
styles["bg" + model[0].toUpperCase() + model.slice(1)] = {
get() {
const level = this.level;
return function() {
const codes = {
open: ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments),
close: ansiStyles.bgColor.close,
closeRe: ansiStyles.bgColor.closeRe
};
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model)
}
}
}
}
const proto = Object.defineProperties(() => {}, styles);
function build(_styles, _empty, key) {
const builder = function() {
return function applyStyle() {
const args = arguments,
argsLen = args.length;
let str = String(arguments[0]);
if (0 === argsLen) return "";
if (argsLen > 1)
for (let a = 1; a < argsLen; a++) str += " " + args[a];
if (!this.enabled || this.level <= 0 || !str) return this._empty ? "" : str;
const originalDim = ansiStyles.dim.open;
isSimpleWindowsTerm && this.hasGrey && (ansiStyles.dim.open = "");
for (const code of this._styles.slice().reverse()) str = (str = code.open + str.replace(code.closeRe, code.open) + code.close).replace(/\r?\n/g, `${code.close}$&${code.open}`);
return ansiStyles.dim.open = originalDim, str
}.apply(builder, arguments)
};
builder._styles = _styles, builder._empty = _empty;
const self = this;
return Object.defineProperty(builder, "level", {
enumerable: !0,
get: () => self.level,
set(level) {
self.level = level
}
}), Object.defineProperty(builder, "enabled", {
enumerable: !0,
get: () => self.enabled,
set(enabled) {
self.enabled = enabled
}
}), builder.hasGrey = this.hasGrey || "gray" === key || "grey" === key, builder.__proto__ = proto, builder
}
Object.defineProperties(Chalk.prototype, styles), module.exports = Chalk(), module.exports.supportsColor = stdoutColor, module.exports.default = module.exports
}, function(module, exports, __webpack_require__) {
"use strict";
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
module.exports = function(str) {
if ("string" != typeof str) throw new TypeError("Expected a string");
return str.replace(matchOperatorsRe, "\\$&")
}
}, function(module, exports, __webpack_require__) {
var conversions = __webpack_require__(265),
route = __webpack_require__(417),
convert = {};
Object.keys(conversions).forEach(function(fromModel) {
convert[fromModel] = {}, Object.defineProperty(convert[fromModel], "channels", {
value: conversions[fromModel].channels
}), Object.defineProperty(convert[fromModel], "labels", {
value: conversions[fromModel].labels
});
var routes = route(fromModel);
Object.keys(routes).forEach(function(toModel) {
var fn = routes[toModel];
convert[fromModel][toModel] = function wrapRounded(fn) {
var wrappedFn = function(args) {
if (null == args) return args;
arguments.length > 1 && (args = Array.prototype.slice.call(arguments));
var result = fn(args);
if ("object" == typeof result)
for (var len = result.length, i = 0; i < len; i++) result[i] = Math.round(result[i]);
return result
};
return "conversion" in fn && (wrappedFn.conversion = fn.conversion), wrappedFn
}(fn), convert[fromModel][toModel].raw = function wrapRaw(fn) {
var wrappedFn = function(args) {
return null == args ? args : (arguments.length > 1 && (args = Array.prototype.slice.call(arguments)), fn(args))
};
return "conversion" in fn && (wrappedFn.conversion = fn.conversion), wrappedFn
}(fn)
})
}), module.exports = convert
}, function(module, exports, __webpack_require__) {
var cssKeywords = __webpack_require__(266),
reverseKeywords = {};
for (var key in cssKeywords) cssKeywords.hasOwnProperty(key) && (reverseKeywords[cssKeywords[key]] = key);
var convert = module.exports = {
rgb: {
channels: 3,
labels: "rgb"
},
hsl: {
channels: 3,
labels: "hsl"
},
hsv: {
channels: 3,
labels: "hsv"
},
hwb: {
channels: 3,
labels: "hwb"
},
cmyk: {
channels: 4,
labels: "cmyk"
},
xyz: {
channels: 3,
labels: "xyz"
},
lab: {
channels: 3,
labels: "lab"
},
lch: {
channels: 3,
labels: "lch"
},
hex: {
channels: 1,
labels: ["hex"]
},
keyword: {
channels: 1,
labels: ["keyword"]
},
ansi16: {
channels: 1,
labels: ["ansi16"]
},
ansi256: {
channels: 1,
labels: ["ansi256"]
},
hcg: {
channels: 3,
labels: ["h", "c", "g"]
},
apple: {
channels: 3,
labels: ["r16", "g16", "b16"]
},
gray: {
channels: 1,
labels: ["gray"]
}
};
for (var model in convert)
if (convert.hasOwnProperty(model)) {
if (!("channels" in convert[model])) throw new Error("missing channels property: " + model);
if (!("labels" in convert[model])) throw new Error("missing channel labels property: " + model);
if (convert[model].labels.length !== convert[model].channels) throw new Error("channel and label counts mismatch: " + model);
var channels = convert[model].channels,
labels = convert[model].labels;
delete convert[model].channels, delete convert[model].labels, Object.defineProperty(convert[model], "channels", {
value: channels
}), Object.defineProperty(convert[model], "labels", {
value: labels
})
} convert.rgb.hsl = function(rgb) {
var h, l, r = rgb[0] / 255,
g = rgb[1] / 255,
b = rgb[2] / 255,
min = Math.min(r, g, b),
max = Math.max(r, g, b),
delta = max - min;
return max === min ? h = 0 : r === max ? h = (g - b) / delta : g === max ? h = 2 + (b - r) / delta : b === max && (h = 4 + (r - g) / delta), (h = Math.min(60 * h, 360)) < 0 && (h += 360), l = (min + max) / 2, [h, 100 * (max === min ? 0 : l <= .5 ? delta / (max + min) : delta / (2 - max - min)), 100 * l]
}, convert.rgb.hsv = function(rgb) {
var h, s, r = rgb[0],
g = rgb[1],
b = rgb[2],
min = Math.min(r, g, b),
max = Math.max(r, g, b),
delta = max - min;
return s = 0 === max ? 0 : delta / max * 1e3 / 10, max === min ? h = 0 : r === max ? h = (g - b) / delta : g === max ? h = 2 + (b - r) / delta : b === max && (h = 4 + (r - g) / delta), (h = Math.min(60 * h, 360)) < 0 && (h += 360), [h, s, max / 255 * 1e3 / 10]
}, convert.rgb.hwb = function(rgb) {
var r = rgb[0],
g = rgb[1],
b = rgb[2];
return [convert.rgb.hsl(rgb)[0], 100 * (1 / 255 * Math.min(r, Math.min(g, b))), 100 * (b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)))]
}, convert.rgb.cmyk = function(rgb) {
var k, r = rgb[0] / 255,
g = rgb[1] / 255,
b = rgb[2] / 255;
return [100 * ((1 - r - (k = Math.min(1 - r, 1 - g, 1 - b))) / (1 - k) || 0), 100 * ((1 - g - k) / (1 - k) || 0), 100 * ((1 - b - k) / (1 - k) || 0), 100 * k]
}, convert.rgb.keyword = function(rgb) {
var reversed = reverseKeywords[rgb];
if (reversed) return reversed;
var currentClosestKeyword, x, y, currentClosestDistance = 1 / 0;
for (var keyword in cssKeywords)
if (cssKeywords.hasOwnProperty(keyword)) {
var value = cssKeywords[keyword],
distance = (x = rgb, y = value, Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2));
distance < currentClosestDistance && (currentClosestDistance = distance, currentClosestKeyword = keyword)
} return currentClosestKeyword
}, convert.keyword.rgb = function(keyword) {
return cssKeywords[keyword]
}, convert.rgb.xyz = function(rgb) {
var r = rgb[0] / 255,
g = rgb[1] / 255,
b = rgb[2] / 255;
return [100 * (.4124 * (r = r > .04045 ? Math.pow((r + .055) / 1.055, 2.4) : r / 12.92) + .3576 * (g = g > .04045 ? Math.pow((g + .055) / 1.055, 2.4) : g / 12.92) + .1805 * (b = b > .04045 ? Math.pow((b + .055) / 1.055, 2.4) : b / 12.92)), 100 * (.2126 * r + .7152 * g + .0722 * b), 100 * (.0193 * r + .1192 * g + .9505 * b)]
}, convert.rgb.lab = function(rgb) {
var xyz = convert.rgb.xyz(rgb),
x = xyz[0],
y = xyz[1],
z = xyz[2];
return y /= 100, z /= 108.883, x = (x /= 95.047) > .008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116, [116 * (y = y > .008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116) - 16, 500 * (x - y), 200 * (y - (z = z > .008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116))]
}, convert.hsl.rgb = function(hsl) {
var t1, t2, t3, rgb, val, h = hsl[0] / 360,
s = hsl[1] / 100,
l = hsl[2] / 100;
if (0 === s) return [val = 255 * l, val, val];
t1 = 2 * l - (t2 = l < .5 ? l * (1 + s) : l + s - l * s), rgb = [0, 0, 0];
for (var i = 0; i < 3; i++)(t3 = h + 1 / 3 * -(i - 1)) < 0 && t3++, t3 > 1 && t3--, val = 6 * t3 < 1 ? t1 + 6 * (t2 - t1) * t3 : 2 * t3 < 1 ? t2 : 3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 : t1, rgb[i] = 255 * val;
return rgb
}, convert.hsl.hsv = function(hsl) {
var h = hsl[0],
s = hsl[1] / 100,
l = hsl[2] / 100,
smin = s,
lmin = Math.max(l, .01);
return s *= (l *= 2) <= 1 ? l : 2 - l, smin *= lmin <= 1 ? lmin : 2 - lmin, [h, 100 * (0 === l ? 2 * smin / (lmin + smin) : 2 * s / (l + s)), 100 * ((l + s) / 2)]
}, convert.hsv.rgb = function(hsv) {
var h = hsv[0] / 60,
s = hsv[1] / 100,
v = hsv[2] / 100,
hi = Math.floor(h) % 6,
f = h - Math.floor(h),
p = 255 * v * (1 - s),
q = 255 * v * (1 - s * f),
t = 255 * v * (1 - s * (1 - f));
switch (v *= 255, hi) {
case 0:
return [v, t, p];
case 1:
return [q, v, p];
case 2:
return [p, v, t];
case 3:
return [p, q, v];
case 4:
return [t, p, v];
case 5:
return [v, p, q]
}
}, convert.hsv.hsl = function(hsv) {
var lmin, sl, l, h = hsv[0],
s = hsv[1] / 100,
v = hsv[2] / 100,
vmin = Math.max(v, .01);
return l = (2 - s) * v, sl = s * vmin, [h, 100 * (sl = (sl /= (lmin = (2 - s) * vmin) <= 1 ? lmin : 2 - lmin) || 0), 100 * (l /= 2)]
}, convert.hwb.rgb = function(hwb) {
var i, v, f, n, r, g, b, h = hwb[0] / 360,
wh = hwb[1] / 100,
bl = hwb[2] / 100,
ratio = wh + bl;
switch (ratio > 1 && (wh /= ratio, bl /= ratio), f = 6 * h - (i = Math.floor(6 * h)), 0 != (1 & i) && (f = 1 - f), n = wh + f * ((v = 1 - bl) - wh), i) {
default:
case 6:
case 0:
r = v, g = n, b = wh;
break;
case 1:
r = n, g = v, b = wh;
break;
case 2:
r = wh, g = v, b = n;
break;
case 3:
r = wh, g = n, b = v;
break;
case 4:
r = n, g = wh, b = v;
break;
case 5:
r = v, g = wh, b = n
}
return [255 * r, 255 * g, 255 * b]
}, convert.cmyk.rgb = function(cmyk) {
var c = cmyk[0] / 100,
m = cmyk[1] / 100,
y = cmyk[2] / 100,
k = cmyk[3] / 100;
return [255 * (1 - Math.min(1, c * (1 - k) + k)), 255 * (1 - Math.min(1, m * (1 - k) + k)), 255 * (1 - Math.min(1, y * (1 - k) + k))]
}, convert.xyz.rgb = function(xyz) {
var r, g, b, x = xyz[0] / 100,
y = xyz[1] / 100,
z = xyz[2] / 100;
return g = -.9689 * x + 1.8758 * y + .0415 * z, b = .0557 * x + -.204 * y + 1.057 * z, r = (r = 3.2406 * x + -1.5372 * y + -.4986 * z) > .0031308 ? 1.055 * Math.pow(r, 1 / 2.4) - .055 : 12.92 * r, g = g > .0031308 ? 1.055 * Math.pow(g, 1 / 2.4) - .055 : 12.92 * g, b = b > .0031308 ? 1.055 * Math.pow(b, 1 / 2.4) - .055 : 12.92 * b, [255 * (r = Math.min(Math.max(0, r), 1)), 255 * (g = Math.min(Math.max(0, g), 1)), 255 * (b = Math.min(Math.max(0, b), 1))]
}, convert.xyz.lab = function(xyz) {
var x = xyz[0],
y = xyz[1],
z = xyz[2];
return y /= 100, z /= 108.883, x = (x /= 95.047) > .008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116, [116 * (y = y > .008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116) - 16, 500 * (x - y), 200 * (y - (z = z > .008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116))]
}, convert.lab.xyz = function(lab) {
var x, y, z, l = lab[0];
x = lab[1] / 500 + (y = (l + 16) / 116), z = y - lab[2] / 200;
var y2 = Math.pow(y, 3),
x2 = Math.pow(x, 3),
z2 = Math.pow(z, 3);
return y = y2 > .008856 ? y2 : (y - 16 / 116) / 7.787, x = x2 > .008856 ? x2 : (x - 16 / 116) / 7.787, z = z2 > .008856 ? z2 : (z - 16 / 116) / 7.787, [x *= 95.047, y *= 100, z *= 108.883]
}, convert.lab.lch = function(lab) {
var h, l = lab[0],
a = lab[1],
b = lab[2];
return (h = 360 * Math.atan2(b, a) / 2 / Math.PI) < 0 && (h += 360), [l, Math.sqrt(a * a + b * b), h]
}, convert.lch.lab = function(lch) {
var hr, l = lch[0],
c = lch[1];
return hr = lch[2] / 360 * 2 * Math.PI, [l, c * Math.cos(hr), c * Math.sin(hr)]
}, convert.rgb.ansi16 = function(args) {
var r = args[0],
g = args[1],
b = args[2],
value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2];
if (0 === (value = Math.round(value / 50))) return 30;
var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
return 2 === value && (ansi += 60), ansi
}, convert.hsv.ansi16 = function(args) {
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2])
}, convert.rgb.ansi256 = function(args) {
var r = args[0],
g = args[1],
b = args[2];
return r === g && g === b ? r < 8 ? 16 : r > 248 ? 231 : Math.round((r - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5)
}, convert.ansi16.rgb = function(args) {
var color = args % 10;
if (0 === color || 7 === color) return args > 50 && (color += 3.5), [color = color / 10.5 * 255, color, color];
var mult = .5 * (1 + ~~(args > 50));
return [(1 & color) * mult * 255, (color >> 1 & 1) * mult * 255, (color >> 2 & 1) * mult * 255]
}, convert.ansi256.rgb = function(args) {
if (args >= 232) {
var c = 10 * (args - 232) + 8;
return [c, c, c]
}
var rem;
return args -= 16, [Math.floor(args / 36) / 5 * 255, Math.floor((rem = args % 36) / 6) / 5 * 255, rem % 6 / 5 * 255]
}, convert.rgb.hex = function(args) {
var string = (((255 & Math.round(args[0])) << 16) + ((255 & Math.round(args[1])) << 8) + (255 & Math.round(args[2]))).toString(16).toUpperCase();
return "000000".substring(string.length) + string
}, convert.hex.rgb = function(args) {
var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
if (!match) return [0, 0, 0];
var colorString = match[0];
3 === match[0].length && (colorString = colorString.split("").map(function(char) {
return char + char
}).join(""));
var integer = parseInt(colorString, 16);
return [integer >> 16 & 255, integer >> 8 & 255, 255 & integer]
}, convert.rgb.hcg = function(rgb) {
var hue, r = rgb[0] / 255,
g = rgb[1] / 255,
b = rgb[2] / 255,
max = Math.max(Math.max(r, g), b),
min = Math.min(Math.min(r, g), b),
chroma = max - min;
return hue = chroma <= 0 ? 0 : max === r ? (g - b) / chroma % 6 : max === g ? 2 + (b - r) / chroma : 4 + (r - g) / chroma + 4, hue /= 6, [360 * (hue %= 1), 100 * chroma, 100 * (chroma < 1 ? min / (1 - chroma) : 0)]
}, convert.hsl.hcg = function(hsl) {
var s = hsl[1] / 100,
l = hsl[2] / 100,
c = 1,
f = 0;
return (c = l < .5 ? 2 * s * l : 2 * s * (1 - l)) < 1 && (f = (l - .5 * c) / (1 - c)), [hsl[0], 100 * c, 100 * f]
}, convert.hsv.hcg = function(hsv) {
var s = hsv[1] / 100,
v = hsv[2] / 100,
c = s * v,
f = 0;
return c < 1 && (f = (v - c) / (1 - c)), [hsv[0], 100 * c, 100 * f]
}, convert.hcg.rgb = function(hcg) {
var h = hcg[0] / 360,
c = hcg[1] / 100,
g = hcg[2] / 100;
if (0 === c) return [255 * g, 255 * g, 255 * g];
var mg, pure = [0, 0, 0],
hi = h % 1 * 6,
v = hi % 1,
w = 1 - v;
switch (Math.floor(hi)) {
case 0:
pure[0] = 1, pure[1] = v, pure[2] = 0;
break;
case 1:
pure[0] = w, pure[1] = 1, pure[2] = 0;
break;
case 2:
pure[0] = 0, pure[1] = 1, pure[2] = v;
break;
case 3:
pure[0] = 0, pure[1] = w, pure[2] = 1;
break;
case 4:
pure[0] = v, pure[1] = 0, pure[2] = 1;
break;
default:
pure[0] = 1, pure[1] = 0, pure[2] = w
}
return mg = (1 - c) * g, [255 * (c * pure[0] + mg), 255 * (c * pure[1] + mg), 255 * (c * pure[2] + mg)]
}, convert.hcg.hsv = function(hcg) {
var c = hcg[1] / 100,
v = c + hcg[2] / 100 * (1 - c),
f = 0;
return v > 0 && (f = c / v), [hcg[0], 100 * f, 100 * v]
}, convert.hcg.hsl = function(hcg) {
var c = hcg[1] / 100,
l = hcg[2] / 100 * (1 - c) + .5 * c,
s = 0;
return l > 0 && l < .5 ? s = c / (2 * l) : l >= .5 && l < 1 && (s = c / (2 * (1 - l))), [hcg[0], 100 * s, 100 * l]
}, convert.hcg.hwb = function(hcg) {
var c = hcg[1] / 100,
v = c + hcg[2] / 100 * (1 - c);
return [hcg[0], 100 * (v - c), 100 * (1 - v)]
}, convert.hwb.hcg = function(hwb) {
var w = hwb[1] / 100,
v = 1 - hwb[2] / 100,
c = v - w,
g = 0;
return c < 1 && (g = (v - c) / (1 - c)), [hwb[0], 100 * c, 100 * g]
}, convert.apple.rgb = function(apple) {
return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]
}, convert.rgb.apple = function(rgb) {
return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]
}, convert.gray.rgb = function(args) {
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]
}, convert.gray.hsl = convert.gray.hsv = function(args) {
return [0, 0, args[0]]
}, convert.gray.hwb = function(gray) {
return [0, 100, gray[0]]
}, convert.gray.cmyk = function(gray) {
return [0, 0, 0, gray[0]]
}, convert.gray.lab = function(gray) {
return [gray[0], 0, 0]
}, convert.gray.hex = function(gray) {
var val = 255 & Math.round(gray[0] / 100 * 255),
string = ((val << 16) + (val << 8) + val).toString(16).toUpperCase();
return "000000".substring(string.length) + string
}, convert.rgb.gray = function(rgb) {
return [(rgb[0] + rgb[1] + rgb[2]) / 3 / 255 * 100]
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = {
aliceblue: [240, 248, 255],
antiquewhite: [250, 235, 215],
aqua: [0, 255, 255],
aquamarine: [127, 255, 212],
azure: [240, 255, 255],
beige: [245, 245, 220],
bisque: [255, 228, 196],
black: [0, 0, 0],
blanchedalmond: [255, 235, 205],
blue: [0, 0, 255],
blueviolet: [138, 43, 226],
brown: [165, 42, 42],
burlywood: [222, 184, 135],
cadetblue: [95, 158, 160],
chartreuse: [127, 255, 0],
chocolate: [210, 105, 30],
coral: [255, 127, 80],
cornflowerblue: [100, 149, 237],
cornsilk: [255, 248, 220],
crimson: [220, 20, 60],
cyan: [0, 255, 255],
darkblue: [0, 0, 139],
darkcyan: [0, 139, 139],
darkgoldenrod: [184, 134, 11],
darkgray: [169, 169, 169],
darkgreen: [0, 100, 0],
darkgrey: [169, 169, 169],
darkkhaki: [189, 183, 107],
darkmagenta: [139, 0, 139],
darkolivegreen: [85, 107, 47],
darkorange: [255, 140, 0],
darkorchid: [153, 50, 204],
darkred: [139, 0, 0],
darksalmon: [233, 150, 122],
darkseagreen: [143, 188, 143],
darkslateblue: [72, 61, 139],
darkslategray: [47, 79, 79],
darkslategrey: [47, 79, 79],
darkturquoise: [0, 206, 209],
darkviolet: [148, 0, 211],
deeppink: [255, 20, 147],
deepskyblue: [0, 191, 255],
dimgray: [105, 105, 105],
dimgrey: [105, 105, 105],
dodgerblue: [30, 144, 255],
firebrick: [178, 34, 34],
floralwhite: [255, 250, 240],
forestgreen: [34, 139, 34],
fuchsia: [255, 0, 255],
gainsboro: [220, 220, 220],
ghostwhite: [248, 248, 255],
gold: [255, 215, 0],
goldenrod: [218, 165, 32],
gray: [128, 128, 128],
green: [0, 128, 0],
greenyellow: [173, 255, 47],
grey: [128, 128, 128],
honeydew: [240, 255, 240],
hotpink: [255, 105, 180],
indianred: [205, 92, 92],
indigo: [75, 0, 130],
ivory: [255, 255, 240],
khaki: [240, 230, 140],
lavender: [230, 230, 250],
lavenderblush: [255, 240, 245],
lawngreen: [124, 252, 0],
lemonchiffon: [255, 250, 205],
lightblue: [173, 216, 230],
lightcoral: [240, 128, 128],
lightcyan: [224, 255, 255],
lightgoldenrodyellow: [250, 250, 210],
lightgray: [211, 211, 211],
lightgreen: [144, 238, 144],
lightgrey: [211, 211, 211],
lightpink: [255, 182, 193],
lightsalmon: [255, 160, 122],
lightseagreen: [32, 178, 170],
lightskyblue: [135, 206, 250],
lightslategray: [119, 136, 153],
lightslategrey: [119, 136, 153],
lightsteelblue: [176, 196, 222],
lightyellow: [255, 255, 224],
lime: [0, 255, 0],
limegreen: [50, 205, 50],
linen: [250, 240, 230],
magenta: [255, 0, 255],
maroon: [128, 0, 0],
mediumaquamarine: [102, 205, 170],
mediumblue: [0, 0, 205],
mediumorchid: [186, 85, 211],
mediumpurple: [147, 112, 219],
mediumseagreen: [60, 179, 113],
mediumslateblue: [123, 104, 238],
mediumspringgreen: [0, 250, 154],
mediumturquoise: [72, 209, 204],
mediumvioletred: [199, 21, 133],
midnightblue: [25, 25, 112],
mintcream: [245, 255, 250],
mistyrose: [255, 228, 225],
moccasin: [255, 228, 181],
navajowhite: [255, 222, 173],
navy: [0, 0, 128],
oldlace: [253, 245, 230],
olive: [128, 128, 0],
olivedrab: [107, 142, 35],
orange: [255, 165, 0],
orangered: [255, 69, 0],
orchid: [218, 112, 214],
palegoldenrod: [238, 232, 170],
palegreen: [152, 251, 152],
paleturquoise: [175, 238, 238],
palevioletred: [219, 112, 147],
papayawhip: [255, 239, 213],
peachpuff: [255, 218, 185],
peru: [205, 133, 63],
pink: [255, 192, 203],
plum: [221, 160, 221],
powderblue: [176, 224, 230],
purple: [128, 0, 128],
rebeccapurple: [102, 51, 153],
red: [255, 0, 0],
rosybrown: [188, 143, 143],
royalblue: [65, 105, 225],
saddlebrown: [139, 69, 19],
salmon: [250, 128, 114],
sandybrown: [244, 164, 96],
seagreen: [46, 139, 87],
seashell: [255, 245, 238],
sienna: [160, 82, 45],
silver: [192, 192, 192],
skyblue: [135, 206, 235],
slateblue: [106, 90, 205],
slategray: [112, 128, 144],
slategrey: [112, 128, 144],
snow: [255, 250, 250],
springgreen: [0, 255, 127],
steelblue: [70, 130, 180],
tan: [210, 180, 140],
teal: [0, 128, 128],
thistle: [216, 191, 216],
tomato: [255, 99, 71],
turquoise: [64, 224, 208],
violet: [238, 130, 238],
wheat: [245, 222, 179],
white: [255, 255, 255],
whitesmoke: [245, 245, 245],
yellow: [255, 255, 0],
yellowgreen: [154, 205, 50]
}
}, function(module, exports, __webpack_require__) {
"use strict";
const os = __webpack_require__(25);
module.exports = class Table {
constructor(data, options) {
let ttyWidth = process && (process.stdout.columns || process.stderr.columns) || 0;
ttyWidth && "win32" === os.platform() && ttyWidth--;
let defaults = {
padding: {
left: " ",
right: " "
},
maxWidth: ttyWidth || 80,
columns: []
};
const extend = __webpack_require__(420);
this.options = extend(defaults, options), this.load(data)
}
load(data) {
const Rows = __webpack_require__(421),
Columns = __webpack_require__(422);
let options = this.options;
return options.ignoreEmptyColumns && (data = Rows.removeEmptyColumns(data)), this.columns = Columns.getColumns(data), this.rows = new Rows(data, this.columns), this.columns.maxWidth = options.maxWidth, this.columns.list.forEach(column => {
options.padding && (column.padding = options.padding), options.noWrap && (column.noWrap = options.noWrap), options.break && (column.break = options.break, column.contentWrappable = !0)
}), options.columns.forEach(optionColumn => {
let column = this.columns.get(optionColumn.name);
column && (optionColumn.padding && (column.padding.left = optionColumn.padding.left, column.padding.right = optionColumn.padding.right), optionColumn.width && (column.width = optionColumn.width), optionColumn.maxWidth && (column.maxWidth = optionColumn.maxWidth), optionColumn.minWidth && (column.minWidth = optionColumn.minWidth), optionColumn.noWrap && (column.noWrap = optionColumn.noWrap), optionColumn.break && (column.break = optionColumn.break, column.contentWrappable = !0))
}), this.columns.autoSize(), this
}
getWrapped() {
const wrap = __webpack_require__(269);
return this.columns.autoSize(), this.rows.list.map(row => {
let line = [];
return row.forEach((cell, column) => {
column.noWrap ? line.push(cell.value.split(/\r\n?|\n/)) : line.push(wrap.lines(cell.value, {
width: column.wrappedContentWidth,
break: column.break,
noTrim: this.options.noTrim
}))
}), line
})
}
getLines() {
var wrappedLines = this.getWrapped(),
lines = [];
return wrappedLines.forEach(wrapped => {
let mostLines = function getLongestArray(arrays) {
var lengths = arrays.map(array => array.length);
return Math.max.apply(null, lengths)
}(wrapped);
for (let i = 0; i < mostLines; i++) {
let line = [];
wrapped.forEach(cell => {
line.push(cell[i] || "")
}), lines.push(line)
}
}), lines
}
renderLines() {
return this.getLines().map(line => line.reduce((prev, cell, index) => {
let column = this.columns.list[index];
return prev + function padCell(cellValue, padding, width) {
const ansi = __webpack_require__(270),
padEnd = __webpack_require__(426);
var ansiLength = cellValue.length - ansi.remove(cellValue).length;
return cellValue = cellValue || "", (padding.left || "") + padEnd(cellValue, width - padding.length() + ansiLength) + (padding.right || "")
}(cell, column.padding, column.generatedWidth)
}, ""))
}
toString() {
return this.renderLines().join(os.EOL) + os.EOL
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const t = __webpack_require__(48),
_value = new WeakMap,
_column = new WeakMap;
module.exports = class Cell {
constructor(value, column) {
this.value = value, _column.set(this, column)
}
set value(val) {
_value.set(this, val)
}
get value() {
let cellValue = _value.get(this);
return t.isFunction(cellValue) && (cellValue = cellValue.call(_column.get(this))), cellValue = void 0 === cellValue ? "" : String(cellValue)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const os = __webpack_require__(25),
t = __webpack_require__(48),
re = {
chunk: /[^\s-]+?-\b|\S+|\s+|\r\n?|\n/g,
ansiEscapeSequence: /\u001b.*?m/g
};
function trimLine(line) {
return this.options.noTrim ? line : line.trim()
}
function replaceAnsi(string) {
return string.replace(re.ansiEscapeSequence, "")
}
module.exports = class WordWrap {
constructor(text, options) {
options = options || {}, t.isDefined(text) || (text = ""), this._lines = String(text).split(/\r\n|\n/g), this.options = options, this.options.width = void 0 === options.width ? 30 : options.width
}
lines() {
const flatten = __webpack_require__(425);
return this._lines.map(trimLine.bind(this)).map(line => line.match(re.chunk) || ["~~empty~~"]).map(lineWords => this.options.break ? lineWords.map(function breakWord(word) {
if (replaceAnsi(word).length > this.options.width) {
const letters = word.split("");
let piece;
const pieces = [];
for (;
(piece = letters.splice(0, this.options.width)).length;) pieces.push(piece.join(""));
return pieces
}
return word
}.bind(this)) : lineWords).map(lineWords => lineWords.reduce(flatten, [])).map(lineWords => lineWords.reduce((lines, word) => {
let currentLine = lines[lines.length - 1];
return replaceAnsi(word).length + replaceAnsi(currentLine).length > this.options.width ? lines.push(word) : lines[lines.length - 1] += word, lines
}, [""])).reduce(flatten, []).map(trimLine.bind(this)).filter(line => line.trim()).map(line => line.replace("~~empty~~", ""))
}
wrap() {
return this.lines().join(os.EOL)
}
toString() {
return this.wrap()
}
static wrap(text, options) {
return new this(text, options).wrap()
}
static lines(text, options) {
return new this(text, options).lines()
}
static isWrappable(text) {
if (t.isDefined(text)) {
var matches = (text = String(text)).match(re.chunk);
return !!matches && matches.length > 1
}
}
static getChunks(text) {
return text.match(re.chunk) || []
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const ansiEscapeSequence = /\u001b.*?m/g;
exports.remove = function remove(input) {
return input.replace(ansiEscapeSequence, "")
}, exports.has = function has(input) {
return ansiEscapeSequence.test(input)
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) {
return typeof obj
} : function(obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol ? "symbol" : typeof obj
};
exports.default = function createAction(description, payloadReducer, metaReducer) {
var _arguments2 = arguments;
"function" == typeof description && (metaReducer = payloadReducer, payloadReducer = description, description = void 0);
"function" != typeof payloadReducer && (payloadReducer = identity);
"function" != typeof metaReducer && (metaReducer = void 0);
var isSerializable = "string" == typeof description && /^[0-9A-Z_]+$/.test(description);
if (isSerializable) {
if ((0, _types.has)(description)) throw new TypeError("Duplicate action type: " + description);
(0, _types.add)(description)
} else ++id;
var type = isSerializable ? description : "[" + id + "]" + (description ? " " + description : ""),
dispatchFunctions = void 0;
function makeAction() {
return metaReducer ? {
type,
payload: payloadReducer.apply(void 0, arguments),
meta: metaReducer.apply(void 0, arguments)
} : {
type,
payload: payloadReducer.apply(void 0, arguments)
}
}
var makeAndDispatch = function makeAndDispatch(dispatchs) {
return function() {
var _arguments = _arguments2;
if (!Array.isArray(dispatchs)) return dispatchs ? dispatchs(makeAction.apply(void 0, arguments)) : makeAction.apply(void 0, arguments);
var payloadedAction, _ret = (payloadedAction = makeAction.apply(void 0, _arguments), {
v: dispatchs.map(function(dispatch) {
return dispatch(payloadedAction)
})
});
return "object" === (void 0 === _ret ? "undefined" : _typeof(_ret)) ? _ret.v : void 0
}
};
function actionCreator() {
return makeAndDispatch(dispatchFunctions).apply(void 0, arguments)
}
return actionCreator.getType = function() {
return type
}, actionCreator.toString = function() {
return type
}, actionCreator.raw = makeAction, actionCreator.assignTo = function(dispatchOrStores) {
return dispatchFunctions = normalizeAll(dispatchOrStores), actionCreator
}, actionCreator.assigned = function() {
return !!dispatchFunctions
}, actionCreator.bound = function() {
return !1
}, actionCreator.dispatched = actionCreator.assigned, actionCreator.bindTo = function(dispatchOrStores) {
var boundActionCreator = makeAndDispatch(normalizeAll(dispatchOrStores));
return boundActionCreator.raw = makeAction, boundActionCreator.getType = actionCreator.getType, boundActionCreator.toString = actionCreator.toString, boundActionCreator.assignTo = function() {
return boundActionCreator
}, boundActionCreator.bindTo = function() {
return boundActionCreator
}, boundActionCreator.assigned = function() {
return !1
}, boundActionCreator.bound = function() {
return !0
}, boundActionCreator.dispatched = boundActionCreator.bound, boundActionCreator
}, actionCreator
};
var _types = __webpack_require__(272),
id = 0,
identity = function identity(arg) {
return arg
},
normalize = function normalize(dispatchOrStore) {
return dispatchOrStore && "function" == typeof dispatchOrStore.dispatch ? dispatchOrStore.dispatch : dispatchOrStore
},
normalizeAll = function normalizeAll(dispatchOrStores) {
return Array.isArray(dispatchOrStores) ? dispatchOrStores.map(normalize) : normalize(dispatchOrStores)
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.add = function add(name) {
types[name] = !0
}, exports.remove = remove, exports.has = has, exports.all = all, exports.clear = function clear() {
all().forEach(remove)
};
var types = {};
function remove(name) {
types[name] = !1
}
function has(name) {
return !!types[name]
}
function all() {
return Object.keys(types).filter(has)
}
}, function(module, exports, __webpack_require__) {
function load() {
var r;
try {
r = exports.storage.debug
} catch (e) {}
return !r && "undefined" != typeof process && "env" in process && (r = process.env.DEBUG), r
}(exports = module.exports = __webpack_require__(435)).log = function log() {
return "object" == typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments)
}, exports.formatArgs = function formatArgs(args) {
var useColors = this.useColors;
if (args[0] = (useColors ? "%c" : "") + this.namespace + (useColors ? " %c" : " ") + args[0] + (useColors ? "%c " : " ") + "+" + exports.humanize(this.diff), !useColors) return;
var c = "color: " + this.color;
args.splice(1, 0, c, "color: inherit");
var index = 0,
lastC = 0;
args[0].replace(/%[a-zA-Z%]/g, function(match) {
"%%" !== match && (index++, "%c" === match && (lastC = index))
}), args.splice(lastC, 0, c)
}, exports.save = function save(namespaces) {
try {
null == namespaces ? exports.storage.removeItem("debug") : exports.storage.debug = namespaces
} catch (e) {}
}, exports.load = load, exports.useColors = function useColors() {
if ("undefined" != typeof window && window.process && "renderer" === window.process.type) return !0;
return "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)
}, exports.storage = "undefined" != typeof chrome && void 0 !== chrome.storage ? chrome.storage.local : function localstorage() {
try {
return window.localStorage
} catch (e) {}
}(), exports.colors = ["lightseagreen", "forestgreen", "goldenrod", "dodgerblue", "darkorchid", "crimson"], exports.formatters.j = function(v) {
try {
return JSON.stringify(v)
} catch (err) {
return "[UnexpectedJSONParseError]: " + err.message
}
}, exports.enable(load())
}, function(module, exports, __webpack_require__) {
"use strict";
var reqSerializers = __webpack_require__(439),
resSerializers = __webpack_require__(440);
module.exports = {
err: __webpack_require__(441),
mapHttpRequest: reqSerializers.mapHttpRequest,
mapHttpResponse: resSerializers.mapHttpResponse,
req: reqSerializers.reqSerializer,
res: resSerializers.resSerializer,
wrapRequestSerializer: function wrapRequestSerializer(customSerializer) {
return customSerializer === reqSerializers.reqSerializer ? customSerializer : function wrappedReqSerializer(req) {
return customSerializer(reqSerializers.reqSerializer(req))
}
},
wrapResponseSerializer: function wrapResponseSerializer(customSerializer) {
return customSerializer === resSerializers.resSerializer ? customSerializer : function wrappedResSerializer(res) {
return customSerializer(resSerializers.resSerializer(res))
}
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
function specialSet(o, k, p, v, f) {
var n, nv, ov, obj, prop, i = -1,
l = p.length,
li = l - 1,
oov = null,
exists = !0;
if (ov = n = o[k], "object" != typeof n) return {
value: null,
parent: null,
exists
};
for (; null != n && ++i < l;) {
if (oov = ov, !((k = p[i]) in n)) {
exists = !1;
break
}
if (ov = n[k], nv = f ? v(ov) : v, nv = i !== li ? ov : nv, n[k] = (obj = n, prop = k, Object.prototype.hasOwnProperty.call(obj, prop) && nv === ov || void 0 === nv && void 0 !== v ? n[k] : nv), "object" != typeof(n = n[k])) break
}
return {
value: ov,
parent: oov,
exists
}
}
function get(o, p) {
for (var i = -1, l = p.length, n = o; null != n && ++i < l;) n = n[p[i]];
return n
}
module.exports = {
groupRedact: function groupRedact(o, path, censor, isCensorFct) {
const target = get(o, path);
if (null == target) return {
keys: null,
values: null,
target: null,
flat: !0
};
const keys = Object.keys(target),
length = keys.length,
values = new Array(length);
for (var i = 0; i < length; i++) {
const k = keys[i];
values[i] = target[k], target[k] = isCensorFct ? censor(target[k]) : censor
}
return {
keys,
values,
target,
flat: !0
}
},
groupRestore: function groupRestore({
keys,
values,
target
}) {
if (null == target) return;
const length = keys.length;
for (var i = 0; i < length; i++) {
const k = keys[i];
target[k] = values[i]
}
},
nestedRedact: function nestedRedact(store, o, path, ns, censor, isCensorFct) {
const target = get(o, path);
if (null == target) return;
const keys = Object.keys(target),
length = keys.length;
for (var i = 0; i < length; i++) {
const key = keys[i],
{
value,
parent,
exists
} = specialSet(target, key, ns, censor, isCensorFct);
!0 === exists && null !== parent && store.push({
key: ns[ns.length - 1],
target: parent,
value
})
}
return store
},
nestedRestore: function nestedRestore(arr) {
const length = arr.length;
for (var i = 0; i < length; i++) {
const {
key,
target,
value
} = arr[i];
target[key] = value
}
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(37),
EventEmitter = __webpack_require__(84),
flatstr = __webpack_require__(228);
function openFile(file, sonic) {
sonic._opening = !0, sonic._writing = !0, sonic.file = file, fs.open(file, "a", (err, fd) => {
if (err) sonic.emit("error", err);
else {
sonic.fd = fd, sonic._opening = !1, sonic._writing = !1, sonic.emit("ready");
var len = sonic._buf.length;
len > 0 && len > sonic.minLength && !sonic.destroyed && actualWrite(sonic)
}
})
}
function SonicBoom(fd, minLength, sync) {
if (!(this instanceof SonicBoom)) return new SonicBoom(fd, minLength, sync);
if (this._buf = "", this.fd = -1, this._writing = !1, this._writingBuf = "", this._ending = !1, this._reopening = !1, this._asyncDrainScheduled = !1, this.file = null, this.destroyed = !1, this.sync = sync || !1, this.minLength = minLength || 0, "number" == typeof fd) this.fd = fd, process.nextTick(() => this.emit("ready"));
else {
if ("string" != typeof fd) throw new Error("SonicBoom supports only file descriptors and files");
openFile(fd, this)
}
this.release = (err, n) => {
if (err) return "EAGAIN" === err.code ? void setTimeout(() => {
fs.write(this.fd, this._writingBuf, "utf8", this.release)
}, 100) : void this.emit("error", err);
if (this._writingBuf.length !== n) {
if (this._writingBuf = this._writingBuf.slice(n), !this.sync) return void fs.write(this.fd, this._writingBuf, "utf8", this.release);
try {
do {
n = fs.writeSync(this.fd, this._writingBuf, "utf8"), this._writingBuf = this._writingBuf.slice(n)
} while (0 !== this._writingBuf.length)
} catch (err) {
return void this.release(err)
}
}
if (this._writingBuf = "", !this.destroyed) {
var len = this._buf.length;
this._reopening ? (this._writing = !1, this._reopening = !1, this.reopen()) : len > 0 && len > this.minLength ? actualWrite(this) : this._ending ? len > 0 ? actualWrite(this) : (this._writing = !1, actualClose(this)) : (this._writing = !1, this.sync ? this._asyncDrainScheduled || (this._asyncDrainScheduled = !0, process.nextTick(emitDrain, this)) : this.emit("drain"))
}
}
}
function emitDrain(sonic) {
sonic._asyncDrainScheduled = !1, sonic.emit("drain")
}
function actualWrite(sonic) {
sonic._writing = !0;
var buf = sonic._buf,
release = sonic.release;
if (sonic._buf = "", flatstr(buf), sonic._writingBuf = buf, sonic.sync) try {
release(null, fs.writeSync(sonic.fd, buf, "utf8"))
} catch (err) {
release(err)
} else fs.write(sonic.fd, buf, "utf8", release)
}
function actualClose(sonic) {
-1 !== sonic.fd ? (fs.close(sonic.fd, err => {
err ? sonic.emit("error", err) : (sonic._ending && !sonic._writing && sonic.emit("finish"), sonic.emit("close"))
}), sonic.destroyed = !0, sonic._buf = "") : sonic.once("ready", actualClose.bind(null, sonic))
}(0, __webpack_require__(83).inherits)(SonicBoom, EventEmitter), SonicBoom.prototype.write = function(data) {
if (this.destroyed) throw new Error("SonicBoom destroyed");
this._buf += data;
var len = this._buf.length;
return !this._writing && len > this.minLength && actualWrite(this), len < 16384
}, SonicBoom.prototype.flush = function() {
if (this.destroyed) throw new Error("SonicBoom destroyed");
this._writing || this.minLength <= 0 || actualWrite(this)
}, SonicBoom.prototype.reopen = function(file) {
if (this.destroyed) throw new Error("SonicBoom destroyed");
if (!this._ending) {
if (!this.file) throw new Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");
this._writing ? this._reopening = !0 : (fs.close(this.fd, err => {
if (err) return this.emit("error", err)
}), openFile(file || this.file, this))
}
}, SonicBoom.prototype.end = function() {
if (this.destroyed) throw new Error("SonicBoom destroyed");
this._ending || (this._ending = !0, !this._writing && this._buf.length > 0 && this.fd >= 0 ? actualWrite(this) : (this._writing && this._opening && this.once("ready", () => {
actualWrite(this)
}), this._writing || actualClose(this)))
}, SonicBoom.prototype.flushSync = function() {
if (this.destroyed) throw new Error("SonicBoom destroyed");
if (this.fd < 0) throw new Error("sonic boom is not ready yet");
this._buf.length > 0 && (fs.writeSync(this.fd, this._buf, "utf8"), this._buf = "")
}, SonicBoom.prototype.destroy = function() {
this.destroyed || actualClose(this)
}, module.exports = SonicBoom
}, function(module, exports, __webpack_require__) {
"use strict";
const flatstr = __webpack_require__(228),
{
lsCacheSym,
levelValSym,
useLevelLabelsSym,
changeLevelNameSym,
useOnlyCustomLevelsSym
} = __webpack_require__(120),
{
noop,
genLog
} = __webpack_require__(229),
levels = {
trace: 10,
debug: 20,
info: 30,
warn: 40,
error: 50,
fatal: 60
},
levelMethods = {
fatal: genLog(levels.fatal),
error: genLog(levels.error),
warn: genLog(levels.warn),
info: genLog(levels.info),
debug: genLog(levels.debug),
trace: genLog(levels.trace)
},
nums = Object.keys(levels).reduce((o, k) => (o[levels[k]] = k, o), {}),
initialLsCache = Object.keys(nums).reduce((o, k) => (o[k] = flatstr('{"level":' + Number(k)), o), {});
function isStandardLevel(level, useOnlyCustomLevels) {
if (useOnlyCustomLevels) return !1;
switch (level) {
case "fatal":
case "error":
case "warn":
case "info":
case "debug":
case "trace":
return !0;
default:
return !1
}
}
module.exports = {
initialLsCache,
genLsCache: function genLsCache(instance) {
const levelName = instance[changeLevelNameSym];
return instance[lsCacheSym] = Object.keys(instance.levels.labels).reduce((o, k) => (o[k] = instance[useLevelLabelsSym] ? `{"${levelName}":"${instance.levels.labels[k]}"` : flatstr(`{"${levelName}":` + Number(k)), o), instance[lsCacheSym]), instance
},
levelMethods,
getLevel: function getLevel(level) {
const {
levels,
levelVal
} = this;
return levels.labels[levelVal]
},
setLevel: function setLevel(level) {
const {
labels,
values
} = this.levels;
if ("number" == typeof level) {
if (void 0 === labels[level]) throw Error("unknown level value" + level);
level = labels[level]
}
if (void 0 === values[level]) throw Error("unknown level " + level);
const preLevelVal = this[levelValSym],
levelVal = this[levelValSym] = values[level],
useOnlyCustomLevelsVal = this[useOnlyCustomLevelsSym];
for (var key in values) levelVal > values[key] ? this[key] = noop : this[key] = isStandardLevel(key, useOnlyCustomLevelsVal) ? levelMethods[key] : genLog(values[key]);
this.emit("level-change", level, levelVal, labels[preLevelVal], preLevelVal)
},
isLevelEnabled: function isLevelEnabled(logLevel) {
const {
values
} = this.levels, logLevelVal = values[logLevel];
return void 0 !== logLevelVal && logLevelVal >= this[levelValSym]
},
mappings: function mappings(customLevels = null, useOnlyCustomLevels = !1) {
const customNums = customLevels ? Object.keys(customLevels).reduce((o, k) => (o[customLevels[k]] = k, o), {}) : null;
return {
labels: Object.assign(Object.create(Object.prototype, {
Infinity: {
value: "silent"
}
}), useOnlyCustomLevels ? null : nums, customNums),
values: Object.assign(Object.create(Object.prototype, {
silent: {
value: 1 / 0
}
}), useOnlyCustomLevels ? null : levels, customLevels)
}
},
assertNoLevelCollisions: function assertNoLevelCollisions(levels, customLevels) {
const {
labels,
values
} = levels;
for (const k in customLevels) {
if (k in values) throw Error("levels cannot be overridden");
if (customLevels[k] in labels) throw Error("pre-existing level values cannot be used for new levels")
}
},
assertDefaultLevelFound: function assertDefaultLevelFound(defaultLevel, customLevels, useOnlyCustomLevels) {
if ("number" == typeof defaultLevel) {
if (![].concat(Object.keys(customLevels || {}).map(key => customLevels[key]), useOnlyCustomLevels ? [] : Object.keys(nums).map(level => +level), 1 / 0).includes(defaultLevel)) throw Error(`default level:${defaultLevel} must be included in custom levels`);
return
}
if (!(defaultLevel in Object.assign(Object.create(Object.prototype, {
silent: {
value: 1 / 0
}
}), useOnlyCustomLevels ? null : levels, customLevels))) throw Error(`default level:${defaultLevel} must be included in custom levels`)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const {
version
} = __webpack_require__(455);
module.exports = {
version,
LOG_VERSION: 1
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40),
_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22),
_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29),
stringTag = "[object String]";
__webpack_exports__.default = function isString(value) {
return "string" == typeof value || !Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__.a)(value) && Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__.a)(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__.a)(value) == stringTag
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.default = function validateAction(action) {
if (!(0, _fluxStandardAction.isFSA)(action)) return log("WARNING! Action not FSA-compliant", action), !1;
return !0
};
var _fluxStandardAction = __webpack_require__(462);
var log = (0, function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}(__webpack_require__(273)).default)("electron-redux:validateAction")
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
exports.ALIASED = "ALIASED"
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var aliases = {};
exports.default = {
get: function get(key) {
return aliases[key]
},
set: function set(key, value) {
aliases[key] = value
}
}
}, function(module, exports) {}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.d(__webpack_exports__, "b", function() {
return updateSettings
}), __webpack_require__.d(__webpack_exports__, "a", function() {
return reduce
});
var lodash_es__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(611),
lodash_es__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(609),
redux_act__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7),
redux_persist_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(137),
_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1),
_browser_local_storage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57),
_utils_url_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24),
_get_default_settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(176);
const updateSettings = Object(redux_act__WEBPACK_IMPORTED_MODULE_2__.createAction)(_actions__WEBPACK_IMPORTED_MODULE_4__.i.UPDATE_SETTINGS),
DISALLOWED_SETTINGS_LINK_KEYS = ["whitelistedUrlSchemes", "PrefSSBFileDownloadPath", "isSignedIntoSlackOrg", "defaultSigninTeam", "isOpenExternalShellForced"];
function reduce(settings = Object(_get_default_settings__WEBPACK_IMPORTED_MODULE_7__.a)(_browser_local_storage__WEBPACK_IMPORTED_MODULE_5__.a), action) {
switch (action.type) {
case _actions__WEBPACK_IMPORTED_MODULE_4__.i.UPDATE_SETTINGS:
return function mergeSettings(settings, update) {
return Object(lodash_es__WEBPACK_IMPORTED_MODULE_1__.a)({
...settings
}, update)
}(settings, function ensureSettingsCompatibility(settings, update) {
return update;
if (!1 === update.useHwAcceleration) {
const notificationMethod = update.notificationMethod || settings.notificationMethod;
if ("html" === notificationMethod) return {
...update,
notificationMethod: null
}
}
return update
}(settings, action.payload));
case _actions__WEBPACK_IMPORTED_MODULE_4__.i.ZOOM_IN:
return changeWindowZoom(settings, 1);
case _actions__WEBPACK_IMPORTED_MODULE_4__.i.ZOOM_OUT:
return changeWindowZoom(settings, -1);
case _actions__WEBPACK_IMPORTED_MODULE_4__.i.RESET_ZOOM:
return changeWindowZoom(settings, -(settings.zoomLevel || 0));
case _actions__WEBPACK_IMPORTED_MODULE_4__.i.WHITELIST_PROTOCOL:
return function whitelistProtocol(settings, protocol) {
return {
...settings,
whitelistedUrlSchemes: [...settings.whitelistedUrlSchemes, protocol]
}
}(settings, action.payload);
case _actions__WEBPACK_IMPORTED_MODULE_4__.d.HANDLE_SETTINGS_LINK:
return function handleSettingsLink(settings, linkURL) {
try {
const query = Object(_utils_url_utils__WEBPACK_IMPORTED_MODULE_6__.i)(linkURL),
update = JSON.parse(query);
return {
...settings,
...Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(update, DISALLOWED_SETTINGS_LINK_KEYS)
}
} catch (error) {
return settings
}
}(settings, action.payload.url);
case redux_persist_constants__WEBPACK_IMPORTED_MODULE_3__.REHYDRATE:
return function importPersistedState(settings, persistedState) {
const {
windowFrame
} = persistedState, mainWindowSettings = windowFrame ? function importFromWindowFrame(settings, windowFrame) {
if (!windowFrame.windowSettings) return settings.mainWindowSettings;
const [x, y] = windowFrame.windowSettings.position || [void 0, void 0], [width, height] = windowFrame.windowSettings.size || [void 0, void 0];
if (void 0 === x || void 0 === y || void 0 === width || void 0 === height) return settings.mainWindowSettings;
return {
maximized: windowFrame.windowSettings.isMaximized,
fullScreen: windowFrame.isFullScreen,
bounds: {
x,
y,
width,
height
}
}
}(settings, windowFrame) : settings.mainWindowSettings;
return {
...settings,
mainWindowSettings,
...Object(lodash_es__WEBPACK_IMPORTED_MODULE_0__.a)(persistedState.settings, DEPRECATED_SETTINGS_KEYS)
}
}(settings, action.payload);
default:
return settings
}
}
function changeWindowZoom(settings, change) {
const zoomLevel = Math.min(Math.max((settings.zoomLevel || 0) + change, -3), 3);
return {
...settings,
zoomLevel
}
}
const DEPRECATED_SETTINGS_KEYS = ["appVersion", "chromeDriver", "codename", "desktopEnvironment", "devEnv", "hasExplainedWindowFlash", "integrationTestMode", "invokedOnStartup", "isAeroGlassEnabled", "isBeforeWin10", "isDevMode", "isGpuCompositionAvailable", "isTitleBarHidden", "isWin10", "logFile", "logLevel", "magicLogin", "name", "openDevToolsOnStart", "os", "pilot", "platform", "platformVersion", "pretendNotReallyWindows10", "protoUrl", "release", "releaseChannel", "resourcePath", "rxLogging", "secondaryTilesDisabled", "sessionId", "tsaToken", "versionName", "webappParams", "webappSrcPath", "windowFlashBehavior"]
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__(9), __webpack_require__(6)
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__(9), __webpack_require__(6)
}, function(module, exports) {
module.exports = require("rxjs/add/observable/bindCallback")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/defer")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/empty")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/forkJoin")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/from")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/fromEvent")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/fromEventPattern")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/merge")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/of")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/race")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/range")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/throw")
}, function(module, exports) {
module.exports = require("rxjs/add/observable/timer")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/bufferTime")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/catch")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/concat")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/concatMap")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/debounceTime")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/delay")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/distinctUntilChanged")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/do")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/filter")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/finally")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/first")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/groupBy")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/ignoreElements")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/let")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/map")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/mapTo")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/mergeMap")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/observeOn")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/partition")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/publish")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/reduce")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/repeat")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/retry")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/retryWhen")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/scan")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/startWith")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/switchMap")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/take")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/takeUntil")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/timeInterval")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/timeout")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/toPromise")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/windowTime")
}, function(module, exports) {
module.exports = require("rxjs/add/operator/withLatestFrom")
}, function(module, exports, __webpack_require__) {
var Stream = __webpack_require__(221);
"disable" === process.env.READABLE_STREAM && Stream ? (module.exports = Stream, (exports = module.exports = Stream.Readable).Readable = Stream.Readable, exports.Writable = Stream.Writable, exports.Duplex = Stream.Duplex, exports.Transform = Stream.Transform, exports.PassThrough = Stream.PassThrough, exports.Stream = Stream) : ((exports = module.exports = __webpack_require__(335)).Stream = Stream || exports, exports.Readable = exports, exports.Writable = __webpack_require__(338), exports.Duplex = __webpack_require__(123), exports.Transform = __webpack_require__(340), exports.PassThrough = __webpack_require__(523))
}, function(module, exports, __webpack_require__) {
"use strict";
var pna = __webpack_require__(173);
module.exports = Readable;
var Duplex, isArray = __webpack_require__(519);
Readable.ReadableState = ReadableState;
__webpack_require__(84).EventEmitter;
var EElistenerCount = function(emitter, type) {
return emitter.listeners(type).length
},
Stream = __webpack_require__(336),
Buffer = __webpack_require__(174).Buffer,
OurUint8Array = global.Uint8Array || function() {};
var util = __webpack_require__(157);
util.inherits = __webpack_require__(158);
var debugUtil = __webpack_require__(83),
debug = void 0;
debug = debugUtil && debugUtil.debuglog ? debugUtil.debuglog("stream") : function() {};
var StringDecoder, BufferList = __webpack_require__(521),
destroyImpl = __webpack_require__(337);
util.inherits(Readable, Stream);
var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
function ReadableState(options, stream) {
options = options || {};
var isDuplex = stream instanceof(Duplex = Duplex || __webpack_require__(123));
this.objectMode = !!options.objectMode, isDuplex && (this.objectMode = this.objectMode || !!options.readableObjectMode);
var hwm = options.highWaterMark,
readableHwm = options.readableHighWaterMark,
defaultHwm = this.objectMode ? 16 : 16384;
this.highWaterMark = hwm || 0 === hwm ? hwm : isDuplex && (readableHwm || 0 === readableHwm) ? readableHwm : defaultHwm, this.highWaterMark = Math.floor(this.highWaterMark), this.buffer = new BufferList, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.destroyed = !1, this.defaultEncoding = options.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, options.encoding && (StringDecoder || (StringDecoder = __webpack_require__(339).StringDecoder), this.decoder = new StringDecoder(options.encoding), this.encoding = options.encoding)
}
function Readable(options) {
if (Duplex = Duplex || __webpack_require__(123), !(this instanceof Readable)) return new Readable(options);
this._readableState = new ReadableState(options, this), this.readable = !0, options && ("function" == typeof options.read && (this._read = options.read), "function" == typeof options.destroy && (this._destroy = options.destroy)), Stream.call(this)
}
function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
var er, state = stream._readableState;
null === chunk ? (state.reading = !1, function onEofChunk(stream, state) {
if (state.ended) return;
if (state.decoder) {
var chunk = state.decoder.end();
chunk && chunk.length && (state.buffer.push(chunk), state.length += state.objectMode ? 1 : chunk.length)
}
state.ended = !0, emitReadable(stream)
}(stream, state)) : (skipChunkCheck || (er = function chunkInvalid(state, chunk) {
var er;
(function _isUint8Array(obj) {
return Buffer.isBuffer(obj) || obj instanceof OurUint8Array
})(chunk) || "string" == typeof chunk || void 0 === chunk || state.objectMode || (er = new TypeError("Invalid non-string/buffer chunk"));
return er
}(state, chunk)), er ? stream.emit("error", er) : state.objectMode || chunk && chunk.length > 0 ? ("string" == typeof chunk || state.objectMode || Object.getPrototypeOf(chunk) === Buffer.prototype || (chunk = function _uint8ArrayToBuffer(chunk) {
return Buffer.from(chunk)
}(chunk)), addToFront ? state.endEmitted ? stream.emit("error", new Error("stream.unshift() after end event")) : addChunk(stream, state, chunk, !0) : state.ended ? stream.emit("error", new Error("stream.push() after EOF")) : (state.reading = !1, state.decoder && !encoding ? (chunk = state.decoder.write(chunk), state.objectMode || 0 !== chunk.length ? addChunk(stream, state, chunk, !1) : maybeReadMore(stream, state)) : addChunk(stream, state, chunk, !1))) : addToFront || (state.reading = !1));
return function needMoreData(state) {
return !state.ended && (state.needReadable || state.length < state.highWaterMark || 0 === state.length)
}(state)
}
function addChunk(stream, state, chunk, addToFront) {
state.flowing && 0 === state.length && !state.sync ? (stream.emit("data", chunk), stream.read(0)) : (state.length += state.objectMode ? 1 : chunk.length, addToFront ? state.buffer.unshift(chunk) : state.buffer.push(chunk), state.needReadable && emitReadable(stream)), maybeReadMore(stream, state)
}
Object.defineProperty(Readable.prototype, "destroyed", {
get: function() {
return void 0 !== this._readableState && this._readableState.destroyed
},
set: function(value) {
this._readableState && (this._readableState.destroyed = value)
}
}), Readable.prototype.destroy = destroyImpl.destroy, Readable.prototype._undestroy = destroyImpl.undestroy, Readable.prototype._destroy = function(err, cb) {
this.push(null), cb(err)
}, Readable.prototype.push = function(chunk, encoding) {
var skipChunkCheck, state = this._readableState;
return state.objectMode ? skipChunkCheck = !0 : "string" == typeof chunk && ((encoding = encoding || state.defaultEncoding) !== state.encoding && (chunk = Buffer.from(chunk, encoding), encoding = ""), skipChunkCheck = !0), readableAddChunk(this, chunk, encoding, !1, skipChunkCheck)
}, Readable.prototype.unshift = function(chunk) {
return readableAddChunk(this, chunk, null, !0, !1)
}, Readable.prototype.isPaused = function() {
return !1 === this._readableState.flowing
}, Readable.prototype.setEncoding = function(enc) {
return StringDecoder || (StringDecoder = __webpack_require__(339).StringDecoder), this._readableState.decoder = new StringDecoder(enc), this._readableState.encoding = enc, this
};
var MAX_HWM = 8388608;
function howMuchToRead(n, state) {
return n <= 0 || 0 === state.length && state.ended ? 0 : state.objectMode ? 1 : n != n ? state.flowing && state.length ? state.buffer.head.data.length : state.length : (n > state.highWaterMark && (state.highWaterMark = function computeNewHighWaterMark(n) {
return n >= MAX_HWM ? n = MAX_HWM : (n--, n |= n >>> 1, n |= n >>> 2, n |= n >>> 4, n |= n >>> 8, n |= n >>> 16, n++), n
}(n)), n <= state.length ? n : state.ended ? state.length : (state.needReadable = !0, 0))
}
function emitReadable(stream) {
var state = stream._readableState;
state.needReadable = !1, state.emittedReadable || (debug("emitReadable", state.flowing), state.emittedReadable = !0, state.sync ? pna.nextTick(emitReadable_, stream) : emitReadable_(stream))
}
function emitReadable_(stream) {
debug("emit readable"), stream.emit("readable"), flow(stream)
}
function maybeReadMore(stream, state) {
state.readingMore || (state.readingMore = !0, pna.nextTick(maybeReadMore_, stream, state))
}
function maybeReadMore_(stream, state) {
for (var len = state.length; !state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark && (debug("maybeReadMore read 0"), stream.read(0), len !== state.length);) len = state.length;
state.readingMore = !1
}
function nReadingNextTick(self) {
debug("readable nexttick read 0"), self.read(0)
}
function resume_(stream, state) {
state.reading || (debug("resume read 0"), stream.read(0)), state.resumeScheduled = !1, state.awaitDrain = 0, stream.emit("resume"), flow(stream), state.flowing && !state.reading && stream.read(0)
}
function flow(stream) {
var state = stream._readableState;
for (debug("flow", state.flowing); state.flowing && null !== stream.read(););
}
function fromList(n, state) {
return 0 === state.length ? null : (state.objectMode ? ret = state.buffer.shift() : !n || n >= state.length ? (ret = state.decoder ? state.buffer.join("") : 1 === state.buffer.length ? state.buffer.head.data : state.buffer.concat(state.length), state.buffer.clear()) : ret = function fromListPartial(n, list, hasStrings) {
var ret;
n < list.head.data.length ? (ret = list.head.data.slice(0, n), list.head.data = list.head.data.slice(n)) : ret = n === list.head.data.length ? list.shift() : hasStrings ? function copyFromBufferString(n, list) {
var p = list.head,
c = 1,
ret = p.data;
n -= ret.length;
for (; p = p.next;) {
var str = p.data,
nb = n > str.length ? str.length : n;
if (nb === str.length ? ret += str : ret += str.slice(0, n), 0 === (n -= nb)) {
nb === str.length ? (++c, p.next ? list.head = p.next : list.head = list.tail = null) : (list.head = p, p.data = str.slice(nb));
break
}++c
}
return list.length -= c, ret
}(n, list) : function copyFromBuffer(n, list) {
var ret = Buffer.allocUnsafe(n),
p = list.head,
c = 1;
p.data.copy(ret), n -= p.data.length;
for (; p = p.next;) {
var buf = p.data,
nb = n > buf.length ? buf.length : n;
if (buf.copy(ret, ret.length - n, 0, nb), 0 === (n -= nb)) {
nb === buf.length ? (++c, p.next ? list.head = p.next : list.head = list.tail = null) : (list.head = p, p.data = buf.slice(nb));
break
}++c
}
return list.length -= c, ret
}(n, list);
return ret
}(n, state.buffer, state.decoder), ret);
var ret
}
function endReadable(stream) {
var state = stream._readableState;
if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
state.endEmitted || (state.ended = !0, pna.nextTick(endReadableNT, state, stream))
}
function endReadableNT(state, stream) {
state.endEmitted || 0 !== state.length || (state.endEmitted = !0, stream.readable = !1, stream.emit("end"))
}
function indexOf(xs, x) {
for (var i = 0, l = xs.length; i < l; i++)
if (xs[i] === x) return i;
return -1
}
Readable.prototype.read = function(n) {
debug("read", n), n = parseInt(n, 10);
var state = this._readableState,
nOrig = n;
if (0 !== n && (state.emittedReadable = !1), 0 === n && state.needReadable && (state.length >= state.highWaterMark || state.ended)) return debug("read: emitReadable", state.length, state.ended), 0 === state.length && state.ended ? endReadable(this) : emitReadable(this), null;
if (0 === (n = howMuchToRead(n, state)) && state.ended) return 0 === state.length && endReadable(this), null;
var ret, doRead = state.needReadable;
return debug("need readable", doRead), (0 === state.length || state.length - n < state.highWaterMark) && debug("length less than watermark", doRead = !0), state.ended || state.reading ? debug("reading or ended", doRead = !1) : doRead && (debug("do read"), state.reading = !0, state.sync = !0, 0 === state.length && (state.needReadable = !0), this._read(state.highWaterMark), state.sync = !1, state.reading || (n = howMuchToRead(nOrig, state))), null === (ret = n > 0 ? fromList(n, state) : null) ? (state.needReadable = !0, n = 0) : state.length -= n, 0 === state.length && (state.ended || (state.needReadable = !0), nOrig !== n && state.ended && endReadable(this)), null !== ret && this.emit("data", ret), ret
}, Readable.prototype._read = function(n) {
this.emit("error", new Error("_read() is not implemented"))
}, Readable.prototype.pipe = function(dest, pipeOpts) {
var src = this,
state = this._readableState;
switch (state.pipesCount) {
case 0:
state.pipes = dest;
break;
case 1:
state.pipes = [state.pipes, dest];
break;
default:
state.pipes.push(dest)
}
state.pipesCount += 1, debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
var endFn = (!pipeOpts || !1 !== pipeOpts.end) && dest !== process.stdout && dest !== process.stderr ? onend : unpipe;
function onunpipe(readable, unpipeInfo) {
debug("onunpipe"), readable === src && unpipeInfo && !1 === unpipeInfo.hasUnpiped && (unpipeInfo.hasUnpiped = !0, function cleanup() {
debug("cleanup"), dest.removeListener("close", onclose), dest.removeListener("finish", onfinish), dest.removeListener("drain", ondrain), dest.removeListener("error", onerror), dest.removeListener("unpipe", onunpipe), src.removeListener("end", onend), src.removeListener("end", unpipe), src.removeListener("data", ondata), cleanedUp = !0, !state.awaitDrain || dest._writableState && !dest._writableState.needDrain || ondrain()
}())
}
function onend() {
debug("onend"), dest.end()
}
state.endEmitted ? pna.nextTick(endFn) : src.once("end", endFn), dest.on("unpipe", onunpipe);
var ondrain = function pipeOnDrain(src) {
return function() {
var state = src._readableState;
debug("pipeOnDrain", state.awaitDrain), state.awaitDrain && state.awaitDrain--, 0 === state.awaitDrain && EElistenerCount(src, "data") && (state.flowing = !0, flow(src))
}
}(src);
dest.on("drain", ondrain);
var cleanedUp = !1;
var increasedAwaitDrain = !1;
function ondata(chunk) {
debug("ondata"), increasedAwaitDrain = !1, !1 !== dest.write(chunk) || increasedAwaitDrain || ((1 === state.pipesCount && state.pipes === dest || state.pipesCount > 1 && -1 !== indexOf(state.pipes, dest)) && !cleanedUp && (debug("false write response, pause", src._readableState.awaitDrain), src._readableState.awaitDrain++, increasedAwaitDrain = !0), src.pause())
}
function onerror(er) {
debug("onerror", er), unpipe(), dest.removeListener("error", onerror), 0 === EElistenerCount(dest, "error") && dest.emit("error", er)
}
function onclose() {
dest.removeListener("finish", onfinish), unpipe()
}
function onfinish() {
debug("onfinish"), dest.removeListener("close", onclose), unpipe()
}
function unpipe() {
debug("unpipe"), src.unpipe(dest)
}
return src.on("data", ondata),
function prependListener(emitter, event, fn) {
if ("function" == typeof emitter.prependListener) return emitter.prependListener(event, fn);
emitter._events && emitter._events[event] ? isArray(emitter._events[event]) ? emitter._events[event].unshift(fn) : emitter._events[event] = [fn, emitter._events[event]] : emitter.on(event, fn)
}(dest, "error", onerror), dest.once("close", onclose), dest.once("finish", onfinish), dest.emit("pipe", src), state.flowing || (debug("pipe resume"), src.resume()), dest
}, Readable.prototype.unpipe = function(dest) {
var state = this._readableState,
unpipeInfo = {
hasUnpiped: !1
};
if (0 === state.pipesCount) return this;
if (1 === state.pipesCount) return dest && dest !== state.pipes ? this : (dest || (dest = state.pipes), state.pipes = null, state.pipesCount = 0, state.flowing = !1, dest && dest.emit("unpipe", this, unpipeInfo), this);
if (!dest) {
var dests = state.pipes,
len = state.pipesCount;
state.pipes = null, state.pipesCount = 0, state.flowing = !1;
for (var i = 0; i < len; i++) dests[i].emit("unpipe", this, unpipeInfo);
return this
}
var index = indexOf(state.pipes, dest);
return -1 === index ? this : (state.pipes.splice(index, 1), state.pipesCount -= 1, 1 === state.pipesCount && (state.pipes = state.pipes[0]), dest.emit("unpipe", this, unpipeInfo), this)
}, Readable.prototype.on = function(ev, fn) {
var res = Stream.prototype.on.call(this, ev, fn);
if ("data" === ev) !1 !== this._readableState.flowing && this.resume();
else if ("readable" === ev) {
var state = this._readableState;
state.endEmitted || state.readableListening || (state.readableListening = state.needReadable = !0, state.emittedReadable = !1, state.reading ? state.length && emitReadable(this) : pna.nextTick(nReadingNextTick, this))
}
return res
}, Readable.prototype.addListener = Readable.prototype.on, Readable.prototype.resume = function() {
var state = this._readableState;
return state.flowing || (debug("resume"), state.flowing = !0, function resume(stream, state) {
state.resumeScheduled || (state.resumeScheduled = !0, pna.nextTick(resume_, stream, state))
}(this, state)), this
}, Readable.prototype.pause = function() {
return debug("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (debug("pause"), this._readableState.flowing = !1, this.emit("pause")), this
}, Readable.prototype.wrap = function(stream) {
var _this = this,
state = this._readableState,
paused = !1;
for (var i in stream.on("end", function() {
if (debug("wrapped end"), state.decoder && !state.ended) {
var chunk = state.decoder.end();
chunk && chunk.length && _this.push(chunk)
}
_this.push(null)
}), stream.on("data", function(chunk) {
(debug("wrapped data"), state.decoder && (chunk = state.decoder.write(chunk)), state.objectMode && null == chunk) || (state.objectMode || chunk && chunk.length) && (_this.push(chunk) || (paused = !0, stream.pause()))
}), stream) void 0 === this[i] && "function" == typeof stream[i] && (this[i] = function(method) {
return function() {
return stream[method].apply(stream, arguments)
}
}(i));
for (var n = 0; n < kProxyEvents.length; n++) stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
return this._read = function(n) {
debug("wrapped _read", n), paused && (paused = !1, stream.resume())
}, this
}, Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
enumerable: !1,
get: function() {
return this._readableState.highWaterMark
}
}), Readable._fromList = fromList
}, function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(221)
}, function(module, exports, __webpack_require__) {
"use strict";
var pna = __webpack_require__(173);
function emitErrorNT(self, err) {
self.emit("error", err)
}
module.exports = {
destroy: function destroy(err, cb) {
var _this = this,
readableDestroyed = this._readableState && this._readableState.destroyed,
writableDestroyed = this._writableState && this._writableState.destroyed;
return readableDestroyed || writableDestroyed ? (cb ? cb(err) : !err || this._writableState && this._writableState.errorEmitted || pna.nextTick(emitErrorNT, this, err), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(err || null, function(err) {
!cb && err ? (pna.nextTick(emitErrorNT, _this, err), _this._writableState && (_this._writableState.errorEmitted = !0)) : cb && cb(err)
}), this)
},
undestroy: function undestroy() {
this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
var pna = __webpack_require__(173);
function CorkedRequest(state) {
var _this = this;
this.next = null, this.entry = null, this.finish = function() {
! function onCorkedFinish(corkReq, state, err) {
var entry = corkReq.entry;
corkReq.entry = null;
for (; entry;) {
var cb = entry.callback;
state.pendingcb--, cb(err), entry = entry.next
}
state.corkedRequestsFree ? state.corkedRequestsFree.next = corkReq : state.corkedRequestsFree = corkReq
}(_this, state)
}
}
module.exports = Writable;
var Duplex, asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
Writable.WritableState = WritableState;
var util = __webpack_require__(157);
util.inherits = __webpack_require__(158);
var internalUtil = {
deprecate: __webpack_require__(522)
},
Stream = __webpack_require__(336),
Buffer = __webpack_require__(174).Buffer,
OurUint8Array = global.Uint8Array || function() {};
var realHasInstance, destroyImpl = __webpack_require__(337);
function nop() {}
function WritableState(options, stream) {
Duplex = Duplex || __webpack_require__(123), options = options || {};
var isDuplex = stream instanceof Duplex;
this.objectMode = !!options.objectMode, isDuplex && (this.objectMode = this.objectMode || !!options.writableObjectMode);
var hwm = options.highWaterMark,
writableHwm = options.writableHighWaterMark,
defaultHwm = this.objectMode ? 16 : 16384;
this.highWaterMark = hwm || 0 === hwm ? hwm : isDuplex && (writableHwm || 0 === writableHwm) ? writableHwm : defaultHwm, this.highWaterMark = Math.floor(this.highWaterMark), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;
var noDecode = !1 === options.decodeStrings;
this.decodeStrings = !noDecode, this.defaultEncoding = options.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function(er) {
! function onwrite(stream, er) {
var state = stream._writableState,
sync = state.sync,
cb = state.writecb;
if (function onwriteStateUpdate(state) {
state.writing = !1, state.writecb = null, state.length -= state.writelen, state.writelen = 0
}(state), er) ! function onwriteError(stream, state, sync, er, cb) {
--state.pendingcb, sync ? (pna.nextTick(cb, er), pna.nextTick(finishMaybe, stream, state), stream._writableState.errorEmitted = !0, stream.emit("error", er)) : (cb(er), stream._writableState.errorEmitted = !0, stream.emit("error", er), finishMaybe(stream, state))
}(stream, state, sync, er, cb);
else {
var finished = needFinish(state);
finished || state.corked || state.bufferProcessing || !state.bufferedRequest || clearBuffer(stream, state), sync ? asyncWrite(afterWrite, stream, state, finished, cb) : afterWrite(stream, state, finished, cb)
}
}(stream, er)
}, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new CorkedRequest(this)
}
function Writable(options) {
if (Duplex = Duplex || __webpack_require__(123), !(realHasInstance.call(Writable, this) || this instanceof Duplex)) return new Writable(options);
this._writableState = new WritableState(options, this), this.writable = !0, options && ("function" == typeof options.write && (this._write = options.write), "function" == typeof options.writev && (this._writev = options.writev), "function" == typeof options.destroy && (this._destroy = options.destroy), "function" == typeof options.final && (this._final = options.final)), Stream.call(this)
}
function doWrite(stream, state, writev, len, chunk, encoding, cb) {
state.writelen = len, state.writecb = cb, state.writing = !0, state.sync = !0, writev ? stream._writev(chunk, state.onwrite) : stream._write(chunk, encoding, state.onwrite), state.sync = !1
}
function afterWrite(stream, state, finished, cb) {
finished || function onwriteDrain(stream, state) {
0 === state.length && state.needDrain && (state.needDrain = !1, stream.emit("drain"))
}(stream, state), state.pendingcb--, cb(), finishMaybe(stream, state)
}
function clearBuffer(stream, state) {
state.bufferProcessing = !0;
var entry = state.bufferedRequest;
if (stream._writev && entry && entry.next) {
var l = state.bufferedRequestCount,
buffer = new Array(l),
holder = state.corkedRequestsFree;
holder.entry = entry;
for (var count = 0, allBuffers = !0; entry;) buffer[count] = entry, entry.isBuf || (allBuffers = !1), entry = entry.next, count += 1;
buffer.allBuffers = allBuffers, doWrite(stream, state, !0, state.length, buffer, "", holder.finish), state.pendingcb++, state.lastBufferedRequest = null, holder.next ? (state.corkedRequestsFree = holder.next, holder.next = null) : state.corkedRequestsFree = new CorkedRequest(state), state.bufferedRequestCount = 0
} else {
for (; entry;) {
var chunk = entry.chunk,
encoding = entry.encoding,
cb = entry.callback;
if (doWrite(stream, state, !1, state.objectMode ? 1 : chunk.length, chunk, encoding, cb), entry = entry.next, state.bufferedRequestCount--, state.writing) break
}
null === entry && (state.lastBufferedRequest = null)
}
state.bufferedRequest = entry, state.bufferProcessing = !1
}
function needFinish(state) {
return state.ending && 0 === state.length && null === state.bufferedRequest && !state.finished && !state.writing
}
function callFinal(stream, state) {
stream._final(function(err) {
state.pendingcb--, err && stream.emit("error", err), state.prefinished = !0, stream.emit("prefinish"), finishMaybe(stream, state)
})
}
function finishMaybe(stream, state) {
var need = needFinish(state);
return need && (! function prefinish(stream, state) {
state.prefinished || state.finalCalled || ("function" == typeof stream._final ? (state.pendingcb++, state.finalCalled = !0, pna.nextTick(callFinal, stream, state)) : (state.prefinished = !0, stream.emit("prefinish")))
}(stream, state), 0 === state.pendingcb && (state.finished = !0, stream.emit("finish"))), need
}
util.inherits(Writable, Stream), WritableState.prototype.getBuffer = function getBuffer() {
for (var current = this.bufferedRequest, out = []; current;) out.push(current), current = current.next;
return out
},
function() {
try {
Object.defineProperty(WritableState.prototype, "buffer", {
get: internalUtil.deprecate(function() {
return this.getBuffer()
}, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
})
} catch (_) {}
}(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (realHasInstance = Function.prototype[Symbol.hasInstance], Object.defineProperty(Writable, Symbol.hasInstance, {
value: function(object) {
return !!realHasInstance.call(this, object) || this === Writable && (object && object._writableState instanceof WritableState)
}
})) : realHasInstance = function(object) {
return object instanceof this
}, Writable.prototype.pipe = function() {
this.emit("error", new Error("Cannot pipe, not readable"))
}, Writable.prototype.write = function(chunk, encoding, cb) {
var state = this._writableState,
ret = !1,
isBuf = !state.objectMode && function _isUint8Array(obj) {
return Buffer.isBuffer(obj) || obj instanceof OurUint8Array
}(chunk);
return isBuf && !Buffer.isBuffer(chunk) && (chunk = function _uint8ArrayToBuffer(chunk) {
return Buffer.from(chunk)
}(chunk)), "function" == typeof encoding && (cb = encoding, encoding = null), isBuf ? encoding = "buffer" : encoding || (encoding = state.defaultEncoding), "function" != typeof cb && (cb = nop), state.ended ? function writeAfterEnd(stream, cb) {
var er = new Error("write after end");
stream.emit("error", er), pna.nextTick(cb, er)
}(this, cb) : (isBuf || function validChunk(stream, state, chunk, cb) {
var valid = !0,
er = !1;
return null === chunk ? er = new TypeError("May not write null values to stream") : "string" == typeof chunk || void 0 === chunk || state.objectMode || (er = new TypeError("Invalid non-string/buffer chunk")), er && (stream.emit("error", er), pna.nextTick(cb, er), valid = !1), valid
}(this, state, chunk, cb)) && (state.pendingcb++, ret = function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
if (!isBuf) {
var newChunk = function decodeChunk(state, chunk, encoding) {
state.objectMode || !1 === state.decodeStrings || "string" != typeof chunk || (chunk = Buffer.from(chunk, encoding));
return chunk
}(state, chunk, encoding);
chunk !== newChunk && (isBuf = !0, encoding = "buffer", chunk = newChunk)
}
var len = state.objectMode ? 1 : chunk.length;
state.length += len;
var ret = state.length < state.highWaterMark;
ret || (state.needDrain = !0);
if (state.writing || state.corked) {
var last = state.lastBufferedRequest;
state.lastBufferedRequest = {
chunk,
encoding,
isBuf,
callback: cb,
next: null
}, last ? last.next = state.lastBufferedRequest : state.bufferedRequest = state.lastBufferedRequest, state.bufferedRequestCount += 1
} else doWrite(stream, state, !1, len, chunk, encoding, cb);
return ret
}(this, state, isBuf, chunk, encoding, cb)), ret
}, Writable.prototype.cork = function() {
this._writableState.corked++
}, Writable.prototype.uncork = function() {
var state = this._writableState;
state.corked && (state.corked--, state.writing || state.corked || state.finished || state.bufferProcessing || !state.bufferedRequest || clearBuffer(this, state))
}, Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
if ("string" == typeof encoding && (encoding = encoding.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
return this._writableState.defaultEncoding = encoding, this
}, Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
enumerable: !1,
get: function() {
return this._writableState.highWaterMark
}
}), Writable.prototype._write = function(chunk, encoding, cb) {
cb(new Error("_write() is not implemented"))
}, Writable.prototype._writev = null, Writable.prototype.end = function(chunk, encoding, cb) {
var state = this._writableState;
"function" == typeof chunk ? (cb = chunk, chunk = null, encoding = null) : "function" == typeof encoding && (cb = encoding, encoding = null), null != chunk && this.write(chunk, encoding), state.corked && (state.corked = 1, this.uncork()), state.ending || state.finished || function endWritable(stream, state, cb) {
state.ending = !0, finishMaybe(stream, state), cb && (state.finished ? pna.nextTick(cb) : stream.once("finish", cb));
state.ended = !0, stream.writable = !1
}(this, state, cb)
}, Object.defineProperty(Writable.prototype, "destroyed", {
get: function() {
return void 0 !== this._writableState && this._writableState.destroyed
},
set: function(value) {
this._writableState && (this._writableState.destroyed = value)
}
}), Writable.prototype.destroy = destroyImpl.destroy, Writable.prototype._undestroy = destroyImpl.undestroy, Writable.prototype._destroy = function(err, cb) {
this.end(), cb(err)
}
}, function(module, exports, __webpack_require__) {
"use strict";
var Buffer = __webpack_require__(174).Buffer,
isEncoding = Buffer.isEncoding || function(encoding) {
switch ((encoding = "" + encoding) && encoding.toLowerCase()) {
case "hex":
case "utf8":
case "utf-8":
case "ascii":
case "binary":
case "base64":
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
case "raw":
return !0;
default:
return !1
}
};
function StringDecoder(encoding) {
var nb;
switch (this.encoding = function normalizeEncoding(enc) {
var nenc = function _normalizeEncoding(enc) {
if (!enc) return "utf8";
for (var retried;;) switch (enc) {
case "utf8":
case "utf-8":
return "utf8";
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return "utf16le";
case "latin1":
case "binary":
return "latin1";
case "base64":
case "ascii":
case "hex":
return enc;
default:
if (retried) return;
enc = ("" + enc).toLowerCase(), retried = !0
}
}(enc);
if ("string" != typeof nenc && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
return nenc || enc
}(encoding), this.encoding) {
case "utf16le":
this.text = utf16Text, this.end = utf16End, nb = 4;
break;
case "utf8":
this.fillLast = utf8FillLast, nb = 4;
break;
case "base64":
this.text = base64Text, this.end = base64End, nb = 3;
break;
default:
return this.write = simpleWrite, void(this.end = simpleEnd)
}
this.lastNeed = 0, this.lastTotal = 0, this.lastChar = Buffer.allocUnsafe(nb)
}
function utf8CheckByte(byte) {
return byte <= 127 ? 0 : byte >> 5 == 6 ? 2 : byte >> 4 == 14 ? 3 : byte >> 3 == 30 ? 4 : byte >> 6 == 2 ? -1 : -2
}
function utf8FillLast(buf) {
var p = this.lastTotal - this.lastNeed,
r = function utf8CheckExtraBytes(self, buf, p) {
if (128 != (192 & buf[0])) return self.lastNeed = 0, "�";
if (self.lastNeed > 1 && buf.length > 1) {
if (128 != (192 & buf[1])) return self.lastNeed = 1, "�";
if (self.lastNeed > 2 && buf.length > 2 && 128 != (192 & buf[2])) return self.lastNeed = 2, "�"
}
}(this, buf);
return void 0 !== r ? r : this.lastNeed <= buf.length ? (buf.copy(this.lastChar, p, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (buf.copy(this.lastChar, p, 0, buf.length), void(this.lastNeed -= buf.length))
}
function utf16Text(buf, i) {
if ((buf.length - i) % 2 == 0) {
var r = buf.toString("utf16le", i);
if (r) {
var c = r.charCodeAt(r.length - 1);
if (c >= 55296 && c <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = buf[buf.length - 2], this.lastChar[1] = buf[buf.length - 1], r.slice(0, -1)
}
return r
}
return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = buf[buf.length - 1], buf.toString("utf16le", i, buf.length - 1)
}
function utf16End(buf) {
var r = buf && buf.length ? this.write(buf) : "";
if (this.lastNeed) {
var end = this.lastTotal - this.lastNeed;
return r + this.lastChar.toString("utf16le", 0, end)
}
return r
}
function base64Text(buf, i) {
var n = (buf.length - i) % 3;
return 0 === n ? buf.toString("base64", i) : (this.lastNeed = 3 - n, this.lastTotal = 3, 1 === n ? this.lastChar[0] = buf[buf.length - 1] : (this.lastChar[0] = buf[buf.length - 2], this.lastChar[1] = buf[buf.length - 1]), buf.toString("base64", i, buf.length - n))
}
function base64End(buf) {
var r = buf && buf.length ? this.write(buf) : "";
return this.lastNeed ? r + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : r
}
function simpleWrite(buf) {
return buf.toString(this.encoding)
}
function simpleEnd(buf) {
return buf && buf.length ? this.write(buf) : ""
}
exports.StringDecoder = StringDecoder, StringDecoder.prototype.write = function(buf) {
if (0 === buf.length) return "";
var r, i;
if (this.lastNeed) {
if (void 0 === (r = this.fillLast(buf))) return "";
i = this.lastNeed, this.lastNeed = 0
} else i = 0;
return i < buf.length ? r ? r + this.text(buf, i) : this.text(buf, i) : r || ""
}, StringDecoder.prototype.end = function utf8End(buf) {
var r = buf && buf.length ? this.write(buf) : "";
return this.lastNeed ? r + "�" : r
}, StringDecoder.prototype.text = function utf8Text(buf, i) {
var total = function utf8CheckIncomplete(self, buf, i) {
var j = buf.length - 1;
if (j < i) return 0;
var nb = utf8CheckByte(buf[j]);
if (nb >= 0) return nb > 0 && (self.lastNeed = nb - 1), nb;
if (--j < i || -2 === nb) return 0;
if ((nb = utf8CheckByte(buf[j])) >= 0) return nb > 0 && (self.lastNeed = nb - 2), nb;
if (--j < i || -2 === nb) return 0;
if ((nb = utf8CheckByte(buf[j])) >= 0) return nb > 0 && (2 === nb ? nb = 0 : self.lastNeed = nb - 3), nb;
return 0
}(this, buf, i);
if (!this.lastNeed) return buf.toString("utf8", i);
this.lastTotal = total;
var end = buf.length - (total - this.lastNeed);
return buf.copy(this.lastChar, 0, end), buf.toString("utf8", i, end)
}, StringDecoder.prototype.fillLast = function(buf) {
if (this.lastNeed <= buf.length) return buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);
buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length), this.lastNeed -= buf.length
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = Transform;
var Duplex = __webpack_require__(123),
util = __webpack_require__(157);
function afterTransform(er, data) {
var ts = this._transformState;
ts.transforming = !1;
var cb = ts.writecb;
if (!cb) return this.emit("error", new Error("write callback called multiple times"));
ts.writechunk = null, ts.writecb = null, null != data && this.push(data), cb(er);
var rs = this._readableState;
rs.reading = !1, (rs.needReadable || rs.length < rs.highWaterMark) && this._read(rs.highWaterMark)
}
function Transform(options) {
if (!(this instanceof Transform)) return new Transform(options);
Duplex.call(this, options), this._transformState = {
afterTransform: afterTransform.bind(this),
needTransform: !1,
transforming: !1,
writecb: null,
writechunk: null,
writeencoding: null
}, this._readableState.needReadable = !0, this._readableState.sync = !1, options && ("function" == typeof options.transform && (this._transform = options.transform), "function" == typeof options.flush && (this._flush = options.flush)), this.on("prefinish", prefinish)
}
function prefinish() {
var _this = this;
"function" == typeof this._flush ? this._flush(function(er, data) {
done(_this, er, data)
}) : done(this, null, null)
}
function done(stream, er, data) {
if (er) return stream.emit("error", er);
if (null != data && stream.push(data), stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
return stream.push(null)
}
util.inherits = __webpack_require__(158), util.inherits(Transform, Duplex), Transform.prototype.push = function(chunk, encoding) {
return this._transformState.needTransform = !1, Duplex.prototype.push.call(this, chunk, encoding)
}, Transform.prototype._transform = function(chunk, encoding, cb) {
throw new Error("_transform() is not implemented")
}, Transform.prototype._write = function(chunk, encoding, cb) {
var ts = this._transformState;
if (ts.writecb = cb, ts.writechunk = chunk, ts.writeencoding = encoding, !ts.transforming) {
var rs = this._readableState;
(ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) && this._read(rs.highWaterMark)
}
}, Transform.prototype._read = function(n) {
var ts = this._transformState;
null !== ts.writechunk && ts.writecb && !ts.transforming ? (ts.transforming = !0, this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform)) : ts.needTransform = !0
}, Transform.prototype._destroy = function(err, cb) {
var _this2 = this;
Duplex.prototype._destroy.call(this, err, function(err2) {
cb(err2), _this2.emit("close")
})
}
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28),
support = __webpack_require__(94),
_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
exports.encode = function(input) {
for (var chr1, chr2, chr3, enc1, enc2, enc3, enc4, output = [], i = 0, len = input.length, remainingBytes = len, isArray = "string" !== utils.getTypeOf(input); i < input.length;) remainingBytes = len - i, isArray ? (chr1 = input[i++], chr2 = i < len ? input[i++] : 0, chr3 = i < len ? input[i++] : 0) : (chr1 = input.charCodeAt(i++), chr2 = i < len ? input.charCodeAt(i++) : 0, chr3 = i < len ? input.charCodeAt(i++) : 0), enc1 = chr1 >> 2, enc2 = (3 & chr1) << 4 | chr2 >> 4, enc3 = remainingBytes > 1 ? (15 & chr2) << 2 | chr3 >> 6 : 64, enc4 = remainingBytes > 2 ? 63 & chr3 : 64, output.push(_keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4));
return output.join("")
}, exports.decode = function(input) {
var chr1, chr2, chr3, enc2, enc3, enc4, i = 0,
resultIndex = 0;
if ("data:" === input.substr(0, "data:".length)) throw new Error("Invalid base64 input, it looks like a data url.");
var output, totalLength = 3 * (input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "")).length / 4;
if (input.charAt(input.length - 1) === _keyStr.charAt(64) && totalLength--, input.charAt(input.length - 2) === _keyStr.charAt(64) && totalLength--, totalLength % 1 != 0) throw new Error("Invalid base64 input, bad content length.");
for (output = support.uint8array ? new Uint8Array(0 | totalLength) : new Array(0 | totalLength); i < input.length;) chr1 = _keyStr.indexOf(input.charAt(i++)) << 2 | (enc2 = _keyStr.indexOf(input.charAt(i++))) >> 4, chr2 = (15 & enc2) << 4 | (enc3 = _keyStr.indexOf(input.charAt(i++))) >> 2, chr3 = (3 & enc3) << 6 | (enc4 = _keyStr.indexOf(input.charAt(i++))), output[resultIndex++] = chr1, 64 !== enc3 && (output[resultIndex++] = chr2), 64 !== enc4 && (output[resultIndex++] = chr3);
return output
}
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28),
ConvertWorker = __webpack_require__(527),
GenericWorker = __webpack_require__(62),
base64 = __webpack_require__(341),
support = __webpack_require__(94),
external = __webpack_require__(159),
NodejsStreamOutputAdapter = null;
if (support.nodestream) try {
NodejsStreamOutputAdapter = __webpack_require__(528)
} catch (e) {}
function accumulate(helper, updateCallback) {
return new external.Promise(function(resolve, reject) {
var dataArray = [],
chunkType = helper._internalType,
resultType = helper._outputType,
mimeType = helper._mimeType;
helper.on("data", function(data, meta) {
dataArray.push(data), updateCallback && updateCallback(meta)
}).on("error", function(err) {
dataArray = [], reject(err)
}).on("end", function() {
try {
var result = function transformZipOutput(type, content, mimeType) {
switch (type) {
case "blob":
return utils.newBlob(utils.transformTo("arraybuffer", content), mimeType);
case "base64":
return base64.encode(content);
default:
return utils.transformTo(type, content)
}
}(resultType, function concat(type, dataArray) {
var i, index = 0,
res = null,
totalLength = 0;
for (i = 0; i < dataArray.length; i++) totalLength += dataArray[i].length;
switch (type) {
case "string":
return dataArray.join("");
case "array":
return Array.prototype.concat.apply([], dataArray);
case "uint8array":
for (res = new Uint8Array(totalLength), i = 0; i < dataArray.length; i++) res.set(dataArray[i], index), index += dataArray[i].length;
return res;
case "nodebuffer":
return Buffer.concat(dataArray);
default:
throw new Error("concat : unsupported type '" + type + "'")
}
}(chunkType, dataArray), mimeType);
resolve(result)
} catch (e) {
reject(e)
}
dataArray = []
}).resume()
})
}
function StreamHelper(worker, outputType, mimeType) {
var internalType = outputType;
switch (outputType) {
case "blob":
case "arraybuffer":
internalType = "uint8array";
break;
case "base64":
internalType = "string"
}
try {
this._internalType = internalType, this._outputType = outputType, this._mimeType = mimeType, utils.checkSupport(internalType), this._worker = worker.pipe(new ConvertWorker(internalType)), worker.lock()
} catch (e) {
this._worker = new GenericWorker("error"), this._worker.error(e)
}
}
StreamHelper.prototype = {
accumulate: function(updateCb) {
return accumulate(this, updateCb)
},
on: function(evt, fn) {
var self = this;
return "data" === evt ? this._worker.on(evt, function(chunk) {
fn.call(self, chunk.data, chunk.meta)
}) : this._worker.on(evt, function() {
utils.delay(fn, arguments, self)
}), this
},
resume: function() {
return utils.delay(this._worker.resume, [], this._worker), this
},
pause: function() {
return this._worker.pause(), this
},
toNodejsStream: function(updateCb) {
if (utils.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method");
return new NodejsStreamOutputAdapter(this, {
objectMode: "nodebuffer" !== this._outputType
}, updateCb)
}
}, module.exports = StreamHelper
}, function(module, exports, __webpack_require__) {
"use strict";
exports.base64 = !1, exports.binary = !1, exports.dir = !1, exports.createFolders = !0, exports.date = null, exports.compression = null, exports.compressionOptions = null, exports.comment = null, exports.unixPermissions = null, exports.dosPermissions = null
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28),
GenericWorker = __webpack_require__(62);
function DataWorker(dataP) {
GenericWorker.call(this, "DataWorker");
var self = this;
this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, dataP.then(function(data) {
self.dataIsReady = !0, self.data = data, self.max = data && data.length || 0, self.type = utils.getTypeOf(data), self.isPaused || self._tickAndRepeat()
}, function(e) {
self.error(e)
})
}
utils.inherits(DataWorker, GenericWorker), DataWorker.prototype.cleanUp = function() {
GenericWorker.prototype.cleanUp.call(this), this.data = null
}, DataWorker.prototype.resume = function() {
return !!GenericWorker.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, utils.delay(this._tickAndRepeat, [], this)), !0)
}, DataWorker.prototype._tickAndRepeat = function() {
this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (utils.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0))
}, DataWorker.prototype._tick = function() {
if (this.isPaused || this.isFinished) return !1;
var data = null,
nextIndex = Math.min(this.max, this.index + 16384);
if (this.index >= this.max) return this.end();
switch (this.type) {
case "string":
data = this.data.substring(this.index, nextIndex);
break;
case "uint8array":
data = this.data.subarray(this.index, nextIndex);
break;
case "array":
case "nodebuffer":
data = this.data.slice(this.index, nextIndex)
}
return this.index = nextIndex, this.push({
data,
meta: {
percent: this.max ? this.index / this.max * 100 : 0
}
})
}, module.exports = DataWorker
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28),
GenericWorker = __webpack_require__(62);
function DataLengthProbe(propName) {
GenericWorker.call(this, "DataLengthProbe for " + propName), this.propName = propName, this.withStreamInfo(propName, 0)
}
utils.inherits(DataLengthProbe, GenericWorker), DataLengthProbe.prototype.processChunk = function(chunk) {
if (chunk) {
var length = this.streamInfo[this.propName] || 0;
this.streamInfo[this.propName] = length + chunk.data.length
}
GenericWorker.prototype.processChunk.call(this, chunk)
}, module.exports = DataLengthProbe
}, function(module, exports, __webpack_require__) {
"use strict";
var GenericWorker = __webpack_require__(62),
crc32 = __webpack_require__(233);
function Crc32Probe() {
GenericWorker.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0)
}
__webpack_require__(28).inherits(Crc32Probe, GenericWorker), Crc32Probe.prototype.processChunk = function(chunk) {
this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0), this.push(chunk)
}, module.exports = Crc32Probe
}, function(module, exports, __webpack_require__) {
"use strict";
var GenericWorker = __webpack_require__(62);
exports.STORE = {
magic: "\0\0",
compressWorker: function(compressionOptions) {
return new GenericWorker("STORE compression")
},
uncompressWorker: function() {
return new GenericWorker("STORE decompression")
}
}, exports.DEFLATE = __webpack_require__(531)
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function adler32(adler, buf, len, pos) {
for (var s1 = 65535 & adler | 0, s2 = adler >>> 16 & 65535 | 0, n = 0; 0 !== len;) {
len -= n = len > 2e3 ? 2e3 : len;
do {
s2 = s2 + (s1 = s1 + buf[pos++] | 0) | 0
} while (--n);
s1 %= 65521, s2 %= 65521
}
return s1 | s2 << 16 | 0
}
}, function(module, exports, __webpack_require__) {
"use strict";
var crcTable = function makeTable() {
for (var c, table = [], n = 0; n < 256; n++) {
c = n;
for (var k = 0; k < 8; k++) c = 1 & c ? 3988292384 ^ c >>> 1 : c >>> 1;
table[n] = c
}
return table
}();
module.exports = function crc32(crc, buf, len, pos) {
var t = crcTable,
end = pos + len;
crc ^= -1;
for (var i = pos; i < end; i++) crc = crc >>> 8 ^ t[255 & (crc ^ buf[i])];
return -1 ^ crc
}
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(95),
STR_APPLY_OK = !0,
STR_APPLY_UIA_OK = !0;
try {
String.fromCharCode.apply(null, [0])
} catch (__) {
STR_APPLY_OK = !1
}
try {
String.fromCharCode.apply(null, new Uint8Array(1))
} catch (__) {
STR_APPLY_UIA_OK = !1
}
for (var _utf8len = new utils.Buf8(256), q = 0; q < 256; q++) _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1;
function buf2binstring(buf, len) {
if (len < 65537 && (buf.subarray && STR_APPLY_UIA_OK || !buf.subarray && STR_APPLY_OK)) return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));
for (var result = "", i = 0; i < len; i++) result += String.fromCharCode(buf[i]);
return result
}
_utf8len[254] = _utf8len[254] = 1, exports.string2buf = function(str) {
var buf, c, c2, m_pos, i, str_len = str.length,
buf_len = 0;
for (m_pos = 0; m_pos < str_len; m_pos++) 55296 == (64512 & (c = str.charCodeAt(m_pos))) && m_pos + 1 < str_len && 56320 == (64512 & (c2 = str.charCodeAt(m_pos + 1))) && (c = 65536 + (c - 55296 << 10) + (c2 - 56320), m_pos++), buf_len += c < 128 ? 1 : c < 2048 ? 2 : c < 65536 ? 3 : 4;
for (buf = new utils.Buf8(buf_len), i = 0, m_pos = 0; i < buf_len; m_pos++) 55296 == (64512 & (c = str.charCodeAt(m_pos))) && m_pos + 1 < str_len && 56320 == (64512 & (c2 = str.charCodeAt(m_pos + 1))) && (c = 65536 + (c - 55296 << 10) + (c2 - 56320), m_pos++), c < 128 ? buf[i++] = c : c < 2048 ? (buf[i++] = 192 | c >>> 6, buf[i++] = 128 | 63 & c) : c < 65536 ? (buf[i++] = 224 | c >>> 12, buf[i++] = 128 | c >>> 6 & 63, buf[i++] = 128 | 63 & c) : (buf[i++] = 240 | c >>> 18, buf[i++] = 128 | c >>> 12 & 63, buf[i++] = 128 | c >>> 6 & 63, buf[i++] = 128 | 63 & c);
return buf
}, exports.buf2binstring = function(buf) {
return buf2binstring(buf, buf.length)
}, exports.binstring2buf = function(str) {
for (var buf = new utils.Buf8(str.length), i = 0, len = buf.length; i < len; i++) buf[i] = str.charCodeAt(i);
return buf
}, exports.buf2string = function(buf, max) {
var i, out, c, c_len, len = max || buf.length,
utf16buf = new Array(2 * len);
for (out = 0, i = 0; i < len;)
if ((c = buf[i++]) < 128) utf16buf[out++] = c;
else if ((c_len = _utf8len[c]) > 4) utf16buf[out++] = 65533, i += c_len - 1;
else {
for (c &= 2 === c_len ? 31 : 3 === c_len ? 15 : 7; c_len > 1 && i < len;) c = c << 6 | 63 & buf[i++], c_len--;
c_len > 1 ? utf16buf[out++] = 65533 : c < 65536 ? utf16buf[out++] = c : (c -= 65536, utf16buf[out++] = 55296 | c >> 10 & 1023, utf16buf[out++] = 56320 | 1023 & c)
}
return buf2binstring(utf16buf, out)
}, exports.utf8border = function(buf, max) {
var pos;
for ((max = max || buf.length) > buf.length && (max = buf.length), pos = max - 1; pos >= 0 && 128 == (192 & buf[pos]);) pos--;
return pos < 0 ? max : 0 === pos ? max : pos + _utf8len[buf[pos]] > max ? pos : max
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function ZStream() {
this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = {
Z_NO_FLUSH: 0,
Z_PARTIAL_FLUSH: 1,
Z_SYNC_FLUSH: 2,
Z_FULL_FLUSH: 3,
Z_FINISH: 4,
Z_BLOCK: 5,
Z_TREES: 6,
Z_OK: 0,
Z_STREAM_END: 1,
Z_NEED_DICT: 2,
Z_ERRNO: -1,
Z_STREAM_ERROR: -2,
Z_DATA_ERROR: -3,
Z_BUF_ERROR: -5,
Z_NO_COMPRESSION: 0,
Z_BEST_SPEED: 1,
Z_BEST_COMPRESSION: 9,
Z_DEFAULT_COMPRESSION: -1,
Z_FILTERED: 1,
Z_HUFFMAN_ONLY: 2,
Z_RLE: 3,
Z_FIXED: 4,
Z_DEFAULT_STRATEGY: 0,
Z_BINARY: 0,
Z_TEXT: 1,
Z_UNKNOWN: 2,
Z_DEFLATED: 8
}
}, function(module, exports, __webpack_require__) {
"use strict";
exports.LOCAL_FILE_HEADER = "PK", exports.CENTRAL_FILE_HEADER = "PK", exports.CENTRAL_DIRECTORY_END = "PK", exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", exports.ZIP64_CENTRAL_DIRECTORY_END = "PK", exports.DATA_DESCRIPTOR = "PK\b"
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28),
support = __webpack_require__(94),
ArrayReader = __webpack_require__(355),
StringReader = __webpack_require__(545),
NodeBufferReader = __webpack_require__(546),
Uint8ArrayReader = __webpack_require__(357);
module.exports = function(data) {
var type = utils.getTypeOf(data);
return utils.checkSupport(type), "string" !== type || support.uint8array ? "nodebuffer" === type ? new NodeBufferReader(data) : support.uint8array ? new Uint8ArrayReader(utils.transformTo("uint8array", data)) : new ArrayReader(utils.transformTo("array", data)) : new StringReader(data)
}
}, function(module, exports, __webpack_require__) {
"use strict";
var DataReader = __webpack_require__(356);
function ArrayReader(data) {
DataReader.call(this, data);
for (var i = 0; i < this.data.length; i++) data[i] = 255 & data[i]
}
__webpack_require__(28).inherits(ArrayReader, DataReader), ArrayReader.prototype.byteAt = function(i) {
return this.data[this.zero + i]
}, ArrayReader.prototype.lastIndexOfSignature = function(sig) {
for (var sig0 = sig.charCodeAt(0), sig1 = sig.charCodeAt(1), sig2 = sig.charCodeAt(2), sig3 = sig.charCodeAt(3), i = this.length - 4; i >= 0; --i)
if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) return i - this.zero;
return -1
}, ArrayReader.prototype.readAndCheckSignature = function(sig) {
var sig0 = sig.charCodeAt(0),
sig1 = sig.charCodeAt(1),
sig2 = sig.charCodeAt(2),
sig3 = sig.charCodeAt(3),
data = this.readData(4);
return sig0 === data[0] && sig1 === data[1] && sig2 === data[2] && sig3 === data[3]
}, ArrayReader.prototype.readData = function(size) {
if (this.checkOffset(size), 0 === size) return [];
var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
return this.index += size, result
}, module.exports = ArrayReader
}, function(module, exports, __webpack_require__) {
"use strict";
var utils = __webpack_require__(28);
function DataReader(data) {
this.data = data, this.length = data.length, this.index = 0, this.zero = 0
}
DataReader.prototype = {
checkOffset: function(offset) {
this.checkIndex(this.index + offset)
},
checkIndex: function(newIndex) {
if (this.length < this.zero + newIndex || newIndex < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + newIndex + "). Corrupted zip ?")
},
setIndex: function(newIndex) {
this.checkIndex(newIndex), this.index = newIndex
},
skip: function(n) {
this.setIndex(this.index + n)
},
byteAt: function(i) {},
readInt: function(size) {
var i, result = 0;
for (this.checkOffset(size), i = this.index + size - 1; i >= this.index; i--) result = (result << 8) + this.byteAt(i);
return this.index += size, result
},
readString: function(size) {
return utils.transformTo("string", this.readData(size))
},
readData: function(size) {},
lastIndexOfSignature: function(sig) {},
readAndCheckSignature: function(sig) {},
readDate: function() {
var dostime = this.readInt(4);
return new Date(Date.UTC(1980 + (dostime >> 25 & 127), (dostime >> 21 & 15) - 1, dostime >> 16 & 31, dostime >> 11 & 31, dostime >> 5 & 63, (31 & dostime) << 1))
}
}, module.exports = DataReader
}, function(module, exports, __webpack_require__) {
"use strict";
var ArrayReader = __webpack_require__(355);
function Uint8ArrayReader(data) {
ArrayReader.call(this, data)
}
__webpack_require__(28).inherits(Uint8ArrayReader, ArrayReader), Uint8ArrayReader.prototype.readData = function(size) {
if (this.checkOffset(size), 0 === size) return new Uint8Array(0);
var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size);
return this.index += size, result
}, module.exports = Uint8ArrayReader
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function() {
return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g
}
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}),
function(ENVIRONMENT) {
ENVIRONMENT.NODE = "NODE", ENVIRONMENT.WEB = "WEB"
}(exports.ENVIRONMENT || (exports.ENVIRONMENT = {}))
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var getroot_1 = __webpack_require__(16);
exports.isNode = function() {
var proc = getroot_1.root.process;
return !(!proc || "object" != typeof proc || !proc.versions || "object" != typeof proc.versions || void 0 === proc.versions.node)
}
}, function(module, exports, __webpack_require__) {
var random = __webpack_require__(562),
url = __webpack_require__(563);
module.exports = function(size) {
for (var id = "", bytes = random(size = size || 21); 0 < size--;) id += url[63 & bytes[size]];
return id
}
}, function(module, exports) {
module.exports = require("electron-spellchecker")
}, function(module, exports) {
module.exports = require("keyboard-layout")
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var lib = __webpack_require__(7),
redact_utils = (__webpack_require__(5), __webpack_require__(1), __webpack_require__(19), __webpack_require__(68), __webpack_require__(34), __webpack_require__(145)),
memoize = (__webpack_require__(4), __webpack_require__(2), __webpack_require__(367));
__webpack_require__(20);
Object(memoize.a)((width, height) => {
const canvas = document.createElement("canvas");
return canvas.width = width, canvas.height = height, canvas
});
Object(lib.createAction)("SET_TASKBAR_BADGE", void 0, () => ({
logPayload: redact_utils.a
}))
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function commandLineArgs(optionDefinitions, options) {
(options = options || {}).stopAtFirstUnknown && (options.partial = !0);
const Definitions = __webpack_require__(223);
optionDefinitions = Definitions.from(optionDefinitions);
const parser = new(__webpack_require__(412))(optionDefinitions, {
argv: options.argv,
stopAtFirstUnknown: options.stopAtFirstUnknown
}),
Option = __webpack_require__(224),
output = new(optionDefinitions.isGrouped() ? __webpack_require__(414) : __webpack_require__(259))(optionDefinitions);
for (const argInfo of parser) {
const arg = argInfo.subArg || argInfo.arg;
if (!options.partial) {
if ("unknown_value" === argInfo.event) {
const err = new Error(`Unknown value: ${arg}`);
throw err.name = "UNKNOWN_VALUE", err.value = arg, err
}
if ("unknown_option" === argInfo.event) {
const err = new Error(`Unknown option: ${arg}`);
throw err.name = "UNKNOWN_OPTION", err.optionName = arg, err
}
}
let option;
output.has(argInfo.name) ? option = output.get(argInfo.name) : (option = Option.create(argInfo.def), output.set(argInfo.name, option)), "_unknown" === argInfo.name ? option.set(arg) : option.set(argInfo.value)
}
return output.toObject({
skipUnknown: !options.partial,
camelCase: options.camelCase
})
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function commandLineUsage(sections) {
const arrayify = __webpack_require__(61);
if ((sections = arrayify(sections)).length) {
const OptionList = __webpack_require__(415),
ContentSection = __webpack_require__(427),
output = sections.map(section => section.optionList ? new OptionList(section) : new ContentSection(section));
return "\n" + output.join("\n")
}
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(119),
FUNC_ERROR_TEXT = "Expected a function";
function memoize(func, resolver) {
if ("function" != typeof func || null != resolver && "function" != typeof resolver) throw new TypeError(FUNC_ERROR_TEXT);
var memoized = function() {
var args = arguments,
key = resolver ? resolver.apply(this, args) : args[0],
cache = memoized.cache;
if (cache.has(key)) return cache.get(key);
var result = func.apply(this, args);
return memoized.cache = cache.set(key, result) || cache, result
};
return memoized.cache = new(memoize.Cache || _MapCache_js__WEBPACK_IMPORTED_MODULE_0__.a), memoized
}
memoize.Cache = _MapCache_js__WEBPACK_IMPORTED_MODULE_0__.a, __webpack_exports__.a = memoize
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _baseGet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97);
__webpack_exports__.a = function get(object, path, defaultValue) {
var result = null == object ? void 0 : Object(_baseGet_js__WEBPACK_IMPORTED_MODULE_0__.a)(object, path);
return void 0 === result ? defaultValue : result
}
}, function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_exports__.a = function stubFalse() {
return !1
}
}, function(module, exports) {
module.exports = require("readline")
}, function(module, exports, __webpack_require__) {
var fs = __webpack_require__(37),
util = __webpack_require__(83),
zlib = __webpack_require__(437),
events = __webpack_require__(84);
function Logrotator() {
events.EventEmitter.call(this), this.timers = {}
}
util.inherits(Logrotator, events.EventEmitter), Logrotator.prototype.register = function(file, options) {
var match = (options = util._extend({
schedule: "5m"
}, options)).schedule.match(/^([0-9]+)(s|m|h)$/);
if (match) {
this.timers[file] && this.unregister(file);
var multi = this._timeMultiplier(match[2]),
schedule = parseInt(match[1]) * multi,
_this = this;
this.timers[file] = setInterval(function() {
_doRotate()
}, schedule), _doRotate()
} else this.emit("error", "incorrect schedule format " + options.schedule);
function _doRotate() {
_this.rotate(file, options, function(err, rotated) {
err ? _this.emit("error", err) : rotated && _this.emit("rotate", file)
})
}
}, Logrotator.prototype.unregister = function(file) {
this.timers[file] && (clearInterval(this.timers[file]), delete this.timers[file])
}, Logrotator.prototype.stop = function() {
var _this = this;
Object.keys(this.timers).forEach(function(name) {
clearInterval(_this.timers[name])
}), this.timers = {}
}, Logrotator.prototype._timeMultiplier = function(multi) {
switch (multi) {
case "s":
return 1e3;
case "m":
return 6e4;
case "h":
return 36e5
}
}, Logrotator.prototype._sizeMultiplier = function(multi) {
switch (multi) {
case "k":
return 1024;
case "m":
return 1048576;
case "g":
return 1073741824
}
}, Logrotator.prototype.rotate = function(file, options, cb) {
cb || (cb = options, options = null);
var match = (options = util._extend({
size: "10m",
count: 3,
compress: !0
}, options)).size.match(/^([0-9]+)(k|m|g)$/);
if (match) {
var multi = this._sizeMultiplier(match[2]),
size = parseInt(match[1]) * multi,
_this = this;
fs.stat(file, function(err, stats) {
if (err) {
var message = null;
return "ENOENT" !== err.code && (message = file + " stat failed: " + err.message), void cb(message)
}
stats.isFile() ? stats.size >= size ? _this._rotate(file, options.count, options, cb) : cb(null, !1) : cb(file + " is not a file")
})
} else cb("incorrect size format " + options.size)
}, Logrotator.prototype._filename = function(file, index, options) {
var format = index;
"function" == typeof options.format && (format = options.format(index));
var fileName = file + "." + format;
return options.compress && (fileName += ".gz"), fileName
}, Logrotator.prototype._rotate = function(file, index, options, cb) {
var _this = this,
fileName = this._filename(file, index, options);
if (index !== options.count)
if (index > 0) {
var renameTo = this._filename(file, index + 1, options);
fs.rename(fileName, renameTo, function(err) {
err && "ENOENT" !== err.code ? cb("error renaming file " + fileName + ": " + err.message) : _this._rotate(file, --index, options, cb)
})
} else {
var pipe, error, fis = fs.createReadStream(file),
fos = fs.createWriteStream(this._filename(file, 1, options));
(pipe = options.compress ? fis.pipe(zlib.createGzip()).pipe(fos) : fis.pipe(fos)).on("finish", function() {
error || fs.truncate(file, 0, function(err) {
err ? cb && cb("error truncating file " + file + ": " + err.message) : cb && cb(null, !0)
})
}), pipe.on("error", function(err) {
error = !0, cb("error compressing file " + file + ": " + err.message), cb = null
})
}
else fs.unlink(fileName, function(err) {
err && "ENOENT" !== err.code ? cb("error deleting file " + fileName + ": " + err.message) : _this._rotate(file, --index, options, cb)
})
}, module.exports.create = function() {
return new Logrotator
}, module.exports.rotator = new Logrotator
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function writeFile(filename, data, options, callback) {
options instanceof Function && (callback = options, options = null);
options || (options = {});
var truename, fd, tmpfile, Promise = options.Promise || global.Promise,
removeOnExit = cleanupOnExit(() => tmpfile),
absoluteName = path.resolve(filename);
new Promise(function serializeSameFile(resolve) {
activeFiles[absoluteName] || (activeFiles[absoluteName] = []), activeFiles[absoluteName].push(resolve), 1 === activeFiles[absoluteName].length && resolve()
}).then(function getRealPath() {
return new Promise(function(resolve) {
fs.realpath(filename, function(_, realname) {
tmpfile = getTmpname(truename = realname || filename), resolve()
})
})
}).then(function stat() {
return new Promise(function stat(resolve) {
options.mode && options.chown ? resolve() : fs.stat(truename, function(err, stats) {
err || !stats ? resolve() : ((options = Object.assign({}, options)).mode || (options.mode = stats.mode), !options.chown && process.getuid && (options.chown = {
uid: stats.uid,
gid: stats.gid
}), resolve())
})
})
}).then(function thenWriteFile() {
return new Promise(function(resolve, reject) {
fs.open(tmpfile, "w", options.mode, function(err, _fd) {
fd = _fd, err ? reject(err) : resolve()
})
})
}).then(function write() {
return new Promise(function(resolve, reject) {
Buffer.isBuffer(data) ? fs.write(fd, data, 0, data.length, 0, function(err) {
err ? reject(err) : resolve()
}) : null != data ? fs.write(fd, String(data), 0, String(options.encoding || "utf8"), function(err) {
err ? reject(err) : resolve()
}) : resolve()
})
}).then(function syncAndClose() {
if (!1 !== options.fsync) return new Promise(function(resolve, reject) {
fs.fsync(fd, function(err) {
err ? reject(err) : fs.close(fd, resolve)
})
})
}).then(function chown() {
if (options.chown) return new Promise(function(resolve, reject) {
fs.chown(tmpfile, options.chown.uid, options.chown.gid, function(err) {
err ? reject(err) : resolve()
})
})
}).then(function chmod() {
if (options.mode) return new Promise(function(resolve, reject) {
fs.chmod(tmpfile, options.mode, function(err) {
err ? reject(err) : resolve()
})
})
}).then(function rename() {
return new Promise(function(resolve, reject) {
fs.rename(tmpfile, truename, function(err) {
err ? reject(err) : resolve()
})
})
}).then(function success() {
removeOnExit(), callback()
}).catch(function fail(err) {
removeOnExit(), fs.unlink(tmpfile, function() {
callback(err)
})
}).then(function checkQueue() {
activeFiles[absoluteName].shift(), activeFiles[absoluteName].length > 0 ? activeFiles[absoluteName][0]() : delete activeFiles[absoluteName]
})
}, module.exports.sync = function writeFileSync(filename, data, options) {
options || (options = {});
try {
filename = fs.realpathSync(filename)
} catch (ex) {}
var tmpfile = getTmpname(filename);
try {
if (!options.mode || !options.chown) try {
var stats = fs.statSync(filename);
(options = Object.assign({}, options)).mode || (options.mode = stats.mode), !options.chown && process.getuid && (options.chown = {
uid: stats.uid,
gid: stats.gid
})
} catch (ex) {}
var removeOnExit = onExit(cleanupOnExit(tmpfile)),
fd = fs.openSync(tmpfile, "w", options.mode);
Buffer.isBuffer(data) ? fs.writeSync(fd, data, 0, data.length, 0) : null != data && fs.writeSync(fd, String(data), 0, String(options.encoding || "utf8")), !1 !== options.fsync && fs.fsyncSync(fd), fs.closeSync(fd), options.chown && fs.chownSync(tmpfile, options.chown.uid, options.chown.gid), options.mode && fs.chmodSync(tmpfile, options.mode), fs.renameSync(tmpfile, filename), removeOnExit()
} catch (err) {
removeOnExit();
try {
fs.unlinkSync(tmpfile)
} catch (e) {}
throw err
}
}, module.exports._getTmpname = getTmpname, module.exports._cleanupOnExit = cleanupOnExit;
var fs = __webpack_require__(31),
MurmurHash3 = __webpack_require__(473),
onExit = __webpack_require__(474),
path = __webpack_require__(6),
activeFiles = {},
invocations = 0;
function getTmpname(filename) {
return filename + "." + MurmurHash3(__filename).hash(String(process.pid)).hash(String(++invocations)).result()
}
function cleanupOnExit(tmpfile) {
return function() {
try {
fs.unlinkSync("function" == typeof tmpfile ? tmpfile() : tmpfile)
} catch (_) {}
}
}
}, function(module, exports) {
module.exports = require("querystring")
}, function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
});
var _isString3 = _interopRequireDefault(__webpack_require__(279)),
_isPlainObject3 = _interopRequireDefault(__webpack_require__(64));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function isFSA(action) {
return (0, _isPlainObject3.default)(action) && (0, _isString3.default)(action.type) && Object.keys(action).every(isValidKey)
}
function isValidKey(key) {
return ["type", "payload", "error", "meta"].indexOf(key) > -1
}
exports.isFSA = isFSA, exports.isError = function isError(action) {
return isFSA(action) && !0 === action.error
}
}, function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(477)
}, function(module, exports, __webpack_require__) {
module.exports = function() {
var _$src_1 = {};
_$src_1 = {
name: "react",
init: function(client, React) {
if (void 0 === React && (React = window.React), !React) throw new Error("cannot find React");
var ErrorBoundary = function(_React$Component) {
function ErrorBoundary(props) {
var _this;
return (_this = _React$Component.call(this, props) || this).state = {
error: null,
info: null
}, _this
}! function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype), subClass.prototype.constructor = subClass, subClass.__proto__ = superClass
}(ErrorBoundary, _React$Component);
var _proto = ErrorBoundary.prototype;
return _proto.componentDidCatch = function componentDidCatch(error, info) {
var beforeSend = this.props.beforeSend,
BugsnagReport = client.BugsnagReport,
report = new BugsnagReport(error.name, error.message, BugsnagReport.getStacktrace(error), {
severity: "error",
unhandled: !0,
severityReason: {
type: "unhandledException"
}
}, error);
info && info.componentStack && (info.componentStack = formatComponentStack(info.componentStack)), report.updateMetaData("react", info), client.notify(report, {
beforeSend
}), this.setState({
error,
info
})
}, _proto.render = function render() {
var error = this.state.error;
if (error) {
var FallbackComponent = this.props.FallbackComponent;
return FallbackComponent ? React.createElement(FallbackComponent, this.state) : null
}
return this.props.children
}, ErrorBoundary
}(React.Component);
return ErrorBoundary
}
};
var formatComponentStack = function(str) {
for (var lines = str.split(/\s*\n\s*/g), ret = "", line = 0, len = lines.length; line < len; line++) lines[line].length && (ret += (ret.length ? "\n" : "") + lines[line]);
return ret
};
return _$src_1.formatComponentStack = formatComponentStack, _$src_1.default = _$src_1, _$src_1
}()
}, function(module, exports, __webpack_require__) {
var fs = __webpack_require__(37),
path = __webpack_require__(6),
cnst = __webpack_require__(251),
rimraf = __webpack_require__(483),
osTmpdir = __webpack_require__(484),
rimrafSync = rimraf.sync,
RDWR_EXCL = cnst.O_CREAT | cnst.O_TRUNC | cnst.O_RDWR | cnst.O_EXCL,
generateName = function(rawAffixes, defaultPrefix) {
var affixes = parseAffixes(rawAffixes, defaultPrefix),
now = new Date,
name = [affixes.prefix, now.getYear(), now.getMonth(), now.getDate(), "-", process.pid, "-", (4294967296 * Math.random() + 1).toString(36), affixes.suffix].join("");
return path.join(affixes.dir || exports.dir, name)
},
parseAffixes = function(rawAffixes, defaultPrefix) {
var affixes = {
prefix: null,
suffix: null
};
if (rawAffixes) switch (typeof rawAffixes) {
case "string":
affixes.prefix = rawAffixes;
break;
case "object":
affixes = rawAffixes;
break;
default:
throw new Error("Unknown affix declaration: " + affixes)
} else affixes.prefix = defaultPrefix;
return affixes
},
tracking = !1,
exitListenerAttached = !1,
filesToDelete = [],
dirsToDelete = [];
function deleteFileOnExit(filePath) {
if (!tracking) return !1;
attachExitListener(), filesToDelete.push(filePath)
}
function deleteDirOnExit(dirPath) {
if (!tracking) return !1;
attachExitListener(), dirsToDelete.push(dirPath)
}
function attachExitListener() {
if (!tracking) return !1;
exitListenerAttached || (process.addListener("exit", cleanupSync), exitListenerAttached = !0)
}
function cleanupSync() {
return !!tracking && {
files: function cleanupFilesSync() {
if (!tracking) return !1;
for (var toDelete, count = 0; void 0 !== (toDelete = filesToDelete.shift());) rimrafSync(toDelete), count++;
return count
}(),
dirs: function cleanupDirsSync() {
if (!tracking) return !1;
for (var toDelete, count = 0; void 0 !== (toDelete = dirsToDelete.shift());) rimrafSync(toDelete), count++;
return count
}()
}
}
exports.dir = path.resolve(osTmpdir()), exports.track = function(value) {
return tracking = !1 !== value, module.exports
}, exports.mkdir = function mkdir(affixes, callback) {
var dirPath = generateName(affixes, "d-");
fs.mkdir(dirPath, 448, function(err) {
err || deleteDirOnExit(dirPath), callback && callback(err, dirPath)
})
}, exports.mkdirSync = function mkdirSync(affixes) {
var dirPath = generateName(affixes, "d-");
return fs.mkdirSync(dirPath, 448), deleteDirOnExit(dirPath), dirPath
}, exports.open = function open(affixes, callback) {
var filePath = generateName(affixes, "f-");
fs.open(filePath, RDWR_EXCL, 384, function(err, fd) {
err || deleteFileOnExit(filePath), callback && callback(err, {
path: filePath,
fd
})
})
}, exports.openSync = function openSync(affixes) {
var filePath = generateName(affixes, "f-"),
fd = fs.openSync(filePath, RDWR_EXCL, 384);
return deleteFileOnExit(filePath), {
path: filePath,
fd
}
}, exports.path = generateName, exports.cleanup = function cleanup(callback) {
tracking ? function cleanupFiles(callback) {
if (tracking) {
var count = 0,
left = filesToDelete.length;
if (left)
for (var toDelete, rimrafCallback = function(err) {
if (left) {
if (err) return callback && callback(err), void(left = 0);
count++, !--left && callback && callback(null, count)
}
}; void 0 !== (toDelete = filesToDelete.shift());) rimraf(toDelete, rimrafCallback);
else callback && callback(null, count)
} else callback && callback(new Error("not tracking"))
}(function(fileErr, fileCount) {
fileErr ? callback && callback(fileErr, {
files: fileCount
}) : function cleanupDirs(callback) {
if (tracking) {
var left = dirsToDelete.length;
if (left)
for (var toDelete, rimrafCallback = function(err) {
if (left) {
if (err) return callback && callback(err, 0), void(left = 0);
!--left && callback && callback(null, 0)
}
}; void 0 !== (toDelete = dirsToDelete.shift());) rimraf(toDelete, rimrafCallback);
else callback && callback(null, 0)
} else callback && callback(new Error("not tracking"))
}(function(dirErr, dirCount) {
callback && callback(dirErr, {
files: fileCount,
dirs: dirCount
})
})
}) : callback && callback(new Error("not tracking"))
}, exports.cleanupSync = cleanupSync, exports.createWriteStream = function createWriteStream(affixes) {
var filePath = generateName(affixes, "s-"),
stream = fs.createWriteStream(filePath, {
flags: RDWR_EXCL,
mode: 384
});
return deleteFileOnExit(filePath), stream
}
}, function(module, exports) {
module.exports = require("rxjs/util/TimeoutError")
}, function(module, exports) {
module.exports = require("rxjs/observable/dom/WebSocketSubject")
}, function(module, exports, __webpack_require__) {
"use strict";
function JSZip() {
if (!(this instanceof JSZip)) return new JSZip;
if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
this.files = {}, this.comment = null, this.root = "", this.clone = function() {
var newObj = new JSZip;
for (var i in this) "function" != typeof this[i] && (newObj[i] = this[i]);
return newObj
}
}
JSZip.prototype = __webpack_require__(518), JSZip.prototype.loadAsync = __webpack_require__(543), JSZip.support = __webpack_require__(94), JSZip.defaults = __webpack_require__(343), JSZip.version = "3.2.0", JSZip.loadAsync = function(content, options) {
return (new JSZip).loadAsync(content, options)
}, JSZip.external = __webpack_require__(159), module.exports = JSZip
}, function(module, exports, __webpack_require__) {
var colors = __webpack_require__(548),
utils = __webpack_require__(553),
repeat = utils.repeat,
truncate = utils.truncate,
pad = utils.pad;
function Table(options) {
this.options = utils.options({
chars: {
top: "─",
"top-mid": "┬",
"top-left": "┌",
"top-right": "┐",
bottom: "─",
"bottom-mid": "┴",
"bottom-left": "└",
"bottom-right": "┘",
left: "│",
"left-mid": "├",
mid: "─",
"mid-mid": "┼",
right: "│",
"right-mid": "┤",
middle: "│"
},
truncate: "…",
colWidths: [],
colAligns: [],
style: {
"padding-left": 1,
"padding-right": 1,
head: ["red"],
border: ["grey"],
compact: !1
},
head: []
}, options)
}
Table.prototype = new Array, Table.prototype.__defineGetter__("width", function() {
var str = this.toString().split("\n");
return str.length ? str[0].length : 0
}), Table.prototype.render = Table.prototype.toString = function() {
var ret = "",
options = this.options,
style = options.style,
head = options.head,
chars = options.chars,
truncater = options.truncate,
colWidths = options.colWidths || new Array(this.head.length),
totalWidth = 0;
if (!head.length && !this.length) return "";
if (!colWidths.length) {
var everyRows = this.slice(0);
head.length && (everyRows = everyRows.concat([head])), everyRows.forEach(function(cells) {
if (Array.isArray(cells) && cells.length) extractColumnWidths(cells);
else {
var headerCell = Object.keys(cells)[0],
valueCell = cells[headerCell];
colWidths[0] = Math.max(colWidths[0] || 0, getWidth(headerCell) || 0), Array.isArray(valueCell) && valueCell.length ? extractColumnWidths(valueCell, 1) : colWidths[1] = Math.max(colWidths[1] || 0, getWidth(valueCell) || 0)
}
})
}
function extractColumnWidths(arr, offset) {
offset = offset || 0, arr.forEach(function(cell, i) {
colWidths[i + offset] = Math.max(colWidths[i + offset] || 0, getWidth(cell) || 0)
})
}
function getWidth(obj) {
return "object" == typeof obj && obj && void 0 !== obj.width ? obj.width : ("object" == typeof obj && null !== obj ? utils.strlen(obj.text) : utils.strlen(obj)) + (style["padding-left"] || 0) + (style["padding-right"] || 0)
}
function line(line, left, right, intersection) {
var width = 0;
return line = left + repeat(line, totalWidth - 2) + right, colWidths.forEach(function(w, i) {
i !== colWidths.length - 1 && (width += w + 1, line = line.substr(0, width) + intersection + line.substr(width + 1))
}), applyStyles(options.style.border, line)
}
function lineTop() {
var l = line(chars.top, chars["top-left"] || chars.top, chars["top-right"] || chars.top, chars["top-mid"]);
l && (ret += l + "\n")
}
function generateRow(items, style) {
var cells = [],
maxHeight = 0;
if (!Array.isArray(items) && "object" == typeof items) {
var key = Object.keys(items)[0],
value = items[key],
firstCellHead = !0;
Array.isArray(value) ? (items = value).unshift(key) : items = [key, value]
}
items.forEach(function(item, i) {
var contents = (null == item ? "" : item).toString().split("\n").reduce(function(memo, l) {
return memo.push(string(l, i)), memo
}, []),
height = contents.length;
height > maxHeight && (maxHeight = height), cells.push({
contents,
height
})
});
var lines = new Array(maxHeight);
cells.forEach(function(cell, i) {
cell.contents.forEach(function(line, j) {
lines[j] || (lines[j] = []), (style || firstCellHead && 0 === i && options.style.head) && (line = applyStyles(options.style.head, line)), lines[j].push(line)
});
for (var j = cell.height, l = maxHeight; j < l; j++) lines[j] || (lines[j] = []), lines[j].push(string("", i))
});
var ret = "";
return lines.forEach(function(line, index) {
ret.length > 0 && (ret += "\n" + applyStyles(options.style.border, chars.left)), ret += line.join(applyStyles(options.style.border, chars.middle)) + applyStyles(options.style.border, chars.right)
}), applyStyles(options.style.border, chars.left) + ret
}
function applyStyles(styles, subject) {
return subject ? (styles.forEach(function(style) {
subject = colors[style](subject)
}), subject) : ""
}
function string(str, index) {
str = String("object" == typeof str && str.text ? str.text : str);
var length = utils.strlen(str),
width = colWidths[index] - (style["padding-left"] || 0) - (style["padding-right"] || 0),
align = options.colAligns[index] || "left";
return repeat(" ", style["padding-left"] || 0) + (length === width ? str : length < width ? pad(str, width + (str.length - length), " ", "left" === align ? "right" : "middle" === align ? "both" : "left") : truncater ? truncate(str, width, truncater) : str) + repeat(" ", style["padding-right"] || 0)
}
totalWidth = (1 === colWidths.length ? colWidths[0] : colWidths.reduce(function(a, b) {
return a + b
})) + colWidths.length + 1, head.length && (lineTop(), ret += generateRow(head, style.head) + "\n"), this.length && this.forEach(function(cells, i) {
if (head.length || 0 !== i) {
if (!style.compact || i < !!head.length || 0 === cells.length) {
var l = line(chars.mid, chars["left-mid"], chars["right-mid"], chars["mid-mid"]);
l && (ret += l + "\n")
}
} else lineTop();
Array.isArray(cells) && !cells.length || (ret += generateRow(cells) + "\n")
});
var l = line(chars.bottom, chars["bottom-left"] || chars.bottom, chars["bottom-right"] || chars.bottom, chars["bottom-mid"]);
return l ? ret += l : ret = ret.slice(0, -1), ret
}, module.exports = Table, module.exports.version = "0.0.1"
}, function(module, exports, __webpack_require__) {
module.exports = function(undefined) {
"use strict";
var hex_chr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
function md5cycle(x, k) {
var a = x[0],
b = x[1],
c = x[2],
d = x[3];
a += (b & c | ~b & d) + k[0] - 680876936 | 0, d += ((a = (a << 7 | a >>> 25) + b | 0) & b | ~a & c) + k[1] - 389564586 | 0, c += ((d = (d << 12 | d >>> 20) + a | 0) & a | ~d & b) + k[2] + 606105819 | 0, b += ((c = (c << 17 | c >>> 15) + d | 0) & d | ~c & a) + k[3] - 1044525330 | 0, a += ((b = (b << 22 | b >>> 10) + c | 0) & c | ~b & d) + k[4] - 176418897 | 0, d += ((a = (a << 7 | a >>> 25) + b | 0) & b | ~a & c) + k[5] + 1200080426 | 0, c += ((d = (d << 12 | d >>> 20) + a | 0) & a | ~d & b) + k[6] - 1473231341 | 0, b += ((c = (c << 17 | c >>> 15) + d | 0) & d | ~c & a) + k[7] - 45705983 | 0, a += ((b = (b << 22 | b >>> 10) + c | 0) & c | ~b & d) + k[8] + 1770035416 | 0, d += ((a = (a << 7 | a >>> 25) + b | 0) & b | ~a & c) + k[9] - 1958414417 | 0, c += ((d = (d << 12 | d >>> 20) + a | 0) & a | ~d & b) + k[10] - 42063 | 0, b += ((c = (c << 17 | c >>> 15) + d | 0) & d | ~c & a) + k[11] - 1990404162 | 0, a += ((b = (b << 22 | b >>> 10) + c | 0) & c | ~b & d) + k[12] + 1804603682 | 0, d += ((a = (a << 7 | a >>> 25) + b | 0) & b | ~a & c) + k[13] - 40341101 | 0, c += ((d = (d << 12 | d >>> 20) + a | 0) & a | ~d & b) + k[14] - 1502002290 | 0, b += ((c = (c << 17 | c >>> 15) + d | 0) & d | ~c & a) + k[15] + 1236535329 | 0, a += ((b = (b << 22 | b >>> 10) + c | 0) & d | c & ~d) + k[1] - 165796510 | 0, d += ((a = (a << 5 | a >>> 27) + b | 0) & c | b & ~c) + k[6] - 1069501632 | 0, c += ((d = (d << 9 | d >>> 23) + a | 0) & b | a & ~b) + k[11] + 643717713 | 0, b += ((c = (c << 14 | c >>> 18) + d | 0) & a | d & ~a) + k[0] - 373897302 | 0, a += ((b = (b << 20 | b >>> 12) + c | 0) & d | c & ~d) + k[5] - 701558691 | 0, d += ((a = (a << 5 | a >>> 27) + b | 0) & c | b & ~c) + k[10] + 38016083 | 0, c += ((d = (d << 9 | d >>> 23) + a | 0) & b | a & ~b) + k[15] - 660478335 | 0, b += ((c = (c << 14 | c >>> 18) + d | 0) & a | d & ~a) + k[4] - 405537848 | 0, a += ((b = (b << 20 | b >>> 12) + c | 0) & d | c & ~d) + k[9] + 568446438 | 0, d += ((a = (a << 5 | a >>> 27) + b | 0) & c | b & ~c) + k[14] - 1019803690 | 0, c += ((d = (d << 9 | d >>> 23) + a | 0) & b | a & ~b) + k[3] - 187363961 | 0, b += ((c = (c << 14 | c >>> 18) + d | 0) & a | d & ~a) + k[8] + 1163531501 | 0, a += ((b = (b << 20 | b >>> 12) + c | 0) & d | c & ~d) + k[13] - 1444681467 | 0, d += ((a = (a << 5 | a >>> 27) + b | 0) & c | b & ~c) + k[2] - 51403784 | 0, c += ((d = (d << 9 | d >>> 23) + a | 0) & b | a & ~b) + k[7] + 1735328473 | 0, b += ((c = (c << 14 | c >>> 18) + d | 0) & a | d & ~a) + k[12] - 1926607734 | 0, a += ((b = (b << 20 | b >>> 12) + c | 0) ^ c ^ d) + k[5] - 378558 | 0, d += ((a = (a << 4 | a >>> 28) + b | 0) ^ b ^ c) + k[8] - 2022574463 | 0, c += ((d = (d << 11 | d >>> 21) + a | 0) ^ a ^ b) + k[11] + 1839030562 | 0, b += ((c = (c << 16 | c >>> 16) + d | 0) ^ d ^ a) + k[14] - 35309556 | 0, a += ((b = (b << 23 | b >>> 9) + c | 0) ^ c ^ d) + k[1] - 1530992060 | 0, d += ((a = (a << 4 | a >>> 28) + b | 0) ^ b ^ c) + k[4] + 1272893353 | 0, c += ((d = (d << 11 | d >>> 21) + a | 0) ^ a ^ b) + k[7] - 155497632 | 0, b += ((c = (c << 16 | c >>> 16) + d | 0) ^ d ^ a) + k[10] - 1094730640 | 0, a += ((b = (b << 23 | b >>> 9) + c | 0) ^ c ^ d) + k[13] + 681279174 | 0, d += ((a = (a << 4 | a >>> 28) + b | 0) ^ b ^ c) + k[0] - 358537222 | 0, c += ((d = (d << 11 | d >>> 21) + a | 0) ^ a ^ b) + k[3] - 722521979 | 0, b += ((c = (c << 16 | c >>> 16) + d | 0) ^ d ^ a) + k[6] + 76029189 | 0, a += ((b = (b << 23 | b >>> 9) + c | 0) ^ c ^ d) + k[9] - 640364487 | 0, d += ((a = (a << 4 | a >>> 28) + b | 0) ^ b ^ c) + k[12] - 421815835 | 0, c += ((d = (d << 11 | d >>> 21) + a | 0) ^ a ^ b) + k[15] + 530742520 | 0, b += ((c = (c << 16 | c >>> 16) + d | 0) ^ d ^ a) + k[2] - 995338651 | 0, a += (c ^ ((b = (b << 23 | b >>> 9) + c | 0) | ~d)) + k[0] - 198630844 | 0, d += (b ^ ((a = (a << 6 | a >>> 26) + b | 0) | ~c)) + k[7] + 1126891415 | 0, c += (a ^ ((d = (d << 10 | d >>> 22) + a | 0) | ~b)) + k[14] - 1416354905 | 0, b += (d ^ ((c = (c << 15 | c >>> 17) + d | 0) | ~a)) + k[5] - 57434055 | 0, a += (c ^ ((b = (b << 21 | b >>> 11) + c | 0) | ~d)) + k[12] + 1700485571 | 0, d += (b ^ ((a = (a << 6 | a >>> 26) + b | 0) | ~c)) + k[3] - 1894986606 | 0, c += (a ^ ((d = (d << 10 | d >>> 22) + a | 0) | ~b)) + k[10] - 1051523 | 0, b += (d ^ ((c = (c << 15 | c >>> 17) + d | 0) | ~a)) + k[1] - 2054922799 | 0, a += (c ^ ((b = (b << 21 | b >>> 11) + c | 0) | ~d)) + k[8] + 1873313359 | 0, d += (b ^ ((a = (a << 6 | a >>> 26) + b | 0) | ~c)) + k[15] - 30611744 | 0, c += (a ^ ((d = (d << 10 | d >>> 22) + a | 0) | ~b)) + k[6] - 1560198380 | 0, b += (d ^ ((c = (c << 15 | c >>> 17) + d | 0) | ~a)) + k[13] + 1309151649 | 0, a += (c ^ ((b = (b << 21 | b >>> 11) + c | 0) | ~d)) + k[4] - 145523070 | 0, d += (b ^ ((a = (a << 6 | a >>> 26) + b | 0) | ~c)) + k[11] - 1120210379 | 0, c += (a ^ ((d = (d << 10 | d >>> 22) + a | 0) | ~b)) + k[2] + 718787259 | 0, b = ((b += (d ^ ((c = (c << 15 | c >>> 17) + d | 0) | ~a)) + k[9] - 343485551 | 0) << 21 | b >>> 11) + c | 0, x[0] = a + x[0] | 0, x[1] = b + x[1] | 0, x[2] = c + x[2] | 0, x[3] = d + x[3] | 0
}
function md5blk(s) {
var i, md5blks = [];
for (i = 0; i < 64; i += 4) md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
return md5blks
}
function md5blk_array(a) {
var i, md5blks = [];
for (i = 0; i < 64; i += 4) md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
return md5blks
}
function md51(s) {
var i, length, tail, tmp, lo, hi, n = s.length,
state = [1732584193, -271733879, -1732584194, 271733878];
for (i = 64; i <= n; i += 64) md5cycle(state, md5blk(s.substring(i - 64, i)));
for (s = s.substring(i - 64), length = s.length, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], i = 0; i < length; i += 1) tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);
if (tail[i >> 2] |= 128 << (i % 4 << 3), i > 55)
for (md5cycle(state, tail), i = 0; i < 16; i += 1) tail[i] = 0;
return tmp = (tmp = 8 * n).toString(16).match(/(.*?)(.{0,8})$/), lo = parseInt(tmp[2], 16), hi = parseInt(tmp[1], 16) || 0, tail[14] = lo, tail[15] = hi, md5cycle(state, tail), state
}
function rhex(n) {
var j, s = "";
for (j = 0; j < 4; j += 1) s += hex_chr[n >> 8 * j + 4 & 15] + hex_chr[n >> 8 * j & 15];
return s
}
function hex(x) {
var i;
for (i = 0; i < x.length; i += 1) x[i] = rhex(x[i]);
return x.join("")
}
function toUtf8(str) {
return /[\u0080-\uFFFF]/.test(str) && (str = unescape(encodeURIComponent(str))), str
}
function hexToBinaryString(hex) {
var x, bytes = [],
length = hex.length;
for (x = 0; x < length - 1; x += 2) bytes.push(parseInt(hex.substr(x, 2), 16));
return String.fromCharCode.apply(String, bytes)
}
function SparkMD5() {
this.reset()
}
return hex(md51("hello")), "undefined" == typeof ArrayBuffer || ArrayBuffer.prototype.slice || function() {
function clamp(val, length) {
return (val = 0 | val || 0) < 0 ? Math.max(val + length, 0) : Math.min(val, length)
}
ArrayBuffer.prototype.slice = function(from, to) {
var num, target, targetArray, sourceArray, length = this.byteLength,
begin = clamp(from, length),
end = length;
return to !== undefined && (end = clamp(to, length)), begin > end ? new ArrayBuffer(0) : (num = end - begin, target = new ArrayBuffer(num), targetArray = new Uint8Array(target), sourceArray = new Uint8Array(this, begin, num), targetArray.set(sourceArray), target)
}
}(), SparkMD5.prototype.append = function(str) {
return this.appendBinary(toUtf8(str)), this
}, SparkMD5.prototype.appendBinary = function(contents) {
this._buff += contents, this._length += contents.length;
var i, length = this._buff.length;
for (i = 64; i <= length; i += 64) md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));
return this._buff = this._buff.substring(i - 64), this
}, SparkMD5.prototype.end = function(raw) {
var i, ret, buff = this._buff,
length = buff.length,
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for (i = 0; i < length; i += 1) tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);
return this._finish(tail, length), ret = hex(this._hash), raw && (ret = hexToBinaryString(ret)), this.reset(), ret
}, SparkMD5.prototype.reset = function() {
return this._buff = "", this._length = 0, this._hash = [1732584193, -271733879, -1732584194, 271733878], this
}, SparkMD5.prototype.getState = function() {
return {
buff: this._buff,
length: this._length,
hash: this._hash
}
}, SparkMD5.prototype.setState = function(state) {
return this._buff = state.buff, this._length = state.length, this._hash = state.hash, this
}, SparkMD5.prototype.destroy = function() {
delete this._hash, delete this._buff, delete this._length
}, SparkMD5.prototype._finish = function(tail, length) {
var tmp, lo, hi, i = length;
if (tail[i >> 2] |= 128 << (i % 4 << 3), i > 55)
for (md5cycle(this._hash, tail), i = 0; i < 16; i += 1) tail[i] = 0;
tmp = (tmp = 8 * this._length).toString(16).match(/(.*?)(.{0,8})$/), lo = parseInt(tmp[2], 16), hi = parseInt(tmp[1], 16) || 0, tail[14] = lo, tail[15] = hi, md5cycle(this._hash, tail)
}, SparkMD5.hash = function(str, raw) {
return SparkMD5.hashBinary(toUtf8(str), raw)
}, SparkMD5.hashBinary = function(content, raw) {
var ret = hex(md51(content));
return raw ? hexToBinaryString(ret) : ret
}, SparkMD5.ArrayBuffer = function() {
this.reset()
}, SparkMD5.ArrayBuffer.prototype.append = function(arr) {
var i, buff = function concatenateArrayBuffers(first, second, returnUInt8Array) {
var result = new Uint8Array(first.byteLength + second.byteLength);
return result.set(new Uint8Array(first)), result.set(new Uint8Array(second), first.byteLength), returnUInt8Array ? result : result.buffer
}(this._buff.buffer, arr, !0),
length = buff.length;
for (this._length += arr.byteLength, i = 64; i <= length; i += 64) md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));
return this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0), this
}, SparkMD5.ArrayBuffer.prototype.end = function(raw) {
var i, ret, buff = this._buff,
length = buff.length,
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for (i = 0; i < length; i += 1) tail[i >> 2] |= buff[i] << (i % 4 << 3);
return this._finish(tail, length), ret = hex(this._hash), raw && (ret = hexToBinaryString(ret)), this.reset(), ret
}, SparkMD5.ArrayBuffer.prototype.reset = function() {
return this._buff = new Uint8Array(0), this._length = 0, this._hash = [1732584193, -271733879, -1732584194, 271733878], this
}, SparkMD5.ArrayBuffer.prototype.getState = function() {
var state = SparkMD5.prototype.getState.call(this);
return state.buff = function arrayBuffer2Utf8Str(buff) {
return String.fromCharCode.apply(null, new Uint8Array(buff))
}(state.buff), state
}, SparkMD5.ArrayBuffer.prototype.setState = function(state) {
return state.buff = function utf8Str2ArrayBuffer(str, returnUInt8Array) {
var i, length = str.length,
buff = new ArrayBuffer(length),
arr = new Uint8Array(buff);
for (i = 0; i < length; i += 1) arr[i] = str.charCodeAt(i);
return returnUInt8Array ? arr : buff
}(state.buff, !0), SparkMD5.prototype.setState.call(this, state)
}, SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy, SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish, SparkMD5.ArrayBuffer.hash = function(arr, raw) {
var ret = hex(function md51_array(a) {
var i, length, tail, tmp, lo, hi, n = a.length,
state = [1732584193, -271733879, -1732584194, 271733878];
for (i = 64; i <= n; i += 64) md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
for (a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0), length = a.length, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], i = 0; i < length; i += 1) tail[i >> 2] |= a[i] << (i % 4 << 3);
if (tail[i >> 2] |= 128 << (i % 4 << 3), i > 55)
for (md5cycle(state, tail), i = 0; i < 16; i += 1) tail[i] = 0;
return tmp = (tmp = 8 * n).toString(16).match(/(.*?)(.{0,8})$/), lo = parseInt(tmp[2], 16), hi = parseInt(tmp[1], 16) || 0, tail[14] = lo, tail[15] = hi, md5cycle(state, tail), state
}(new Uint8Array(arr)));
return raw ? hexToBinaryString(ret) : ret
}, SparkMD5
}()
}, function(module, exports) {
module.exports = require("rxjs/BehaviorSubject")
}, function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
! function(root, factory) {
"use strict";
__WEBPACK_AMD_DEFINE_ARRAY__ = [], void 0 === (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof(__WEBPACK_AMD_DEFINE_FACTORY__ = function() {
function _isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n)
}
function _capitalize(str) {
return str.charAt(0).toUpperCase() + str.substring(1)
}
function _getter(p) {
return function() {
return this[p]
}
}
var booleanProps = ["isConstructor", "isEval", "isNative", "isToplevel"],
numericProps = ["columnNumber", "lineNumber"],
stringProps = ["fileName", "functionName", "source"],
props = booleanProps.concat(numericProps, stringProps, ["args"]);
function StackFrame(obj) {
if (obj instanceof Object)
for (var i = 0; i < props.length; i++) obj.hasOwnProperty(props[i]) && void 0 !== obj[props[i]] && this["set" + _capitalize(props[i])](obj[props[i]])
}
StackFrame.prototype = {
getArgs: function() {
return this.args
},
setArgs: function(v) {
if ("[object Array]" !== Object.prototype.toString.call(v)) throw new TypeError("Args must be an Array");
this.args = v
},
getEvalOrigin: function() {
return this.evalOrigin
},
setEvalOrigin: function(v) {
if (v instanceof StackFrame) this.evalOrigin = v;
else {
if (!(v instanceof Object)) throw new TypeError("Eval Origin must be an Object or StackFrame");
this.evalOrigin = new StackFrame(v)
}
},
toString: function() {
var functionName = this.getFunctionName() || "{anonymous}",
args = "(" + (this.getArgs() || []).join(",") + ")",
fileName = this.getFileName() ? "@" + this.getFileName() : "",
lineNumber = _isNumber(this.getLineNumber()) ? ":" + this.getLineNumber() : "",
columnNumber = _isNumber(this.getColumnNumber()) ? ":" + this.getColumnNumber() : "";
return functionName + args + fileName + lineNumber + columnNumber
}
};
for (var i = 0; i < booleanProps.length; i++) StackFrame.prototype["get" + _capitalize(booleanProps[i])] = _getter(booleanProps[i]), StackFrame.prototype["set" + _capitalize(booleanProps[i])] = function(p) {
return function(v) {
this[p] = Boolean(v)
}
}(booleanProps[i]);
for (var j = 0; j < numericProps.length; j++) StackFrame.prototype["get" + _capitalize(numericProps[j])] = _getter(numericProps[j]), StackFrame.prototype["set" + _capitalize(numericProps[j])] = function(p) {
return function(v) {
if (!_isNumber(v)) throw new TypeError(p + " must be a Number");
this[p] = Number(v)
}
}(numericProps[j]);
for (var k = 0; k < stringProps.length; k++) StackFrame.prototype["get" + _capitalize(stringProps[k])] = _getter(stringProps[k]), StackFrame.prototype["set" + _capitalize(stringProps[k])] = function(p) {
return function(v) {
this[p] = String(v)
}
}(stringProps[k]);
return StackFrame
}) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)
}()
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function assign() {
const args = [].slice.call(arguments).filter(i => i),
dest = args.shift();
return args.forEach(src => {
Object.keys(src).forEach(key => {
dest[key] = src[key]
})
}), dest
}
}, function(module, exports, __webpack_require__) {
var fs = __webpack_require__(250),
constants = __webpack_require__(251),
origCwd = process.cwd,
cwd = null,
platform = process.env.GRACEFUL_FS_PLATFORM || "darwin";
process.cwd = function() {
return cwd || (cwd = origCwd.call(process)), cwd
};
try {
process.cwd()
} catch (er) {}
var chdir = process.chdir;
function chmodFix(orig) {
return orig ? function(target, mode, cb) {
return orig.call(fs, target, mode, function(er) {
chownErOk(er) && (er = null), cb && cb.apply(this, arguments)
})
} : orig
}
function chmodFixSync(orig) {
return orig ? function(target, mode) {
try {
return orig.call(fs, target, mode)
} catch (er) {
if (!chownErOk(er)) throw er
}
} : orig
}
function chownFix(orig) {
return orig ? function(target, uid, gid, cb) {
return orig.call(fs, target, uid, gid, function(er) {
chownErOk(er) && (er = null), cb && cb.apply(this, arguments)
})
} : orig
}
function chownFixSync(orig) {
return orig ? function(target, uid, gid) {
try {
return orig.call(fs, target, uid, gid)
} catch (er) {
if (!chownErOk(er)) throw er
}
} : orig
}
function statFix(orig) {
return orig ? function(target, cb) {
return orig.call(fs, target, function(er, stats) {
if (!stats) return cb.apply(this, arguments);
stats.uid < 0 && (stats.uid += 4294967296), stats.gid < 0 && (stats.gid += 4294967296), cb && cb.apply(this, arguments)
})
} : orig
}
function statFixSync(orig) {
return orig ? function(target) {
var stats = orig.call(fs, target);
return stats.uid < 0 && (stats.uid += 4294967296), stats.gid < 0 && (stats.gid += 4294967296), stats
} : orig
}
function chownErOk(er) {
return !er || ("ENOSYS" === er.code || !(process.getuid && 0 === process.getuid() || "EINVAL" !== er.code && "EPERM" !== er.code))
}
process.chdir = function(d) {
cwd = null, chdir.call(process, d)
}, module.exports = function patch(fs) {
constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./) && function patchLchmod(fs) {
fs.lchmod = function(path, mode, callback) {
fs.open(path, constants.O_WRONLY | constants.O_SYMLINK, mode, function(err, fd) {
err ? callback && callback(err) : fs.fchmod(fd, mode, function(err) {
fs.close(fd, function(err2) {
callback && callback(err || err2)
})
})
})
}, fs.lchmodSync = function(path, mode) {
var ret, fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode),
threw = !0;
try {
ret = fs.fchmodSync(fd, mode), threw = !1
} finally {
if (threw) try {
fs.closeSync(fd)
} catch (er) {} else fs.closeSync(fd)
}
return ret
}
}(fs);
fs.lutimes || function patchLutimes(fs) {
constants.hasOwnProperty("O_SYMLINK") ? (fs.lutimes = function(path, at, mt, cb) {
fs.open(path, constants.O_SYMLINK, function(er, fd) {
er ? cb && cb(er) : fs.futimes(fd, at, mt, function(er) {
fs.close(fd, function(er2) {
cb && cb(er || er2)
})
})
})
}, fs.lutimesSync = function(path, at, mt) {
var ret, fd = fs.openSync(path, constants.O_SYMLINK),
threw = !0;
try {
ret = fs.futimesSync(fd, at, mt), threw = !1
} finally {
if (threw) try {
fs.closeSync(fd)
} catch (er) {} else fs.closeSync(fd)
}
return ret
}) : (fs.lutimes = function(_a, _b, _c, cb) {
cb && process.nextTick(cb)
}, fs.lutimesSync = function() {})
}(fs);
fs.chown = chownFix(fs.chown), fs.fchown = chownFix(fs.fchown), fs.lchown = chownFix(fs.lchown), fs.chmod = chmodFix(fs.chmod), fs.fchmod = chmodFix(fs.fchmod), fs.lchmod = chmodFix(fs.lchmod), fs.chownSync = chownFixSync(fs.chownSync), fs.fchownSync = chownFixSync(fs.fchownSync), fs.lchownSync = chownFixSync(fs.lchownSync), fs.chmodSync = chmodFixSync(fs.chmodSync), fs.fchmodSync = chmodFixSync(fs.fchmodSync), fs.lchmodSync = chmodFixSync(fs.lchmodSync), fs.stat = statFix(fs.stat), fs.fstat = statFix(fs.fstat), fs.lstat = statFix(fs.lstat), fs.statSync = statFixSync(fs.statSync), fs.fstatSync = statFixSync(fs.fstatSync), fs.lstatSync = statFixSync(fs.lstatSync), fs.lchmod || (fs.lchmod = function(path, mode, cb) {
cb && process.nextTick(cb)
}, fs.lchmodSync = function() {});
fs.lchown || (fs.lchown = function(path, uid, gid, cb) {
cb && process.nextTick(cb)
}, fs.lchownSync = function() {});
"win32" === platform && (fs.rename = (fs$rename = fs.rename, function(from, to, cb) {
var start = Date.now(),
backoff = 0;
fs$rename(from, to, function CB(er) {
if (er && ("EACCES" === er.code || "EPERM" === er.code) && Date.now() - start < 6e4) return setTimeout(function() {
fs.stat(to, function(stater, st) {
stater && "ENOENT" === stater.code ? fs$rename(from, to, CB) : cb(er)
})
}, backoff), void(backoff < 100 && (backoff += 10));
cb && cb(er)
})
}));
var fs$rename;
fs.read = (fs$read = fs.read, function(fd, buffer, offset, length, position, callback_) {
var callback;
if (callback_ && "function" == typeof callback_) {
var eagCounter = 0;
callback = function(er, _, __) {
if (er && "EAGAIN" === er.code && eagCounter < 10) return eagCounter++, fs$read.call(fs, fd, buffer, offset, length, position, callback);
callback_.apply(this, arguments)
}
}
return fs$read.call(fs, fd, buffer, offset, length, position, callback)
}), fs.readSync = (fs$readSync = fs.readSync, function(fd, buffer, offset, length, position) {
for (var eagCounter = 0;;) try {
return fs$readSync.call(fs, fd, buffer, offset, length, position)
} catch (er) {
if ("EAGAIN" === er.code && eagCounter < 10) {
eagCounter++;
continue
}
throw er
}
});
var fs$readSync;
var fs$read
}
}, function(module, exports, __webpack_require__) {
var Stream = __webpack_require__(221).Stream;
module.exports = function legacy(fs) {
return {
ReadStream: function ReadStream(path, options) {
if (!(this instanceof ReadStream)) return new ReadStream(path, options);
Stream.call(this);
var self = this;
this.path = path;
this.fd = null;
this.readable = !0;
this.paused = !1;
this.flags = "r";
this.mode = 438;
this.bufferSize = 65536;
options = options || {};
var keys = Object.keys(options);
for (var index = 0, length = keys.length; index < length; index++) {
var key = keys[index];
this[key] = options[key]
}
this.encoding && this.setEncoding(this.encoding);
if (void 0 !== this.start) {
if ("number" != typeof this.start) throw TypeError("start must be a Number");
if (void 0 === this.end) this.end = 1 / 0;
else if ("number" != typeof this.end) throw TypeError("end must be a Number");
if (this.start > this.end) throw new Error("start must be <= end");
this.pos = this.start
}
if (null !== this.fd) return void process.nextTick(function() {
self._read()
});
fs.open(this.path, this.flags, this.mode, function(err, fd) {
if (err) return self.emit("error", err), void(self.readable = !1);
self.fd = fd, self.emit("open", fd), self._read()
})
},
WriteStream: function WriteStream(path, options) {
if (!(this instanceof WriteStream)) return new WriteStream(path, options);
Stream.call(this);
this.path = path;
this.fd = null;
this.writable = !0;
this.flags = "w";
this.encoding = "binary";
this.mode = 438;
this.bytesWritten = 0;
options = options || {};
var keys = Object.keys(options);
for (var index = 0, length = keys.length; index < length; index++) {
var key = keys[index];
this[key] = options[key]
}
if (void 0 !== this.start) {
if ("number" != typeof this.start) throw TypeError("start must be a Number");
if (this.start < 0) throw new Error("start must be >= zero");
this.pos = this.start
}
this.busy = !1;
this._queue = [];
null === this.fd && (this._open = fs.open, this._queue.push([this._open, this.path, this.flags, this.mode, void 0]), this.flush())
}
}
}
}, function(module, exports, __webpack_require__) {
const u = __webpack_require__(55).fromCallback;
module.exports = {
copy: u(__webpack_require__(389))
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
ncp = __webpack_require__(252),
mkdir = __webpack_require__(60),
pathExists = __webpack_require__(93).pathExists;
module.exports = function copy(src, dest, options, callback) {
"function" != typeof options || callback ? ("function" == typeof options || options instanceof RegExp) && (options = {
filter: options
}) : (callback = options, options = {}), callback = callback || function() {}, (options = options || {}).preserveTimestamps && "ia32" === process.arch && console.warn("fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269");
const basePath = process.cwd();
if (path.resolve(basePath, src) === path.resolve(basePath, dest)) return callback(new Error("Source and destination must not be the same."));
fs.lstat(src, (err, stats) => {
if (err) return callback(err);
let dir = null;
if (stats.isDirectory()) {
const parts = dest.split(path.sep);
parts.pop(), dir = parts.join(path.sep)
} else dir = path.dirname(dest);
pathExists(dir, (err, dirExists) => err ? callback(err) : dirExists ? ncp(src, dest, options, callback) : void mkdir.mkdirs(dir, err => {
if (err) return callback(err);
ncp(src, dest, options, callback)
}))
})
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
os = __webpack_require__(25),
path = __webpack_require__(6);
module.exports = {
hasMillisRes: function hasMillisRes(callback) {
let tmpfile = path.join("millis-test" + Date.now().toString() + Math.random().toString().slice(2));
tmpfile = path.join(os.tmpdir(), tmpfile);
const d = new Date(1435410243862);
fs.writeFile(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141", err => {
if (err) return callback(err);
fs.open(tmpfile, "r+", (err, fd) => {
if (err) return callback(err);
fs.futimes(fd, d, d, err => {
if (err) return callback(err);
fs.close(fd, err => {
if (err) return callback(err);
fs.stat(tmpfile, (err, stats) => {
if (err) return callback(err);
callback(null, stats.mtime > 1435410243e3)
})
})
})
})
})
},
hasMillisResSync: function hasMillisResSync() {
let tmpfile = path.join("millis-test-sync" + Date.now().toString() + Math.random().toString().slice(2));
tmpfile = path.join(os.tmpdir(), tmpfile);
const d = new Date(1435410243862);
fs.writeFileSync(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141");
const fd = fs.openSync(tmpfile, "r+");
return fs.futimesSync(fd, d, d), fs.closeSync(fd), fs.statSync(tmpfile).mtime > 1435410243e3
},
timeRemoveMillis: function timeRemoveMillis(timestamp) {
if ("number" == typeof timestamp) return 1e3 * Math.floor(timestamp / 1e3);
if (timestamp instanceof Date) return new Date(1e3 * Math.floor(timestamp.getTime() / 1e3));
throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")
},
utimesMillis: function utimesMillis(path, atime, mtime, callback) {
fs.open(path, "r+", (err, fd) => {
if (err) return callback(err);
fs.futimes(fd, atime, mtime, futimesErr => {
fs.close(fd, closeErr => {
callback && callback(futimesErr || closeErr)
})
})
})
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
o777 = (__webpack_require__(253).invalidWin32Path, parseInt("0777", 8));
module.exports = function mkdirs(p, opts, callback, made) {
"function" == typeof opts ? (callback = opts, opts = {}) : opts && "object" == typeof opts || (opts = {
mode: opts
});
let mode = opts.mode;
const xfs = opts.fs || fs;
void 0 === mode && (mode = o777 & ~process.umask()), made || (made = null), callback = callback || function() {}, p = path.resolve(p), xfs.mkdir(p, mode, er => {
if (!er) return callback(null, made = made || p);
switch (er.code) {
case "ENOENT":
if (path.dirname(p) === p) return callback(er);
mkdirs(path.dirname(p), opts, (er, made) => {
er ? callback(er, made) : mkdirs(p, opts, callback, made)
});
break;
default:
xfs.stat(p, (er2, stat) => {
er2 || !stat.isDirectory() ? callback(er, made) : callback(null, made)
})
}
})
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
o777 = (__webpack_require__(253).invalidWin32Path, parseInt("0777", 8));
module.exports = function mkdirsSync(p, opts, made) {
opts && "object" == typeof opts || (opts = {
mode: opts
});
let mode = opts.mode;
const xfs = opts.fs || fs;
void 0 === mode && (mode = o777 & ~process.umask()), made || (made = null), p = path.resolve(p);
try {
xfs.mkdirSync(p, mode), made = made || p
} catch (err0) {
switch (err0.code) {
case "ENOENT":
if (path.dirname(p) === p) throw err0;
made = mkdirsSync(path.dirname(p), opts, made), mkdirsSync(p, opts, made);
break;
default:
let stat;
try {
stat = xfs.statSync(p)
} catch (err1) {
throw err0
}
if (!stat.isDirectory()) throw err0
}
}
return made
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
copyFileSync = __webpack_require__(394),
mkdir = __webpack_require__(60);
module.exports = function copySync(src, dest, options) {
("function" == typeof options || options instanceof RegExp) && (options = {
filter: options
}), (options = options || {}).recursive = !!options.recursive, options.clobber = !("clobber" in options && !options.clobber), options.overwrite = "overwrite" in options ? !!options.overwrite : options.clobber, options.dereference = "dereference" in options && !!options.dereference, options.preserveTimestamps = "preserveTimestamps" in options && !!options.preserveTimestamps, options.filter = options.filter || function() {
return !0
}, options.preserveTimestamps && "ia32" === process.arch && console.warn("fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269");
const stats = options.recursive && !options.dereference ? fs.lstatSync(src) : fs.statSync(src),
destFolder = path.dirname(dest),
destFolderExists = fs.existsSync(destFolder);
let performCopy = !1;
if (options.filter instanceof RegExp ? (console.warn("Warning: fs-extra: Passing a RegExp filter is deprecated, use a function"), performCopy = options.filter.test(src)) : "function" == typeof options.filter && (performCopy = options.filter(src, dest)), stats.isFile() && performCopy) destFolderExists || mkdir.mkdirsSync(destFolder), copyFileSync(src, dest, {
overwrite: options.overwrite,
errorOnExist: options.errorOnExist,
preserveTimestamps: options.preserveTimestamps
});
else if (stats.isDirectory() && performCopy) fs.existsSync(dest) || mkdir.mkdirsSync(dest), fs.readdirSync(src).forEach(content => {
const opts = options;
opts.recursive = !0, copySync(path.join(src, content), path.join(dest, content), opts)
});
else if (options.recursive && stats.isSymbolicLink() && performCopy) {
const srcPath = fs.readlinkSync(src);
fs.symlinkSync(srcPath, dest)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
BUF_LENGTH = 65536,
_buff = __webpack_require__(255)(BUF_LENGTH);
module.exports = function copyFileSync(srcFile, destFile, options) {
const overwrite = options.overwrite,
errorOnExist = options.errorOnExist,
preserveTimestamps = options.preserveTimestamps;
if (fs.existsSync(destFile)) {
if (!overwrite) {
if (errorOnExist) throw new Error(`${destFile} already exists`);
return
}
fs.unlinkSync(destFile)
}
const fdr = fs.openSync(srcFile, "r"),
stat = fs.fstatSync(fdr),
fdw = fs.openSync(destFile, "w", stat.mode);
let bytesRead = 1,
pos = 0;
for (; bytesRead > 0;) bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos), fs.writeSync(fdw, _buff, 0, bytesRead), pos += bytesRead;
preserveTimestamps && fs.futimesSync(fdw, stat.atime, stat.mtime), fs.closeSync(fdr), fs.closeSync(fdw)
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
assert = __webpack_require__(156),
isWindows = !1;
function defaults(options) {
["unlink", "chmod", "stat", "lstat", "rmdir", "readdir"].forEach(m => {
options[m] = options[m] || fs[m], options[m += "Sync"] = options[m] || fs[m]
}), options.maxBusyTries = options.maxBusyTries || 3
}
function rimraf(p, options, cb) {
let busyTries = 0;
"function" == typeof options && (cb = options, options = {}), assert(p, "rimraf: missing path"), assert.equal(typeof p, "string", "rimraf: path should be a string"), assert.equal(typeof cb, "function", "rimraf: callback function required"), assert(options, "rimraf: invalid options argument provided"), assert.equal(typeof options, "object", "rimraf: options should be object"), defaults(options), rimraf_(p, options, function CB(er) {
if (er) {
if (("EBUSY" === er.code || "ENOTEMPTY" === er.code || "EPERM" === er.code) && busyTries < options.maxBusyTries) {
return busyTries++, setTimeout(() => rimraf_(p, options, CB), 100 * busyTries)
}
"ENOENT" === er.code && (er = null)
}
cb(er)
})
}
function rimraf_(p, options, cb) {
assert(p), assert(options), assert("function" == typeof cb), options.lstat(p, (er, st) => er && "ENOENT" === er.code ? cb(null) : er && "EPERM" === er.code && isWindows ? fixWinEPERM(p, options, er, cb) : st && st.isDirectory() ? rmdir(p, options, er, cb) : void options.unlink(p, er => {
if (er) {
if ("ENOENT" === er.code) return cb(null);
if ("EPERM" === er.code) return isWindows ? fixWinEPERM(p, options, er, cb) : rmdir(p, options, er, cb);
if ("EISDIR" === er.code) return rmdir(p, options, er, cb)
}
return cb(er)
}))
}
function fixWinEPERM(p, options, er, cb) {
assert(p), assert(options), assert("function" == typeof cb), er && assert(er instanceof Error), options.chmod(p, 666, er2 => {
er2 ? cb("ENOENT" === er2.code ? null : er) : options.stat(p, (er3, stats) => {
er3 ? cb("ENOENT" === er3.code ? null : er) : stats.isDirectory() ? rmdir(p, options, er, cb) : options.unlink(p, cb)
})
})
}
function fixWinEPERMSync(p, options, er) {
let stats;
assert(p), assert(options), er && assert(er instanceof Error);
try {
options.chmodSync(p, 666)
} catch (er2) {
if ("ENOENT" === er2.code) return;
throw er
}
try {
stats = options.statSync(p)
} catch (er3) {
if ("ENOENT" === er3.code) return;
throw er
}
stats.isDirectory() ? rmdirSync(p, options, er) : options.unlinkSync(p)
}
function rmdir(p, options, originalEr, cb) {
assert(p), assert(options), originalEr && assert(originalEr instanceof Error), assert("function" == typeof cb), options.rmdir(p, er => {
!er || "ENOTEMPTY" !== er.code && "EEXIST" !== er.code && "EPERM" !== er.code ? er && "ENOTDIR" === er.code ? cb(originalEr) : cb(er) : function rmkids(p, options, cb) {
assert(p), assert(options), assert("function" == typeof cb), options.readdir(p, (er, files) => {
if (er) return cb(er);
let errState, n = files.length;
if (0 === n) return options.rmdir(p, cb);
files.forEach(f => {
rimraf(path.join(p, f), options, er => {
if (!errState) return er ? cb(errState = er) : void(0 == --n && options.rmdir(p, cb))
})
})
})
}(p, options, cb)
})
}
function rimrafSync(p, options) {
let st;
defaults(options = options || {}), assert(p, "rimraf: missing path"), assert.equal(typeof p, "string", "rimraf: path should be a string"), assert(options, "rimraf: missing options"), assert.equal(typeof options, "object", "rimraf: options should be object");
try {
st = options.lstatSync(p)
} catch (er) {
if ("ENOENT" === er.code) return;
"EPERM" === er.code && isWindows && fixWinEPERMSync(p, options, er)
}
try {
st && st.isDirectory() ? rmdirSync(p, options, null) : options.unlinkSync(p)
} catch (er) {
if ("ENOENT" === er.code) return;
if ("EPERM" === er.code) return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er);
if ("EISDIR" !== er.code) throw er;
rmdirSync(p, options, er)
}
}
function rmdirSync(p, options, originalEr) {
assert(p), assert(options), originalEr && assert(originalEr instanceof Error);
try {
options.rmdirSync(p)
} catch (er) {
if ("ENOTDIR" === er.code) throw originalEr;
if ("ENOTEMPTY" === er.code || "EEXIST" === er.code || "EPERM" === er.code) ! function rmkidsSync(p, options) {
assert(p), assert(options), options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options));
const retries = isWindows ? 100 : 1;
let i = 0;
for (;;) {
let threw = !0;
try {
const ret = options.rmdirSync(p, options);
return threw = !1, ret
} finally {
if (++i < retries && threw) continue
}
}
}(p, options);
else if ("ENOENT" !== er.code) throw er
}
}
module.exports = rimraf, rimraf.sync = rimrafSync
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
jsonFile = __webpack_require__(222);
jsonFile.outputJson = u(__webpack_require__(398)), jsonFile.outputJsonSync = __webpack_require__(399), jsonFile.outputJSON = jsonFile.outputJson, jsonFile.outputJSONSync = jsonFile.outputJsonSync, jsonFile.writeJSON = jsonFile.writeJson, jsonFile.writeJSONSync = jsonFile.writeJsonSync, jsonFile.readJSON = jsonFile.readJson, jsonFile.readJSONSync = jsonFile.readJsonSync, module.exports = jsonFile
}, function(module, exports, __webpack_require__) {
var _fs;
try {
_fs = __webpack_require__(31)
} catch (_) {
_fs = __webpack_require__(37)
}
function stripBom(content) {
return Buffer.isBuffer(content) && (content = content.toString("utf8")), content = content.replace(/^\uFEFF/, "")
}
var jsonfile = {
spaces: null,
readFile: function readFile(file, options, callback) {
null == callback && (callback = options, options = {}), "string" == typeof options && (options = {
encoding: options
});
var fs = (options = options || {}).fs || _fs,
shouldThrow = !0;
"passParsingErrors" in options ? shouldThrow = options.passParsingErrors : "throws" in options && (shouldThrow = options.throws), fs.readFile(file, options, function(err, data) {
if (err) return callback(err);
var obj;
data = stripBom(data);
try {
obj = JSON.parse(data, options ? options.reviver : null)
} catch (err2) {
return shouldThrow ? (err2.message = file + ": " + err2.message, callback(err2)) : callback(null, null)
}
callback(null, obj)
})
},
readFileSync: function readFileSync(file, options) {
"string" == typeof(options = options || {}) && (options = {
encoding: options
});
var fs = options.fs || _fs,
shouldThrow = !0;
"passParsingErrors" in options ? shouldThrow = options.passParsingErrors : "throws" in options && (shouldThrow = options.throws);
try {
var content = fs.readFileSync(file, options);
return content = stripBom(content), JSON.parse(content, options.reviver)
} catch (err) {
if (shouldThrow) throw err.message = file + ": " + err.message, err;
return null
}
},
writeFile: function writeFile(file, obj, options, callback) {
null == callback && (callback = options, options = {});
var fs = (options = options || {}).fs || _fs,
spaces = "object" == typeof options && null !== options && "spaces" in options ? options.spaces : this.spaces,
str = "";
try {
str = JSON.stringify(obj, options ? options.replacer : null, spaces) + "\n"
} catch (err) {
return void(callback && callback(err, null))
}
fs.writeFile(file, str, options, callback)
},
writeFileSync: function writeFileSync(file, obj, options) {
var fs = (options = options || {}).fs || _fs,
spaces = "object" == typeof options && null !== options && "spaces" in options ? options.spaces : this.spaces,
str = JSON.stringify(obj, options.replacer, spaces) + "\n";
return fs.writeFileSync(file, str, options)
}
};
module.exports = jsonfile
}, function(module, exports, __webpack_require__) {
"use strict";
const path = __webpack_require__(6),
mkdir = __webpack_require__(60),
pathExists = __webpack_require__(93).pathExists,
jsonFile = __webpack_require__(222);
module.exports = function outputJson(file, data, options, callback) {
"function" == typeof options && (callback = options, options = {});
const dir = path.dirname(file);
pathExists(dir, (err, itDoes) => err ? callback(err) : itDoes ? jsonFile.writeJson(file, data, options, callback) : void mkdir.mkdirs(dir, err => {
if (err) return callback(err);
jsonFile.writeJson(file, data, options, callback)
}))
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
mkdir = __webpack_require__(60),
jsonFile = __webpack_require__(222);
module.exports = function outputJsonSync(file, data, options) {
const dir = path.dirname(file);
fs.existsSync(dir) || mkdir.mkdirsSync(dir), jsonFile.writeJsonSync(file, data, options)
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
fs = __webpack_require__(31),
ncp = __webpack_require__(252),
path = __webpack_require__(6),
remove = __webpack_require__(170).remove,
mkdirp = __webpack_require__(60).mkdirs;
function moveAcrossDevice(src, dest, overwrite, callback) {
fs.stat(src, (err, stat) => {
if (err) return callback(err);
stat.isDirectory() ? moveDirAcrossDevice(src, dest, overwrite, callback) : function moveFileAcrossDevice(src, dest, overwrite, callback) {
const flags = overwrite ? "w" : "wx",
ins = fs.createReadStream(src),
outs = fs.createWriteStream(dest, {
flags
});
function onClose() {
fs.unlink(src, callback)
}
ins.on("error", err => {
ins.destroy(), outs.destroy(), outs.removeListener("close", onClose), fs.unlink(dest, () => {
"EISDIR" === err.code || "EPERM" === err.code ? moveDirAcrossDevice(src, dest, overwrite, callback) : callback(err)
})
}), outs.on("error", err => {
ins.destroy(), outs.destroy(), outs.removeListener("close", onClose), callback(err)
}), outs.once("close", onClose), ins.pipe(outs)
}(src, dest, overwrite, callback)
})
}
function moveDirAcrossDevice(src, dest, overwrite, callback) {
const options = {
overwrite: !1
};
function startNcp() {
ncp(src, dest, options, err => {
if (err) return callback(err);
remove(src, callback)
})
}
overwrite ? remove(dest, err => {
if (err) return callback(err);
startNcp()
}) : startNcp()
}
module.exports = {
move: u(function move(src, dest, options, callback) {
"function" == typeof options && (callback = options, options = {});
const overwrite = options.overwrite || options.clobber || !1;
! function isSrcSubdir(src, dest, cb) {
fs.stat(src, (err, st) => {
if (err) return cb(err);
if (st.isDirectory()) {
const baseDir = dest.split(path.dirname(src) + path.sep)[1];
if (baseDir) {
const destBasename = baseDir.split(path.sep)[0];
return cb(null, !!destBasename && (src !== dest && dest.indexOf(src) > -1 && destBasename === path.basename(src)))
}
return cb(null, !1)
}
return cb(null, !1)
})
}(src, dest, (err, itIs) => err ? callback(err) : itIs ? callback(new Error(`Cannot move '${src}' to a subdirectory of itself, '${dest}'.`)) : void mkdirp(path.dirname(dest), err => {
if (err) return callback(err);
! function doRename() {
path.resolve(src) === path.resolve(dest) ? fs.access(src, callback) : overwrite ? fs.rename(src, dest, err => {
if (!err) return callback();
if ("ENOTEMPTY" !== err.code && "EEXIST" !== err.code) {
if ("EPERM" !== err.code) return "EXDEV" !== err.code ? callback(err) : void moveAcrossDevice(src, dest, overwrite, callback);
setTimeout(() => {
remove(dest, err => {
if (err) return callback(err);
options.overwrite = !1, move(src, dest, options, callback)
})
}, 200)
} else remove(dest, err => {
if (err) return callback(err);
options.overwrite = !1, move(src, dest, options, callback)
})
}) : fs.link(src, dest, err => err ? "EXDEV" === err.code || "EISDIR" === err.code || "EPERM" === err.code || "ENOTSUP" === err.code ? moveAcrossDevice(src, dest, overwrite, callback) : callback(err) : fs.unlink(src, callback))
}()
}))
})
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31),
path = __webpack_require__(6),
copySync = __webpack_require__(254).copySync,
removeSync = __webpack_require__(170).removeSync,
mkdirpSync = __webpack_require__(60).mkdirsSync,
buffer = __webpack_require__(255);
function moveSyncAcrossDevice(src, dest, overwrite) {
return fs.statSync(src).isDirectory() ? function moveDirSyncAcrossDevice(src, dest, overwrite) {
const options = {
overwrite: !1
};
overwrite ? (removeSync(dest), tryCopySync()) : tryCopySync();
function tryCopySync() {
return copySync(src, dest, options), removeSync(src)
}
}(src, dest, overwrite) : function moveFileSyncAcrossDevice(src, dest, overwrite) {
const _buff = buffer(65536),
flags = overwrite ? "w" : "wx",
fdr = fs.openSync(src, "r"),
stat = fs.fstatSync(fdr),
fdw = fs.openSync(dest, flags, stat.mode);
let bytesRead = 1,
pos = 0;
for (; bytesRead > 0;) bytesRead = fs.readSync(fdr, _buff, 0, 65536, pos), fs.writeSync(fdw, _buff, 0, bytesRead), pos += bytesRead;
return fs.closeSync(fdr), fs.closeSync(fdw), fs.unlinkSync(src)
}(src, dest, overwrite)
}
module.exports = {
moveSync: function moveSync(src, dest, options) {
const overwrite = (options = options || {}).overwrite || options.clobber || !1;
if (src = path.resolve(src), dest = path.resolve(dest), src === dest) return fs.accessSync(src);
if (function isSrcSubdir(src, dest) {
try {
return fs.statSync(src).isDirectory() && src !== dest && dest.indexOf(src) > -1 && dest.split(path.dirname(src) + path.sep)[1].split(path.sep)[0] === path.basename(src)
} catch (e) {
return !1
}
}(src, dest)) throw new Error(`Cannot move '${src}' into itself '${dest}'.`);
mkdirpSync(path.dirname(dest)),
function tryRenameSync() {
if (overwrite) try {
return fs.renameSync(src, dest)
} catch (err) {
if ("ENOTEMPTY" === err.code || "EEXIST" === err.code || "EPERM" === err.code) return removeSync(dest), options.overwrite = !1, moveSync(src, dest, options);
if ("EXDEV" !== err.code) throw err;
return moveSyncAcrossDevice(src, dest, overwrite)
} else try {
return fs.linkSync(src, dest), fs.unlinkSync(src)
} catch (err) {
if ("EXDEV" === err.code || "EISDIR" === err.code || "EPERM" === err.code || "ENOTSUP" === err.code) return moveSyncAcrossDevice(src, dest, overwrite);
throw err
}
}()
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
fs = __webpack_require__(37),
path = __webpack_require__(6),
mkdir = __webpack_require__(60),
remove = __webpack_require__(170),
emptyDir = u(function emptyDir(dir, callback) {
callback = callback || function() {}, fs.readdir(dir, (err, items) => {
if (err) return mkdir.mkdirs(dir, callback);
items = items.map(item => path.join(dir, item)),
function deleteItem() {
const item = items.pop();
if (!item) return callback();
remove.remove(item, err => {
if (err) return callback(err);
deleteItem()
})
}()
})
});
function emptyDirSync(dir) {
let items;
try {
items = fs.readdirSync(dir)
} catch (err) {
return mkdir.mkdirsSync(dir)
}
items.forEach(item => {
item = path.join(dir, item), remove.removeSync(item)
})
}
module.exports = {
emptyDirSync,
emptydirSync: emptyDirSync,
emptyDir,
emptydir: emptyDir
}
}, function(module, exports, __webpack_require__) {
"use strict";
const file = __webpack_require__(404),
link = __webpack_require__(405),
symlink = __webpack_require__(406);
module.exports = {
createFile: file.createFile,
createFileSync: file.createFileSync,
ensureFile: file.createFile,
ensureFileSync: file.createFileSync,
createLink: link.createLink,
createLinkSync: link.createLinkSync,
ensureLink: link.createLink,
ensureLinkSync: link.createLinkSync,
createSymlink: symlink.createSymlink,
createSymlinkSync: symlink.createSymlinkSync,
ensureSymlink: symlink.createSymlink,
ensureSymlinkSync: symlink.createSymlinkSync
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
path = __webpack_require__(6),
fs = __webpack_require__(31),
mkdir = __webpack_require__(60),
pathExists = __webpack_require__(93).pathExists;
module.exports = {
createFile: u(function createFile(file, callback) {
function makeFile() {
fs.writeFile(file, "", err => {
if (err) return callback(err);
callback()
})
}
fs.stat(file, (err, stats) => {
if (!err && stats.isFile()) return callback();
const dir = path.dirname(file);
pathExists(dir, (err, dirExists) => err ? callback(err) : dirExists ? makeFile() : void mkdir.mkdirs(dir, err => {
if (err) return callback(err);
makeFile()
}))
})
}),
createFileSync: function createFileSync(file) {
let stats;
try {
stats = fs.statSync(file)
} catch (e) {}
if (stats && stats.isFile()) return;
const dir = path.dirname(file);
fs.existsSync(dir) || mkdir.mkdirsSync(dir), fs.writeFileSync(file, "")
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
path = __webpack_require__(6),
fs = __webpack_require__(31),
mkdir = __webpack_require__(60),
pathExists = __webpack_require__(93).pathExists;
module.exports = {
createLink: u(function createLink(srcpath, dstpath, callback) {
function makeLink(srcpath, dstpath) {
fs.link(srcpath, dstpath, err => {
if (err) return callback(err);
callback(null)
})
}
pathExists(dstpath, (err, destinationExists) => err ? callback(err) : destinationExists ? callback(null) : void fs.lstat(srcpath, (err, stat) => {
if (err) return err.message = err.message.replace("lstat", "ensureLink"), callback(err);
const dir = path.dirname(dstpath);
pathExists(dir, (err, dirExists) => err ? callback(err) : dirExists ? makeLink(srcpath, dstpath) : void mkdir.mkdirs(dir, err => {
if (err) return callback(err);
makeLink(srcpath, dstpath)
}))
}))
}),
createLinkSync: function createLinkSync(srcpath, dstpath, callback) {
if (fs.existsSync(dstpath)) return;
try {
fs.lstatSync(srcpath)
} catch (err) {
throw err.message = err.message.replace("lstat", "ensureLink"), err
}
const dir = path.dirname(dstpath);
return fs.existsSync(dir) ? fs.linkSync(srcpath, dstpath) : (mkdir.mkdirsSync(dir), fs.linkSync(srcpath, dstpath))
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
path = __webpack_require__(6),
fs = __webpack_require__(31),
_mkdirs = __webpack_require__(60),
mkdirs = _mkdirs.mkdirs,
mkdirsSync = _mkdirs.mkdirsSync,
_symlinkPaths = __webpack_require__(407),
symlinkPaths = _symlinkPaths.symlinkPaths,
symlinkPathsSync = _symlinkPaths.symlinkPathsSync,
_symlinkType = __webpack_require__(408),
symlinkType = _symlinkType.symlinkType,
symlinkTypeSync = _symlinkType.symlinkTypeSync,
pathExists = __webpack_require__(93).pathExists;
module.exports = {
createSymlink: u(function createSymlink(srcpath, dstpath, type, callback) {
callback = "function" == typeof type ? type : callback, type = "function" != typeof type && type, pathExists(dstpath, (err, destinationExists) => err ? callback(err) : destinationExists ? callback(null) : void symlinkPaths(srcpath, dstpath, (err, relative) => {
if (err) return callback(err);
srcpath = relative.toDst, symlinkType(relative.toCwd, type, (err, type) => {
if (err) return callback(err);
const dir = path.dirname(dstpath);
pathExists(dir, (err, dirExists) => err ? callback(err) : dirExists ? fs.symlink(srcpath, dstpath, type, callback) : void mkdirs(dir, err => {
if (err) return callback(err);
fs.symlink(srcpath, dstpath, type, callback)
}))
})
}))
}),
createSymlinkSync: function createSymlinkSync(srcpath, dstpath, type, callback) {
if (callback = "function" == typeof type ? type : callback, type = "function" != typeof type && type, fs.existsSync(dstpath)) return;
const relative = symlinkPathsSync(srcpath, dstpath);
srcpath = relative.toDst, type = symlinkTypeSync(relative.toCwd, type);
const dir = path.dirname(dstpath);
return fs.existsSync(dir) ? fs.symlinkSync(srcpath, dstpath, type) : (mkdirsSync(dir), fs.symlinkSync(srcpath, dstpath, type))
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const path = __webpack_require__(6),
fs = __webpack_require__(31),
pathExists = __webpack_require__(93).pathExists;
module.exports = {
symlinkPaths: function symlinkPaths(srcpath, dstpath, callback) {
if (path.isAbsolute(srcpath)) return fs.lstat(srcpath, (err, stat) => err ? (err.message = err.message.replace("lstat", "ensureSymlink"), callback(err)) : callback(null, {
toCwd: srcpath,
toDst: srcpath
})); {
const dstdir = path.dirname(dstpath),
relativeToDst = path.join(dstdir, srcpath);
return pathExists(relativeToDst, (err, exists) => err ? callback(err) : exists ? callback(null, {
toCwd: relativeToDst,
toDst: srcpath
}) : fs.lstat(srcpath, (err, stat) => err ? (err.message = err.message.replace("lstat", "ensureSymlink"), callback(err)) : callback(null, {
toCwd: srcpath,
toDst: path.relative(dstdir, srcpath)
})))
}
},
symlinkPathsSync: function symlinkPathsSync(srcpath, dstpath) {
let exists;
if (path.isAbsolute(srcpath)) {
if (!(exists = fs.existsSync(srcpath))) throw new Error("absolute srcpath does not exist");
return {
toCwd: srcpath,
toDst: srcpath
}
} {
const dstdir = path.dirname(dstpath),
relativeToDst = path.join(dstdir, srcpath);
if (exists = fs.existsSync(relativeToDst)) return {
toCwd: relativeToDst,
toDst: srcpath
};
if (!(exists = fs.existsSync(srcpath))) throw new Error("relative srcpath does not exist");
return {
toCwd: srcpath,
toDst: path.relative(dstdir, srcpath)
}
}
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const fs = __webpack_require__(31);
module.exports = {
symlinkType: function symlinkType(srcpath, type, callback) {
if (callback = "function" == typeof type ? type : callback, type = "function" != typeof type && type) return callback(null, type);
fs.lstat(srcpath, (err, stats) => {
if (err) return callback(null, "file");
type = stats && stats.isDirectory() ? "dir" : "file", callback(null, type)
})
},
symlinkTypeSync: function symlinkTypeSync(srcpath, type) {
let stats;
if (type) return type;
try {
stats = fs.lstatSync(srcpath)
} catch (e) {
return "file"
}
return stats && stats.isDirectory() ? "dir" : "file"
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const u = __webpack_require__(55).fromCallback,
fs = __webpack_require__(31),
path = __webpack_require__(6),
mkdir = __webpack_require__(60),
pathExists = __webpack_require__(93).pathExists;
module.exports = {
outputFile: u(function outputFile(file, data, encoding, callback) {
"function" == typeof encoding && (callback = encoding, encoding = "utf8");
const dir = path.dirname(file);
pathExists(dir, (err, itDoes) => err ? callback(err) : itDoes ? fs.writeFile(file, data, encoding, callback) : void mkdir.mkdirs(dir, err => {
if (err) return callback(err);
fs.writeFile(file, data, encoding, callback)
}))
}),
outputFileSync: function outputFileSync(file, data, encoding) {
const dir = path.dirname(file);
if (fs.existsSync(dir)) return fs.writeFileSync.apply(fs, arguments);
mkdir.mkdirsSync(dir), fs.writeFileSync.apply(fs, arguments)
}
}
}, function(module, exports) {
module.exports = require("@nodert-win10-au/windows.applicationmodel")
}, function(module, exports, __webpack_require__) {
"use strict";
const arrayify = __webpack_require__(61),
t = __webpack_require__(48);
function testValue(value, test, options) {
if (options = options || {}, test !== Object.prototype && t.isPlainObject(test) && t.isObject(value) && !options.strict) return Object.keys(test).every(function(prop) {
let queryValue = test[prop],
isNegated = !1,
isContains = !1;
"!" === prop.charAt(0) ? isNegated = !0 : "+" === prop.charAt(0) && (isContains = !0), prop = isNegated || isContains ? prop.slice(1) : prop;
let objectValue = value[prop];
isContains && (queryValue = arrayify(queryValue), objectValue = arrayify(objectValue));
const result = testValue(objectValue, queryValue, options);
return isNegated ? !result : result
});
if (test !== Array.prototype && Array.isArray(test)) {
const tests = test;
return value !== Array.prototype && Array.isArray(value) || (value = [value]), value.some(function(val) {
return tests.some(function(test) {
return testValue(val, test, options)
})
})
}
return test instanceof RegExp ? -1 !== ["boolean", "string", "number"].indexOf(typeof value) && test.test(value) : test !== Function.prototype && "function" == typeof test ? test(value) : test === value
}
module.exports = testValue, testValue.where = function(test) {
return function(value) {
return testValue(value, test)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const argvTools = __webpack_require__(256);
module.exports = class ArgvParser {
constructor(definitions, options) {
this.options = Object.assign({}, options);
const Definitions = __webpack_require__(223);
this.definitions = Definitions.from(definitions), this.argv = argvTools.ArgvArray.from(this.options.argv), this.argv.hasCombinedShortOptions() && __webpack_require__(257)(this.argv, argvTools.re.combinedShort, arg => (arg = arg.slice(1)).split("").map(letter => ({
origArg: `-${arg}`,
arg: "-" + letter
})))
}*[Symbol.iterator]() {
const definitions = this.definitions,
t = __webpack_require__(48);
let def, value, name, event, origArg, singularDefaultSet = !1,
unknownFound = !1;
for (let arg of this.argv) {
if (t.isPlainObject(arg) && (origArg = arg.origArg, arg = arg.arg), unknownFound && this.options.stopAtFirstUnknown) {
yield {
event: "unknown_value",
arg,
name: "_unknown",
value: void 0
};
continue
}
if (argvTools.isOption(arg)) value = void 0, (def = definitions.get(arg)) ? (value = !!def.isBoolean() || null, event = "set") : event = "unknown_option";
else if (argvTools.isOptionEqualsNotation(arg)) {
const matches = arg.match(argvTools.re.optEquals);
(def = definitions.get(matches[1])) ? def.isBoolean() ? (yield {
event: "unknown_value",
arg,
name: "_unknown",
value,
def
}, event = "set", value = !0) : (event = "set", value = matches[2]): event = "unknown_option"
} else argvTools.isValue(arg) && (def ? (value = arg, event = "set") : (def = this.definitions.getDefault()) && !singularDefaultSet ? (value = arg, event = "set") : (event = "unknown_value", def = void 0));
const argInfo = {
event,
arg,
name: name = def ? def.name : "_unknown",
value,
def
};
origArg && (argInfo.subArg = arg, argInfo.arg = origArg), yield argInfo, "_unknown" === name && (unknownFound = !0), def && def.defaultOption && !def.isMultiple() && "set" === event && (singularDefaultSet = !0), def && def.isBoolean() && (def = void 0), def && !def.multiple && t.isDefined(value) && null !== value && (def = void 0), value = void 0, event = void 0, name = void 0, origArg = void 0
}
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const Option = __webpack_require__(224);
module.exports = class FlagOption extends Option {
set(val) {
super.set(!0)
}
static create(def) {
return new this(def)
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const Output = __webpack_require__(259);
module.exports = class GroupedOutput extends Output {
toObject(options) {
const arrayify = __webpack_require__(61),
t = __webpack_require__(48),
camelCase = __webpack_require__(260),
superOutputNoCamel = super.toObject({
skipUnknown: options.skipUnknown
}),
superOutput = super.toObject(options),
unknown = superOutput._unknown;
delete superOutput._unknown;
const grouped = {
_all: superOutput
};
return unknown && unknown.length && (grouped._unknown = unknown), this.definitions.whereGrouped().forEach(def => {
const name = options.camelCase ? camelCase(def.name) : def.name,
outputValue = superOutputNoCamel[def.name];
for (const groupName of arrayify(def.group)) grouped[groupName] = grouped[groupName] || {}, t.isDefined(outputValue) && (grouped[groupName][name] = outputValue)
}), this.definitions.whereNotGrouped().forEach(def => {
const name = options.camelCase ? camelCase(def.name) : def.name,
outputValue = superOutputNoCamel[def.name];
t.isDefined(outputValue) && (grouped._none || (grouped._none = {}), grouped._none[name] = outputValue)
}), grouped
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const Section = __webpack_require__(261),
Table = __webpack_require__(267),
chalkFormat = __webpack_require__(171),
t = __webpack_require__(48),
arrayify = __webpack_require__(61);
function getOptionNames(definition, reverseNameOrder) {
let type = definition.type ? definition.type.name.toLowerCase() : "";
const multiple = definition.multiple ? "[]" : "";
type && (type = "boolean" === type ? "" : `{underline ${type}${multiple}}`), type = chalkFormat(definition.typeLabel || type);
let result = "";
return result = definition.alias ? reverseNameOrder ? `${chalkFormat(`{bold --${definition.name}}`)}, ${chalkFormat(`{bold -${definition.alias}}`)} ${type}` : `${chalkFormat(`{bold -${definition.alias}}`)}, ${chalkFormat(`{bold --${definition.name}} ${type}`)}` : `${chalkFormat(`{bold --${definition.name}}`)} ${type}`
}
module.exports = class OptionList extends Section {
constructor(data) {
super();
let definitions = arrayify(data.optionList);
const hide = arrayify(data.hide),
groups = arrayify(data.group);
if (hide.length && (definitions = definitions.filter(definition => -1 === hide.indexOf(definition.name))), !definitions.every(d => d.name)) throw new Error("Every definition in the optionList must have a `name` property");
data.header && this.header(data.header), groups.length && (definitions = definitions.filter(def => {
const noGroupMatch = groups.indexOf("_none") > -1 && !t.isDefined(def.group),
groupMatch = function intersect(arr1, arr2) {
return arr1.some(function(item1) {
return arr2.some(function(item2) {
return item1 === item2
})
})
}(arrayify(def.group), groups);
if (noGroupMatch || groupMatch) return def
}));
const rows = definitions.map(def => ({
option: getOptionNames(def, data.reverseNameOrder),
description: chalkFormat(def.description)
})),
tableOptions = data.tableOptions || {
padding: {
left: " ",
right: " "
},
columns: [{
name: "option",
noWrap: !0
}, {
name: "description",
maxWidth: 80
}]
},
table = new Table(rows, tableOptions);
this.add(table.renderLines()), this.emptyLine()
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
(function(module) {
const colorConvert = __webpack_require__(264),
wrapAnsi16 = (fn, offset) => (function() {
return `[${fn.apply(colorConvert,arguments)+offset}m`
}),
wrapAnsi256 = (fn, offset) => (function() {
const code = fn.apply(colorConvert, arguments);
return `[${38+offset};5;${code}m`
}),
wrapAnsi16m = (fn, offset) => (function() {
const rgb = fn.apply(colorConvert, arguments);
return `[${38+offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`
});
Object.defineProperty(module, "exports", {
enumerable: !0,
get: function assembleStyles() {
const codes = new Map,
styles = {
modifier: {
reset: [0, 0],
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
gray: [90, 39],
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
bgBlackBright: [100, 49],
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
styles.color.grey = styles.color.gray;
for (const groupName of Object.keys(styles)) {
const group = styles[groupName];
for (const styleName of Object.keys(group)) {
const style = group[styleName];
styles[styleName] = {
open: `[${style[0]}m`,
close: `[${style[1]}m`
}, group[styleName] = styles[styleName], codes.set(style[0], style[1])
}
Object.defineProperty(styles, groupName, {
value: group,
enumerable: !1
}), Object.defineProperty(styles, "codes", {
value: codes,
enumerable: !1
})
}
const ansi2ansi = n => n,
rgb2rgb = (r, g, b) => [r, g, b];
styles.color.close = "", styles.bgColor.close = "", styles.color.ansi = {
ansi: wrapAnsi16(ansi2ansi, 0)
}, styles.color.ansi256 = {
ansi256: wrapAnsi256(ansi2ansi, 0)
}, styles.color.ansi16m = {
rgb: wrapAnsi16m(rgb2rgb, 0)
}, styles.bgColor.ansi = {
ansi: wrapAnsi16(ansi2ansi, 10)
}, styles.bgColor.ansi256 = {
ansi256: wrapAnsi256(ansi2ansi, 10)
}, styles.bgColor.ansi16m = {
rgb: wrapAnsi16m(rgb2rgb, 10)
};
for (let key of Object.keys(colorConvert)) {
if ("object" != typeof colorConvert[key]) continue;
const suite = colorConvert[key];
"ansi16" === key && (key = "ansi"), "ansi16" in suite && (styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0), styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10)), "ansi256" in suite && (styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0), styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10)), "rgb" in suite && (styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0), styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10))
}
return styles
}
})
}).call(this, __webpack_require__(225)(module))
}, function(module, exports, __webpack_require__) {
var conversions = __webpack_require__(265);
function deriveBFS(fromModel) {
var graph = function buildGraph() {
for (var graph = {}, models = Object.keys(conversions), len = models.length, i = 0; i < len; i++) graph[models[i]] = {
distance: -1,
parent: null
};
return graph
}(),
queue = [fromModel];
for (graph[fromModel].distance = 0; queue.length;)
for (var current = queue.pop(), adjacents = Object.keys(conversions[current]), len = adjacents.length, i = 0; i < len; i++) {
var adjacent = adjacents[i],
node = graph[adjacent]; - 1 === node.distance && (node.distance = graph[current].distance + 1, node.parent = current, queue.unshift(adjacent))
}
return graph
}
function link(from, to) {
return function(args) {
return to(from(args))
}
}
function wrapConversion(toModel, graph) {
for (var path = [graph[toModel].parent, toModel], fn = conversions[graph[toModel].parent][toModel], cur = graph[toModel].parent; graph[cur].parent;) path.unshift(graph[cur].parent), fn = link(conversions[graph[cur].parent][cur], fn), cur = graph[cur].parent;
return fn.conversion = path, fn
}
module.exports = function(fromModel) {
for (var graph = deriveBFS(fromModel), conversion = {}, models = Object.keys(graph), len = models.length, i = 0; i < len; i++) {
var toModel = models[i];
null !== graph[toModel].parent && (conversion[toModel] = wrapConversion(toModel, graph))
}
return conversion
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = {
stdout: !1,
stderr: !1
}
}, function(module, exports, __webpack_require__) {
"use strict";
const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,
STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,
STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,
ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,
ESCAPES = new Map([
["n", "\n"],
["r", "\r"],
["t", "\t"],
["b", "\b"],
["f", "\f"],
["v", "\v"],
["0", "\0"],
["\\", "\\"],
["e", ""],
["a", ""]
]);
function unescape(c) {
return "u" === c[0] && 5 === c.length || "x" === c[0] && 3 === c.length ? String.fromCharCode(parseInt(c.slice(1), 16)) : ESCAPES.get(c) || c
}
function parseArguments(name, args) {
const results = [],
chunks = args.trim().split(/\s*,\s*/g);
let matches;
for (const chunk of chunks)
if (isNaN(chunk)) {
if (!(matches = chunk.match(STRING_REGEX))) throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr))
} else results.push(Number(chunk));
return results
}
function parseStyle(style) {
STYLE_REGEX.lastIndex = 0;
const results = [];
let matches;
for (; null !== (matches = STYLE_REGEX.exec(style));) {
const name = matches[1];
if (matches[2]) {
const args = parseArguments(name, matches[2]);
results.push([name].concat(args))
} else results.push([name])
}
return results
}
function buildStyle(chalk, styles) {
const enabled = {};
for (const layer of styles)
for (const style of layer.styles) enabled[style[0]] = layer.inverse ? null : style.slice(1);
let current = chalk;
for (const styleName of Object.keys(enabled))
if (Array.isArray(enabled[styleName])) {
if (!(styleName in current)) throw new Error(`Unknown Chalk style: ${styleName}`);
current = enabled[styleName].length > 0 ? current[styleName].apply(current, enabled[styleName]) : current[styleName]
} return current
}
module.exports = (chalk, tmp) => {
const styles = [],
chunks = [];
let chunk = [];
if (tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {
if (escapeChar) chunk.push(unescape(escapeChar));
else if (style) {
const str = chunk.join("");
chunk = [], chunks.push(0 === styles.length ? str : buildStyle(chalk, styles)(str)), styles.push({
inverse,
styles: parseStyle(style)
})
} else if (close) {
if (0 === styles.length) throw new Error("Found extraneous } in Chalk template literal");
chunks.push(buildStyle(chalk, styles)(chunk.join(""))), chunk = [], styles.pop()
} else chunk.push(chr)
}), chunks.push(chunk.join("")), styles.length > 0) {
const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${1===styles.length?"":"s"} (\`}\`)`;
throw new Error(errMsg)
}
return chunks.join("")
}
}, function(module, exports, __webpack_require__) {
"use strict";
function isSpecificValue(val) {
return val instanceof Buffer || val instanceof Date || val instanceof RegExp
}
function cloneSpecificValue(val) {
if (val instanceof Buffer) {
var x = Buffer.alloc ? Buffer.alloc(val.length) : new Buffer(val.length);
return val.copy(x), x
}
if (val instanceof Date) return new Date(val.getTime());
if (val instanceof RegExp) return new RegExp(val);
throw new Error("Unexpected situation")
}
function safeGetProperty(object, property) {
return "__proto__" === property ? void 0 : object[property]
}
var deepExtend = module.exports = function() {
if (arguments.length < 1 || "object" != typeof arguments[0]) return !1;
if (arguments.length < 2) return arguments[0];
var val, src, target = arguments[0];
return Array.prototype.slice.call(arguments, 1).forEach(function(obj) {
"object" != typeof obj || null === obj || Array.isArray(obj) || Object.keys(obj).forEach(function(key) {
return src = safeGetProperty(target, key), (val = safeGetProperty(obj, key)) === target ? void 0 : "object" != typeof val || null === val ? void(target[key] = val) : Array.isArray(val) ? void(target[key] = function deepCloneArray(arr) {
var clone = [];
return arr.forEach(function(item, index) {
"object" == typeof item && null !== item ? Array.isArray(item) ? clone[index] = deepCloneArray(item) : isSpecificValue(item) ? clone[index] = cloneSpecificValue(item) : clone[index] = deepExtend({}, item) : clone[index] = item
}), clone
}(val)) : isSpecificValue(val) ? void(target[key] = cloneSpecificValue(val)) : "object" != typeof src || null === src || Array.isArray(src) ? void(target[key] = deepExtend({}, val)) : void(target[key] = deepExtend(src, val))
})
}), target
}
}, function(module, exports, __webpack_require__) {
"use strict";
const arrayify = __webpack_require__(61),
Cell = __webpack_require__(268),
t = __webpack_require__(48);
module.exports = class Rows {
constructor(rows, columns) {
this.list = [], this.load(rows, columns)
}
load(rows, columns) {
arrayify(rows).forEach(row => {
this.list.push(new Map(function objectToIterable(row, columns) {
return columns.list.map(column => [column, new Cell(row[column.name], column)])
}(row, columns)))
})
}
static removeEmptyColumns(data) {
const emptyColumns = data.reduce((columnNames, row) => (Object.keys(row).forEach(key => {
-1 === columnNames.indexOf(key) && columnNames.push(key)
}), columnNames), []).filter(columnName => !data.some(row => {
const value = row[columnName];
return t.isDefined(value) && !t.isString(value) || t.isString(value) && /\S+/.test(value)
}));
return data.map(row => (emptyColumns.forEach(emptyCol => delete row[emptyCol]), row))
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
const t = __webpack_require__(48),
arrayify = __webpack_require__(61),
Column = __webpack_require__(423),
wrap = __webpack_require__(269),
Cell = __webpack_require__(268),
ansi = __webpack_require__(270),
_maxWidth = new WeakMap;
class Columns {
constructor(columns) {
this.list = [], arrayify(columns).forEach(this.add.bind(this))
}
totalWidth() {
return this.list.length ? this.list.map(col => col.generatedWidth).reduce((a, b) => a + b) : 0
}
totalFixedWidth() {
return this.getFixed().map(col => col.generatedWidth).reduce((a, b) => a + b, 0)
}
get(columnName) {
return this.list.find(column => column.name === columnName)
}
getResizable() {
return this.list.filter(column => column.isResizable())
}
getFixed() {
return this.list.filter(column => column.isFixed())
}
add(column) {
const col = column instanceof Column ? column : new Column(column);
return this.list.push(col), col
}
set maxWidth(val) {
_maxWidth.set(this, val)
}
autoSize() {
const maxWidth = _maxWidth.get(this);
this.list.forEach(column => {
column.generateWidth(), column.generateMinWidth()
}), this.list.forEach(column => {
t.isDefined(column.maxWidth) && column.generatedWidth > column.maxWidth && (column.generatedWidth = column.maxWidth), t.isDefined(column.minWidth) && column.generatedWidth < column.minWidth && (column.generatedWidth = column.minWidth)
});
this.totalWidth();
const width_diff = this.totalWidth() - maxWidth,
width_totalResizable = (this.totalFixedWidth(), Math.max(maxWidth - this.totalFixedWidth(), 0));
if (width_diff > 0) {
let resizableColumns = this.getResizable();
resizableColumns.forEach(column => {
column.generatedWidth = Math.floor(width_totalResizable / resizableColumns.length)
});
const grownColumns = this.list.filter(column => column.generatedWidth > column.contentWidth),
shrunkenColumns = this.list.filter(column => column.generatedWidth < column.contentWidth);
let salvagedSpace = 0;
grownColumns.forEach(column => {
const currentGeneratedWidth = column.generatedWidth;
column.generateWidth(), salvagedSpace += currentGeneratedWidth - column.generatedWidth
}), shrunkenColumns.forEach(column => {
column.generatedWidth += Math.floor(salvagedSpace / shrunkenColumns.length)
})
}
return this
}
static getColumns(rows) {
var columns = new Columns;
return arrayify(rows).forEach(row => {
for (let columnName in row) {
let column = columns.get(columnName);
column || (column = columns.add({
name: columnName,
contentWidth: 0,
minContentWidth: 0
}));
let cellValue = new Cell(row[columnName], column).value;
ansi.has(cellValue) && (cellValue = ansi.remove(cellValue)), cellValue.length > column.contentWidth && (column.contentWidth = cellValue.length);
let longestWord = getLongestWord(cellValue);
longestWord > column.minContentWidth && (column.minContentWidth = longestWord), column.contentWrappable || (column.contentWrappable = wrap.isWrappable(cellValue))
}
}), columns
}
}
function getLongestWord(line) {
return wrap.getChunks(line).reduce((max, word) => Math.max(word.length, max), 0)
}
module.exports = Columns
}, function(module, exports, __webpack_require__) {
"use strict";
const t = __webpack_require__(48),
Padding = __webpack_require__(424),
_padding = new WeakMap;
module.exports = class Column {
constructor(column) {
t.isDefined(column.name) && (this.name = column.name), t.isDefined(column.width) && (this.width = column.width), t.isDefined(column.maxWidth) && (this.maxWidth = column.maxWidth), t.isDefined(column.minWidth) && (this.minWidth = column.minWidth), t.isDefined(column.noWrap) && (this.noWrap = column.noWrap), t.isDefined(column.break) && (this.break = column.break), t.isDefined(column.contentWrappable) && (this.contentWrappable = column.contentWrappable), t.isDefined(column.contentWidth) && (this.contentWidth = column.contentWidth), t.isDefined(column.minContentWidth) && (this.minContentWidth = column.minContentWidth), this.padding = column.padding || {
left: " ",
right: " "
}, this.generatedWidth = null
}
set padding(padding) {
_padding.set(this, new Padding(padding))
}
get padding() {
return _padding.get(this)
}
get wrappedContentWidth() {
return Math.max(this.generatedWidth - this.padding.length(), 0)
}
isResizable() {
return !this.isFixed()
}
isFixed() {
return t.isDefined(this.width) || this.noWrap || !this.contentWrappable
}
generateWidth() {
this.generatedWidth = this.width || this.contentWidth + this.padding.length()
}
generateMinWidth() {
this.minWidth = this.minContentWidth + this.padding.length()
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = class Padding {
constructor(padding) {
this.left = padding.left, this.right = padding.right
}
length() {
return this.left.length + this.right.length
}
}
}, function(module, exports, __webpack_require__) {
"use strict";
module.exports = function flatten(prev, curr) {
return prev.concat(curr)
}
}, function(module, exports) {
var INFINITY = 1 / 0,
MAX_SAFE_INTEGER = 9007199254740991,
MAX_INTEGER = 1.7976931348623157e308,
NAN = NaN,
symbolTag = "[object Symbol]",
reTrim = /^\s+|\s+$/g,
reIsBadHex = /^[-+]0x[0-9a-f]+$/i,
reIsBinary = /^0b[01]+$/i,
reIsOctal = /^0o[0-7]+$/i,
rsAstral = "[\\ud800-\\udfff]",
rsCombo = "[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]",
rsFitz = "\\ud83c[\\udffb-\\udfff]",
rsNonAstral = "[^\\ud800-\\udfff]",
rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}",
rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]",
reOptMod = "(?:" + rsCombo + "|" + rsFitz + ")" + "?",
rsSeq = "[\\ufe0e\\ufe0f]?" + reOptMod + ("(?:\\u200d(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")[\\ufe0e\\ufe0f]?" + reOptMod + ")*"),
rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")",
reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"),
reHasUnicode = RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),
freeParseInt = parseInt,
freeGlobal = "object" == typeof global && global && global.Object === Object && global,
freeSelf = "object" == typeof self && self && self.Object === Object && self,
root = freeGlobal || freeSelf || Function("return this")(),
asciiSize = function baseProperty(key) {
return function(object) {
return null == object ? void 0 : object[key]
}
}("length");
function hasUnicode(string) {
return reHasUnicode.test(string)
}
function stringSize(string) {
return hasUnicode(string) ? function unicodeSize(string) {
var result = reUnicode.lastIndex = 0;
for (; reUnicode.test(string);) result++;
return result
}(string) : asciiSize(string)
}
function stringToArray(string) {
return hasUnicode(string) ? function unicodeToArray(string) {
return string.match(reUnicode) || []
}(string) : function asciiToArray(string) {
return string.split("")
}(string)
}
var objectToString = Object.prototype.toString,
Symbol = root.Symbol,
nativeCeil = Math.ceil,
nativeFloor = Math.floor,
symbolProto = Symbol ? Symbol.prototype : void 0,
symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseRepeat(string, n) {
var result = "";
if (!string || n < 1 || n > MAX_SAFE_INTEGER) return result;
do {
n % 2 && (result += string), (n = nativeFloor(n / 2)) && (string += string)
} while (n);
return result
}
function baseToString(value) {
if ("st
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment