1"use strict";(self.webpackChunk_freecodecamp_client=self.webpackChunk_freecodecamp_client||[]).push([[4681],{3438:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(13267);t.default=n.default},10430:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(69714);t.default=(0,n.default)({name:"transform-react-jsx",development:!1})},13267:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(69714);t.default=(0,n.default)({name:"transform-react-jsx/development",development:!0})},37496:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(6929),s=r(93545),i=r(79506);const a=[["react",new Set(["cloneElement","createContext","createElement","createFactory","createRef","forwardRef","isValidElement","memo","lazy"])],["react-dom",new Set(["createPortal"])]];t.default=(0,n.declare)(e=>(e.assertVersion(7),{name:"transform-react-pure-annotations",visitor:{CallExpression(e){(function(e){const t=e.get("callee");if(!t.isMemberExpression()){for(const[e,r]of a)for(const n of r)if(t.referencesImport(e,n))return!0;return!1}const r=t.get("object"),n=t.node;if(!n.computed&&i.types.isIdentifier(n.property)){const e=n.property.name;for(const[t,n]of a)if(r.referencesImport(t,"default")||r.referencesImport(t,"*"))return n.has(e)}return!1})(e)&&(0,s.default)(e)}}}))},56978:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(6929),s=r(67305),i=r(79506);t.default=(0,n.declare)(e=>{function t(e,t){const r=t.arguments[0].properties;let n=!0;for(let s=0;s<r.length;s++){const e=r[s];if(i.types.isSpreadElement(e))continue;const t=i.types.toComputedKey(e);if(i.types.isStringLiteral(t,{value:"displayName"})){n=!1;break}}n&&r.unshift(i.types.objectProperty(i.types.identifier("displayName"),i.types.stringLiteral(e)))}e.assertVersion(7);const r=i.types.buildMatchMemberExpression("React.createClass");function n(e){if(!e||!i.types.isCallExpression(e))return!1;if(!r(e.callee)&&(t=e.callee,!i.types.isIdentifier(t,{name:"createReactClass"})))return!1;var t;const n=e.arguments;if(1!==n.length)return!1;const s=n[0];return!!i.types.isObjectExpression(s)}return{name:"transform-react-display-name",visitor:{ExportDefaultDeclaration({node:e},r){if(n(e.declaration)){const n=r.filename||"unknown";let i=s.basename(n,s.extname(n));"index"===i&&(i=s.basename(s.dirname(n))),t(i,e.declaration)}},CallExpression(e){const{node:r}=e;if(!n(r))return;let s;e.find(function(e){if(e.isAssignmentExpression())s=e.node.left;else if(e.isObjectProperty())s=e.node.key;else if(e.isVariableDeclarator())s=e.node.id;else if(e.isStatement())return!0;if(s)return!0}),s&&(i.types.isMemberExpression(s)&&(s=s.property),i.types.isIdentifier(s)&&t(s.name,r))}}}})},69296:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(6929);t.default=(0,n.declare)(e=>(e.assertVersion("^7.0.0-0 || ^8.0.0-0"),{name:"syntax-jsx",manipulateOptions(e,t){t.plugins.some(e=>"typescript"===(Array.isArray(e)?e[0]:e))||t.plugins.push("jsx")}}))},69714:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function({name:e,development:t}){return(0,s.declare)((r,s)=>{const{pure:h,throwIfNamespace:b=!0,filter:x,runtime:E=(t?"automatic":"classic"),importSource:j=l.importSource,pragma:v=l.pragma,pragmaFrag:S=l.pragmaFrag}=s;var{useSpread:_=!1,useBuiltIns:w=!1}=s;if("classic"===E){if("boolean"!=typeof _)throw new Error("transform-react-jsx currently only accepts a boolean option for useSpread (defaults to false)");if("boolean"!=typeof w)throw new Error("transform-react-jsx currently only accepts a boolean option for useBuiltIns (defaults to false)");if(_&&w)throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread but not both")}let C=null;return{name:e,inherits:n.default,visitor:{JSXNamespacedName(e){if(b)throw e.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.")},JSXSpreadChild(e){throw e.buildCodeFrameError("Spread children are not supported in React.")},Program:{enter(e,r){const{file:n}=r;let o=E,g=j,h=v,b=S,x=!!s.importSource,_=!!s.pragma,w=!!s.pragmaFrag;if(n.ast.comments)for(const C of n.ast.comments){const I=u.exec(C.value);I&&(g=I[1],x=!0);const N=p.exec(C.value);N&&(o=N[1]);const F=c.exec(C.value);F&&(h=F[1],_=!0);const k=d.exec(C.value);k&&(b=k[1],w=!0)}if(f(r,"runtime",o),"classic"===o){if(x)throw e.buildCodeFrameError("importSource cannot be set when runtime is classic.");const P=y(h),$=y(b);f(r,"id/createElement",()=>i.types.cloneNode(P)),f(r,"id/fragment",()=>i.types.cloneNode($)),f(r,"defaultPure",h===l.pragma)}else{if("automatic"!==o)throw e.buildCodeFrameError('Runtime must be either "classic" or "automatic".');{if(_||w)throw e.buildCodeFrameError("pragma and pragmaFrag cannot be set when runtime is automatic.");const J=(n,s)=>f(r,n,function(e,r,n,s){return()=>{const o=function(e,r){switch(r){case"Fragment":return`${e}/${t?"jsx-dev-runtime":"jsx-runtime"}`;case"jsxDEV":return`${e}/jsx-dev-runtime`;case"jsx":case"jsxs":return`${e}/jsx-runtime`;case"createElement":return e}}(s,n);if((0,a.isModule)(r)){let t=m(e,`imports/${n}`);return t?i.types.cloneNode(t):(t=(0,a.addNamed)(r,n,o,{importedInterop:"uncompiled",importPosition:"after"}),f(e,`imports/${n}`,t),t)}{let t=m(e,`requires/${o}`);return t?t=i.types.cloneNode(t):(t=(0,a.addNamespace)(r,o,{importedInterop:"uncompiled"}),f(e,`requires/${o}`,t)),i.types.memberExpression(t,i.types.identifier(n))}}}(r,e,s,g));J("id/jsx",t?"jsxDEV":"jsx"),J("id/jsxs",t?"jsxDEV":"jsxs"),J("id/createElement","createElement"),J("id/fragment","Fragment"),f(r,"defaultPure",g===l.importSource)}}if(t){function X(e){return null!==e.superClass}function L(e){let t=e.length-1;do{const{node:r}=e[t];if(i.types.isFunctionParent(r)&&!i.types.isArrowFunctionExpression(r))return!i.types.isMethod(r)||("constructor"!==r.kind||!X(e[t-2].node));if(i.types.isTSModuleBlock(r))return!1}while(t-- >0);return!0}let O;function M(t){const r=t.loc;return r?(O||(O=e.scope.generateUidIdentifier("_jsxFileName")),A(i.types.cloneNode(O),r.start.line,r.start.column)):e.scope.buildUndefinedNode()}function A(e,t,r){const n=null!=t?i.types.numericLiteral(t):i.types.nullLiteral(),s=null!=r?i.types.numericLiteral(r+1):i.types.nullLiteral();return i.template.expression.ast`{ 2 fileName: ${e}, 3 lineNumber: ${n}, 4 columnNumber: ${s}, 5 }`}if(i.types.traverse(e.node,{enter(e,t){if(!i.types.isJSXOpeningElement(e))return;const r=e.attributes;L(t)&&r.push(i.types.jsxAttribute(i.types.jsxIdentifier("__self"),i.types.jsxExpressionContainer(i.types.thisExpression()))),r.push(i.types.jsxAttribute(i.types.jsxIdentifier("__source"),i.types.jsxExpressionContainer(M(e))))}}),O){const{filename:R=""}=r;e.scope.push({id:O,init:i.types.stringLiteral(R)})}}}},JSXFragment:{exit(e,r){let n;n="classic"===m(r,"runtime")?function(e,t){if(x&&!x(e.node,t))return;return I(t,"createElement",[m(t,"id/fragment")(),i.types.nullLiteral(),...i.types.react.buildChildren(e.node)
5])}(e,r):function(e,r){const n=[m(r,"id/fragment")()],s=i.types.react.buildChildren(e.node);n.push(i.types.objectExpression(s.length>0?[$(s)]:[])),t&&n.push(e.scope.buildUndefinedNode(),i.types.booleanLiteral(s.length>1));return I(r,s.length>1?"jsxs":"jsx",n)}(e,r),e.replaceWith(i.types.inherits(n,e.node))}},JSXElement:{exit(e,r){let n;n="classic"===m(r,"runtime")||function(e){const t=e.get("openingElement"),r=t.node.attributes;let n=!1;for(let s=0;s<r.length;s++){const e=r[s];if(n&&i.types.isJSXAttribute(e)&&"key"===e.name.name)return!0;i.types.isJSXSpreadAttribute(e)&&(n=!0)}return!1}(e)?function(e,t){const r=e.get("openingElement");return I(t,"createElement",[J(r),X(t,e,r.get("attributes")),...i.types.react.buildChildren(e.node)])}(e,r):function(e,r){const n=e.get("openingElement"),s=[J(n)],a=[],o=Object.create(null);for(const t of n.get("attributes"))if(t.isJSXAttribute()&&i.types.isJSXIdentifier(t.node.name)){const{name:r}=t.node.name;switch(r){case"__source":case"__self":if(o[r])throw g(e,r);case"key":{const e=F(t.node.value);if(null===e)throw t.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');o[r]=e;break}default:a.push(t)}}else a.push(t);const l=i.types.react.buildChildren(e.node);let u;a.length||l.length?(u=function(e,t){k(e);const r=e.reduce(P,[]);(null==t?void 0:t.length)>0&&r.push($(t));return i.types.objectExpression(r)}(a,l),C&&i.types.inheritsComments(u,C)):u=i.types.objectExpression([]);if(s.push(u),t){var p;s.push(null!=(p=o.key)?p:e.scope.buildUndefinedNode(),i.types.booleanLiteral(l.length>1)),o.__source?(s.push(o.__source),o.__self&&s.push(o.__self)):o.__self&&s.push(e.scope.buildUndefinedNode(),o.__self)}else void 0!==o.key&&s.push(o.key);return I(r,l.length>1?"jsxs":"jsx",s)}(e,r),e.replaceWith(i.types.inherits(n,e.node))}},JSXAttribute(e){i.types.isJSXElement(e.node.value)&&(e.node.value=i.types.jsxExpressionContainer(e.node.value))}}};function I(e,t,r){const n=i.types.callExpression(m(e,`id/${t}`)(),r);return(null!=h?h:m(e,"defaultPure"))&&(0,o.default)(n),n}function N(e,t){return i.types.isJSXIdentifier(e)?"this"===e.name&&i.types.isReferenced(e,t)?i.types.thisExpression():i.types.isValidIdentifier(e.name,!1)?(e.type="Identifier",e):i.types.stringLiteral(e.name):i.types.isJSXMemberExpression(e)?i.types.memberExpression(N(e.object,e),N(e.property,e)):i.types.isJSXNamespacedName(e)?i.types.stringLiteral(`${e.namespace.name}:${e.name.name}`):e}function F(e){return i.types.isJSXExpressionContainer(e)?e.expression:e}function k(e){if(C=null,e.length&&e[0].isJSXSpreadAttribute()){const t=e[0].node.argument;(t.leadingComments||t.trailingComments)&&(C=i.types.cloneNode(t))}}function P(e,t){if(i.types.isJSXSpreadAttribute(t.node)){const r=t.node.argument;return i.types.isObjectExpression(r)&&!r.properties.some(e=>i.types.isObjectProperty(e,{computed:!1,shorthand:!1})&&(i.types.isIdentifier(e.key,{name:"__proto__"})||i.types.isStringLiteral(e.key,{value:"__proto__"})))?e.push(...r.properties):e.push(i.types.spreadElement(r)),e}const r=F("key"!==t.node.name.name?t.node.value||i.types.booleanLiteral(!0):t.node.value);if("key"===t.node.name.name&&null===r)throw t.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');var n;i.types.isStringLiteral(r)&&!i.types.isJSXExpressionContainer(t.node.value)&&(r.value=r.value.replace(/\n\s+/g," "),null==(n=r.extra)||delete n.raw);return i.types.isJSXNamespacedName(t.node.name)?t.node.name=i.types.stringLiteral(t.node.name.namespace.name+":"+t.node.name.name.name):i.types.isValidIdentifier(t.node.name.name,!1)?t.node.name.type="Identifier":t.node.name=i.types.stringLiteral(t.node.name.name),e.push(i.types.inherits(i.types.objectProperty(t.node.name,r),t.node)),e}function $(e){let t;if(1===e.length)t=e[0];else{if(!(e.length>1))return;t=i.types.arrayExpression(e)}return i.types.objectProperty(i.types.identifier("children"),t)}function J(e){const t=N(e.node.name,e.node);let r;return i.types.isIdentifier(t)?r=t.name:i.types.isStringLiteral(t)&&(r=t.value),i.types.react.isCompatTag(r)?i.types.stringLiteral(r):t}function X(e,t,r){const n=m(e,"runtime");if("automatic"!==n){const t=[];k(r);const n=r.reduce(P,[]);if(_)n.length&&t.push(i.types.objectExpression(n));else{let e=0;
5n.forEach((r,s)=>{i.types.isSpreadElement(r)&&(s>e&&t.push(i.types.objectExpression(n.slice(e,s))),t.push(r.argument),e=s+1)}),n.length>e&&t.push(i.types.objectExpression(n.slice(e)))}if(!t.length)return i.types.nullLiteral();if(C&&i.types.inheritsComments(t[0],C),!(1!==t.length||i.types.isSpreadElement(n[0])&&i.types.isObjectExpression(n[0].argument)))return t[0];i.types.isObjectExpression(t[0])||t.unshift(i.types.objectExpression([]));const s=w?i.types.memberExpression(i.types.identifier("Object"),i.types.identifier("assign")):e.addHelper("extends");return i.types.callExpression(s,t)}const s=[],a=Object.create(null);k(r);for(const l of r){const{node:e}=l,r=i.types.isJSXAttribute(e)&&i.types.isJSXIdentifier(e.name)&&e.name.name;if("automatic"===n&&("__source"===r||"__self"===r)){if(a[r])throw g(t,r);a[r]=!0}P(s,l)}const o=1===s.length&&i.types.isSpreadElement(s[0])&&!i.types.isObjectExpression(s[0].argument)?s[0].argument:s.length>0?i.types.objectExpression(s):i.types.nullLiteral();return C&&i.types.inheritsComments(o,C),o}})};var n=r(69296),s=r(6929),i=r(79506),a=r(8453),o=r(93545);const l={importSource:"react",runtime:"automatic",pragma:"React.createElement",pragmaFrag:"React.Fragment"},u=/^\s*(?:\*\s*)?@jsxImportSource\s+(\S+)\s*$/m,p=/^\s*(?:\*\s*)?@jsxRuntime\s+(\S+)\s*$/m,c=/^\s*(?:\*\s*)?@jsx\s+(\S+)\s*$/m,d=/^\s*(?:\*\s*)?@jsxFrag\s+(\S+)\s*$/m,m=(e,t)=>e.get(`@babel/plugin-react-jsx/${t}`),f=(e,t,r)=>e.set(`@babel/plugin-react-jsx/${t}`,r);function y(e){return e.split(".").map(e=>i.types.identifier(e)).reduce((e,t)=>i.types.memberExpression(e,t))}function g(e,t){const r=`transform-react-jsx-${t.slice(2)}`;return e.buildCodeFrameError(`Duplicate ${t} prop found. You are most likely using the deprecated ${r} Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.`)}},87157:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(6929),s=r(10430),i=r(3438),a=r(56978),o=r(37496),l=r(47415);function u(e){return e&&e.__esModule?e:{default:e}}var p=u(s),c=u(i),d=u(a),m=u(o);new l.OptionValidator("@babel/preset-react");var f=n.declarePreset((e,t)=>{e.assertVersion(7);const{development:r=!1,importSource:n,pragma:s,pragmaFrag:i,pure:a,runtime:o,throwIfNamespace:l}=function(e={}){{let{pragma:t,pragmaFrag:r}=e;const{pure:n,throwIfNamespace:s=!0,runtime:i="classic",importSource:a,useBuiltIns:o,useSpread:l}=e;return"classic"===i&&(t=t||"React.createElement",r=r||"React.Fragment"),{development:null==e.development?void 0:!!e.development,importSource:a,pragma:t,pragmaFrag:r,pure:n,runtime:i,throwIfNamespace:s,useBuiltIns:o,useSpread:l}}}(t);return{plugins:[[r?c.default:p.default,{importSource:n,pragma:s,pragmaFrag:i,runtime:o,throwIfNamespace:l,pure:a,useBuiltIns:!!t.useBuiltIns,useSpread:t.useSpread}],d.default,!1!==a&&m.default].filter(Boolean)}});t.default=f}}]); 6//# sourceMappingURL=preset-react-a7f2459e30d2a87a2f57.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.