{"ast":null,"code":"'use strict';\n\nlet {\n  isClean,\n  my\n} = require('./symbols');\nlet Declaration = require('./declaration');\nlet Comment = require('./comment');\nlet Node = require('./node');\nlet parse, Rule, AtRule, Root;\nfunction cleanSource(nodes) {\n  return nodes.map(i => {\n    if (i.nodes) i.nodes = cleanSource(i.nodes);\n    delete i.source;\n    return i;\n  });\n}\nfunction markDirtyUp(node) {\n  node[isClean] = false;\n  if (node.proxyOf.nodes) {\n    for (let i of node.proxyOf.nodes) {\n      markDirtyUp(i);\n    }\n  }\n}\nclass Container extends Node {\n  append(...children) {\n    for (let child of children) {\n      let nodes = this.normalize(child, this.last);\n      for (let node of nodes) this.proxyOf.nodes.push(node);\n    }\n    this.markDirty();\n    return this;\n  }\n  cleanRaws(keepBetween) {\n    super.cleanRaws(keepBetween);\n    if (this.nodes) {\n      for (let node of this.nodes) node.cleanRaws(keepBetween);\n    }\n  }\n  each(callback) {\n    if (!this.proxyOf.nodes) return undefined;\n    let iterator = this.getIterator();\n    let index, result;\n    while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n      index = this.indexes[iterator];\n      result = callback(this.proxyOf.nodes[index], index);\n      if (result === false) break;\n      this.indexes[iterator] += 1;\n    }\n    delete this.indexes[iterator];\n    return result;\n  }\n  every(condition) {\n    return this.nodes.every(condition);\n  }\n  get first() {\n    if (!this.proxyOf.nodes) return undefined;\n    return this.proxyOf.nodes[0];\n  }\n  getIterator() {\n    if (!this.lastEach) this.lastEach = 0;\n    if (!this.indexes) this.indexes = {};\n    this.lastEach += 1;\n    let iterator = this.lastEach;\n    this.indexes[iterator] = 0;\n    return iterator;\n  }\n  getProxyProcessor() {\n    return {\n      get(node, prop) {\n        if (prop === 'proxyOf') {\n          return node;\n        } else if (!node[prop]) {\n          return node[prop];\n        } else if (prop === 'each' || typeof prop === 'string' && prop.startsWith('walk')) {\n          return (...args) => {\n            return node[prop](...args.map(i => {\n              if (typeof i === 'function') {\n                return (child, index) => i(child.toProxy(), index);\n              } else {\n                return i;\n              }\n            }));\n          };\n        } else if (prop === 'every' || prop === 'some') {\n          return cb => {\n            return node[prop]((child, ...other) => cb(child.toProxy(), ...other));\n          };\n        } else if (prop === 'root') {\n          return () => node.root().toProxy();\n        } else if (prop === 'nodes') {\n          return node.nodes.map(i => i.toProxy());\n        } else if (prop === 'first' || prop === 'last') {\n          return node[prop].toProxy();\n        } else {\n          return node[prop];\n        }\n      },\n      set(node, prop, value) {\n        if (node[prop] === value) return true;\n        node[prop] = value;\n        if (prop === 'name' || prop === 'params' || prop === 'selector') {\n          node.markDirty();\n        }\n        return true;\n      }\n    };\n  }\n  index(child) {\n    if (typeof child === 'number') return child;\n    if (child.proxyOf) child = child.proxyOf;\n    return this.proxyOf.nodes.indexOf(child);\n  }\n  insertAfter(exist, add) {\n    let existIndex = this.index(exist);\n    let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n    existIndex = this.index(exist);\n    for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node);\n    let index;\n    for (let id in this.indexes) {\n      index = this.indexes[id];\n      if (existIndex < index) {\n        this.indexes[id] = index + nodes.length;\n      }\n    }\n    this.markDirty();\n    return this;\n  }\n  insertBefore(exist, add) {\n    let existIndex = this.index(exist);\n    let type = existIndex === 0 ? 'prepend' : false;\n    let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n    existIndex = this.index(exist);\n    for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node);\n    let index;\n    for (let id in this.indexes) {\n      index = this.indexes[id];\n      if (existIndex <= index) {\n        this.indexes[id] = index + nodes.length;\n      }\n    }\n    this.markDirty();\n    return this;\n  }\n  get last() {\n    if (!this.proxyOf.nodes) return undefined;\n    return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n  }\n  normalize(nodes, sample) {\n    if (typeof nodes === 'string') {\n      nodes = cleanSource(parse(nodes).nodes);\n    } else if (Array.isArray(nodes)) {\n      nodes = nodes.slice(0);\n      for (let i of nodes) {\n        if (i.parent) i.parent.removeChild(i, 'ignore');\n      }\n    } else if (nodes.type === 'root' && this.type !== 'document') {\n      nodes = nodes.nodes.slice(0);\n      for (let i of nodes) {\n        if (i.parent) i.parent.removeChild(i, 'ignore');\n      }\n    } else if (nodes.type) {\n      nodes = [nodes];\n    } else if (nodes.prop) {\n      if (typeof nodes.value === 'undefined') {\n        throw new Error('Value field is missed in node creation');\n      } else if (typeof nodes.value !== 'string') {\n        nodes.value = String(nodes.value);\n      }\n      nodes = [new Declaration(nodes)];\n    } else if (nodes.selector) {\n      nodes = [new Rule(nodes)];\n    } else if (nodes.name) {\n      nodes = [new AtRule(nodes)];\n    } else if (nodes.text) {\n      nodes = [new Comment(nodes)];\n    } else {\n      throw new Error('Unknown node type in node creation');\n    }\n    let processed = nodes.map(i => {\n      /* c8 ignore next */\n      if (!i[my]) Container.rebuild(i);\n      i = i.proxyOf;\n      if (i.parent) i.parent.removeChild(i);\n      if (i[isClean]) markDirtyUp(i);\n      if (typeof i.raws.before === 'undefined') {\n        if (sample && typeof sample.raws.before !== 'undefined') {\n          i.raws.before = sample.raws.before.replace(/\\S/g, '');\n        }\n      }\n      i.parent = this.proxyOf;\n      return i;\n    });\n    return processed;\n  }\n  prepend(...children) {\n    children = children.reverse();\n    for (let child of children) {\n      let nodes = this.normalize(child, this.first, 'prepend').reverse();\n      for (let node of nodes) this.proxyOf.nodes.unshift(node);\n      for (let id in this.indexes) {\n        this.indexes[id] = this.indexes[id] + nodes.length;\n      }\n    }\n    this.markDirty();\n    return this;\n  }\n  push(child) {\n    child.parent = this;\n    this.proxyOf.nodes.push(child);\n    return this;\n  }\n  removeAll() {\n    for (let node of this.proxyOf.nodes) node.parent = undefined;\n    this.proxyOf.nodes = [];\n    this.markDirty();\n    return this;\n  }\n  removeChild(child) {\n    child = this.index(child);\n    this.proxyOf.nodes[child].parent = undefined;\n    this.proxyOf.nodes.splice(child, 1);\n    let index;\n    for (let id in this.indexes) {\n      index = this.indexes[id];\n      if (index >= child) {\n        this.indexes[id] = index - 1;\n      }\n    }\n    this.markDirty();\n    return this;\n  }\n  replaceValues(pattern, opts, callback) {\n    if (!callback) {\n      callback = opts;\n      opts = {};\n    }\n    this.walkDecls(decl => {\n      if (opts.props && !opts.props.includes(decl.prop)) return;\n      if (opts.fast && !decl.value.includes(opts.fast)) return;\n      decl.value = decl.value.replace(pattern, callback);\n    });\n    this.markDirty();\n    return this;\n  }\n  some(condition) {\n    return this.nodes.some(condition);\n  }\n  walk(callback) {\n    return this.each((child, i) => {\n      let result;\n      try {\n        result = callback(child, i);\n      } catch (e) {\n        throw child.addToError(e);\n      }\n      if (result !== false && child.walk) {\n        result = child.walk(callback);\n      }\n      return result;\n    });\n  }\n  walkAtRules(name, callback) {\n    if (!callback) {\n      callback = name;\n      return this.walk((child, i) => {\n        if (child.type === 'atrule') {\n          return callback(child, i);\n        }\n      });\n    }\n    if (name instanceof RegExp) {\n      return this.walk((child, i) => {\n        if (child.type === 'atrule' && name.test(child.name)) {\n          return callback(child, i);\n        }\n      });\n    }\n    return this.walk((child, i) => {\n      if (child.type === 'atrule' && child.name === name) {\n        return callback(child, i);\n      }\n    });\n  }\n  walkComments(callback) {\n    return this.walk((child, i) => {\n      if (child.type === 'comment') {\n        return callback(child, i);\n      }\n    });\n  }\n  walkDecls(prop, callback) {\n    if (!callback) {\n      callback = prop;\n      return this.walk((child, i) => {\n        if (child.type === 'decl') {\n          return callback(child, i);\n        }\n      });\n    }\n    if (prop instanceof RegExp) {\n      return this.walk((child, i) => {\n        if (child.type === 'decl' && prop.test(child.prop)) {\n          return callback(child, i);\n        }\n      });\n    }\n    return this.walk((child, i) => {\n      if (child.type === 'decl' && child.prop === prop) {\n        return callback(child, i);\n      }\n    });\n  }\n  walkRules(selector, callback) {\n    if (!callback) {\n      callback = selector;\n      return this.walk((child, i) => {\n        if (child.type === 'rule') {\n          return callback(child, i);\n        }\n      });\n    }\n    if (selector instanceof RegExp) {\n      return this.walk((child, i) => {\n        if (child.type === 'rule' && selector.test(child.selector)) {\n          return callback(child, i);\n        }\n      });\n    }\n    return this.walk((child, i) => {\n      if (child.type === 'rule' && child.selector === selector) {\n        return callback(child, i);\n      }\n    });\n  }\n}\nContainer.registerParse = dependant => {\n  parse = dependant;\n};\nContainer.registerRule = dependant => {\n  Rule = dependant;\n};\nContainer.registerAtRule = dependant => {\n  AtRule = dependant;\n};\nContainer.registerRoot = dependant => {\n  Root = dependant;\n};\nmodule.exports = Container;\nContainer.default = Container;\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n  if (node.type === 'atrule') {\n    Object.setPrototypeOf(node, AtRule.prototype);\n  } else if (node.type === 'rule') {\n    Object.setPrototypeOf(node, Rule.prototype);\n  } else if (node.type === 'decl') {\n    Object.setPrototypeOf(node, Declaration.prototype);\n  } else if (node.type === 'comment') {\n    Object.setPrototypeOf(node, Comment.prototype);\n  } else if (node.type === 'root') {\n    Object.setPrototypeOf(node, Root.prototype);\n  }\n  node[my] = true;\n  if (node.nodes) {\n    node.nodes.forEach(child => {\n      Container.rebuild(child);\n    });\n  }\n};\n/* c8 ignore stop */","map":{"version":3,"names":["isClean","my","require","Declaration","Comment","Node","parse","Rule","AtRule","Root","cleanSource","nodes","map","i","source","markDirtyUp","node","proxyOf","Container","append","children","child","normalize","last","push","markDirty","cleanRaws","keepBetween","each","callback","undefined","iterator","getIterator","index","result","indexes","length","every","condition","first","lastEach","getProxyProcessor","get","prop","startsWith","args","toProxy","cb","other","root","set","value","indexOf","insertAfter","exist","add","existIndex","reverse","splice","id","insertBefore","type","sample","Array","isArray","slice","parent","removeChild","Error","String","selector","name","text","processed","rebuild","raws","before","replace","prepend","unshift","removeAll","replaceValues","pattern","opts","walkDecls","decl","props","includes","fast","some","walk","e","addToError","walkAtRules","RegExp","test","walkComments","walkRules","registerParse","dependant","registerRule","registerAtRule","registerRoot","module","exports","default","Object","setPrototypeOf","prototype","forEach"],"sources":["C:/Users/user/Desktop/000newport/node_modules/postcss/lib/container.js"],"sourcesContent":["'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet Declaration = require('./declaration')\nlet Comment = require('./comment')\nlet Node = require('./node')\n\nlet parse, Rule, AtRule, Root\n\nfunction cleanSource(nodes) {\n  return nodes.map(i => {\n    if (i.nodes) i.nodes = cleanSource(i.nodes)\n    delete i.source\n    return i\n  })\n}\n\nfunction markDirtyUp(node) {\n  node[isClean] = false\n  if (node.proxyOf.nodes) {\n    for (let i of node.proxyOf.nodes) {\n      markDirtyUp(i)\n    }\n  }\n}\n\nclass Container extends Node {\n  append(...children) {\n    for (let child of children) {\n      let nodes = this.normalize(child, this.last)\n      for (let node of nodes) this.proxyOf.nodes.push(node)\n    }\n\n    this.markDirty()\n\n    return this\n  }\n\n  cleanRaws(keepBetween) {\n    super.cleanRaws(keepBetween)\n    if (this.nodes) {\n      for (let node of this.nodes) node.cleanRaws(keepBetween)\n    }\n  }\n\n  each(callback) {\n    if (!this.proxyOf.nodes) return undefined\n    let iterator = this.getIterator()\n\n    let index, result\n    while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n      index = this.indexes[iterator]\n      result = callback(this.proxyOf.nodes[index], index)\n      if (result === false) break\n\n      this.indexes[iterator] += 1\n    }\n\n    delete this.indexes[iterator]\n    return result\n  }\n\n  every(condition) {\n    return this.nodes.every(condition)\n  }\n\n  get first() {\n    if (!this.proxyOf.nodes) return undefined\n    return this.proxyOf.nodes[0]\n  }\n\n  getIterator() {\n    if (!this.lastEach) this.lastEach = 0\n    if (!this.indexes) this.indexes = {}\n\n    this.lastEach += 1\n    let iterator = this.lastEach\n    this.indexes[iterator] = 0\n\n    return iterator\n  }\n\n  getProxyProcessor() {\n    return {\n      get(node, prop) {\n        if (prop === 'proxyOf') {\n          return node\n        } else if (!node[prop]) {\n          return node[prop]\n        } else if (\n          prop === 'each' ||\n          (typeof prop === 'string' && prop.startsWith('walk'))\n        ) {\n          return (...args) => {\n            return node[prop](\n              ...args.map(i => {\n                if (typeof i === 'function') {\n                  return (child, index) => i(child.toProxy(), index)\n                } else {\n                  return i\n                }\n              })\n            )\n          }\n        } else if (prop === 'every' || prop === 'some') {\n          return cb => {\n            return node[prop]((child, ...other) =>\n              cb(child.toProxy(), ...other)\n            )\n          }\n        } else if (prop === 'root') {\n          return () => node.root().toProxy()\n        } else if (prop === 'nodes') {\n          return node.nodes.map(i => i.toProxy())\n        } else if (prop === 'first' || prop === 'last') {\n          return node[prop].toProxy()\n        } else {\n          return node[prop]\n        }\n      },\n\n      set(node, prop, value) {\n        if (node[prop] === value) return true\n        node[prop] = value\n        if (prop === 'name' || prop === 'params' || prop === 'selector') {\n          node.markDirty()\n        }\n        return true\n      }\n    }\n  }\n\n  index(child) {\n    if (typeof child === 'number') return child\n    if (child.proxyOf) child = child.proxyOf\n    return this.proxyOf.nodes.indexOf(child)\n  }\n\n  insertAfter(exist, add) {\n    let existIndex = this.index(exist)\n    let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n    existIndex = this.index(exist)\n    for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n    let index\n    for (let id in this.indexes) {\n      index = this.indexes[id]\n      if (existIndex < index) {\n        this.indexes[id] = index + nodes.length\n      }\n    }\n\n    this.markDirty()\n\n    return this\n  }\n\n  insertBefore(exist, add) {\n    let existIndex = this.index(exist)\n    let type = existIndex === 0 ? 'prepend' : false\n    let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse()\n    existIndex = this.index(exist)\n    for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n    let index\n    for (let id in this.indexes) {\n      index = this.indexes[id]\n      if (existIndex <= index) {\n        this.indexes[id] = index + nodes.length\n      }\n    }\n\n    this.markDirty()\n\n    return this\n  }\n\n  get last() {\n    if (!this.proxyOf.nodes) return undefined\n    return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n  }\n\n  normalize(nodes, sample) {\n    if (typeof nodes === 'string') {\n      nodes = cleanSource(parse(nodes).nodes)\n    } else if (Array.isArray(nodes)) {\n      nodes = nodes.slice(0)\n      for (let i of nodes) {\n        if (i.parent) i.parent.removeChild(i, 'ignore')\n      }\n    } else if (nodes.type === 'root' && this.type !== 'document') {\n      nodes = nodes.nodes.slice(0)\n      for (let i of nodes) {\n        if (i.parent) i.parent.removeChild(i, 'ignore')\n      }\n    } else if (nodes.type) {\n      nodes = [nodes]\n    } else if (nodes.prop) {\n      if (typeof nodes.value === 'undefined') {\n        throw new Error('Value field is missed in node creation')\n      } else if (typeof nodes.value !== 'string') {\n        nodes.value = String(nodes.value)\n      }\n      nodes = [new Declaration(nodes)]\n    } else if (nodes.selector) {\n      nodes = [new Rule(nodes)]\n    } else if (nodes.name) {\n      nodes = [new AtRule(nodes)]\n    } else if (nodes.text) {\n      nodes = [new Comment(nodes)]\n    } else {\n      throw new Error('Unknown node type in node creation')\n    }\n\n    let processed = nodes.map(i => {\n      /* c8 ignore next */\n      if (!i[my]) Container.rebuild(i)\n      i = i.proxyOf\n      if (i.parent) i.parent.removeChild(i)\n      if (i[isClean]) markDirtyUp(i)\n      if (typeof i.raws.before === 'undefined') {\n        if (sample && typeof sample.raws.before !== 'undefined') {\n          i.raws.before = sample.raws.before.replace(/\\S/g, '')\n        }\n      }\n      i.parent = this.proxyOf\n      return i\n    })\n\n    return processed\n  }\n\n  prepend(...children) {\n    children = children.reverse()\n    for (let child of children) {\n      let nodes = this.normalize(child, this.first, 'prepend').reverse()\n      for (let node of nodes) this.proxyOf.nodes.unshift(node)\n      for (let id in this.indexes) {\n        this.indexes[id] = this.indexes[id] + nodes.length\n      }\n    }\n\n    this.markDirty()\n\n    return this\n  }\n\n  push(child) {\n    child.parent = this\n    this.proxyOf.nodes.push(child)\n    return this\n  }\n\n  removeAll() {\n    for (let node of this.proxyOf.nodes) node.parent = undefined\n    this.proxyOf.nodes = []\n\n    this.markDirty()\n\n    return this\n  }\n\n  removeChild(child) {\n    child = this.index(child)\n    this.proxyOf.nodes[child].parent = undefined\n    this.proxyOf.nodes.splice(child, 1)\n\n    let index\n    for (let id in this.indexes) {\n      index = this.indexes[id]\n      if (index >= child) {\n        this.indexes[id] = index - 1\n      }\n    }\n\n    this.markDirty()\n\n    return this\n  }\n\n  replaceValues(pattern, opts, callback) {\n    if (!callback) {\n      callback = opts\n      opts = {}\n    }\n\n    this.walkDecls(decl => {\n      if (opts.props && !opts.props.includes(decl.prop)) return\n      if (opts.fast && !decl.value.includes(opts.fast)) return\n\n      decl.value = decl.value.replace(pattern, callback)\n    })\n\n    this.markDirty()\n\n    return this\n  }\n\n  some(condition) {\n    return this.nodes.some(condition)\n  }\n\n  walk(callback) {\n    return this.each((child, i) => {\n      let result\n      try {\n        result = callback(child, i)\n      } catch (e) {\n        throw child.addToError(e)\n      }\n      if (result !== false && child.walk) {\n        result = child.walk(callback)\n      }\n\n      return result\n    })\n  }\n\n  walkAtRules(name, callback) {\n    if (!callback) {\n      callback = name\n      return this.walk((child, i) => {\n        if (child.type === 'atrule') {\n          return callback(child, i)\n        }\n      })\n    }\n    if (name instanceof RegExp) {\n      return this.walk((child, i) => {\n        if (child.type === 'atrule' && name.test(child.name)) {\n          return callback(child, i)\n        }\n      })\n    }\n    return this.walk((child, i) => {\n      if (child.type === 'atrule' && child.name === name) {\n        return callback(child, i)\n      }\n    })\n  }\n\n  walkComments(callback) {\n    return this.walk((child, i) => {\n      if (child.type === 'comment') {\n        return callback(child, i)\n      }\n    })\n  }\n\n  walkDecls(prop, callback) {\n    if (!callback) {\n      callback = prop\n      return this.walk((child, i) => {\n        if (child.type === 'decl') {\n          return callback(child, i)\n        }\n      })\n    }\n    if (prop instanceof RegExp) {\n      return this.walk((child, i) => {\n        if (child.type === 'decl' && prop.test(child.prop)) {\n          return callback(child, i)\n        }\n      })\n    }\n    return this.walk((child, i) => {\n      if (child.type === 'decl' && child.prop === prop) {\n        return callback(child, i)\n      }\n    })\n  }\n\n  walkRules(selector, callback) {\n    if (!callback) {\n      callback = selector\n\n      return this.walk((child, i) => {\n        if (child.type === 'rule') {\n          return callback(child, i)\n        }\n      })\n    }\n    if (selector instanceof RegExp) {\n      return this.walk((child, i) => {\n        if (child.type === 'rule' && selector.test(child.selector)) {\n          return callback(child, i)\n        }\n      })\n    }\n    return this.walk((child, i) => {\n      if (child.type === 'rule' && child.selector === selector) {\n        return callback(child, i)\n      }\n    })\n  }\n}\n\nContainer.registerParse = dependant => {\n  parse = dependant\n}\n\nContainer.registerRule = dependant => {\n  Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n  AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n  Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n  if (node.type === 'atrule') {\n    Object.setPrototypeOf(node, AtRule.prototype)\n  } else if (node.type === 'rule') {\n    Object.setPrototypeOf(node, Rule.prototype)\n  } else if (node.type === 'decl') {\n    Object.setPrototypeOf(node, Declaration.prototype)\n  } else if (node.type === 'comment') {\n    Object.setPrototypeOf(node, Comment.prototype)\n  } else if (node.type === 'root') {\n    Object.setPrototypeOf(node, Root.prototype)\n  }\n\n  node[my] = true\n\n  if (node.nodes) {\n    node.nodes.forEach(child => {\n      Container.rebuild(child)\n    })\n  }\n}\n/* c8 ignore stop */\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}