-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0-1522cda573320d546521.js.map
1 lines (1 loc) · 34.1 KB
/
0-1522cda573320d546521.js.map
1
{"version":3,"sources":["webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/semantic-ui-react/dist/es/elements/Divider/Divider.js","webpack:///./src/components/gridBlocks/projectGrid.js"],"names":["_interopRequireDefault","__webpack_require__","exports","__esModule","default","io","_inheritsLoose2","_assertThisInitialized2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","props","convertedProps","resolutions","fixed","sizes","fluid","imageCache","inImageCache","src","listeners","listenToIntersections","el","cb","window","IntersectionObserver","entries","forEach","entry","l","target","isIntersecting","intersectionRatio","unobserve","rootMargin","observe","push","noscriptImg","srcSetWebp","srcSet","title","alt","width","height","opacity","transitionDelay","Img","forwardRef","ref","style","onLoad","onError","otherProps","createElement","position","top","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","this","isVisible","IOSupported","fadeIn","seenBefore","critical","hasNoScript","state","imgLoaded","imageRef","createRef","handleImageLoaded","bind","handleRef","_proto","prototype","componentDidMount","onStartLoad","wasCached","img","current","complete","_this2","setState","render","_convertProps","className","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","Tag","bgColor","imagePlaceholderStyle","transition","imageStyle","placeholderImageProps","image","overflow","key","JSON","stringify","paddingBottom","aspectRatio","base64","tracedSVG","bottom","right","type","dangerouslySetInnerHTML","__html","_image","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","bool","oneOfType","_default","_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__","_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default","n","classnames__WEBPACK_IMPORTED_MODULE_1__","classnames__WEBPACK_IMPORTED_MODULE_1___default","react__WEBPACK_IMPORTED_MODULE_3__","react__WEBPACK_IMPORTED_MODULE_3___default","_lib__WEBPACK_IMPORTED_MODULE_4__","_lib__WEBPACK_IMPORTED_MODULE_5__","_lib__WEBPACK_IMPORTED_MODULE_6__","_lib__WEBPACK_IMPORTED_MODULE_7__","Divider","children","clearing","content","fitted","hidden","horizontal","inverted","section","vertical","classes","Object","rest","ElementType","a","isNil","handledProps","__webpack_exports__","react__WEBPACK_IMPORTED_MODULE_2___default","gatsby__WEBPACK_IMPORTED_MODULE_4__","query","data","ProjectGrid","assign","_public_static_d_692957538_json__WEBPACK_IMPORTED_MODULE_1__","_ref","projects","allMarkdownRemark","edges","semantic_ui_react__WEBPACK_IMPORTED_MODULE_5__","Column","mobile","tablet","computer","class","filter","project","node","frontmatter","length","map","_ref2","id","gatsby_link__WEBPACK_IMPORTED_MODULE_3___default","to","path","gatsby_image__WEBPACK_IMPORTED_MODULE_7___default","cover","childImageSharp","date","tags","elem","subtitle","semantic_ui_react__WEBPACK_IMPORTED_MODULE_6__"],"mappings":"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","file":"0-1522cda573320d546521.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\n// Handle legacy names for image queries.\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n\n if (convertedProps.resolutions) {\n convertedProps.fixed = convertedProps.resolutions;\n delete convertedProps.resolutions;\n }\n\n if (convertedProps.sizes) {\n convertedProps.fluid = convertedProps.sizes;\n delete convertedProps.sizes;\n }\n\n return convertedProps;\n}; // Cache if we've seen an image before so we don't both with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = {};\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n imageCache[src] = true;\n};\n\nvar io;\nvar listeners = [];\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n listeners.forEach(function (l) {\n if (l[0] === entry.target) {\n // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(l[0]);\n l[1]();\n }\n }\n });\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n getIO().observe(el);\n listeners.push([el, cb]);\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSetWebp = props.srcSetWebp ? \"<source type='image/webp' srcSet=\\\"\" + props.srcSetWebp + \"\\\" \" + sizes + \"/>\" : \"\";\n var srcSet = props.srcSet ? \"<source srcSet=\\\"\" + props.srcSet + \"\\\" \" + sizes + \"/>\" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var opacity = props.opacity ? props.opacity : \"1\";\n var transitionDelay = props.transitionDelay ? props.transitionDelay : \"0.5s\";\n return \"<picture>\" + srcSetWebp + srcSet + \"<img \" + width + height + src + alt + title + \"style=\\\"position:absolute;top:0;left:0;transition:opacity 0.5s;transition-delay:\" + transitionDelay + \";opacity:\" + opacity + \";width:100%;height:100%;object-fit:cover;object-position:center\\\"/></picture>\";\n};\n\nvar Img = _react.default.forwardRef(function (props, ref) {\n var style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"style\", \"onLoad\", \"onError\"]);\n return _react.default.createElement(\"img\", (0, _extends2.default)({}, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // default settings for browser without Intersection Observer available\n\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = props.fadeIn; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n var seenBefore = inImageCache(props); // browser with Intersection Observer available\n\n if (!seenBefore && typeof window !== \"undefined\" && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n } // Never render image during SSR\n\n\n if (typeof window === \"undefined\") {\n isVisible = false;\n } // Force render for critical images\n\n\n if (props.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(_this.props.critical && !_this.props.fadeIn);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore\n };\n _this.imageRef = _react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.props.critical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.state.IOSupported && ref) {\n listenToIntersections(ref, function () {\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: inImageCache(_this2.props)\n });\n }\n\n _this2.setState({\n isVisible: true,\n imgLoaded: false\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n this.props.onLoad && this.props.onLoad();\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n Tag = _convertProps.Tag;\n\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1,\n transition: \"opacity 0.5s\",\n transitionDelay: this.state.imgLoaded ? \"0.5s\" : \"0.25s\"\n }, imgStyle, placeholderStyle);\n var imageStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded || this.state.fadeIn === false ? 1 : 0,\n transition: this.state.fadeIn === true ? \"opacity 0.5s\" : \"none\"\n }, imgStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName\n };\n\n if (fluid) {\n var image = fluid;\n return _react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\"\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, _react.default.createElement(Tag, {\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.base64\n }, placeholderImageProps)), image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.35s\",\n right: 0,\n left: 0\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: image.srcSetWebp,\n sizes: image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: image.srcSet,\n sizes: image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n src: image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title\n }, image))\n }\n }));\n }\n\n if (fixed) {\n var _image = fixed;\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: _image.width,\n height: _image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return _react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(_image.srcSet)\n }, _image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.base64\n }, placeholderImageProps)), _image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.25s\",\n height: _image.height\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, _image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: _image.srcSetWebp,\n sizes: _image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: _image.srcSet,\n sizes: _image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n src: _image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height\n }, _image))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n critical: false,\n fadeIn: true,\n alt: \"\",\n Tag: \"div\"\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string\n});\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: fixedObject,\n fluid: fluidObject,\n fadeIn: _propTypes.default.bool,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string\n};\nvar _default = Image;\nexports.default = _default;","import _extends from \"@babel/runtime/helpers/extends\";\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A divider visually segments content into groups.\n */\n\nfunction Divider(props) {\n var children = props.children,\n className = props.className,\n clearing = props.clearing,\n content = props.content,\n fitted = props.fitted,\n hidden = props.hidden,\n horizontal = props.horizontal,\n inverted = props.inverted,\n section = props.section,\n vertical = props.vertical;\n var classes = cx('ui', useKeyOnly(clearing, 'clearing'), useKeyOnly(fitted, 'fitted'), useKeyOnly(hidden, 'hidden'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(section, 'section'), useKeyOnly(vertical, 'vertical'), 'divider', className);\n var rest = getUnhandledProps(Divider, props);\n var ElementType = getElementType(Divider, props);\n return React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDivider.handledProps = [\"as\", \"children\", \"className\", \"clearing\", \"content\", \"fitted\", \"hidden\", \"horizontal\", \"inverted\", \"section\", \"vertical\"];\nDivider.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: customPropTypes.as,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Divider can clear the content above it. */\n clearing: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Divider can be fitted without any space above or below it. */\n fitted: PropTypes.bool,\n\n /** Divider can divide content without creating a dividing line. */\n hidden: PropTypes.bool,\n\n /** Divider can segment content horizontally. */\n horizontal: PropTypes.bool,\n\n /** Divider can have its colours inverted. */\n inverted: PropTypes.bool,\n\n /** Divider can provide greater margins to divide sections of content. */\n section: PropTypes.bool,\n\n /** Divider can segment content vertically. */\n vertical: PropTypes.bool\n} : {};\nexport default Divider;","import React from 'react'\nimport Link from 'gatsby-link'\nimport { StaticQuery, graphql } from 'gatsby'\nimport { Grid, Divider, Label } from 'semantic-ui-react'\nimport Img from 'gatsby-image'\nimport './gridBlocks.css'\n\nexport default props => (\n <StaticQuery\n query={graphql`\n query ProjectGridQuery {\n allMarkdownRemark(\n sort: { order: DESC, fields: [frontmatter___date] }\n filter: { fileAbsolutePath: { regex: \"/(projects)/.*.md$/\" } }\n ) {\n edges {\n node {\n excerpt(pruneLength: 100)\n id\n frontmatter {\n title\n tags\n subtitle\n date(formatString: \"YYYY\")\n path\n\n cover {\n childImageSharp {\n fluid(maxWidth: 700) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n }\n }\n }\n }\n `}\n render={data => <ProjectGrid data={data} {...props} />}\n />\n)\n\nconst ProjectGrid = ({ data }) => {\n const { edges: projects } = data.allMarkdownRemark\n return (\n <Grid>\n <Grid.Column mobile={0} tablet={3} computer={3} />\n <Grid.Column mobile={12} tablet={9} computer={9}>\n <h3 class=\"header-project\">Projects.</h3>\n </Grid.Column>\n <Grid.Column mobile={0} tablet={3} computer={3}>\n <p class=\"left-label\">Services</p>\n <ul class=\"left-info\">\n <li>Data Visualization</li>\n <li> Machine Learning </li>\n <li>Data Analysis + Cleaning</li>\n <li>UX Design</li>\n <li>Web Design + Development</li>\n <li>Graphic + Branding</li>\n <li>Architectural Services</li>\n </ul>\n </Grid.Column>\n <Grid.Column mobile={12} tablet={9} computer={9}>\n <div className=\"projects\">\n <Grid>\n {projects\n .filter(project => project.node.frontmatter.title.length > 0)\n .map(({ node: project }) => {\n return (\n <Grid.Column mobile={12} tablet={6} computer={4}>\n <div className=\"project-preview\" key={project.id}>\n <div class=\"imgBox\">\n <Link to={project.frontmatter.path} class=\"itemLink\">\n <Img\n className=\"underline\"\n fluid={\n project.frontmatter.cover.childImageSharp.fluid\n }\n />\n </Link>\n </div>\n <p class=\"date\">{project.frontmatter.date}</p>\n {project.frontmatter.tags.map(elem => (\n <div class=\"tag\">{elem}</div>\n ))}\n\n <h4 class=\"noPad\">\n {' '}\n <Link to={project.frontmatter.path} class=\"itemLink\">\n {project.frontmatter.title}\n </Link>\n </h4>\n <p class=\"excerpt\">{project.frontmatter.subtitle}</p>\n </div>\n </Grid.Column>\n )\n })}\n </Grid>\n </div>\n </Grid.Column>\n <Divider hidden />\n </Grid>\n )\n}\n"],"sourceRoot":""}