1 |
- {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\thread-loader\\dist\\cjs.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\eslint-loader\\index.js??ref--13-0!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\utils\\index.js","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\utils\\index.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiOwppbXBvcnQgTlAgZnJvbSAibnVtYmVyLXByZWNpc2lvbiI7Ci8qKgogKiDlsIbljYHlha3ov5vliLbpopzoibLovazkuLpyZ2JhCiAq5L2/55So5pe25Y+q6ZyA5Lyg5YWl5Y2B5YWt6L+b5Yi25a2X56ym5Liy77yM4oCcbuKAneihqOekuumAj+aYjuW6pgogKiAqLwoKZXhwb3J0IGNvbnN0IGNvbG9yUmdiYSA9IChzdHIsIG4pID0+IHsKICBpZiAoIXN0cikgewogICAgcmV0dXJuOwogIH0gLy8g5Y2B5YWt6L+b5Yi26aKc6Imy5YC855qE5q2j5YiZ6KGo6L6+5byPCgoKICBsZXQgcmVnID0gL14jKFswLTlhLWZBLWZdezN9fFswLTlhLWZBLWZdezZ9KSQvOwogIGxldCBzQ29sb3IgPSBzdHIudG9Mb3dlckNhc2UoKTsgLy8g5Y2B5YWt6L+b5Yi26aKc6Imy6L2s5o2i5Li6UkdC5qC85byPCgogIGlmIChzQ29sb3IgJiYgcmVnLnRlc3Qoc0NvbG9yKSkgewogICAgaWYgKHNDb2xvci5sZW5ndGggPT09IDQpIHsKICAgICAgbGV0IHNDb2xvck5ldyA9ICIjIjsKCiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgNDsgaSArPSAxKSB7CiAgICAgICAgLy8g5L6L5aaC77yaI2VlZSwjZmZm562JCiAgICAgICAgc0NvbG9yTmV3ICs9IHNDb2xvci5zbGljZShpLCBpICsgMSkuY29uY2F0KHNDb2xvci5zbGljZShpLCBpICsgMSkpOwogICAgICB9CgogICAgICBzQ29sb3IgPSBzQ29sb3JOZXc7CiAgICB9IC8vIOWkhOeQhuWFreS9jeminOiJsuWAvAoKCiAgICBsZXQgc0NvbG9yQ2hhbmdlID0gW107CgogICAgZm9yIChsZXQgaSA9IDE7IGkgPCA3OyBpICs9IDIpIHsKICAgICAgc0NvbG9yQ2hhbmdlLnB1c2gocGFyc2VJbnQoIjB4IiArIHNDb2xvci5zbGljZShpLCBpICsgMikpKTsKICAgIH0KCiAgICByZXR1cm4gInJnYmEoIiArIHNDb2xvckNoYW5nZS5qb2luKCIsIikgKyAiLCIgKyBuICsgIikiOwogIH0gZWxzZSB7CiAgICByZXR1cm4gc0NvbG9yOwogIH0KfTsKZXhwb3J0IGZ1bmN0aW9uIHNlY29uZCh2YWx1ZSkgewogIGxldCB0aGVUaW1lID0gcGFyc2VJbnQodmFsdWUpOyAvLyDnp5IKCiAgbGV0IG1pZGRsZSA9IDA7IC8vIOWIhgoKICBsZXQgaG91ciA9IDA7IC8vIOWwj+aXtgoKICBpZiAodGhlVGltZSA+IDYwKSB7CiAgICBtaWRkbGUgPSBwYXJzZUludCh0aGVUaW1lIC8gNjApOwogICAgdGhlVGltZSA9IHBhcnNlSW50KHRoZVRpbWUgJSA2MCk7CgogICAgaWYgKG1pZGRsZSA+IDYwKSB7CiAgICAgIGhvdXIgPSBwYXJzZUludChtaWRkbGUgLyA2MCk7CiAgICAgIG1pZGRsZSA9IHBhcnNlSW50KG1pZGRsZSAlIDYwKTsKICAgIH0KICB9CgogIGxldCByZXN1bHQgPSAiIiArIHBhcnNlSW50KHRoZVRpbWUpICsgIuenkiI7CgogIGlmIChtaWRkbGUgPiAwKSB7CiAgICByZXN1bHQgPSAiIiArIHBhcnNlSW50KG1pZGRsZSkgKyAi5YiGIiArIHJlc3VsdDsKICB9CgogIGlmIChob3VyID4gMCkgewogICAgcmVzdWx0ID0gIiIgKyBwYXJzZUludChob3VyKSArICLlsI/ml7YiICsgcmVzdWx0OwogIH0KCiAgcmV0dXJuIHJlc3VsdDsKfQovKioKICog5bCGcm91dGVy6L2s5o2i5LiA5LiL77yM6L2s5o2i5oiQ5LiA57qn6I+c5Y2VCiAqIHBhcmFtczogcm91dGVzIOaVsOe7hAogKiBwYXJhbXM6IG5ld1JvdXRlcyDlr7nosaHlsZ7mgKcKICovCgpleHBvcnQgZnVuY3Rpb24gZm9ybWF0Um91dGVyKHJvdXRlcywgbmV3Um91dGVzID0gW10pIHsKICByb3V0ZXMubWFwKGl0ZW0gPT4gewogICAgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSBmb3JtYXRSb3V0ZXIoaXRlbS5jaGlsZHJlbiwgbmV3Um91dGVzKTsKICAgIG5ld1JvdXRlcy5wdXNoKGl0ZW0pOwogIH0pOwogIHJldHVybiBuZXdSb3V0ZXM7Cn0KLyoqCiAqIOaVsOe7hOWOu+mHjQogKiDmjInmlbDnu4Tlr7nosaHnmoTmn5DkuIDkuKrlsZ7mgKfmiJbkuKTkuKrmiJbkuInkuKrlsZ7mgKfljrvph40KICogcGFyYW1zOiBhcnIg5pWw57uECiAqIHBhcmFtczogcHJvcGVydHkg5a+56LGh5bGe5oCnCiAqLwoKZXhwb3J0IGNvbnN0IHVuaXF1ZSA9IChhcnIgPSBbXSwgcHJvcGVydHkgPSBbXSkgPT4gewogIGZvciAobGV0IGkgPSAwLCBsZW4gPSBhcnIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IGxlbjsgaisrKSB7CiAgICAgIGlmIChwcm9wZXJ0eS5sZW5ndGggPT09IDEpIHsKICAgICAgICBpZiAoYXJyW2ldW3Byb3BlcnR5WzBdXSA9PT0gYXJyW2pdW3Byb3BlcnR5WzBdXSkgewogICAgICAgICAgYXJyLnNwbGljZShqLCAxKTsgLy8gc3BsaWNlIOS8muaUueWPmOaVsOe7hOmVv+W6pu+8jOaJgOS7peimgeWwhuaVsOe7hOmVv+W6piBsZW4g5ZKM5LiL5qCHIGog5YeP5LiACgogICAgICAgICAgbGVuLS07CiAgICAgICAgICBqLS07CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHByb3BlcnR5Lmxlbmd0aCA9PT0gMikgewogICAgICAgIGlmIChhcnJbaV1bcHJvcGVydHlbMF1dID09PSBhcnJbal1bcHJvcGVydHlbMF1dICYmIGFycltpXVtwcm9wZXJ0eVsxXV0gPT09IGFycltqXVtwcm9wZXJ0eVsxXV0pIHsKICAgICAgICAgIGFyci5zcGxpY2UoaiwgMSk7IC8vIHNwbGljZSDkvJrmlLnlj5jmlbDnu4Tplb/luqbvvIzmiYDku6XopoHlsIbmlbDnu4Tplb/luqYgbGVuIOWSjOS4i+aghyBqIOWHj+S4gAoKICAgICAgICAgIGxlbi0tOwogICAgICAgICAgai0tOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eS5sZW5ndGggPT09IDMpIHsKICAgICAgICBpZiAoYXJyW2ldW3Byb3BlcnR5WzBdXSA9PT0gYXJyW2pdW3Byb3BlcnR5WzBdXSAmJiBhcnJbaV1bcHJvcGVydHlbMV1dID09PSBhcnJbal1bcHJvcGVydHlbMV1dICYmIGFycltpXVtwcm9wZXJ0eVsyXV0gPT09IGFycltqXVtwcm9wZXJ0eVsyXV0pIHsKICAgICAgICAgIGFyci5zcGxpY2UoaiwgMSk7IC8vIHNwbGljZSDkvJrmlLnlj5jmlbDnu4Tplb/luqbvvIzmiYDku6XopoHlsIbmlbDnu4Tplb/luqYgbGVuIOWSjOS4i+aghyBqIOWHj+S4gAoKICAgICAgICAgIGxlbi0tOwogICAgICAgICAgai0tOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoYXJyW2ldID09PSBhcnJbal0pIHsKICAgICAgICAgIGFyci5zcGxpY2UoaiwgMSk7IC8vIHNwbGljZSDkvJrmlLnlj5jmlbDnu4Tplb/luqbvvIzmiYDku6XopoHlsIbmlbDnu4Tplb/luqYgbGVuIOWSjOS4i+aghyBqIOWHj+S4gAoKICAgICAgICAgIGxlbi0tOwogICAgICAgICAgai0tOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIGFycjsKfTsKLyoqCiAqIOiOt+WPluW9k+WJjeaXpeacn+WJjeWQjk7lpKnnmoTml6XmnJ8KICogKi8KCmV4cG9ydCBmdW5jdGlvbiBmdW5EYXRlKGFhKSB7CiAgbGV0IGRhdGUxID0gbmV3IERhdGUoKTsKICBsZXQgdGltZTEgPSBkYXRlMS5nZXRGdWxsWWVhcigpICsgIi0iICsgKGRhdGUxLmdldE1vbnRoKCkgKyAxKSArICItIiArIGRhdGUxLmdldERhdGUoKTsgLy8gdGltZTHooajnpLrlvZPliY3ml7bpl7QKCiAgbGV0IGRhdGUyID0gbmV3IERhdGUoZGF0ZTEpOwogIGRhdGUyLnNldERhdGUoZGF0ZTEuZ2V0RGF0ZSgpICsgYWEpOwogIGxldCB0aW1lMiA9IGRhdGUyLmdldEZ1bGxZZWFyKCkgKyAiLSIgKyAoZGF0ZTIuZ2V0TW9udGgoKSArIDEpICsgIi0iICsgZGF0ZTIuZ2V0RGF0ZSgpOwogIHJldHVybiB0aW1lMjsKfSAvLyDmnKzmnIjnrKzkuIDlpKkKCmV4cG9ydCBmdW5jdGlvbiBzaG93TW9udGhGaXJzdERheSgpIHsKICB2YXIgTm93ZGF0ZSA9IG5ldyBEYXRlKCk7CiAgdmFyIE1vbnRoRmlyc3REYXkgPSBuZXcgRGF0ZShOb3dkYXRlLmdldEZ1bGxZZWFyKCksIE5vd2RhdGUuZ2V0TW9udGgoKSwgMSk7CiAgY29uc3QgTSA9IE51bWJlcihNb250aEZpcnN0RGF5LmdldE1vbnRoKCkpICsgMTsKICByZXR1cm4gTW9udGhGaXJzdERheS5nZXRGdWxsWWVhcigpICsgIi8iICsgTSArICIvIiArIE1vbnRoRmlyc3REYXkuZ2V0RGF0ZSgpICsgIiAwMDowMDowMCI7Cn0KLyoqCiAqIOihqOagvOihjOWQiOW5tgogKi8KCmV4cG9ydCBjb25zdCBnZXRTcGFuQXJyID0gKGRhdGEsIGtleSkgPT4gewogIGxldCBzcGFuQXJyID0gW107CiAgbGV0IHBvcyA9IDA7CgogIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykgewogICAgaWYgKGkgPT09IDApIHsKICAgICAgc3BhbkFyci5wdXNoKDEpOwogICAgICBwb3MgPSAwOwogICAgfSBlbHNlIHsKICAgICAgLy8g5Yik5pat6L+Z5LiA5p2h5ZKM5LiK5LiA5p2haWTmmK/lkKbnm7jlkIwKICAgICAgaWYgKGRhdGFbaV1ba2V5XSA9PT0gZGF0YVtpIC0gMV1ba2V5XSkgewogICAgICAgIHNwYW5BcnJbcG9zXSArPSAxOwogICAgICAgIHNwYW5BcnIucHVzaCgwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBzcGFuQXJyLnB1c2goMSk7CiAgICAgICAgcG9zID0gaTsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIHsKICAgIHNwYW5BcnI6IHNwYW5BcnIsCiAgICBwb3M6IHBvcwogIH07Cn07IC8vIOiOt+WPluW9k+WJjeaXtumXtO+8jOagvOW8j1lZWVktTU0tREQKCmV4cG9ydCBmdW5jdGlvbiBnZXROb3dGb3JtYXREYXRlKCkgewogIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpOwogIGNvbnN0IHNlcGVyYXRvcjEgPSAiLSI7CiAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTsKICBsZXQgbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxOwogIGxldCBzdHJEYXRlID0gZGF0ZS5nZXREYXRlKCk7CgogIGlmIChtb250aCA+PSAxICYmIG1vbnRoIDw9IDkpIHsKICAgIG1vbnRoID0gIjAiICsgbW9udGg7CiAgfQoKICBpZiAoc3RyRGF0ZSA+PSAwICYmIHN0ckRhdGUgPD0gOSkgewogICAgc3RyRGF0ZSA9ICIwIiArIHN0ckRhdGU7CiAgfQoKICBjb25zdCBjdXJyZW50ZGF0ZSA9IHllYXIgKyBzZXBlcmF0b3IxICsgbW9udGggKyBzZXBlcmF0b3IxICsgc3RyRGF0ZTsKICByZXR1cm4gY3VycmVudGRhdGU7Cn0KLyoqCiAqIOa3seaLt+i0nQogKiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGRlZXBDbG9uZShkYXRhKSB7CiAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpOwp9Ci8qKgogKiB0YWJsZSDlkIjorqHlv4XopoHlrZfmrrUKICovCgpleHBvcnQgY29uc3QgZ2V0U3VtbWFyaWVzID0gKHBhcmFtcywgbm9kZSA9IFtdKSA9PiB7CiAgY29uc3QgewogICAgY29sdW1ucywKICAgIGRhdGEKICB9ID0gcGFyYW1zOwogIGNvbnN0IHN1bXMgPSBbXTsKICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHsKICAgIGlmIChpbmRleCA9PT0gMCkgewogICAgICBzdW1zW2luZGV4XSA9ICLlkIjorqEiOwogICAgICByZXR1cm47CiAgICB9CgogICAgY29uc3QgdmFsdWVzID0gZGF0YS5tYXAoaXRlbSA9PiBOdW1iZXIoaXRlbVtjb2x1bW4ucHJvcGVydHldKSk7CgogICAgaWYgKCF2YWx1ZXMuZXZlcnkodmFsdWUgPT4gaXNOYU4odmFsdWUpKSkgewogICAgICBzdW1zW2luZGV4XSA9IHZhbHVlcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHsKICAgICAgICBjb25zdCB2YWx1ZSA9IE51bWJlcihjdXJyKTsKCiAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHsKICAgICAgICAgIHJldHVybiBmb3JtYXROdWIoTlAucGx1cyhOdW1iZXIocHJldikgfHwgMCwgTnVtYmVyKGN1cnIpIHx8IDApKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZvcm1hdE51YihwcmV2KSB8fCAwOwogICAgICAgIH0KICAgICAgfSwgMCk7CgogICAgICBpZiAoIW5vZGUuaW5jbHVkZXMoY29sdW1uLmxhYmVsKSkgewogICAgICAgIHN1bXNbaW5kZXhdID0gIi8iOwogICAgICB9CgogICAgICBzdW1zW2luZGV4XSArPSAiIjsKICAgIH0gZWxzZSB7CiAgICAgIHN1bXNbaW5kZXhdID0gIi8iOwogICAgfQogIH0pOwogIHJldHVybiBzdW1zOwp9OwovKioKICogdGFibGUg5ZCI6K6h5b+F6KaB5a2X5q61CiAqIGNvbHVtbnMgdGFibGXliJfmlbDmja4KICogZGF0YSB0YWJsZSDooYzmlbDmja4KICogcHJvcGVydGllcyDkuI3ov5vooYzlkIjlubbnmoTlj4LmlbAKICovCgpleHBvcnQgY29uc3Qgc3VtTnVtVnhlID0gKGxpc3QsIGZpZWxkKSA9PiB7CiAgbGV0IGNvdW50ID0gMDsKICBsaXN0LmZvckVhY2goaXRlbSA9PiB7CiAgICBjb3VudCA9IE5QLnBsdXMoY291bnQsIE51bWJlcihpdGVtW2ZpZWxkXSkpOwogIH0pOwogIHJldHVybiBjb3VudDsKfTsKZXhwb3J0IGNvbnN0IGdldFN1bW1hcmllc1Z4ZSA9IChjb2x1bW5zLCBkYXRhLCBwcm9wZXJ0aWVzID0gW10pID0+IHsKICBjb25zdCBzdW1zID0gY29sdW1ucy5tYXAoKGNvbHVtbiwgY29sdW1uSW5kZXgpID0+IHsKICAgIGlmIChjb2x1bW5JbmRleCA9PT0gMCkgewogICAgICByZXR1cm4gIuWQiOiuoSI7CiAgICB9CgogICAgaWYgKCFjb2x1bW4ucHJvcGVydHkpIHsKICAgICAgcmV0dXJuICIvIjsKICAgIH0KCiAgICBpZiAoIXByb3BlcnRpZXMuaW5jbHVkZXMoY29sdW1uLnByb3BlcnR5KSkgewogICAgICBjb25zdCBudW0gPSBzdW1OdW1WeGUoZGF0YSwgY29sdW1uLnByb3BlcnR5KTsKICAgICAgcmV0dXJuIGlzTmFOKG51bSkgPyAiLyIgOiBmb3JtYXROdWIobnVtKTsKICAgIH0KCiAgICByZXR1cm4gIi8iOwogIH0pOyAvLyDov5Tlm57kuIDkuKrkuoznu7TmlbDnu4TnmoTooajlsL7lkIjorqEKCiAgcmV0dXJuIFtzdW1zXTsKfTsKLyoqCiAqIOWIpOaWreW9k+WJjemhtemdou+8jOaYr+S9v+eUqOaQnOe0ouW8leaTjuaOpeWPo+i/mOaYr+S9v+eUqOWIl+ihqOaOpeWPowogKi8KCmV4cG9ydCBjb25zdCBpc1NlcmNoID0gb2JqID0+IHsKICBsZXQgaXNLZXkgPSBmYWxzZTsKCiAgZm9yIChsZXQgaSBpbiBvYmopIHsKICAgIGxldCBpdGVtID0gb2JqW2ldOwoKICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7CiAgICAgIGlmIChpdGVtLmxlbmd0aCA+IDApIHsKICAgICAgICBpc0tleSA9IHRydWU7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09ICJzdHJpbmciIHx8IHR5cGVvZiBpdGVtID09PSAibnVtYmVyIiB8fCB0eXBlb2YgaXRlbSA9PT0gImJvb2xlYW4iKSB7CiAgICAgIGlmIChpdGVtKSB7CiAgICAgICAgaXNLZXkgPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSAib2JqZWN0IikgewogICAgICBpZiAoaXRlbSAmJiBKU09OLnN0cmluZ2lmeShpdGVtKSAhPT0gInt9IikgewogICAgICAgIGlzS2V5ID0gdHJ1ZTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIGlzS2V5Owp9OwovKioKICogQGRlc2NyaXB0aW9uIOaXtumXtOagvOW8j+WMliAg5pe26Ze05oiz6L2s5o2i5Li65pe26Ze0CiAqIEBwYXJhbSBkYXRlCiAqIEBwYXJhbSBmbXQg5L6L5aaCIHl5eXktTU0tZGQKICogQHJldHVybiB7Kn0KICovCgpleHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZShkYXRlLCBmbXQpIHsKICBpZiAoIWRhdGUpIHJldHVybjsKICBkYXRlICo9IChkYXRlICsgIiIpLmxlbmd0aCA9PT0gMTAgPyAxMDAwIDogMTsKCiAgbGV0IF9kYXRlID0gbmV3IERhdGUoZGF0ZSk7CgogIGxldCBfZm10ID0gZm10IHx8ICJ5eXl5LU1NLWRkIGhoOm1tIjsKCiAgbGV0IG8gPSB7CiAgICAiTSsiOiBfZGF0ZS5nZXRNb250aCgpICsgMSwKICAgICJkKyI6IF9kYXRlLmdldERhdGUoKSwKICAgICJoKyI6IF9kYXRlLmdldEhvdXJzKCksCiAgICAibSsiOiBfZGF0ZS5nZXRNaW51dGVzKCksCiAgICAicysiOiBfZGF0ZS5nZXRTZWNvbmRzKCkKICB9OwoKICBpZiAoLyh5KykvLnRlc3QoX2ZtdCkpIHsKICAgIF9mbXQgPSBfZm10LnJlcGxhY2UoUmVnRXhwLiQxLCAoX2RhdGUuZ2V0RnVsbFllYXIoKSArICIiKS5zdWJzdHIoNCAtIFJlZ0V4cC4kMS5sZW5ndGgpKTsKICB9CgogIGZvciAobGV0IGsgaW4gbykgewogICAgaWYgKG5ldyBSZWdFeHAoIigiICsgayArICIpIikudGVzdChfZm10KSkgewogICAgICBfZm10ID0gX2ZtdC5yZXBsYWNlKFJlZ0V4cC4kMSwgUmVnRXhwLiQxLmxlbmd0aCA9PT0gMSA/IG9ba10gOiAoIjAwIiArIG9ba10pLnN1YnN0cigoIiIgKyBvW2tdKS5sZW5ndGgpKTsKICAgIH0KICB9CgogIHJldHVybiBfZm10Owp9Ci8qKgogKiDmoLzlvI/ljJbmlbDlrZfvvIzmlbDlrZfmr4/pmpTkuInkvY3liqDkuKrpgJflj7cKICogcGFyYW1zOiBudW0g6ZyA6KaB5aSE55CG55qE5pWw5a2XCiAqIHBhcmFtczogbGVuIOmcgOimgeS/neeVmeeahOWwj+aVsOeCueS9jeaVsAogKi8KCmV4cG9ydCBjb25zdCBmb3JtYXR0ZWROdW1iZXIgPSAobnVtLCBsZW4gPSAyKSA9PiB7CiAgbGV0IHJlc3VsdCA9ICIiLAogICAgICBjb3VudGVyID0gMDsKICBsZXQgZm9ybWF0TnVtOwoKICBpZiAobnVtIDwgMCkgewogICAgZm9ybWF0TnVtID0gZm9ybWF0TnViKE1hdGguYWJzKG51bSkgfHwgMCwgbGVuKTsKICB9IGVsc2UgewogICAgZm9ybWF0TnVtID0gZm9ybWF0TnViKG51bSB8fCAwLCBsZW4pOwogIH0KCiAgbGV0IHN0cmluZ051bSA9IGZvcm1hdE51bS50b1N0cmluZygpLnNwbGl0KCIuIik7CgogIGZvciAobGV0IGkgPSBzdHJpbmdOdW1bMF0ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgIGNvdW50ZXIrKzsKICAgIHJlc3VsdCA9IHN0cmluZ051bVswXS5jaGFyQXQoaSkgKyByZXN1bHQ7CgogICAgaWYgKCEoY291bnRlciAlIDMpICYmIGkgIT09IDApIHsKICAgICAgcmVzdWx0ID0gIiwiICsgcmVzdWx0OwogICAgfQogIH0KCiAgcmVzdWx0ID0gbnVtIDwgMCA/ICItIiArIHJlc3VsdCA6IHJlc3VsdDsKCiAgaWYgKHN0cmluZ051bVsxXSkgewogICAgcmV0dXJuICLCpSIgKyByZXN1bHQgKyAiLiIgKyBzdHJpbmdOdW1bMV07CiAgfSBlbHNlIHsKICAgIHJldHVybiAiwqUiICsgcmVzdWx0OwogIH0KfTsKLyoqCiAqIOS4jeWbm+iIjeS6lOWFpeS/neeVmW7kvY3lsI/mlbAKICogcGFyYW1zOiB2YWwg6ZyA6KaB5aSE55CG55qE5pWw5a2XCiAqIHBhcmFtczogbGVuIOmcgOimgeS/neeVmeeahOWwj+aVsOeCueS9jeaVsAogKi8KCmV4cG9ydCBjb25zdCBmb3JtYXROdWIgPSAobnVtLCBuID0gMikgPT4gewogIGlmIChuID4gMCkgewogICAgaWYgKHR5cGVvZiBudW0gIT0gIm51bWJlciIgJiYgIU51bWJlcihudW0pKSB7CiAgICAgIHJldHVybiAiMC4wMCI7CiAgICB9CgogICAgbnVtID0gTnVtYmVyKG51bSkudG9TdHJpbmcoKTsKICAgIGxldCByZXN1bHQgPSAiIjsKCiAgICBsZXQgemVyb1Jlc3VsdCA9IGZ1bmN0aW9uIChuKSB7CiAgICAgIGxldCB6ZXJvID0gIiI7CgogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHplcm8gKz0gIjAiOwogICAgICB9CgogICAgICByZXR1cm4gemVybzsKICAgIH07CgogICAgaWYgKG51bSAlIDEgPT0gMCkgewogICAgICAvL+aVtOaVsAogICAgICByZXN1bHQgPSBudW0gKyAiLiIgKyB6ZXJvUmVzdWx0KG4pOwogICAgfSBlbHNlIHsKICAgICAgLy/lsI/mlbAKICAgICAgbGV0IG51bTEgPSBudW0uc3BsaXQoIi4iKTsKCiAgICAgIGlmIChudW0xWzFdLmxlbmd0aCA8IG4pIHsKICAgICAgICByZXN1bHQgPSBudW0xWzBdICsgIi4iICsgbnVtMVsxXSArIHplcm9SZXN1bHQobiAtIG51bTFbMV0ubGVuZ3RoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXN1bHQgPSBudW0xWzBdICsgIi4iICsgbnVtMVsxXS5zdWJzdHJpbmcoMCwgbik7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gcmVzdWx0OwogIH0gZWxzZSB7CiAgICByZXR1cm4gTnVtYmVyKG51bSkgfHwgMDsKICB9Cn07Ci8qKgoKICogQGRlc2NyaXB0aW9uIOagvOW8j+WMluaXtumXtAogKiBAcGFyYW0gdGltZQogKiBAcGFyYW0gY0Zvcm1hdAogKiBAcmV0dXJucyB7c3RyaW5nfG51bGx9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lLCBjRm9ybWF0KSB7CiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHsKICAgIHJldHVybiBudWxsOwogIH0KCiAgY29uc3QgZm9ybWF0ID0gY0Zvcm1hdCB8fCAie3l9LXttfS17ZH0ge2h9OntpfTp7c30iOwogIGxldCBkYXRlOwoKICBpZiAodHlwZW9mIHRpbWUgPT09ICJvYmplY3QiKSB7CiAgICBkYXRlID0gdGltZTsKICB9IGVsc2UgewogICAgaWYgKHR5cGVvZiB0aW1lID09PSAic3RyaW5nIiAmJiAvXlswLTldKyQvLnRlc3QodGltZSkpIHsKICAgICAgdGltZSA9IHBhcnNlSW50KHRpbWUpOwogICAgfQoKICAgIGlmICh0eXBlb2YgdGltZSA9PT0gIm51bWJlciIgJiYgdGltZS50b1N0cmluZygpLmxlbmd0aCA9PT0gMTApIHsKICAgICAgdGltZSA9IHRpbWUgKiAxMDAwOwogICAgfQoKICAgIGRhdGUgPSBuZXcgRGF0ZSh0aW1lKTsKICB9CgogIGNvbnN0IGZvcm1hdE9iaiA9IHsKICAgIHk6IGRhdGUuZ2V0RnVsbFllYXIoKSwKICAgIG06IGRhdGUuZ2V0TW9udGgoKSArIDEsCiAgICBkOiBkYXRlLmdldERhdGUoKSwKICAgIGg6IGRhdGUuZ2V0SG91cnMoKSwKICAgIGk6IGRhdGUuZ2V0TWludXRlcygpLAogICAgczogZGF0ZS5nZXRTZWNvbmRzKCksCiAgICBhOiBkYXRlLmdldERheSgpCiAgfTsKICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoL3soW3ltZGhpc2FdKSt9L2csIChyZXN1bHQsIGtleSkgPT4gewogICAgbGV0IHZhbHVlID0gZm9ybWF0T2JqW2tleV07CgogICAgaWYgKGtleSA9PT0gImEiKSB7CiAgICAgIHJldHVybiBbIuaXpSIsICLkuIAiLCAi5LqMIiwgIuS4iSIsICLlm5siLCAi5LqUIiwgIuWFrSJdW3ZhbHVlXTsKICAgIH0KCiAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDAgJiYgdmFsdWUgPCAxMCkgewogICAgICB2YWx1ZSA9ICIwIiArIHZhbHVlOwogICAgfQoKICAgIHJldHVybiB2YWx1ZSB8fCAwOwogIH0pOwp9Ci8qKgoKICogQGRlc2NyaXB0aW9uIOagvOW8j+WMluaXtumXtAogKiBAcGFyYW0gdGltZQogKiBAcGFyYW0gb3B0aW9uCiAqIEByZXR1cm5zIHtzdHJpbmd9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWUodGltZSwgb3B0aW9uKSB7CiAgaWYgKCgiIiArIHRpbWUpLmxlbmd0aCA9PT0gMTApIHsKICAgIHRpbWUgPSBwYXJzZUludCh0aW1lKSAqIDEwMDA7CiAgfSBlbHNlIHsKICAgIHRpbWUgPSArdGltZTsKICB9CgogIGNvbnN0IGQgPSBuZXcgRGF0ZSh0aW1lKTsKICBjb25zdCBub3cgPSBEYXRlLm5vdygpOwogIGNvbnN0IGRpZmYgPSAobm93IC0gZCkgLyAxMDAwOwoKICBpZiAoZGlmZiA8IDMwKSB7CiAgICByZXR1cm4gIuWImuWImiI7CiAgfSBlbHNlIGlmIChkaWZmIDwgMzYwMCkgewogICAgLy8gbGVzcyAxIGhvdXIKICAgIHJldHVybiBNYXRoLmNlaWwoZGlmZiAvIDYwKSArICLliIbpkp/liY0iOwogIH0gZWxzZSBpZiAoZGlmZiA8IDM2MDAgKiAyNCkgewogICAgcmV0dXJuIE1hdGguY2VpbChkaWZmIC8gMzYwMCkgKyAi5bCP5pe25YmNIjsKICB9IGVsc2UgaWYgKGRpZmYgPCAzNjAwICogMjQgKiAyKSB7CiAgICByZXR1cm4gIjHlpKnliY0iOwogIH0KCiAgaWYgKG9wdGlvbikgewogICAgcmV0dXJuIHBhcnNlVGltZSh0aW1lLCBvcHRpb24pOwogIH0gZWxzZSB7CiAgICByZXR1cm4gZC5nZXRNb250aCgpICsgMSArICLmnIgiICsgZC5nZXREYXRlKCkgKyAi5pelIiArIGQuZ2V0SG91cnMoKSArICLml7YiICsgZC5nZXRNaW51dGVzKCkgKyAi5YiGIjsKICB9Cn0KLyoqCgogKiBAZGVzY3JpcHRpb24g5bCGdXJs6K+35rGC5Y+C5pWw6L2s5Li6anNvbuagvOW8jwogKiBAcGFyYW0gdXJsCiAqIEByZXR1cm5zIHt7fXxhbnl9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHBhcmFtT2JqKHVybCkgewogIGNvbnN0IHNlYXJjaCA9IHVybC5zcGxpdCgiPyIpWzFdOwoKICBpZiAoIXNlYXJjaCkgewogICAgcmV0dXJuIHt9OwogIH0KCiAgcmV0dXJuIEpTT04ucGFyc2UoJ3siJyArIGRlY29kZVVSSUNvbXBvbmVudChzZWFyY2gpLnJlcGxhY2UoLyIvZywgJ1xcIicpLnJlcGxhY2UoLyYvZywgJyIsIicpLnJlcGxhY2UoLz0vZywgJyI6IicpLnJlcGxhY2UoL1wrL2csICIgIikgKyAnIn0nKTsKfQovKioKCiAqIEBkZXNjcmlwdGlvbiDniLblrZDlhbPns7vnmoTmlbDnu4TovazmjaLmiJDmoJHlvaLnu5PmnoTmlbDmja4KICogQHBhcmFtIGRhdGEKICogQHJldHVybnMgeyp9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZURhdGFUb1RyZWUoZGF0YSkgewogIGNvbnN0IHBhcmVudCA9IGRhdGEuZmlsdGVyKHZhbHVlID0+IHZhbHVlLnBhcmVudElkID09PSAidW5kZWZpbmVkIiB8fCB2YWx1ZS5wYXJlbnRJZCA9PSBudWxsKTsKICBjb25zdCBjaGlsZHJlbiA9IGRhdGEuZmlsdGVyKHZhbHVlID0+IHZhbHVlLnBhcmVudElkICE9PSAidW5kZWZpbmVkIiAmJiB2YWx1ZS5wYXJlbnRJZCAhPSBudWxsKTsKCiAgY29uc3QgdHJhbnNsYXRvciA9IChwYXJlbnQsIGNoaWxkcmVuKSA9PiB7CiAgICBwYXJlbnQuZm9yRWFjaChwYXJlbnQgPT4gewogICAgICBjaGlsZHJlbi5mb3JFYWNoKChjdXJyZW50LCBpbmRleCkgPT4gewogICAgICAgIGlmIChjdXJyZW50LnBhcmVudElkID09PSBwYXJlbnQuaWQpIHsKICAgICAgICAgIGNvbnN0IHRlbXAgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNoaWxkcmVuKSk7CiAgICAgICAgICB0ZW1wLnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgICB0cmFuc2xhdG9yKFtjdXJyZW50XSwgdGVtcCk7CiAgICAgICAgICB0eXBlb2YgcGFyZW50LmNoaWxkcmVuICE9PSAidW5kZWZpbmVkIiA/IHBhcmVudC5jaGlsZHJlbi5wdXNoKGN1cnJlbnQpIDogcGFyZW50LmNoaWxkcmVuID0gW2N1cnJlbnRdOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9KTsKICB9OwoKICB0cmFuc2xhdG9yKHBhcmVudCwgY2hpbGRyZW4pOwogIHJldHVybiBwYXJlbnQ7Cn0KLyoqCgogKiBAZGVzY3JpcHRpb24g5qCR5b2i57uT5p6E5pWw5o2u6L2s5o2i5oiQ54i25a2Q5YWz57O755qE5pWw57uECiAqIEBwYXJhbSBkYXRhCiAqIEByZXR1cm5zIHtbXX0KICovCgpleHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlVHJlZVRvRGF0YShkYXRhKSB7CiAgY29uc3QgcmVzdWx0ID0gW107CiAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgY29uc3QgbG9vcCA9IGRhdGEgPT4gewogICAgICByZXN1bHQucHVzaCh7CiAgICAgICAgaWQ6IGRhdGEuaWQsCiAgICAgICAgbmFtZTogZGF0YS5uYW1lLAogICAgICAgIHBhcmVudElkOiBkYXRhLnBhcmVudElkCiAgICAgIH0pOwogICAgICBjb25zdCBjaGlsZCA9IGRhdGEuY2hpbGRyZW47CgogICAgICBpZiAoY2hpbGQpIHsKICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsb29wKGNoaWxkW2ldKTsKICAgICAgICB9CiAgICAgIH0KICAgIH07CgogICAgbG9vcChpdGVtKTsKICB9KTsKICByZXR1cm4gcmVzdWx0Owp9Ci8qKgoKICogQGRlc2NyaXB0aW9uIDEw5L2N5pe26Ze05oiz6L2s5o2iCiAqIEBwYXJhbSB0aW1lCiAqIEByZXR1cm5zIHtzdHJpbmd9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHRlbkJpdFRpbWVzdGFtcCh0aW1lKSB7CiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWUgKiAxMDAwKTsKICBjb25zdCB5ID0gZGF0ZS5nZXRGdWxsWWVhcigpOwogIGxldCBtID0gZGF0ZS5nZXRNb250aCgpICsgMTsKICBtID0gbSA8IDEwID8gIiIgKyBtIDogbTsKICBsZXQgZCA9IGRhdGUuZ2V0RGF0ZSgpOwogIGQgPSBkIDwgMTAgPyAiIiArIGQgOiBkOwogIGxldCBoID0gZGF0ZS5nZXRIb3VycygpOwogIGggPSBoIDwgMTAgPyAiMCIgKyBoIDogaDsKICBsZXQgbWludXRlID0gZGF0ZS5nZXRNaW51dGVzKCk7CiAgbGV0IHNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpOwogIG1pbnV0ZSA9IG1pbnV0ZSA8IDEwID8gIjAiICsgbWludXRlIDogbWludXRlOwogIHNlY29uZCA9IHNlY29uZCA8IDEwID8gIjAiICsgc2Vjb25kIDogc2Vjb25kOwogIHJldHVybiB5ICsgIuW5tCIgKyBtICsgIuaciCIgKyBkICsgIuaXpSAiICsgaCArICI6IiArIG1pbnV0ZSArICI6IiArIHNlY29uZDsgLy/nu4TlkIgKfQovKioKCiAqIEBkZXNjcmlwdGlvbiAxM+S9jeaXtumXtOaIs+i9rOaNogogKiBAcGFyYW0gdGltZQogKiBAcmV0dXJucyB7c3RyaW5nfQogKi8KCmV4cG9ydCBmdW5jdGlvbiB0aGlydGVlbkJpdFRpbWVzdGFtcCh0aW1lKSB7CiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWUgLyAxKTsKICBjb25zdCB5ID0gZGF0ZS5nZXRGdWxsWWVhcigpOwogIGxldCBtID0gZGF0ZS5nZXRNb250aCgpICsgMTsKICBtID0gbSA8IDEwID8gIiIgKyBtIDogbTsKICBsZXQgZCA9IGRhdGUuZ2V0RGF0ZSgpOwogIGQgPSBkIDwgMTAgPyAiIiArIGQgOiBkOwogIGxldCBoID0gZGF0ZS5nZXRIb3VycygpOwogIGggPSBoIDwgMTAgPyAiMCIgKyBoIDogaDsKICBsZXQgbWludXRlID0gZGF0ZS5nZXRNaW51dGVzKCk7CiAgbGV0IHNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpOwogIG1pbnV0ZSA9IG1pbnV0ZSA8IDEwID8gIjAiICsgbWludXRlIDogbWludXRlOwogIHNlY29uZCA9IHNlY29uZCA8IDEwID8gIjAiICsgc2Vjb25kIDogc2Vjb25kOwogIHJldHVybiB5ICsgIuW5tCIgKyBtICsgIuaciCIgKyBkICsgIuaXpSAiICsgaCArICI6IiArIG1pbnV0ZSArICI6IiArIHNlY29uZDsgLy/nu4TlkIgKfQovKioKCiAqIEBkZXNjcmlwdGlvbiDojrflj5bpmo/mnLppZAogKiBAcGFyYW0gbGVuZ3RoCiAqIEByZXR1cm5zIHtzdHJpbmd9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHV1aWQobGVuZ3RoID0gMzIpIHsKICBjb25zdCBudW0gPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTAiOwogIGxldCBzdHIgPSAiIjsKCiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgc3RyICs9IG51bS5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbnVtLmxlbmd0aCkpOwogIH0KCiAgcmV0dXJuIHN0cjsKfQovKioKCiAqIEBkZXNjcmlwdGlvbiBt5YiwbueahOmaj+acuuaVsAogKiBAcGFyYW0gbQogKiBAcGFyYW0gbgogKiBAcmV0dXJucyB7bnVtYmVyfQogKi8KCmV4cG9ydCBmdW5jdGlvbiByYW5kb20obSwgbikgewogIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobSAtIG4pICsgbik7Cn0KLyoqCgogKiBAZGVzY3JpcHRpb24gYWRkRXZlbnRMaXN0ZW5lcgogKiBAdHlwZSB7ZnVuY3Rpb24oLi4uWypdPSl9CiAqLwoKZXhwb3J0IGNvbnN0IG9uID0gZnVuY3Rpb24gKCkgewogIHJldHVybiBmdW5jdGlvbiAoZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIsIHVzZUNhcHR1cmUgPSBmYWxzZSkgewogICAgaWYgKGVsZW1lbnQgJiYgZXZlbnQgJiYgaGFuZGxlcikgewogICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIHVzZUNhcHR1cmUpOwogICAgfQogIH07Cn0oKTsKLyoqCgogKiBAZGVzY3JpcHRpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcgogKiBAdHlwZSB7ZnVuY3Rpb24oLi4uWypdPSl9CiAqLwoKZXhwb3J0IGNvbnN0IG9mZiA9IGZ1bmN0aW9uICgpIHsKICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCB1c2VDYXB0dXJlID0gZmFsc2UpIHsKICAgIGlmIChlbGVtZW50ICYmIGV2ZW50KSB7CiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgdXNlQ2FwdHVyZSk7CiAgICB9CiAgfTsKfSgpOw=="},null]}
|