diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.0c0187df9df8bc38b9c5.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.0c0187df9df8bc38b9c5.js
deleted file mode 100644
index 644b1b8bff1..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.0c0187df9df8bc38b9c5.js
+++ /dev/null
@@ -1,767 +0,0 @@
-"use strict";
-(self["webpackChunkneural_compressor_ext_lab"] = self["webpackChunkneural_compressor_ext_lab"] || []).push([["lib_index_js"],{
-
-/***/ "./lib/constants.js":
-/*!**************************!*\
- !*** ./lib/constants.js ***!
- \**************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "Constants": () => (/* binding */ Constants)
-/* harmony export */ });
-var Constants;
-(function (Constants) {
- Constants.SHORT_PLUGIN_NAME = 'neural_compressor_ext_lab';
- Constants.WORK_PATH = "neural_coder_workspace/";
- Constants.ICON_FORMAT_ALL_SVG = '';
- Constants.ICON_RUN = '';
- Constants.SVG = '';
- Constants.LONG_PLUGIN_NAME = `@rya/${Constants.SHORT_PLUGIN_NAME}`;
- Constants.SETTINGS_SECTION = `${Constants.LONG_PLUGIN_NAME}:settings`;
- Constants.COMMAND_SECTION_NAME = 'Jupyterlab Code Optimizer';
- Constants.PLUGIN_VERSION = '0.1.0';
-})(Constants || (Constants = {}));
-
-
-/***/ }),
-
-/***/ "./lib/deepcoder.js":
-/*!**************************!*\
- !*** ./lib/deepcoder.js ***!
- \**************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "JupyterlabNotebookCodeOptimizer": () => (/* binding */ JupyterlabNotebookCodeOptimizer)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ "webpack/sharing/consume/default/@jupyterlab/notebook");
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./lib/utils.js");
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./lib/constants.js");
-
-
-
-class JupyterlabCodeOptimizer {
- constructor(panel) {
- this.working = false;
- this.panel = panel;
- this.tmp_path = "tmp.py";
- this.rand = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].GetRandomNum(0, 200);
- this.log_path = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.WORK_PATH + "NeuralCoder" + this.rand + ".log";
- this.tmp_log_path = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.WORK_PATH + "NeuralCoder_tmp" + ".log";
- this.cells = [];
- }
- async optimizeCode(code, formatter, name, next, options, notebook, panel, cell, run) {
- let codes = [];
- code.forEach(function (value) {
- value = value.replace(/('\\n')/g, '^^^');
- value = value.replace(/\\n"/g, '###');
- value = value.replace(/\\n'/g, '###');
- value = value.replace(/"\\n/g, '@@');
- value = value.replace(/'\\n/g, '@@');
- value = value.replace(/\n/g, '\\n');
- value = value.replace(/"/g, '+++');
- value = value.replace(/,/g, '$');
- codes.push(value);
- });
- let gen_code = `code = "${codes}"\ncodes = code.split(',')\nwith open( '${this.tmp_path}', 'w+' ) as f:\n for i in range(0,len(codes)):\n f.write('# this is the beginning of a single code snippet\\n')\n code_list = codes[i].replace('$',',').replace('+++','\"').split('\\n')\n for line in code_list:\n if('split(^^^)' in line):\n line=line.replace('split(^^^)', 'split(\\'\\\\n\\')')\n if('###' in line):\n line=line.replace('###', '\\\\n\"')\n if('@@' in line):\n line=line.replace('@@', '\"\\\\n')\n f.write(line+'\\n')`;
- const expr = { code_list: `code_list` };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, gen_code, expr, false);
- if (options === 'normal') {
- let runcode = `from neural_coder import enable\nenable(code="${this.tmp_path}",features=["${formatter}"], overwrite=True)`;
- let expr = { sum: ` ` };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let run_code1 = `with open("${this.tmp_path}", 'r') as f:\n optimized_code = f.read()\n`;
- let expr1 = { optimizedCode: "optimized_code" };
- let result2 = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, run_code1, expr1, false);
- result2.then(value => {
- var _a, _b, _c, _d;
- let optimizedTexts = Object.values(value.optimizedCode.data)[0];
- let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\n').slice(1);
- optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);
- for (let i = 0; i < optimizeCodes.length; ++i) {
- const cell = this.cells[i];
- const currentTexts = this.cells.map(cell => cell.model.value.text);
- const currentText = currentTexts[i];
- let optimizedtext = optimizeCodes[i];
- optimizedtext = optimizedtext.replace(/\\'\\\\n\\'/g, "^^^");
- optimizedtext = optimizedtext.replace(/\\\\n"/g, "+++");
- optimizedtext = optimizedtext.replace(/\\\\n'/g, "+++");
- optimizedtext = optimizedtext.replace(/"\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/'\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/\\n/g, '\n');
- optimizedtext = optimizedtext.replace(/\\'/g, "'");
- optimizedtext = optimizedtext.replace(/\^\^\^/g, "'\\n'");
- optimizedtext = optimizedtext.replace(/\+\+\+/g, "\\n\"");
- optimizedtext = optimizedtext.replace(/\@\@\@/g, "\"\\n");
- if (cell.model.value.text === currentText) {
- cell.model.value.text = optimizedtext;
- }
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.ICON_RUN;
- (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);
- }
- });
- }
- else {
- if (formatter === '') {
- if (this.markdown) {
- this.markdown.model.value.text += "[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ...... \n";
- }
- // cell.outputArea.node.innerText += "[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\n"
- let runcode1 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\n")`;
- let expr1 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode1, expr1, false);
- let runcode = `from neural_coder import enable\nperfomance, mode, path = enable(code="${this.tmp_path}",features=[], run_bench=True, args="${options}")\nwith open(path + '/bench.log', 'r') as f:\n logs = f.readlines()\nlog_line = logs[4]\nlog = log_line.split("[")[1].split("]")[0]`;
- let expr = { path: "path", log: "log" };
- let result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let fps;
- result.then(value => {
- fps = Object.values(value.log.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second) \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\n`
- let text = `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\n`;
- let runcode = `with open("${this.log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\n`
- let runcode1 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n")`;
- let expr1 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode1, expr1, false);
- let runcode2 = `with open("${this.tmp_log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- });
- }
- else {
- let runcode = `from neural_coder import enable\nperfomance, mode, path = enable(code="${this.tmp_path}", features=["${formatter}"], run_bench=True, args="${options}")\nwith open(path + '/bench.log', 'r') as f:\n logs = f.readlines()\nlog_line = logs[4]\nlog = log_line.split("[")[1].split("]")[0]`;
- let expr = { path: "path", log: "log" };
- let result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let fps;
- result.then(value => {
- fps = Object.values(value.log.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second) \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (FPS)\n`
- let text = `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second)\\n`;
- let runcode = `with open("${this.log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- if (next !== '') {
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\n`
- let runcode2 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- }
- let runcode3 = `with open("${this.tmp_log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr3 = { path: "" };
- let res_tmp = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);
- res_tmp.then(value => {
- if (formatter === 'pytorch_inc_bf16') {
- let read_log = `import re\nwith open("${this.tmp_log_path}", 'r') as f:\n logs = f.readlines()\n fps_list=[]\n for log_line in logs[-4:]:\n pat = re.compile(r\'\\d+\\.?\\d+')\n fps = re.findall(pat,log_line)[-1]\n fps_list.append(float(fps))\nmaxi = max(fps_list)\nindex = fps_list.index(maxi)\nboost = round(maxi/fps_list[0],1)\nfeatures=['','pytorch_inc_static_quant_fx','pytorch_inc_dynamic_quant','pytorch_inc_bf16']\nfeature_name=['Original Model','INC Enable INT8 (Static)','INC Enable INT8 (Dynamic)','INC Enable BF16']\nbest_feature = features[index]\nbest_name = feature_name[index]\nfeature_l = []\nfeature_l.append(best_feature)\nfrom neural_coder import enable\nenable(code="${this.tmp_path}",features=feature_l, overwrite=True)\nwith open("${this.tmp_path}", 'r') as f:\n optimized_code = f.read()\n`;
- let read_expr = { boost: "boost", best_feature: "best_feature", best_name: "best_name", optimizeCode: "optimized_code", feature_l: "fps_list", maxi: "maxi", index: "index" };
- let read_result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, read_log, read_expr, false);
- read_result.then(value => {
- var _a, _b, _c, _d;
- console.log("resres", value);
- let boost = Object.values(value.boost.data)[0];
- let best_name = Object.values(value.best_name.data)[0];
- let optimizedTexts = Object.values(value.optimizeCode.data)[0];
- let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\n').slice(1);
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] The Best Intel Optimization: ${best_name} \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] You can get up to ${boost}X performance boost. \n`;
- }
- // cell.outputArea.node.innerText +=`[NeuralCoder INFO] The Best Intel Optimization: ${best_name}\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] You can get up to ${boost}X performance boost.\n`
- optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);
- for (let i = 0; i < optimizeCodes.length; ++i) {
- const cell = this.cells[i];
- const currentTexts = this.cells.map(cell => cell.model.value.text);
- const currentText = currentTexts[i];
- let optimizedtext = optimizeCodes[i];
- optimizedtext = optimizedtext.replace(/\\'\\\\n\\'/g, "^^^");
- optimizedtext = optimizedtext.replace(/\\\\n"/g, "+++");
- optimizedtext = optimizedtext.replace(/\\\\n'/g, "+++");
- optimizedtext = optimizedtext.replace(/"\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/'\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/\\n/g, '\n');
- optimizedtext = optimizedtext.replace(/\\'/g, "'");
- optimizedtext = optimizedtext.replace(/\^\^\^/g, "'\\n'");
- optimizedtext = optimizedtext.replace(/\+\+\+/g, "\\n\"");
- optimizedtext = optimizedtext.replace(/\@\@\@/g, "\"\\n");
- if (cell.model.value.text === currentText) {
- cell.model.value.text = optimizedtext;
- }
- }
- // if(this.markdown){
- // this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: 4th Gen Intel Xeon Scalable processor with AMX \n`
- // this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log \n`
- // }
- let command = "lscpu | grep 'Model name'";
- let get_hardware = `import subprocess\nsubp = subprocess.Popen("${command}",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding="utf-8")\nsubp.wait(2)\nhardware = subp.communicate()[0].replace("Model name:","").strip()`;
- let expr_hardware = { hardware: "hardware" };
- let hard_res = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, get_hardware, expr_hardware, false);
- hard_res.then(value => {
- let hard = Object.values(value.hardware.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: ${hard} \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] HardWare: ${hard}\n`
- });
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log\n`
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.ICON_RUN;
- (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);
- });
- }
- });
- });
- }
- }
- }
-}
-class JupyterlabNotebookCodeOptimizer extends JupyterlabCodeOptimizer {
- constructor(notebookTracker, panel) {
- super(panel);
- this.notebookTracker = notebookTracker;
- this.notebookname = '';
- }
- async optimizeAction(config, formatter) {
- return this.optimizeCells(true, config, formatter);
- }
- async optimizeAllCodeCells(config, formatter, notebook, run) {
- return this.optimizeCells(false, config, formatter, notebook, run);
- }
- getCodeCells(ifmarkdown = true, notebook) {
- if (!this.notebookTracker.currentWidget) {
- return [];
- }
- const codeCells = [];
- notebook = notebook || this.notebookTracker.currentWidget.content;
- this.notebookname = notebook.title.label;
- let count = 0;
- notebook.widgets.forEach((cell) => {
- if (cell.model.type === 'code') {
- count += 1;
- codeCells.push(cell);
- }
- });
- if (ifmarkdown) {
- _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.NotebookActions.insertBelow(notebook);
- this.notebookTracker.currentWidget.content.activeCellIndex = count + 1;
- _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.NotebookActions.changeCellType(notebook, 'markdown');
- const activeCell = notebook.activeCell;
- if (activeCell) {
- this.markdown = activeCell;
- }
- }
- this.cells = codeCells;
- return codeCells;
- }
- async optimizeCells(selectedOnly, config, formatter, notebook, run) {
- if (this.working) {
- return new Promise((resolve, reject) => {
- resolve("false!");
- });
- }
- console.log("arrive here 333");
- this.working = true;
- const optimize_type = formatter !== undefined ? formatter : 'pytorch_mixed_precision_cpu';
- if (optimize_type === 'auto-quant') {
- selectedOnly = true;
- }
- else {
- selectedOnly = false;
- }
- const selectedCells = this.getCodeCells(selectedOnly, notebook);
- let cell = selectedCells[selectedCells.length - 1];
- if (selectedCells.length === 0) {
- this.working = false;
- return new Promise((resolve, reject) => {
- resolve("false!");
- });
- }
- const currentTexts = selectedCells.map(cell => cell.model.value.text);
- if (optimize_type === 'auto-quant') {
- console.log("arrive here 444-111");
- if (this.markdown) {
- this.markdown.model.value.text = `[NeuralCoder INFO] Auto-Quant Started ...... \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook "${this.notebookname}" \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Mode: Throughput \n`;
- }
- // cell.outputArea.node.innerText = `[NeuralCoder INFO] Auto-Quant Started ......\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook "${this.notebookname}"\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Mode: Throughput\n`
- let runcode = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Auto-Quant Started ......\\n")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- let runcode2 = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Code: User code from Jupyter Lab notebook '${this.notebookname}'\\n")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- let runcode3 = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Benchmark Mode: Throughput\\n")`;
- let expr3 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);
- // cell.outputArea.node.setAttribute("class","pad")
- await this.optimizeCode(currentTexts, '', 'The Original Model', 'INC Enable INT8 (Static)', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_static_quant_fx', 'INC Enable INT8 (Static)', 'INC Enable INT8 (Dynamic)', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_dynamic_quant', 'INC Enable INT8 (Dynamic)', 'INC Enable BF16', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_bf16', 'INC Enable BF16', '', config, true, this.panel, cell, run);
- }
- else {
- console.log("arrive here 444-222");
- await this.optimizeCode(currentTexts, optimize_type, "", "", "normal", true, this.panel, cell, run);
- }
- this.working = false;
- console.log("arrive here 555");
- return new Promise((resolve, reject) => {
- resolve("success!");
- });
- }
- applicable(formatter, currentWidget) {
- const currentNotebookWidget = this.notebookTracker.currentWidget;
- return currentNotebookWidget && currentWidget === currentNotebookWidget;
- }
-}
-
-
-/***/ }),
-
-/***/ "./lib/index.js":
-/*!**********************!*\
- !*** ./lib/index.js ***!
- \**********************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ "webpack/sharing/consume/default/@jupyterlab/notebook");
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ "webpack/sharing/consume/default/@jupyterlab/apputils");
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/settingregistry */ "webpack/sharing/consume/default/@jupyterlab/settingregistry");
-/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__);
-/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/mainmenu */ "webpack/sharing/consume/default/@jupyterlab/mainmenu");
-/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__);
-/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/ui-components */ "webpack/sharing/consume/default/@jupyterlab/ui-components");
-/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__);
-/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/widgets */ "webpack/sharing/consume/default/@lumino/widgets");
-/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_5__);
-/* harmony import */ var _deepcoder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./deepcoder */ "./lib/deepcoder.js");
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ "./lib/constants.js");
-
-
-
-
-
-
-
-
-class neural_compressor_ext_lab {
- constructor(app, tracker, notebookpanel) {
- this.app = app;
- this.tracker = tracker;
- this.notebookpanel = notebookpanel;
- this.setupWidgetExtension();
- this.config = '';
- }
- createNew(nb) {
- this.notebookpanel = nb;
- this.notebookCodeOptimizer = new _deepcoder__WEBPACK_IMPORTED_MODULE_6__.JupyterlabNotebookCodeOptimizer(this.tracker, this.notebookpanel);
- const svg = document.createElement("svg");
- svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_FORMAT_ALL_SVG;
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_RUN;
- const div = document.createElement("div");
- div.setAttribute("class", "wrapper");
- const span = document.createElement("span");
- span.setAttribute("class", "f1ozlkqi");
- span.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.SVG;
- const selector = document.createElement("select");
- selector.setAttribute("class", "aselector");
- selector.id = "NeuralCoder";
- const option1 = document.createElement("option");
- option1.value = "pytorch_inc_static_quant_fx";
- option1.innerText = "INC Enable INT8 (Static)";
- option1.selected = true;
- const option2 = document.createElement("option");
- option2.value = "pytorch_inc_dynamic_quant";
- option2.innerText = "INC Enable INT8 (Dynamic)";
- const option3 = document.createElement("option");
- option3.value = "pytorch_inc_bf16";
- option3.innerText = "INC Enable BF16";
- const option4 = document.createElement("option");
- option4.value = "auto-quant";
- option4.innerText = "INC Auto Enable & Benchmark";
- selector.options.add(option1);
- selector.options.add(option2);
- selector.options.add(option3);
- selector.options.add(option4);
- div.appendChild(selector);
- div.appendChild(span);
- const selector_widget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget();
- selector_widget.node.appendChild(div);
- selector_widget.addClass("aselector");
- let notebookCodeOptimizer = this.notebookCodeOptimizer;
- let config = this.config;
- const dia_input = document.createElement("input");
- const dia_widget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget();
- dia_widget.node.appendChild(dia_input);
- dia_widget.addClass("dialog");
- const run_button = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({
- tooltip: 'NeuralCoder',
- icon: new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__.LabIcon({
- name: "run",
- svgstr: _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_RUN
- }),
- onClick: async function () {
- var _a, _b, _c, _d;
- console.log("arrive here 111");
- (_d = (_c = (_b = (_a = run_button.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(svg);
- if (selector.options[selector.selectedIndex].value === 'auto-quant') {
- await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({
- title: 'Please input execute parameters:',
- body: dia_widget,
- buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton({ label: 'Confirm' })]
- }).then(result => {
- if (result.button.accept) {
- config = dia_input.value;
- }
- });
- }
- console.log("arrive here 222");
- await notebookCodeOptimizer.optimizeAllCodeCells(config, selector.options[selector.selectedIndex].value, undefined, run_button);
- }
- });
- nb.toolbar.insertItem(11, "nc", run_button);
- nb.toolbar.insertItem(12, "selector", selector_widget);
- }
- setupWidgetExtension() {
- this.app.docRegistry.addWidgetExtension('Notebook', this);
- }
-}
-/**
- * Initialization data for the neural_compressor_ext_lab extension.
- */
-const plugin = {
- id: 'neural_compressor_ext_lab:plugin',
- autoStart: true,
- requires: [_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.INotebookTracker, _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__.IMainMenu],
- optional: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__.ISettingRegistry],
- activate: (app, tracker, notebookpanel) => {
- new neural_compressor_ext_lab(app, tracker, notebookpanel);
- console.log('JupyterLab extension neural_compressor_ext_lab is activated!');
- }
-};
-/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
-
-
-/***/ }),
-
-/***/ "./lib/utils.js":
-/*!**********************!*\
- !*** ./lib/utils.js ***!
- \**********************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ NotebookUtilities)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ "webpack/sharing/consume/default/@jupyterlab/apputils");
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var react_sanitized_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sanitized-html */ "webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html");
-/* harmony import */ var react_sanitized_html__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sanitized_html__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
-/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
-/*
- * Copyright 2019-2020 The Kale Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// @ts-ignore
-
-
-class NotebookUtilities {
- /**
- * generate random number
- * @Min
- * @Max
- */
- static GetRandomNum(Min, Max) {
- let Range;
- Range = Max - Min;
- var Rand = Math.random();
- return (Min + Math.round(Rand * Range));
- }
- /**
- * Builds an HTML container by sanitizing a list of strings and converting
- * them in valid HTML
- * @param msg A list of string with HTML formatting
- * @returns a HTMLDivElement composed of a list of spans with formatted text
- */
- static buildDialogBody(msg) {
- return (react__WEBPACK_IMPORTED_MODULE_2__.createElement("div", null, msg.map((s, i) => {
- return (react__WEBPACK_IMPORTED_MODULE_2__.createElement(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { key: `msg-${i}` },
- react__WEBPACK_IMPORTED_MODULE_2__.createElement((react_sanitized_html__WEBPACK_IMPORTED_MODULE_1___default()), { allowedAttributes: { a: ['href'] }, allowedTags: ['b', 'i', 'em', 'strong', 'a', 'pre'], html: s }),
- react__WEBPACK_IMPORTED_MODULE_2__.createElement("br", null)));
- })));
- }
- /**
- * Opens a pop-up dialog in JupyterLab to display a simple message.
- * @param title The title for the message popup
- * @param msg The message as an array of strings
- * @param buttonLabel The label to use for the button. Default is 'OK'
- * @param buttonClassName The classname to give to the 'ok' button
- * @returns Promise - A promise once the message is closed.
- */
- static async showMessage(title, msg, buttonLabel = 'Dismiss', buttonClassName = '') {
- const buttons = [
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: buttonLabel, className: buttonClassName }),
- ];
- const messageBody = this.buildDialogBody(msg);
- await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({ title, buttons, body: messageBody });
- }
- /**
- * Opens a pop-up dialog in JupyterLab to display a yes/no dialog.
- * @param title The title for the message popup
- * @param msg The message
- * @param acceptLabel The label to use for the accept button. Default is 'YES'
- * @param rejectLabel The label to use for the reject button. Default is 'NO'
- * @param yesButtonClassName The classname to give to the accept button.
- * @param noButtonClassName The classname to give to the cancel button.
- * @returns Promise - A promise once the message is closed.
- */
- static async showYesNoDialog(title, msg, acceptLabel = 'YES', rejectLabel = 'NO', yesButtonClassName = '', noButtonClassName = '') {
- const buttons = [
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: acceptLabel, className: yesButtonClassName }),
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton({ label: rejectLabel, className: noButtonClassName }),
- ];
- const messageBody = this.buildDialogBody(msg);
- const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({ title, buttons, body: messageBody });
- return result.button.label === acceptLabel;
- }
- /**
- * Opens a pop-up dialog in JupyterLab with various information and button
- * triggering reloading the page.
- * @param title The title for the message popup
- * @param msg The message
- * @param buttonLabel The label to use for the button. Default is 'Refresh'
- * @param buttonClassName The classname to give to the 'refresh' button.
- * @returns Promise - A promise once the message is closed.
- */
- static async showRefreshDialog(title, msg, buttonLabel = 'Refresh', buttonClassName = '') {
- await this.showMessage(title, msg, buttonLabel, buttonClassName);
- location.reload();
- }
- /**
- * @description Creates a new JupyterLab notebook for use by the application
- * @param command The command registry
- * @returns Promise - A promise containing the notebook panel object that was created (if successful).
- */
- static async createNewNotebook(command) {
- const notebook = await command.execute('notebook:create-new', {
- activate: true,
- path: '',
- preferredLanguage: '',
- });
- await notebook.session.ready;
- return notebook;
- }
- /**
- * Safely saves the Jupyter notebook document contents to disk
- * @param notebookPanel The notebook panel containing the notebook to save
- */
- static async saveNotebook(notebookPanel) {
- if (notebookPanel) {
- await notebookPanel.context.ready;
- notebookPanel.context.save();
- return true;
- }
- return false;
- }
- /**
- * Convert the notebook contents to JSON
- * @param notebookPanel The notebook panel containing the notebook to serialize
- */
- static notebookToJSON(notebookPanel) {
- if (notebookPanel.content.model) {
- return notebookPanel.content.model.toJSON();
- }
- return null;
- }
- /**
- * @description Gets the value of a key from specified notebook's metadata.
- * @param notebookPanel The notebook to get meta data from.
- * @param key The key of the value.
- * @returns any -The value of the metadata. Returns null if the key doesn't exist.
- */
- static getMetaData(notebookPanel, key) {
- if (!notebookPanel) {
- throw new Error('The notebook is null or undefined. No meta data available.');
- }
- if (notebookPanel.model && notebookPanel.model.metadata.has(key)) {
- return notebookPanel.model.metadata.get(key);
- }
- return null;
- }
- /**
- * @description Sets the key value pair in the notebook's metadata.
- * If the key doesn't exists it will add one.
- * @param notebookPanel The notebook to set meta data in.
- * @param key The key of the value to create.
- * @param value The value to set.
- * @param save Default is false. Whether the notebook should be saved after the meta data is set.
- * Note: This function will not wait for the save to complete, it only sends a save request.
- * @returns The old value for the key, or undefined if it did not exist.
- */
- static setMetaData(notebookPanel, key, value, save = false) {
- var _a;
- if (!notebookPanel) {
- throw new Error('The notebook is null or undefined. No meta data available.');
- }
- const oldVal = (_a = notebookPanel.model) === null || _a === void 0 ? void 0 : _a.metadata.set(key, value);
- if (save) {
- this.saveNotebook(notebookPanel);
- }
- return oldVal;
- }
- // /**
- // * Get a new Kernel, not tied to a Notebook
- // * Source code here: https://github.com/jupyterlab/jupyterlab/tree/473348d25bcb258ca2f0c127dd8fb5b193217135/packages/services
- // */
- // public static async createNewKernel() {
- // // Get info about the available kernels and start a new one.
- // let options: Kernel.IOptions = await Kernel.getSpecs().then(kernelSpecs => {
- // // console.log('Default spec:', kernelSpecs.default);
- // // console.log('Available specs', Object.keys(kernelSpecs.kernelspecs));
- // // use the default name
- // return { name: kernelSpecs.default };
- // });
- // return await Kernel.startNew(options).then(_kernel => {
- // return _kernel;
- // });
- // }
- // // TODO: We can use this context manager to execute commands inside a new kernel
- // // and be sure that it will be disposed of at the end.
- // // Another approach could be to create a kale_rpc Kernel, as a singleton,
- // // created at startup. The only (possible) drawback is that we can not name
- // // a kernel instance with a custom id/name, so when refreshing JupyterLab we would
- // // not recognize the kernel. A solution could be to have a kernel spec dedicated to kale rpc calls.
- // public static async executeWithNewKernel(action: Function, args: any[] = []) {
- // // create brand new kernel
- // const _k = await this.createNewKernel();
- // // execute action inside kernel
- // const res = await action(_k, ...args);
- // // close kernel
- // _k.shutdown();
- // // return result
- // return res;
- // }
- /**
- * @description This function runs code directly in the notebook's kernel and then evaluates the
- * result and returns it as a promise.
- * @param kernel The kernel to run the code in.
- * @param runCode The code to run in the kernel.
- * @param userExpressions The expressions used to capture the desired info from the executed code.
- * @param runSilent Default is false. If true, kernel will execute as quietly as possible.
- * store_history will be set to false, and no broadcast on IOPUB channel will be made.
- * @param storeHistory Default is false. If true, the code executed will be stored in the kernel's history
- * and the counter which is shown in the cells will be incremented to reflect code was run.
- * @param allowStdIn Default is false. If true, code running in kernel can prompt user for input using
- * an input_request message.
- * @param stopOnError Default is false. If True, does not abort the execution queue, if an exception is encountered.
- * This allows the queued execution of multiple execute_requests, even if they generate exceptions.
- * @returns Promise - A promise containing the execution results of the code as an object with
- * keys based on the user_expressions.
- * @example
- * //The code
- * const code = "a=123\nb=456\nsum=a+b";
- * //The user expressions
- * const expr = {sum: "sum",prod: "a*b",args:"[a,b,sum]"};
- * //Async function call (returns a promise)
- * sendKernelRequest(notebookPanel, code, expr,false);
- * //Result when promise resolves:
- * {
- * sum:{status:"ok",data:{"text/plain":"579"},metadata:{}},
- * prod:{status:"ok",data:{"text/plain":"56088"},metadata:{}},
- * args:{status:"ok",data:{"text/plain":"[123, 456, 579]"}}
- * }
- * @see For more information on JupyterLab messages:
- * https://jupyter-client.readthedocs.io/en/latest/messaging.html#execution-results
- */
- static async sendKernelRequest(kernel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {
- if (!kernel) {
- throw new Error('Kernel is null or undefined.');
- }
- // Wait for kernel to be ready before sending request
- // await kernel.status;
- const message = await kernel.requestExecute({
- allow_stdin: allowStdIn,
- code: runCode,
- silent: runSilent,
- stop_on_error: stopOnError,
- store_history: storeHistory,
- user_expressions: userExpressions,
- }).done;
- const content = message.content;
- if (content.status !== 'ok') {
- // If response is not 'ok', throw contents as error, log code
- const msg = `Code caused an error:\n${runCode}`;
- console.error(msg);
- if (content.traceback) {
- content.traceback.forEach((line) => console.log(line.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')));
- }
- throw content;
- }
- // Return user_expressions of the content
- return content.user_expressions;
- }
- /**
- * Same as method sendKernelRequest but passing
- * a NotebookPanel instead of a Kernel
- */
- static async sendKernelRequestFromNotebook(notebookPanel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {
- var _a, _b, _c, _d;
- if (!notebookPanel) {
- throw new Error('Notebook is null or undefined.');
- }
- // Wait for notebook panel to be ready
- await notebookPanel.activate;
- await ((_a = notebookPanel.sessionContext) === null || _a === void 0 ? void 0 : _a.ready);
- console.log('get kernel', (_b = notebookPanel.sessionContext.session) === null || _b === void 0 ? void 0 : _b.kernel);
- return this.sendKernelRequest((_d = (_c = notebookPanel.sessionContext) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.kernel, runCode, userExpressions, runSilent, storeHistory, allowStdIn, stopOnError);
- }
-}
-
-
-/***/ })
-
-}]);
-//# sourceMappingURL=lib_index_js.0c0187df9df8bc38b9c5.js.map
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.0c0187df9df8bc38b9c5.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.0c0187df9df8bc38b9c5.js.map
deleted file mode 100644
index a0dd93ddd68..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.0c0187df9df8bc38b9c5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"lib_index_js.0c0187df9df8bc38b9c5.js","mappings":"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AY,6EAA2B;AACvC;AACA,YAAY,gFAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH,kBAAkB;AACrI;AACA;AACA;AACA,kHAAkH,kBAAkB;AACpI;AACA,wCAAwC,cAAc;AACtD,yBAAyB;AACzB,YAAY,4EAA+C;AAC3D,yCAAyC,cAAc,gGAAgG,kBAAkB;AACzK,0BAA0B;AAC1B,YAAY,4EAA+C;AAC3D,yCAAyC,cAAc;AACvD,0BAA0B;AAC1B,YAAY,4EAA+C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtSwD;AACiB;AACV;AACd;AACG;AACX;AACqB;AACtB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uEAA+B;AACxE;AACA,wBAAwB,qEAA6B;AACrD;AACA,4BAA4B,0DAAkB;AAC9C;AACA;AACA;AACA;AACA,yBAAyB,qDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,mDAAM;AAC1C;AACA;AACA;AACA;AACA;AACA,+BAA+B,mDAAM;AACrC;AACA;AACA,+BAA+B,+DAAa;AAC5C;AACA,sBAAsB,8DAAO;AAC7B;AACA,wBAAwB,0DAAkB;AAC1C,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,0BAA0B,gEAAU;AACpC;AACA;AACA,kCAAkC,iEAAe,GAAG,kBAAkB;AACtE,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kEAAgB,EAAE,2DAAS;AAC1C,eAAe,yEAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;;;ACxGtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0D;AAC1D;AACiD;AAClB;AAChB;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gDAAmB;AACnC,oBAAoB,gDAAmB,CAAC,2CAAc,IAAI,YAAY,EAAE,GAAG;AAC3E,gBAAgB,gDAAmB,CAAC,6DAAa,IAAI,qBAAqB,aAAa,gEAAgE;AACvJ,gBAAgB,gDAAmB;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAe,GAAG,gDAAgD;AAC9E;AACA;AACA,cAAc,gEAAU,GAAG,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAe,GAAG,mDAAmD;AACjF,YAAY,qEAAmB,GAAG,kDAAkD;AACpF;AACA;AACA,6BAA6B,gEAAU,GAAG,mCAAmC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa,kBAAkB,mBAAmB,aAAa;AAC/D,cAAc,kBAAkB,qBAAqB,aAAa;AAClE,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA,kGAAkG,YAAY,IAAI,IAAI,MAAM,IAAI;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://neural_compressor_ext_lab/./lib/constants.js","webpack://neural_compressor_ext_lab/./lib/deepcoder.js","webpack://neural_compressor_ext_lab/./lib/index.js","webpack://neural_compressor_ext_lab/./lib/utils.js"],"sourcesContent":["export var Constants;\n(function (Constants) {\n Constants.SHORT_PLUGIN_NAME = 'neural_compressor_ext_lab';\n Constants.WORK_PATH = \"neural_coder_workspace/\";\n Constants.ICON_FORMAT_ALL_SVG = '';\n Constants.ICON_RUN = '';\n Constants.SVG = '';\n Constants.LONG_PLUGIN_NAME = `@rya/${Constants.SHORT_PLUGIN_NAME}`;\n Constants.SETTINGS_SECTION = `${Constants.LONG_PLUGIN_NAME}:settings`;\n Constants.COMMAND_SECTION_NAME = 'Jupyterlab Code Optimizer';\n Constants.PLUGIN_VERSION = '0.1.0';\n})(Constants || (Constants = {}));\n","import { NotebookActions } from '@jupyterlab/notebook';\nimport NotebookUtilities from \"./utils\";\nimport { Constants } from './constants';\nclass JupyterlabCodeOptimizer {\n constructor(panel) {\n this.working = false;\n this.panel = panel;\n this.tmp_path = \"tmp.py\";\n this.rand = NotebookUtilities.GetRandomNum(0, 200);\n this.log_path = Constants.WORK_PATH + \"NeuralCoder\" + this.rand + \".log\";\n this.tmp_log_path = Constants.WORK_PATH + \"NeuralCoder_tmp\" + \".log\";\n this.cells = [];\n }\n async optimizeCode(code, formatter, name, next, options, notebook, panel, cell, run) {\n let codes = [];\n code.forEach(function (value) {\n value = value.replace(/('\\\\n')/g, '^^^');\n value = value.replace(/\\\\n\"/g, '###');\n value = value.replace(/\\\\n'/g, '###');\n value = value.replace(/\"\\\\n/g, '@@');\n value = value.replace(/'\\\\n/g, '@@');\n value = value.replace(/\\n/g, '\\\\n');\n value = value.replace(/\"/g, '+++');\n value = value.replace(/,/g, '$');\n codes.push(value);\n });\n let gen_code = `code = \"${codes}\"\\ncodes = code.split(',')\\nwith open( '${this.tmp_path}', 'w+' ) as f:\\n for i in range(0,len(codes)):\\n f.write('# this is the beginning of a single code snippet\\\\n')\\n code_list = codes[i].replace('$',',').replace('+++','\\\"').split('\\\\n')\\n for line in code_list:\\n if('split(^^^)' in line):\\n line=line.replace('split(^^^)', 'split(\\\\'\\\\\\\\n\\\\')')\\n if('###' in line):\\n line=line.replace('###', '\\\\\\\\n\\\"')\\n if('@@' in line):\\n line=line.replace('@@', '\\\"\\\\\\\\n')\\n f.write(line+'\\\\n')`;\n const expr = { code_list: `code_list` };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, gen_code, expr, false);\n if (options === 'normal') {\n let runcode = `from neural_coder import enable\\nenable(code=\"${this.tmp_path}\",features=[\"${formatter}\"], overwrite=True)`;\n let expr = { sum: ` ` };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let run_code1 = `with open(\"${this.tmp_path}\", 'r') as f:\\n optimized_code = f.read()\\n`;\n let expr1 = { optimizedCode: \"optimized_code\" };\n let result2 = NotebookUtilities.sendKernelRequestFromNotebook(panel, run_code1, expr1, false);\n result2.then(value => {\n var _a, _b, _c, _d;\n let optimizedTexts = Object.values(value.optimizedCode.data)[0];\n let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\\\n').slice(1);\n optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);\n for (let i = 0; i < optimizeCodes.length; ++i) {\n const cell = this.cells[i];\n const currentTexts = this.cells.map(cell => cell.model.value.text);\n const currentText = currentTexts[i];\n let optimizedtext = optimizeCodes[i];\n optimizedtext = optimizedtext.replace(/\\\\'\\\\\\\\n\\\\'/g, \"^^^\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n\"/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n'/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\"\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/'\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/\\\\n/g, '\\n');\n optimizedtext = optimizedtext.replace(/\\\\'/g, \"'\");\n optimizedtext = optimizedtext.replace(/\\^\\^\\^/g, \"'\\\\n'\");\n optimizedtext = optimizedtext.replace(/\\+\\+\\+/g, \"\\\\n\\\"\");\n optimizedtext = optimizedtext.replace(/\\@\\@\\@/g, \"\\\"\\\\n\");\n if (cell.model.value.text === currentText) {\n cell.model.value.text = optimizedtext;\n }\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);\n }\n });\n }\n else {\n if (formatter === '') {\n if (this.markdown) {\n this.markdown.model.value.text += \"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ...... \\n\";\n }\n // cell.outputArea.node.innerText += \"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\n\"\n let runcode1 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\\\n\")`;\n let expr1 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode1, expr1, false);\n let runcode = `from neural_coder import enable\\nperfomance, mode, path = enable(code=\"${this.tmp_path}\",features=[], run_bench=True, args=\"${options}\")\\nwith open(path + '/bench.log', 'r') as f:\\n logs = f.readlines()\\nlog_line = logs[4]\\nlog = log_line.split(\"[\")[1].split(\"]\")[0]`;\n let expr = { path: \"path\", log: \"log\" };\n let result = NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let fps;\n result.then(value => {\n fps = Object.values(value.log.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second) \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\n`\n let text = `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\\\n`;\n let runcode = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n`\n let runcode1 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\\\n\")`;\n let expr1 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode1, expr1, false);\n let runcode2 = `with open(\"${this.tmp_log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n });\n }\n else {\n let runcode = `from neural_coder import enable\\nperfomance, mode, path = enable(code=\"${this.tmp_path}\", features=[\"${formatter}\"], run_bench=True, args=\"${options}\")\\nwith open(path + '/bench.log', 'r') as f:\\n logs = f.readlines()\\nlog_line = logs[4]\\nlog = log_line.split(\"[\")[1].split(\"]\")[0]`;\n let expr = { path: \"path\", log: \"log\" };\n let result = NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let fps;\n result.then(value => {\n fps = Object.values(value.log.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second) \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (FPS)\\n`\n let text = `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second)\\\\n`;\n let runcode = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n if (next !== '') {\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n`\n let runcode2 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\\\n\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n }\n let runcode3 = `with open(\"${this.tmp_log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr3 = { path: \"\" };\n let res_tmp = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);\n res_tmp.then(value => {\n if (formatter === 'pytorch_inc_bf16') {\n let read_log = `import re\\nwith open(\"${this.tmp_log_path}\", 'r') as f:\\n logs = f.readlines()\\n fps_list=[]\\n for log_line in logs[-4:]:\\n pat = re.compile(r\\'\\\\d+\\\\.?\\\\d+')\\n fps = re.findall(pat,log_line)[-1]\\n fps_list.append(float(fps))\\nmaxi = max(fps_list)\\nindex = fps_list.index(maxi)\\nboost = round(maxi/fps_list[0],1)\\nfeatures=['','pytorch_inc_static_quant_fx','pytorch_inc_dynamic_quant','pytorch_inc_bf16']\\nfeature_name=['Original Model','INC Enable INT8 (Static)','INC Enable INT8 (Dynamic)','INC Enable BF16']\\nbest_feature = features[index]\\nbest_name = feature_name[index]\\nfeature_l = []\\nfeature_l.append(best_feature)\\nfrom neural_coder import enable\\nenable(code=\"${this.tmp_path}\",features=feature_l, overwrite=True)\\nwith open(\"${this.tmp_path}\", 'r') as f:\\n optimized_code = f.read()\\n`;\n let read_expr = { boost: \"boost\", best_feature: \"best_feature\", best_name: \"best_name\", optimizeCode: \"optimized_code\", feature_l: \"fps_list\", maxi: \"maxi\", index: \"index\" };\n let read_result = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, read_log, read_expr, false);\n read_result.then(value => {\n var _a, _b, _c, _d;\n console.log(\"resres\", value);\n let boost = Object.values(value.boost.data)[0];\n let best_name = Object.values(value.best_name.data)[0];\n let optimizedTexts = Object.values(value.optimizeCode.data)[0];\n let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\\\n').slice(1);\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] The Best Intel Optimization: ${best_name} \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] You can get up to ${boost}X performance boost. \\n`;\n }\n // cell.outputArea.node.innerText +=`[NeuralCoder INFO] The Best Intel Optimization: ${best_name}\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] You can get up to ${boost}X performance boost.\\n`\n optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);\n for (let i = 0; i < optimizeCodes.length; ++i) {\n const cell = this.cells[i];\n const currentTexts = this.cells.map(cell => cell.model.value.text);\n const currentText = currentTexts[i];\n let optimizedtext = optimizeCodes[i];\n optimizedtext = optimizedtext.replace(/\\\\'\\\\\\\\n\\\\'/g, \"^^^\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n\"/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n'/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\"\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/'\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/\\\\n/g, '\\n');\n optimizedtext = optimizedtext.replace(/\\\\'/g, \"'\");\n optimizedtext = optimizedtext.replace(/\\^\\^\\^/g, \"'\\\\n'\");\n optimizedtext = optimizedtext.replace(/\\+\\+\\+/g, \"\\\\n\\\"\");\n optimizedtext = optimizedtext.replace(/\\@\\@\\@/g, \"\\\"\\\\n\");\n if (cell.model.value.text === currentText) {\n cell.model.value.text = optimizedtext;\n }\n }\n // if(this.markdown){\n // this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: 4th Gen Intel Xeon Scalable processor with AMX \\n`\n // this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log \\n`\n // }\n let command = \"lscpu | grep 'Model name'\";\n let get_hardware = `import subprocess\\nsubp = subprocess.Popen(\"${command}\",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=\"utf-8\")\\nsubp.wait(2)\\nhardware = subp.communicate()[0].replace(\"Model name:\",\"\").strip()`;\n let expr_hardware = { hardware: \"hardware\" };\n let hard_res = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, get_hardware, expr_hardware, false);\n hard_res.then(value => {\n let hard = Object.values(value.hardware.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: ${hard} \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] HardWare: ${hard}\\n`\n });\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log\\n`\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);\n });\n }\n });\n });\n }\n }\n }\n}\nexport class JupyterlabNotebookCodeOptimizer extends JupyterlabCodeOptimizer {\n constructor(notebookTracker, panel) {\n super(panel);\n this.notebookTracker = notebookTracker;\n this.notebookname = '';\n }\n async optimizeAction(config, formatter) {\n return this.optimizeCells(true, config, formatter);\n }\n async optimizeAllCodeCells(config, formatter, notebook, run) {\n return this.optimizeCells(false, config, formatter, notebook, run);\n }\n getCodeCells(ifmarkdown = true, notebook) {\n if (!this.notebookTracker.currentWidget) {\n return [];\n }\n const codeCells = [];\n notebook = notebook || this.notebookTracker.currentWidget.content;\n this.notebookname = notebook.title.label;\n let count = 0;\n notebook.widgets.forEach((cell) => {\n if (cell.model.type === 'code') {\n count += 1;\n codeCells.push(cell);\n }\n });\n if (ifmarkdown) {\n NotebookActions.insertBelow(notebook);\n this.notebookTracker.currentWidget.content.activeCellIndex = count + 1;\n NotebookActions.changeCellType(notebook, 'markdown');\n const activeCell = notebook.activeCell;\n if (activeCell) {\n this.markdown = activeCell;\n }\n }\n this.cells = codeCells;\n return codeCells;\n }\n async optimizeCells(selectedOnly, config, formatter, notebook, run) {\n if (this.working) {\n return new Promise((resolve, reject) => {\n resolve(\"false!\");\n });\n }\n console.log(\"arrive here 333\");\n this.working = true;\n const optimize_type = formatter !== undefined ? formatter : 'pytorch_mixed_precision_cpu';\n if (optimize_type === 'auto-quant') {\n selectedOnly = true;\n }\n else {\n selectedOnly = false;\n }\n const selectedCells = this.getCodeCells(selectedOnly, notebook);\n let cell = selectedCells[selectedCells.length - 1];\n if (selectedCells.length === 0) {\n this.working = false;\n return new Promise((resolve, reject) => {\n resolve(\"false!\");\n });\n }\n const currentTexts = selectedCells.map(cell => cell.model.value.text);\n if (optimize_type === 'auto-quant') {\n console.log(\"arrive here 444-111\");\n if (this.markdown) {\n this.markdown.model.value.text = `[NeuralCoder INFO] Auto-Quant Started ...... \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook \"${this.notebookname}\" \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Mode: Throughput \\n`;\n }\n // cell.outputArea.node.innerText = `[NeuralCoder INFO] Auto-Quant Started ......\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook \"${this.notebookname}\"\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Mode: Throughput\\n`\n let runcode = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Auto-Quant Started ......\\\\n\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n let runcode2 = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Code: User code from Jupyter Lab notebook '${this.notebookname}'\\\\n\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n let runcode3 = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Benchmark Mode: Throughput\\\\n\")`;\n let expr3 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);\n // cell.outputArea.node.setAttribute(\"class\",\"pad\")\n await this.optimizeCode(currentTexts, '', 'The Original Model', 'INC Enable INT8 (Static)', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_static_quant_fx', 'INC Enable INT8 (Static)', 'INC Enable INT8 (Dynamic)', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_dynamic_quant', 'INC Enable INT8 (Dynamic)', 'INC Enable BF16', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_bf16', 'INC Enable BF16', '', config, true, this.panel, cell, run);\n }\n else {\n console.log(\"arrive here 444-222\");\n await this.optimizeCode(currentTexts, optimize_type, \"\", \"\", \"normal\", true, this.panel, cell, run);\n }\n this.working = false;\n console.log(\"arrive here 555\");\n return new Promise((resolve, reject) => {\n resolve(\"success!\");\n });\n }\n applicable(formatter, currentWidget) {\n const currentNotebookWidget = this.notebookTracker.currentWidget;\n return currentNotebookWidget && currentWidget === currentNotebookWidget;\n }\n}\n","import { INotebookTracker } from '@jupyterlab/notebook';\nimport { ToolbarButton, showDialog, Dialog } from '@jupyterlab/apputils';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IMainMenu } from '@jupyterlab/mainmenu';\nimport { LabIcon } from '@jupyterlab/ui-components';\nimport { Widget } from '@lumino/widgets';\nimport { JupyterlabNotebookCodeOptimizer } from './deepcoder';\nimport { Constants } from './constants';\nclass neural_compressor_ext_lab {\n constructor(app, tracker, notebookpanel) {\n this.app = app;\n this.tracker = tracker;\n this.notebookpanel = notebookpanel;\n this.setupWidgetExtension();\n this.config = '';\n }\n createNew(nb) {\n this.notebookpanel = nb;\n this.notebookCodeOptimizer = new JupyterlabNotebookCodeOptimizer(this.tracker, this.notebookpanel);\n const svg = document.createElement(\"svg\");\n svg.innerHTML = Constants.ICON_FORMAT_ALL_SVG;\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n const div = document.createElement(\"div\");\n div.setAttribute(\"class\", \"wrapper\");\n const span = document.createElement(\"span\");\n span.setAttribute(\"class\", \"f1ozlkqi\");\n span.innerHTML = Constants.SVG;\n const selector = document.createElement(\"select\");\n selector.setAttribute(\"class\", \"aselector\");\n selector.id = \"NeuralCoder\";\n const option1 = document.createElement(\"option\");\n option1.value = \"pytorch_inc_static_quant_fx\";\n option1.innerText = \"INC Enable INT8 (Static)\";\n option1.selected = true;\n const option2 = document.createElement(\"option\");\n option2.value = \"pytorch_inc_dynamic_quant\";\n option2.innerText = \"INC Enable INT8 (Dynamic)\";\n const option3 = document.createElement(\"option\");\n option3.value = \"pytorch_inc_bf16\";\n option3.innerText = \"INC Enable BF16\";\n const option4 = document.createElement(\"option\");\n option4.value = \"auto-quant\";\n option4.innerText = \"INC Auto Enable & Benchmark\";\n selector.options.add(option1);\n selector.options.add(option2);\n selector.options.add(option3);\n selector.options.add(option4);\n div.appendChild(selector);\n div.appendChild(span);\n const selector_widget = new Widget();\n selector_widget.node.appendChild(div);\n selector_widget.addClass(\"aselector\");\n let notebookCodeOptimizer = this.notebookCodeOptimizer;\n let config = this.config;\n const dia_input = document.createElement(\"input\");\n const dia_widget = new Widget();\n dia_widget.node.appendChild(dia_input);\n dia_widget.addClass(\"dialog\");\n const run_button = new ToolbarButton({\n tooltip: 'NeuralCoder',\n icon: new LabIcon({\n name: \"run\",\n svgstr: Constants.ICON_RUN\n }),\n onClick: async function () {\n var _a, _b, _c, _d;\n console.log(\"arrive here 111\");\n (_d = (_c = (_b = (_a = run_button.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(svg);\n if (selector.options[selector.selectedIndex].value === 'auto-quant') {\n await showDialog({\n title: 'Please input execute parameters:',\n body: dia_widget,\n buttons: [Dialog.okButton({ label: 'Confirm' })]\n }).then(result => {\n if (result.button.accept) {\n config = dia_input.value;\n }\n });\n }\n console.log(\"arrive here 222\");\n await notebookCodeOptimizer.optimizeAllCodeCells(config, selector.options[selector.selectedIndex].value, undefined, run_button);\n }\n });\n nb.toolbar.insertItem(11, \"nc\", run_button);\n nb.toolbar.insertItem(12, \"selector\", selector_widget);\n }\n setupWidgetExtension() {\n this.app.docRegistry.addWidgetExtension('Notebook', this);\n }\n}\n/**\n * Initialization data for the neural_compressor_ext_lab extension.\n */\nconst plugin = {\n id: 'neural_compressor_ext_lab:plugin',\n autoStart: true,\n requires: [INotebookTracker, IMainMenu],\n optional: [ISettingRegistry],\n activate: (app, tracker, notebookpanel) => {\n new neural_compressor_ext_lab(app, tracker, notebookpanel);\n console.log('JupyterLab extension neural_compressor_ext_lab is activated!');\n }\n};\nexport default plugin;\n","/*\n * Copyright 2019-2020 The Kale Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Dialog, showDialog } from '@jupyterlab/apputils';\n// @ts-ignore\nimport SanitizedHTML from 'react-sanitized-html';\nimport * as React from 'react';\nexport default class NotebookUtilities {\n /**\n * generate random number\n * @Min\n * @Max\n */\n static GetRandomNum(Min, Max) {\n let Range;\n Range = Max - Min;\n var Rand = Math.random();\n return (Min + Math.round(Rand * Range));\n }\n /**\n * Builds an HTML container by sanitizing a list of strings and converting\n * them in valid HTML\n * @param msg A list of string with HTML formatting\n * @returns a HTMLDivElement composed of a list of spans with formatted text\n */\n static buildDialogBody(msg) {\n return (React.createElement(\"div\", null, msg.map((s, i) => {\n return (React.createElement(React.Fragment, { key: `msg-${i}` },\n React.createElement(SanitizedHTML, { allowedAttributes: { a: ['href'] }, allowedTags: ['b', 'i', 'em', 'strong', 'a', 'pre'], html: s }),\n React.createElement(\"br\", null)));\n })));\n }\n /**\n * Opens a pop-up dialog in JupyterLab to display a simple message.\n * @param title The title for the message popup\n * @param msg The message as an array of strings\n * @param buttonLabel The label to use for the button. Default is 'OK'\n * @param buttonClassName The classname to give to the 'ok' button\n * @returns Promise - A promise once the message is closed.\n */\n static async showMessage(title, msg, buttonLabel = 'Dismiss', buttonClassName = '') {\n const buttons = [\n Dialog.okButton({ label: buttonLabel, className: buttonClassName }),\n ];\n const messageBody = this.buildDialogBody(msg);\n await showDialog({ title, buttons, body: messageBody });\n }\n /**\n * Opens a pop-up dialog in JupyterLab to display a yes/no dialog.\n * @param title The title for the message popup\n * @param msg The message\n * @param acceptLabel The label to use for the accept button. Default is 'YES'\n * @param rejectLabel The label to use for the reject button. Default is 'NO'\n * @param yesButtonClassName The classname to give to the accept button.\n * @param noButtonClassName The classname to give to the cancel button.\n * @returns Promise - A promise once the message is closed.\n */\n static async showYesNoDialog(title, msg, acceptLabel = 'YES', rejectLabel = 'NO', yesButtonClassName = '', noButtonClassName = '') {\n const buttons = [\n Dialog.okButton({ label: acceptLabel, className: yesButtonClassName }),\n Dialog.cancelButton({ label: rejectLabel, className: noButtonClassName }),\n ];\n const messageBody = this.buildDialogBody(msg);\n const result = await showDialog({ title, buttons, body: messageBody });\n return result.button.label === acceptLabel;\n }\n /**\n * Opens a pop-up dialog in JupyterLab with various information and button\n * triggering reloading the page.\n * @param title The title for the message popup\n * @param msg The message\n * @param buttonLabel The label to use for the button. Default is 'Refresh'\n * @param buttonClassName The classname to give to the 'refresh' button.\n * @returns Promise - A promise once the message is closed.\n */\n static async showRefreshDialog(title, msg, buttonLabel = 'Refresh', buttonClassName = '') {\n await this.showMessage(title, msg, buttonLabel, buttonClassName);\n location.reload();\n }\n /**\n * @description Creates a new JupyterLab notebook for use by the application\n * @param command The command registry\n * @returns Promise - A promise containing the notebook panel object that was created (if successful).\n */\n static async createNewNotebook(command) {\n const notebook = await command.execute('notebook:create-new', {\n activate: true,\n path: '',\n preferredLanguage: '',\n });\n await notebook.session.ready;\n return notebook;\n }\n /**\n * Safely saves the Jupyter notebook document contents to disk\n * @param notebookPanel The notebook panel containing the notebook to save\n */\n static async saveNotebook(notebookPanel) {\n if (notebookPanel) {\n await notebookPanel.context.ready;\n notebookPanel.context.save();\n return true;\n }\n return false;\n }\n /**\n * Convert the notebook contents to JSON\n * @param notebookPanel The notebook panel containing the notebook to serialize\n */\n static notebookToJSON(notebookPanel) {\n if (notebookPanel.content.model) {\n return notebookPanel.content.model.toJSON();\n }\n return null;\n }\n /**\n * @description Gets the value of a key from specified notebook's metadata.\n * @param notebookPanel The notebook to get meta data from.\n * @param key The key of the value.\n * @returns any -The value of the metadata. Returns null if the key doesn't exist.\n */\n static getMetaData(notebookPanel, key) {\n if (!notebookPanel) {\n throw new Error('The notebook is null or undefined. No meta data available.');\n }\n if (notebookPanel.model && notebookPanel.model.metadata.has(key)) {\n return notebookPanel.model.metadata.get(key);\n }\n return null;\n }\n /**\n * @description Sets the key value pair in the notebook's metadata.\n * If the key doesn't exists it will add one.\n * @param notebookPanel The notebook to set meta data in.\n * @param key The key of the value to create.\n * @param value The value to set.\n * @param save Default is false. Whether the notebook should be saved after the meta data is set.\n * Note: This function will not wait for the save to complete, it only sends a save request.\n * @returns The old value for the key, or undefined if it did not exist.\n */\n static setMetaData(notebookPanel, key, value, save = false) {\n var _a;\n if (!notebookPanel) {\n throw new Error('The notebook is null or undefined. No meta data available.');\n }\n const oldVal = (_a = notebookPanel.model) === null || _a === void 0 ? void 0 : _a.metadata.set(key, value);\n if (save) {\n this.saveNotebook(notebookPanel);\n }\n return oldVal;\n }\n // /**\n // * Get a new Kernel, not tied to a Notebook\n // * Source code here: https://github.com/jupyterlab/jupyterlab/tree/473348d25bcb258ca2f0c127dd8fb5b193217135/packages/services\n // */\n // public static async createNewKernel() {\n // // Get info about the available kernels and start a new one.\n // let options: Kernel.IOptions = await Kernel.getSpecs().then(kernelSpecs => {\n // // console.log('Default spec:', kernelSpecs.default);\n // // console.log('Available specs', Object.keys(kernelSpecs.kernelspecs));\n // // use the default name\n // return { name: kernelSpecs.default };\n // });\n // return await Kernel.startNew(options).then(_kernel => {\n // return _kernel;\n // });\n // }\n // // TODO: We can use this context manager to execute commands inside a new kernel\n // // and be sure that it will be disposed of at the end.\n // // Another approach could be to create a kale_rpc Kernel, as a singleton,\n // // created at startup. The only (possible) drawback is that we can not name\n // // a kernel instance with a custom id/name, so when refreshing JupyterLab we would\n // // not recognize the kernel. A solution could be to have a kernel spec dedicated to kale rpc calls.\n // public static async executeWithNewKernel(action: Function, args: any[] = []) {\n // // create brand new kernel\n // const _k = await this.createNewKernel();\n // // execute action inside kernel\n // const res = await action(_k, ...args);\n // // close kernel\n // _k.shutdown();\n // // return result\n // return res;\n // }\n /**\n * @description This function runs code directly in the notebook's kernel and then evaluates the\n * result and returns it as a promise.\n * @param kernel The kernel to run the code in.\n * @param runCode The code to run in the kernel.\n * @param userExpressions The expressions used to capture the desired info from the executed code.\n * @param runSilent Default is false. If true, kernel will execute as quietly as possible.\n * store_history will be set to false, and no broadcast on IOPUB channel will be made.\n * @param storeHistory Default is false. If true, the code executed will be stored in the kernel's history\n * and the counter which is shown in the cells will be incremented to reflect code was run.\n * @param allowStdIn Default is false. If true, code running in kernel can prompt user for input using\n * an input_request message.\n * @param stopOnError Default is false. If True, does not abort the execution queue, if an exception is encountered.\n * This allows the queued execution of multiple execute_requests, even if they generate exceptions.\n * @returns Promise - A promise containing the execution results of the code as an object with\n * keys based on the user_expressions.\n * @example\n * //The code\n * const code = \"a=123\\nb=456\\nsum=a+b\";\n * //The user expressions\n * const expr = {sum: \"sum\",prod: \"a*b\",args:\"[a,b,sum]\"};\n * //Async function call (returns a promise)\n * sendKernelRequest(notebookPanel, code, expr,false);\n * //Result when promise resolves:\n * {\n * sum:{status:\"ok\",data:{\"text/plain\":\"579\"},metadata:{}},\n * prod:{status:\"ok\",data:{\"text/plain\":\"56088\"},metadata:{}},\n * args:{status:\"ok\",data:{\"text/plain\":\"[123, 456, 579]\"}}\n * }\n * @see For more information on JupyterLab messages:\n * https://jupyter-client.readthedocs.io/en/latest/messaging.html#execution-results\n */\n static async sendKernelRequest(kernel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {\n if (!kernel) {\n throw new Error('Kernel is null or undefined.');\n }\n // Wait for kernel to be ready before sending request\n // await kernel.status;\n const message = await kernel.requestExecute({\n allow_stdin: allowStdIn,\n code: runCode,\n silent: runSilent,\n stop_on_error: stopOnError,\n store_history: storeHistory,\n user_expressions: userExpressions,\n }).done;\n const content = message.content;\n if (content.status !== 'ok') {\n // If response is not 'ok', throw contents as error, log code\n const msg = `Code caused an error:\\n${runCode}`;\n console.error(msg);\n if (content.traceback) {\n content.traceback.forEach((line) => console.log(line.replace(/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')));\n }\n throw content;\n }\n // Return user_expressions of the content\n return content.user_expressions;\n }\n /**\n * Same as method sendKernelRequest but passing\n * a NotebookPanel instead of a Kernel\n */\n static async sendKernelRequestFromNotebook(notebookPanel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {\n var _a, _b, _c, _d;\n if (!notebookPanel) {\n throw new Error('Notebook is null or undefined.');\n }\n // Wait for notebook panel to be ready\n await notebookPanel.activate;\n await ((_a = notebookPanel.sessionContext) === null || _a === void 0 ? void 0 : _a.ready);\n console.log('get kernel', (_b = notebookPanel.sessionContext.session) === null || _b === void 0 ? void 0 : _b.kernel);\n return this.sendKernelRequest((_d = (_c = notebookPanel.sessionContext) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.kernel, runCode, userExpressions, runSilent, storeHistory, allowStdIn, stopOnError);\n }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c3b18119886a0a82200.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c3b18119886a0a82200.js
deleted file mode 100644
index 246f4ba64ae..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c3b18119886a0a82200.js
+++ /dev/null
@@ -1,767 +0,0 @@
-"use strict";
-(self["webpackChunkneural_compressor_ext_lab"] = self["webpackChunkneural_compressor_ext_lab"] || []).push([["lib_index_js"],{
-
-/***/ "./lib/constants.js":
-/*!**************************!*\
- !*** ./lib/constants.js ***!
- \**************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "Constants": () => (/* binding */ Constants)
-/* harmony export */ });
-var Constants;
-(function (Constants) {
- Constants.SHORT_PLUGIN_NAME = 'neural_compressor_ext_lab';
- Constants.WORK_PATH = "neural_coder_workspace/";
- Constants.ICON_FORMAT_ALL_SVG = '';
- Constants.ICON_RUN = '';
- Constants.SVG = '';
- Constants.LONG_PLUGIN_NAME = `@rya/${Constants.SHORT_PLUGIN_NAME}`;
- Constants.SETTINGS_SECTION = `${Constants.LONG_PLUGIN_NAME}:settings`;
- Constants.COMMAND_SECTION_NAME = 'Jupyterlab Code Optimizer';
- Constants.PLUGIN_VERSION = '0.1.0';
-})(Constants || (Constants = {}));
-
-
-/***/ }),
-
-/***/ "./lib/deepcoder.js":
-/*!**************************!*\
- !*** ./lib/deepcoder.js ***!
- \**************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "JupyterlabNotebookCodeOptimizer": () => (/* binding */ JupyterlabNotebookCodeOptimizer)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ "webpack/sharing/consume/default/@jupyterlab/notebook");
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./lib/utils.js");
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./lib/constants.js");
-
-
-
-class JupyterlabCodeOptimizer {
- constructor(panel) {
- this.working = false;
- this.panel = panel;
- this.tmp_path = "tmp.py";
- this.rand = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].GetRandomNum(0, 200);
- this.log_path = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.WORK_PATH + "NeuralCoder" + this.rand + ".log";
- this.tmp_log_path = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.WORK_PATH + "NeuralCoder_tmp" + ".log";
- this.cells = [];
- }
- async optimizeCode(code, formatter, name, next, options, notebook, panel, cell, run) {
- let codes = [];
- code.forEach(function (value) {
- value = value.replace(/('\\n')/g, '^^^');
- value = value.replace(/\\n"/g, '###');
- value = value.replace(/\\n'/g, '###');
- value = value.replace(/"\\n/g, '@@');
- value = value.replace(/'\\n/g, '@@');
- value = value.replace(/\n/g, '\\n');
- value = value.replace(/"/g, '+++');
- value = value.replace(/,/g, '$');
- codes.push(value);
- });
- let gen_code = `code = "${codes}"\ncodes = code.split(',')\nwith open( '${this.tmp_path}', 'w+' ) as f:\n for i in range(0,len(codes)):\n f.write('# this is the beginning of a single code snippet\\n')\n code_list = codes[i].replace('$',',').replace('+++','\"').split('\\n')\n for line in code_list:\n if('split(^^^)' in line):\n line=line.replace('split(^^^)', 'split(\\'\\\\n\\')')\n if('###' in line):\n line=line.replace('###', '\\\\n\"')\n if('@@' in line):\n line=line.replace('@@', '\"\\\\n')\n f.write(line+'\\n')`;
- const expr = { code_list: `code_list` };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, gen_code, expr, false);
- if (options === 'normal') {
- let runcode = `from neural_coder import enable\nenable(code="${this.tmp_path}",features=["${formatter}"], overwrite=True)`;
- let expr = { sum: ` ` };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let run_code1 = `with open("${this.tmp_path}", 'r') as f:\n optimized_code = f.read()\n`;
- let expr1 = { optimizedCode: "optimized_code" };
- let result2 = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, run_code1, expr1, false);
- result2.then(value => {
- var _a, _b, _c, _d;
- let optimizedTexts = Object.values(value.optimizedCode.data)[0];
- let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\n').slice(1);
- optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);
- for (let i = 0; i < optimizeCodes.length; ++i) {
- const cell = this.cells[i];
- const currentTexts = this.cells.map(cell => cell.model.value.text);
- const currentText = currentTexts[i];
- let optimizedtext = optimizeCodes[i];
- optimizedtext = optimizedtext.replace(/\\'\\\\n\\'/g, "^^^");
- optimizedtext = optimizedtext.replace(/\\\\n"/g, "+++");
- optimizedtext = optimizedtext.replace(/\\\\n'/g, "+++");
- optimizedtext = optimizedtext.replace(/"\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/'\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/\\n/g, '\n');
- optimizedtext = optimizedtext.replace(/\\'/g, "'");
- optimizedtext = optimizedtext.replace(/\^\^\^/g, "'\\n'");
- optimizedtext = optimizedtext.replace(/\+\+\+/g, "\\n\"");
- optimizedtext = optimizedtext.replace(/\@\@\@/g, "\"\\n");
- if (cell.model.value.text === currentText) {
- cell.model.value.text = optimizedtext;
- }
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.ICON_RUN;
- (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);
- }
- });
- }
- else {
- if (formatter === '') {
- if (this.markdown) {
- this.markdown.model.value.text += "[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ...... \n";
- }
- // cell.outputArea.node.innerText += "[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\n"
- let runcode1 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\n")`;
- let expr1 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode1, expr1, false);
- let runcode = `from neural_coder import enable\nperfomance, mode, path = enable(code="${this.tmp_path}",features=[], run_bench=True, args="${options}")\nwith open(path + '/bench.log', 'r') as f:\n logs = f.readlines()\nlog_line = logs[4]\nlog = log_line.split("[")[1].split("]")[0]`;
- let expr = { path: "path", log: "log" };
- let result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let fps;
- result.then(value => {
- fps = Object.values(value.log.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second) \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\n`
- let text = `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\n`;
- let runcode = `with open("${this.log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\n`
- let runcode1 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n")`;
- let expr1 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode1, expr1, false);
- let runcode2 = `with open("${this.tmp_log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- });
- }
- else {
- let runcode = `from neural_coder import enable\nperfomance, mode, path = enable(code="${this.tmp_path}", features=["${formatter}"], run_bench=True, args="${options}")\nwith open(path + '/bench.log', 'r') as f:\n logs = f.readlines()\nlog_line = logs[4]\nlog = log_line.split("[")[1].split("]")[0]`;
- let expr = { path: "path", log: "log" };
- let result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let fps;
- result.then(value => {
- fps = Object.values(value.log.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second) \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (FPS)\n`
- let text = `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second)\\n`;
- let runcode = `with open("${this.log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- if (next !== '') {
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\n`
- let runcode2 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- }
- let runcode3 = `with open("${this.tmp_log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr3 = { path: "" };
- let res_tmp = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);
- res_tmp.then(value => {
- if (formatter === 'pytorch_inc_bf16') {
- let read_log = `import re\nwith open("${this.tmp_log_path}", 'r') as f:\n logs = f.readlines()\n fps_list=[]\n for log_line in logs[-4:]:\n pat = re.compile(r\'\\d+\\.?\\d+')\n fps = re.findall(pat,log_line)[-1]\n fps_list.append(float(fps))\nmaxi = max(fps_list)\nindex = fps_list.index(maxi)\nboost = round(maxi/fps_list[0],1)\nfeatures=['','pytorch_inc_static_quant_fx','pytorch_inc_dynamic_quant','pytorch_inc_bf16']\nfeature_name=['Original Model','INC Enable INT8 (Static)','INC Enable INT8 (Dynamic)','INC Enable BF16']\nbest_feature = features[index]\nbest_name = feature_name[index]\nfeature_l = []\nfeature_l.append(best_feature)\nfrom neural_coder import enable\nenable(code="${this.tmp_path}",features=feature_l, overwrite=True)\nwith open("${this.tmp_path}", 'r') as f:\n optimized_code = f.read()\n`;
- let read_expr = { boost: "boost", best_feature: "best_feature", best_name: "best_name", optimizeCode: "optimized_code", feature_l: "fps_list", maxi: "maxi", index: "index" };
- let read_result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, read_log, read_expr, false);
- read_result.then(value => {
- var _a, _b, _c, _d;
- console.log("resres", value);
- let boost = Object.values(value.boost.data)[0];
- let best_name = Object.values(value.best_name.data)[0];
- let optimizedTexts = Object.values(value.optimizeCode.data)[0];
- let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\n').slice(1);
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] The Best Intel Optimization: ${best_name} \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] You can get up to ${boost}X performance boost. \n`;
- }
- // cell.outputArea.node.innerText +=`[NeuralCoder INFO] The Best Intel Optimization: ${best_name}\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] You can get up to ${boost}X performance boost.\n`
- optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);
- for (let i = 0; i < optimizeCodes.length; ++i) {
- const cell = this.cells[i];
- const currentTexts = this.cells.map(cell => cell.model.value.text);
- const currentText = currentTexts[i];
- let optimizedtext = optimizeCodes[i];
- optimizedtext = optimizedtext.replace(/\\'\\\\n\\'/g, "^^^");
- optimizedtext = optimizedtext.replace(/\\\\n"/g, "+++");
- optimizedtext = optimizedtext.replace(/\\\\n'/g, "+++");
- optimizedtext = optimizedtext.replace(/"\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/'\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/\\n/g, '\n');
- optimizedtext = optimizedtext.replace(/\\'/g, "'");
- optimizedtext = optimizedtext.replace(/\^\^\^/g, "'\\n'");
- optimizedtext = optimizedtext.replace(/\+\+\+/g, "\\n\"");
- optimizedtext = optimizedtext.replace(/\@\@\@/g, "\"\\n");
- if (cell.model.value.text === currentText) {
- cell.model.value.text = optimizedtext;
- }
- }
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: 4th Gen Intel Xeon Scalable processor with AMX \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log \n`;
- }
- // let command = "lscpu | grep 'Model name'"
- // let get_hardware = `import subprocess\nsubp = subprocess.Popen("${command}",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding="utf-8")\nsubp.wait(2)\nhardware = subp.communicate()[0].replace("Model name:","").strip()`
- // let expr_hardware = {hardware: "hardware"}
- // let hard_res = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, get_hardware, expr_hardware,false);
- // hard_res.then(value =>{
- // let hard = Object.values(value.hardware.data)[0] as string;
- // if(this.markdown){
- // this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: ${hard} \n`
- // this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log \n`
- // }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] HardWare: ${hard}\n`
- // })
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] The log was saved to lab_workspace\\NeuralCoder${this.rand}.log\n`
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.ICON_RUN;
- (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);
- });
- }
- });
- });
- }
- }
- }
-}
-class JupyterlabNotebookCodeOptimizer extends JupyterlabCodeOptimizer {
- constructor(notebookTracker, panel) {
- super(panel);
- this.notebookTracker = notebookTracker;
- this.notebookname = '';
- }
- async optimizeAction(config, formatter) {
- return this.optimizeCells(true, config, formatter);
- }
- async optimizeAllCodeCells(config, formatter, notebook, run) {
- return this.optimizeCells(false, config, formatter, notebook, run);
- }
- getCodeCells(ifmarkdown = true, notebook) {
- if (!this.notebookTracker.currentWidget) {
- return [];
- }
- const codeCells = [];
- notebook = notebook || this.notebookTracker.currentWidget.content;
- this.notebookname = notebook.title.label;
- let count = 0;
- notebook.widgets.forEach((cell) => {
- if (cell.model.type === 'code') {
- count += 1;
- codeCells.push(cell);
- }
- });
- if (ifmarkdown) {
- _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.NotebookActions.insertBelow(notebook);
- this.notebookTracker.currentWidget.content.activeCellIndex = count + 1;
- _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.NotebookActions.changeCellType(notebook, 'markdown');
- const activeCell = notebook.activeCell;
- if (activeCell) {
- this.markdown = activeCell;
- }
- }
- this.cells = codeCells;
- return codeCells;
- }
- async optimizeCells(selectedOnly, config, formatter, notebook, run) {
- if (this.working) {
- return new Promise((resolve, reject) => {
- resolve("false!");
- });
- }
- console.log("arrive here 333");
- this.working = true;
- const optimize_type = formatter !== undefined ? formatter : 'pytorch_mixed_precision_cpu';
- if (optimize_type === 'auto-quant') {
- selectedOnly = true;
- }
- else {
- selectedOnly = false;
- }
- const selectedCells = this.getCodeCells(selectedOnly, notebook);
- let cell = selectedCells[selectedCells.length - 1];
- if (selectedCells.length === 0) {
- this.working = false;
- return new Promise((resolve, reject) => {
- resolve("false!");
- });
- }
- const currentTexts = selectedCells.map(cell => cell.model.value.text);
- if (optimize_type === 'auto-quant') {
- console.log("arrive here 444-111");
- if (this.markdown) {
- this.markdown.model.value.text = `[NeuralCoder INFO] Auto-Quant Started ...... \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook "${this.notebookname}" \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Mode: Throughput \n`;
- }
- // cell.outputArea.node.innerText = `[NeuralCoder INFO] Auto-Quant Started ......\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook "${this.notebookname}"\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Mode: Throughput\n`
- let runcode = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Auto-Quant Started ......\\n")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- let runcode2 = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Code: User code from Jupyter Lab notebook '${this.notebookname}'\\n")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- let runcode3 = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Benchmark Mode: Throughput\\n")`;
- let expr3 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);
- // cell.outputArea.node.setAttribute("class","pad")
- await this.optimizeCode(currentTexts, '', 'The Original Model', 'INC Enable INT8 (Static)', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_static_quant_fx', 'INC Enable INT8 (Static)', 'INC Enable INT8 (Dynamic)', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_dynamic_quant', 'INC Enable INT8 (Dynamic)', 'INC Enable BF16', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_bf16', 'INC Enable BF16', '', config, true, this.panel, cell, run);
- }
- else {
- console.log("arrive here 444-222");
- await this.optimizeCode(currentTexts, optimize_type, "", "", "normal", true, this.panel, cell, run);
- }
- this.working = false;
- console.log("arrive here 555");
- return new Promise((resolve, reject) => {
- resolve("success!");
- });
- }
- applicable(formatter, currentWidget) {
- const currentNotebookWidget = this.notebookTracker.currentWidget;
- return currentNotebookWidget && currentWidget === currentNotebookWidget;
- }
-}
-
-
-/***/ }),
-
-/***/ "./lib/index.js":
-/*!**********************!*\
- !*** ./lib/index.js ***!
- \**********************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ "webpack/sharing/consume/default/@jupyterlab/notebook");
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ "webpack/sharing/consume/default/@jupyterlab/apputils");
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/settingregistry */ "webpack/sharing/consume/default/@jupyterlab/settingregistry");
-/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__);
-/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/mainmenu */ "webpack/sharing/consume/default/@jupyterlab/mainmenu");
-/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__);
-/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/ui-components */ "webpack/sharing/consume/default/@jupyterlab/ui-components");
-/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__);
-/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/widgets */ "webpack/sharing/consume/default/@lumino/widgets");
-/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_5__);
-/* harmony import */ var _deepcoder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./deepcoder */ "./lib/deepcoder.js");
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ "./lib/constants.js");
-
-
-
-
-
-
-
-
-class neural_compressor_ext_lab {
- constructor(app, tracker, notebookpanel) {
- this.app = app;
- this.tracker = tracker;
- this.notebookpanel = notebookpanel;
- this.setupWidgetExtension();
- this.config = '';
- }
- createNew(nb) {
- this.notebookpanel = nb;
- this.notebookCodeOptimizer = new _deepcoder__WEBPACK_IMPORTED_MODULE_6__.JupyterlabNotebookCodeOptimizer(this.tracker, this.notebookpanel);
- const svg = document.createElement("svg");
- svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_FORMAT_ALL_SVG;
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_RUN;
- const div = document.createElement("div");
- div.setAttribute("class", "wrapper");
- const span = document.createElement("span");
- span.setAttribute("class", "f1ozlkqi");
- span.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.SVG;
- const selector = document.createElement("select");
- selector.setAttribute("class", "aselector");
- selector.id = "NeuralCoder";
- const option1 = document.createElement("option");
- option1.value = "pytorch_inc_static_quant_fx";
- option1.innerText = "INC Enable INT8 (Static)";
- option1.selected = true;
- const option2 = document.createElement("option");
- option2.value = "pytorch_inc_dynamic_quant";
- option2.innerText = "INC Enable INT8 (Dynamic)";
- const option3 = document.createElement("option");
- option3.value = "pytorch_inc_bf16";
- option3.innerText = "INC Enable BF16";
- const option4 = document.createElement("option");
- option4.value = "auto-quant";
- option4.innerText = "INC Auto Enable & Benchmark";
- selector.options.add(option1);
- selector.options.add(option2);
- selector.options.add(option3);
- selector.options.add(option4);
- div.appendChild(selector);
- div.appendChild(span);
- const selector_widget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget();
- selector_widget.node.appendChild(div);
- selector_widget.addClass("aselector");
- let notebookCodeOptimizer = this.notebookCodeOptimizer;
- let config = this.config;
- const dia_input = document.createElement("input");
- const dia_widget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget();
- dia_widget.node.appendChild(dia_input);
- dia_widget.addClass("dialog");
- const run_button = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({
- tooltip: 'NeuralCoder',
- icon: new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__.LabIcon({
- name: "run",
- svgstr: _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_RUN
- }),
- onClick: async function () {
- var _a, _b, _c, _d;
- console.log("arrive here 111");
- (_d = (_c = (_b = (_a = run_button.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(svg);
- if (selector.options[selector.selectedIndex].value === 'auto-quant') {
- await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({
- title: 'Please input execute parameters:',
- body: dia_widget,
- buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton({ label: 'Confirm' })]
- }).then(result => {
- if (result.button.accept) {
- config = dia_input.value;
- }
- });
- }
- console.log("arrive here 222");
- await notebookCodeOptimizer.optimizeAllCodeCells(config, selector.options[selector.selectedIndex].value, undefined, run_button);
- }
- });
- nb.toolbar.insertItem(11, "nc", run_button);
- nb.toolbar.insertItem(12, "selector", selector_widget);
- }
- setupWidgetExtension() {
- this.app.docRegistry.addWidgetExtension('Notebook', this);
- }
-}
-/**
- * Initialization data for the neural_compressor_ext_lab extension.
- */
-const plugin = {
- id: 'neural_compressor_ext_lab:plugin',
- autoStart: true,
- requires: [_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.INotebookTracker, _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__.IMainMenu],
- optional: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__.ISettingRegistry],
- activate: (app, tracker, notebookpanel) => {
- new neural_compressor_ext_lab(app, tracker, notebookpanel);
- console.log('JupyterLab extension neural_compressor_ext_lab is activated!');
- }
-};
-/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
-
-
-/***/ }),
-
-/***/ "./lib/utils.js":
-/*!**********************!*\
- !*** ./lib/utils.js ***!
- \**********************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ NotebookUtilities)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ "webpack/sharing/consume/default/@jupyterlab/apputils");
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var react_sanitized_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sanitized-html */ "webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html");
-/* harmony import */ var react_sanitized_html__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sanitized_html__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
-/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
-/*
- * Copyright 2019-2020 The Kale Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// @ts-ignore
-
-
-class NotebookUtilities {
- /**
- * generate random number
- * @Min
- * @Max
- */
- static GetRandomNum(Min, Max) {
- let Range;
- Range = Max - Min;
- var Rand = Math.random();
- return (Min + Math.round(Rand * Range));
- }
- /**
- * Builds an HTML container by sanitizing a list of strings and converting
- * them in valid HTML
- * @param msg A list of string with HTML formatting
- * @returns a HTMLDivElement composed of a list of spans with formatted text
- */
- static buildDialogBody(msg) {
- return (react__WEBPACK_IMPORTED_MODULE_2__.createElement("div", null, msg.map((s, i) => {
- return (react__WEBPACK_IMPORTED_MODULE_2__.createElement(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { key: `msg-${i}` },
- react__WEBPACK_IMPORTED_MODULE_2__.createElement((react_sanitized_html__WEBPACK_IMPORTED_MODULE_1___default()), { allowedAttributes: { a: ['href'] }, allowedTags: ['b', 'i', 'em', 'strong', 'a', 'pre'], html: s }),
- react__WEBPACK_IMPORTED_MODULE_2__.createElement("br", null)));
- })));
- }
- /**
- * Opens a pop-up dialog in JupyterLab to display a simple message.
- * @param title The title for the message popup
- * @param msg The message as an array of strings
- * @param buttonLabel The label to use for the button. Default is 'OK'
- * @param buttonClassName The classname to give to the 'ok' button
- * @returns Promise - A promise once the message is closed.
- */
- static async showMessage(title, msg, buttonLabel = 'Dismiss', buttonClassName = '') {
- const buttons = [
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: buttonLabel, className: buttonClassName }),
- ];
- const messageBody = this.buildDialogBody(msg);
- await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({ title, buttons, body: messageBody });
- }
- /**
- * Opens a pop-up dialog in JupyterLab to display a yes/no dialog.
- * @param title The title for the message popup
- * @param msg The message
- * @param acceptLabel The label to use for the accept button. Default is 'YES'
- * @param rejectLabel The label to use for the reject button. Default is 'NO'
- * @param yesButtonClassName The classname to give to the accept button.
- * @param noButtonClassName The classname to give to the cancel button.
- * @returns Promise - A promise once the message is closed.
- */
- static async showYesNoDialog(title, msg, acceptLabel = 'YES', rejectLabel = 'NO', yesButtonClassName = '', noButtonClassName = '') {
- const buttons = [
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: acceptLabel, className: yesButtonClassName }),
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton({ label: rejectLabel, className: noButtonClassName }),
- ];
- const messageBody = this.buildDialogBody(msg);
- const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({ title, buttons, body: messageBody });
- return result.button.label === acceptLabel;
- }
- /**
- * Opens a pop-up dialog in JupyterLab with various information and button
- * triggering reloading the page.
- * @param title The title for the message popup
- * @param msg The message
- * @param buttonLabel The label to use for the button. Default is 'Refresh'
- * @param buttonClassName The classname to give to the 'refresh' button.
- * @returns Promise - A promise once the message is closed.
- */
- static async showRefreshDialog(title, msg, buttonLabel = 'Refresh', buttonClassName = '') {
- await this.showMessage(title, msg, buttonLabel, buttonClassName);
- location.reload();
- }
- /**
- * @description Creates a new JupyterLab notebook for use by the application
- * @param command The command registry
- * @returns Promise - A promise containing the notebook panel object that was created (if successful).
- */
- static async createNewNotebook(command) {
- const notebook = await command.execute('notebook:create-new', {
- activate: true,
- path: '',
- preferredLanguage: '',
- });
- await notebook.session.ready;
- return notebook;
- }
- /**
- * Safely saves the Jupyter notebook document contents to disk
- * @param notebookPanel The notebook panel containing the notebook to save
- */
- static async saveNotebook(notebookPanel) {
- if (notebookPanel) {
- await notebookPanel.context.ready;
- notebookPanel.context.save();
- return true;
- }
- return false;
- }
- /**
- * Convert the notebook contents to JSON
- * @param notebookPanel The notebook panel containing the notebook to serialize
- */
- static notebookToJSON(notebookPanel) {
- if (notebookPanel.content.model) {
- return notebookPanel.content.model.toJSON();
- }
- return null;
- }
- /**
- * @description Gets the value of a key from specified notebook's metadata.
- * @param notebookPanel The notebook to get meta data from.
- * @param key The key of the value.
- * @returns any -The value of the metadata. Returns null if the key doesn't exist.
- */
- static getMetaData(notebookPanel, key) {
- if (!notebookPanel) {
- throw new Error('The notebook is null or undefined. No meta data available.');
- }
- if (notebookPanel.model && notebookPanel.model.metadata.has(key)) {
- return notebookPanel.model.metadata.get(key);
- }
- return null;
- }
- /**
- * @description Sets the key value pair in the notebook's metadata.
- * If the key doesn't exists it will add one.
- * @param notebookPanel The notebook to set meta data in.
- * @param key The key of the value to create.
- * @param value The value to set.
- * @param save Default is false. Whether the notebook should be saved after the meta data is set.
- * Note: This function will not wait for the save to complete, it only sends a save request.
- * @returns The old value for the key, or undefined if it did not exist.
- */
- static setMetaData(notebookPanel, key, value, save = false) {
- var _a;
- if (!notebookPanel) {
- throw new Error('The notebook is null or undefined. No meta data available.');
- }
- const oldVal = (_a = notebookPanel.model) === null || _a === void 0 ? void 0 : _a.metadata.set(key, value);
- if (save) {
- this.saveNotebook(notebookPanel);
- }
- return oldVal;
- }
- // /**
- // * Get a new Kernel, not tied to a Notebook
- // * Source code here: https://github.com/jupyterlab/jupyterlab/tree/473348d25bcb258ca2f0c127dd8fb5b193217135/packages/services
- // */
- // public static async createNewKernel() {
- // // Get info about the available kernels and start a new one.
- // let options: Kernel.IOptions = await Kernel.getSpecs().then(kernelSpecs => {
- // // console.log('Default spec:', kernelSpecs.default);
- // // console.log('Available specs', Object.keys(kernelSpecs.kernelspecs));
- // // use the default name
- // return { name: kernelSpecs.default };
- // });
- // return await Kernel.startNew(options).then(_kernel => {
- // return _kernel;
- // });
- // }
- // // TODO: We can use this context manager to execute commands inside a new kernel
- // // and be sure that it will be disposed of at the end.
- // // Another approach could be to create a kale_rpc Kernel, as a singleton,
- // // created at startup. The only (possible) drawback is that we can not name
- // // a kernel instance with a custom id/name, so when refreshing JupyterLab we would
- // // not recognize the kernel. A solution could be to have a kernel spec dedicated to kale rpc calls.
- // public static async executeWithNewKernel(action: Function, args: any[] = []) {
- // // create brand new kernel
- // const _k = await this.createNewKernel();
- // // execute action inside kernel
- // const res = await action(_k, ...args);
- // // close kernel
- // _k.shutdown();
- // // return result
- // return res;
- // }
- /**
- * @description This function runs code directly in the notebook's kernel and then evaluates the
- * result and returns it as a promise.
- * @param kernel The kernel to run the code in.
- * @param runCode The code to run in the kernel.
- * @param userExpressions The expressions used to capture the desired info from the executed code.
- * @param runSilent Default is false. If true, kernel will execute as quietly as possible.
- * store_history will be set to false, and no broadcast on IOPUB channel will be made.
- * @param storeHistory Default is false. If true, the code executed will be stored in the kernel's history
- * and the counter which is shown in the cells will be incremented to reflect code was run.
- * @param allowStdIn Default is false. If true, code running in kernel can prompt user for input using
- * an input_request message.
- * @param stopOnError Default is false. If True, does not abort the execution queue, if an exception is encountered.
- * This allows the queued execution of multiple execute_requests, even if they generate exceptions.
- * @returns Promise - A promise containing the execution results of the code as an object with
- * keys based on the user_expressions.
- * @example
- * //The code
- * const code = "a=123\nb=456\nsum=a+b";
- * //The user expressions
- * const expr = {sum: "sum",prod: "a*b",args:"[a,b,sum]"};
- * //Async function call (returns a promise)
- * sendKernelRequest(notebookPanel, code, expr,false);
- * //Result when promise resolves:
- * {
- * sum:{status:"ok",data:{"text/plain":"579"},metadata:{}},
- * prod:{status:"ok",data:{"text/plain":"56088"},metadata:{}},
- * args:{status:"ok",data:{"text/plain":"[123, 456, 579]"}}
- * }
- * @see For more information on JupyterLab messages:
- * https://jupyter-client.readthedocs.io/en/latest/messaging.html#execution-results
- */
- static async sendKernelRequest(kernel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {
- if (!kernel) {
- throw new Error('Kernel is null or undefined.');
- }
- // Wait for kernel to be ready before sending request
- // await kernel.status;
- const message = await kernel.requestExecute({
- allow_stdin: allowStdIn,
- code: runCode,
- silent: runSilent,
- stop_on_error: stopOnError,
- store_history: storeHistory,
- user_expressions: userExpressions,
- }).done;
- const content = message.content;
- if (content.status !== 'ok') {
- // If response is not 'ok', throw contents as error, log code
- const msg = `Code caused an error:\n${runCode}`;
- console.error(msg);
- if (content.traceback) {
- content.traceback.forEach((line) => console.log(line.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')));
- }
- throw content;
- }
- // Return user_expressions of the content
- return content.user_expressions;
- }
- /**
- * Same as method sendKernelRequest but passing
- * a NotebookPanel instead of a Kernel
- */
- static async sendKernelRequestFromNotebook(notebookPanel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {
- var _a, _b, _c, _d;
- if (!notebookPanel) {
- throw new Error('Notebook is null or undefined.');
- }
- // Wait for notebook panel to be ready
- await notebookPanel.activate;
- await ((_a = notebookPanel.sessionContext) === null || _a === void 0 ? void 0 : _a.ready);
- console.log('get kernel', (_b = notebookPanel.sessionContext.session) === null || _b === void 0 ? void 0 : _b.kernel);
- return this.sendKernelRequest((_d = (_c = notebookPanel.sessionContext) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.kernel, runCode, userExpressions, runSilent, storeHistory, allowStdIn, stopOnError);
- }
-}
-
-
-/***/ })
-
-}]);
-//# sourceMappingURL=lib_index_js.2c3b18119886a0a82200.js.map
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c3b18119886a0a82200.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c3b18119886a0a82200.js.map
deleted file mode 100644
index c4bb7ec7d6d..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c3b18119886a0a82200.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"lib_index_js.2c3b18119886a0a82200.js","mappings":"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;AACA,YAAY,gFAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH,kBAAkB;AACrI;AACA;AACA;AACA,kHAAkH,kBAAkB;AACpI;AACA,wCAAwC,cAAc;AACtD,yBAAyB;AACzB,YAAY,4EAA+C;AAC3D,yCAAyC,cAAc,gGAAgG,kBAAkB;AACzK,0BAA0B;AAC1B,YAAY,4EAA+C;AAC3D,yCAAyC,cAAc;AACvD,0BAA0B;AAC1B,YAAY,4EAA+C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtSwD;AACiB;AACV;AACd;AACG;AACX;AACqB;AACtB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uEAA+B;AACxE;AACA,wBAAwB,qEAA6B;AACrD;AACA,4BAA4B,0DAAkB;AAC9C;AACA;AACA;AACA;AACA,yBAAyB,qDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,mDAAM;AAC1C;AACA;AACA;AACA;AACA;AACA,+BAA+B,mDAAM;AACrC;AACA;AACA,+BAA+B,+DAAa;AAC5C;AACA,sBAAsB,8DAAO;AAC7B;AACA,wBAAwB,0DAAkB;AAC1C,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,0BAA0B,gEAAU;AACpC;AACA;AACA,kCAAkC,iEAAe,GAAG,kBAAkB;AACtE,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kEAAgB,EAAE,2DAAS;AAC1C,eAAe,yEAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;;;ACxGtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0D;AAC1D;AACiD;AAClB;AAChB;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gDAAmB;AACnC,oBAAoB,gDAAmB,CAAC,2CAAc,IAAI,YAAY,EAAE,GAAG;AAC3E,gBAAgB,gDAAmB,CAAC,6DAAa,IAAI,qBAAqB,aAAa,gEAAgE;AACvJ,gBAAgB,gDAAmB;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAe,GAAG,gDAAgD;AAC9E;AACA;AACA,cAAc,gEAAU,GAAG,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAe,GAAG,mDAAmD;AACjF,YAAY,qEAAmB,GAAG,kDAAkD;AACpF;AACA;AACA,6BAA6B,gEAAU,GAAG,mCAAmC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa,kBAAkB,mBAAmB,aAAa;AAC/D,cAAc,kBAAkB,qBAAqB,aAAa;AAClE,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA,kGAAkG,YAAY,IAAI,IAAI,MAAM,IAAI;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://neural_compressor_ext_lab/./lib/constants.js","webpack://neural_compressor_ext_lab/./lib/deepcoder.js","webpack://neural_compressor_ext_lab/./lib/index.js","webpack://neural_compressor_ext_lab/./lib/utils.js"],"sourcesContent":["export var Constants;\n(function (Constants) {\n Constants.SHORT_PLUGIN_NAME = 'neural_compressor_ext_lab';\n Constants.WORK_PATH = \"neural_coder_workspace/\";\n Constants.ICON_FORMAT_ALL_SVG = '';\n Constants.ICON_RUN = '';\n Constants.SVG = '';\n Constants.LONG_PLUGIN_NAME = `@rya/${Constants.SHORT_PLUGIN_NAME}`;\n Constants.SETTINGS_SECTION = `${Constants.LONG_PLUGIN_NAME}:settings`;\n Constants.COMMAND_SECTION_NAME = 'Jupyterlab Code Optimizer';\n Constants.PLUGIN_VERSION = '0.1.0';\n})(Constants || (Constants = {}));\n","import { NotebookActions } from '@jupyterlab/notebook';\nimport NotebookUtilities from \"./utils\";\nimport { Constants } from './constants';\nclass JupyterlabCodeOptimizer {\n constructor(panel) {\n this.working = false;\n this.panel = panel;\n this.tmp_path = \"tmp.py\";\n this.rand = NotebookUtilities.GetRandomNum(0, 200);\n this.log_path = Constants.WORK_PATH + \"NeuralCoder\" + this.rand + \".log\";\n this.tmp_log_path = Constants.WORK_PATH + \"NeuralCoder_tmp\" + \".log\";\n this.cells = [];\n }\n async optimizeCode(code, formatter, name, next, options, notebook, panel, cell, run) {\n let codes = [];\n code.forEach(function (value) {\n value = value.replace(/('\\\\n')/g, '^^^');\n value = value.replace(/\\\\n\"/g, '###');\n value = value.replace(/\\\\n'/g, '###');\n value = value.replace(/\"\\\\n/g, '@@');\n value = value.replace(/'\\\\n/g, '@@');\n value = value.replace(/\\n/g, '\\\\n');\n value = value.replace(/\"/g, '+++');\n value = value.replace(/,/g, '$');\n codes.push(value);\n });\n let gen_code = `code = \"${codes}\"\\ncodes = code.split(',')\\nwith open( '${this.tmp_path}', 'w+' ) as f:\\n for i in range(0,len(codes)):\\n f.write('# this is the beginning of a single code snippet\\\\n')\\n code_list = codes[i].replace('$',',').replace('+++','\\\"').split('\\\\n')\\n for line in code_list:\\n if('split(^^^)' in line):\\n line=line.replace('split(^^^)', 'split(\\\\'\\\\\\\\n\\\\')')\\n if('###' in line):\\n line=line.replace('###', '\\\\\\\\n\\\"')\\n if('@@' in line):\\n line=line.replace('@@', '\\\"\\\\\\\\n')\\n f.write(line+'\\\\n')`;\n const expr = { code_list: `code_list` };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, gen_code, expr, false);\n if (options === 'normal') {\n let runcode = `from neural_coder import enable\\nenable(code=\"${this.tmp_path}\",features=[\"${formatter}\"], overwrite=True)`;\n let expr = { sum: ` ` };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let run_code1 = `with open(\"${this.tmp_path}\", 'r') as f:\\n optimized_code = f.read()\\n`;\n let expr1 = { optimizedCode: \"optimized_code\" };\n let result2 = NotebookUtilities.sendKernelRequestFromNotebook(panel, run_code1, expr1, false);\n result2.then(value => {\n var _a, _b, _c, _d;\n let optimizedTexts = Object.values(value.optimizedCode.data)[0];\n let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\\\n').slice(1);\n optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);\n for (let i = 0; i < optimizeCodes.length; ++i) {\n const cell = this.cells[i];\n const currentTexts = this.cells.map(cell => cell.model.value.text);\n const currentText = currentTexts[i];\n let optimizedtext = optimizeCodes[i];\n optimizedtext = optimizedtext.replace(/\\\\'\\\\\\\\n\\\\'/g, \"^^^\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n\"/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n'/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\"\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/'\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/\\\\n/g, '\\n');\n optimizedtext = optimizedtext.replace(/\\\\'/g, \"'\");\n optimizedtext = optimizedtext.replace(/\\^\\^\\^/g, \"'\\\\n'\");\n optimizedtext = optimizedtext.replace(/\\+\\+\\+/g, \"\\\\n\\\"\");\n optimizedtext = optimizedtext.replace(/\\@\\@\\@/g, \"\\\"\\\\n\");\n if (cell.model.value.text === currentText) {\n cell.model.value.text = optimizedtext;\n }\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);\n }\n });\n }\n else {\n if (formatter === '') {\n if (this.markdown) {\n this.markdown.model.value.text += \"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ...... \\n\";\n }\n // cell.outputArea.node.innerText += \"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\n\"\n let runcode1 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\\\n\")`;\n let expr1 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode1, expr1, false);\n let runcode = `from neural_coder import enable\\nperfomance, mode, path = enable(code=\"${this.tmp_path}\",features=[], run_bench=True, args=\"${options}\")\\nwith open(path + '/bench.log', 'r') as f:\\n logs = f.readlines()\\nlog_line = logs[4]\\nlog = log_line.split(\"[\")[1].split(\"]\")[0]`;\n let expr = { path: \"path\", log: \"log\" };\n let result = NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let fps;\n result.then(value => {\n fps = Object.values(value.log.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second) \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\n`\n let text = `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\\\n`;\n let runcode = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n`\n let runcode1 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\\\n\")`;\n let expr1 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode1, expr1, false);\n let runcode2 = `with open(\"${this.tmp_log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n });\n }\n else {\n let runcode = `from neural_coder import enable\\nperfomance, mode, path = enable(code=\"${this.tmp_path}\", features=[\"${formatter}\"], run_bench=True, args=\"${options}\")\\nwith open(path + '/bench.log', 'r') as f:\\n logs = f.readlines()\\nlog_line = logs[4]\\nlog = log_line.split(\"[\")[1].split(\"]\")[0]`;\n let expr = { path: \"path\", log: \"log\" };\n let result = NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let fps;\n result.then(value => {\n fps = Object.values(value.log.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second) \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (FPS)\\n`\n let text = `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second)\\\\n`;\n let runcode = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n if (next !== '') {\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n`\n let runcode2 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\\\n\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n }\n let runcode3 = `with open(\"${this.tmp_log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr3 = { path: \"\" };\n let res_tmp = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);\n res_tmp.then(value => {\n if (formatter === 'pytorch_inc_bf16') {\n let read_log = `import re\\nwith open(\"${this.tmp_log_path}\", 'r') as f:\\n logs = f.readlines()\\n fps_list=[]\\n for log_line in logs[-4:]:\\n pat = re.compile(r\\'\\\\d+\\\\.?\\\\d+')\\n fps = re.findall(pat,log_line)[-1]\\n fps_list.append(float(fps))\\nmaxi = max(fps_list)\\nindex = fps_list.index(maxi)\\nboost = round(maxi/fps_list[0],1)\\nfeatures=['','pytorch_inc_static_quant_fx','pytorch_inc_dynamic_quant','pytorch_inc_bf16']\\nfeature_name=['Original Model','INC Enable INT8 (Static)','INC Enable INT8 (Dynamic)','INC Enable BF16']\\nbest_feature = features[index]\\nbest_name = feature_name[index]\\nfeature_l = []\\nfeature_l.append(best_feature)\\nfrom neural_coder import enable\\nenable(code=\"${this.tmp_path}\",features=feature_l, overwrite=True)\\nwith open(\"${this.tmp_path}\", 'r') as f:\\n optimized_code = f.read()\\n`;\n let read_expr = { boost: \"boost\", best_feature: \"best_feature\", best_name: \"best_name\", optimizeCode: \"optimized_code\", feature_l: \"fps_list\", maxi: \"maxi\", index: \"index\" };\n let read_result = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, read_log, read_expr, false);\n read_result.then(value => {\n var _a, _b, _c, _d;\n console.log(\"resres\", value);\n let boost = Object.values(value.boost.data)[0];\n let best_name = Object.values(value.best_name.data)[0];\n let optimizedTexts = Object.values(value.optimizeCode.data)[0];\n let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\\\n').slice(1);\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] The Best Intel Optimization: ${best_name} \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] You can get up to ${boost}X performance boost. \\n`;\n }\n // cell.outputArea.node.innerText +=`[NeuralCoder INFO] The Best Intel Optimization: ${best_name}\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] You can get up to ${boost}X performance boost.\\n`\n optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);\n for (let i = 0; i < optimizeCodes.length; ++i) {\n const cell = this.cells[i];\n const currentTexts = this.cells.map(cell => cell.model.value.text);\n const currentText = currentTexts[i];\n let optimizedtext = optimizeCodes[i];\n optimizedtext = optimizedtext.replace(/\\\\'\\\\\\\\n\\\\'/g, \"^^^\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n\"/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n'/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\"\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/'\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/\\\\n/g, '\\n');\n optimizedtext = optimizedtext.replace(/\\\\'/g, \"'\");\n optimizedtext = optimizedtext.replace(/\\^\\^\\^/g, \"'\\\\n'\");\n optimizedtext = optimizedtext.replace(/\\+\\+\\+/g, \"\\\\n\\\"\");\n optimizedtext = optimizedtext.replace(/\\@\\@\\@/g, \"\\\"\\\\n\");\n if (cell.model.value.text === currentText) {\n cell.model.value.text = optimizedtext;\n }\n }\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: 4th Gen Intel Xeon Scalable processor with AMX \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log \\n`;\n }\n // let command = \"lscpu | grep 'Model name'\"\n // let get_hardware = `import subprocess\\nsubp = subprocess.Popen(\"${command}\",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=\"utf-8\")\\nsubp.wait(2)\\nhardware = subp.communicate()[0].replace(\"Model name:\",\"\").strip()`\n // let expr_hardware = {hardware: \"hardware\"}\n // let hard_res = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, get_hardware, expr_hardware,false);\n // hard_res.then(value =>{\n // let hard = Object.values(value.hardware.data)[0] as string;\n // if(this.markdown){\n // this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: ${hard} \\n`\n // this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log \\n`\n // }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] HardWare: ${hard}\\n`\n // })\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] The log was saved to lab_workspace\\\\NeuralCoder${this.rand}.log\\n`\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);\n });\n }\n });\n });\n }\n }\n }\n}\nexport class JupyterlabNotebookCodeOptimizer extends JupyterlabCodeOptimizer {\n constructor(notebookTracker, panel) {\n super(panel);\n this.notebookTracker = notebookTracker;\n this.notebookname = '';\n }\n async optimizeAction(config, formatter) {\n return this.optimizeCells(true, config, formatter);\n }\n async optimizeAllCodeCells(config, formatter, notebook, run) {\n return this.optimizeCells(false, config, formatter, notebook, run);\n }\n getCodeCells(ifmarkdown = true, notebook) {\n if (!this.notebookTracker.currentWidget) {\n return [];\n }\n const codeCells = [];\n notebook = notebook || this.notebookTracker.currentWidget.content;\n this.notebookname = notebook.title.label;\n let count = 0;\n notebook.widgets.forEach((cell) => {\n if (cell.model.type === 'code') {\n count += 1;\n codeCells.push(cell);\n }\n });\n if (ifmarkdown) {\n NotebookActions.insertBelow(notebook);\n this.notebookTracker.currentWidget.content.activeCellIndex = count + 1;\n NotebookActions.changeCellType(notebook, 'markdown');\n const activeCell = notebook.activeCell;\n if (activeCell) {\n this.markdown = activeCell;\n }\n }\n this.cells = codeCells;\n return codeCells;\n }\n async optimizeCells(selectedOnly, config, formatter, notebook, run) {\n if (this.working) {\n return new Promise((resolve, reject) => {\n resolve(\"false!\");\n });\n }\n console.log(\"arrive here 333\");\n this.working = true;\n const optimize_type = formatter !== undefined ? formatter : 'pytorch_mixed_precision_cpu';\n if (optimize_type === 'auto-quant') {\n selectedOnly = true;\n }\n else {\n selectedOnly = false;\n }\n const selectedCells = this.getCodeCells(selectedOnly, notebook);\n let cell = selectedCells[selectedCells.length - 1];\n if (selectedCells.length === 0) {\n this.working = false;\n return new Promise((resolve, reject) => {\n resolve(\"false!\");\n });\n }\n const currentTexts = selectedCells.map(cell => cell.model.value.text);\n if (optimize_type === 'auto-quant') {\n console.log(\"arrive here 444-111\");\n if (this.markdown) {\n this.markdown.model.value.text = `[NeuralCoder INFO] Auto-Quant Started ...... \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook \"${this.notebookname}\" \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Mode: Throughput \\n`;\n }\n // cell.outputArea.node.innerText = `[NeuralCoder INFO] Auto-Quant Started ......\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook \"${this.notebookname}\"\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Mode: Throughput\\n`\n let runcode = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Auto-Quant Started ......\\\\n\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n let runcode2 = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Code: User code from Jupyter Lab notebook '${this.notebookname}'\\\\n\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n let runcode3 = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Benchmark Mode: Throughput\\\\n\")`;\n let expr3 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);\n // cell.outputArea.node.setAttribute(\"class\",\"pad\")\n await this.optimizeCode(currentTexts, '', 'The Original Model', 'INC Enable INT8 (Static)', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_static_quant_fx', 'INC Enable INT8 (Static)', 'INC Enable INT8 (Dynamic)', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_dynamic_quant', 'INC Enable INT8 (Dynamic)', 'INC Enable BF16', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_bf16', 'INC Enable BF16', '', config, true, this.panel, cell, run);\n }\n else {\n console.log(\"arrive here 444-222\");\n await this.optimizeCode(currentTexts, optimize_type, \"\", \"\", \"normal\", true, this.panel, cell, run);\n }\n this.working = false;\n console.log(\"arrive here 555\");\n return new Promise((resolve, reject) => {\n resolve(\"success!\");\n });\n }\n applicable(formatter, currentWidget) {\n const currentNotebookWidget = this.notebookTracker.currentWidget;\n return currentNotebookWidget && currentWidget === currentNotebookWidget;\n }\n}\n","import { INotebookTracker } from '@jupyterlab/notebook';\nimport { ToolbarButton, showDialog, Dialog } from '@jupyterlab/apputils';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IMainMenu } from '@jupyterlab/mainmenu';\nimport { LabIcon } from '@jupyterlab/ui-components';\nimport { Widget } from '@lumino/widgets';\nimport { JupyterlabNotebookCodeOptimizer } from './deepcoder';\nimport { Constants } from './constants';\nclass neural_compressor_ext_lab {\n constructor(app, tracker, notebookpanel) {\n this.app = app;\n this.tracker = tracker;\n this.notebookpanel = notebookpanel;\n this.setupWidgetExtension();\n this.config = '';\n }\n createNew(nb) {\n this.notebookpanel = nb;\n this.notebookCodeOptimizer = new JupyterlabNotebookCodeOptimizer(this.tracker, this.notebookpanel);\n const svg = document.createElement(\"svg\");\n svg.innerHTML = Constants.ICON_FORMAT_ALL_SVG;\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n const div = document.createElement(\"div\");\n div.setAttribute(\"class\", \"wrapper\");\n const span = document.createElement(\"span\");\n span.setAttribute(\"class\", \"f1ozlkqi\");\n span.innerHTML = Constants.SVG;\n const selector = document.createElement(\"select\");\n selector.setAttribute(\"class\", \"aselector\");\n selector.id = \"NeuralCoder\";\n const option1 = document.createElement(\"option\");\n option1.value = \"pytorch_inc_static_quant_fx\";\n option1.innerText = \"INC Enable INT8 (Static)\";\n option1.selected = true;\n const option2 = document.createElement(\"option\");\n option2.value = \"pytorch_inc_dynamic_quant\";\n option2.innerText = \"INC Enable INT8 (Dynamic)\";\n const option3 = document.createElement(\"option\");\n option3.value = \"pytorch_inc_bf16\";\n option3.innerText = \"INC Enable BF16\";\n const option4 = document.createElement(\"option\");\n option4.value = \"auto-quant\";\n option4.innerText = \"INC Auto Enable & Benchmark\";\n selector.options.add(option1);\n selector.options.add(option2);\n selector.options.add(option3);\n selector.options.add(option4);\n div.appendChild(selector);\n div.appendChild(span);\n const selector_widget = new Widget();\n selector_widget.node.appendChild(div);\n selector_widget.addClass(\"aselector\");\n let notebookCodeOptimizer = this.notebookCodeOptimizer;\n let config = this.config;\n const dia_input = document.createElement(\"input\");\n const dia_widget = new Widget();\n dia_widget.node.appendChild(dia_input);\n dia_widget.addClass(\"dialog\");\n const run_button = new ToolbarButton({\n tooltip: 'NeuralCoder',\n icon: new LabIcon({\n name: \"run\",\n svgstr: Constants.ICON_RUN\n }),\n onClick: async function () {\n var _a, _b, _c, _d;\n console.log(\"arrive here 111\");\n (_d = (_c = (_b = (_a = run_button.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(svg);\n if (selector.options[selector.selectedIndex].value === 'auto-quant') {\n await showDialog({\n title: 'Please input execute parameters:',\n body: dia_widget,\n buttons: [Dialog.okButton({ label: 'Confirm' })]\n }).then(result => {\n if (result.button.accept) {\n config = dia_input.value;\n }\n });\n }\n console.log(\"arrive here 222\");\n await notebookCodeOptimizer.optimizeAllCodeCells(config, selector.options[selector.selectedIndex].value, undefined, run_button);\n }\n });\n nb.toolbar.insertItem(11, \"nc\", run_button);\n nb.toolbar.insertItem(12, \"selector\", selector_widget);\n }\n setupWidgetExtension() {\n this.app.docRegistry.addWidgetExtension('Notebook', this);\n }\n}\n/**\n * Initialization data for the neural_compressor_ext_lab extension.\n */\nconst plugin = {\n id: 'neural_compressor_ext_lab:plugin',\n autoStart: true,\n requires: [INotebookTracker, IMainMenu],\n optional: [ISettingRegistry],\n activate: (app, tracker, notebookpanel) => {\n new neural_compressor_ext_lab(app, tracker, notebookpanel);\n console.log('JupyterLab extension neural_compressor_ext_lab is activated!');\n }\n};\nexport default plugin;\n","/*\n * Copyright 2019-2020 The Kale Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Dialog, showDialog } from '@jupyterlab/apputils';\n// @ts-ignore\nimport SanitizedHTML from 'react-sanitized-html';\nimport * as React from 'react';\nexport default class NotebookUtilities {\n /**\n * generate random number\n * @Min\n * @Max\n */\n static GetRandomNum(Min, Max) {\n let Range;\n Range = Max - Min;\n var Rand = Math.random();\n return (Min + Math.round(Rand * Range));\n }\n /**\n * Builds an HTML container by sanitizing a list of strings and converting\n * them in valid HTML\n * @param msg A list of string with HTML formatting\n * @returns a HTMLDivElement composed of a list of spans with formatted text\n */\n static buildDialogBody(msg) {\n return (React.createElement(\"div\", null, msg.map((s, i) => {\n return (React.createElement(React.Fragment, { key: `msg-${i}` },\n React.createElement(SanitizedHTML, { allowedAttributes: { a: ['href'] }, allowedTags: ['b', 'i', 'em', 'strong', 'a', 'pre'], html: s }),\n React.createElement(\"br\", null)));\n })));\n }\n /**\n * Opens a pop-up dialog in JupyterLab to display a simple message.\n * @param title The title for the message popup\n * @param msg The message as an array of strings\n * @param buttonLabel The label to use for the button. Default is 'OK'\n * @param buttonClassName The classname to give to the 'ok' button\n * @returns Promise - A promise once the message is closed.\n */\n static async showMessage(title, msg, buttonLabel = 'Dismiss', buttonClassName = '') {\n const buttons = [\n Dialog.okButton({ label: buttonLabel, className: buttonClassName }),\n ];\n const messageBody = this.buildDialogBody(msg);\n await showDialog({ title, buttons, body: messageBody });\n }\n /**\n * Opens a pop-up dialog in JupyterLab to display a yes/no dialog.\n * @param title The title for the message popup\n * @param msg The message\n * @param acceptLabel The label to use for the accept button. Default is 'YES'\n * @param rejectLabel The label to use for the reject button. Default is 'NO'\n * @param yesButtonClassName The classname to give to the accept button.\n * @param noButtonClassName The classname to give to the cancel button.\n * @returns Promise - A promise once the message is closed.\n */\n static async showYesNoDialog(title, msg, acceptLabel = 'YES', rejectLabel = 'NO', yesButtonClassName = '', noButtonClassName = '') {\n const buttons = [\n Dialog.okButton({ label: acceptLabel, className: yesButtonClassName }),\n Dialog.cancelButton({ label: rejectLabel, className: noButtonClassName }),\n ];\n const messageBody = this.buildDialogBody(msg);\n const result = await showDialog({ title, buttons, body: messageBody });\n return result.button.label === acceptLabel;\n }\n /**\n * Opens a pop-up dialog in JupyterLab with various information and button\n * triggering reloading the page.\n * @param title The title for the message popup\n * @param msg The message\n * @param buttonLabel The label to use for the button. Default is 'Refresh'\n * @param buttonClassName The classname to give to the 'refresh' button.\n * @returns Promise - A promise once the message is closed.\n */\n static async showRefreshDialog(title, msg, buttonLabel = 'Refresh', buttonClassName = '') {\n await this.showMessage(title, msg, buttonLabel, buttonClassName);\n location.reload();\n }\n /**\n * @description Creates a new JupyterLab notebook for use by the application\n * @param command The command registry\n * @returns Promise - A promise containing the notebook panel object that was created (if successful).\n */\n static async createNewNotebook(command) {\n const notebook = await command.execute('notebook:create-new', {\n activate: true,\n path: '',\n preferredLanguage: '',\n });\n await notebook.session.ready;\n return notebook;\n }\n /**\n * Safely saves the Jupyter notebook document contents to disk\n * @param notebookPanel The notebook panel containing the notebook to save\n */\n static async saveNotebook(notebookPanel) {\n if (notebookPanel) {\n await notebookPanel.context.ready;\n notebookPanel.context.save();\n return true;\n }\n return false;\n }\n /**\n * Convert the notebook contents to JSON\n * @param notebookPanel The notebook panel containing the notebook to serialize\n */\n static notebookToJSON(notebookPanel) {\n if (notebookPanel.content.model) {\n return notebookPanel.content.model.toJSON();\n }\n return null;\n }\n /**\n * @description Gets the value of a key from specified notebook's metadata.\n * @param notebookPanel The notebook to get meta data from.\n * @param key The key of the value.\n * @returns any -The value of the metadata. Returns null if the key doesn't exist.\n */\n static getMetaData(notebookPanel, key) {\n if (!notebookPanel) {\n throw new Error('The notebook is null or undefined. No meta data available.');\n }\n if (notebookPanel.model && notebookPanel.model.metadata.has(key)) {\n return notebookPanel.model.metadata.get(key);\n }\n return null;\n }\n /**\n * @description Sets the key value pair in the notebook's metadata.\n * If the key doesn't exists it will add one.\n * @param notebookPanel The notebook to set meta data in.\n * @param key The key of the value to create.\n * @param value The value to set.\n * @param save Default is false. Whether the notebook should be saved after the meta data is set.\n * Note: This function will not wait for the save to complete, it only sends a save request.\n * @returns The old value for the key, or undefined if it did not exist.\n */\n static setMetaData(notebookPanel, key, value, save = false) {\n var _a;\n if (!notebookPanel) {\n throw new Error('The notebook is null or undefined. No meta data available.');\n }\n const oldVal = (_a = notebookPanel.model) === null || _a === void 0 ? void 0 : _a.metadata.set(key, value);\n if (save) {\n this.saveNotebook(notebookPanel);\n }\n return oldVal;\n }\n // /**\n // * Get a new Kernel, not tied to a Notebook\n // * Source code here: https://github.com/jupyterlab/jupyterlab/tree/473348d25bcb258ca2f0c127dd8fb5b193217135/packages/services\n // */\n // public static async createNewKernel() {\n // // Get info about the available kernels and start a new one.\n // let options: Kernel.IOptions = await Kernel.getSpecs().then(kernelSpecs => {\n // // console.log('Default spec:', kernelSpecs.default);\n // // console.log('Available specs', Object.keys(kernelSpecs.kernelspecs));\n // // use the default name\n // return { name: kernelSpecs.default };\n // });\n // return await Kernel.startNew(options).then(_kernel => {\n // return _kernel;\n // });\n // }\n // // TODO: We can use this context manager to execute commands inside a new kernel\n // // and be sure that it will be disposed of at the end.\n // // Another approach could be to create a kale_rpc Kernel, as a singleton,\n // // created at startup. The only (possible) drawback is that we can not name\n // // a kernel instance with a custom id/name, so when refreshing JupyterLab we would\n // // not recognize the kernel. A solution could be to have a kernel spec dedicated to kale rpc calls.\n // public static async executeWithNewKernel(action: Function, args: any[] = []) {\n // // create brand new kernel\n // const _k = await this.createNewKernel();\n // // execute action inside kernel\n // const res = await action(_k, ...args);\n // // close kernel\n // _k.shutdown();\n // // return result\n // return res;\n // }\n /**\n * @description This function runs code directly in the notebook's kernel and then evaluates the\n * result and returns it as a promise.\n * @param kernel The kernel to run the code in.\n * @param runCode The code to run in the kernel.\n * @param userExpressions The expressions used to capture the desired info from the executed code.\n * @param runSilent Default is false. If true, kernel will execute as quietly as possible.\n * store_history will be set to false, and no broadcast on IOPUB channel will be made.\n * @param storeHistory Default is false. If true, the code executed will be stored in the kernel's history\n * and the counter which is shown in the cells will be incremented to reflect code was run.\n * @param allowStdIn Default is false. If true, code running in kernel can prompt user for input using\n * an input_request message.\n * @param stopOnError Default is false. If True, does not abort the execution queue, if an exception is encountered.\n * This allows the queued execution of multiple execute_requests, even if they generate exceptions.\n * @returns Promise - A promise containing the execution results of the code as an object with\n * keys based on the user_expressions.\n * @example\n * //The code\n * const code = \"a=123\\nb=456\\nsum=a+b\";\n * //The user expressions\n * const expr = {sum: \"sum\",prod: \"a*b\",args:\"[a,b,sum]\"};\n * //Async function call (returns a promise)\n * sendKernelRequest(notebookPanel, code, expr,false);\n * //Result when promise resolves:\n * {\n * sum:{status:\"ok\",data:{\"text/plain\":\"579\"},metadata:{}},\n * prod:{status:\"ok\",data:{\"text/plain\":\"56088\"},metadata:{}},\n * args:{status:\"ok\",data:{\"text/plain\":\"[123, 456, 579]\"}}\n * }\n * @see For more information on JupyterLab messages:\n * https://jupyter-client.readthedocs.io/en/latest/messaging.html#execution-results\n */\n static async sendKernelRequest(kernel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {\n if (!kernel) {\n throw new Error('Kernel is null or undefined.');\n }\n // Wait for kernel to be ready before sending request\n // await kernel.status;\n const message = await kernel.requestExecute({\n allow_stdin: allowStdIn,\n code: runCode,\n silent: runSilent,\n stop_on_error: stopOnError,\n store_history: storeHistory,\n user_expressions: userExpressions,\n }).done;\n const content = message.content;\n if (content.status !== 'ok') {\n // If response is not 'ok', throw contents as error, log code\n const msg = `Code caused an error:\\n${runCode}`;\n console.error(msg);\n if (content.traceback) {\n content.traceback.forEach((line) => console.log(line.replace(/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')));\n }\n throw content;\n }\n // Return user_expressions of the content\n return content.user_expressions;\n }\n /**\n * Same as method sendKernelRequest but passing\n * a NotebookPanel instead of a Kernel\n */\n static async sendKernelRequestFromNotebook(notebookPanel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {\n var _a, _b, _c, _d;\n if (!notebookPanel) {\n throw new Error('Notebook is null or undefined.');\n }\n // Wait for notebook panel to be ready\n await notebookPanel.activate;\n await ((_a = notebookPanel.sessionContext) === null || _a === void 0 ? void 0 : _a.ready);\n console.log('get kernel', (_b = notebookPanel.sessionContext.session) === null || _b === void 0 ? void 0 : _b.kernel);\n return this.sendKernelRequest((_d = (_c = notebookPanel.sessionContext) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.kernel, runCode, userExpressions, runSilent, storeHistory, allowStdIn, stopOnError);\n }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c52105b83d9cf4290a9.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c52105b83d9cf4290a9.js
deleted file mode 100644
index 5291fab139f..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c52105b83d9cf4290a9.js
+++ /dev/null
@@ -1,767 +0,0 @@
-"use strict";
-(self["webpackChunkneural_compressor_ext_lab"] = self["webpackChunkneural_compressor_ext_lab"] || []).push([["lib_index_js"],{
-
-/***/ "./lib/constants.js":
-/*!**************************!*\
- !*** ./lib/constants.js ***!
- \**************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "Constants": () => (/* binding */ Constants)
-/* harmony export */ });
-var Constants;
-(function (Constants) {
- Constants.SHORT_PLUGIN_NAME = 'neural_compressor_ext_lab';
- Constants.WORK_PATH = "neural_coder_workspace/";
- Constants.ICON_FORMAT_ALL_SVG = '';
- Constants.ICON_RUN = '';
- Constants.SVG = '';
- Constants.LONG_PLUGIN_NAME = `@rya/${Constants.SHORT_PLUGIN_NAME}`;
- Constants.SETTINGS_SECTION = `${Constants.LONG_PLUGIN_NAME}:settings`;
- Constants.COMMAND_SECTION_NAME = 'Jupyterlab Code Optimizer';
- Constants.PLUGIN_VERSION = '0.1.0';
-})(Constants || (Constants = {}));
-
-
-/***/ }),
-
-/***/ "./lib/deepcoder.js":
-/*!**************************!*\
- !*** ./lib/deepcoder.js ***!
- \**************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "JupyterlabNotebookCodeOptimizer": () => (/* binding */ JupyterlabNotebookCodeOptimizer)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ "webpack/sharing/consume/default/@jupyterlab/notebook");
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./lib/utils.js");
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./lib/constants.js");
-
-
-
-class JupyterlabCodeOptimizer {
- constructor(panel) {
- this.working = false;
- this.panel = panel;
- this.tmp_path = "tmp.py";
- this.rand = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].GetRandomNum(0, 200);
- this.log_path = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.WORK_PATH + "NeuralCoder" + this.rand + ".log";
- this.tmp_log_path = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.WORK_PATH + "NeuralCoder_tmp" + ".log";
- this.cells = [];
- }
- async optimizeCode(code, formatter, name, next, options, notebook, panel, cell, run) {
- let codes = [];
- code.forEach(function (value) {
- value = value.replace(/('\\n')/g, '^^^');
- value = value.replace(/\\n"/g, '###');
- value = value.replace(/\\n'/g, '###');
- value = value.replace(/"\\n/g, '@@');
- value = value.replace(/'\\n/g, '@@');
- value = value.replace(/\n/g, '\\n');
- value = value.replace(/"/g, '+++');
- value = value.replace(/,/g, '$');
- codes.push(value);
- });
- let gen_code = `code = "${codes}"\ncodes = code.split(',')\nwith open( '${this.tmp_path}', 'w+' ) as f:\n for i in range(0,len(codes)):\n f.write('# this is the beginning of a single code snippet\\n')\n code_list = codes[i].replace('$',',').replace('+++','\"').split('\\n')\n for line in code_list:\n if('split(^^^)' in line):\n line=line.replace('split(^^^)', 'split(\\'\\\\n\\')')\n if('###' in line):\n line=line.replace('###', '\\\\n\"')\n if('@@' in line):\n line=line.replace('@@', '\"\\\\n')\n f.write(line+'\\n')`;
- const expr = { code_list: `code_list` };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, gen_code, expr, false);
- if (options === 'normal') {
- let runcode = `from neural_coder import enable\nenable(code="${this.tmp_path}",features=["${formatter}"], overwrite=True)`;
- let expr = { sum: ` ` };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let run_code1 = `with open("${this.tmp_path}", 'r') as f:\n optimized_code = f.read()\n`;
- let expr1 = { optimizedCode: "optimized_code" };
- let result2 = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, run_code1, expr1, false);
- result2.then(value => {
- var _a, _b, _c, _d;
- let optimizedTexts = Object.values(value.optimizedCode.data)[0];
- let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\n').slice(1);
- optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);
- for (let i = 0; i < optimizeCodes.length; ++i) {
- const cell = this.cells[i];
- const currentTexts = this.cells.map(cell => cell.model.value.text);
- const currentText = currentTexts[i];
- let optimizedtext = optimizeCodes[i];
- optimizedtext = optimizedtext.replace(/\\'\\\\n\\'/g, "^^^");
- optimizedtext = optimizedtext.replace(/\\\\n"/g, "+++");
- optimizedtext = optimizedtext.replace(/\\\\n'/g, "+++");
- optimizedtext = optimizedtext.replace(/"\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/'\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/\\n/g, '\n');
- optimizedtext = optimizedtext.replace(/\\'/g, "'");
- optimizedtext = optimizedtext.replace(/\^\^\^/g, "'\\n'");
- optimizedtext = optimizedtext.replace(/\+\+\+/g, "\\n\"");
- optimizedtext = optimizedtext.replace(/\@\@\@/g, "\"\\n");
- if (cell.model.value.text === currentText) {
- cell.model.value.text = optimizedtext;
- }
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.ICON_RUN;
- (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);
- }
- });
- }
- else {
- if (formatter === '') {
- if (this.markdown) {
- this.markdown.model.value.text += "[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ...... \n";
- }
- // cell.outputArea.node.innerText += "[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\n"
- let runcode1 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\n")`;
- let expr1 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode1, expr1, false);
- let runcode = `from neural_coder import enable\nperfomance, mode, path = enable(code="${this.tmp_path}",features=[], run_bench=True, args="${options}")\nwith open(path + '/bench.log', 'r') as f:\n logs = f.readlines()\nlog_line = logs[4]\nlog = log_line.split("[")[1].split("]")[0]`;
- let expr = { path: "path", log: "log" };
- let result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let fps;
- result.then(value => {
- fps = Object.values(value.log.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second) \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\n`
- let text = `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\n`;
- let runcode = `with open("${this.log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\n`
- let runcode1 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n")`;
- let expr1 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode1, expr1, false);
- let runcode2 = `with open("${this.tmp_log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- });
- }
- else {
- let runcode = `from neural_coder import enable\nperfomance, mode, path = enable(code="${this.tmp_path}", features=["${formatter}"], run_bench=True, args="${options}")\nwith open(path + '/bench.log', 'r') as f:\n logs = f.readlines()\nlog_line = logs[4]\nlog = log_line.split("[")[1].split("]")[0]`;
- let expr = { path: "path", log: "log" };
- let result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(panel, runcode, expr, false);
- let fps;
- result.then(value => {
- fps = Object.values(value.log.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second) \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (FPS)\n`
- let text = `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second)\\n`;
- let runcode = `with open("${this.log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- if (next !== '') {
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \n`;
- }
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\n`
- let runcode2 = `with open("${this.log_path}", 'a' ) as f:\n f.write("[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- }
- let runcode3 = `with open("${this.tmp_log_path}", 'a' ) as f:\n f.write("${text}")`;
- let expr3 = { path: "" };
- let res_tmp = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);
- res_tmp.then(value => {
- if (formatter === 'pytorch_inc_bf16') {
- let read_log = `import re\nwith open("${this.tmp_log_path}", 'r') as f:\n logs = f.readlines()\n fps_list=[]\n for log_line in logs[-4:]:\n pat = re.compile(r\'\\d+\\.?\\d+')\n fps = re.findall(pat,log_line)[-1]\n fps_list.append(float(fps))\nmaxi = max(fps_list)\nindex = fps_list.index(maxi)\nboost = round(maxi/fps_list[0],1)\nfeatures=['','pytorch_inc_static_quant_fx','pytorch_inc_dynamic_quant','pytorch_inc_bf16']\nfeature_name=['Original Model','INC Enable INT8 (Static)','INC Enable INT8 (Dynamic)','INC Enable BF16']\nbest_feature = features[index]\nbest_name = feature_name[index]\nfeature_l = []\nfeature_l.append(best_feature)\nfrom neural_coder import enable\nenable(code="${this.tmp_path}",features=feature_l, overwrite=True)\nwith open("${this.tmp_path}", 'r') as f:\n optimized_code = f.read()\n`;
- let read_expr = { boost: "boost", best_feature: "best_feature", best_name: "best_name", optimizeCode: "optimized_code", feature_l: "fps_list", maxi: "maxi", index: "index" };
- let read_result = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, read_log, read_expr, false);
- read_result.then(value => {
- var _a, _b, _c, _d;
- console.log("resres", value);
- let boost = Object.values(value.boost.data)[0];
- let best_name = Object.values(value.best_name.data)[0];
- let optimizedTexts = Object.values(value.optimizeCode.data)[0];
- let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\n').slice(1);
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] The Best Intel Optimization: ${best_name} \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] You can get up to ${boost}X performance boost. \n`;
- }
- // cell.outputArea.node.innerText +=`[NeuralCoder INFO] The Best Intel Optimization: ${best_name}\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] You can get up to ${boost}X performance boost.\n`
- optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);
- for (let i = 0; i < optimizeCodes.length; ++i) {
- const cell = this.cells[i];
- const currentTexts = this.cells.map(cell => cell.model.value.text);
- const currentText = currentTexts[i];
- let optimizedtext = optimizeCodes[i];
- optimizedtext = optimizedtext.replace(/\\'\\\\n\\'/g, "^^^");
- optimizedtext = optimizedtext.replace(/\\\\n"/g, "+++");
- optimizedtext = optimizedtext.replace(/\\\\n'/g, "+++");
- optimizedtext = optimizedtext.replace(/"\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/'\\\\n/g, "@@@");
- optimizedtext = optimizedtext.replace(/\\n/g, '\n');
- optimizedtext = optimizedtext.replace(/\\'/g, "'");
- optimizedtext = optimizedtext.replace(/\^\^\^/g, "'\\n'");
- optimizedtext = optimizedtext.replace(/\+\+\+/g, "\\n\"");
- optimizedtext = optimizedtext.replace(/\@\@\@/g, "\"\\n");
- if (cell.model.value.text === currentText) {
- cell.model.value.text = optimizedtext;
- }
- }
- // if(this.markdown){
- // this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: 4th Gen Intel Xeon Scalable processor with AMX \n`
- // this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log \n`
- // }
- let command = "lscpu | grep 'Model name'";
- let get_hardware = `import subprocess\nsubp = subprocess.Popen("${command}",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding="utf-8")\nsubp.wait(2)\nhardware = subp.communicate()[0].replace("Model name:","").strip()`;
- let expr_hardware = { hardware: "hardware" };
- let hard_res = _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, get_hardware, expr_hardware, false);
- hard_res.then(value => {
- let hard = Object.values(value.hardware.data)[0];
- if (this.markdown) {
- this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: ${hard} \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log \n`;
- }
- cell.outputArea.node.innerText += `[NeuralCoder INFO] HardWare: ${hard}\n`;
- });
- cell.outputArea.node.innerText += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\NeuralCoder${this.rand}.log\n`;
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_2__.Constants.ICON_RUN;
- (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);
- });
- }
- });
- });
- }
- }
- }
-}
-class JupyterlabNotebookCodeOptimizer extends JupyterlabCodeOptimizer {
- constructor(notebookTracker, panel) {
- super(panel);
- this.notebookTracker = notebookTracker;
- this.notebookname = '';
- }
- async optimizeAction(config, formatter) {
- return this.optimizeCells(true, config, formatter);
- }
- async optimizeAllCodeCells(config, formatter, notebook, run) {
- return this.optimizeCells(false, config, formatter, notebook, run);
- }
- getCodeCells(ifmarkdown = true, notebook) {
- if (!this.notebookTracker.currentWidget) {
- return [];
- }
- const codeCells = [];
- notebook = notebook || this.notebookTracker.currentWidget.content;
- this.notebookname = notebook.title.label;
- let count = 0;
- notebook.widgets.forEach((cell) => {
- if (cell.model.type === 'code') {
- count += 1;
- codeCells.push(cell);
- }
- });
- if (ifmarkdown) {
- _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.NotebookActions.insertBelow(notebook);
- this.notebookTracker.currentWidget.content.activeCellIndex = count + 1;
- _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.NotebookActions.changeCellType(notebook, 'markdown');
- const activeCell = notebook.activeCell;
- if (activeCell) {
- this.markdown = activeCell;
- }
- }
- this.cells = codeCells;
- return codeCells;
- }
- async optimizeCells(selectedOnly, config, formatter, notebook, run) {
- if (this.working) {
- return new Promise((resolve, reject) => {
- resolve("false!");
- });
- }
- console.log("arrive here 333");
- this.working = true;
- const optimize_type = formatter !== undefined ? formatter : 'pytorch_mixed_precision_cpu';
- if (optimize_type === 'auto-quant') {
- selectedOnly = true;
- }
- else {
- selectedOnly = false;
- }
- const selectedCells = this.getCodeCells(selectedOnly, notebook);
- let cell = selectedCells[selectedCells.length - 1];
- if (selectedCells.length === 0) {
- this.working = false;
- return new Promise((resolve, reject) => {
- resolve("false!");
- });
- }
- const currentTexts = selectedCells.map(cell => cell.model.value.text);
- if (optimize_type === 'auto-quant') {
- console.log("arrive here 444-111");
- if (this.markdown) {
- this.markdown.model.value.text = `[NeuralCoder INFO] Auto-Quant Started ...... \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook "${this.notebookname}" \n`;
- this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Mode: Throughput \n`;
- }
- // cell.outputArea.node.innerText = `[NeuralCoder INFO] Auto-Quant Started ......\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook "${this.notebookname}"\n`
- // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Mode: Throughput\n`
- let runcode = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Auto-Quant Started ......\\n")`;
- let expr = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode, expr, false);
- let runcode2 = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Code: User code from Jupyter Lab notebook '${this.notebookname}'\\n")`;
- let expr2 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);
- let runcode3 = `with open('${this.log_path}', 'a' ) as f:\n f.write("[NeuralCoder INFO] Benchmark Mode: Throughput\\n")`;
- let expr3 = { path: "" };
- _utils__WEBPACK_IMPORTED_MODULE_1__["default"].sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);
- // cell.outputArea.node.setAttribute("class","pad")
- await this.optimizeCode(currentTexts, '', 'The Original Model', 'INC Enable INT8 (Static)', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_static_quant_fx', 'INC Enable INT8 (Static)', 'INC Enable INT8 (Dynamic)', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_dynamic_quant', 'INC Enable INT8 (Dynamic)', 'INC Enable BF16', config, true, this.panel, cell, run);
- await this.optimizeCode(currentTexts, 'pytorch_inc_bf16', 'INC Enable BF16', '', config, true, this.panel, cell, run);
- }
- else {
- console.log("arrive here 444-222");
- await this.optimizeCode(currentTexts, optimize_type, "", "", "normal", true, this.panel, cell, run);
- }
- this.working = false;
- console.log("arrive here 555");
- return new Promise((resolve, reject) => {
- resolve("success!");
- });
- }
- applicable(formatter, currentWidget) {
- const currentNotebookWidget = this.notebookTracker.currentWidget;
- return currentNotebookWidget && currentWidget === currentNotebookWidget;
- }
-}
-
-
-/***/ }),
-
-/***/ "./lib/index.js":
-/*!**********************!*\
- !*** ./lib/index.js ***!
- \**********************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ "webpack/sharing/consume/default/@jupyterlab/notebook");
-/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ "webpack/sharing/consume/default/@jupyterlab/apputils");
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/settingregistry */ "webpack/sharing/consume/default/@jupyterlab/settingregistry");
-/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__);
-/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/mainmenu */ "webpack/sharing/consume/default/@jupyterlab/mainmenu");
-/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__);
-/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/ui-components */ "webpack/sharing/consume/default/@jupyterlab/ui-components");
-/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__);
-/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/widgets */ "webpack/sharing/consume/default/@lumino/widgets");
-/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_5__);
-/* harmony import */ var _deepcoder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./deepcoder */ "./lib/deepcoder.js");
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ "./lib/constants.js");
-
-
-
-
-
-
-
-
-class neural_compressor_ext_lab {
- constructor(app, tracker, notebookpanel) {
- this.app = app;
- this.tracker = tracker;
- this.notebookpanel = notebookpanel;
- this.setupWidgetExtension();
- this.config = '';
- }
- createNew(nb) {
- this.notebookpanel = nb;
- this.notebookCodeOptimizer = new _deepcoder__WEBPACK_IMPORTED_MODULE_6__.JupyterlabNotebookCodeOptimizer(this.tracker, this.notebookpanel);
- const svg = document.createElement("svg");
- svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_FORMAT_ALL_SVG;
- const run_svg = document.createElement("svg");
- run_svg.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_RUN;
- const div = document.createElement("div");
- div.setAttribute("class", "wrapper");
- const span = document.createElement("span");
- span.setAttribute("class", "f1ozlkqi");
- span.innerHTML = _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.SVG;
- const selector = document.createElement("select");
- selector.setAttribute("class", "aselector");
- selector.id = "NeuralCoder";
- const option1 = document.createElement("option");
- option1.value = "pytorch_inc_static_quant_fx";
- option1.innerText = "INC Enable INT8 (Static)";
- option1.selected = true;
- const option2 = document.createElement("option");
- option2.value = "pytorch_inc_dynamic_quant";
- option2.innerText = "INC Enable INT8 (Dynamic)";
- const option3 = document.createElement("option");
- option3.value = "pytorch_inc_bf16";
- option3.innerText = "INC Enable BF16";
- const option4 = document.createElement("option");
- option4.value = "auto-quant";
- option4.innerText = "INC Auto Enable & Benchmark";
- selector.options.add(option1);
- selector.options.add(option2);
- selector.options.add(option3);
- selector.options.add(option4);
- div.appendChild(selector);
- div.appendChild(span);
- const selector_widget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget();
- selector_widget.node.appendChild(div);
- selector_widget.addClass("aselector");
- let notebookCodeOptimizer = this.notebookCodeOptimizer;
- let config = this.config;
- const dia_input = document.createElement("input");
- const dia_widget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget();
- dia_widget.node.appendChild(dia_input);
- dia_widget.addClass("dialog");
- const run_button = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({
- tooltip: 'NeuralCoder',
- icon: new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__.LabIcon({
- name: "run",
- svgstr: _constants__WEBPACK_IMPORTED_MODULE_7__.Constants.ICON_RUN
- }),
- onClick: async function () {
- var _a, _b, _c, _d;
- console.log("arrive here 111");
- (_d = (_c = (_b = (_a = run_button.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(svg);
- if (selector.options[selector.selectedIndex].value === 'auto-quant') {
- await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({
- title: 'Please input execute parameters:',
- body: dia_widget,
- buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton({ label: 'Confirm' })]
- }).then(result => {
- if (result.button.accept) {
- config = dia_input.value;
- }
- });
- }
- console.log("arrive here 222");
- await notebookCodeOptimizer.optimizeAllCodeCells(config, selector.options[selector.selectedIndex].value, undefined, run_button);
- }
- });
- nb.toolbar.insertItem(11, "nc", run_button);
- nb.toolbar.insertItem(12, "selector", selector_widget);
- }
- setupWidgetExtension() {
- this.app.docRegistry.addWidgetExtension('Notebook', this);
- }
-}
-/**
- * Initialization data for the neural_compressor_ext_lab extension.
- */
-const plugin = {
- id: 'neural_compressor_ext_lab:plugin',
- autoStart: true,
- requires: [_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.INotebookTracker, _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__.IMainMenu],
- optional: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__.ISettingRegistry],
- activate: (app, tracker, notebookpanel) => {
- new neural_compressor_ext_lab(app, tracker, notebookpanel);
- console.log('JupyterLab extension neural_compressor_ext_lab is activated!');
- }
-};
-/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
-
-
-/***/ }),
-
-/***/ "./lib/utils.js":
-/*!**********************!*\
- !*** ./lib/utils.js ***!
- \**********************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ NotebookUtilities)
-/* harmony export */ });
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ "webpack/sharing/consume/default/@jupyterlab/apputils");
-/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var react_sanitized_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sanitized-html */ "webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html");
-/* harmony import */ var react_sanitized_html__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sanitized_html__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "webpack/sharing/consume/default/react");
-/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
-/*
- * Copyright 2019-2020 The Kale Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// @ts-ignore
-
-
-class NotebookUtilities {
- /**
- * generate random number
- * @Min
- * @Max
- */
- static GetRandomNum(Min, Max) {
- let Range;
- Range = Max - Min;
- var Rand = Math.random();
- return (Min + Math.round(Rand * Range));
- }
- /**
- * Builds an HTML container by sanitizing a list of strings and converting
- * them in valid HTML
- * @param msg A list of string with HTML formatting
- * @returns a HTMLDivElement composed of a list of spans with formatted text
- */
- static buildDialogBody(msg) {
- return (react__WEBPACK_IMPORTED_MODULE_2__.createElement("div", null, msg.map((s, i) => {
- return (react__WEBPACK_IMPORTED_MODULE_2__.createElement(react__WEBPACK_IMPORTED_MODULE_2__.Fragment, { key: `msg-${i}` },
- react__WEBPACK_IMPORTED_MODULE_2__.createElement((react_sanitized_html__WEBPACK_IMPORTED_MODULE_1___default()), { allowedAttributes: { a: ['href'] }, allowedTags: ['b', 'i', 'em', 'strong', 'a', 'pre'], html: s }),
- react__WEBPACK_IMPORTED_MODULE_2__.createElement("br", null)));
- })));
- }
- /**
- * Opens a pop-up dialog in JupyterLab to display a simple message.
- * @param title The title for the message popup
- * @param msg The message as an array of strings
- * @param buttonLabel The label to use for the button. Default is 'OK'
- * @param buttonClassName The classname to give to the 'ok' button
- * @returns Promise - A promise once the message is closed.
- */
- static async showMessage(title, msg, buttonLabel = 'Dismiss', buttonClassName = '') {
- const buttons = [
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: buttonLabel, className: buttonClassName }),
- ];
- const messageBody = this.buildDialogBody(msg);
- await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({ title, buttons, body: messageBody });
- }
- /**
- * Opens a pop-up dialog in JupyterLab to display a yes/no dialog.
- * @param title The title for the message popup
- * @param msg The message
- * @param acceptLabel The label to use for the accept button. Default is 'YES'
- * @param rejectLabel The label to use for the reject button. Default is 'NO'
- * @param yesButtonClassName The classname to give to the accept button.
- * @param noButtonClassName The classname to give to the cancel button.
- * @returns Promise - A promise once the message is closed.
- */
- static async showYesNoDialog(title, msg, acceptLabel = 'YES', rejectLabel = 'NO', yesButtonClassName = '', noButtonClassName = '') {
- const buttons = [
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: acceptLabel, className: yesButtonClassName }),
- _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton({ label: rejectLabel, className: noButtonClassName }),
- ];
- const messageBody = this.buildDialogBody(msg);
- const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({ title, buttons, body: messageBody });
- return result.button.label === acceptLabel;
- }
- /**
- * Opens a pop-up dialog in JupyterLab with various information and button
- * triggering reloading the page.
- * @param title The title for the message popup
- * @param msg The message
- * @param buttonLabel The label to use for the button. Default is 'Refresh'
- * @param buttonClassName The classname to give to the 'refresh' button.
- * @returns Promise - A promise once the message is closed.
- */
- static async showRefreshDialog(title, msg, buttonLabel = 'Refresh', buttonClassName = '') {
- await this.showMessage(title, msg, buttonLabel, buttonClassName);
- location.reload();
- }
- /**
- * @description Creates a new JupyterLab notebook for use by the application
- * @param command The command registry
- * @returns Promise - A promise containing the notebook panel object that was created (if successful).
- */
- static async createNewNotebook(command) {
- const notebook = await command.execute('notebook:create-new', {
- activate: true,
- path: '',
- preferredLanguage: '',
- });
- await notebook.session.ready;
- return notebook;
- }
- /**
- * Safely saves the Jupyter notebook document contents to disk
- * @param notebookPanel The notebook panel containing the notebook to save
- */
- static async saveNotebook(notebookPanel) {
- if (notebookPanel) {
- await notebookPanel.context.ready;
- notebookPanel.context.save();
- return true;
- }
- return false;
- }
- /**
- * Convert the notebook contents to JSON
- * @param notebookPanel The notebook panel containing the notebook to serialize
- */
- static notebookToJSON(notebookPanel) {
- if (notebookPanel.content.model) {
- return notebookPanel.content.model.toJSON();
- }
- return null;
- }
- /**
- * @description Gets the value of a key from specified notebook's metadata.
- * @param notebookPanel The notebook to get meta data from.
- * @param key The key of the value.
- * @returns any -The value of the metadata. Returns null if the key doesn't exist.
- */
- static getMetaData(notebookPanel, key) {
- if (!notebookPanel) {
- throw new Error('The notebook is null or undefined. No meta data available.');
- }
- if (notebookPanel.model && notebookPanel.model.metadata.has(key)) {
- return notebookPanel.model.metadata.get(key);
- }
- return null;
- }
- /**
- * @description Sets the key value pair in the notebook's metadata.
- * If the key doesn't exists it will add one.
- * @param notebookPanel The notebook to set meta data in.
- * @param key The key of the value to create.
- * @param value The value to set.
- * @param save Default is false. Whether the notebook should be saved after the meta data is set.
- * Note: This function will not wait for the save to complete, it only sends a save request.
- * @returns The old value for the key, or undefined if it did not exist.
- */
- static setMetaData(notebookPanel, key, value, save = false) {
- var _a;
- if (!notebookPanel) {
- throw new Error('The notebook is null or undefined. No meta data available.');
- }
- const oldVal = (_a = notebookPanel.model) === null || _a === void 0 ? void 0 : _a.metadata.set(key, value);
- if (save) {
- this.saveNotebook(notebookPanel);
- }
- return oldVal;
- }
- // /**
- // * Get a new Kernel, not tied to a Notebook
- // * Source code here: https://github.com/jupyterlab/jupyterlab/tree/473348d25bcb258ca2f0c127dd8fb5b193217135/packages/services
- // */
- // public static async createNewKernel() {
- // // Get info about the available kernels and start a new one.
- // let options: Kernel.IOptions = await Kernel.getSpecs().then(kernelSpecs => {
- // // console.log('Default spec:', kernelSpecs.default);
- // // console.log('Available specs', Object.keys(kernelSpecs.kernelspecs));
- // // use the default name
- // return { name: kernelSpecs.default };
- // });
- // return await Kernel.startNew(options).then(_kernel => {
- // return _kernel;
- // });
- // }
- // // TODO: We can use this context manager to execute commands inside a new kernel
- // // and be sure that it will be disposed of at the end.
- // // Another approach could be to create a kale_rpc Kernel, as a singleton,
- // // created at startup. The only (possible) drawback is that we can not name
- // // a kernel instance with a custom id/name, so when refreshing JupyterLab we would
- // // not recognize the kernel. A solution could be to have a kernel spec dedicated to kale rpc calls.
- // public static async executeWithNewKernel(action: Function, args: any[] = []) {
- // // create brand new kernel
- // const _k = await this.createNewKernel();
- // // execute action inside kernel
- // const res = await action(_k, ...args);
- // // close kernel
- // _k.shutdown();
- // // return result
- // return res;
- // }
- /**
- * @description This function runs code directly in the notebook's kernel and then evaluates the
- * result and returns it as a promise.
- * @param kernel The kernel to run the code in.
- * @param runCode The code to run in the kernel.
- * @param userExpressions The expressions used to capture the desired info from the executed code.
- * @param runSilent Default is false. If true, kernel will execute as quietly as possible.
- * store_history will be set to false, and no broadcast on IOPUB channel will be made.
- * @param storeHistory Default is false. If true, the code executed will be stored in the kernel's history
- * and the counter which is shown in the cells will be incremented to reflect code was run.
- * @param allowStdIn Default is false. If true, code running in kernel can prompt user for input using
- * an input_request message.
- * @param stopOnError Default is false. If True, does not abort the execution queue, if an exception is encountered.
- * This allows the queued execution of multiple execute_requests, even if they generate exceptions.
- * @returns Promise - A promise containing the execution results of the code as an object with
- * keys based on the user_expressions.
- * @example
- * //The code
- * const code = "a=123\nb=456\nsum=a+b";
- * //The user expressions
- * const expr = {sum: "sum",prod: "a*b",args:"[a,b,sum]"};
- * //Async function call (returns a promise)
- * sendKernelRequest(notebookPanel, code, expr,false);
- * //Result when promise resolves:
- * {
- * sum:{status:"ok",data:{"text/plain":"579"},metadata:{}},
- * prod:{status:"ok",data:{"text/plain":"56088"},metadata:{}},
- * args:{status:"ok",data:{"text/plain":"[123, 456, 579]"}}
- * }
- * @see For more information on JupyterLab messages:
- * https://jupyter-client.readthedocs.io/en/latest/messaging.html#execution-results
- */
- static async sendKernelRequest(kernel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {
- if (!kernel) {
- throw new Error('Kernel is null or undefined.');
- }
- // Wait for kernel to be ready before sending request
- // await kernel.status;
- const message = await kernel.requestExecute({
- allow_stdin: allowStdIn,
- code: runCode,
- silent: runSilent,
- stop_on_error: stopOnError,
- store_history: storeHistory,
- user_expressions: userExpressions,
- }).done;
- const content = message.content;
- if (content.status !== 'ok') {
- // If response is not 'ok', throw contents as error, log code
- const msg = `Code caused an error:\n${runCode}`;
- console.error(msg);
- if (content.traceback) {
- content.traceback.forEach((line) => console.log(line.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')));
- }
- throw content;
- }
- // Return user_expressions of the content
- return content.user_expressions;
- }
- /**
- * Same as method sendKernelRequest but passing
- * a NotebookPanel instead of a Kernel
- */
- static async sendKernelRequestFromNotebook(notebookPanel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {
- var _a, _b, _c, _d;
- if (!notebookPanel) {
- throw new Error('Notebook is null or undefined.');
- }
- // Wait for notebook panel to be ready
- await notebookPanel.activate;
- await ((_a = notebookPanel.sessionContext) === null || _a === void 0 ? void 0 : _a.ready);
- console.log('get kernel', (_b = notebookPanel.sessionContext.session) === null || _b === void 0 ? void 0 : _b.kernel);
- return this.sendKernelRequest((_d = (_c = notebookPanel.sessionContext) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.kernel, runCode, userExpressions, runSilent, storeHistory, allowStdIn, stopOnError);
- }
-}
-
-
-/***/ })
-
-}]);
-//# sourceMappingURL=lib_index_js.2c52105b83d9cf4290a9.js.map
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c52105b83d9cf4290a9.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c52105b83d9cf4290a9.js.map
deleted file mode 100644
index 3515ea5e505..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/lib_index_js.2c52105b83d9cf4290a9.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"lib_index_js.2c52105b83d9cf4290a9.js","mappings":"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AY,6EAA2B;AACvC;AACA,YAAY,gFAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH,kBAAkB;AACrI;AACA;AACA;AACA,kHAAkH,kBAAkB;AACpI;AACA,wCAAwC,cAAc;AACtD,yBAAyB;AACzB,YAAY,4EAA+C;AAC3D,yCAAyC,cAAc,gGAAgG,kBAAkB;AACzK,0BAA0B;AAC1B,YAAY,4EAA+C;AAC3D,yCAAyC,cAAc;AACvD,0BAA0B;AAC1B,YAAY,4EAA+C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtSwD;AACiB;AACV;AACd;AACG;AACX;AACqB;AACtB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uEAA+B;AACxE;AACA,wBAAwB,qEAA6B;AACrD;AACA,4BAA4B,0DAAkB;AAC9C;AACA;AACA;AACA;AACA,yBAAyB,qDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,mDAAM;AAC1C;AACA;AACA;AACA;AACA;AACA,+BAA+B,mDAAM;AACrC;AACA;AACA,+BAA+B,+DAAa;AAC5C;AACA,sBAAsB,8DAAO;AAC7B;AACA,wBAAwB,0DAAkB;AAC1C,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,0BAA0B,gEAAU;AACpC;AACA;AACA,kCAAkC,iEAAe,GAAG,kBAAkB;AACtE,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kEAAgB,EAAE,2DAAS;AAC1C,eAAe,yEAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;;;ACxGtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0D;AAC1D;AACiD;AAClB;AAChB;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gDAAmB;AACnC,oBAAoB,gDAAmB,CAAC,2CAAc,IAAI,YAAY,EAAE,GAAG;AAC3E,gBAAgB,gDAAmB,CAAC,6DAAa,IAAI,qBAAqB,aAAa,gEAAgE;AACvJ,gBAAgB,gDAAmB;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAe,GAAG,gDAAgD;AAC9E;AACA;AACA,cAAc,gEAAU,GAAG,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAe,GAAG,mDAAmD;AACjF,YAAY,qEAAmB,GAAG,kDAAkD;AACpF;AACA;AACA,6BAA6B,gEAAU,GAAG,mCAAmC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,aAAa,kBAAkB,mBAAmB,aAAa;AAC/D,cAAc,kBAAkB,qBAAqB,aAAa;AAClE,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA,kGAAkG,YAAY,IAAI,IAAI,MAAM,IAAI;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://neural_compressor_ext_lab/./lib/constants.js","webpack://neural_compressor_ext_lab/./lib/deepcoder.js","webpack://neural_compressor_ext_lab/./lib/index.js","webpack://neural_compressor_ext_lab/./lib/utils.js"],"sourcesContent":["export var Constants;\n(function (Constants) {\n Constants.SHORT_PLUGIN_NAME = 'neural_compressor_ext_lab';\n Constants.WORK_PATH = \"neural_coder_workspace/\";\n Constants.ICON_FORMAT_ALL_SVG = '';\n Constants.ICON_RUN = '';\n Constants.SVG = '';\n Constants.LONG_PLUGIN_NAME = `@rya/${Constants.SHORT_PLUGIN_NAME}`;\n Constants.SETTINGS_SECTION = `${Constants.LONG_PLUGIN_NAME}:settings`;\n Constants.COMMAND_SECTION_NAME = 'Jupyterlab Code Optimizer';\n Constants.PLUGIN_VERSION = '0.1.0';\n})(Constants || (Constants = {}));\n","import { NotebookActions } from '@jupyterlab/notebook';\nimport NotebookUtilities from \"./utils\";\nimport { Constants } from './constants';\nclass JupyterlabCodeOptimizer {\n constructor(panel) {\n this.working = false;\n this.panel = panel;\n this.tmp_path = \"tmp.py\";\n this.rand = NotebookUtilities.GetRandomNum(0, 200);\n this.log_path = Constants.WORK_PATH + \"NeuralCoder\" + this.rand + \".log\";\n this.tmp_log_path = Constants.WORK_PATH + \"NeuralCoder_tmp\" + \".log\";\n this.cells = [];\n }\n async optimizeCode(code, formatter, name, next, options, notebook, panel, cell, run) {\n let codes = [];\n code.forEach(function (value) {\n value = value.replace(/('\\\\n')/g, '^^^');\n value = value.replace(/\\\\n\"/g, '###');\n value = value.replace(/\\\\n'/g, '###');\n value = value.replace(/\"\\\\n/g, '@@');\n value = value.replace(/'\\\\n/g, '@@');\n value = value.replace(/\\n/g, '\\\\n');\n value = value.replace(/\"/g, '+++');\n value = value.replace(/,/g, '$');\n codes.push(value);\n });\n let gen_code = `code = \"${codes}\"\\ncodes = code.split(',')\\nwith open( '${this.tmp_path}', 'w+' ) as f:\\n for i in range(0,len(codes)):\\n f.write('# this is the beginning of a single code snippet\\\\n')\\n code_list = codes[i].replace('$',',').replace('+++','\\\"').split('\\\\n')\\n for line in code_list:\\n if('split(^^^)' in line):\\n line=line.replace('split(^^^)', 'split(\\\\'\\\\\\\\n\\\\')')\\n if('###' in line):\\n line=line.replace('###', '\\\\\\\\n\\\"')\\n if('@@' in line):\\n line=line.replace('@@', '\\\"\\\\\\\\n')\\n f.write(line+'\\\\n')`;\n const expr = { code_list: `code_list` };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, gen_code, expr, false);\n if (options === 'normal') {\n let runcode = `from neural_coder import enable\\nenable(code=\"${this.tmp_path}\",features=[\"${formatter}\"], overwrite=True)`;\n let expr = { sum: ` ` };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let run_code1 = `with open(\"${this.tmp_path}\", 'r') as f:\\n optimized_code = f.read()\\n`;\n let expr1 = { optimizedCode: \"optimized_code\" };\n let result2 = NotebookUtilities.sendKernelRequestFromNotebook(panel, run_code1, expr1, false);\n result2.then(value => {\n var _a, _b, _c, _d;\n let optimizedTexts = Object.values(value.optimizedCode.data)[0];\n let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\\\n').slice(1);\n optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);\n for (let i = 0; i < optimizeCodes.length; ++i) {\n const cell = this.cells[i];\n const currentTexts = this.cells.map(cell => cell.model.value.text);\n const currentText = currentTexts[i];\n let optimizedtext = optimizeCodes[i];\n optimizedtext = optimizedtext.replace(/\\\\'\\\\\\\\n\\\\'/g, \"^^^\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n\"/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n'/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\"\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/'\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/\\\\n/g, '\\n');\n optimizedtext = optimizedtext.replace(/\\\\'/g, \"'\");\n optimizedtext = optimizedtext.replace(/\\^\\^\\^/g, \"'\\\\n'\");\n optimizedtext = optimizedtext.replace(/\\+\\+\\+/g, \"\\\\n\\\"\");\n optimizedtext = optimizedtext.replace(/\\@\\@\\@/g, \"\\\"\\\\n\");\n if (cell.model.value.text === currentText) {\n cell.model.value.text = optimizedtext;\n }\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);\n }\n });\n }\n else {\n if (formatter === '') {\n if (this.markdown) {\n this.markdown.model.value.text += \"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ...... \\n\";\n }\n // cell.outputArea.node.innerText += \"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\n\"\n let runcode1 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for The Original Model ......\\\\n\")`;\n let expr1 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode1, expr1, false);\n let runcode = `from neural_coder import enable\\nperfomance, mode, path = enable(code=\"${this.tmp_path}\",features=[], run_bench=True, args=\"${options}\")\\nwith open(path + '/bench.log', 'r') as f:\\n logs = f.readlines()\\nlog_line = logs[4]\\nlog = log_line.split(\"[\")[1].split(\"]\")[0]`;\n let expr = { path: \"path\", log: \"log\" };\n let result = NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let fps;\n result.then(value => {\n fps = Object.values(value.log.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second) \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\n`\n let text = `[NeuralCoder INFO] Benchmark Result (Performance) of The Original Model is ${fps} (samples/second)\\\\n`;\n let runcode = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n`\n let runcode1 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\\\n\")`;\n let expr1 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode1, expr1, false);\n let runcode2 = `with open(\"${this.tmp_log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n });\n }\n else {\n let runcode = `from neural_coder import enable\\nperfomance, mode, path = enable(code=\"${this.tmp_path}\", features=[\"${formatter}\"], run_bench=True, args=\"${options}\")\\nwith open(path + '/bench.log', 'r') as f:\\n logs = f.readlines()\\nlog_line = logs[4]\\nlog = log_line.split(\"[\")[1].split(\"]\")[0]`;\n let expr = { path: \"path\", log: \"log\" };\n let result = NotebookUtilities.sendKernelRequestFromNotebook(panel, runcode, expr, false);\n let fps;\n result.then(value => {\n fps = Object.values(value.log.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second) \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (FPS)\\n`\n let text = `[NeuralCoder INFO] Benchmark Result (Performance) of ${name} is ${fps} (samples/second)\\\\n`;\n let runcode = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n if (next !== '') {\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ...... \\n`;\n }\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\n`\n let runcode2 = `with open(\"${this.log_path}\", 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Enabling and Benchmarking for ${next} ......\\\\n\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n }\n let runcode3 = `with open(\"${this.tmp_log_path}\", 'a' ) as f:\\n f.write(\"${text}\")`;\n let expr3 = { path: \"\" };\n let res_tmp = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);\n res_tmp.then(value => {\n if (formatter === 'pytorch_inc_bf16') {\n let read_log = `import re\\nwith open(\"${this.tmp_log_path}\", 'r') as f:\\n logs = f.readlines()\\n fps_list=[]\\n for log_line in logs[-4:]:\\n pat = re.compile(r\\'\\\\d+\\\\.?\\\\d+')\\n fps = re.findall(pat,log_line)[-1]\\n fps_list.append(float(fps))\\nmaxi = max(fps_list)\\nindex = fps_list.index(maxi)\\nboost = round(maxi/fps_list[0],1)\\nfeatures=['','pytorch_inc_static_quant_fx','pytorch_inc_dynamic_quant','pytorch_inc_bf16']\\nfeature_name=['Original Model','INC Enable INT8 (Static)','INC Enable INT8 (Dynamic)','INC Enable BF16']\\nbest_feature = features[index]\\nbest_name = feature_name[index]\\nfeature_l = []\\nfeature_l.append(best_feature)\\nfrom neural_coder import enable\\nenable(code=\"${this.tmp_path}\",features=feature_l, overwrite=True)\\nwith open(\"${this.tmp_path}\", 'r') as f:\\n optimized_code = f.read()\\n`;\n let read_expr = { boost: \"boost\", best_feature: \"best_feature\", best_name: \"best_name\", optimizeCode: \"optimized_code\", feature_l: \"fps_list\", maxi: \"maxi\", index: \"index\" };\n let read_result = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, read_log, read_expr, false);\n read_result.then(value => {\n var _a, _b, _c, _d;\n console.log(\"resres\", value);\n let boost = Object.values(value.boost.data)[0];\n let best_name = Object.values(value.best_name.data)[0];\n let optimizedTexts = Object.values(value.optimizeCode.data)[0];\n let optimizeCodes = optimizedTexts.split('# this is the beginning of a single code snippet\\\\n').slice(1);\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] The Best Intel Optimization: ${best_name} \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] You can get up to ${boost}X performance boost. \\n`;\n }\n // cell.outputArea.node.innerText +=`[NeuralCoder INFO] The Best Intel Optimization: ${best_name}\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] You can get up to ${boost}X performance boost.\\n`\n optimizeCodes[optimizeCodes.length - 1] = optimizeCodes[optimizeCodes.length - 1].slice(0, -3);\n for (let i = 0; i < optimizeCodes.length; ++i) {\n const cell = this.cells[i];\n const currentTexts = this.cells.map(cell => cell.model.value.text);\n const currentText = currentTexts[i];\n let optimizedtext = optimizeCodes[i];\n optimizedtext = optimizedtext.replace(/\\\\'\\\\\\\\n\\\\'/g, \"^^^\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n\"/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\\\\\\\\n'/g, \"+++\");\n optimizedtext = optimizedtext.replace(/\"\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/'\\\\\\\\n/g, \"@@@\");\n optimizedtext = optimizedtext.replace(/\\\\n/g, '\\n');\n optimizedtext = optimizedtext.replace(/\\\\'/g, \"'\");\n optimizedtext = optimizedtext.replace(/\\^\\^\\^/g, \"'\\\\n'\");\n optimizedtext = optimizedtext.replace(/\\+\\+\\+/g, \"\\\\n\\\"\");\n optimizedtext = optimizedtext.replace(/\\@\\@\\@/g, \"\\\"\\\\n\");\n if (cell.model.value.text === currentText) {\n cell.model.value.text = optimizedtext;\n }\n }\n // if(this.markdown){\n // this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: 4th Gen Intel Xeon Scalable processor with AMX \\n`\n // this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log \\n`\n // }\n let command = \"lscpu | grep 'Model name'\";\n let get_hardware = `import subprocess\\nsubp = subprocess.Popen(\"${command}\",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=\"utf-8\")\\nsubp.wait(2)\\nhardware = subp.communicate()[0].replace(\"Model name:\",\"\").strip()`;\n let expr_hardware = { hardware: \"hardware\" };\n let hard_res = NotebookUtilities.sendKernelRequestFromNotebook(this.panel, get_hardware, expr_hardware, false);\n hard_res.then(value => {\n let hard = Object.values(value.hardware.data)[0];\n if (this.markdown) {\n this.markdown.model.value.text += `[NeuralCoder INFO] HardWare: ${hard} \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log \\n`;\n }\n cell.outputArea.node.innerText += `[NeuralCoder INFO] HardWare: ${hard}\\n`;\n });\n cell.outputArea.node.innerText += `[NeuralCoder INFO] The log was saved to neural_coder_workspace\\\\NeuralCoder${this.rand}.log\\n`;\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n (_d = (_c = (_b = (_a = run === null || run === void 0 ? void 0 : run.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(run_svg);\n });\n }\n });\n });\n }\n }\n }\n}\nexport class JupyterlabNotebookCodeOptimizer extends JupyterlabCodeOptimizer {\n constructor(notebookTracker, panel) {\n super(panel);\n this.notebookTracker = notebookTracker;\n this.notebookname = '';\n }\n async optimizeAction(config, formatter) {\n return this.optimizeCells(true, config, formatter);\n }\n async optimizeAllCodeCells(config, formatter, notebook, run) {\n return this.optimizeCells(false, config, formatter, notebook, run);\n }\n getCodeCells(ifmarkdown = true, notebook) {\n if (!this.notebookTracker.currentWidget) {\n return [];\n }\n const codeCells = [];\n notebook = notebook || this.notebookTracker.currentWidget.content;\n this.notebookname = notebook.title.label;\n let count = 0;\n notebook.widgets.forEach((cell) => {\n if (cell.model.type === 'code') {\n count += 1;\n codeCells.push(cell);\n }\n });\n if (ifmarkdown) {\n NotebookActions.insertBelow(notebook);\n this.notebookTracker.currentWidget.content.activeCellIndex = count + 1;\n NotebookActions.changeCellType(notebook, 'markdown');\n const activeCell = notebook.activeCell;\n if (activeCell) {\n this.markdown = activeCell;\n }\n }\n this.cells = codeCells;\n return codeCells;\n }\n async optimizeCells(selectedOnly, config, formatter, notebook, run) {\n if (this.working) {\n return new Promise((resolve, reject) => {\n resolve(\"false!\");\n });\n }\n console.log(\"arrive here 333\");\n this.working = true;\n const optimize_type = formatter !== undefined ? formatter : 'pytorch_mixed_precision_cpu';\n if (optimize_type === 'auto-quant') {\n selectedOnly = true;\n }\n else {\n selectedOnly = false;\n }\n const selectedCells = this.getCodeCells(selectedOnly, notebook);\n let cell = selectedCells[selectedCells.length - 1];\n if (selectedCells.length === 0) {\n this.working = false;\n return new Promise((resolve, reject) => {\n resolve(\"false!\");\n });\n }\n const currentTexts = selectedCells.map(cell => cell.model.value.text);\n if (optimize_type === 'auto-quant') {\n console.log(\"arrive here 444-111\");\n if (this.markdown) {\n this.markdown.model.value.text = `[NeuralCoder INFO] Auto-Quant Started ...... \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook \"${this.notebookname}\" \\n`;\n this.markdown.model.value.text += `[NeuralCoder INFO] Benchmark Mode: Throughput \\n`;\n }\n // cell.outputArea.node.innerText = `[NeuralCoder INFO] Auto-Quant Started ......\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Code: User code from Jupyter Lab notebook \"${this.notebookname}\"\\n`\n // cell.outputArea.node.innerText += `[NeuralCoder INFO] Benchmark Mode: Throughput\\n`\n let runcode = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Auto-Quant Started ......\\\\n\")`;\n let expr = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode, expr, false);\n let runcode2 = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Code: User code from Jupyter Lab notebook '${this.notebookname}'\\\\n\")`;\n let expr2 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode2, expr2, false);\n let runcode3 = `with open('${this.log_path}', 'a' ) as f:\\n f.write(\"[NeuralCoder INFO] Benchmark Mode: Throughput\\\\n\")`;\n let expr3 = { path: \"\" };\n NotebookUtilities.sendKernelRequestFromNotebook(this.panel, runcode3, expr3, false);\n // cell.outputArea.node.setAttribute(\"class\",\"pad\")\n await this.optimizeCode(currentTexts, '', 'The Original Model', 'INC Enable INT8 (Static)', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_static_quant_fx', 'INC Enable INT8 (Static)', 'INC Enable INT8 (Dynamic)', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_dynamic_quant', 'INC Enable INT8 (Dynamic)', 'INC Enable BF16', config, true, this.panel, cell, run);\n await this.optimizeCode(currentTexts, 'pytorch_inc_bf16', 'INC Enable BF16', '', config, true, this.panel, cell, run);\n }\n else {\n console.log(\"arrive here 444-222\");\n await this.optimizeCode(currentTexts, optimize_type, \"\", \"\", \"normal\", true, this.panel, cell, run);\n }\n this.working = false;\n console.log(\"arrive here 555\");\n return new Promise((resolve, reject) => {\n resolve(\"success!\");\n });\n }\n applicable(formatter, currentWidget) {\n const currentNotebookWidget = this.notebookTracker.currentWidget;\n return currentNotebookWidget && currentWidget === currentNotebookWidget;\n }\n}\n","import { INotebookTracker } from '@jupyterlab/notebook';\nimport { ToolbarButton, showDialog, Dialog } from '@jupyterlab/apputils';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IMainMenu } from '@jupyterlab/mainmenu';\nimport { LabIcon } from '@jupyterlab/ui-components';\nimport { Widget } from '@lumino/widgets';\nimport { JupyterlabNotebookCodeOptimizer } from './deepcoder';\nimport { Constants } from './constants';\nclass neural_compressor_ext_lab {\n constructor(app, tracker, notebookpanel) {\n this.app = app;\n this.tracker = tracker;\n this.notebookpanel = notebookpanel;\n this.setupWidgetExtension();\n this.config = '';\n }\n createNew(nb) {\n this.notebookpanel = nb;\n this.notebookCodeOptimizer = new JupyterlabNotebookCodeOptimizer(this.tracker, this.notebookpanel);\n const svg = document.createElement(\"svg\");\n svg.innerHTML = Constants.ICON_FORMAT_ALL_SVG;\n const run_svg = document.createElement(\"svg\");\n run_svg.innerHTML = Constants.ICON_RUN;\n const div = document.createElement(\"div\");\n div.setAttribute(\"class\", \"wrapper\");\n const span = document.createElement(\"span\");\n span.setAttribute(\"class\", \"f1ozlkqi\");\n span.innerHTML = Constants.SVG;\n const selector = document.createElement(\"select\");\n selector.setAttribute(\"class\", \"aselector\");\n selector.id = \"NeuralCoder\";\n const option1 = document.createElement(\"option\");\n option1.value = \"pytorch_inc_static_quant_fx\";\n option1.innerText = \"INC Enable INT8 (Static)\";\n option1.selected = true;\n const option2 = document.createElement(\"option\");\n option2.value = \"pytorch_inc_dynamic_quant\";\n option2.innerText = \"INC Enable INT8 (Dynamic)\";\n const option3 = document.createElement(\"option\");\n option3.value = \"pytorch_inc_bf16\";\n option3.innerText = \"INC Enable BF16\";\n const option4 = document.createElement(\"option\");\n option4.value = \"auto-quant\";\n option4.innerText = \"INC Auto Enable & Benchmark\";\n selector.options.add(option1);\n selector.options.add(option2);\n selector.options.add(option3);\n selector.options.add(option4);\n div.appendChild(selector);\n div.appendChild(span);\n const selector_widget = new Widget();\n selector_widget.node.appendChild(div);\n selector_widget.addClass(\"aselector\");\n let notebookCodeOptimizer = this.notebookCodeOptimizer;\n let config = this.config;\n const dia_input = document.createElement(\"input\");\n const dia_widget = new Widget();\n dia_widget.node.appendChild(dia_input);\n dia_widget.addClass(\"dialog\");\n const run_button = new ToolbarButton({\n tooltip: 'NeuralCoder',\n icon: new LabIcon({\n name: \"run\",\n svgstr: Constants.ICON_RUN\n }),\n onClick: async function () {\n var _a, _b, _c, _d;\n console.log(\"arrive here 111\");\n (_d = (_c = (_b = (_a = run_button.node.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.replaceWith(svg);\n if (selector.options[selector.selectedIndex].value === 'auto-quant') {\n await showDialog({\n title: 'Please input execute parameters:',\n body: dia_widget,\n buttons: [Dialog.okButton({ label: 'Confirm' })]\n }).then(result => {\n if (result.button.accept) {\n config = dia_input.value;\n }\n });\n }\n console.log(\"arrive here 222\");\n await notebookCodeOptimizer.optimizeAllCodeCells(config, selector.options[selector.selectedIndex].value, undefined, run_button);\n }\n });\n nb.toolbar.insertItem(11, \"nc\", run_button);\n nb.toolbar.insertItem(12, \"selector\", selector_widget);\n }\n setupWidgetExtension() {\n this.app.docRegistry.addWidgetExtension('Notebook', this);\n }\n}\n/**\n * Initialization data for the neural_compressor_ext_lab extension.\n */\nconst plugin = {\n id: 'neural_compressor_ext_lab:plugin',\n autoStart: true,\n requires: [INotebookTracker, IMainMenu],\n optional: [ISettingRegistry],\n activate: (app, tracker, notebookpanel) => {\n new neural_compressor_ext_lab(app, tracker, notebookpanel);\n console.log('JupyterLab extension neural_compressor_ext_lab is activated!');\n }\n};\nexport default plugin;\n","/*\n * Copyright 2019-2020 The Kale Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Dialog, showDialog } from '@jupyterlab/apputils';\n// @ts-ignore\nimport SanitizedHTML from 'react-sanitized-html';\nimport * as React from 'react';\nexport default class NotebookUtilities {\n /**\n * generate random number\n * @Min\n * @Max\n */\n static GetRandomNum(Min, Max) {\n let Range;\n Range = Max - Min;\n var Rand = Math.random();\n return (Min + Math.round(Rand * Range));\n }\n /**\n * Builds an HTML container by sanitizing a list of strings and converting\n * them in valid HTML\n * @param msg A list of string with HTML formatting\n * @returns a HTMLDivElement composed of a list of spans with formatted text\n */\n static buildDialogBody(msg) {\n return (React.createElement(\"div\", null, msg.map((s, i) => {\n return (React.createElement(React.Fragment, { key: `msg-${i}` },\n React.createElement(SanitizedHTML, { allowedAttributes: { a: ['href'] }, allowedTags: ['b', 'i', 'em', 'strong', 'a', 'pre'], html: s }),\n React.createElement(\"br\", null)));\n })));\n }\n /**\n * Opens a pop-up dialog in JupyterLab to display a simple message.\n * @param title The title for the message popup\n * @param msg The message as an array of strings\n * @param buttonLabel The label to use for the button. Default is 'OK'\n * @param buttonClassName The classname to give to the 'ok' button\n * @returns Promise - A promise once the message is closed.\n */\n static async showMessage(title, msg, buttonLabel = 'Dismiss', buttonClassName = '') {\n const buttons = [\n Dialog.okButton({ label: buttonLabel, className: buttonClassName }),\n ];\n const messageBody = this.buildDialogBody(msg);\n await showDialog({ title, buttons, body: messageBody });\n }\n /**\n * Opens a pop-up dialog in JupyterLab to display a yes/no dialog.\n * @param title The title for the message popup\n * @param msg The message\n * @param acceptLabel The label to use for the accept button. Default is 'YES'\n * @param rejectLabel The label to use for the reject button. Default is 'NO'\n * @param yesButtonClassName The classname to give to the accept button.\n * @param noButtonClassName The classname to give to the cancel button.\n * @returns Promise - A promise once the message is closed.\n */\n static async showYesNoDialog(title, msg, acceptLabel = 'YES', rejectLabel = 'NO', yesButtonClassName = '', noButtonClassName = '') {\n const buttons = [\n Dialog.okButton({ label: acceptLabel, className: yesButtonClassName }),\n Dialog.cancelButton({ label: rejectLabel, className: noButtonClassName }),\n ];\n const messageBody = this.buildDialogBody(msg);\n const result = await showDialog({ title, buttons, body: messageBody });\n return result.button.label === acceptLabel;\n }\n /**\n * Opens a pop-up dialog in JupyterLab with various information and button\n * triggering reloading the page.\n * @param title The title for the message popup\n * @param msg The message\n * @param buttonLabel The label to use for the button. Default is 'Refresh'\n * @param buttonClassName The classname to give to the 'refresh' button.\n * @returns Promise - A promise once the message is closed.\n */\n static async showRefreshDialog(title, msg, buttonLabel = 'Refresh', buttonClassName = '') {\n await this.showMessage(title, msg, buttonLabel, buttonClassName);\n location.reload();\n }\n /**\n * @description Creates a new JupyterLab notebook for use by the application\n * @param command The command registry\n * @returns Promise - A promise containing the notebook panel object that was created (if successful).\n */\n static async createNewNotebook(command) {\n const notebook = await command.execute('notebook:create-new', {\n activate: true,\n path: '',\n preferredLanguage: '',\n });\n await notebook.session.ready;\n return notebook;\n }\n /**\n * Safely saves the Jupyter notebook document contents to disk\n * @param notebookPanel The notebook panel containing the notebook to save\n */\n static async saveNotebook(notebookPanel) {\n if (notebookPanel) {\n await notebookPanel.context.ready;\n notebookPanel.context.save();\n return true;\n }\n return false;\n }\n /**\n * Convert the notebook contents to JSON\n * @param notebookPanel The notebook panel containing the notebook to serialize\n */\n static notebookToJSON(notebookPanel) {\n if (notebookPanel.content.model) {\n return notebookPanel.content.model.toJSON();\n }\n return null;\n }\n /**\n * @description Gets the value of a key from specified notebook's metadata.\n * @param notebookPanel The notebook to get meta data from.\n * @param key The key of the value.\n * @returns any -The value of the metadata. Returns null if the key doesn't exist.\n */\n static getMetaData(notebookPanel, key) {\n if (!notebookPanel) {\n throw new Error('The notebook is null or undefined. No meta data available.');\n }\n if (notebookPanel.model && notebookPanel.model.metadata.has(key)) {\n return notebookPanel.model.metadata.get(key);\n }\n return null;\n }\n /**\n * @description Sets the key value pair in the notebook's metadata.\n * If the key doesn't exists it will add one.\n * @param notebookPanel The notebook to set meta data in.\n * @param key The key of the value to create.\n * @param value The value to set.\n * @param save Default is false. Whether the notebook should be saved after the meta data is set.\n * Note: This function will not wait for the save to complete, it only sends a save request.\n * @returns The old value for the key, or undefined if it did not exist.\n */\n static setMetaData(notebookPanel, key, value, save = false) {\n var _a;\n if (!notebookPanel) {\n throw new Error('The notebook is null or undefined. No meta data available.');\n }\n const oldVal = (_a = notebookPanel.model) === null || _a === void 0 ? void 0 : _a.metadata.set(key, value);\n if (save) {\n this.saveNotebook(notebookPanel);\n }\n return oldVal;\n }\n // /**\n // * Get a new Kernel, not tied to a Notebook\n // * Source code here: https://github.com/jupyterlab/jupyterlab/tree/473348d25bcb258ca2f0c127dd8fb5b193217135/packages/services\n // */\n // public static async createNewKernel() {\n // // Get info about the available kernels and start a new one.\n // let options: Kernel.IOptions = await Kernel.getSpecs().then(kernelSpecs => {\n // // console.log('Default spec:', kernelSpecs.default);\n // // console.log('Available specs', Object.keys(kernelSpecs.kernelspecs));\n // // use the default name\n // return { name: kernelSpecs.default };\n // });\n // return await Kernel.startNew(options).then(_kernel => {\n // return _kernel;\n // });\n // }\n // // TODO: We can use this context manager to execute commands inside a new kernel\n // // and be sure that it will be disposed of at the end.\n // // Another approach could be to create a kale_rpc Kernel, as a singleton,\n // // created at startup. The only (possible) drawback is that we can not name\n // // a kernel instance with a custom id/name, so when refreshing JupyterLab we would\n // // not recognize the kernel. A solution could be to have a kernel spec dedicated to kale rpc calls.\n // public static async executeWithNewKernel(action: Function, args: any[] = []) {\n // // create brand new kernel\n // const _k = await this.createNewKernel();\n // // execute action inside kernel\n // const res = await action(_k, ...args);\n // // close kernel\n // _k.shutdown();\n // // return result\n // return res;\n // }\n /**\n * @description This function runs code directly in the notebook's kernel and then evaluates the\n * result and returns it as a promise.\n * @param kernel The kernel to run the code in.\n * @param runCode The code to run in the kernel.\n * @param userExpressions The expressions used to capture the desired info from the executed code.\n * @param runSilent Default is false. If true, kernel will execute as quietly as possible.\n * store_history will be set to false, and no broadcast on IOPUB channel will be made.\n * @param storeHistory Default is false. If true, the code executed will be stored in the kernel's history\n * and the counter which is shown in the cells will be incremented to reflect code was run.\n * @param allowStdIn Default is false. If true, code running in kernel can prompt user for input using\n * an input_request message.\n * @param stopOnError Default is false. If True, does not abort the execution queue, if an exception is encountered.\n * This allows the queued execution of multiple execute_requests, even if they generate exceptions.\n * @returns Promise - A promise containing the execution results of the code as an object with\n * keys based on the user_expressions.\n * @example\n * //The code\n * const code = \"a=123\\nb=456\\nsum=a+b\";\n * //The user expressions\n * const expr = {sum: \"sum\",prod: \"a*b\",args:\"[a,b,sum]\"};\n * //Async function call (returns a promise)\n * sendKernelRequest(notebookPanel, code, expr,false);\n * //Result when promise resolves:\n * {\n * sum:{status:\"ok\",data:{\"text/plain\":\"579\"},metadata:{}},\n * prod:{status:\"ok\",data:{\"text/plain\":\"56088\"},metadata:{}},\n * args:{status:\"ok\",data:{\"text/plain\":\"[123, 456, 579]\"}}\n * }\n * @see For more information on JupyterLab messages:\n * https://jupyter-client.readthedocs.io/en/latest/messaging.html#execution-results\n */\n static async sendKernelRequest(kernel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {\n if (!kernel) {\n throw new Error('Kernel is null or undefined.');\n }\n // Wait for kernel to be ready before sending request\n // await kernel.status;\n const message = await kernel.requestExecute({\n allow_stdin: allowStdIn,\n code: runCode,\n silent: runSilent,\n stop_on_error: stopOnError,\n store_history: storeHistory,\n user_expressions: userExpressions,\n }).done;\n const content = message.content;\n if (content.status !== 'ok') {\n // If response is not 'ok', throw contents as error, log code\n const msg = `Code caused an error:\\n${runCode}`;\n console.error(msg);\n if (content.traceback) {\n content.traceback.forEach((line) => console.log(line.replace(/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')));\n }\n throw content;\n }\n // Return user_expressions of the content\n return content.user_expressions;\n }\n /**\n * Same as method sendKernelRequest but passing\n * a NotebookPanel instead of a Kernel\n */\n static async sendKernelRequestFromNotebook(notebookPanel, runCode, userExpressions, runSilent = false, storeHistory = false, allowStdIn = false, stopOnError = false) {\n var _a, _b, _c, _d;\n if (!notebookPanel) {\n throw new Error('Notebook is null or undefined.');\n }\n // Wait for notebook panel to be ready\n await notebookPanel.activate;\n await ((_a = notebookPanel.sessionContext) === null || _a === void 0 ? void 0 : _a.ready);\n console.log('get kernel', (_b = notebookPanel.sessionContext.session) === null || _b === void 0 ? void 0 : _b.kernel);\n return this.sendKernelRequest((_d = (_c = notebookPanel.sessionContext) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.kernel, runCode, userExpressions, runSilent, storeHistory, allowStdIn, stopOnError);\n }\n}\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.27309f1e43e64d128990.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.27309f1e43e64d128990.js.map
deleted file mode 100644
index 7bd49677533..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.27309f1e43e64d128990.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"remoteEntry.27309f1e43e64d128990.js","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;UCpCD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,8BAA8B,kgBAAkgB;WAChiB;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,oJAAoJ;WACpJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI,aAAa;WACjB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC7CA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WCfA;WACA;WACA,WAAW,6BAA6B,iBAAiB,GAAG,qEAAqE;WACjI;WACA;WACA;WACA,qCAAqC,aAAa,EAAE,wDAAwD,2BAA2B,4BAA4B,2BAA2B,+CAA+C,mCAAmC;WAChR;WACA;WACA;WACA,qBAAqB,8BAA8B,SAAS,sDAAsD,gBAAgB,eAAe,KAAK,6DAA6D,SAAS,SAAS,QAAQ,eAAe,KAAK,eAAe,qGAAqG,WAAW,aAAa;WAC7Y;WACA;WACA;WACA,gBAAgB,8BAA8B,qBAAqB,YAAY,sBAAsB,SAAS,iDAAiD,6FAA6F,WAAW,uBAAuB,2BAA2B,wBAAwB,KAAK,oCAAoC,oBAAoB,wBAAwB,oBAAoB,SAAS,KAAK,yBAAyB,KAAK,gCAAgC,yBAAyB,QAAQ,eAAe,KAAK,eAAe,4DAA4D;WACtoB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;;WAED;WACA;WACA;WACA,CAAC;WACD;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN,KAAK,WAAW;WAChB,GAAG;WACH;WACA;;;;;WC3LA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;WCrFA;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://neural_compressor_ext_lab/webpack/container-entry","webpack://neural_compressor_ext_lab/webpack/bootstrap","webpack://neural_compressor_ext_lab/webpack/runtime/compat get default export","webpack://neural_compressor_ext_lab/webpack/runtime/define property getters","webpack://neural_compressor_ext_lab/webpack/runtime/ensure chunk","webpack://neural_compressor_ext_lab/webpack/runtime/get javascript chunk filename","webpack://neural_compressor_ext_lab/webpack/runtime/global","webpack://neural_compressor_ext_lab/webpack/runtime/hasOwnProperty shorthand","webpack://neural_compressor_ext_lab/webpack/runtime/load script","webpack://neural_compressor_ext_lab/webpack/runtime/make namespace object","webpack://neural_compressor_ext_lab/webpack/runtime/sharing","webpack://neural_compressor_ext_lab/webpack/runtime/publicPath","webpack://neural_compressor_ext_lab/webpack/runtime/consumes","webpack://neural_compressor_ext_lab/webpack/runtime/jsonp chunk loading","webpack://neural_compressor_ext_lab/webpack/runtime/nonce","webpack://neural_compressor_ext_lab/webpack/before-startup","webpack://neural_compressor_ext_lab/webpack/startup","webpack://neural_compressor_ext_lab/webpack/after-startup"],"sourcesContent":["var moduleMap = {\n\t\"./index\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./extension\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./style\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854\"), __webpack_require__.e(\"style_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./style/index.js */ \"./style/index.js\")))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"webpack_sharing_consume_default_react\":\"19c51f7b56cfd16da3f9\",\"lib_index_js\":\"2c52105b83d9cf4290a9\",\"vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854\":\"e09faf9ec3a764e40dc7\",\"style_index_js\":\"8d733cc8b74fabbd10b8\",\"vendors-node_modules_react-sanitized-html_lib_index_js\":\"500104f7c13c01fe1646\",\"webpack_sharing_consume_default_sanitize-html_sanitize-html\":\"635249bb6dc3884c24a3\",\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\":\"825dbf94ec7371e0b28d\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"neural_compressor_ext_lab:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => (typeof console !== \"undefined\" && console.warn && console.warn(msg));\n\tvar uniqueName = \"neural_compressor_ext_lab\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"neural_compressor_ext_lab\", \"0.1.0\", () => (Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => (__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\"))))));\n\t\t\tregister(\"react-sanitized-html\", \"2.0.0\", () => (Promise.all([__webpack_require__.e(\"vendors-node_modules_react-sanitized-html_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_sanitize-html_sanitize-html\"), __webpack_require__.e(\"webpack_sharing_consume_default_react\")]).then(() => (() => (__webpack_require__(/*! ./node_modules/react-sanitized-html/lib/index.js */ \"./node_modules/react-sanitized-html/lib/index.js\"))))));\n\t\t\tregister(\"sanitize-html\", \"1.27.5\", () => (__webpack_require__.e(\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\").then(() => (() => (__webpack_require__(/*! ./node_modules/sanitize-html/dist/sanitize-html.js */ \"./node_modules/sanitize-html/dist/sanitize-html.js\"))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) typeof console !== \"undefined\" && console.warn && console.warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\ttypeof console !== \"undefined\" && console.warn && console.warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t\"webpack/sharing/consume/default/react\": () => (loadSingletonVersionCheck(\"default\", \"react\", [1,17,0,1])),\n\t\"webpack/sharing/consume/default/@jupyterlab/notebook\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/notebook\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/apputils\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/apputils\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/settingregistry\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/mainmenu\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/mainmenu\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/ui-components\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@lumino/widgets\": () => (loadSingletonVersionCheck(\"default\", \"@lumino/widgets\", [1,1,33,0])),\n\t\"webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html\": () => (loadStrictVersionCheckFallback(\"default\", \"react-sanitized-html\", [1,2,0,0], () => (Promise.all([__webpack_require__.e(\"vendors-node_modules_react-sanitized-html_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_sanitize-html_sanitize-html\")]).then(() => (() => (__webpack_require__(/*! react-sanitized-html */ \"./node_modules/react-sanitized-html/lib/index.js\"))))))),\n\t\"webpack/sharing/consume/default/sanitize-html/sanitize-html\": () => (loadStrictVersionCheckFallback(\"default\", \"sanitize-html\", [1,1,16,1], () => (__webpack_require__.e(\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\").then(() => (() => (__webpack_require__(/*! sanitize-html */ \"./node_modules/sanitize-html/dist/sanitize-html.js\")))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"webpack_sharing_consume_default_react\": [\n\t\t\"webpack/sharing/consume/default/react\"\n\t],\n\t\"lib_index_js\": [\n\t\t\"webpack/sharing/consume/default/@jupyterlab/notebook\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/apputils\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/mainmenu\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\",\n\t\t\"webpack/sharing/consume/default/@lumino/widgets\",\n\t\t\"webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html\"\n\t],\n\t\"webpack_sharing_consume_default_sanitize-html_sanitize-html\": [\n\t\t\"webpack/sharing/consume/default/sanitize-html/sanitize-html\"\n\t]\n};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t});\n\t}\n}","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"neural_compressor_ext_lab\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^webpack_sharing_consume_default_(react|sanitize\\-html_sanitize\\-html)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkneural_compressor_ext_lab\"] = self[\"webpackChunkneural_compressor_ext_lab\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(\"webpack/container/entry/neural_compressor_ext_lab\");\n",""],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.34f9ad20791fd484f052.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.34f9ad20791fd484f052.js
deleted file mode 100644
index a06a23ed0e0..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.34f9ad20791fd484f052.js
+++ /dev/null
@@ -1,572 +0,0 @@
-var _JUPYTERLAB;
-/******/ (() => { // webpackBootstrap
-/******/ "use strict";
-/******/ var __webpack_modules__ = ({
-
-/***/ "webpack/container/entry/neural_compressor_ext_lab":
-/*!***********************!*\
- !*** container entry ***!
- \***********************/
-/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
-
-var moduleMap = {
- "./index": () => {
- return Promise.all([__webpack_require__.e("webpack_sharing_consume_default_react"), __webpack_require__.e("lib_index_js")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ "./lib/index.js")))));
- },
- "./extension": () => {
- return Promise.all([__webpack_require__.e("webpack_sharing_consume_default_react"), __webpack_require__.e("lib_index_js")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ "./lib/index.js")))));
- },
- "./style": () => {
- return Promise.all([__webpack_require__.e("vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854"), __webpack_require__.e("style_index_js")]).then(() => (() => ((__webpack_require__(/*! ./style/index.js */ "./style/index.js")))));
- }
-};
-var get = (module, getScope) => {
- __webpack_require__.R = getScope;
- getScope = (
- __webpack_require__.o(moduleMap, module)
- ? moduleMap[module]()
- : Promise.resolve().then(() => {
- throw new Error('Module "' + module + '" does not exist in container.');
- })
- );
- __webpack_require__.R = undefined;
- return getScope;
-};
-var init = (shareScope, initScope) => {
- if (!__webpack_require__.S) return;
- var name = "default"
- var oldScope = __webpack_require__.S[name];
- if(oldScope && oldScope !== shareScope) throw new Error("Container initialization failed as it has already been initialized with a different share scope");
- __webpack_require__.S[name] = shareScope;
- return __webpack_require__.I(name, initScope);
-};
-
-// This exports getters to disallow modifications
-__webpack_require__.d(exports, {
- get: () => (get),
- init: () => (init)
-});
-
-/***/ })
-
-/******/ });
-/************************************************************************/
-/******/ // The module cache
-/******/ var __webpack_module_cache__ = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/ // Check if module is in cache
-/******/ var cachedModule = __webpack_module_cache__[moduleId];
-/******/ if (cachedModule !== undefined) {
-/******/ return cachedModule.exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = __webpack_module_cache__[moduleId] = {
-/******/ id: moduleId,
-/******/ // no module.loaded needed
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = __webpack_modules__;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = __webpack_module_cache__;
-/******/
-/************************************************************************/
-/******/ /* webpack/runtime/compat get default export */
-/******/ (() => {
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = (module) => {
-/******/ var getter = module && module.__esModule ?
-/******/ () => (module['default']) :
-/******/ () => (module);
-/******/ __webpack_require__.d(getter, { a: getter });
-/******/ return getter;
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/define property getters */
-/******/ (() => {
-/******/ // define getter functions for harmony exports
-/******/ __webpack_require__.d = (exports, definition) => {
-/******/ for(var key in definition) {
-/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
-/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
-/******/ }
-/******/ }
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/ensure chunk */
-/******/ (() => {
-/******/ __webpack_require__.f = {};
-/******/ // This file contains only the entry chunk.
-/******/ // The chunk loading function for additional chunks
-/******/ __webpack_require__.e = (chunkId) => {
-/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
-/******/ __webpack_require__.f[key](chunkId, promises);
-/******/ return promises;
-/******/ }, []));
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/get javascript chunk filename */
-/******/ (() => {
-/******/ // This function allow to reference async chunks
-/******/ __webpack_require__.u = (chunkId) => {
-/******/ // return url for filenames based on template
-/******/ return "" + chunkId + "." + {"webpack_sharing_consume_default_react":"19c51f7b56cfd16da3f9","lib_index_js":"0c0187df9df8bc38b9c5","vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854":"e09faf9ec3a764e40dc7","style_index_js":"8d733cc8b74fabbd10b8","vendors-node_modules_react-sanitized-html_lib_index_js":"500104f7c13c01fe1646","webpack_sharing_consume_default_sanitize-html_sanitize-html":"635249bb6dc3884c24a3","vendors-node_modules_sanitize-html_dist_sanitize-html_js":"825dbf94ec7371e0b28d"}[chunkId] + ".js";
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/global */
-/******/ (() => {
-/******/ __webpack_require__.g = (function() {
-/******/ if (typeof globalThis === 'object') return globalThis;
-/******/ try {
-/******/ return this || new Function('return this')();
-/******/ } catch (e) {
-/******/ if (typeof window === 'object') return window;
-/******/ }
-/******/ })();
-/******/ })();
-/******/
-/******/ /* webpack/runtime/hasOwnProperty shorthand */
-/******/ (() => {
-/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
-/******/ })();
-/******/
-/******/ /* webpack/runtime/load script */
-/******/ (() => {
-/******/ var inProgress = {};
-/******/ var dataWebpackPrefix = "neural_compressor_ext_lab:";
-/******/ // loadScript function to load a script via script tag
-/******/ __webpack_require__.l = (url, done, key, chunkId) => {
-/******/ if(inProgress[url]) { inProgress[url].push(done); return; }
-/******/ var script, needAttach;
-/******/ if(key !== undefined) {
-/******/ var scripts = document.getElementsByTagName("script");
-/******/ for(var i = 0; i < scripts.length; i++) {
-/******/ var s = scripts[i];
-/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
-/******/ }
-/******/ }
-/******/ if(!script) {
-/******/ needAttach = true;
-/******/ script = document.createElement('script');
-/******/
-/******/ script.charset = 'utf-8';
-/******/ script.timeout = 120;
-/******/ if (__webpack_require__.nc) {
-/******/ script.setAttribute("nonce", __webpack_require__.nc);
-/******/ }
-/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
-/******/ script.src = url;
-/******/ }
-/******/ inProgress[url] = [done];
-/******/ var onScriptComplete = (prev, event) => {
-/******/ // avoid mem leaks in IE.
-/******/ script.onerror = script.onload = null;
-/******/ clearTimeout(timeout);
-/******/ var doneFns = inProgress[url];
-/******/ delete inProgress[url];
-/******/ script.parentNode && script.parentNode.removeChild(script);
-/******/ doneFns && doneFns.forEach((fn) => (fn(event)));
-/******/ if(prev) return prev(event);
-/******/ }
-/******/ ;
-/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
-/******/ script.onerror = onScriptComplete.bind(null, script.onerror);
-/******/ script.onload = onScriptComplete.bind(null, script.onload);
-/******/ needAttach && document.head.appendChild(script);
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/make namespace object */
-/******/ (() => {
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = (exports) => {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/sharing */
-/******/ (() => {
-/******/ __webpack_require__.S = {};
-/******/ var initPromises = {};
-/******/ var initTokens = {};
-/******/ __webpack_require__.I = (name, initScope) => {
-/******/ if(!initScope) initScope = [];
-/******/ // handling circular init calls
-/******/ var initToken = initTokens[name];
-/******/ if(!initToken) initToken = initTokens[name] = {};
-/******/ if(initScope.indexOf(initToken) >= 0) return;
-/******/ initScope.push(initToken);
-/******/ // only runs once
-/******/ if(initPromises[name]) return initPromises[name];
-/******/ // creates a new share scope if needed
-/******/ if(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};
-/******/ // runs all init snippets from all modules reachable
-/******/ var scope = __webpack_require__.S[name];
-/******/ var warn = (msg) => (typeof console !== "undefined" && console.warn && console.warn(msg));
-/******/ var uniqueName = "neural_compressor_ext_lab";
-/******/ var register = (name, version, factory, eager) => {
-/******/ var versions = scope[name] = scope[name] || {};
-/******/ var activeVersion = versions[version];
-/******/ if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };
-/******/ };
-/******/ var initExternal = (id) => {
-/******/ var handleError = (err) => (warn("Initialization of sharing external failed: " + err));
-/******/ try {
-/******/ var module = __webpack_require__(id);
-/******/ if(!module) return;
-/******/ var initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))
-/******/ if(module.then) return promises.push(module.then(initFn, handleError));
-/******/ var initResult = initFn(module);
-/******/ if(initResult && initResult.then) return promises.push(initResult['catch'](handleError));
-/******/ } catch(err) { handleError(err); }
-/******/ }
-/******/ var promises = [];
-/******/ switch(name) {
-/******/ case "default": {
-/******/ register("neural_compressor_ext_lab", "0.1.0", () => (Promise.all([__webpack_require__.e("webpack_sharing_consume_default_react"), __webpack_require__.e("lib_index_js")]).then(() => (() => (__webpack_require__(/*! ./lib/index.js */ "./lib/index.js"))))));
-/******/ register("react-sanitized-html", "2.0.0", () => (Promise.all([__webpack_require__.e("vendors-node_modules_react-sanitized-html_lib_index_js"), __webpack_require__.e("webpack_sharing_consume_default_sanitize-html_sanitize-html"), __webpack_require__.e("webpack_sharing_consume_default_react")]).then(() => (() => (__webpack_require__(/*! ./node_modules/react-sanitized-html/lib/index.js */ "./node_modules/react-sanitized-html/lib/index.js"))))));
-/******/ register("sanitize-html", "1.27.5", () => (__webpack_require__.e("vendors-node_modules_sanitize-html_dist_sanitize-html_js").then(() => (() => (__webpack_require__(/*! ./node_modules/sanitize-html/dist/sanitize-html.js */ "./node_modules/sanitize-html/dist/sanitize-html.js"))))));
-/******/ }
-/******/ break;
-/******/ }
-/******/ if(!promises.length) return initPromises[name] = 1;
-/******/ return initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));
-/******/ };
-/******/ })();
-/******/
-/******/ /* webpack/runtime/publicPath */
-/******/ (() => {
-/******/ var scriptUrl;
-/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
-/******/ var document = __webpack_require__.g.document;
-/******/ if (!scriptUrl && document) {
-/******/ if (document.currentScript)
-/******/ scriptUrl = document.currentScript.src
-/******/ if (!scriptUrl) {
-/******/ var scripts = document.getElementsByTagName("script");
-/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
-/******/ }
-/******/ }
-/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
-/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
-/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
-/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
-/******/ __webpack_require__.p = scriptUrl;
-/******/ })();
-/******/
-/******/ /* webpack/runtime/consumes */
-/******/ (() => {
-/******/ var parseVersion = (str) => {
-/******/ // see webpack/lib/util/semver.js for original code
-/******/ var p=p=>{return p.split(".").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;
-/******/ }
-/******/ var versionLt = (a, b) => {
-/******/ // see webpack/lib/util/semver.js for original code
-/******/ a=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return"u"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return"o"==n&&"n"==f||("s"==f||"u"==n);if("o"!=n&&"u"!=n&&e!=t)return e {
-/******/ // see webpack/lib/util/semver.js for original code
-/******/ var r=range[0],n="";if(1===range.length)return"*";if(r+.5){n+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var e=1,a=1;a0?".":"")+(e=2,t)}return n}var g=[];for(a=1;a {
-/******/ // see webpack/lib/util/semver.js for original code
-/******/ if(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||"o"==(s=(typeof(f=version[n]))[0]))return!a||("u"==g?i>e&&!r:""==g!=r);if("u"==s){if(!a||"u"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f {
-/******/ var scope = __webpack_require__.S[scopeName];
-/******/ if(!scope || !__webpack_require__.o(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);
-/******/ return scope;
-/******/ };
-/******/ var findVersion = (scope, key) => {
-/******/ var versions = scope[key];
-/******/ var key = Object.keys(versions).reduce((a, b) => {
-/******/ return !a || versionLt(a, b) ? b : a;
-/******/ }, 0);
-/******/ return key && versions[key]
-/******/ };
-/******/ var findSingletonVersionKey = (scope, key) => {
-/******/ var versions = scope[key];
-/******/ return Object.keys(versions).reduce((a, b) => {
-/******/ return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;
-/******/ }, 0);
-/******/ };
-/******/ var getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {
-/******/ return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"
-/******/ };
-/******/ var getSingleton = (scope, scopeName, key, requiredVersion) => {
-/******/ var version = findSingletonVersionKey(scope, key);
-/******/ return get(scope[key][version]);
-/******/ };
-/******/ var getSingletonVersion = (scope, scopeName, key, requiredVersion) => {
-/******/ var version = findSingletonVersionKey(scope, key);
-/******/ if (!satisfy(requiredVersion, version)) typeof console !== "undefined" && console.warn && console.warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));
-/******/ return get(scope[key][version]);
-/******/ };
-/******/ var getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {
-/******/ var version = findSingletonVersionKey(scope, key);
-/******/ if (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));
-/******/ return get(scope[key][version]);
-/******/ };
-/******/ var findValidVersion = (scope, key, requiredVersion) => {
-/******/ var versions = scope[key];
-/******/ var key = Object.keys(versions).reduce((a, b) => {
-/******/ if (!satisfy(requiredVersion, b)) return a;
-/******/ return !a || versionLt(a, b) ? b : a;
-/******/ }, 0);
-/******/ return key && versions[key]
-/******/ };
-/******/ var getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {
-/******/ var versions = scope[key];
-/******/ return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\n" +
-/******/ "Available versions: " + Object.keys(versions).map((key) => {
-/******/ return key + " from " + versions[key].from;
-/******/ }).join(", ");
-/******/ };
-/******/ var getValidVersion = (scope, scopeName, key, requiredVersion) => {
-/******/ var entry = findValidVersion(scope, key, requiredVersion);
-/******/ if(entry) return get(entry);
-/******/ throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));
-/******/ };
-/******/ var warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {
-/******/ typeof console !== "undefined" && console.warn && console.warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));
-/******/ };
-/******/ var get = (entry) => {
-/******/ entry.loaded = 1;
-/******/ return entry.get()
-/******/ };
-/******/ var init = (fn) => (function(scopeName, a, b, c) {
-/******/ var promise = __webpack_require__.I(scopeName);
-/******/ if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));
-/******/ return fn(scopeName, __webpack_require__.S[scopeName], a, b, c);
-/******/ });
-/******/
-/******/ var load = /*#__PURE__*/ init((scopeName, scope, key) => {
-/******/ ensureExistence(scopeName, key);
-/******/ return get(findVersion(scope, key));
-/******/ });
-/******/ var loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {
-/******/ return scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();
-/******/ });
-/******/ var loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {
-/******/ ensureExistence(scopeName, key);
-/******/ return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));
-/******/ });
-/******/ var loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {
-/******/ ensureExistence(scopeName, key);
-/******/ return getSingleton(scope, scopeName, key);
-/******/ });
-/******/ var loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {
-/******/ ensureExistence(scopeName, key);
-/******/ return getSingletonVersion(scope, scopeName, key, version);
-/******/ });
-/******/ var loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {
-/******/ ensureExistence(scopeName, key);
-/******/ return getValidVersion(scope, scopeName, key, version);
-/******/ });
-/******/ var loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {
-/******/ ensureExistence(scopeName, key);
-/******/ return getStrictSingletonVersion(scope, scopeName, key, version);
-/******/ });
-/******/ var loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {
-/******/ if(!scope || !__webpack_require__.o(scope, key)) return fallback();
-/******/ return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));
-/******/ });
-/******/ var loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {
-/******/ if(!scope || !__webpack_require__.o(scope, key)) return fallback();
-/******/ return getSingleton(scope, scopeName, key);
-/******/ });
-/******/ var loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {
-/******/ if(!scope || !__webpack_require__.o(scope, key)) return fallback();
-/******/ return getSingletonVersion(scope, scopeName, key, version);
-/******/ });
-/******/ var loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {
-/******/ var entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);
-/******/ return entry ? get(entry) : fallback();
-/******/ });
-/******/ var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {
-/******/ if(!scope || !__webpack_require__.o(scope, key)) return fallback();
-/******/ return getStrictSingletonVersion(scope, scopeName, key, version);
-/******/ });
-/******/ var installedModules = {};
-/******/ var moduleToHandlerMapping = {
-/******/ "webpack/sharing/consume/default/react": () => (loadSingletonVersionCheck("default", "react", [1,17,0,1])),
-/******/ "webpack/sharing/consume/default/@jupyterlab/notebook": () => (loadSingletonVersionCheck("default", "@jupyterlab/notebook", [1,3,4,7])),
-/******/ "webpack/sharing/consume/default/@jupyterlab/apputils": () => (loadSingletonVersionCheck("default", "@jupyterlab/apputils", [1,3,4,7])),
-/******/ "webpack/sharing/consume/default/@jupyterlab/settingregistry": () => (loadSingletonVersionCheck("default", "@jupyterlab/settingregistry", [1,3,4,7])),
-/******/ "webpack/sharing/consume/default/@jupyterlab/mainmenu": () => (loadSingletonVersionCheck("default", "@jupyterlab/mainmenu", [1,3,4,7])),
-/******/ "webpack/sharing/consume/default/@jupyterlab/ui-components": () => (loadSingletonVersionCheck("default", "@jupyterlab/ui-components", [1,3,4,7])),
-/******/ "webpack/sharing/consume/default/@lumino/widgets": () => (loadSingletonVersionCheck("default", "@lumino/widgets", [1,1,33,0])),
-/******/ "webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html": () => (loadStrictVersionCheckFallback("default", "react-sanitized-html", [1,2,0,0], () => (Promise.all([__webpack_require__.e("vendors-node_modules_react-sanitized-html_lib_index_js"), __webpack_require__.e("webpack_sharing_consume_default_sanitize-html_sanitize-html")]).then(() => (() => (__webpack_require__(/*! react-sanitized-html */ "./node_modules/react-sanitized-html/lib/index.js"))))))),
-/******/ "webpack/sharing/consume/default/sanitize-html/sanitize-html": () => (loadStrictVersionCheckFallback("default", "sanitize-html", [1,1,16,1], () => (__webpack_require__.e("vendors-node_modules_sanitize-html_dist_sanitize-html_js").then(() => (() => (__webpack_require__(/*! sanitize-html */ "./node_modules/sanitize-html/dist/sanitize-html.js")))))))
-/******/ };
-/******/ // no consumes in initial chunks
-/******/ var chunkMapping = {
-/******/ "webpack_sharing_consume_default_react": [
-/******/ "webpack/sharing/consume/default/react"
-/******/ ],
-/******/ "lib_index_js": [
-/******/ "webpack/sharing/consume/default/@jupyterlab/notebook",
-/******/ "webpack/sharing/consume/default/@jupyterlab/apputils",
-/******/ "webpack/sharing/consume/default/@jupyterlab/settingregistry",
-/******/ "webpack/sharing/consume/default/@jupyterlab/mainmenu",
-/******/ "webpack/sharing/consume/default/@jupyterlab/ui-components",
-/******/ "webpack/sharing/consume/default/@lumino/widgets",
-/******/ "webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html"
-/******/ ],
-/******/ "webpack_sharing_consume_default_sanitize-html_sanitize-html": [
-/******/ "webpack/sharing/consume/default/sanitize-html/sanitize-html"
-/******/ ]
-/******/ };
-/******/ __webpack_require__.f.consumes = (chunkId, promises) => {
-/******/ if(__webpack_require__.o(chunkMapping, chunkId)) {
-/******/ chunkMapping[chunkId].forEach((id) => {
-/******/ if(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);
-/******/ var onFactory = (factory) => {
-/******/ installedModules[id] = 0;
-/******/ __webpack_require__.m[id] = (module) => {
-/******/ delete __webpack_require__.c[id];
-/******/ module.exports = factory();
-/******/ }
-/******/ };
-/******/ var onError = (error) => {
-/******/ delete installedModules[id];
-/******/ __webpack_require__.m[id] = (module) => {
-/******/ delete __webpack_require__.c[id];
-/******/ throw error;
-/******/ }
-/******/ };
-/******/ try {
-/******/ var promise = moduleToHandlerMapping[id]();
-/******/ if(promise.then) {
-/******/ promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));
-/******/ } else onFactory(promise);
-/******/ } catch(e) { onError(e); }
-/******/ });
-/******/ }
-/******/ }
-/******/ })();
-/******/
-/******/ /* webpack/runtime/jsonp chunk loading */
-/******/ (() => {
-/******/ __webpack_require__.b = document.baseURI || self.location.href;
-/******/
-/******/ // object to store loaded and loading chunks
-/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
-/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
-/******/ var installedChunks = {
-/******/ "neural_compressor_ext_lab": 0
-/******/ };
-/******/
-/******/ __webpack_require__.f.j = (chunkId, promises) => {
-/******/ // JSONP chunk loading for javascript
-/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
-/******/ if(installedChunkData !== 0) { // 0 means "already installed".
-/******/
-/******/ // a Promise means "currently loading".
-/******/ if(installedChunkData) {
-/******/ promises.push(installedChunkData[2]);
-/******/ } else {
-/******/ if(!/^webpack_sharing_consume_default_(react|sanitize\-html_sanitize\-html)$/.test(chunkId)) {
-/******/ // setup Promise in chunk cache
-/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
-/******/ promises.push(installedChunkData[2] = promise);
-/******/
-/******/ // start chunk loading
-/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
-/******/ // create error before stack unwound to get useful stacktrace later
-/******/ var error = new Error();
-/******/ var loadingEnded = (event) => {
-/******/ if(__webpack_require__.o(installedChunks, chunkId)) {
-/******/ installedChunkData = installedChunks[chunkId];
-/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
-/******/ if(installedChunkData) {
-/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
-/******/ var realSrc = event && event.target && event.target.src;
-/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
-/******/ error.name = 'ChunkLoadError';
-/******/ error.type = errorType;
-/******/ error.request = realSrc;
-/******/ installedChunkData[1](error);
-/******/ }
-/******/ }
-/******/ };
-/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
-/******/ } else installedChunks[chunkId] = 0;
-/******/ }
-/******/ }
-/******/ };
-/******/
-/******/ // no prefetching
-/******/
-/******/ // no preloaded
-/******/
-/******/ // no HMR
-/******/
-/******/ // no HMR manifest
-/******/
-/******/ // no on chunks loaded
-/******/
-/******/ // install a JSONP callback for chunk loading
-/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
-/******/ var [chunkIds, moreModules, runtime] = data;
-/******/ // add "moreModules" to the modules object,
-/******/ // then flag all "chunkIds" as loaded and fire callback
-/******/ var moduleId, chunkId, i = 0;
-/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
-/******/ for(moduleId in moreModules) {
-/******/ if(__webpack_require__.o(moreModules, moduleId)) {
-/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
-/******/ }
-/******/ }
-/******/ if(runtime) var result = runtime(__webpack_require__);
-/******/ }
-/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
-/******/ for(;i < chunkIds.length; i++) {
-/******/ chunkId = chunkIds[i];
-/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
-/******/ installedChunks[chunkId][0]();
-/******/ }
-/******/ installedChunks[chunkId] = 0;
-/******/ }
-/******/
-/******/ }
-/******/
-/******/ var chunkLoadingGlobal = self["webpackChunkneural_compressor_ext_lab"] = self["webpackChunkneural_compressor_ext_lab"] || [];
-/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
-/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
-/******/ })();
-/******/
-/******/ /* webpack/runtime/nonce */
-/******/ (() => {
-/******/ __webpack_require__.nc = undefined;
-/******/ })();
-/******/
-/************************************************************************/
-/******/
-/******/ // module cache are used so entry inlining is disabled
-/******/ // startup
-/******/ // Load entry module and return exports
-/******/ var __webpack_exports__ = __webpack_require__("webpack/container/entry/neural_compressor_ext_lab");
-/******/ (_JUPYTERLAB = typeof _JUPYTERLAB === "undefined" ? {} : _JUPYTERLAB).neural_compressor_ext_lab = __webpack_exports__;
-/******/
-/******/ })()
-;
-//# sourceMappingURL=remoteEntry.34f9ad20791fd484f052.js.map
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.34f9ad20791fd484f052.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.34f9ad20791fd484f052.js.map
deleted file mode 100644
index f8175790c7a..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.34f9ad20791fd484f052.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"remoteEntry.34f9ad20791fd484f052.js","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;UCpCD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,8BAA8B,kgBAAkgB;WAChiB;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,oJAAoJ;WACpJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI,aAAa;WACjB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC7CA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WCfA;WACA;WACA,WAAW,6BAA6B,iBAAiB,GAAG,qEAAqE;WACjI;WACA;WACA;WACA,qCAAqC,aAAa,EAAE,wDAAwD,2BAA2B,4BAA4B,2BAA2B,+CAA+C,mCAAmC;WAChR;WACA;WACA;WACA,qBAAqB,8BAA8B,SAAS,sDAAsD,gBAAgB,eAAe,KAAK,6DAA6D,SAAS,SAAS,QAAQ,eAAe,KAAK,eAAe,qGAAqG,WAAW,aAAa;WAC7Y;WACA;WACA;WACA,gBAAgB,8BAA8B,qBAAqB,YAAY,sBAAsB,SAAS,iDAAiD,6FAA6F,WAAW,uBAAuB,2BAA2B,wBAAwB,KAAK,oCAAoC,oBAAoB,wBAAwB,oBAAoB,SAAS,KAAK,yBAAyB,KAAK,gCAAgC,yBAAyB,QAAQ,eAAe,KAAK,eAAe,4DAA4D;WACtoB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;;WAED;WACA;WACA;WACA,CAAC;WACD;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN,KAAK,WAAW;WAChB,GAAG;WACH;WACA;;;;;WC3LA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;WCrFA;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://neural_compressor_ext_lab/webpack/container-entry","webpack://neural_compressor_ext_lab/webpack/bootstrap","webpack://neural_compressor_ext_lab/webpack/runtime/compat get default export","webpack://neural_compressor_ext_lab/webpack/runtime/define property getters","webpack://neural_compressor_ext_lab/webpack/runtime/ensure chunk","webpack://neural_compressor_ext_lab/webpack/runtime/get javascript chunk filename","webpack://neural_compressor_ext_lab/webpack/runtime/global","webpack://neural_compressor_ext_lab/webpack/runtime/hasOwnProperty shorthand","webpack://neural_compressor_ext_lab/webpack/runtime/load script","webpack://neural_compressor_ext_lab/webpack/runtime/make namespace object","webpack://neural_compressor_ext_lab/webpack/runtime/sharing","webpack://neural_compressor_ext_lab/webpack/runtime/publicPath","webpack://neural_compressor_ext_lab/webpack/runtime/consumes","webpack://neural_compressor_ext_lab/webpack/runtime/jsonp chunk loading","webpack://neural_compressor_ext_lab/webpack/runtime/nonce","webpack://neural_compressor_ext_lab/webpack/before-startup","webpack://neural_compressor_ext_lab/webpack/startup","webpack://neural_compressor_ext_lab/webpack/after-startup"],"sourcesContent":["var moduleMap = {\n\t\"./index\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./extension\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./style\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854\"), __webpack_require__.e(\"style_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./style/index.js */ \"./style/index.js\")))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"webpack_sharing_consume_default_react\":\"19c51f7b56cfd16da3f9\",\"lib_index_js\":\"0c0187df9df8bc38b9c5\",\"vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854\":\"e09faf9ec3a764e40dc7\",\"style_index_js\":\"8d733cc8b74fabbd10b8\",\"vendors-node_modules_react-sanitized-html_lib_index_js\":\"500104f7c13c01fe1646\",\"webpack_sharing_consume_default_sanitize-html_sanitize-html\":\"635249bb6dc3884c24a3\",\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\":\"825dbf94ec7371e0b28d\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"neural_compressor_ext_lab:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => (typeof console !== \"undefined\" && console.warn && console.warn(msg));\n\tvar uniqueName = \"neural_compressor_ext_lab\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"neural_compressor_ext_lab\", \"0.1.0\", () => (Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => (__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\"))))));\n\t\t\tregister(\"react-sanitized-html\", \"2.0.0\", () => (Promise.all([__webpack_require__.e(\"vendors-node_modules_react-sanitized-html_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_sanitize-html_sanitize-html\"), __webpack_require__.e(\"webpack_sharing_consume_default_react\")]).then(() => (() => (__webpack_require__(/*! ./node_modules/react-sanitized-html/lib/index.js */ \"./node_modules/react-sanitized-html/lib/index.js\"))))));\n\t\t\tregister(\"sanitize-html\", \"1.27.5\", () => (__webpack_require__.e(\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\").then(() => (() => (__webpack_require__(/*! ./node_modules/sanitize-html/dist/sanitize-html.js */ \"./node_modules/sanitize-html/dist/sanitize-html.js\"))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) typeof console !== \"undefined\" && console.warn && console.warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\ttypeof console !== \"undefined\" && console.warn && console.warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t\"webpack/sharing/consume/default/react\": () => (loadSingletonVersionCheck(\"default\", \"react\", [1,17,0,1])),\n\t\"webpack/sharing/consume/default/@jupyterlab/notebook\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/notebook\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/apputils\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/apputils\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/settingregistry\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/mainmenu\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/mainmenu\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/ui-components\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@lumino/widgets\": () => (loadSingletonVersionCheck(\"default\", \"@lumino/widgets\", [1,1,33,0])),\n\t\"webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html\": () => (loadStrictVersionCheckFallback(\"default\", \"react-sanitized-html\", [1,2,0,0], () => (Promise.all([__webpack_require__.e(\"vendors-node_modules_react-sanitized-html_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_sanitize-html_sanitize-html\")]).then(() => (() => (__webpack_require__(/*! react-sanitized-html */ \"./node_modules/react-sanitized-html/lib/index.js\"))))))),\n\t\"webpack/sharing/consume/default/sanitize-html/sanitize-html\": () => (loadStrictVersionCheckFallback(\"default\", \"sanitize-html\", [1,1,16,1], () => (__webpack_require__.e(\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\").then(() => (() => (__webpack_require__(/*! sanitize-html */ \"./node_modules/sanitize-html/dist/sanitize-html.js\")))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"webpack_sharing_consume_default_react\": [\n\t\t\"webpack/sharing/consume/default/react\"\n\t],\n\t\"lib_index_js\": [\n\t\t\"webpack/sharing/consume/default/@jupyterlab/notebook\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/apputils\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/mainmenu\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\",\n\t\t\"webpack/sharing/consume/default/@lumino/widgets\",\n\t\t\"webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html\"\n\t],\n\t\"webpack_sharing_consume_default_sanitize-html_sanitize-html\": [\n\t\t\"webpack/sharing/consume/default/sanitize-html/sanitize-html\"\n\t]\n};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t});\n\t}\n}","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"neural_compressor_ext_lab\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^webpack_sharing_consume_default_(react|sanitize\\-html_sanitize\\-html)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkneural_compressor_ext_lab\"] = self[\"webpackChunkneural_compressor_ext_lab\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(\"webpack/container/entry/neural_compressor_ext_lab\");\n",""],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.e241a62ffe7f3e40b1d0.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.e241a62ffe7f3e40b1d0.js.map
deleted file mode 100644
index 7bff25b9d23..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/remoteEntry.e241a62ffe7f3e40b1d0.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"remoteEntry.e241a62ffe7f3e40b1d0.js","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;UCpCD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,8BAA8B,kgBAAkgB;WAChiB;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,oJAAoJ;WACpJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI,aAAa;WACjB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC7CA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WCfA;WACA;WACA,WAAW,6BAA6B,iBAAiB,GAAG,qEAAqE;WACjI;WACA;WACA;WACA,qCAAqC,aAAa,EAAE,wDAAwD,2BAA2B,4BAA4B,2BAA2B,+CAA+C,mCAAmC;WAChR;WACA;WACA;WACA,qBAAqB,8BAA8B,SAAS,sDAAsD,gBAAgB,eAAe,KAAK,6DAA6D,SAAS,SAAS,QAAQ,eAAe,KAAK,eAAe,qGAAqG,WAAW,aAAa;WAC7Y;WACA;WACA;WACA,gBAAgB,8BAA8B,qBAAqB,YAAY,sBAAsB,SAAS,iDAAiD,6FAA6F,WAAW,uBAAuB,2BAA2B,wBAAwB,KAAK,oCAAoC,oBAAoB,wBAAwB,oBAAoB,SAAS,KAAK,yBAAyB,KAAK,gCAAgC,yBAAyB,QAAQ,eAAe,KAAK,eAAe,4DAA4D;WACtoB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;;WAED;WACA;WACA;WACA,CAAC;WACD;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN,KAAK,WAAW;WAChB,GAAG;WACH;WACA;;;;;WC3LA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;WCrFA;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://neural_compressor_ext_lab/webpack/container-entry","webpack://neural_compressor_ext_lab/webpack/bootstrap","webpack://neural_compressor_ext_lab/webpack/runtime/compat get default export","webpack://neural_compressor_ext_lab/webpack/runtime/define property getters","webpack://neural_compressor_ext_lab/webpack/runtime/ensure chunk","webpack://neural_compressor_ext_lab/webpack/runtime/get javascript chunk filename","webpack://neural_compressor_ext_lab/webpack/runtime/global","webpack://neural_compressor_ext_lab/webpack/runtime/hasOwnProperty shorthand","webpack://neural_compressor_ext_lab/webpack/runtime/load script","webpack://neural_compressor_ext_lab/webpack/runtime/make namespace object","webpack://neural_compressor_ext_lab/webpack/runtime/sharing","webpack://neural_compressor_ext_lab/webpack/runtime/publicPath","webpack://neural_compressor_ext_lab/webpack/runtime/consumes","webpack://neural_compressor_ext_lab/webpack/runtime/jsonp chunk loading","webpack://neural_compressor_ext_lab/webpack/runtime/nonce","webpack://neural_compressor_ext_lab/webpack/before-startup","webpack://neural_compressor_ext_lab/webpack/startup","webpack://neural_compressor_ext_lab/webpack/after-startup"],"sourcesContent":["var moduleMap = {\n\t\"./index\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./extension\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./style\": () => {\n\t\treturn Promise.all([__webpack_require__.e(\"vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854\"), __webpack_require__.e(\"style_index_js\")]).then(() => (() => ((__webpack_require__(/*! ./style/index.js */ \"./style/index.js\")))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"webpack_sharing_consume_default_react\":\"19c51f7b56cfd16da3f9\",\"lib_index_js\":\"2c3b18119886a0a82200\",\"vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854\":\"e09faf9ec3a764e40dc7\",\"style_index_js\":\"8d733cc8b74fabbd10b8\",\"vendors-node_modules_react-sanitized-html_lib_index_js\":\"500104f7c13c01fe1646\",\"webpack_sharing_consume_default_sanitize-html_sanitize-html\":\"635249bb6dc3884c24a3\",\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\":\"825dbf94ec7371e0b28d\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"neural_compressor_ext_lab:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => (typeof console !== \"undefined\" && console.warn && console.warn(msg));\n\tvar uniqueName = \"neural_compressor_ext_lab\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"neural_compressor_ext_lab\", \"0.1.0\", () => (Promise.all([__webpack_require__.e(\"webpack_sharing_consume_default_react\"), __webpack_require__.e(\"lib_index_js\")]).then(() => (() => (__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\"))))));\n\t\t\tregister(\"react-sanitized-html\", \"2.0.0\", () => (Promise.all([__webpack_require__.e(\"vendors-node_modules_react-sanitized-html_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_sanitize-html_sanitize-html\"), __webpack_require__.e(\"webpack_sharing_consume_default_react\")]).then(() => (() => (__webpack_require__(/*! ./node_modules/react-sanitized-html/lib/index.js */ \"./node_modules/react-sanitized-html/lib/index.js\"))))));\n\t\t\tregister(\"sanitize-html\", \"1.27.5\", () => (__webpack_require__.e(\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\").then(() => (() => (__webpack_require__(/*! ./node_modules/sanitize-html/dist/sanitize-html.js */ \"./node_modules/sanitize-html/dist/sanitize-html.js\"))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) typeof console !== \"undefined\" && console.warn && console.warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\ttypeof console !== \"undefined\" && console.warn && console.warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t\"webpack/sharing/consume/default/react\": () => (loadSingletonVersionCheck(\"default\", \"react\", [1,17,0,1])),\n\t\"webpack/sharing/consume/default/@jupyterlab/notebook\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/notebook\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/apputils\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/apputils\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/settingregistry\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/mainmenu\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/mainmenu\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\": () => (loadSingletonVersionCheck(\"default\", \"@jupyterlab/ui-components\", [1,3,4,7])),\n\t\"webpack/sharing/consume/default/@lumino/widgets\": () => (loadSingletonVersionCheck(\"default\", \"@lumino/widgets\", [1,1,33,0])),\n\t\"webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html\": () => (loadStrictVersionCheckFallback(\"default\", \"react-sanitized-html\", [1,2,0,0], () => (Promise.all([__webpack_require__.e(\"vendors-node_modules_react-sanitized-html_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_sanitize-html_sanitize-html\")]).then(() => (() => (__webpack_require__(/*! react-sanitized-html */ \"./node_modules/react-sanitized-html/lib/index.js\"))))))),\n\t\"webpack/sharing/consume/default/sanitize-html/sanitize-html\": () => (loadStrictVersionCheckFallback(\"default\", \"sanitize-html\", [1,1,16,1], () => (__webpack_require__.e(\"vendors-node_modules_sanitize-html_dist_sanitize-html_js\").then(() => (() => (__webpack_require__(/*! sanitize-html */ \"./node_modules/sanitize-html/dist/sanitize-html.js\")))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"webpack_sharing_consume_default_react\": [\n\t\t\"webpack/sharing/consume/default/react\"\n\t],\n\t\"lib_index_js\": [\n\t\t\"webpack/sharing/consume/default/@jupyterlab/notebook\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/apputils\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/mainmenu\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\",\n\t\t\"webpack/sharing/consume/default/@lumino/widgets\",\n\t\t\"webpack/sharing/consume/default/react-sanitized-html/react-sanitized-html\"\n\t],\n\t\"webpack_sharing_consume_default_sanitize-html_sanitize-html\": [\n\t\t\"webpack/sharing/consume/default/sanitize-html/sanitize-html\"\n\t]\n};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t});\n\t}\n}","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"neural_compressor_ext_lab\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^webpack_sharing_consume_default_(react|sanitize\\-html_sanitize\\-html)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkneural_compressor_ext_lab\"] = self[\"webpackChunkneural_compressor_ext_lab\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(\"webpack/container/entry/neural_compressor_ext_lab\");\n",""],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style.js
deleted file mode 100644
index 7b10c692587..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/* This is a generated file of CSS imports */
-/* It was generated by @jupyterlab/builder in Build.ensureAssets() */
-
-import 'neural_compressor_ext_lab/style/index.js';
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style_index_js.8d733cc8b74fabbd10b8.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style_index_js.8d733cc8b74fabbd10b8.js
deleted file mode 100644
index e7bdb005a65..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style_index_js.8d733cc8b74fabbd10b8.js
+++ /dev/null
@@ -1,88 +0,0 @@
-"use strict";
-(self["webpackChunkneural_compressor_ext_lab"] = self["webpackChunkneural_compressor_ext_lab"] || []).push([["style_index_js"],{
-
-/***/ "./node_modules/css-loader/dist/cjs.js!./style/base.css":
-/*!**************************************************************!*\
- !*** ./node_modules/css-loader/dist/cjs.js!./style/base.css ***!
- \**************************************************************/
-/***/ ((module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
-/* harmony export */ });
-/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js");
-/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
-/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js");
-/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);
-// Imports
-
-
-
-var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml, */ "data:image/svg+xml,"), __webpack_require__.b);
-var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
-var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);
-// Module
-___CSS_LOADER_EXPORT___.push([module.id, "/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n.lds-ripple {\n display: flex;\n position: absolute; \n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 80px;\n height: 80px;\n}\n.lds-ripple div {\n position: absolute; \n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n border: 4px solid rgb(245, 131, 55);\n opacity: 1;\n border-radius: 50%;\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n}\n.lds-ripple div:nth-child(2) {\n animation-delay: -0.5s;\n}\n@keyframes lds-ripple {\n 0% {\n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 0;\n height: 0;\n opacity: 0;\n }\n 4.9% {\n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 0;\n height: 0;\n opacity: 0;\n }\n 5% {\n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 0;\n height: 0;\n opacity: 1;\n }\n 100% {\n top: 0px;\n left: 0px;\n width: 72px;\n height: 72px;\n opacity: 0;\n }\n}\n\n\n/* CSS */\n.button-62 {\n background: linear-gradient(to bottom right, #EF4765, #FF9A5A);\n border: 0;\n border-radius: 12px;\n color: #FFFFFF;\n cursor: pointer;\n display: inline-block;\n font-family: -apple-system,system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n font-size: 16px;\n font-weight: 500;\n line-height: 2.5;\n outline: transparent;\n padding: 0 1rem;\n text-align: center;\n text-decoration: none;\n transition: box-shadow .2s ease-in-out;\n user-select: none;\n -webkit-user-select: none;\n touch-action: manipulation;\n white-space: nowrap;\n}\n\n.button-62:not([disabled]):focus {\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\n}\n\n.button-62:not([disabled]):hover {\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\n}\n\n.aselector select {\n background-color: initial;\n border: none;\n border-radius: 0;\n box-shadow: none;\n color: var(--jp-ui-font-color0);\n display: block;\n font-size: var(--jp-ui-font-size1);\n height: 24px;\n line-height: 14px;\n padding: 0 25px 0 10px;\n text-align: left;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n/* Use our own theme for hover and option styles */\n.aselector select:hover,\n.aselector select > option {\n background-color: var(--jp-layout-color2);\n color: var(--jp-ui-font-color0);\n}\nselect {\n box-sizing: border-box;\n}\n\n.font{\nbackground-color: initial;\nborder: none;\nheight: 21px;\nborder-radius: 0;\nfont-weight:500;\ncolor: var(--jp-ui-font-color0);\ndisplay: block;\nline-height: 22.5px;\npadding: 0 25px 0 10px;\nfont-size: var(--jp-ui-font-size1);\n}\n.wrapper {\n display: flex;\n}\n.f1ozlkqi {\n pointer-events: none;\n}\n\n.palybutton{\n background-image: '/home2/longxin/Neural_Coder_EXT/style/icons8-circled-play.gif';\n}\n.loading{\n \n background-image: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");\n background-size: contain; \n}\n\n.dialog{\nbody {\n margin: 0;\n height: 100vh;\n width:600px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n font-family: \"Poppins\", sans-serif;\n background: #e3d0b6;\n}\n\n#cookie-policy {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 460px;\n height: 600px;\n background: #f3efe6;\n border-radius: 12px;\n transform: scale(.8);\n}\n\n#cookie-wrapper {\n height: 240px;\n width: 240px;\n margin: 30px 0;\n position: relative;\n left: -40px;\n}\n\nh1 {\n color: #6c3a1f;\n text-align: center;\n font-size: 36px;\n margin: 0;\n}\n\np {\n color: #a28561;\n font-size: 14px;\n margin-top: 0;\n padding: 0 60px;\n text-align: center;\n}\na {\n margin-top: 18px;\n font-size: 14px;\n color: #a28561;\n text-decoration: none;\n pointer-events: none;\n}\na:hover {\n color: #846b4d;\n}\n\nspan {\n font-family: \"Amatic SC\", cursive;\n font-weight: 400;\n font-size: 20px;\n position: relative;\n top: -18px;\n left: 3px;\n color: #a28561; \n}\n\n#heart-no, #thought-heart-yes, #mouth, #face-no, #thought-1, #thought-2, #thought-heart-na, #q-mark, #eyes, #leg-l, #leg-r {\n opacity: 0;\n}\n}\n.dia_button {\n color: white;\n background: #dd794a;\n margin-top: 12px;\n cursor: pointer;\n font-size: 24px;\n font-family: \"Poppins\", sans-serif;\n border-radius: 9px;\n border: none;\n width: 72%;\n padding: 12px 0;\n transition: 150ms ease-out;\n pointer-events: none;\n}\n\n.dia_button:hover {\n background: #d66029;\n}\n\n.pad{\n padding-left:6%\n}\n\n:root {\n /* Elevation\n *\n * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:\n *\n * https://github.com/material-components/material-components-web\n * https://material-components-web.appspot.com/elevation.html\n */\n\n --jp-shadow-base-lightness: 0;\n --jp-shadow-umbra-color: rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.2\n );\n --jp-shadow-penumbra-color: rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.14\n );\n --jp-shadow-ambient-color: rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.12\n );\n --jp-elevation-z0: none;\n --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),\n 0px 1px 1px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 3px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),\n 0px 2px 2px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 5px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),\n 0px 4px 5px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 10px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),\n 0px 6px 10px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 18px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),\n 0px 8px 10px 1px var(--jp-shadow-penumbra-color),\n 0px 3px 14px 2px var(--jp-shadow-ambient-color);\n --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),\n 0px 12px 17px 2px var(--jp-shadow-penumbra-color),\n 0px 5px 22px 4px var(--jp-shadow-ambient-color);\n --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),\n 0px 16px 24px 2px var(--jp-shadow-penumbra-color),\n 0px 6px 30px 5px var(--jp-shadow-ambient-color);\n --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),\n 0px 20px 31px 3px var(--jp-shadow-penumbra-color),\n 0px 8px 38px 7px var(--jp-shadow-ambient-color);\n --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),\n 0px 24px 38px 3px var(--jp-shadow-penumbra-color),\n 0px 9px 46px 8px var(--jp-shadow-ambient-color);\n\n /* Borders\n *\n * The following variables, specify the visual styling of borders in JupyterLab.\n */\n\n --jp-border-width: 1px;\n --jp-border-color0: var(--md-grey-400);\n --jp-border-color1: var(--md-grey-400);\n --jp-border-color2: var(--md-grey-300);\n --jp-border-color3: var(--md-grey-200);\n --jp-inverse-border-color: var(--md-grey-600);\n --jp-border-radius: 2px;\n\n /* UI Fonts\n *\n * The UI font CSS variables are used for the typography all of the JupyterLab\n * user interface elements that are not directly user generated content.\n *\n * The font sizing here is done assuming that the body font size of --jp-ui-font-size1\n * is applied to a parent element. When children elements, such as headings, are sized\n * in em all things will be computed relative to that body size.\n */\n\n --jp-ui-font-scale-factor: 1.2;\n --jp-ui-font-size0: 0.83333em;\n --jp-ui-font-size1: 13px; /* Base font size */\n --jp-ui-font-size2: 1.2em;\n --jp-ui-font-size3: 1.44em;\n\n --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,\n Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n /*\n * Use these font colors against the corresponding main layout colors.\n * In a light theme, these go from dark to light.\n */\n\n /* Defaults use Material Design specification */\n --jp-ui-font-color0: rgba(0, 0, 0, 1);\n --jp-ui-font-color1: rgba(0, 0, 0, 0.87);\n --jp-ui-font-color2: rgba(0, 0, 0, 0.54);\n --jp-ui-font-color3: rgba(0, 0, 0, 0.38);\n\n /*\n * Use these against the brand/accent/warn/error colors.\n * These will typically go from light to darker, in both a dark and light theme.\n */\n\n --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);\n --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);\n --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);\n --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);\n\n /* Content Fonts\n *\n * Content font variables are used for typography of user generated content.\n *\n * The font sizing here is done assuming that the body font size of --jp-content-font-size1\n * is applied to a parent element. When children elements, such as headings, are sized\n * in em all things will be computed relative to that body size.\n */\n\n --jp-content-line-height: 1.6;\n --jp-content-font-scale-factor: 1.2;\n --jp-content-font-size0: 0.83333em;\n --jp-content-font-size1: 14px; /* Base font size */\n --jp-content-font-size2: 1.2em;\n --jp-content-font-size3: 1.44em;\n --jp-content-font-size4: 1.728em;\n --jp-content-font-size5: 2.0736em;\n\n /* This gives a magnification of about 125% in presentation mode over normal. */\n --jp-content-presentation-font-size1: 17px;\n\n --jp-content-heading-line-height: 1;\n --jp-content-heading-margin-top: 1.2em;\n --jp-content-heading-margin-bottom: 0.8em;\n --jp-content-heading-font-weight: 500;\n\n /* Defaults use Material Design specification */\n --jp-content-font-color0: rgba(0, 0, 0, 1);\n --jp-content-font-color1: rgba(0, 0, 0, 0.87);\n --jp-content-font-color2: rgba(0, 0, 0, 0.54);\n --jp-content-font-color3: rgba(0, 0, 0, 0.38);\n\n --jp-content-link-color: var(--md-blue-700);\n\n --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',\n Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n\n /*\n * Code Fonts\n *\n * Code font variables are used for typography of code and other monospaces content.\n */\n\n --jp-code-font-size: 13px;\n --jp-code-line-height: 1.3077; /* 17px for 13px base */\n --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */\n --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace;\n --jp-code-font-family: var(--jp-code-font-family-default);\n\n /* This gives a magnification of about 125% in presentation mode over normal. */\n --jp-code-presentation-font-size: 16px;\n\n /* may need to tweak cursor width if you change font size */\n --jp-code-cursor-width0: 1.4px;\n --jp-code-cursor-width1: 2px;\n --jp-code-cursor-width2: 4px;\n\n /* Layout\n *\n * The following are the main layout colors use in JupyterLab. In a light\n * theme these would go from light to dark.\n */\n\n --jp-layout-color0: white;\n --jp-layout-color1: white;\n --jp-layout-color2: var(--md-grey-200);\n --jp-layout-color3: var(--md-grey-400);\n --jp-layout-color4: var(--md-grey-600);\n\n /* Inverse Layout\n *\n * The following are the inverse layout colors use in JupyterLab. In a light\n * theme these would go from dark to light.\n */\n\n --jp-inverse-layout-color0: #111111;\n --jp-inverse-layout-color1: var(--md-grey-900);\n --jp-inverse-layout-color2: var(--md-grey-800);\n --jp-inverse-layout-color3: var(--md-grey-700);\n --jp-inverse-layout-color4: var(--md-grey-600);\n\n /* Brand/accent */\n\n --jp-brand-color0: var(--md-blue-900);\n --jp-brand-color1: var(--md-blue-700);\n --jp-brand-color2: var(--md-blue-300);\n --jp-brand-color3: var(--md-blue-100);\n --jp-brand-color4: var(--md-blue-50);\n\n --jp-accent-color0: var(--md-green-900);\n --jp-accent-color1: var(--md-green-700);\n --jp-accent-color2: var(--md-green-300);\n --jp-accent-color3: var(--md-green-100);\n\n /* State colors (warn, error, success, info) */\n\n --jp-warn-color0: var(--md-orange-900);\n --jp-warn-color1: var(--md-orange-700);\n --jp-warn-color2: var(--md-orange-300);\n --jp-warn-color3: var(--md-orange-100);\n\n --jp-error-color0: var(--md-red-900);\n --jp-error-color1: var(--md-red-700);\n --jp-error-color2: var(--md-red-300);\n --jp-error-color3: var(--md-red-100);\n\n --jp-success-color0: var(--md-green-900);\n --jp-success-color1: var(--md-green-700);\n --jp-success-color2: var(--md-green-300);\n --jp-success-color3: var(--md-green-100);\n\n --jp-info-color0: var(--md-cyan-900);\n --jp-info-color1: var(--md-cyan-700);\n --jp-info-color2: var(--md-cyan-300);\n --jp-info-color3: var(--md-cyan-100);\n\n /* Cell specific styles */\n\n --jp-cell-padding: 5px;\n\n --jp-cell-collapser-width: 8px;\n --jp-cell-collapser-min-height: 20px;\n --jp-cell-collapser-not-active-hover-opacity: 0.6;\n\n --jp-cell-editor-background: var(--md-grey-100);\n --jp-cell-editor-border-color: var(--md-grey-300);\n --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);\n --jp-cell-editor-active-background: var(--jp-layout-color0);\n --jp-cell-editor-active-border-color: var(--jp-brand-color1);\n\n --jp-cell-prompt-width: 64px;\n --jp-cell-prompt-font-family: var(--jp-code-font-family-default);\n --jp-cell-prompt-letter-spacing: 0px;\n --jp-cell-prompt-opacity: 1;\n --jp-cell-prompt-not-active-opacity: 0.5;\n --jp-cell-prompt-not-active-font-color: var(--md-grey-700);\n /* A custom blend of MD grey and blue 600\n * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */\n --jp-cell-inprompt-font-color: #307fc1;\n /* A custom blend of MD grey and orange 600\n * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */\n --jp-cell-outprompt-font-color: #bf5b3d;\n\n /* Notebook specific styles */\n\n --jp-notebook-padding: 10px;\n --jp-notebook-select-background: var(--jp-layout-color1);\n --jp-notebook-multiselected-color: var(--md-blue-50);\n\n /* The scroll padding is calculated to fill enough space at the bottom of the\n notebook to show one single-line cell (with appropriate padding) at the top\n when the notebook is scrolled all the way to the bottom. We also subtract one\n pixel so that no scrollbar appears if we have just one single-line cell in the\n notebook. This padding is to enable a 'scroll past end' feature in a notebook.\n */\n --jp-notebook-scroll-padding: calc(\n 100% - var(--jp-code-font-size) * var(--jp-code-line-height) -\n var(--jp-code-padding) - var(--jp-cell-padding) - 1px\n );\n\n /* Rendermime styles */\n\n --jp-rendermime-error-background: #fdd;\n --jp-rendermime-table-row-background: var(--md-grey-100);\n --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);\n\n /* Dialog specific styles */\n\n --jp-dialog-background: rgba(0, 0, 0, 0.25);\n\n /* Console specific styles */\n\n --jp-console-padding: 10px;\n\n /* Toolbar specific styles */\n\n --jp-toolbar-border-color: var(--jp-border-color1);\n --jp-toolbar-micro-height: 8px;\n --jp-toolbar-background: var(--jp-layout-color1);\n --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);\n --jp-toolbar-header-margin: 4px 4px 0px 4px;\n --jp-toolbar-active-background: var(--md-grey-300);\n\n /* Statusbar specific styles */\n\n --jp-statusbar-height: 24px;\n\n /* Input field styles */\n\n --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);\n --jp-input-active-background: var(--jp-layout-color1);\n --jp-input-hover-background: var(--jp-layout-color1);\n --jp-input-background: var(--md-grey-100);\n --jp-input-border-color: var(--jp-inverse-border-color);\n --jp-input-active-border-color: var(--jp-brand-color1);\n --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);\n\n /* General editor styles */\n\n --jp-editor-selected-background: #d9d9d9;\n --jp-editor-selected-focused-background: #d7d4f0;\n --jp-editor-cursor-color: var(--jp-ui-font-color0);\n\n /* Code mirror specific styles */\n\n --jp-mirror-editor-keyword-color: #008000;\n --jp-mirror-editor-atom-color: #88f;\n --jp-mirror-editor-number-color: #080;\n --jp-mirror-editor-def-color: #00f;\n --jp-mirror-editor-variable-color: var(--md-grey-900);\n --jp-mirror-editor-variable-2-color: #05a;\n --jp-mirror-editor-variable-3-color: #085;\n --jp-mirror-editor-punctuation-color: #05a;\n --jp-mirror-editor-property-color: #05a;\n --jp-mirror-editor-operator-color: #aa22ff;\n --jp-mirror-editor-comment-color: #408080;\n --jp-mirror-editor-string-color: #ba2121;\n --jp-mirror-editor-string-2-color: #708;\n --jp-mirror-editor-meta-color: #aa22ff;\n --jp-mirror-editor-qualifier-color: #555;\n --jp-mirror-editor-builtin-color: #008000;\n --jp-mirror-editor-bracket-color: #997;\n --jp-mirror-editor-tag-color: #170;\n --jp-mirror-editor-attribute-color: #00c;\n --jp-mirror-editor-header-color: blue;\n --jp-mirror-editor-quote-color: #090;\n --jp-mirror-editor-link-color: #00c;\n --jp-mirror-editor-error-color: #f00;\n --jp-mirror-editor-hr-color: #999;\n\n /* Vega extension styles */\n\n --jp-vega-background: white;\n\n /* Sidebar-related styles */\n\n --jp-sidebar-min-width: 250px;\n\n /* Search-related styles */\n\n --jp-search-toggle-off-opacity: 0.5;\n --jp-search-toggle-hover-opacity: 0.8;\n --jp-search-toggle-on-opacity: 1;\n --jp-search-selected-match-background-color: rgb(245, 200, 0);\n --jp-search-selected-match-color: black;\n --jp-search-unselected-match-background-color: var(\n --jp-inverse-layout-color0\n );\n --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);\n\n /* Icon colors that work well with light or dark backgrounds */\n --jp-icon-contrast-color0: var(--md-purple-600);\n --jp-icon-contrast-color1: var(--md-green-600);\n --jp-icon-contrast-color2: var(--md-pink-600);\n --jp-icon-contrast-color3: var(--md-blue-600);\n}\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Set the default typography for monospace elements */\ntt,\ncode,\nkbd,\nsamp,\npre {\n font-family: var(--jp-code-font-family);\n font-size: var(--jp-code-font-size);\n line-height: var(--jp-code-line-height);\n}\n\n", "",{"version":3,"sources":["webpack://./style/base.css"],"names":[],"mappings":"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","sourcesContent":["/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n.lds-ripple {\n display: flex;\n position: absolute; \n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 80px;\n height: 80px;\n}\n.lds-ripple div {\n position: absolute; \n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n border: 4px solid rgb(245, 131, 55);\n opacity: 1;\n border-radius: 50%;\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n}\n.lds-ripple div:nth-child(2) {\n animation-delay: -0.5s;\n}\n@keyframes lds-ripple {\n 0% {\n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 0;\n height: 0;\n opacity: 0;\n }\n 4.9% {\n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 0;\n height: 0;\n opacity: 0;\n }\n 5% {\n left: 0; \n top: 0; \n right: 0; \n bottom: 0;\n margin: auto; \n width: 0;\n height: 0;\n opacity: 1;\n }\n 100% {\n top: 0px;\n left: 0px;\n width: 72px;\n height: 72px;\n opacity: 0;\n }\n}\n\n\n/* CSS */\n.button-62 {\n background: linear-gradient(to bottom right, #EF4765, #FF9A5A);\n border: 0;\n border-radius: 12px;\n color: #FFFFFF;\n cursor: pointer;\n display: inline-block;\n font-family: -apple-system,system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n font-size: 16px;\n font-weight: 500;\n line-height: 2.5;\n outline: transparent;\n padding: 0 1rem;\n text-align: center;\n text-decoration: none;\n transition: box-shadow .2s ease-in-out;\n user-select: none;\n -webkit-user-select: none;\n touch-action: manipulation;\n white-space: nowrap;\n}\n\n.button-62:not([disabled]):focus {\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\n}\n\n.button-62:not([disabled]):hover {\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\n}\n\n.aselector select {\n background-color: initial;\n border: none;\n border-radius: 0;\n box-shadow: none;\n color: var(--jp-ui-font-color0);\n display: block;\n font-size: var(--jp-ui-font-size1);\n height: 24px;\n line-height: 14px;\n padding: 0 25px 0 10px;\n text-align: left;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n/* Use our own theme for hover and option styles */\n.aselector select:hover,\n.aselector select > option {\n background-color: var(--jp-layout-color2);\n color: var(--jp-ui-font-color0);\n}\nselect {\n box-sizing: border-box;\n}\n\n.font{\nbackground-color: initial;\nborder: none;\nheight: 21px;\nborder-radius: 0;\nfont-weight:500;\ncolor: var(--jp-ui-font-color0);\ndisplay: block;\nline-height: 22.5px;\npadding: 0 25px 0 10px;\nfont-size: var(--jp-ui-font-size1);\n}\n.wrapper {\n display: flex;\n}\n.f1ozlkqi {\n pointer-events: none;\n}\n\n.palybutton{\n background-image: '/home2/longxin/Neural_Coder_EXT/style/icons8-circled-play.gif';\n}\n.loading{\n \n background-image: url(\"data:image/svg+xml,\");\n background-size: contain; \n}\n\n.dialog{\nbody {\n margin: 0;\n height: 100vh;\n width:600px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n font-family: \"Poppins\", sans-serif;\n background: #e3d0b6;\n}\n\n#cookie-policy {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 460px;\n height: 600px;\n background: #f3efe6;\n border-radius: 12px;\n transform: scale(.8);\n}\n\n#cookie-wrapper {\n height: 240px;\n width: 240px;\n margin: 30px 0;\n position: relative;\n left: -40px;\n}\n\nh1 {\n color: #6c3a1f;\n text-align: center;\n font-size: 36px;\n margin: 0;\n}\n\np {\n color: #a28561;\n font-size: 14px;\n margin-top: 0;\n padding: 0 60px;\n text-align: center;\n}\na {\n margin-top: 18px;\n font-size: 14px;\n color: #a28561;\n text-decoration: none;\n pointer-events: none;\n}\na:hover {\n color: #846b4d;\n}\n\nspan {\n font-family: \"Amatic SC\", cursive;\n font-weight: 400;\n font-size: 20px;\n position: relative;\n top: -18px;\n left: 3px;\n color: #a28561; \n}\n\n#heart-no, #thought-heart-yes, #mouth, #face-no, #thought-1, #thought-2, #thought-heart-na, #q-mark, #eyes, #leg-l, #leg-r {\n opacity: 0;\n}\n}\n.dia_button {\n color: white;\n background: #dd794a;\n margin-top: 12px;\n cursor: pointer;\n font-size: 24px;\n font-family: \"Poppins\", sans-serif;\n border-radius: 9px;\n border: none;\n width: 72%;\n padding: 12px 0;\n transition: 150ms ease-out;\n pointer-events: none;\n}\n\n.dia_button:hover {\n background: #d66029;\n}\n\n.pad{\n padding-left:6%\n}\n\n:root {\n /* Elevation\n *\n * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:\n *\n * https://github.com/material-components/material-components-web\n * https://material-components-web.appspot.com/elevation.html\n */\n\n --jp-shadow-base-lightness: 0;\n --jp-shadow-umbra-color: rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.2\n );\n --jp-shadow-penumbra-color: rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.14\n );\n --jp-shadow-ambient-color: rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.12\n );\n --jp-elevation-z0: none;\n --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),\n 0px 1px 1px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 3px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),\n 0px 2px 2px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 5px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),\n 0px 4px 5px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 10px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),\n 0px 6px 10px 0px var(--jp-shadow-penumbra-color),\n 0px 1px 18px 0px var(--jp-shadow-ambient-color);\n --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),\n 0px 8px 10px 1px var(--jp-shadow-penumbra-color),\n 0px 3px 14px 2px var(--jp-shadow-ambient-color);\n --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),\n 0px 12px 17px 2px var(--jp-shadow-penumbra-color),\n 0px 5px 22px 4px var(--jp-shadow-ambient-color);\n --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),\n 0px 16px 24px 2px var(--jp-shadow-penumbra-color),\n 0px 6px 30px 5px var(--jp-shadow-ambient-color);\n --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),\n 0px 20px 31px 3px var(--jp-shadow-penumbra-color),\n 0px 8px 38px 7px var(--jp-shadow-ambient-color);\n --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),\n 0px 24px 38px 3px var(--jp-shadow-penumbra-color),\n 0px 9px 46px 8px var(--jp-shadow-ambient-color);\n\n /* Borders\n *\n * The following variables, specify the visual styling of borders in JupyterLab.\n */\n\n --jp-border-width: 1px;\n --jp-border-color0: var(--md-grey-400);\n --jp-border-color1: var(--md-grey-400);\n --jp-border-color2: var(--md-grey-300);\n --jp-border-color3: var(--md-grey-200);\n --jp-inverse-border-color: var(--md-grey-600);\n --jp-border-radius: 2px;\n\n /* UI Fonts\n *\n * The UI font CSS variables are used for the typography all of the JupyterLab\n * user interface elements that are not directly user generated content.\n *\n * The font sizing here is done assuming that the body font size of --jp-ui-font-size1\n * is applied to a parent element. When children elements, such as headings, are sized\n * in em all things will be computed relative to that body size.\n */\n\n --jp-ui-font-scale-factor: 1.2;\n --jp-ui-font-size0: 0.83333em;\n --jp-ui-font-size1: 13px; /* Base font size */\n --jp-ui-font-size2: 1.2em;\n --jp-ui-font-size3: 1.44em;\n\n --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,\n Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n /*\n * Use these font colors against the corresponding main layout colors.\n * In a light theme, these go from dark to light.\n */\n\n /* Defaults use Material Design specification */\n --jp-ui-font-color0: rgba(0, 0, 0, 1);\n --jp-ui-font-color1: rgba(0, 0, 0, 0.87);\n --jp-ui-font-color2: rgba(0, 0, 0, 0.54);\n --jp-ui-font-color3: rgba(0, 0, 0, 0.38);\n\n /*\n * Use these against the brand/accent/warn/error colors.\n * These will typically go from light to darker, in both a dark and light theme.\n */\n\n --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);\n --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);\n --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);\n --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);\n\n /* Content Fonts\n *\n * Content font variables are used for typography of user generated content.\n *\n * The font sizing here is done assuming that the body font size of --jp-content-font-size1\n * is applied to a parent element. When children elements, such as headings, are sized\n * in em all things will be computed relative to that body size.\n */\n\n --jp-content-line-height: 1.6;\n --jp-content-font-scale-factor: 1.2;\n --jp-content-font-size0: 0.83333em;\n --jp-content-font-size1: 14px; /* Base font size */\n --jp-content-font-size2: 1.2em;\n --jp-content-font-size3: 1.44em;\n --jp-content-font-size4: 1.728em;\n --jp-content-font-size5: 2.0736em;\n\n /* This gives a magnification of about 125% in presentation mode over normal. */\n --jp-content-presentation-font-size1: 17px;\n\n --jp-content-heading-line-height: 1;\n --jp-content-heading-margin-top: 1.2em;\n --jp-content-heading-margin-bottom: 0.8em;\n --jp-content-heading-font-weight: 500;\n\n /* Defaults use Material Design specification */\n --jp-content-font-color0: rgba(0, 0, 0, 1);\n --jp-content-font-color1: rgba(0, 0, 0, 0.87);\n --jp-content-font-color2: rgba(0, 0, 0, 0.54);\n --jp-content-font-color3: rgba(0, 0, 0, 0.38);\n\n --jp-content-link-color: var(--md-blue-700);\n\n --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',\n Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n\n /*\n * Code Fonts\n *\n * Code font variables are used for typography of code and other monospaces content.\n */\n\n --jp-code-font-size: 13px;\n --jp-code-line-height: 1.3077; /* 17px for 13px base */\n --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */\n --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace;\n --jp-code-font-family: var(--jp-code-font-family-default);\n\n /* This gives a magnification of about 125% in presentation mode over normal. */\n --jp-code-presentation-font-size: 16px;\n\n /* may need to tweak cursor width if you change font size */\n --jp-code-cursor-width0: 1.4px;\n --jp-code-cursor-width1: 2px;\n --jp-code-cursor-width2: 4px;\n\n /* Layout\n *\n * The following are the main layout colors use in JupyterLab. In a light\n * theme these would go from light to dark.\n */\n\n --jp-layout-color0: white;\n --jp-layout-color1: white;\n --jp-layout-color2: var(--md-grey-200);\n --jp-layout-color3: var(--md-grey-400);\n --jp-layout-color4: var(--md-grey-600);\n\n /* Inverse Layout\n *\n * The following are the inverse layout colors use in JupyterLab. In a light\n * theme these would go from dark to light.\n */\n\n --jp-inverse-layout-color0: #111111;\n --jp-inverse-layout-color1: var(--md-grey-900);\n --jp-inverse-layout-color2: var(--md-grey-800);\n --jp-inverse-layout-color3: var(--md-grey-700);\n --jp-inverse-layout-color4: var(--md-grey-600);\n\n /* Brand/accent */\n\n --jp-brand-color0: var(--md-blue-900);\n --jp-brand-color1: var(--md-blue-700);\n --jp-brand-color2: var(--md-blue-300);\n --jp-brand-color3: var(--md-blue-100);\n --jp-brand-color4: var(--md-blue-50);\n\n --jp-accent-color0: var(--md-green-900);\n --jp-accent-color1: var(--md-green-700);\n --jp-accent-color2: var(--md-green-300);\n --jp-accent-color3: var(--md-green-100);\n\n /* State colors (warn, error, success, info) */\n\n --jp-warn-color0: var(--md-orange-900);\n --jp-warn-color1: var(--md-orange-700);\n --jp-warn-color2: var(--md-orange-300);\n --jp-warn-color3: var(--md-orange-100);\n\n --jp-error-color0: var(--md-red-900);\n --jp-error-color1: var(--md-red-700);\n --jp-error-color2: var(--md-red-300);\n --jp-error-color3: var(--md-red-100);\n\n --jp-success-color0: var(--md-green-900);\n --jp-success-color1: var(--md-green-700);\n --jp-success-color2: var(--md-green-300);\n --jp-success-color3: var(--md-green-100);\n\n --jp-info-color0: var(--md-cyan-900);\n --jp-info-color1: var(--md-cyan-700);\n --jp-info-color2: var(--md-cyan-300);\n --jp-info-color3: var(--md-cyan-100);\n\n /* Cell specific styles */\n\n --jp-cell-padding: 5px;\n\n --jp-cell-collapser-width: 8px;\n --jp-cell-collapser-min-height: 20px;\n --jp-cell-collapser-not-active-hover-opacity: 0.6;\n\n --jp-cell-editor-background: var(--md-grey-100);\n --jp-cell-editor-border-color: var(--md-grey-300);\n --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);\n --jp-cell-editor-active-background: var(--jp-layout-color0);\n --jp-cell-editor-active-border-color: var(--jp-brand-color1);\n\n --jp-cell-prompt-width: 64px;\n --jp-cell-prompt-font-family: var(--jp-code-font-family-default);\n --jp-cell-prompt-letter-spacing: 0px;\n --jp-cell-prompt-opacity: 1;\n --jp-cell-prompt-not-active-opacity: 0.5;\n --jp-cell-prompt-not-active-font-color: var(--md-grey-700);\n /* A custom blend of MD grey and blue 600\n * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */\n --jp-cell-inprompt-font-color: #307fc1;\n /* A custom blend of MD grey and orange 600\n * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */\n --jp-cell-outprompt-font-color: #bf5b3d;\n\n /* Notebook specific styles */\n\n --jp-notebook-padding: 10px;\n --jp-notebook-select-background: var(--jp-layout-color1);\n --jp-notebook-multiselected-color: var(--md-blue-50);\n\n /* The scroll padding is calculated to fill enough space at the bottom of the\n notebook to show one single-line cell (with appropriate padding) at the top\n when the notebook is scrolled all the way to the bottom. We also subtract one\n pixel so that no scrollbar appears if we have just one single-line cell in the\n notebook. This padding is to enable a 'scroll past end' feature in a notebook.\n */\n --jp-notebook-scroll-padding: calc(\n 100% - var(--jp-code-font-size) * var(--jp-code-line-height) -\n var(--jp-code-padding) - var(--jp-cell-padding) - 1px\n );\n\n /* Rendermime styles */\n\n --jp-rendermime-error-background: #fdd;\n --jp-rendermime-table-row-background: var(--md-grey-100);\n --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);\n\n /* Dialog specific styles */\n\n --jp-dialog-background: rgba(0, 0, 0, 0.25);\n\n /* Console specific styles */\n\n --jp-console-padding: 10px;\n\n /* Toolbar specific styles */\n\n --jp-toolbar-border-color: var(--jp-border-color1);\n --jp-toolbar-micro-height: 8px;\n --jp-toolbar-background: var(--jp-layout-color1);\n --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);\n --jp-toolbar-header-margin: 4px 4px 0px 4px;\n --jp-toolbar-active-background: var(--md-grey-300);\n\n /* Statusbar specific styles */\n\n --jp-statusbar-height: 24px;\n\n /* Input field styles */\n\n --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);\n --jp-input-active-background: var(--jp-layout-color1);\n --jp-input-hover-background: var(--jp-layout-color1);\n --jp-input-background: var(--md-grey-100);\n --jp-input-border-color: var(--jp-inverse-border-color);\n --jp-input-active-border-color: var(--jp-brand-color1);\n --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);\n\n /* General editor styles */\n\n --jp-editor-selected-background: #d9d9d9;\n --jp-editor-selected-focused-background: #d7d4f0;\n --jp-editor-cursor-color: var(--jp-ui-font-color0);\n\n /* Code mirror specific styles */\n\n --jp-mirror-editor-keyword-color: #008000;\n --jp-mirror-editor-atom-color: #88f;\n --jp-mirror-editor-number-color: #080;\n --jp-mirror-editor-def-color: #00f;\n --jp-mirror-editor-variable-color: var(--md-grey-900);\n --jp-mirror-editor-variable-2-color: #05a;\n --jp-mirror-editor-variable-3-color: #085;\n --jp-mirror-editor-punctuation-color: #05a;\n --jp-mirror-editor-property-color: #05a;\n --jp-mirror-editor-operator-color: #aa22ff;\n --jp-mirror-editor-comment-color: #408080;\n --jp-mirror-editor-string-color: #ba2121;\n --jp-mirror-editor-string-2-color: #708;\n --jp-mirror-editor-meta-color: #aa22ff;\n --jp-mirror-editor-qualifier-color: #555;\n --jp-mirror-editor-builtin-color: #008000;\n --jp-mirror-editor-bracket-color: #997;\n --jp-mirror-editor-tag-color: #170;\n --jp-mirror-editor-attribute-color: #00c;\n --jp-mirror-editor-header-color: blue;\n --jp-mirror-editor-quote-color: #090;\n --jp-mirror-editor-link-color: #00c;\n --jp-mirror-editor-error-color: #f00;\n --jp-mirror-editor-hr-color: #999;\n\n /* Vega extension styles */\n\n --jp-vega-background: white;\n\n /* Sidebar-related styles */\n\n --jp-sidebar-min-width: 250px;\n\n /* Search-related styles */\n\n --jp-search-toggle-off-opacity: 0.5;\n --jp-search-toggle-hover-opacity: 0.8;\n --jp-search-toggle-on-opacity: 1;\n --jp-search-selected-match-background-color: rgb(245, 200, 0);\n --jp-search-selected-match-color: black;\n --jp-search-unselected-match-background-color: var(\n --jp-inverse-layout-color0\n );\n --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);\n\n /* Icon colors that work well with light or dark backgrounds */\n --jp-icon-contrast-color0: var(--md-purple-600);\n --jp-icon-contrast-color1: var(--md-green-600);\n --jp-icon-contrast-color2: var(--md-pink-600);\n --jp-icon-contrast-color3: var(--md-blue-600);\n}\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Set the default typography for monospace elements */\ntt,\ncode,\nkbd,\nsamp,\npre {\n font-family: var(--jp-code-font-family);\n font-size: var(--jp-code-font-size);\n line-height: var(--jp-code-line-height);\n}\n\n"],"sourceRoot":""}]);
-// Exports
-/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
-
-
-/***/ }),
-
-/***/ "./style/base.css":
-/*!************************!*\
- !*** ./style/base.css ***!
- \************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
-/* harmony export */ });
-/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
-/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!./base.css */ "./node_modules/css-loader/dist/cjs.js!./style/base.css");
-
-
-
-var options = {};
-
-options.insert = "head";
-options.singleton = false;
-
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_1__["default"], options);
-
-
-
-/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
-
-/***/ }),
-
-/***/ "./style/index.js":
-/*!************************!*\
- !*** ./style/index.js ***!
- \************************/
-/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.css */ "./style/base.css");
-
-
-
-/***/ }),
-
-/***/ "data:image/svg+xml,":
-/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** data:image/svg+xml, ***!
- \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
-/***/ ((module) => {
-
-module.exports = "data:image/svg+xml,";
-
-/***/ })
-
-}]);
-//# sourceMappingURL=style_index_js.8d733cc8b74fabbd10b8.js.map
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style_index_js.8d733cc8b74fabbd10b8.js.map b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style_index_js.8d733cc8b74fabbd10b8.js.map
deleted file mode 100644
index c39a124ce9d..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/style_index_js.8d733cc8b74fabbd10b8.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"style_index_js.8d733cc8b74fabbd10b8.js","mappings":"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","sources":["webpack://neural_compressor_ext_lab/./style/base.css","webpack://neural_compressor_ext_lab/./style/base.css?1944","webpack://neural_compressor_ext_lab/./style/index.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml,\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n See the JupyterLab Developer Guide for useful CSS Patterns:\\n\\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\\n*/\\n.lds-ripple {\\n display: flex;\\n position: absolute; \\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 80px;\\n height: 80px;\\n}\\n.lds-ripple div {\\n position: absolute; \\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n border: 4px solid rgb(245, 131, 55);\\n opacity: 1;\\n border-radius: 50%;\\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\\n}\\n.lds-ripple div:nth-child(2) {\\n animation-delay: -0.5s;\\n}\\n@keyframes lds-ripple {\\n 0% {\\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 0;\\n height: 0;\\n opacity: 0;\\n }\\n 4.9% {\\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 0;\\n height: 0;\\n opacity: 0;\\n }\\n 5% {\\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 0;\\n height: 0;\\n opacity: 1;\\n }\\n 100% {\\n top: 0px;\\n left: 0px;\\n width: 72px;\\n height: 72px;\\n opacity: 0;\\n }\\n}\\n\\n\\n/* CSS */\\n.button-62 {\\n background: linear-gradient(to bottom right, #EF4765, #FF9A5A);\\n border: 0;\\n border-radius: 12px;\\n color: #FFFFFF;\\n cursor: pointer;\\n display: inline-block;\\n font-family: -apple-system,system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif;\\n font-size: 16px;\\n font-weight: 500;\\n line-height: 2.5;\\n outline: transparent;\\n padding: 0 1rem;\\n text-align: center;\\n text-decoration: none;\\n transition: box-shadow .2s ease-in-out;\\n user-select: none;\\n -webkit-user-select: none;\\n touch-action: manipulation;\\n white-space: nowrap;\\n}\\n\\n.button-62:not([disabled]):focus {\\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\\n}\\n\\n.button-62:not([disabled]):hover {\\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\\n}\\n\\n.aselector select {\\n background-color: initial;\\n border: none;\\n border-radius: 0;\\n box-shadow: none;\\n color: var(--jp-ui-font-color0);\\n display: block;\\n font-size: var(--jp-ui-font-size1);\\n height: 24px;\\n line-height: 14px;\\n padding: 0 25px 0 10px;\\n text-align: left;\\n -moz-appearance: none;\\n -webkit-appearance: none;\\n}\\n\\n/* Use our own theme for hover and option styles */\\n.aselector select:hover,\\n.aselector select > option {\\n background-color: var(--jp-layout-color2);\\n color: var(--jp-ui-font-color0);\\n}\\nselect {\\n box-sizing: border-box;\\n}\\n\\n.font{\\nbackground-color: initial;\\nborder: none;\\nheight: 21px;\\nborder-radius: 0;\\nfont-weight:500;\\ncolor: var(--jp-ui-font-color0);\\ndisplay: block;\\nline-height: 22.5px;\\npadding: 0 25px 0 10px;\\nfont-size: var(--jp-ui-font-size1);\\n}\\n.wrapper {\\n display: flex;\\n}\\n.f1ozlkqi {\\n pointer-events: none;\\n}\\n\\n.palybutton{\\n background-image: '/home2/longxin/Neural_Coder_EXT/style/icons8-circled-play.gif';\\n}\\n.loading{\\n \\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n background-size: contain; \\n}\\n\\n.dialog{\\nbody {\\n margin: 0;\\n height: 100vh;\\n width:600px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n font-family: \\\"Poppins\\\", sans-serif;\\n background: #e3d0b6;\\n}\\n\\n#cookie-policy {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n width: 460px;\\n height: 600px;\\n background: #f3efe6;\\n border-radius: 12px;\\n transform: scale(.8);\\n}\\n\\n#cookie-wrapper {\\n height: 240px;\\n width: 240px;\\n margin: 30px 0;\\n position: relative;\\n left: -40px;\\n}\\n\\nh1 {\\n color: #6c3a1f;\\n text-align: center;\\n font-size: 36px;\\n margin: 0;\\n}\\n\\np {\\n color: #a28561;\\n font-size: 14px;\\n margin-top: 0;\\n padding: 0 60px;\\n text-align: center;\\n}\\na {\\n margin-top: 18px;\\n font-size: 14px;\\n color: #a28561;\\n text-decoration: none;\\n pointer-events: none;\\n}\\na:hover {\\n color: #846b4d;\\n}\\n\\nspan {\\n font-family: \\\"Amatic SC\\\", cursive;\\n font-weight: 400;\\n font-size: 20px;\\n position: relative;\\n top: -18px;\\n left: 3px;\\n color: #a28561; \\n}\\n\\n#heart-no, #thought-heart-yes, #mouth, #face-no, #thought-1, #thought-2, #thought-heart-na, #q-mark, #eyes, #leg-l, #leg-r {\\n opacity: 0;\\n}\\n}\\n.dia_button {\\n color: white;\\n background: #dd794a;\\n margin-top: 12px;\\n cursor: pointer;\\n font-size: 24px;\\n font-family: \\\"Poppins\\\", sans-serif;\\n border-radius: 9px;\\n border: none;\\n width: 72%;\\n padding: 12px 0;\\n transition: 150ms ease-out;\\n pointer-events: none;\\n}\\n\\n.dia_button:hover {\\n background: #d66029;\\n}\\n\\n.pad{\\n padding-left:6%\\n}\\n\\n:root {\\n /* Elevation\\n *\\n * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:\\n *\\n * https://github.com/material-components/material-components-web\\n * https://material-components-web.appspot.com/elevation.html\\n */\\n\\n --jp-shadow-base-lightness: 0;\\n --jp-shadow-umbra-color: rgba(\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n 0.2\\n );\\n --jp-shadow-penumbra-color: rgba(\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n 0.14\\n );\\n --jp-shadow-ambient-color: rgba(\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n 0.12\\n );\\n --jp-elevation-z0: none;\\n --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),\\n 0px 1px 1px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 3px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),\\n 0px 2px 2px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 5px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),\\n 0px 4px 5px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 10px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),\\n 0px 6px 10px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 18px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),\\n 0px 8px 10px 1px var(--jp-shadow-penumbra-color),\\n 0px 3px 14px 2px var(--jp-shadow-ambient-color);\\n --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),\\n 0px 12px 17px 2px var(--jp-shadow-penumbra-color),\\n 0px 5px 22px 4px var(--jp-shadow-ambient-color);\\n --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),\\n 0px 16px 24px 2px var(--jp-shadow-penumbra-color),\\n 0px 6px 30px 5px var(--jp-shadow-ambient-color);\\n --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),\\n 0px 20px 31px 3px var(--jp-shadow-penumbra-color),\\n 0px 8px 38px 7px var(--jp-shadow-ambient-color);\\n --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),\\n 0px 24px 38px 3px var(--jp-shadow-penumbra-color),\\n 0px 9px 46px 8px var(--jp-shadow-ambient-color);\\n\\n /* Borders\\n *\\n * The following variables, specify the visual styling of borders in JupyterLab.\\n */\\n\\n --jp-border-width: 1px;\\n --jp-border-color0: var(--md-grey-400);\\n --jp-border-color1: var(--md-grey-400);\\n --jp-border-color2: var(--md-grey-300);\\n --jp-border-color3: var(--md-grey-200);\\n --jp-inverse-border-color: var(--md-grey-600);\\n --jp-border-radius: 2px;\\n\\n /* UI Fonts\\n *\\n * The UI font CSS variables are used for the typography all of the JupyterLab\\n * user interface elements that are not directly user generated content.\\n *\\n * The font sizing here is done assuming that the body font size of --jp-ui-font-size1\\n * is applied to a parent element. When children elements, such as headings, are sized\\n * in em all things will be computed relative to that body size.\\n */\\n\\n --jp-ui-font-scale-factor: 1.2;\\n --jp-ui-font-size0: 0.83333em;\\n --jp-ui-font-size1: 13px; /* Base font size */\\n --jp-ui-font-size2: 1.2em;\\n --jp-ui-font-size3: 1.44em;\\n\\n --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,\\n Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\\n\\n /*\\n * Use these font colors against the corresponding main layout colors.\\n * In a light theme, these go from dark to light.\\n */\\n\\n /* Defaults use Material Design specification */\\n --jp-ui-font-color0: rgba(0, 0, 0, 1);\\n --jp-ui-font-color1: rgba(0, 0, 0, 0.87);\\n --jp-ui-font-color2: rgba(0, 0, 0, 0.54);\\n --jp-ui-font-color3: rgba(0, 0, 0, 0.38);\\n\\n /*\\n * Use these against the brand/accent/warn/error colors.\\n * These will typically go from light to darker, in both a dark and light theme.\\n */\\n\\n --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);\\n --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);\\n --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);\\n --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);\\n\\n /* Content Fonts\\n *\\n * Content font variables are used for typography of user generated content.\\n *\\n * The font sizing here is done assuming that the body font size of --jp-content-font-size1\\n * is applied to a parent element. When children elements, such as headings, are sized\\n * in em all things will be computed relative to that body size.\\n */\\n\\n --jp-content-line-height: 1.6;\\n --jp-content-font-scale-factor: 1.2;\\n --jp-content-font-size0: 0.83333em;\\n --jp-content-font-size1: 14px; /* Base font size */\\n --jp-content-font-size2: 1.2em;\\n --jp-content-font-size3: 1.44em;\\n --jp-content-font-size4: 1.728em;\\n --jp-content-font-size5: 2.0736em;\\n\\n /* This gives a magnification of about 125% in presentation mode over normal. */\\n --jp-content-presentation-font-size1: 17px;\\n\\n --jp-content-heading-line-height: 1;\\n --jp-content-heading-margin-top: 1.2em;\\n --jp-content-heading-margin-bottom: 0.8em;\\n --jp-content-heading-font-weight: 500;\\n\\n /* Defaults use Material Design specification */\\n --jp-content-font-color0: rgba(0, 0, 0, 1);\\n --jp-content-font-color1: rgba(0, 0, 0, 0.87);\\n --jp-content-font-color2: rgba(0, 0, 0, 0.54);\\n --jp-content-font-color3: rgba(0, 0, 0, 0.38);\\n\\n --jp-content-link-color: var(--md-blue-700);\\n\\n --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',\\n Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\\n 'Segoe UI Symbol';\\n\\n /*\\n * Code Fonts\\n *\\n * Code font variables are used for typography of code and other monospaces content.\\n */\\n\\n --jp-code-font-size: 13px;\\n --jp-code-line-height: 1.3077; /* 17px for 13px base */\\n --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */\\n --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace;\\n --jp-code-font-family: var(--jp-code-font-family-default);\\n\\n /* This gives a magnification of about 125% in presentation mode over normal. */\\n --jp-code-presentation-font-size: 16px;\\n\\n /* may need to tweak cursor width if you change font size */\\n --jp-code-cursor-width0: 1.4px;\\n --jp-code-cursor-width1: 2px;\\n --jp-code-cursor-width2: 4px;\\n\\n /* Layout\\n *\\n * The following are the main layout colors use in JupyterLab. In a light\\n * theme these would go from light to dark.\\n */\\n\\n --jp-layout-color0: white;\\n --jp-layout-color1: white;\\n --jp-layout-color2: var(--md-grey-200);\\n --jp-layout-color3: var(--md-grey-400);\\n --jp-layout-color4: var(--md-grey-600);\\n\\n /* Inverse Layout\\n *\\n * The following are the inverse layout colors use in JupyterLab. In a light\\n * theme these would go from dark to light.\\n */\\n\\n --jp-inverse-layout-color0: #111111;\\n --jp-inverse-layout-color1: var(--md-grey-900);\\n --jp-inverse-layout-color2: var(--md-grey-800);\\n --jp-inverse-layout-color3: var(--md-grey-700);\\n --jp-inverse-layout-color4: var(--md-grey-600);\\n\\n /* Brand/accent */\\n\\n --jp-brand-color0: var(--md-blue-900);\\n --jp-brand-color1: var(--md-blue-700);\\n --jp-brand-color2: var(--md-blue-300);\\n --jp-brand-color3: var(--md-blue-100);\\n --jp-brand-color4: var(--md-blue-50);\\n\\n --jp-accent-color0: var(--md-green-900);\\n --jp-accent-color1: var(--md-green-700);\\n --jp-accent-color2: var(--md-green-300);\\n --jp-accent-color3: var(--md-green-100);\\n\\n /* State colors (warn, error, success, info) */\\n\\n --jp-warn-color0: var(--md-orange-900);\\n --jp-warn-color1: var(--md-orange-700);\\n --jp-warn-color2: var(--md-orange-300);\\n --jp-warn-color3: var(--md-orange-100);\\n\\n --jp-error-color0: var(--md-red-900);\\n --jp-error-color1: var(--md-red-700);\\n --jp-error-color2: var(--md-red-300);\\n --jp-error-color3: var(--md-red-100);\\n\\n --jp-success-color0: var(--md-green-900);\\n --jp-success-color1: var(--md-green-700);\\n --jp-success-color2: var(--md-green-300);\\n --jp-success-color3: var(--md-green-100);\\n\\n --jp-info-color0: var(--md-cyan-900);\\n --jp-info-color1: var(--md-cyan-700);\\n --jp-info-color2: var(--md-cyan-300);\\n --jp-info-color3: var(--md-cyan-100);\\n\\n /* Cell specific styles */\\n\\n --jp-cell-padding: 5px;\\n\\n --jp-cell-collapser-width: 8px;\\n --jp-cell-collapser-min-height: 20px;\\n --jp-cell-collapser-not-active-hover-opacity: 0.6;\\n\\n --jp-cell-editor-background: var(--md-grey-100);\\n --jp-cell-editor-border-color: var(--md-grey-300);\\n --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);\\n --jp-cell-editor-active-background: var(--jp-layout-color0);\\n --jp-cell-editor-active-border-color: var(--jp-brand-color1);\\n\\n --jp-cell-prompt-width: 64px;\\n --jp-cell-prompt-font-family: var(--jp-code-font-family-default);\\n --jp-cell-prompt-letter-spacing: 0px;\\n --jp-cell-prompt-opacity: 1;\\n --jp-cell-prompt-not-active-opacity: 0.5;\\n --jp-cell-prompt-not-active-font-color: var(--md-grey-700);\\n /* A custom blend of MD grey and blue 600\\n * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */\\n --jp-cell-inprompt-font-color: #307fc1;\\n /* A custom blend of MD grey and orange 600\\n * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */\\n --jp-cell-outprompt-font-color: #bf5b3d;\\n\\n /* Notebook specific styles */\\n\\n --jp-notebook-padding: 10px;\\n --jp-notebook-select-background: var(--jp-layout-color1);\\n --jp-notebook-multiselected-color: var(--md-blue-50);\\n\\n /* The scroll padding is calculated to fill enough space at the bottom of the\\n notebook to show one single-line cell (with appropriate padding) at the top\\n when the notebook is scrolled all the way to the bottom. We also subtract one\\n pixel so that no scrollbar appears if we have just one single-line cell in the\\n notebook. This padding is to enable a 'scroll past end' feature in a notebook.\\n */\\n --jp-notebook-scroll-padding: calc(\\n 100% - var(--jp-code-font-size) * var(--jp-code-line-height) -\\n var(--jp-code-padding) - var(--jp-cell-padding) - 1px\\n );\\n\\n /* Rendermime styles */\\n\\n --jp-rendermime-error-background: #fdd;\\n --jp-rendermime-table-row-background: var(--md-grey-100);\\n --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);\\n\\n /* Dialog specific styles */\\n\\n --jp-dialog-background: rgba(0, 0, 0, 0.25);\\n\\n /* Console specific styles */\\n\\n --jp-console-padding: 10px;\\n\\n /* Toolbar specific styles */\\n\\n --jp-toolbar-border-color: var(--jp-border-color1);\\n --jp-toolbar-micro-height: 8px;\\n --jp-toolbar-background: var(--jp-layout-color1);\\n --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);\\n --jp-toolbar-header-margin: 4px 4px 0px 4px;\\n --jp-toolbar-active-background: var(--md-grey-300);\\n\\n /* Statusbar specific styles */\\n\\n --jp-statusbar-height: 24px;\\n\\n /* Input field styles */\\n\\n --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);\\n --jp-input-active-background: var(--jp-layout-color1);\\n --jp-input-hover-background: var(--jp-layout-color1);\\n --jp-input-background: var(--md-grey-100);\\n --jp-input-border-color: var(--jp-inverse-border-color);\\n --jp-input-active-border-color: var(--jp-brand-color1);\\n --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);\\n\\n /* General editor styles */\\n\\n --jp-editor-selected-background: #d9d9d9;\\n --jp-editor-selected-focused-background: #d7d4f0;\\n --jp-editor-cursor-color: var(--jp-ui-font-color0);\\n\\n /* Code mirror specific styles */\\n\\n --jp-mirror-editor-keyword-color: #008000;\\n --jp-mirror-editor-atom-color: #88f;\\n --jp-mirror-editor-number-color: #080;\\n --jp-mirror-editor-def-color: #00f;\\n --jp-mirror-editor-variable-color: var(--md-grey-900);\\n --jp-mirror-editor-variable-2-color: #05a;\\n --jp-mirror-editor-variable-3-color: #085;\\n --jp-mirror-editor-punctuation-color: #05a;\\n --jp-mirror-editor-property-color: #05a;\\n --jp-mirror-editor-operator-color: #aa22ff;\\n --jp-mirror-editor-comment-color: #408080;\\n --jp-mirror-editor-string-color: #ba2121;\\n --jp-mirror-editor-string-2-color: #708;\\n --jp-mirror-editor-meta-color: #aa22ff;\\n --jp-mirror-editor-qualifier-color: #555;\\n --jp-mirror-editor-builtin-color: #008000;\\n --jp-mirror-editor-bracket-color: #997;\\n --jp-mirror-editor-tag-color: #170;\\n --jp-mirror-editor-attribute-color: #00c;\\n --jp-mirror-editor-header-color: blue;\\n --jp-mirror-editor-quote-color: #090;\\n --jp-mirror-editor-link-color: #00c;\\n --jp-mirror-editor-error-color: #f00;\\n --jp-mirror-editor-hr-color: #999;\\n\\n /* Vega extension styles */\\n\\n --jp-vega-background: white;\\n\\n /* Sidebar-related styles */\\n\\n --jp-sidebar-min-width: 250px;\\n\\n /* Search-related styles */\\n\\n --jp-search-toggle-off-opacity: 0.5;\\n --jp-search-toggle-hover-opacity: 0.8;\\n --jp-search-toggle-on-opacity: 1;\\n --jp-search-selected-match-background-color: rgb(245, 200, 0);\\n --jp-search-selected-match-color: black;\\n --jp-search-unselected-match-background-color: var(\\n --jp-inverse-layout-color0\\n );\\n --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);\\n\\n /* Icon colors that work well with light or dark backgrounds */\\n --jp-icon-contrast-color0: var(--md-purple-600);\\n --jp-icon-contrast-color1: var(--md-green-600);\\n --jp-icon-contrast-color2: var(--md-pink-600);\\n --jp-icon-contrast-color3: var(--md-blue-600);\\n}\\n\\n/*-----------------------------------------------------------------------------\\n| Copyright (c) Jupyter Development Team.\\n| Distributed under the terms of the Modified BSD License.\\n|----------------------------------------------------------------------------*/\\n\\n/* Set the default typography for monospace elements */\\ntt,\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: var(--jp-code-font-family);\\n font-size: var(--jp-code-font-size);\\n line-height: var(--jp-code-line-height);\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./style/base.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*\\n See the JupyterLab Developer Guide for useful CSS Patterns:\\n\\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\\n*/\\n.lds-ripple {\\n display: flex;\\n position: absolute; \\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 80px;\\n height: 80px;\\n}\\n.lds-ripple div {\\n position: absolute; \\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n border: 4px solid rgb(245, 131, 55);\\n opacity: 1;\\n border-radius: 50%;\\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\\n}\\n.lds-ripple div:nth-child(2) {\\n animation-delay: -0.5s;\\n}\\n@keyframes lds-ripple {\\n 0% {\\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 0;\\n height: 0;\\n opacity: 0;\\n }\\n 4.9% {\\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 0;\\n height: 0;\\n opacity: 0;\\n }\\n 5% {\\n left: 0; \\n top: 0; \\n right: 0; \\n bottom: 0;\\n margin: auto; \\n width: 0;\\n height: 0;\\n opacity: 1;\\n }\\n 100% {\\n top: 0px;\\n left: 0px;\\n width: 72px;\\n height: 72px;\\n opacity: 0;\\n }\\n}\\n\\n\\n/* CSS */\\n.button-62 {\\n background: linear-gradient(to bottom right, #EF4765, #FF9A5A);\\n border: 0;\\n border-radius: 12px;\\n color: #FFFFFF;\\n cursor: pointer;\\n display: inline-block;\\n font-family: -apple-system,system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif;\\n font-size: 16px;\\n font-weight: 500;\\n line-height: 2.5;\\n outline: transparent;\\n padding: 0 1rem;\\n text-align: center;\\n text-decoration: none;\\n transition: box-shadow .2s ease-in-out;\\n user-select: none;\\n -webkit-user-select: none;\\n touch-action: manipulation;\\n white-space: nowrap;\\n}\\n\\n.button-62:not([disabled]):focus {\\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\\n}\\n\\n.button-62:not([disabled]):hover {\\n box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.5), -.125rem -.125rem 1rem rgba(239, 71, 101, 0.5), .125rem .125rem 1rem rgba(255, 154, 90, 0.5);\\n}\\n\\n.aselector select {\\n background-color: initial;\\n border: none;\\n border-radius: 0;\\n box-shadow: none;\\n color: var(--jp-ui-font-color0);\\n display: block;\\n font-size: var(--jp-ui-font-size1);\\n height: 24px;\\n line-height: 14px;\\n padding: 0 25px 0 10px;\\n text-align: left;\\n -moz-appearance: none;\\n -webkit-appearance: none;\\n}\\n\\n/* Use our own theme for hover and option styles */\\n.aselector select:hover,\\n.aselector select > option {\\n background-color: var(--jp-layout-color2);\\n color: var(--jp-ui-font-color0);\\n}\\nselect {\\n box-sizing: border-box;\\n}\\n\\n.font{\\nbackground-color: initial;\\nborder: none;\\nheight: 21px;\\nborder-radius: 0;\\nfont-weight:500;\\ncolor: var(--jp-ui-font-color0);\\ndisplay: block;\\nline-height: 22.5px;\\npadding: 0 25px 0 10px;\\nfont-size: var(--jp-ui-font-size1);\\n}\\n.wrapper {\\n display: flex;\\n}\\n.f1ozlkqi {\\n pointer-events: none;\\n}\\n\\n.palybutton{\\n background-image: '/home2/longxin/Neural_Coder_EXT/style/icons8-circled-play.gif';\\n}\\n.loading{\\n \\n background-image: url(\\\"data:image/svg+xml,\\\");\\n background-size: contain; \\n}\\n\\n.dialog{\\nbody {\\n margin: 0;\\n height: 100vh;\\n width:600px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n font-family: \\\"Poppins\\\", sans-serif;\\n background: #e3d0b6;\\n}\\n\\n#cookie-policy {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n width: 460px;\\n height: 600px;\\n background: #f3efe6;\\n border-radius: 12px;\\n transform: scale(.8);\\n}\\n\\n#cookie-wrapper {\\n height: 240px;\\n width: 240px;\\n margin: 30px 0;\\n position: relative;\\n left: -40px;\\n}\\n\\nh1 {\\n color: #6c3a1f;\\n text-align: center;\\n font-size: 36px;\\n margin: 0;\\n}\\n\\np {\\n color: #a28561;\\n font-size: 14px;\\n margin-top: 0;\\n padding: 0 60px;\\n text-align: center;\\n}\\na {\\n margin-top: 18px;\\n font-size: 14px;\\n color: #a28561;\\n text-decoration: none;\\n pointer-events: none;\\n}\\na:hover {\\n color: #846b4d;\\n}\\n\\nspan {\\n font-family: \\\"Amatic SC\\\", cursive;\\n font-weight: 400;\\n font-size: 20px;\\n position: relative;\\n top: -18px;\\n left: 3px;\\n color: #a28561; \\n}\\n\\n#heart-no, #thought-heart-yes, #mouth, #face-no, #thought-1, #thought-2, #thought-heart-na, #q-mark, #eyes, #leg-l, #leg-r {\\n opacity: 0;\\n}\\n}\\n.dia_button {\\n color: white;\\n background: #dd794a;\\n margin-top: 12px;\\n cursor: pointer;\\n font-size: 24px;\\n font-family: \\\"Poppins\\\", sans-serif;\\n border-radius: 9px;\\n border: none;\\n width: 72%;\\n padding: 12px 0;\\n transition: 150ms ease-out;\\n pointer-events: none;\\n}\\n\\n.dia_button:hover {\\n background: #d66029;\\n}\\n\\n.pad{\\n padding-left:6%\\n}\\n\\n:root {\\n /* Elevation\\n *\\n * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:\\n *\\n * https://github.com/material-components/material-components-web\\n * https://material-components-web.appspot.com/elevation.html\\n */\\n\\n --jp-shadow-base-lightness: 0;\\n --jp-shadow-umbra-color: rgba(\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n 0.2\\n );\\n --jp-shadow-penumbra-color: rgba(\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n 0.14\\n );\\n --jp-shadow-ambient-color: rgba(\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n var(--jp-shadow-base-lightness),\\n 0.12\\n );\\n --jp-elevation-z0: none;\\n --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),\\n 0px 1px 1px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 3px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),\\n 0px 2px 2px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 5px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),\\n 0px 4px 5px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 10px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),\\n 0px 6px 10px 0px var(--jp-shadow-penumbra-color),\\n 0px 1px 18px 0px var(--jp-shadow-ambient-color);\\n --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),\\n 0px 8px 10px 1px var(--jp-shadow-penumbra-color),\\n 0px 3px 14px 2px var(--jp-shadow-ambient-color);\\n --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),\\n 0px 12px 17px 2px var(--jp-shadow-penumbra-color),\\n 0px 5px 22px 4px var(--jp-shadow-ambient-color);\\n --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),\\n 0px 16px 24px 2px var(--jp-shadow-penumbra-color),\\n 0px 6px 30px 5px var(--jp-shadow-ambient-color);\\n --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),\\n 0px 20px 31px 3px var(--jp-shadow-penumbra-color),\\n 0px 8px 38px 7px var(--jp-shadow-ambient-color);\\n --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),\\n 0px 24px 38px 3px var(--jp-shadow-penumbra-color),\\n 0px 9px 46px 8px var(--jp-shadow-ambient-color);\\n\\n /* Borders\\n *\\n * The following variables, specify the visual styling of borders in JupyterLab.\\n */\\n\\n --jp-border-width: 1px;\\n --jp-border-color0: var(--md-grey-400);\\n --jp-border-color1: var(--md-grey-400);\\n --jp-border-color2: var(--md-grey-300);\\n --jp-border-color3: var(--md-grey-200);\\n --jp-inverse-border-color: var(--md-grey-600);\\n --jp-border-radius: 2px;\\n\\n /* UI Fonts\\n *\\n * The UI font CSS variables are used for the typography all of the JupyterLab\\n * user interface elements that are not directly user generated content.\\n *\\n * The font sizing here is done assuming that the body font size of --jp-ui-font-size1\\n * is applied to a parent element. When children elements, such as headings, are sized\\n * in em all things will be computed relative to that body size.\\n */\\n\\n --jp-ui-font-scale-factor: 1.2;\\n --jp-ui-font-size0: 0.83333em;\\n --jp-ui-font-size1: 13px; /* Base font size */\\n --jp-ui-font-size2: 1.2em;\\n --jp-ui-font-size3: 1.44em;\\n\\n --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,\\n Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\\n\\n /*\\n * Use these font colors against the corresponding main layout colors.\\n * In a light theme, these go from dark to light.\\n */\\n\\n /* Defaults use Material Design specification */\\n --jp-ui-font-color0: rgba(0, 0, 0, 1);\\n --jp-ui-font-color1: rgba(0, 0, 0, 0.87);\\n --jp-ui-font-color2: rgba(0, 0, 0, 0.54);\\n --jp-ui-font-color3: rgba(0, 0, 0, 0.38);\\n\\n /*\\n * Use these against the brand/accent/warn/error colors.\\n * These will typically go from light to darker, in both a dark and light theme.\\n */\\n\\n --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);\\n --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);\\n --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);\\n --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);\\n\\n /* Content Fonts\\n *\\n * Content font variables are used for typography of user generated content.\\n *\\n * The font sizing here is done assuming that the body font size of --jp-content-font-size1\\n * is applied to a parent element. When children elements, such as headings, are sized\\n * in em all things will be computed relative to that body size.\\n */\\n\\n --jp-content-line-height: 1.6;\\n --jp-content-font-scale-factor: 1.2;\\n --jp-content-font-size0: 0.83333em;\\n --jp-content-font-size1: 14px; /* Base font size */\\n --jp-content-font-size2: 1.2em;\\n --jp-content-font-size3: 1.44em;\\n --jp-content-font-size4: 1.728em;\\n --jp-content-font-size5: 2.0736em;\\n\\n /* This gives a magnification of about 125% in presentation mode over normal. */\\n --jp-content-presentation-font-size1: 17px;\\n\\n --jp-content-heading-line-height: 1;\\n --jp-content-heading-margin-top: 1.2em;\\n --jp-content-heading-margin-bottom: 0.8em;\\n --jp-content-heading-font-weight: 500;\\n\\n /* Defaults use Material Design specification */\\n --jp-content-font-color0: rgba(0, 0, 0, 1);\\n --jp-content-font-color1: rgba(0, 0, 0, 0.87);\\n --jp-content-font-color2: rgba(0, 0, 0, 0.54);\\n --jp-content-font-color3: rgba(0, 0, 0, 0.38);\\n\\n --jp-content-link-color: var(--md-blue-700);\\n\\n --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',\\n Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\\n 'Segoe UI Symbol';\\n\\n /*\\n * Code Fonts\\n *\\n * Code font variables are used for typography of code and other monospaces content.\\n */\\n\\n --jp-code-font-size: 13px;\\n --jp-code-line-height: 1.3077; /* 17px for 13px base */\\n --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */\\n --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace;\\n --jp-code-font-family: var(--jp-code-font-family-default);\\n\\n /* This gives a magnification of about 125% in presentation mode over normal. */\\n --jp-code-presentation-font-size: 16px;\\n\\n /* may need to tweak cursor width if you change font size */\\n --jp-code-cursor-width0: 1.4px;\\n --jp-code-cursor-width1: 2px;\\n --jp-code-cursor-width2: 4px;\\n\\n /* Layout\\n *\\n * The following are the main layout colors use in JupyterLab. In a light\\n * theme these would go from light to dark.\\n */\\n\\n --jp-layout-color0: white;\\n --jp-layout-color1: white;\\n --jp-layout-color2: var(--md-grey-200);\\n --jp-layout-color3: var(--md-grey-400);\\n --jp-layout-color4: var(--md-grey-600);\\n\\n /* Inverse Layout\\n *\\n * The following are the inverse layout colors use in JupyterLab. In a light\\n * theme these would go from dark to light.\\n */\\n\\n --jp-inverse-layout-color0: #111111;\\n --jp-inverse-layout-color1: var(--md-grey-900);\\n --jp-inverse-layout-color2: var(--md-grey-800);\\n --jp-inverse-layout-color3: var(--md-grey-700);\\n --jp-inverse-layout-color4: var(--md-grey-600);\\n\\n /* Brand/accent */\\n\\n --jp-brand-color0: var(--md-blue-900);\\n --jp-brand-color1: var(--md-blue-700);\\n --jp-brand-color2: var(--md-blue-300);\\n --jp-brand-color3: var(--md-blue-100);\\n --jp-brand-color4: var(--md-blue-50);\\n\\n --jp-accent-color0: var(--md-green-900);\\n --jp-accent-color1: var(--md-green-700);\\n --jp-accent-color2: var(--md-green-300);\\n --jp-accent-color3: var(--md-green-100);\\n\\n /* State colors (warn, error, success, info) */\\n\\n --jp-warn-color0: var(--md-orange-900);\\n --jp-warn-color1: var(--md-orange-700);\\n --jp-warn-color2: var(--md-orange-300);\\n --jp-warn-color3: var(--md-orange-100);\\n\\n --jp-error-color0: var(--md-red-900);\\n --jp-error-color1: var(--md-red-700);\\n --jp-error-color2: var(--md-red-300);\\n --jp-error-color3: var(--md-red-100);\\n\\n --jp-success-color0: var(--md-green-900);\\n --jp-success-color1: var(--md-green-700);\\n --jp-success-color2: var(--md-green-300);\\n --jp-success-color3: var(--md-green-100);\\n\\n --jp-info-color0: var(--md-cyan-900);\\n --jp-info-color1: var(--md-cyan-700);\\n --jp-info-color2: var(--md-cyan-300);\\n --jp-info-color3: var(--md-cyan-100);\\n\\n /* Cell specific styles */\\n\\n --jp-cell-padding: 5px;\\n\\n --jp-cell-collapser-width: 8px;\\n --jp-cell-collapser-min-height: 20px;\\n --jp-cell-collapser-not-active-hover-opacity: 0.6;\\n\\n --jp-cell-editor-background: var(--md-grey-100);\\n --jp-cell-editor-border-color: var(--md-grey-300);\\n --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);\\n --jp-cell-editor-active-background: var(--jp-layout-color0);\\n --jp-cell-editor-active-border-color: var(--jp-brand-color1);\\n\\n --jp-cell-prompt-width: 64px;\\n --jp-cell-prompt-font-family: var(--jp-code-font-family-default);\\n --jp-cell-prompt-letter-spacing: 0px;\\n --jp-cell-prompt-opacity: 1;\\n --jp-cell-prompt-not-active-opacity: 0.5;\\n --jp-cell-prompt-not-active-font-color: var(--md-grey-700);\\n /* A custom blend of MD grey and blue 600\\n * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */\\n --jp-cell-inprompt-font-color: #307fc1;\\n /* A custom blend of MD grey and orange 600\\n * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */\\n --jp-cell-outprompt-font-color: #bf5b3d;\\n\\n /* Notebook specific styles */\\n\\n --jp-notebook-padding: 10px;\\n --jp-notebook-select-background: var(--jp-layout-color1);\\n --jp-notebook-multiselected-color: var(--md-blue-50);\\n\\n /* The scroll padding is calculated to fill enough space at the bottom of the\\n notebook to show one single-line cell (with appropriate padding) at the top\\n when the notebook is scrolled all the way to the bottom. We also subtract one\\n pixel so that no scrollbar appears if we have just one single-line cell in the\\n notebook. This padding is to enable a 'scroll past end' feature in a notebook.\\n */\\n --jp-notebook-scroll-padding: calc(\\n 100% - var(--jp-code-font-size) * var(--jp-code-line-height) -\\n var(--jp-code-padding) - var(--jp-cell-padding) - 1px\\n );\\n\\n /* Rendermime styles */\\n\\n --jp-rendermime-error-background: #fdd;\\n --jp-rendermime-table-row-background: var(--md-grey-100);\\n --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);\\n\\n /* Dialog specific styles */\\n\\n --jp-dialog-background: rgba(0, 0, 0, 0.25);\\n\\n /* Console specific styles */\\n\\n --jp-console-padding: 10px;\\n\\n /* Toolbar specific styles */\\n\\n --jp-toolbar-border-color: var(--jp-border-color1);\\n --jp-toolbar-micro-height: 8px;\\n --jp-toolbar-background: var(--jp-layout-color1);\\n --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);\\n --jp-toolbar-header-margin: 4px 4px 0px 4px;\\n --jp-toolbar-active-background: var(--md-grey-300);\\n\\n /* Statusbar specific styles */\\n\\n --jp-statusbar-height: 24px;\\n\\n /* Input field styles */\\n\\n --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);\\n --jp-input-active-background: var(--jp-layout-color1);\\n --jp-input-hover-background: var(--jp-layout-color1);\\n --jp-input-background: var(--md-grey-100);\\n --jp-input-border-color: var(--jp-inverse-border-color);\\n --jp-input-active-border-color: var(--jp-brand-color1);\\n --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);\\n\\n /* General editor styles */\\n\\n --jp-editor-selected-background: #d9d9d9;\\n --jp-editor-selected-focused-background: #d7d4f0;\\n --jp-editor-cursor-color: var(--jp-ui-font-color0);\\n\\n /* Code mirror specific styles */\\n\\n --jp-mirror-editor-keyword-color: #008000;\\n --jp-mirror-editor-atom-color: #88f;\\n --jp-mirror-editor-number-color: #080;\\n --jp-mirror-editor-def-color: #00f;\\n --jp-mirror-editor-variable-color: var(--md-grey-900);\\n --jp-mirror-editor-variable-2-color: #05a;\\n --jp-mirror-editor-variable-3-color: #085;\\n --jp-mirror-editor-punctuation-color: #05a;\\n --jp-mirror-editor-property-color: #05a;\\n --jp-mirror-editor-operator-color: #aa22ff;\\n --jp-mirror-editor-comment-color: #408080;\\n --jp-mirror-editor-string-color: #ba2121;\\n --jp-mirror-editor-string-2-color: #708;\\n --jp-mirror-editor-meta-color: #aa22ff;\\n --jp-mirror-editor-qualifier-color: #555;\\n --jp-mirror-editor-builtin-color: #008000;\\n --jp-mirror-editor-bracket-color: #997;\\n --jp-mirror-editor-tag-color: #170;\\n --jp-mirror-editor-attribute-color: #00c;\\n --jp-mirror-editor-header-color: blue;\\n --jp-mirror-editor-quote-color: #090;\\n --jp-mirror-editor-link-color: #00c;\\n --jp-mirror-editor-error-color: #f00;\\n --jp-mirror-editor-hr-color: #999;\\n\\n /* Vega extension styles */\\n\\n --jp-vega-background: white;\\n\\n /* Sidebar-related styles */\\n\\n --jp-sidebar-min-width: 250px;\\n\\n /* Search-related styles */\\n\\n --jp-search-toggle-off-opacity: 0.5;\\n --jp-search-toggle-hover-opacity: 0.8;\\n --jp-search-toggle-on-opacity: 1;\\n --jp-search-selected-match-background-color: rgb(245, 200, 0);\\n --jp-search-selected-match-color: black;\\n --jp-search-unselected-match-background-color: var(\\n --jp-inverse-layout-color0\\n );\\n --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);\\n\\n /* Icon colors that work well with light or dark backgrounds */\\n --jp-icon-contrast-color0: var(--md-purple-600);\\n --jp-icon-contrast-color1: var(--md-green-600);\\n --jp-icon-contrast-color2: var(--md-pink-600);\\n --jp-icon-contrast-color3: var(--md-blue-600);\\n}\\n\\n/*-----------------------------------------------------------------------------\\n| Copyright (c) Jupyter Development Team.\\n| Distributed under the terms of the Modified BSD License.\\n|----------------------------------------------------------------------------*/\\n\\n/* Set the default typography for monospace elements */\\ntt,\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: var(--jp-code-font-family);\\n font-size: var(--jp-code-font-size);\\n line-height: var(--jp-code-line-height);\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../node_modules/css-loader/dist/cjs.js!./base.css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import './base.css';\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854.e09faf9ec3a764e40dc7.js b/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854.e09faf9ec3a764e40dc7.js
deleted file mode 100644
index 34c1fdb7608..00000000000
--- a/neural_coder/extensions/neural_compressor_ext_lab/neural_compressor_ext_lab/labextension/static/vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854.e09faf9ec3a764e40dc7.js
+++ /dev/null
@@ -1,463 +0,0 @@
-"use strict";
-(self["webpackChunkneural_compressor_ext_lab"] = self["webpackChunkneural_compressor_ext_lab"] || []).push([["vendors-node_modules_css-loader_dist_runtime_api_js-node_modules_css-loader_dist_runtime_getU-849854"],{
-
-/***/ "./node_modules/css-loader/dist/runtime/api.js":
-/*!*****************************************************!*\
- !*** ./node_modules/css-loader/dist/runtime/api.js ***!
- \*****************************************************/
-/***/ ((module) => {
-
-
-
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-module.exports = function (cssWithMappingToString) {
- var list = []; // return the list of modules as css string
-
- list.toString = function toString() {
- return this.map(function (item) {
- var content = "";
- var needLayer = typeof item[5] !== "undefined";
-
- if (item[4]) {
- content += "@supports (".concat(item[4], ") {");
- }
-
- if (item[2]) {
- content += "@media ".concat(item[2], " {");
- }
-
- if (needLayer) {
- content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
- }
-
- content += cssWithMappingToString(item);
-
- if (needLayer) {
- content += "}";
- }
-
- if (item[2]) {
- content += "}";
- }
-
- if (item[4]) {
- content += "}";
- }
-
- return content;
- }).join("");
- }; // import a list of modules into the list
-
-
- list.i = function i(modules, media, dedupe, supports, layer) {
- if (typeof modules === "string") {
- modules = [[null, modules, undefined]];
- }
-
- var alreadyImportedModules = {};
-
- if (dedupe) {
- for (var k = 0; k < this.length; k++) {
- var id = this[k][0];
-
- if (id != null) {
- alreadyImportedModules[id] = true;
- }
- }
- }
-
- for (var _k = 0; _k < modules.length; _k++) {
- var item = [].concat(modules[_k]);
-
- if (dedupe && alreadyImportedModules[item[0]]) {
- continue;
- }
-
- if (typeof layer !== "undefined") {
- if (typeof item[5] === "undefined") {
- item[5] = layer;
- } else {
- item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
- item[5] = layer;
- }
- }
-
- if (media) {
- if (!item[2]) {
- item[2] = media;
- } else {
- item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
- item[2] = media;
- }
- }
-
- if (supports) {
- if (!item[4]) {
- item[4] = "".concat(supports);
- } else {
- item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
- item[4] = supports;
- }
- }
-
- list.push(item);
- }
- };
-
- return list;
-};
-
-/***/ }),
-
-/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
-/*!********************************************************!*\
- !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
- \********************************************************/
-/***/ ((module) => {
-
-
-
-module.exports = function (url, options) {
- if (!options) {
- options = {};
- }
-
- if (!url) {
- return url;
- }
-
- url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them
-
- if (/^['"].*['"]$/.test(url)) {
- url = url.slice(1, -1);
- }
-
- if (options.hash) {
- url += options.hash;
- } // Should url be wrapped?
- // See https://drafts.csswg.org/css-values-3/#urls
-
-
- if (/["'() \t\n]|(%20)/.test(url) || options.needQuotes) {
- return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, "\\n"), "\"");
- }
-
- return url;
-};
-
-/***/ }),
-
-/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js":
-/*!************************************************************!*\
- !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***!
- \************************************************************/
-/***/ ((module) => {
-
-
-
-module.exports = function (item) {
- var content = item[1];
- var cssMapping = item[3];
-
- if (!cssMapping) {
- return content;
- }
-
- if (typeof btoa === "function") {
- var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));
- var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
- var sourceMapping = "/*# ".concat(data, " */");
- var sourceURLs = cssMapping.sources.map(function (source) {
- return "/*# sourceURL=".concat(cssMapping.sourceRoot || "").concat(source, " */");
- });
- return [content].concat(sourceURLs).concat([sourceMapping]).join("\n");
- }
-
- return [content].join("\n");
-};
-
-/***/ }),
-
-/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
-/*!****************************************************************************!*\
- !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
- \****************************************************************************/
-/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
-
-
-
-var isOldIE = function isOldIE() {
- var memo;
- return function memorize() {
- if (typeof memo === 'undefined') {
- // Test for IE <= 9 as proposed by Browserhacks
- // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
- // Tests for existence of standard globals is to allow style-loader
- // to operate correctly into non-standard environments
- // @see https://github.com/webpack-contrib/style-loader/issues/177
- memo = Boolean(window && document && document.all && !window.atob);
- }
-
- return memo;
- };
-}();
-
-var getTarget = function getTarget() {
- var memo = {};
- return function memorize(target) {
- if (typeof memo[target] === 'undefined') {
- var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
-
- if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
- try {
- // This will throw an exception if access to iframe is blocked
- // due to cross-origin restrictions
- styleTarget = styleTarget.contentDocument.head;
- } catch (e) {
- // istanbul ignore next
- styleTarget = null;
- }
- }
-
- memo[target] = styleTarget;
- }
-
- return memo[target];
- };
-}();
-
-var stylesInDom = [];
-
-function getIndexByIdentifier(identifier) {
- var result = -1;
-
- for (var i = 0; i < stylesInDom.length; i++) {
- if (stylesInDom[i].identifier === identifier) {
- result = i;
- break;
- }
- }
-
- return result;
-}
-
-function modulesToDom(list, options) {
- var idCountMap = {};
- var identifiers = [];
-
- for (var i = 0; i < list.length; i++) {
- var item = list[i];
- var id = options.base ? item[0] + options.base : item[0];
- var count = idCountMap[id] || 0;
- var identifier = "".concat(id, " ").concat(count);
- idCountMap[id] = count + 1;
- var index = getIndexByIdentifier(identifier);
- var obj = {
- css: item[1],
- media: item[2],
- sourceMap: item[3]
- };
-
- if (index !== -1) {
- stylesInDom[index].references++;
- stylesInDom[index].updater(obj);
- } else {
- stylesInDom.push({
- identifier: identifier,
- updater: addStyle(obj, options),
- references: 1
- });
- }
-
- identifiers.push(identifier);
- }
-
- return identifiers;
-}
-
-function insertStyleElement(options) {
- var style = document.createElement('style');
- var attributes = options.attributes || {};
-
- if (typeof attributes.nonce === 'undefined') {
- var nonce = true ? __webpack_require__.nc : 0;
-
- if (nonce) {
- attributes.nonce = nonce;
- }
- }
-
- Object.keys(attributes).forEach(function (key) {
- style.setAttribute(key, attributes[key]);
- });
-
- if (typeof options.insert === 'function') {
- options.insert(style);
- } else {
- var target = getTarget(options.insert || 'head');
-
- if (!target) {
- throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
- }
-
- target.appendChild(style);
- }
-
- return style;
-}
-
-function removeStyleElement(style) {
- // istanbul ignore if
- if (style.parentNode === null) {
- return false;
- }
-
- style.parentNode.removeChild(style);
-}
-/* istanbul ignore next */
-
-
-var replaceText = function replaceText() {
- var textStore = [];
- return function replace(index, replacement) {
- textStore[index] = replacement;
- return textStore.filter(Boolean).join('\n');
- };
-}();
-
-function applyToSingletonTag(style, index, remove, obj) {
- var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
-
- /* istanbul ignore if */
-
- if (style.styleSheet) {
- style.styleSheet.cssText = replaceText(index, css);
- } else {
- var cssNode = document.createTextNode(css);
- var childNodes = style.childNodes;
-
- if (childNodes[index]) {
- style.removeChild(childNodes[index]);
- }
-
- if (childNodes.length) {
- style.insertBefore(cssNode, childNodes[index]);
- } else {
- style.appendChild(cssNode);
- }
- }
-}
-
-function applyToTag(style, options, obj) {
- var css = obj.css;
- var media = obj.media;
- var sourceMap = obj.sourceMap;
-
- if (media) {
- style.setAttribute('media', media);
- } else {
- style.removeAttribute('media');
- }
-
- if (sourceMap && typeof btoa !== 'undefined') {
- css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
- } // For old IE
-
- /* istanbul ignore if */
-
-
- if (style.styleSheet) {
- style.styleSheet.cssText = css;
- } else {
- while (style.firstChild) {
- style.removeChild(style.firstChild);
- }
-
- style.appendChild(document.createTextNode(css));
- }
-}
-
-var singleton = null;
-var singletonCounter = 0;
-
-function addStyle(obj, options) {
- var style;
- var update;
- var remove;
-
- if (options.singleton) {
- var styleIndex = singletonCounter++;
- style = singleton || (singleton = insertStyleElement(options));
- update = applyToSingletonTag.bind(null, style, styleIndex, false);
- remove = applyToSingletonTag.bind(null, style, styleIndex, true);
- } else {
- style = insertStyleElement(options);
- update = applyToTag.bind(null, style, options);
-
- remove = function remove() {
- removeStyleElement(style);
- };
- }
-
- update(obj);
- return function updateStyle(newObj) {
- if (newObj) {
- if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
- return;
- }
-
- update(obj = newObj);
- } else {
- remove();
- }
- };
-}
-
-module.exports = function (list, options) {
- options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of