"use strict";
(() => {
var exports = {};
exports.id = 1142;
exports.ids = [1142,7206];
exports.modules = {

/***/ 878802:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/cocalc-real-time-jupyter.3845ea29.png","height":508,"width":868,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAGFBMVEXn5+fe3t7i4uLb2tzR0dHDw8PV1dXLyupuAL43AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJUlEQVQImQXBgQEAMAiDMLDV/f/xEsyet8tYNYEpUTDFzACFBx8JIQBX5gACbQAAAABJRU5ErkJggg==","blurWidth":8,"blurHeight":5});

/***/ }),

/***/ 448145:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/frame-editor-python.02390879.png","height":779,"width":1599,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAAG1BMVEX8+vrw7+/p5+n78efw6N/Y5Ov27OP88ee3z98er4P6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJUlEQVQImRXGyQ0AIAwEsdkjQP8Vo0h+GHveIC1sC0Btz4bc5AME7wBFAxB7TgAAAABJRU5ErkJggg==","blurWidth":8,"blurHeight":4});

/***/ }),

/***/ 683835:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/python-logo.a0116dd1.svg","height":110,"width":110});

/***/ }),

/***/ 556815:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Code)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);


const { Text  } = antd__WEBPACK_IMPORTED_MODULE_1__.Typography;
function Code({ children , style  }) {
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Text, {
        code: true,
        style: style,
        children: children
    });
};


/***/ }),

/***/ 426590:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Info)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(807772);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(975867);
/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(428053);
/* harmony import */ var lib_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(774872);






const showcase = {
    width: "100%",
    boxShadow: "2px 2px 4px rgb(0 0 0 / 25%), 0 2px 4px rgb(0 0 0 / 22%)",
    borderRadius: "3px"
};
function Info(props) {
    const { anchor , icon , title , image , alt , video , caption , children , wide , swapCols , textStyleExtra ,  } = props;
    const head = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h1", {
        id: anchor,
        style: {
            textAlign: "center",
            marginBottom: "20px",
            color: "#333"
        },
        children: [
            icon && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                style: {
                    fontSize: "24pt",
                    marginRight: "5px"
                },
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, {
                        name: icon
                    }),
                    " "
                ]
            }),
            title
        ]
    });
    let graphic = null;
    if (image != null) {
        graphic = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_image__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
            style: showcase,
            src: image,
            alt: alt ?? caption
        });
    } else if (video != null) {
        const videoSrcs = typeof video == "string" ? [
            video
        ] : video;
        verifyHasMp4(videoSrcs);
        graphic = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: {
                position: "relative",
                width: "100%"
            },
            children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("video", {
                style: showcase,
                loop: true,
                controls: true,
                children: sources(videoSrcs)
            })
        });
    }
    if (graphic != null && caption != null) {
        graphic = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
            children: [
                graphic,
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                    style: {
                        textAlign: "center",
                        color: "#666",
                        fontSize: "13pt"
                    },
                    children: caption
                })
            ]
        });
    }
    if (!graphic) {
        const noGraphicTextStyle = {
            background: "#fafafa",
            padding: "20px",
            marginBottom: "15px"
        };
        if (textStyleExtra != null) {
            // if textColStyleExtra is given, then merge it into noGraphicTextStyle.
            Object.assign(noGraphicTextStyle, textStyleExtra);
        }
        return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: {
                width: "100%"
            },
            children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    maxWidth: lib_config__WEBPACK_IMPORTED_MODULE_5__/* .MAX_WIDTH */ .d,
                    margin: "0 auto"
                },
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                    style: noGraphicTextStyle,
                    children: [
                        /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                            style: {
                                textAlign: "center"
                            },
                            children: head
                        }),
                        /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                            style: {
                                margin: "auto",
                                maxWidth: wide ? "600px" : undefined
                            },
                            children: children
                        })
                    ]
                })
            })
        });
    }
    const textColStyle = {
        border: "1px solid white",
        borderRadius: "5px",
        padding: "0 20px 0 20px",
        marginBottom: "15px",
        display: "flex",
        justifyContent: "start",
        alignContent: "start",
        flexDirection: "column",
        fontSize: "12pt"
    };
    if (textStyleExtra != null) {
        // if textColStyleExtra is given, then merge it into textColStyle.
        Object.assign(textColStyle, textStyleExtra);
    }
    const textCol = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
        lg: wide ? 7 : 9,
        style: textColStyle,
        children: children
    }, "text");
    const graphicCol = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
        lg: wide ? 17 : 15,
        style: {
            padding: "0 30px",
            width: "100%"
        },
        children: graphic
    }, "graphics");
    const cols = swapCols ? [
        textCol,
        graphicCol
    ] : [
        graphicCol,
        textCol
    ];
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
        style: {
            padding: "60px 5%",
            background: "white",
            fontSize: "11pt"
        },
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                head,
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                    children: cols
                })
            ]
        })
    });
};
function sources(video) {
    const v = [];
    for (const x of video){
        v.push(/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("source", {
            src: (0,_util__WEBPACK_IMPORTED_MODULE_3__/* .MediaURL */ .c)(x)
        }, x));
    }
    return v;
}
function verifyHasMp4(video) {
    for (const x of video){
        if (x.endsWith(".mp4")) {
            return;
        }
    }
    console.warn("include mp4 format for the video, so that it is viewable on iOS!!", video);
}
Info.Heading = ({ children , description , style  })=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            ...{
                textAlign: "center",
                margin: "40px"
            },
            ...style
        },
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
                style: {
                    fontSize: "400%",
                    color: "#444"
                },
                children: children
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    fontSize: "13pt",
                    color: "#666"
                },
                children: description
            })
        ]
    });
};


/***/ }),

/***/ 482238:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(616689);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _cocalc_frontend_misc_math_to_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(749924);
/* harmony import */ var _cocalc_frontend_misc_math_to_html__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_misc_math_to_html__WEBPACK_IMPORTED_MODULE_2__);



const LaTeX = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1___default().memo(()=>{
    const { __html  } = _cocalc_frontend_misc_math_to_html__WEBPACK_IMPORTED_MODULE_2___default()("\\LaTeX", true);
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
        dangerouslySetInnerHTML: {
            __html
        }
    });
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LaTeX);


/***/ }),

/***/ 171580:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Pitch)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var components_misc_A__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(940981);
/* harmony import */ var _code__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(556815);




function Pitch({ col1 , col2 , ext  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            padding: "30px 10%",
            backgroundColor: "white",
            fontSize: "11pt"
        },
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        lg: 12,
                        style: {
                            paddingRight: "20px"
                        },
                        children: col1
                    }),
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        lg: 12,
                        children: col2
                    })
                ]
            }),
            ext && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(CallToAction, {
                ext: ext
            })
        ]
    });
};
function CallToAction({ ext  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            textAlign: "center",
            padding: "30px 0",
            fontSize: "14pt"
        },
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("strong", {
                children: "Ready out of the box"
            }),
            ":",
            " ",
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                href: "https://doc.cocalc.com/getting-started.html",
                children: "Sign up, create a project"
            }),
            ", create or ",
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                href: "https://doc.cocalc.com/howto/upload.html",
                children: "upload"
            }),
            " ",
            "your ",
            ext && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_code__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
                children: [
                    "*.",
                    ext
                ]
            }),
            " file, and you're ready to go!"
        ]
    });
}


/***/ }),

/***/ 55936:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "Z": () => (/* binding */ Publishing)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(426590);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(940981);
;// CONCATENATED MODULE: ./public/features/cocalc-share-latex-document.png
/* harmony default export */ const cocalc_share_latex_document = ({"src":"/_next/static/media/cocalc-share-latex-document.907aa108.png","height":939,"width":1494,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAALVBMVEVTV1rExr7R4u////+8u+J7e7be3997fLnDw+6ws7avr854eaPW19nZ29t7e7AVRkj5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKklEQVQImTXGyQkAIAwAwTUm5tL+2xUE5zXkeBLazbyBCtUoYE2ReX42Fw9lAKwQFA97AAAAAElFTkSuQmCC","blurWidth":8,"blurHeight":5});
;// CONCATENATED MODULE: ./components/landing/publishing.tsx




function Publishing() {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
        anchor: "a-publishing",
        title: "Publishing",
        icon: "bullhorn",
        image: cocalc_share_latex_document,
        alt: "Viewing a PDF file in the share server",
        children: [
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                children: [
                    "CoCalc helps you ",
                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                        children: "share your work with the world"
                    }),
                    ". It offers its own hosting of ",
                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                        href: "/share",
                        children: "shared documents"
                    }),
                    ", alongside with any associated data files."
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                children: [
                    "You can configure if your published files should be listed publicly, or rather only be available via a confidential URL.",
                    " "
                ]
            })
        ]
    });
};


/***/ }),

/***/ 652775:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "Z": () => (/* binding */ Snapshots)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(940981);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(426590);
;// CONCATENATED MODULE: ./public/features/cocalc-snapshots.png
/* harmony default export */ const cocalc_snapshots = ({"src":"/_next/static/media/cocalc-snapshots.9bf815f8.png","height":944,"width":1915,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAACVBMVEX09PXl7PLx6urSlAO8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFElEQVQImWNgQABGRkYmJhgDSQQAARYAFAdb/jMAAAAASUVORK5CYII=","blurWidth":8,"blurHeight":4});
;// CONCATENATED MODULE: ./components/landing/snapshots.tsx




function Snapshots({ children  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
        title: "Snapshot backups",
        image: cocalc_snapshots,
        icon: "life-saver",
        anchor: "a-snapshot-backups",
        alt: "Browsing filesystem snapshots in a CoCalc project",
        wide: true,
        children: [
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                        children: "Snapshots"
                    }),
                    " are consistent read-only views of all your files in a",
                    " ",
                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                        href: "https://doc.cocalc.com/project.html",
                        children: "CoCalc project"
                    }),
                    ". You can restore your files by copying back any that you accidentally deleted or corrupted."
                ]
            }),
            children
        ]
    });
};


/***/ }),

/***/ 774872:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "d": () => (/* binding */ MAX_WIDTH),
/* harmony export */   "r": () => (/* binding */ SHARE_MAX_WIDTH)
/* harmony export */ });
/*
Constants and other configuration that impact the overall
look of all of the pages.
*/ const MAX_WIDTH = "900px";
const SHARE_MAX_WIDTH = "1100px";


/***/ }),

/***/ 989311:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": () => (/* binding */ Octave),
  "getServerSideProps": () => (/* binding */ getServerSideProps)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./components/landing/footer.tsx + 1 modules
var footer = __webpack_require__(831910);
// EXTERNAL MODULE: ./components/landing/header.tsx + 2 modules
var header = __webpack_require__(131498);
// EXTERNAL MODULE: ./components/landing/content.tsx
var content = __webpack_require__(499270);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(940981);
// EXTERNAL MODULE: ./lib/with-customize.ts
var with_customize = __webpack_require__(601880);
// EXTERNAL MODULE: ./lib/customize.ts
var lib_customize = __webpack_require__(400054);
// EXTERNAL MODULE: ./components/landing/sign-in.tsx
var sign_in = __webpack_require__(63186);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(426590);
// EXTERNAL MODULE: ./components/landing/pitch.tsx
var pitch = __webpack_require__(171580);
// EXTERNAL MODULE: ./components/landing/head.tsx
var head = __webpack_require__(373306);
// EXTERNAL MODULE: ./components/landing/snapshots.tsx + 1 modules
var snapshots = __webpack_require__(652775);
// EXTERNAL MODULE: ../frontend/dist/components/icon.js
var icon = __webpack_require__(807772);
// EXTERNAL MODULE: ./components/landing/latex.tsx
var latex = __webpack_require__(482238);
// EXTERNAL MODULE: ./components/landing/publishing.tsx + 1 modules
var publishing = __webpack_require__(55936);
// EXTERNAL MODULE: ./components/landing/code.tsx
var code = __webpack_require__(556815);
// EXTERNAL MODULE: ./public/features/python-logo.svg
var python_logo = __webpack_require__(683835);
// EXTERNAL MODULE: ./public/features/frame-editor-python.png
var frame_editor_python = __webpack_require__(448145);
// EXTERNAL MODULE: ./public/features/cocalc-real-time-jupyter.png
var cocalc_real_time_jupyter = __webpack_require__(878802);
;// CONCATENATED MODULE: ./public/features/cocalc-python-jupyter.png
/* harmony default export */ const cocalc_python_jupyter = ({"src":"/_next/static/media/cocalc-python-jupyter.8ad92ed2.png","height":777,"width":1153,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAG1BMVEX29vb////v7/H7+/zg6OysuqWBmn/o7u6bq5Ru/zClAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJ0lEQVQImTXGSQoAMAwDsbGdLv9/cWkgFyFOuYwh/iTEIElo3cnuPAfHAFEYLXpaAAAAAElFTkSuQmCC","blurWidth":8,"blurHeight":5});
;// CONCATENATED MODULE: ./public/features/cocalc-latex-pythontex.png
/* harmony default export */ const cocalc_latex_pythontex = ({"src":"/_next/static/media/cocalc-latex-pythontex.6e78de87.png","height":660,"width":1221,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAADFBMVEXx8fH4+Pj+/v7k6erUnhxbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVQImS3IwQ0AMBACINT9d740KU9skKCN1OTpHzkCfQAhAOvTvAAAAABJRU5ErkJggg==","blurWidth":8,"blurHeight":4});
;// CONCATENATED MODULE: ./public/features/cocalc-jupyter-format-python.gif
/* harmony default export */ const cocalc_jupyter_format_python = ({"src":"/_next/static/media/cocalc-jupyter-format-python.8356454d.gif","height":614,"width":772});
;// CONCATENATED MODULE: ./public/features/cocalc-frame-editor-python.png
/* harmony default export */ const cocalc_frame_editor_python = ({"src":"/_next/static/media/cocalc-frame-editor-python.39929fc2.png","height":561,"width":834,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAElBMVEX29vbt7e7+/v3l5Ofc4ebC0N+YahMNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJElEQVQImS3GwREAMAiEQDi1/5YzOtkPUD3TKpaBZEfOD5LzAAZAADi7pF9nAAAAAElFTkSuQmCC","blurWidth":8,"blurHeight":5});
;// CONCATENATED MODULE: ./public/features/cocalc-jupyter-python-sidechat.png
/* harmony default export */ const cocalc_jupyter_python_sidechat = ({"src":"/_next/static/media/cocalc-jupyter-python-sidechat.1f501ba0.png","height":792,"width":1368,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAJFBMVEXLy8vGxsa1tLTPzs7ExMS+vr7x8/Lf6fH8/funzue70N7D5v2ndv+FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImSXGuQEAMAgDscMYyLP/vilSSUhVpbMBm5z7zV7gyB/JEdMPDaoAle0JfcMAAAAASUVORK5CYII=","blurWidth":8,"blurHeight":5});
;// CONCATENATED MODULE: ./pages/features/python.tsx

























const component = "Python";
const title = `Run ${component} Online`;
function Octave({ customize  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(lib_customize/* Customize */.l, {
        value: customize,
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx(head/* default */.Z, {
                title: title
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout, {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx(header/* default */.Z, {
                        page: "features",
                        subPage: "python"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout.Content, {
                        children: [
                            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                                style: {
                                    backgroundColor: "#c7d9f5"
                                },
                                children: /*#__PURE__*/ jsx_runtime_.jsx(content/* default */.Z, {
                                    startup: component,
                                    logo: python_logo/* default */.Z,
                                    title: title,
                                    subtitle: /*#__PURE__*/ jsx_runtime_.jsx(jsx_runtime_.Fragment, {
                                        children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                            children: [
                                                "Run ",
                                                component,
                                                " scripts,",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "/features/jupyter-notebook",
                                                    children: "Jupyter notebooks"
                                                }),
                                                ", or even a ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "/features/x11",
                                                    children: "graphical application"
                                                }),
                                                " ",
                                                "in a full, remote ",
                                                component,
                                                " environment."
                                            ]
                                        })
                                    }),
                                    subtitleBelow: true,
                                    image: frame_editor_python/* default */.Z
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(pitch/* default */.Z, {
                                col1: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h3", {
                                            children: [
                                                /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                                    name: "global"
                                                }),
                                                " CoCalc covers all the bases"
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                                            children: [
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "Data Science and Machine Learning"
                                                        }),
                                                        ":",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://doc.cocalc.com/howto/upload.html",
                                                            children: "Upload"
                                                        }),
                                                        " ",
                                                        "your datafiles and analyze them using",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.tensorflow.org/",
                                                            children: "Tensorflow"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://scikit-learn.org/stable/",
                                                            children: "scikit-learn"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://keras.io/",
                                                            children: "Keras"
                                                        }),
                                                        ", ... including an",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.anaconda.com/distribution/",
                                                            children: "Anaconda"
                                                        }),
                                                        " ",
                                                        "environment."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "Mathematics"
                                                        }),
                                                        ":",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.sympy.org",
                                                            children: "SymPy"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.sagemath.org",
                                                            children: "SageMath"
                                                        }),
                                                        ", ..."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "Statistics"
                                                        }),
                                                        ":",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://pandas.pydata.org/",
                                                            children: "pandas"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.statsmodels.org/",
                                                            children: "statsmodels"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://rpy2.github.io/",
                                                            children: "rpy2 (R bridge)"
                                                        }),
                                                        ", ..."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "Visualization"
                                                        }),
                                                        ":",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://matplotlib.org/",
                                                            children: "matplotlib"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://plot.ly/python/plotly-fundamentals/",
                                                            children: "plotly"
                                                        }),
                                                        ", ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://seaborn.pydata.org/",
                                                            children: "seaborn"
                                                        }),
                                                        ", ..."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "Teaching"
                                                        }),
                                                        ": learn Python online or teach a course."
                                                    ]
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                "Find more details in the",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "/software/python",
                                                    children: "list of installed Python libraries"
                                                }),
                                                "."
                                            ]
                                        })
                                    ]
                                }),
                                col2: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h3", {
                                            children: [
                                                /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                                    name: "lightbulb"
                                                }),
                                                " Zero setup"
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                                            children: [
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "Immediately start working by creating or",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://doc.cocalc.com/howto/upload.html",
                                                            children: "uploading"
                                                        }),
                                                        ", ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "/features/jupyter-notebook",
                                                            children: "Jupyter Notebooks"
                                                        }),
                                                        " ",
                                                        "or Python scripts."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "No need to download and install",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.python.org",
                                                            children: "Python"
                                                        }),
                                                        ",",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://www.anaconda.com/distribution/",
                                                            children: "Anaconda"
                                                        }),
                                                        ", or other Python environments."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "CoCalc already",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "/software/python",
                                                            children: "provides many packages"
                                                        }),
                                                        " for you."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "The ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "/features/latex-editor",
                                                            children: "LaTeX editor"
                                                        }),
                                                        " is already integrated with",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://ctan.org/pkg/pythontex",
                                                            children: "PythonTeX"
                                                        }),
                                                        " and",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://ctan.org/pkg/sagetex",
                                                            children: "SageTeX"
                                                        }),
                                                        "."
                                                    ]
                                                })
                                            ]
                                        })
                                    ]
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: component
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(info/* default.Heading */.Z.Heading, {
                                description: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "There are many ways to use ",
                                        component,
                                        " online via CoCalc."
                                    ]
                                }),
                                children: "Feature Overview"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Collaborative workspaces",
                                icon: "users",
                                image: cocalc_real_time_jupyter/* default */.Z,
                                anchor: "a-collaboration",
                                alt: "Editing a Jupyter notebook in two windows at the same time",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "As the name suggests, CoCalc's strength is",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "online code collaboration"
                                            }),
                                            ". Collaboration applies to editing plain Python files,",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/sagews.html",
                                                children: "Sage Worksheets"
                                            }),
                                            ",",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/features/jupyter-notebook",
                                                children: "Jupyter Notebooks"
                                            }),
                                            ", and much more."
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "This enables you to work more effectively as a team to solve the challenges of data science, machine learning and statistics. Every collaborator is always looking at the most recent state of files, and they experience and inspect the same Python state."
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "You can",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "create chatrooms"
                                            }),
                                            " ",
                                            "and get help via",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "side chat"
                                            }),
                                            " by @mentioning collaborators."
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Python in Jupyter Notebooks",
                                icon: "ipynb",
                                image: cocalc_python_jupyter,
                                anchor: "a-jupyternotebook",
                                wide: true,
                                alt: "Plotting using Matplotlib and Numpy in a Jupyter notebook",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "CoCalc offers a",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "/features/jupyter-notebook",
                                                    children: "complete rewrite"
                                                })
                                            }),
                                            " ",
                                            "of the classical",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "http://jupyter.org/",
                                                children: "Jupyter notebook"
                                            }),
                                            " interface. It is tightly integrated into CoCalc and adds realtime collaboration,",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "http://doc.cocalc.com/jupyter.html",
                                                children: "TimeTravel history and much more"
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "The user interface is very similar to Jupyter classic. It uses the same underlying Jupyter notebook file format, so you can download your ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "*.ipynb"
                                            }),
                                            " file at any time and continue working locally."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "There are several",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/software/python",
                                                children: "Python environments available"
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "You can also easily run",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/jupyter.html#classical-versus-cocalc",
                                                children: "Jupyter Classical"
                                            }),
                                            " ",
                                            "and JupyterLab in any CoCalc project."
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: component
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(latex/* default */.Z, {}),
                                        " support for PythonTeX/SageTeX"
                                    ]
                                }),
                                icon: "tex-file",
                                image: cocalc_latex_pythontex,
                                anchor: "a-latex",
                                alt: "Using PythonTex with LaTeX",
                                wide: true,
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                        children: [
                                            "The fully integrated",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/features/latex-editor",
                                                children: "CoCalc latex editor"
                                            }),
                                            " covers all your basic needs for working with ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: ".tex"
                                            }),
                                            " files containing",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://github.com/gpoore/pythontex",
                                                children: "PythonTeX"
                                            }),
                                            " or",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "http://doc.sagemath.org/html/en/tutorial/sagetex.html",
                                                children: "SageTeX"
                                            }),
                                            " ",
                                            "code. The document is synchronized with your collaborators in real-time and everyone sees the very same compiled PDF."
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("div", {
                                        children: "In particular, this LaTeX editor"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                        children: "Manages the entire compilation pipeline for you"
                                                    }),
                                                    ": it automatically calls ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                        children: "pythontex3"
                                                    }),
                                                    " or",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                        children: "sage"
                                                    }),
                                                    " to pre-process the code,"
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    "Supports ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                        children: "forward and inverse search"
                                                    }),
                                                    " to help you navigating in your document,"
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    "Captures and shows you",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                        children: "where LaTeX or Python errors happen"
                                                    }),
                                                    ","
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    "and via",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://doc.cocalc.com/time-travel.html",
                                                        children: "TimeTravel"
                                                    }),
                                                    " ",
                                                    "you can go back in time to see your latest edits in order to",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                        children: "easily recover from a recent mistake"
                                                    }),
                                                    "."
                                                ]
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                        children: [
                                            "Combined, this means you can do",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "your entire workflow online on CoCalc"
                                            }),
                                            ":"
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ol", {
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://doc.cocalc.com/howto/upload.html",
                                                        children: "Upload"
                                                    }),
                                                    " or fetch your datasets,"
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    "Use ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "#a-jupyternotebook",
                                                        children: "Jupyter Notebooks"
                                                    }),
                                                    " to explore the data, process it, and calculate your results,"
                                                ]
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "#a-chat",
                                                        children: "Discuss"
                                                    }),
                                                    " and",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "#a-collaboration",
                                                        children: "collaborate"
                                                    }),
                                                    " with your research team,"
                                                ]
                                            }),
                                            /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                                children: "Write your research paper in a LaTeX document,"
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "#a-publishing",
                                                        children: "Publish"
                                                    }),
                                                    " the datasets, your research code, and the PDF of your paper online, all hosted on CoCalc.",
                                                    " "
                                                ]
                                            })
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Code formatting",
                                icon: "network-wired",
                                image: cocalc_jupyter_format_python,
                                anchor: "a-codeformatting",
                                alt: "Video of formatting Python code in a Jupyter notebook with 1 click",
                                children: [
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "CoCalc has one-click code formatting for Jupyter notebooks and code files!"
                                        })
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Your python code is formatted in a clean and consistent way using",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://github.com/google/yapf#yapf",
                                                children: "yapf"
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "This reduces cognitive load reading source code, and ensures all code written by your team has a consistent and beautiful style."
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Python code formatting works with",
                                            " ",
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("strong", {
                                                children: [
                                                    "pure ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx("code", {
                                                        children: ".py"
                                                    }),
                                                    " files"
                                                ]
                                            }),
                                            " ",
                                            "and ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "Jupyter Notebooks running a Python kernel"
                                            }),
                                            "."
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Command line support",
                                icon: "terminal",
                                image: cocalc_frame_editor_python,
                                anchor: "a-commandline",
                                alt: "Using scikit learn from the command line to run Python code",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Your existing Python scripts run on CoCalc. Either open a",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/terminal.html",
                                                children: "Terminal"
                                            }),
                                            ' in the code editor, or click the "Shell" button to open a Python command line.'
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Terminals also give you access to",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.git-scm.com",
                                                children: "git"
                                            }),
                                            " and",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/software/executables",
                                                children: "many more utilities"
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Regarding collaboration, terminals can be used",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "by multiple users at once"
                                            }),
                                            ". This means you can work with your coworkers in the same session at the same time. Everyone sees the same output, and coordinate via",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "side chat"
                                            }),
                                            " next to the terminal."
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "You can also simultaneously work with many terminal sessions."
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "For long-running programs, you can even close your browser and check on the result later."
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Chatroom about your Python code",
                                icon: "comment",
                                image: cocalc_jupyter_python_sidechat,
                                anchor: "a-chat",
                                alt: "A Jupyter notebook with a chat window on the side",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Collaboration is a first class citizen on CoCalc. Use",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "side chat"
                                            }),
                                            " for each file to discuss content with your colleagues or students."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Additionally, avatars give you",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "presence information"
                                            }),
                                            " about who is currently also working on a file."
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "Collaborators who are not online will be notified about new messages the next time they sign in."
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "Chat"
                                            }),
                                            " also supports markdown formatting and ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(latex/* default */.Z, {}),
                                            " formulas."
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(publishing/* default */.Z, {}),
                            /*#__PURE__*/ jsx_runtime_.jsx(snapshots/* default */.Z, {}),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: component
                            })
                        ]
                    }),
                    /*#__PURE__*/ jsx_runtime_.jsx(footer/* default */.Z, {})
                ]
            })
        ]
    });
};
async function getServerSideProps(context) {
    return await (0,with_customize/* default */.Z)({
        context
    });
}


/***/ }),

/***/ 545725:
/***/ ((module) => {

module.exports = require("antd");

/***/ }),

/***/ 770640:
/***/ ((module) => {

module.exports = require("cookies");

/***/ }),

/***/ 65680:
/***/ ((module) => {

module.exports = require("lru-cache");

/***/ }),

/***/ 903280:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/app-router-context.js");

/***/ }),

/***/ 492796:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head-manager-context.js");

/***/ }),

/***/ 294957:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head.js");

/***/ }),

/***/ 703539:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");

/***/ }),

/***/ 734014:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");

/***/ }),

/***/ 450744:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config-context.js");

/***/ }),

/***/ 435843:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config.js");

/***/ }),

/***/ 278524:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/is-plain-object.js");

/***/ }),

/***/ 878020:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/mitt.js");

/***/ }),

/***/ 664406:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");

/***/ }),

/***/ 424964:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router-context.js");

/***/ }),

/***/ 493431:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/add-locale.js");

/***/ }),

/***/ 611751:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/add-path-prefix.js");

/***/ }),

/***/ 746220:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/compare-states.js");

/***/ }),

/***/ 110299:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/format-next-pathname-info.js");

/***/ }),

/***/ 623938:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/format-url.js");

/***/ }),

/***/ 329565:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");

/***/ }),

/***/ 735789:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-next-pathname-info.js");

/***/ }),

/***/ 901428:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");

/***/ }),

/***/ 528854:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/parse-path.js");

/***/ }),

/***/ 491292:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");

/***/ }),

/***/ 734567:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/path-has-prefix.js");

/***/ }),

/***/ 980979:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/querystring.js");

/***/ }),

/***/ 393297:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/remove-trailing-slash.js");

/***/ }),

/***/ 836052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");

/***/ }),

/***/ 584226:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");

/***/ }),

/***/ 95052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");

/***/ }),

/***/ 359232:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/utils.js");

/***/ }),

/***/ 40968:
/***/ ((module) => {

module.exports = require("next/head");

/***/ }),

/***/ 371853:
/***/ ((module) => {

module.exports = require("next/router");

/***/ }),

/***/ 616689:
/***/ ((module) => {

module.exports = require("react");

/***/ }),

/***/ 566405:
/***/ ((module) => {

module.exports = require("react-dom");

/***/ }),

/***/ 271704:
/***/ ((module) => {

module.exports = require("react-google-recaptcha-v3");

/***/ }),

/***/ 920997:
/***/ ((module) => {

module.exports = require("react/jsx-runtime");

/***/ }),

/***/ 439491:
/***/ ((module) => {

module.exports = require("assert");

/***/ }),

/***/ 714300:
/***/ ((module) => {

module.exports = require("buffer");

/***/ }),

/***/ 706113:
/***/ ((module) => {

module.exports = require("crypto");

/***/ }),

/***/ 809523:
/***/ ((module) => {

module.exports = require("dns");

/***/ }),

/***/ 582361:
/***/ ((module) => {

module.exports = require("events");

/***/ }),

/***/ 657147:
/***/ ((module) => {

module.exports = require("fs");

/***/ }),

/***/ 241808:
/***/ ((module) => {

module.exports = require("net");

/***/ }),

/***/ 822037:
/***/ ((module) => {

module.exports = require("os");

/***/ }),

/***/ 371017:
/***/ ((module) => {

module.exports = require("path");

/***/ }),

/***/ 677282:
/***/ ((module) => {

module.exports = require("process");

/***/ }),

/***/ 285477:
/***/ ((module) => {

module.exports = require("punycode");

/***/ }),

/***/ 12781:
/***/ ((module) => {

module.exports = require("stream");

/***/ }),

/***/ 371576:
/***/ ((module) => {

module.exports = require("string_decoder");

/***/ }),

/***/ 924404:
/***/ ((module) => {

module.exports = require("tls");

/***/ }),

/***/ 76224:
/***/ ((module) => {

module.exports = require("tty");

/***/ }),

/***/ 257310:
/***/ ((module) => {

module.exports = require("url");

/***/ }),

/***/ 473837:
/***/ ((module) => {

module.exports = require("util");

/***/ })

};
;

// load runtime
var __webpack_require__ = require("../../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, [6918,582,676,1746,1664,7545,3734,5373,6975,9715,9554,9066,981,5997,6202,7264,722,9924,5379,6087,6009,6952,5863,8572,4868,5123,3722,9270], () => (__webpack_exec__(989311)));
module.exports = __webpack_exports__;

})();