Giter Site home page Giter Site logo

Comments (4)

catamphetamine avatar catamphetamine commented on May 19, 2024

Additional details:

The reason seems to be that before 1.3.105 it compiled the source code as var channelShape = ... but starting with 1.3.105 it started compiling the same code as const channelShape = ... and there's a difference between const and var in that a variable declared with var can be used before it is declared whereas a variable declared with const cannot.

https://stackoverflow.com/questions/48507803/es6-modules-why-can-i-use-a-const-before-it-is-declared
https://stackoverflow.com/questions/20220862/in-javascript-can-i-use-a-variable-before-it-is-declared

Here's the whole file when it's compiled with a newer version of @swc/core which doesn't work:

var C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0___namespace_cache;
__webpack_require__.r(__webpack_exports__);
/* harmony export */
__webpack_require__.d(__webpack_exports__, {
    /* harmony export */
    channelShape: ()=>(/* binding */
    channelShape),
    /* harmony export */
    "default": ()=>(/* binding */
    ChannelsListBase)/* harmony export */
});
/* harmony import */
var C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/react-refresh/runtime.js */
"./node_modules/react-refresh/runtime.js");
/* harmony import */
var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */
"./node_modules/core-js/modules/web.dom-collections.iterator.js");
/* harmony import */
var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */
"./node_modules/react/jsx-runtime.js");
/* harmony import */
var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */
"./node_modules/react/index.js");
/* harmony import */
var prop_types__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! prop-types */
"./node_modules/prop-types/index.js");
/* harmony import */
var react_pages__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react-pages */
"./node_modules/react-pages/lib/redux/Link.js");
/* harmony import */
var react_redux__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-redux */
"./node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */
var react_responsive_ui__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-responsive-ui */
"./node_modules/react-responsive-ui/modules/Button.js");
/* harmony import */
var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */
"./node_modules/classnames/index.js");
/* harmony import */
var _redux_settings_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../redux/settings.js */
"./src/redux/settings.js");
/* harmony import */
var _redux_data_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../redux/data.js */
"./src/redux/data.js");
/* harmony import */
var _hooks_useMessages_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../hooks/useMessages.js */
"./src/hooks/useMessages.js");
/* harmony import */
var _hooks_useSettings_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../hooks/useSettings.js */
"./src/hooks/useSettings.js");
/* harmony import */
var _hooks_useDataSource_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../hooks/useDataSource.js */
"./src/hooks/useDataSource.js");
/* harmony import */
var _hooks_useMultiDataSource_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../hooks/useMultiDataSource.js */
"./src/hooks/useMultiDataSource.js");
/* harmony import */
var _ChannelsListSearch_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ChannelsListSearch.js */
"./src/components/ChannelsList/ChannelsListSearch.js");
/* harmony import */
var _ChannelsListViewSwitcher_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ChannelsListViewSwitcher.js */
"./src/components/ChannelsList/ChannelsListViewSwitcher.js");
/* harmony import */
var _ChannelsListBase_css__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ChannelsListBase.css */
"./src/components/ChannelsList/ChannelsListBase.css");
/* provided dependency */
var __react_refresh_utils__ = __webpack_require__(/*! ./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js */
"./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js");
/* provided dependency */
var __react_refresh_error_overlay__ = __webpack_require__(/*! ./node_modules/@pmmmwh/react-refresh-webpack-plugin/overlay/index.js */
"./node_modules/@pmmmwh/react-refresh-webpack-plugin/overlay/index.js");

__webpack_require__.$Refresh$.runtime = /*#__PURE__*/
(C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0___namespace_cache || (C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0___namespace_cache = __webpack_require__.t(C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0__, 2)));

// `<Channels/>` are used in `pages/Channels.js`.
function ChannelsListBase(param) {
    let {views, channels, channelsByPopularity, channelsByCategory, channelsView: channelsViewSetting, shouldSaveChannelsView, showAllChannels, showAllChannelsLink, listComponent: ListComponent, selectedChannel, highlightSelectedChannel, hasMoreChannels, className} = param;
    const dispatch = (0,
    react_redux__WEBPACK_IMPORTED_MODULE_14__.useDispatch)();
    const messages = (0,
    _hooks_useMessages_js__WEBPACK_IMPORTED_MODULE_7__["default"])();
    const userSettings = (0,
    _hooks_useSettings_js__WEBPACK_IMPORTED_MODULE_8__["default"])();
    const dataSource = (0,
    _hooks_useDataSource_js__WEBPACK_IMPORTED_MODULE_9__["default"])();
    const multiDataSource = (0,
    _hooks_useMultiDataSource_js__WEBPACK_IMPORTED_MODULE_10__["default"])();
    const [filteredChannels,setFilteredChannels] = (0,
    react__WEBPACK_IMPORTED_MODULE_3__.useState)();
    const [view,setView] = (0,
    react__WEBPACK_IMPORTED_MODULE_3__.useState)();
    const defaultChannelsView = getChannelsView(channelsViewSetting, {
        canViewByCategory: Boolean(channelsByCategory) && views && views.includes("by-category"),
        canViewByPopularity: Boolean(channelsByPopularity)
    });
    const channelsView = view || defaultChannelsView;
    const onViewChange = (0,
    react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((view)=>{
        setView(view);
        if (shouldSaveChannelsView) {
            dispatch((0,
            _redux_settings_js__WEBPACK_IMPORTED_MODULE_5__.saveChannelsView)({
                channelsView: view,
                userSettings
            }));
        }
    }
    , [dispatch]);
    const isChannelSelected = (0,
    react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((channel)=>{
        return highlightSelectedChannel && selectedChannel && channel.id === selectedChannel.id;
    }
    , [highlightSelectedChannel, selectedChannel]);
    const getChannelsListItems = (0,
    react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{
        switch (channelsView) {
        case "by-category":
            return channelsByCategory.reduce((all,category,i)=>{
                return all.concat([{
                    key: category.category || "—",
                    category: category.category,
                    first: i === 0
                }]).concat(category.channels.map((channel)=>({
                    key: channel.id,
                    channel,
                    selected: isChannelSelected(channel)
                })));
            }
            , []);
        case "list":
            return (filteredChannels || channelsByPopularity || channels).filter((channel)=>showAllChannels || !channel.isHidden).map((channel)=>({
                key: channel.id,
                channel,
                selected: isChannelSelected(channel)
            }));
        default:
            // Unsupported `channelsView`.
            return [];
        }
    }
    , [channelsView, channels, channelsByPopularity, channelsByCategory, filteredChannels, isChannelSelected, showAllChannels]);
    const loadChannelsList = (0,
    react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(async()=>{
        await dispatch((0,
        _redux_data_js__WEBPACK_IMPORTED_MODULE_6__.getChannels)({
            userSettings,
            dataSource,
            multiDataSource,
            messages
        }));
    }
    , [dispatch, userSettings, dataSource, multiDataSource, messages]);
    if (!channels) {
        return /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("p", {
            className: "Channels-error",
            children: [/*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span", {
                className: "Channels-errorText",
                children: messages.boards.error
            }), /*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("br", {}), /*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_responsive_ui__WEBPACK_IMPORTED_MODULE_15__["default"], {
                className: "Channels-errorRetry",
                onClick: loadChannelsList,
                children: messages.actions.retry
            })]
        });
    }
    return /*#__PURE__*/
    (0,
    react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("nav", {
        className: "Channels",
        children: [views && views.includes("list") && channelsByPopularity && channelsByCategory && views.includes("by-category") && /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_ChannelsListViewSwitcher_js__WEBPACK_IMPORTED_MODULE_12__["default"], {
            view: channelsView,
            onViewChange: onViewChange
        }), showAllChannels && channelsView === "list" && /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_ChannelsListSearch_js__WEBPACK_IMPORTED_MODULE_11__["default"], {
            channels: channels || channelsByPopularity,
            setSearchResults: setFilteredChannels
        }), /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(ListComponent, {
            className: classnames__WEBPACK_IMPORTED_MODULE_4__("Channels-list", {
                // 'Channels-list--list': channelsView === 'list',
                "Channels-list--by-category": channelsView === "by-category"
            }),
            children: getChannelsListItems()
        }), !showAllChannels && showAllChannelsLink && (hasMoreChannels || dataSource.contentCategoryUnspecified) && /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
            className: "Channels-showAllWrapper",
            children: /*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_pages__WEBPACK_IMPORTED_MODULE_16__["default"], {
                to: "/channels",
                className: "Channels-showAll",
                children: messages.boards.showAll
            })
        })]
    });
}
const channelShape = {
    id: prop_types__WEBPACK_IMPORTED_MODULE_17__.string.isRequired,
    title: prop_types__WEBPACK_IMPORTED_MODULE_17__.string.isRequired,
    description: prop_types__WEBPACK_IMPORTED_MODULE_17__.string,
    commentsPerHour: prop_types__WEBPACK_IMPORTED_MODULE_17__.number
};
ChannelsListBase.propTypes = {
    views: prop_types__WEBPACK_IMPORTED_MODULE_17__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17__.oneOf(["list", "by-category"])),
    channels: prop_types__WEBPACK_IMPORTED_MODULE_17__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17__.shape(channelShape)),
    channelsByPopularity: prop_types__WEBPACK_IMPORTED_MODULE_17__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17__.shape(channelShape)),
    channelsByCategory: prop_types__WEBPACK_IMPORTED_MODULE_17__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17__.shape({
        category: prop_types__WEBPACK_IMPORTED_MODULE_17__.string.isRequired,
        channels: prop_types__WEBPACK_IMPORTED_MODULE_17__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_17__.shape(channelShape)).isRequired
    })),
    channelsView: prop_types__WEBPACK_IMPORTED_MODULE_17__.string,
    shouldSaveChannelsView: prop_types__WEBPACK_IMPORTED_MODULE_17__.bool,
    showAllChannels: prop_types__WEBPACK_IMPORTED_MODULE_17__.bool,
    showAllChannelsLink: prop_types__WEBPACK_IMPORTED_MODULE_17__.bool,
    selectedChannel: prop_types__WEBPACK_IMPORTED_MODULE_17__.shape(channelShape),
    highlightSelectedChannel: prop_types__WEBPACK_IMPORTED_MODULE_17__.bool,
    // isChannelOrThreadLocation: PropTypes.bool,
    hasMoreChannels: prop_types__WEBPACK_IMPORTED_MODULE_17__.bool,
    // dispatch: PropTypes.func,
    listComponent: prop_types__WEBPACK_IMPORTED_MODULE_17__.elementType.isRequired,
    className: prop_types__WEBPACK_IMPORTED_MODULE_17__.string
};
function getChannelsView(channelsView, param) {
    let {canViewByCategory, canViewByPopularity} = param;
    switch (channelsView) {
    case "by-category":
        if (canViewByCategory) {
            return channelsView;
        }
    case "list":
        return channelsView;
    }
    if (canViewByPopularity) {
        return "list";
    }
    if (canViewByCategory) {
        return "by-category";
    }
    return "list";
}

const $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId;
const $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports($ReactRefreshModuleId$);

function $ReactRefreshModuleRuntime$(exports) {
    if (true) {
        let errorOverlay;
        if (typeof __react_refresh_error_overlay__ !== 'undefined') {
            errorOverlay = __react_refresh_error_overlay__;
        }
        let testMode;
        if (typeof __react_refresh_test__ !== 'undefined') {
            testMode = __react_refresh_test__;
        }
        return __react_refresh_utils__.executeRuntime(exports, $ReactRefreshModuleId$, __webpack_module__.hot, errorOverlay, testMode);
    }
}

if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) {
    $ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$);
} else {
    $ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$);
}
//# sourceURL=[module]
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DaGFubmVsc0xpc3QvQ2hhbm5lbHNMaXN0QmFzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYW55Y2hhbi8uL3NyYy9jb21wb25lbnRzL0NoYW5uZWxzTGlzdC9DaGFubmVsc0xpc3RCYXNlLmpzP2IyYTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgX19yZWFjdF9yZWZyZXNoX3J1bnRpbWVfXyBmcm9tICdDOi9kZXYvYW55Y2hhbi9ub2RlX21vZHVsZXMvcmVhY3QtcmVmcmVzaC9ydW50aW1lLmpzJztcbl9fd2VicGFja19yZXF1aXJlX18uJFJlZnJlc2gkLnJ1bnRpbWUgPSBfX3JlYWN0X3JlZnJlc2hfcnVudGltZV9fO1xuXG5pbXBvcnQgXCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qc1wiO1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3QtcGFnZXNcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwicmVhY3QtcmVzcG9uc2l2ZS11aVwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCB7IHNhdmVDaGFubmVsc1ZpZXcgfSBmcm9tIFwiLi4vLi4vcmVkdXgvc2V0dGluZ3MuanNcIjtcbmltcG9ydCB7IGdldENoYW5uZWxzIH0gZnJvbSBcIi4uLy4uL3JlZHV4L2RhdGEuanNcIjtcbmltcG9ydCB1c2VNZXNzYWdlcyBmcm9tIFwiLi4vLi4vaG9va3MvdXNlTWVzc2FnZXMuanNcIjtcbmltcG9ydCB1c2VTZXR0aW5ncyBmcm9tIFwiLi4vLi4vaG9va3MvdXNlU2V0dGluZ3MuanNcIjtcbmltcG9ydCB1c2VEYXRhU291cmNlIGZyb20gXCIuLi8uLi9ob29rcy91c2VEYXRhU291cmNlLmpzXCI7XG5pbXBvcnQgdXNlTXVsdGlEYXRhU291cmNlIGZyb20gXCIuLi8uLi9ob29rcy91c2VNdWx0aURhdGFTb3VyY2UuanNcIjtcbmltcG9ydCBDaGFubmVsc0xpc3RTZWFyY2ggZnJvbSBcIi4vQ2hhbm5lbHNMaXN0U2VhcmNoLmpzXCI7XG5pbXBvcnQgQ2hhbm5lbHNMaXN0Vmlld1N3aXRjaGVyIGZyb20gXCIuL0NoYW5uZWxzTGlzdFZpZXdTd2l0Y2hlci5qc1wiO1xuaW1wb3J0IFwiLi9DaGFubmVsc0xpc3RCYXNlLmNzc1wiO1xuLy8gYDxDaGFubmVscy8+YCBhcmUgdXNlZCBpbiBgcGFnZXMvQ2hhbm5lbHMuanNgLlxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hhbm5lbHNMaXN0QmFzZShwYXJhbSkge1xuICAgIGxldCB7IHZpZXdzLCBjaGFubmVscywgY2hhbm5lbHNCeVBvcHVsYXJpdHksIGNoYW5uZWxzQnlDYXRlZ29yeSwgY2hhbm5lbHNWaWV3OiBjaGFubmVsc1ZpZXdTZXR0aW5nLCBzaG91bGRTYXZlQ2hhbm5lbHNWaWV3LCBzaG93QWxsQ2hhbm5lbHMsIHNob3dBbGxDaGFubmVsc0xpbmssIGxpc3RDb21wb25lbnQ6IExpc3RDb21wb25lbnQsIHNlbGVjdGVkQ2hhbm5lbCwgaGlnaGxpZ2h0U2VsZWN0ZWRDaGFubmVsLCBoYXNNb3JlQ2hhbm5lbHMsIGNsYXNzTmFtZSB9ID0gcGFyYW07XG4gICAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gdXNlTWVzc2FnZXMoKTtcbiAgICBjb25zdCB1c2VyU2V0dGluZ3MgPSB1c2VTZXR0aW5ncygpO1xuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB1c2VEYXRhU291cmNlKCk7XG4gICAgY29uc3QgbXVsdGlEYXRhU291cmNlID0gdXNlTXVsdGlEYXRhU291cmNlKCk7XG4gICAgY29uc3QgW2ZpbHRlcmVkQ2hhbm5lbHMsIHNldEZpbHRlcmVkQ2hhbm5lbHNdID0gdXNlU3RhdGUoKTtcbiAgICBjb25zdCBbdmlldywgc2V0Vmlld10gPSB1c2VTdGF0ZSgpO1xuICAgIGNvbnN0IGRlZmF1bHRDaGFubmVsc1ZpZXcgPSBnZXRDaGFubmVsc1ZpZXcoY2hhbm5lbHNWaWV3U2V0dGluZywge1xuICAgICAgICBjYW5WaWV3QnlDYXRlZ29yeTogQm9vbGVhbihjaGFubmVsc0J5Q2F0ZWdvcnkpICYmIHZpZXdzICYmIHZpZXdzLmluY2x1ZGVzKFwiYnktY2F0ZWdvcnlcIiksXG4gICAgICAgIGNhblZpZXdCeVBvcHVsYXJpdHk6IEJvb2xlYW4oY2hhbm5lbHNCeVBvcHVsYXJpdHkpXG4gICAgfSk7XG4gICAgY29uc3QgY2hhbm5lbHNWaWV3ID0gdmlldyB8fCBkZWZhdWx0Q2hhbm5lbHNWaWV3O1xuICAgIGNvbnN0IG9uVmlld0NoYW5nZSA9IHVzZUNhbGxiYWNrKCh2aWV3KT0+e1xuICAgICAgICBzZXRWaWV3KHZpZXcpO1xuICAgICAgICBpZiAoc2hvdWxkU2F2ZUNoYW5uZWxzVmlldykge1xuICAgICAgICAgICAgZGlzcGF0Y2goc2F2ZUNoYW5uZWxzVmlldyh7XG4gICAgICAgICAgICAgICAgY2hhbm5lbHNWaWV3OiB2aWV3LFxuICAgICAgICAgICAgICAgIHVzZXJTZXR0aW5nc1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIGNvbnN0IGlzQ2hhbm5lbFNlbGVjdGVkID0gdXNlQ2FsbGJhY2soKGNoYW5uZWwpPT57XG4gICAgICAgIHJldHVybiBoaWdobGlnaHRTZWxlY3RlZENoYW5uZWwgJiYgc2VsZWN0ZWRDaGFubmVsICYmIGNoYW5uZWwuaWQgPT09IHNlbGVjdGVkQ2hhbm5lbC5pZDtcbiAgICB9LCBbXG4gICAgICAgIGhpZ2hsaWdodFNlbGVjdGVkQ2hhbm5lbCxcbiAgICAgICAgc2VsZWN0ZWRDaGFubmVsXG4gICAgXSk7XG4gICAgY29uc3QgZ2V0Q2hhbm5lbHNMaXN0SXRlbXMgPSB1c2VDYWxsYmFjaygoKT0+e1xuICAgICAgICBzd2l0Y2goY2hhbm5lbHNWaWV3KXtcbiAgICAgICAgICAgIGNhc2UgXCJieS1jYXRlZ29yeVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBjaGFubmVsc0J5Q2F0ZWdvcnkucmVkdWNlKChhbGwsIGNhdGVnb3J5LCBpKT0+e1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWxsLmNvbmNhdChbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBjYXRlZ29yeS5jYXRlZ29yeSB8fCBcIuKAlFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeS5jYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdDogaSA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdKS5jb25jYXQoY2F0ZWdvcnkuY2hhbm5lbHMubWFwKChjaGFubmVsKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGNoYW5uZWwuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogaXNDaGFubmVsU2VsZWN0ZWQoY2hhbm5lbClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgY2FzZSBcImxpc3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKGZpbHRlcmVkQ2hhbm5lbHMgfHwgY2hhbm5lbHNCeVBvcHVsYXJpdHkgfHwgY2hhbm5lbHMpLmZpbHRlcigoY2hhbm5lbCk9PnNob3dBbGxDaGFubmVscyB8fCAhY2hhbm5lbC5pc0hpZGRlbikubWFwKChjaGFubmVsKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogY2hhbm5lbC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogaXNDaGFubmVsU2VsZWN0ZWQoY2hhbm5lbClcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyBVbnN1cHBvcnRlZCBgY2hhbm5lbHNWaWV3YC5cbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGNoYW5uZWxzVmlldyxcbiAgICAgICAgY2hhbm5lbHMsXG4gICAgICAgIGNoYW5uZWxzQnlQb3B1bGFyaXR5LFxuICAgICAgICBjaGFubmVsc0J5Q2F0ZWdvcnksXG4gICAgICAgIGZpbHRlcmVkQ2hhbm5lbHMsXG4gICAgICAgIGlzQ2hhbm5lbFNlbGVjdGVkLFxuICAgICAgICBzaG93QWxsQ2hhbm5lbHNcbiAgICBdKTtcbiAgICBjb25zdCBsb2FkQ2hhbm5lbHNMaXN0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCk9PntcbiAgICAgICAgYXdhaXQgZGlzcGF0Y2goZ2V0Q2hhbm5lbHMoe1xuICAgICAgICAgICAgdXNlclNldHRpbmdzLFxuICAgICAgICAgICAgZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIG11bHRpRGF0YVNvdXJjZSxcbiAgICAgICAgICAgIG1lc3NhZ2VzXG4gICAgICAgIH0pKTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICB1c2VyU2V0dGluZ3MsXG4gICAgICAgIGRhdGFTb3VyY2UsXG4gICAgICAgIG11bHRpRGF0YVNvdXJjZSxcbiAgICAgICAgbWVzc2FnZXNcbiAgICBdKTtcbiAgICBpZiAoIWNoYW5uZWxzKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9qc3hzKFwicFwiLCB7XG4gICAgICAgICAgICBjbGFzc05hbWU6IFwiQ2hhbm5lbHMtZXJyb3JcIixcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyBfanN4KFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJDaGFubmVscy1lcnJvclRleHRcIixcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IG1lc3NhZ2VzLmJvYXJkcy5lcnJvclxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChcImJyXCIsIHt9KSxcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goQnV0dG9uLCB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJDaGFubmVscy1lcnJvclJldHJ5XCIsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IGxvYWRDaGFubmVsc0xpc3QsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBtZXNzYWdlcy5hY3Rpb25zLnJldHJ5XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9qc3hzKFwibmF2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcIkNoYW5uZWxzXCIsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB2aWV3cyAmJiB2aWV3cy5pbmNsdWRlcyhcImxpc3RcIikgJiYgY2hhbm5lbHNCeVBvcHVsYXJpdHkgJiYgY2hhbm5lbHNCeUNhdGVnb3J5ICYmIHZpZXdzLmluY2x1ZGVzKFwiYnktY2F0ZWdvcnlcIikgJiYgLyojX19QVVJFX18qLyBfanN4KENoYW5uZWxzTGlzdFZpZXdTd2l0Y2hlciwge1xuICAgICAgICAgICAgICAgIHZpZXc6IGNoYW5uZWxzVmlldyxcbiAgICAgICAgICAgICAgICBvblZpZXdDaGFuZ2U6IG9uVmlld0NoYW5nZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaG93QWxsQ2hhbm5lbHMgJiYgY2hhbm5lbHNWaWV3ID09PSBcImxpc3RcIiAmJiAvKiNfX1BVUkVfXyovIF9qc3goQ2hhbm5lbHNMaXN0U2VhcmNoLCB7XG4gICAgICAgICAgICAgICAgY2hhbm5lbHM6IGNoYW5uZWxzIHx8IGNoYW5uZWxzQnlQb3B1bGFyaXR5LFxuICAgICAgICAgICAgICAgIHNldFNlYXJjaFJlc3VsdHM6IHNldEZpbHRlcmVkQ2hhbm5lbHNcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyBfanN4KExpc3RDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZXMoXCJDaGFubmVscy1saXN0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gJ0NoYW5uZWxzLWxpc3QtLWxpc3QnOiBjaGFubmVsc1ZpZXcgPT09ICdsaXN0JyxcbiAgICAgICAgICAgICAgICAgICAgXCJDaGFubmVscy1saXN0LS1ieS1jYXRlZ29yeVwiOiBjaGFubmVsc1ZpZXcgPT09IFwiYnktY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBnZXRDaGFubmVsc0xpc3RJdGVtcygpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICFzaG93QWxsQ2hhbm5lbHMgJiYgc2hvd0FsbENoYW5uZWxzTGluayAmJiAoaGFzTW9yZUNoYW5uZWxzIHx8IGRhdGFTb3VyY2UuY29udGVudENhdGVnb3J5VW5zcGVjaWZpZWQpICYmIC8qI19fUFVSRV9fKi8gX2pzeChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIkNoYW5uZWxzLXNob3dBbGxXcmFwcGVyXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gX2pzeChMaW5rLCB7XG4gICAgICAgICAgICAgICAgICAgIHRvOiBcIi9jaGFubmVsc1wiLFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwiQ2hhbm5lbHMtc2hvd0FsbFwiLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogbWVzc2FnZXMuYm9hcmRzLnNob3dBbGxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuZXhwb3J0IGNvbnN0IGNoYW5uZWxTaGFwZSA9IHtcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgZGVzY3JpcHRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29tbWVudHNQZXJIb3VyOiBQcm9wVHlwZXMubnVtYmVyXG59O1xuQ2hhbm5lbHNMaXN0QmFzZS5wcm9wVHlwZXMgPSB7XG4gICAgdmlld3M6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5vbmVPZihbXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcImJ5LWNhdGVnb3J5XCJcbiAgICBdKSksXG4gICAgY2hhbm5lbHM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zaGFwZShjaGFubmVsU2hhcGUpKSxcbiAgICBjaGFubmVsc0J5UG9wdWxhcml0eTogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKGNoYW5uZWxTaGFwZSkpLFxuICAgIGNoYW5uZWxzQnlDYXRlZ29yeTogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgY2F0ZWdvcnk6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgY2hhbm5lbHM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zaGFwZShjaGFubmVsU2hhcGUpKS5pc1JlcXVpcmVkXG4gICAgfSkpLFxuICAgIGNoYW5uZWxzVmlldzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaG91bGRTYXZlQ2hhbm5lbHNWaWV3OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93QWxsQ2hhbm5lbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dBbGxDaGFubmVsc0xpbms6IFByb3BUeXBlcy5ib29sLFxuICAgIHNlbGVjdGVkQ2hhbm5lbDogUHJvcFR5cGVzLnNoYXBlKGNoYW5uZWxTaGFwZSksXG4gICAgaGlnaGxpZ2h0U2VsZWN0ZWRDaGFubmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvLyBpc0NoYW5uZWxPclRocmVhZExvY2F0aW9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoYXNNb3JlQ2hhbm5lbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIC8vIGRpc3BhdGNoOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBsaXN0Q29tcG9uZW50OiBQcm9wVHlwZXMuZWxlbWVudFR5cGUuaXNSZXF1aXJlZCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5mdW5jdGlvbiBnZXRDaGFubmVsc1ZpZXcoY2hhbm5lbHNWaWV3LCBwYXJhbSkge1xuICAgIGxldCB7IGNhblZpZXdCeUNhdGVnb3J5LCBjYW5WaWV3QnlQb3B1bGFyaXR5IH0gPSBwYXJhbTtcbiAgICBzd2l0Y2goY2hhbm5lbHNWaWV3KXtcbiAgICAgICAgY2FzZSBcImJ5LWNhdGVnb3J5XCI6XG4gICAgICAgICAgICBpZiAoY2FuVmlld0J5Q2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hhbm5lbHNWaWV3O1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIFwibGlzdFwiOlxuICAgICAgICAgICAgcmV0dXJuIGNoYW5uZWxzVmlldztcbiAgICB9XG4gICAgaWYgKGNhblZpZXdCeVBvcHVsYXJpdHkpIHtcbiAgICAgICAgcmV0dXJuIFwibGlzdFwiO1xuICAgIH1cbiAgICBpZiAoY2FuVmlld0J5Q2F0ZWdvcnkpIHtcbiAgICAgICAgcmV0dXJuIFwiYnktY2F0ZWdvcnlcIjtcbiAgICB9XG4gICAgcmV0dXJuIFwibGlzdFwiO1xufVxuXG5cbmNvbnN0ICRSZWFjdFJlZnJlc2hNb2R1bGVJZCQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLiRSZWZyZXNoJC5tb2R1bGVJZDtcbmNvbnN0ICRSZWFjdFJlZnJlc2hDdXJyZW50RXhwb3J0cyQgPSBfX3JlYWN0X3JlZnJlc2hfdXRpbHNfXy5nZXRNb2R1bGVFeHBvcnRzKFxuXHQkUmVhY3RSZWZyZXNoTW9kdWxlSWQkXG4pO1xuXG5mdW5jdGlvbiAkUmVhY3RSZWZyZXNoTW9kdWxlUnVudGltZSQoZXhwb3J0cykge1xuXHRpZiAoaW1wb3J0Lm1ldGEud2VicGFja0hvdCkge1xuXHRcdGxldCBlcnJvck92ZXJsYXk7XG5cdFx0aWYgKHR5cGVvZiBfX3JlYWN0X3JlZnJlc2hfZXJyb3Jfb3ZlcmxheV9fICE9PSAndW5kZWZpbmVkJykge1xuXHRcdFx0ZXJyb3JPdmVybGF5ID0gX19yZWFjdF9yZWZyZXNoX2Vycm9yX292ZXJsYXlfXztcblx0XHR9XG5cdFx0bGV0IHRlc3RNb2RlO1xuXHRcdGlmICh0eXBlb2YgX19yZWFjdF9yZWZyZXNoX3Rlc3RfXyAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRcdHRlc3RNb2RlID0gX19yZWFjdF9yZWZyZXNoX3Rlc3RfXztcblx0XHR9XG5cdFx0cmV0dXJuIF9fcmVhY3RfcmVmcmVzaF91dGlsc19fLmV4ZWN1dGVSdW50aW1lKFxuXHRcdFx0ZXhwb3J0cyxcblx0XHRcdCRSZWFjdFJlZnJlc2hNb2R1bGVJZCQsXG5cdFx0XHRpbXBvcnQubWV0YS53ZWJwYWNrSG90LFxuXHRcdFx0ZXJyb3JPdmVybGF5LFxuXHRcdFx0dGVzdE1vZGVcblx0XHQpO1xuXHR9XG59XG5cbmlmICh0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgJFJlYWN0UmVmcmVzaEN1cnJlbnRFeHBvcnRzJCBpbnN0YW5jZW9mIFByb21pc2UpIHtcblx0JFJlYWN0UmVmcmVzaEN1cnJlbnRFeHBvcnRzJC50aGVuKCRSZWFjdFJlZnJlc2hNb2R1bGVSdW50aW1lJCk7XG59IGVsc2Uge1xuXHQkUmVhY3RSZWZyZXNoTW9kdWxlUnVudGltZSQoJFJlYWN0UmVmcmVzaEN1cnJlbnRFeHBvcnRzJCk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9
//# sourceURL=webpack-internal:///./src/components/ChannelsList/ChannelsListBase.js

Here's the whole file when it's compiled with an older version of @swc/core which doeswork:

var C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0___namespace_cache;
__webpack_require__.r(__webpack_exports__);
/* harmony export */
__webpack_require__.d(__webpack_exports__, {
    /* harmony export */
    channelShape: ()=>(/* binding */
    channelShape),
    /* harmony export */
    "default": ()=>(/* binding */
    ChannelsListBase)/* harmony export */
});
/* harmony import */
var C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/react-refresh/runtime.js */
"./node_modules/react-refresh/runtime.js");
/* harmony import */
var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */
"./node_modules/core-js/modules/es.array.includes.js");
/* harmony import */
var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */
"./node_modules/core-js/modules/es.string.includes.js");
/* harmony import */
var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */
"./node_modules/core-js/modules/es.array.reduce.js");
/* harmony import */
var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */
"./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */
var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */
"./node_modules/core-js/modules/es.array.concat.js");
/* harmony import */
var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.map.js */
"./node_modules/core-js/modules/es.array.map.js");
/* harmony import */
var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */
"./node_modules/core-js/modules/es.array.filter.js");
/* harmony import */
var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react/jsx-runtime */
"./node_modules/react/jsx-runtime.js");
/* harmony import */
var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */
"./node_modules/react/index.js");
/* harmony import */
var prop_types__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! prop-types */
"./node_modules/prop-types/index.js");
/* harmony import */
var react_pages__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! react-pages */
"./node_modules/react-pages/lib/redux/Link.js");
/* harmony import */
var react_redux__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! react-redux */
"./node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */
var react_responsive_ui__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! react-responsive-ui */
"./node_modules/react-responsive-ui/modules/Button.js");
/* harmony import */
var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! classnames */
"./node_modules/classnames/index.js");
/* harmony import */
var _redux_settings_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../redux/settings.js */
"./src/redux/settings.js");
/* harmony import */
var _redux_data_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../redux/data.js */
"./src/redux/data.js");
/* harmony import */
var _hooks_useMessages_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../hooks/useMessages.js */
"./src/hooks/useMessages.js");
/* harmony import */
var _hooks_useSettings_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../hooks/useSettings.js */
"./src/hooks/useSettings.js");
/* harmony import */
var _hooks_useDataSource_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../hooks/useDataSource.js */
"./src/hooks/useDataSource.js");
/* harmony import */
var _hooks_useMultiDataSource_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../hooks/useMultiDataSource.js */
"./src/hooks/useMultiDataSource.js");
/* harmony import */
var _ChannelsListSearch_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ChannelsListSearch.js */
"./src/components/ChannelsList/ChannelsListSearch.js");
/* harmony import */
var _ChannelsListViewSwitcher_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ChannelsListViewSwitcher.js */
"./src/components/ChannelsList/ChannelsListViewSwitcher.js");
/* harmony import */
var _ChannelsListBase_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ChannelsListBase.css */
"./src/components/ChannelsList/ChannelsListBase.css");
/* provided dependency */
var __react_refresh_utils__ = __webpack_require__(/*! ./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js */
"./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js");
/* provided dependency */
var __react_refresh_error_overlay__ = __webpack_require__(/*! ./node_modules/@pmmmwh/react-refresh-webpack-plugin/overlay/index.js */
"./node_modules/@pmmmwh/react-refresh-webpack-plugin/overlay/index.js");

__webpack_require__.$Refresh$.runtime = /*#__PURE__*/
(C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0___namespace_cache || (C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0___namespace_cache = __webpack_require__.t(C_dev_anychan_node_modules_react_refresh_runtime_js__WEBPACK_IMPORTED_MODULE_0__, 2)));

function _array_like_to_array(arr, len) {
    if (len == null || len > arr.length)
        len = arr.length;
    for (var i = 0, arr2 = new Array(len); i < len; i++)
        arr2[i] = arr[i];
    return arr2;
}
function _array_with_holes(arr) {
    if (Array.isArray(arr))
        return arr;
}
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
    try {
        var info = gen[key](arg);
        var value = info.value;
    } catch (error) {
        reject(error);
        return;
    }
    if (info.done) {
        resolve(value);
    } else {
        Promise.resolve(value).then(_next, _throw);
    }
}
function _async_to_generator(fn) {
    return function() {
        var self = this
          , args = arguments;
        return new Promise(function(resolve, reject) {
            var gen = fn.apply(self, args);
            function _next(value) {
                asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
            }
            function _throw(err) {
                asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
            }
            _next(undefined);
        }
        );
    }
    ;
}
function _iterable_to_array_limit(arr, i) {
    var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
    if (_i == null)
        return;
    var _arr = [];
    var _n = true;
    var _d = false;
    var _s, _e;
    try {
        for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
            _arr.push(_s.value);
            if (i && _arr.length === i)
                break;
        }
    } catch (err) {
        _d = true;
        _e = err;
    } finally {
        try {
            if (!_n && _i["return"] != null)
                _i["return"]();
        } finally {
            if (_d)
                throw _e;
        }
    }
    return _arr;
}
function _non_iterable_rest() {
    throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _sliced_to_array(arr, i) {
    return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
    if (!o)
        return;
    if (typeof o === "string")
        return _array_like_to_array(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor)
        n = o.constructor.name;
    if (n === "Map" || n === "Set")
        return Array.from(n);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
        return _array_like_to_array(o, minLen);
}
function _ts_generator(thisArg, body) {
    var f, y, t, g, _ = {
        label: 0,
        sent: function() {
            if (t[0] & 1)
                throw t[1];
            return t[1];
        },
        trys: [],
        ops: []
    };
    return g = {
        next: verb(0),
        "throw": verb(1),
        "return": verb(2)
    },
    typeof Symbol === "function" && (g[Symbol.iterator] = function() {
        return this;
    }
    ),
    g;
    function verb(n) {
        return function(v) {
            return step([n, v]);
        }
        ;
    }
    function step(op) {
        if (f)
            throw new TypeError("Generator is already executing.");
        while (_)
            try {
                if (f = 1,
                y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y),
                0) : y.next) && !(t = t.call(y, op[1])).done)
                    return t;
                if (y = 0,
                t)
                    op = [op[0] & 2, t.value];
                switch (op[0]) {
                case 0:
                case 1:
                    t = op;
                    break;
                case 4:
                    _.label++;
                    return {
                        value: op[1],
                        done: false
                    };
                case 5:
                    _.label++;
                    y = op[1];
                    op = [0];
                    continue;
                case 7:
                    op = _.ops.pop();
                    _.trys.pop();
                    continue;
                default:
                    if (!(t = _.trys,
                    t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                        _ = 0;
                        continue;
                    }
                    if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
                        _.label = op[1];
                        break;
                    }
                    if (op[0] === 6 && _.label < t[1]) {
                        _.label = t[1];
                        t = op;
                        break;
                    }
                    if (t && _.label < t[2]) {
                        _.label = t[2];
                        _.ops.push(op);
                        break;
                    }
                    if (t[2])
                        _.ops.pop();
                    _.trys.pop();
                    continue;
                }
                op = body.call(thisArg, _);
            } catch (e) {
                op = [6, e];
                y = 0;
            } finally {
                f = t = 0;
            }
        if (op[0] & 5)
            throw op[1];
        return {
            value: op[0] ? op[1] : void 0,
            done: true
        };
    }
}

// `<Channels/>` are used in `pages/Channels.js`.
function ChannelsListBase(param) {
    var views = param.views
      , channels = param.channels
      , channelsByPopularity = param.channelsByPopularity
      , channelsByCategory = param.channelsByCategory
      , channelsViewSetting = param.channelsView
      , shouldSaveChannelsView = param.shouldSaveChannelsView
      , showAllChannels = param.showAllChannels
      , showAllChannelsLink = param.showAllChannelsLink
      , ListComponent = param.listComponent
      , selectedChannel = param.selectedChannel
      , highlightSelectedChannel = param.highlightSelectedChannel
      , hasMoreChannels = param.hasMoreChannels
      , className = param.className;
    var dispatch = (0,
    react_redux__WEBPACK_IMPORTED_MODULE_20__.useDispatch)();
    var messages = (0,
    _hooks_useMessages_js__WEBPACK_IMPORTED_MODULE_13__["default"])();
    var userSettings = (0,
    _hooks_useSettings_js__WEBPACK_IMPORTED_MODULE_14__["default"])();
    var dataSource = (0,
    _hooks_useDataSource_js__WEBPACK_IMPORTED_MODULE_15__["default"])();
    var multiDataSource = (0,
    _hooks_useMultiDataSource_js__WEBPACK_IMPORTED_MODULE_16__["default"])();
    var _useState = _sliced_to_array((0,
    react__WEBPACK_IMPORTED_MODULE_9__.useState)(), 2)
      , filteredChannels = _useState[0]
      , setFilteredChannels = _useState[1];
    var _useState1 = _sliced_to_array((0,
    react__WEBPACK_IMPORTED_MODULE_9__.useState)(), 2)
      , view = _useState1[0]
      , setView = _useState1[1];
    var defaultChannelsView = getChannelsView(channelsViewSetting, {
        canViewByCategory: Boolean(channelsByCategory) && views && views.includes("by-category"),
        canViewByPopularity: Boolean(channelsByPopularity)
    });
    var channelsView = view || defaultChannelsView;
    var onViewChange = (0,
    react__WEBPACK_IMPORTED_MODULE_9__.useCallback)(function(view) {
        setView(view);
        if (shouldSaveChannelsView) {
            dispatch((0,
            _redux_settings_js__WEBPACK_IMPORTED_MODULE_11__.saveChannelsView)({
                channelsView: view,
                userSettings: userSettings
            }));
        }
    }, [dispatch]);
    var isChannelSelected = (0,
    react__WEBPACK_IMPORTED_MODULE_9__.useCallback)(function(channel) {
        return highlightSelectedChannel && selectedChannel && channel.id === selectedChannel.id;
    }, [highlightSelectedChannel, selectedChannel]);
    var getChannelsListItems = (0,
    react__WEBPACK_IMPORTED_MODULE_9__.useCallback)(function() {
        switch (channelsView) {
        case "by-category":
            return channelsByCategory.reduce(function(all, category, i) {
                return all.concat([{
                    key: category.category || "—",
                    category: category.category,
                    first: i === 0
                }]).concat(category.channels.map(function(channel) {
                    return {
                        key: channel.id,
                        channel: channel,
                        selected: isChannelSelected(channel)
                    };
                }));
            }, []);
        case "list":
            return (filteredChannels || channelsByPopularity || channels).filter(function(channel) {
                return showAllChannels || !channel.isHidden;
            }).map(function(channel) {
                return {
                    key: channel.id,
                    channel: channel,
                    selected: isChannelSelected(channel)
                };
            });
        default:
            // Unsupported `channelsView`.
            return [];
        }
    }, [channelsView, channels, channelsByPopularity, channelsByCategory, filteredChannels, isChannelSelected, showAllChannels]);
    var loadChannelsList = (0,
    react__WEBPACK_IMPORTED_MODULE_9__.useCallback)(/*#__PURE__*/
    _async_to_generator(function() {
        return _ts_generator(this, function(_state) {
            switch (_state.label) {
            case 0:
                return [4, dispatch((0,
                _redux_data_js__WEBPACK_IMPORTED_MODULE_12__.getChannels)({
                    userSettings: userSettings,
                    dataSource: dataSource,
                    multiDataSource: multiDataSource,
                    messages: messages
                }))];
            case 1:
                _state.sent();
                return [2];
            }
        });
    }), [dispatch, userSettings, dataSource, multiDataSource, messages]);
    if (!channels) {
        return /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("p", {
            className: "Channels-error",
            children: [/*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("span", {
                className: "Channels-errorText",
                children: messages.boards.error
            }), /*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("br", {}), /*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(react_responsive_ui__WEBPACK_IMPORTED_MODULE_21__["default"], {
                className: "Channels-errorRetry",
                onClick: loadChannelsList,
                children: messages.actions.retry
            })]
        });
    }
    return /*#__PURE__*/
    (0,
    react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("nav", {
        className: "Channels",
        children: [views && views.includes("list") && channelsByPopularity && channelsByCategory && views.includes("by-category") && /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_ChannelsListViewSwitcher_js__WEBPACK_IMPORTED_MODULE_18__["default"], {
            view: channelsView,
            onViewChange: onViewChange
        }), showAllChannels && channelsView === "list" && /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_ChannelsListSearch_js__WEBPACK_IMPORTED_MODULE_17__["default"], {
            channels: channels || channelsByPopularity,
            setSearchResults: setFilteredChannels
        }), /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(ListComponent, {
            className: classnames__WEBPACK_IMPORTED_MODULE_10__("Channels-list", {
                // 'Channels-list--list': channelsView === 'list',
                "Channels-list--by-category": channelsView === "by-category"
            }),
            children: getChannelsListItems()
        }), !showAllChannels && showAllChannelsLink && (hasMoreChannels || dataSource.contentCategoryUnspecified) && /*#__PURE__*/
        (0,
        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
            className: "Channels-showAllWrapper",
            children: /*#__PURE__*/
            (0,
            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(react_pages__WEBPACK_IMPORTED_MODULE_22__["default"], {
                to: "/channels",
                className: "Channels-showAll",
                children: messages.boards.showAll
            })
        })]
    });
}
var channelShape = {
    id: prop_types__WEBPACK_IMPORTED_MODULE_23__.string.isRequired,
    title: prop_types__WEBPACK_IMPORTED_MODULE_23__.string.isRequired,
    description: prop_types__WEBPACK_IMPORTED_MODULE_23__.string,
    commentsPerHour: prop_types__WEBPACK_IMPORTED_MODULE_23__.number
};
ChannelsListBase.propTypes = {
    views: prop_types__WEBPACK_IMPORTED_MODULE_23__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_23__.oneOf(["list", "by-category"])),
    channels: prop_types__WEBPACK_IMPORTED_MODULE_23__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_23__.shape(channelShape)),
    channelsByPopularity: prop_types__WEBPACK_IMPORTED_MODULE_23__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_23__.shape(channelShape)),
    channelsByCategory: prop_types__WEBPACK_IMPORTED_MODULE_23__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_23__.shape({
        category: prop_types__WEBPACK_IMPORTED_MODULE_23__.string.isRequired,
        channels: prop_types__WEBPACK_IMPORTED_MODULE_23__.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_23__.shape(channelShape)).isRequired
    })),
    channelsView: prop_types__WEBPACK_IMPORTED_MODULE_23__.string,
    shouldSaveChannelsView: prop_types__WEBPACK_IMPORTED_MODULE_23__.bool,
    showAllChannels: prop_types__WEBPACK_IMPORTED_MODULE_23__.bool,
    showAllChannelsLink: prop_types__WEBPACK_IMPORTED_MODULE_23__.bool,
    selectedChannel: prop_types__WEBPACK_IMPORTED_MODULE_23__.shape(channelShape),
    highlightSelectedChannel: prop_types__WEBPACK_IMPORTED_MODULE_23__.bool,
    // isChannelOrThreadLocation: PropTypes.bool,
    hasMoreChannels: prop_types__WEBPACK_IMPORTED_MODULE_23__.bool,
    // dispatch: PropTypes.func,
    listComponent: prop_types__WEBPACK_IMPORTED_MODULE_23__.elementType.isRequired,
    className: prop_types__WEBPACK_IMPORTED_MODULE_23__.string
};
function getChannelsView(channelsView, param) {
    var canViewByCategory = param.canViewByCategory
      , canViewByPopularity = param.canViewByPopularity;
    switch (channelsView) {
    case "by-category":
        if (canViewByCategory) {
            return channelsView;
        }
    case "list":
        return channelsView;
    }
    if (canViewByPopularity) {
        return "list";
    }
    if (canViewByCategory) {
        return "by-category";
    }
    return "list";
}

const $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId;
const $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports($ReactRefreshModuleId$);

function $ReactRefreshModuleRuntime$(exports) {
    if (true) {
        let errorOverlay;
        if (typeof __react_refresh_error_overlay__ !== 'undefined') {
            errorOverlay = __react_refresh_error_overlay__;
        }
        let testMode;
        if (typeof __react_refresh_test__ !== 'undefined') {
            testMode = __react_refresh_test__;
        }
        return __react_refresh_utils__.executeRuntime(exports, $ReactRefreshModuleId$, __webpack_module__.hot, errorOverlay, testMode);
    }
}

if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) {
    $ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$);
} else {
    $ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$);
}
//# sourceURL=[module]
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DaGFubmVsc0xpc3QvQ2hhbm5lbHNMaXN0QmFzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYW55Y2hhbi8uL3NyYy9jb21wb25lbnRzL0NoYW5uZWxzTGlzdC9DaGFubmVsc0xpc3RCYXNlLmpzP2IyYTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgX19yZWFjdF9yZWZyZXNoX3J1bnRpbWVfXyBmcm9tICdDOi9kZXYvYW55Y2hhbi9ub2RlX21vZHVsZXMvcmVhY3QtcmVmcmVzaC9ydW50aW1lLmpzJztcbl9fd2VicGFja19yZXF1aXJlX18uJFJlZnJlc2gkLnJ1bnRpbWUgPSBfX3JlYWN0X3JlZnJlc2hfcnVudGltZV9fO1xuXG5mdW5jdGlvbiBfYXJyYXlfbGlrZV90b19hcnJheShhcnIsIGxlbikge1xuICAgIGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoO1xuICAgIGZvcih2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKWFycjJbaV0gPSBhcnJbaV07XG4gICAgcmV0dXJuIGFycjI7XG59XG5mdW5jdGlvbiBfYXJyYXlfd2l0aF9ob2xlcyhhcnIpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufVxuZnVuY3Rpb24gYXN5bmNHZW5lcmF0b3JTdGVwKGdlbiwgcmVzb2x2ZSwgcmVqZWN0LCBfbmV4dCwgX3Rocm93LCBrZXksIGFyZykge1xuICAgIHRyeSB7XG4gICAgICAgIHZhciBpbmZvID0gZ2VuW2tleV0oYXJnKTtcbiAgICAgICAgdmFyIHZhbHVlID0gaW5mby52YWx1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpbmZvLmRvbmUpIHtcbiAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHZhbHVlKS50aGVuKF9uZXh0LCBfdGhyb3cpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIF9hc3luY190b19nZW5lcmF0b3IoZm4pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzZWxmID0gdGhpcywgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgdmFyIGdlbiA9IGZuLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgICAgICAgICAgZnVuY3Rpb24gX25leHQodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBhc3luY0dlbmVyYXRvclN0ZXAoZ2VuLCByZXNvbHZlLCByZWplY3QsIF9uZXh0LCBfdGhyb3csIFwibmV4dFwiLCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiBfdGhyb3coZXJyKSB7XG4gICAgICAgICAgICAgICAgYXN5bmNHZW5lcmF0b3JTdGVwKGdlbiwgcmVzb2x2ZSwgcmVqZWN0LCBfbmV4dCwgX3Rocm93LCBcInRocm93XCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfbmV4dCh1bmRlZmluZWQpO1xuICAgICAgICB9KTtcbiAgICB9O1xufVxuZnVuY3Rpb24gX2l0ZXJhYmxlX3RvX2FycmF5X2xpbWl0KGFyciwgaSkge1xuICAgIHZhciBfaSA9IGFyciA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBTeW1ib2wgIT09IFwidW5kZWZpbmVkXCIgJiYgYXJyW1N5bWJvbC5pdGVyYXRvcl0gfHwgYXJyW1wiQEBpdGVyYXRvclwiXTtcbiAgICBpZiAoX2kgPT0gbnVsbCkgcmV0dXJuO1xuICAgIHZhciBfYXJyID0gW107XG4gICAgdmFyIF9uID0gdHJ1ZTtcbiAgICB2YXIgX2QgPSBmYWxzZTtcbiAgICB2YXIgX3MsIF9lO1xuICAgIHRyeSB7XG4gICAgICAgIGZvcihfaSA9IF9pLmNhbGwoYXJyKTsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSl7XG4gICAgICAgICAgICBfYXJyLnB1c2goX3MudmFsdWUpO1xuICAgICAgICAgICAgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIF9kID0gdHJ1ZTtcbiAgICAgICAgX2UgPSBlcnI7XG4gICAgfSBmaW5hbGx5e1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpO1xuICAgICAgICB9IGZpbmFsbHl7XG4gICAgICAgICAgICBpZiAoX2QpIHRocm93IF9lO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBfYXJyO1xufVxuZnVuY3Rpb24gX25vbl9pdGVyYWJsZV9yZXN0KCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cbmZ1bmN0aW9uIF9zbGljZWRfdG9fYXJyYXkoYXJyLCBpKSB7XG4gICAgcmV0dXJuIF9hcnJheV93aXRoX2hvbGVzKGFycikgfHwgX2l0ZXJhYmxlX3RvX2FycmF5X2xpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkX2l0ZXJhYmxlX3RvX2FycmF5KGFyciwgaSkgfHwgX25vbl9pdGVyYWJsZV9yZXN0KCk7XG59XG5mdW5jdGlvbiBfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXkobywgbWluTGVuKSB7XG4gICAgaWYgKCFvKSByZXR1cm47XG4gICAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5X2xpa2VfdG9fYXJyYXkobywgbWluTGVuKTtcbiAgICB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7XG4gICAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShuKTtcbiAgICBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheV9saWtlX3RvX2FycmF5KG8sIG1pbkxlbik7XG59XG5mdW5jdGlvbiBfdHNfZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcbiAgICB2YXIgZiwgeSwgdCwgZywgXyA9IHtcbiAgICAgICAgbGFiZWw6IDAsXG4gICAgICAgIHNlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdO1xuICAgICAgICAgICAgcmV0dXJuIHRbMV07XG4gICAgICAgIH0sXG4gICAgICAgIHRyeXM6IFtdLFxuICAgICAgICBvcHM6IFtdXG4gICAgfTtcbiAgICByZXR1cm4gZyA9IHtcbiAgICAgICAgbmV4dDogdmVyYigwKSxcbiAgICAgICAgXCJ0aHJvd1wiOiB2ZXJiKDEpLFxuICAgICAgICBcInJldHVyblwiOiB2ZXJiKDIpXG4gICAgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSksIGc7XG4gICAgZnVuY3Rpb24gdmVyYihuKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbih2KSB7XG4gICAgICAgICAgICByZXR1cm4gc3RlcChbXG4gICAgICAgICAgICAgICAgbixcbiAgICAgICAgICAgICAgICB2XG4gICAgICAgICAgICBdKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgICAgIHdoaWxlKF8pdHJ5IHtcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbXG4gICAgICAgICAgICAgICAgb3BbMF0gJiAyLFxuICAgICAgICAgICAgICAgIHQudmFsdWVcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBzd2l0Y2gob3BbMF0pe1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIHQgPSBvcDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICBfLmxhYmVsKys7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3BbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICAgICAgXy5sYWJlbCsrO1xuICAgICAgICAgICAgICAgICAgICB5ID0gb3BbMV07XG4gICAgICAgICAgICAgICAgICAgIG9wID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjYXNlIDc6XG4gICAgICAgICAgICAgICAgICAgIG9wID0gXy5vcHMucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF8gPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCBvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgXy5sYWJlbCA9IG9wWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfLmxhYmVsID0gdFsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfLmxhYmVsID0gdFsyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIF8ub3BzLnB1c2gob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIG9wID0gW1xuICAgICAgICAgICAgICAgIDYsXG4gICAgICAgICAgICAgICAgZVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHkgPSAwO1xuICAgICAgICB9IGZpbmFsbHl7XG4gICAgICAgICAgICBmID0gdCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCxcbiAgICAgICAgICAgIGRvbmU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG59XG5pbXBvcnQgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanNcIjtcbmltcG9ydCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanNcIjtcbmltcG9ydCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5yZWR1Y2UuanNcIjtcbmltcG9ydCBcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzXCI7XG5pbXBvcnQgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzXCI7XG5pbXBvcnQgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzXCI7XG5pbXBvcnQgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJyZWFjdC1wYWdlc1wiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJyZWFjdC1yZXNwb25zaXZlLXVpXCI7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IHsgc2F2ZUNoYW5uZWxzVmlldyB9IGZyb20gXCIuLi8uLi9yZWR1eC9zZXR0aW5ncy5qc1wiO1xuaW1wb3J0IHsgZ2V0Q2hhbm5lbHMgfSBmcm9tIFwiLi4vLi4vcmVkdXgvZGF0YS5qc1wiO1xuaW1wb3J0IHVzZU1lc3NhZ2VzIGZyb20gXCIuLi8uLi9ob29rcy91c2VNZXNzYWdlcy5qc1wiO1xuaW1wb3J0IHVzZVNldHRpbmdzIGZyb20gXCIuLi8uLi9ob29rcy91c2VTZXR0aW5ncy5qc1wiO1xuaW1wb3J0IHVzZURhdGFTb3VyY2UgZnJvbSBcIi4uLy4uL2hvb2tzL3VzZURhdGFTb3VyY2UuanNcIjtcbmltcG9ydCB1c2VNdWx0aURhdGFTb3VyY2UgZnJvbSBcIi4uLy4uL2hvb2tzL3VzZU11bHRpRGF0YVNvdXJjZS5qc1wiO1xuaW1wb3J0IENoYW5uZWxzTGlzdFNlYXJjaCBmcm9tIFwiLi9DaGFubmVsc0xpc3RTZWFyY2guanNcIjtcbmltcG9ydCBDaGFubmVsc0xpc3RWaWV3U3dpdGNoZXIgZnJvbSBcIi4vQ2hhbm5lbHNMaXN0Vmlld1N3aXRjaGVyLmpzXCI7XG5pbXBvcnQgXCIuL0NoYW5uZWxzTGlzdEJhc2UuY3NzXCI7XG4vLyBgPENoYW5uZWxzLz5gIGFyZSB1c2VkIGluIGBwYWdlcy9DaGFubmVscy5qc2AuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDaGFubmVsc0xpc3RCYXNlKHBhcmFtKSB7XG4gICAgdmFyIHZpZXdzID0gcGFyYW0udmlld3MsIGNoYW5uZWxzID0gcGFyYW0uY2hhbm5lbHMsIGNoYW5uZWxzQnlQb3B1bGFyaXR5ID0gcGFyYW0uY2hhbm5lbHNCeVBvcHVsYXJpdHksIGNoYW5uZWxzQnlDYXRlZ29yeSA9IHBhcmFtLmNoYW5uZWxzQnlDYXRlZ29yeSwgY2hhbm5lbHNWaWV3U2V0dGluZyA9IHBhcmFtLmNoYW5uZWxzVmlldywgc2hvdWxkU2F2ZUNoYW5uZWxzVmlldyA9IHBhcmFtLnNob3VsZFNhdmVDaGFubmVsc1ZpZXcsIHNob3dBbGxDaGFubmVscyA9IHBhcmFtLnNob3dBbGxDaGFubmVscywgc2hvd0FsbENoYW5uZWxzTGluayA9IHBhcmFtLnNob3dBbGxDaGFubmVsc0xpbmssIExpc3RDb21wb25lbnQgPSBwYXJhbS5saXN0Q29tcG9uZW50LCBzZWxlY3RlZENoYW5uZWwgPSBwYXJhbS5zZWxlY3RlZENoYW5uZWwsIGhpZ2hsaWdodFNlbGVjdGVkQ2hhbm5lbCA9IHBhcmFtLmhpZ2hsaWdodFNlbGVjdGVkQ2hhbm5lbCwgaGFzTW9yZUNoYW5uZWxzID0gcGFyYW0uaGFzTW9yZUNoYW5uZWxzLCBjbGFzc05hbWUgPSBwYXJhbS5jbGFzc05hbWU7XG4gICAgdmFyIGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgICB2YXIgbWVzc2FnZXMgPSB1c2VNZXNzYWdlcygpO1xuICAgIHZhciB1c2VyU2V0dGluZ3MgPSB1c2VTZXR0aW5ncygpO1xuICAgIHZhciBkYXRhU291cmNlID0gdXNlRGF0YVNvdXJjZSgpO1xuICAgIHZhciBtdWx0aURhdGFTb3VyY2UgPSB1c2VNdWx0aURhdGFTb3VyY2UoKTtcbiAgICB2YXIgX3VzZVN0YXRlID0gX3NsaWNlZF90b19hcnJheSh1c2VTdGF0ZSgpLCAyKSwgZmlsdGVyZWRDaGFubmVscyA9IF91c2VTdGF0ZVswXSwgc2V0RmlsdGVyZWRDaGFubmVscyA9IF91c2VTdGF0ZVsxXTtcbiAgICB2YXIgX3VzZVN0YXRlMSA9IF9zbGljZWRfdG9fYXJyYXkodXNlU3RhdGUoKSwgMiksIHZpZXcgPSBfdXNlU3RhdGUxWzBdLCBzZXRWaWV3ID0gX3VzZVN0YXRlMVsxXTtcbiAgICB2YXIgZGVmYXVsdENoYW5uZWxzVmlldyA9IGdldENoYW5uZWxzVmlldyhjaGFubmVsc1ZpZXdTZXR0aW5nLCB7XG4gICAgICAgIGNhblZpZXdCeUNhdGVnb3J5OiBCb29sZWFuKGNoYW5uZWxzQnlDYXRlZ29yeSkgJiYgdmlld3MgJiYgdmlld3MuaW5jbHVkZXMoXCJieS1jYXRlZ29yeVwiKSxcbiAgICAgICAgY2FuVmlld0J5UG9wdWxhcml0eTogQm9vbGVhbihjaGFubmVsc0J5UG9wdWxhcml0eSlcbiAgICB9KTtcbiAgICB2YXIgY2hhbm5lbHNWaWV3ID0gdmlldyB8fCBkZWZhdWx0Q2hhbm5lbHNWaWV3O1xuICAgIHZhciBvblZpZXdDaGFuZ2UgPSB1c2VDYWxsYmFjayhmdW5jdGlvbih2aWV3KSB7XG4gICAgICAgIHNldFZpZXcodmlldyk7XG4gICAgICAgIGlmIChzaG91bGRTYXZlQ2hhbm5lbHNWaWV3KSB7XG4gICAgICAgICAgICBkaXNwYXRjaChzYXZlQ2hhbm5lbHNWaWV3KHtcbiAgICAgICAgICAgICAgICBjaGFubmVsc1ZpZXc6IHZpZXcsXG4gICAgICAgICAgICAgICAgdXNlclNldHRpbmdzOiB1c2VyU2V0dGluZ3NcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbiAgICB2YXIgaXNDaGFubmVsU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhmdW5jdGlvbihjaGFubmVsKSB7XG4gICAgICAgIHJldHVybiBoaWdobGlnaHRTZWxlY3RlZENoYW5uZWwgJiYgc2VsZWN0ZWRDaGFubmVsICYmIGNoYW5uZWwuaWQgPT09IHNlbGVjdGVkQ2hhbm5lbC5pZDtcbiAgICB9LCBbXG4gICAgICAgIGhpZ2hsaWdodFNlbGVjdGVkQ2hhbm5lbCxcbiAgICAgICAgc2VsZWN0ZWRDaGFubmVsXG4gICAgXSk7XG4gICAgdmFyIGdldENoYW5uZWxzTGlzdEl0ZW1zID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24oKSB7XG4gICAgICAgIHN3aXRjaChjaGFubmVsc1ZpZXcpe1xuICAgICAgICAgICAgY2FzZSBcImJ5LWNhdGVnb3J5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoYW5uZWxzQnlDYXRlZ29yeS5yZWR1Y2UoZnVuY3Rpb24oYWxsLCBjYXRlZ29yeSwgaSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWxsLmNvbmNhdChbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBjYXRlZ29yeS5jYXRlZ29yeSB8fCBcIuKAlFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeS5jYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdDogaSA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdKS5jb25jYXQoY2F0ZWdvcnkuY2hhbm5lbHMubWFwKGZ1bmN0aW9uKGNoYW5uZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBjaGFubmVsLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWw6IGNoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGlzQ2hhbm5lbFNlbGVjdGVkKGNoYW5uZWwpXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgY2FzZSBcImxpc3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKGZpbHRlcmVkQ2hhbm5lbHMgfHwgY2hhbm5lbHNCeVBvcHVsYXJpdHkgfHwgY2hhbm5lbHMpLmZpbHRlcihmdW5jdGlvbihjaGFubmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaG93QWxsQ2hhbm5lbHMgfHwgIWNoYW5uZWwuaXNIaWRkZW47XG4gICAgICAgICAgICAgICAgfSkubWFwKGZ1bmN0aW9uKGNoYW5uZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogY2hhbm5lbC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWw6IGNoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogaXNDaGFubmVsU2VsZWN0ZWQoY2hhbm5lbClcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgLy8gVW5zdXBwb3J0ZWQgYGNoYW5uZWxzVmlld2AuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBjaGFubmVsc1ZpZXcsXG4gICAgICAgIGNoYW5uZWxzLFxuICAgICAgICBjaGFubmVsc0J5UG9wdWxhcml0eSxcbiAgICAgICAgY2hhbm5lbHNCeUNhdGVnb3J5LFxuICAgICAgICBmaWx0ZXJlZENoYW5uZWxzLFxuICAgICAgICBpc0NoYW5uZWxTZWxlY3RlZCxcbiAgICAgICAgc2hvd0FsbENoYW5uZWxzXG4gICAgXSk7XG4gICAgdmFyIGxvYWRDaGFubmVsc0xpc3QgPSB1c2VDYWxsYmFjaygvKiNfX1BVUkVfXyovIF9hc3luY190b19nZW5lcmF0b3IoZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfdHNfZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uKF9zdGF0ZSkge1xuICAgICAgICAgICAgc3dpdGNoKF9zdGF0ZS5sYWJlbCl7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgNCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKGdldENoYW5uZWxzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2V0dGluZ3M6IHVzZXJTZXR0aW5ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBkYXRhU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpRGF0YVNvdXJjZTogbXVsdGlEYXRhU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzOiBtZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBfc3RhdGUuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KSwgW1xuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgdXNlclNldHRpbmdzLFxuICAgICAgICBkYXRhU291cmNlLFxuICAgICAgICBtdWx0aURhdGFTb3VyY2UsXG4gICAgICAgIG1lc3NhZ2VzXG4gICAgXSk7XG4gICAgaWYgKCFjaGFubmVscykge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfanN4cyhcInBcIiwge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiBcIkNoYW5uZWxzLWVycm9yXCIsXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwiQ2hhbm5lbHMtZXJyb3JUZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBtZXNzYWdlcy5ib2FyZHMuZXJyb3JcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goXCJiclwiLCB7fSksXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyBfanN4KEJ1dHRvbiwge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwiQ2hhbm5lbHMtZXJyb3JSZXRyeVwiLFxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiBsb2FkQ2hhbm5lbHNMaXN0LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogbWVzc2FnZXMuYWN0aW9ucy5yZXRyeVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfanN4cyhcIm5hdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJDaGFubmVsc1wiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgdmlld3MgJiYgdmlld3MuaW5jbHVkZXMoXCJsaXN0XCIpICYmIGNoYW5uZWxzQnlQb3B1bGFyaXR5ICYmIGNoYW5uZWxzQnlDYXRlZ29yeSAmJiB2aWV3cy5pbmNsdWRlcyhcImJ5LWNhdGVnb3J5XCIpICYmIC8qI19fUFVSRV9fKi8gX2pzeChDaGFubmVsc0xpc3RWaWV3U3dpdGNoZXIsIHtcbiAgICAgICAgICAgICAgICB2aWV3OiBjaGFubmVsc1ZpZXcsXG4gICAgICAgICAgICAgICAgb25WaWV3Q2hhbmdlOiBvblZpZXdDaGFuZ2VcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc2hvd0FsbENoYW5uZWxzICYmIGNoYW5uZWxzVmlldyA9PT0gXCJsaXN0XCIgJiYgLyojX19QVVJFX18qLyBfanN4KENoYW5uZWxzTGlzdFNlYXJjaCwge1xuICAgICAgICAgICAgICAgIGNoYW5uZWxzOiBjaGFubmVscyB8fCBjaGFubmVsc0J5UG9wdWxhcml0eSxcbiAgICAgICAgICAgICAgICBzZXRTZWFyY2hSZXN1bHRzOiBzZXRGaWx0ZXJlZENoYW5uZWxzXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChMaXN0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVzKFwiQ2hhbm5lbHMtbGlzdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIC8vICdDaGFubmVscy1saXN0LS1saXN0JzogY2hhbm5lbHNWaWV3ID09PSAnbGlzdCcsXG4gICAgICAgICAgICAgICAgICAgIFwiQ2hhbm5lbHMtbGlzdC0tYnktY2F0ZWdvcnlcIjogY2hhbm5lbHNWaWV3ID09PSBcImJ5LWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogZ2V0Q2hhbm5lbHNMaXN0SXRlbXMoKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAhc2hvd0FsbENoYW5uZWxzICYmIHNob3dBbGxDaGFubmVsc0xpbmsgJiYgKGhhc01vcmVDaGFubmVscyB8fCBkYXRhU291cmNlLmNvbnRlbnRDYXRlZ29yeVVuc3BlY2lmaWVkKSAmJiAvKiNfX1BVUkVfXyovIF9qc3goXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJDaGFubmVscy1zaG93QWxsV3JhcHBlclwiLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovIF9qc3goTGluaywge1xuICAgICAgICAgICAgICAgICAgICB0bzogXCIvY2hhbm5lbHNcIixcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIkNoYW5uZWxzLXNob3dBbGxcIixcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IG1lc3NhZ2VzLmJvYXJkcy5zaG93QWxsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmV4cG9ydCB2YXIgY2hhbm5lbFNoYXBlID0ge1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBkZXNjcmlwdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb21tZW50c1BlckhvdXI6IFByb3BUeXBlcy5udW1iZXJcbn07XG5DaGFubmVsc0xpc3RCYXNlLnByb3BUeXBlcyA9IHtcbiAgICB2aWV3czogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm9uZU9mKFtcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwiYnktY2F0ZWdvcnlcIlxuICAgIF0pKSxcbiAgICBjaGFubmVsczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKGNoYW5uZWxTaGFwZSkpLFxuICAgIGNoYW5uZWxzQnlQb3B1bGFyaXR5OiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc2hhcGUoY2hhbm5lbFNoYXBlKSksXG4gICAgY2hhbm5lbHNCeUNhdGVnb3J5OiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBjYXRlZ29yeTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICBjaGFubmVsczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKGNoYW5uZWxTaGFwZSkpLmlzUmVxdWlyZWRcbiAgICB9KSksXG4gICAgY2hhbm5lbHNWaWV3OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNob3VsZFNhdmVDaGFubmVsc1ZpZXc6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dBbGxDaGFubmVsczogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2hvd0FsbENoYW5uZWxzTGluazogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2VsZWN0ZWRDaGFubmVsOiBQcm9wVHlwZXMuc2hhcGUoY2hhbm5lbFNoYXBlKSxcbiAgICBoaWdobGlnaHRTZWxlY3RlZENoYW5uZWw6IFByb3BUeXBlcy5ib29sLFxuICAgIC8vIGlzQ2hhbm5lbE9yVGhyZWFkTG9jYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc01vcmVDaGFubmVsczogUHJvcFR5cGVzLmJvb2wsXG4gICAgLy8gZGlzcGF0Y2g6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxpc3RDb21wb25lbnQ6IFByb3BUeXBlcy5lbGVtZW50VHlwZS5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcbmZ1bmN0aW9uIGdldENoYW5uZWxzVmlldyhjaGFubmVsc1ZpZXcsIHBhcmFtKSB7XG4gICAgdmFyIGNhblZpZXdCeUNhdGVnb3J5ID0gcGFyYW0uY2FuVmlld0J5Q2F0ZWdvcnksIGNhblZpZXdCeVBvcHVsYXJpdHkgPSBwYXJhbS5jYW5WaWV3QnlQb3B1bGFyaXR5O1xuICAgIHN3aXRjaChjaGFubmVsc1ZpZXcpe1xuICAgICAgICBjYXNlIFwiYnktY2F0ZWdvcnlcIjpcbiAgICAgICAgICAgIGlmIChjYW5WaWV3QnlDYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGFubmVsc1ZpZXc7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJsaXN0XCI6XG4gICAgICAgICAgICByZXR1cm4gY2hhbm5lbHNWaWV3O1xuICAgIH1cbiAgICBpZiAoY2FuVmlld0J5UG9wdWxhcml0eSkge1xuICAgICAgICByZXR1cm4gXCJsaXN0XCI7XG4gICAgfVxuICAgIGlmIChjYW5WaWV3QnlDYXRlZ29yeSkge1xuICAgICAgICByZXR1cm4gXCJieS1jYXRlZ29yeVwiO1xuICAgIH1cbiAgICByZXR1cm4gXCJsaXN0XCI7XG59XG5cblxuY29uc3QgJFJlYWN0UmVmcmVzaE1vZHVsZUlkJCA9IF9fd2VicGFja19yZXF1aXJlX18uJFJlZnJlc2gkLm1vZHVsZUlkO1xuY29uc3QgJFJlYWN0UmVmcmVzaEN1cnJlbnRFeHBvcnRzJCA9IF9fcmVhY3RfcmVmcmVzaF91dGlsc19fLmdldE1vZHVsZUV4cG9ydHMoXG5cdCRSZWFjdFJlZnJlc2hNb2R1bGVJZCRcbik7XG5cbmZ1bmN0aW9uICRSZWFjdFJlZnJlc2hNb2R1bGVSdW50aW1lJChleHBvcnRzKSB7XG5cdGlmIChpbXBvcnQubWV0YS53ZWJwYWNrSG90KSB7XG5cdFx0bGV0IGVycm9yT3ZlcmxheTtcblx0XHRpZiAodHlwZW9mIF9fcmVhY3RfcmVmcmVzaF9lcnJvcl9vdmVybGF5X18gIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHRlcnJvck92ZXJsYXkgPSBfX3JlYWN0X3JlZnJlc2hfZXJyb3Jfb3ZlcmxheV9fO1xuXHRcdH1cblx0XHRsZXQgdGVzdE1vZGU7XG5cdFx0aWYgKHR5cGVvZiBfX3JlYWN0X3JlZnJlc2hfdGVzdF9fICE9PSAndW5kZWZpbmVkJykge1xuXHRcdFx0dGVzdE1vZGUgPSBfX3JlYWN0X3JlZnJlc2hfdGVzdF9fO1xuXHRcdH1cblx0XHRyZXR1cm4gX19yZWFjdF9yZWZyZXNoX3V0aWxzX18uZXhlY3V0ZVJ1bnRpbWUoXG5cdFx0XHRleHBvcnRzLFxuXHRcdFx0JFJlYWN0UmVmcmVzaE1vZHVsZUlkJCxcblx0XHRcdGltcG9ydC5tZXRhLndlYnBhY2tIb3QsXG5cdFx0XHRlcnJvck92ZXJsYXksXG5cdFx0XHR0ZXN0TW9kZVxuXHRcdCk7XG5cdH1cbn1cblxuaWYgKHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJyAmJiAkUmVhY3RSZWZyZXNoQ3VycmVudEV4cG9ydHMkIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuXHQkUmVhY3RSZWZyZXNoQ3VycmVudEV4cG9ydHMkLnRoZW4oJFJlYWN0UmVmcmVzaE1vZHVsZVJ1bnRpbWUkKTtcbn0gZWxzZSB7XG5cdCRSZWFjdFJlZnJlc2hNb2R1bGVSdW50aW1lJCgkUmVhY3RSZWZyZXNoQ3VycmVudEV4cG9ydHMkKTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=
//# sourceURL=webpack-internal:///./src/components/ChannelsList/ChannelsListBase.js

from swc.

kdy1 avatar kdy1 commented on May 19, 2024

#7435

from swc.

catamphetamine avatar catamphetamine commented on May 19, 2024

@kdy1 FYI: the issue you've linked doesn't seem to describe this case.

In any case, here're the final thoughts:

The reason seems to be that before 1.3.105 it compiled the source code as var channelShape = ... but starting with 1.3.105 it started compiling the same code as const channelShape = ... and there's a difference between const and var in that a variable declared with var can be used before it is declared whereas a variable declared with const cannot.

from swc.

catamphetamine avatar catamphetamine commented on May 19, 2024

@kdy1 Ah, ok, you meant "circular dependency". Ok, I'll see if there's one, thanks. Looks like I've potentially found one.

This man seems to have been having the same issue: #8787

from swc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.