Skip to content

Instantly share code, notes, and snippets.

@johnmichel
Last active May 11, 2017 21:01
Show Gist options
  • Save johnmichel/074f7449f7da3cc85ff1b71d3f9de7aa to your computer and use it in GitHub Desktop.
Save johnmichel/074f7449f7da3cc85ff1b71d3f9de7aa to your computer and use it in GitHub Desktop.
requirebin sketch
const R = require('ramda');
const S = require('sanctuary');
const getNavigationProp = function getNavigationProp(prop, key, value, flatNav) {
console.log('prop is', prop) // displayName
console.log('key is', key) // slug
console.log('value is', value) // pet-products
/*
return R.compose(
// S.fromMaybe(''),
R.prop(prop)
,
//S.find(R.prop(value)) // slug, VAL
// S.gets(R.propEq(key, value))
R.prop(value)//,
// S.pluck(Object, value)
)(flatNav);
*/
return R.compose(
S.fromMaybe(''),
R.map(R.prop(prop))
,
// S.find(R.propEq(value, prop)) // slug, VAL
// S.gets(R.propEq(key, value))
S.get(Object, value)//,
// S.pluck(Object, value)
)(flatNav);
};
//S.gets
const devdata={
"pet-products": {
"itemId": "FP_14400017",
"category": {
"allowPermanentMarkdownTiles": !1,
"allowTemporaryMarkdownTiles": !1,
"displayName": "FP Home > FP Pet Project > Shop All",
"id": "FP_CAT1810088",
"categoryClass": ""
},
"displayName": "FP Pet Project",
"links": [
[Object],
[Object]
],
"targetUrlTarget": "_self",
"typeCode": "DEFAULT",
"browseDisplayPreferences": {
"tileTemplate": "REGULAR"
},
"type": "Navigation Item Browse Content",
"childSlugs": ["pet-collars", "pet-leashes", "pet-toys", "pet-coats", "pet-accessories", "pet-beds"],
"categoryId": "FP_CAT1810088",
"nestLevel": 3,
"parentItemId": "FP_4600050",
"parentSlug": "home-decor",
"active": !0,
"navigationDisplayPreferences": {
"displayAsSale": !1,
"tertiaryDisplay": 0
},
"seo": {
"noIndex": !1,
"includeInSitemap": !0,
"noFollow": !1
},
"containerInfo": [],
"slug": "pet-products"
},"trapeze-slips":{"itemId":"FP_4600087","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Intimates > Slips > Trapeze Slips","id":"FP_CAT360016","categoryClass":""},"displayName":"Trapeze Slips","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT360016","nestLevel":3,"parentItemId":"FP_4600060","parentSlug":"slips","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"trapeze-slips"},"bodycon-dresses":{"itemId":"FP_6100076","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Clothes > Dresses > Bodycon","id":"FP_CAT1410005","categoryClass":""},"displayName":"Bodycon Dresses","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1410005","nestLevel":2,"parentItemId":"FP_10900006","parentSlug":"uk-dresses","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"bodycon-dresses"},"hats":{"itemId":"FP_4600013","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Accessories > Hats","id":"FP_CAT270069","categoryClass":""},"displayName":"Hats","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":["hats-trending-now","straw-hats","felt-hats","novelty-hats","baseball-caps","beanies","berets"],"categoryId":"FP_CAT270069","nestLevel":2,"parentItemId":"FP_6100011","parentSlug":"accessories","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"hats"},"connect-footer":{"itemId":"6f9f60e0-df08-412b-ea0a-c43ac4512ed1","category":{"displayName":"","id":"","categoryClass":""},"displayName":"Connect","links":[[Object],[Object],[Object]],"targetUrlTarget":"_self","typeCode":"HEADING","browseDisplayPreferences":{},"type":"Heading","childSlugs":[],"categoryId":"","nestLevel":1,"parentSlug":"footer-root","active":!0,"navigationDisplayPreferences":{"displayAsSale":!0,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"connect-footer"},"true-colors-lookbook-landing-page":{"itemId":"FP_21400011","category":{"displayName":"","id":"","categoryClass":""},"displayName":"True Colors","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"GATEWAY","browseDisplayPreferences":{},"type":"Gateway","childSlugs":["true-colors-lookbook"],"categoryId":"","nestLevel":3,"parentItemId":"FP_8800008","parentSlug":"trends","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!1,"noFollow":!1},"containerInfo":[],"slug":"true-colors-lookbook-landing-page"},"fp-exclusives-shoes":{"itemId":"FP_8800130","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Trends > Features > FP Exclusives > Shoes","id":"FP_CAT1040024","categoryClass":""},"displayName":"FP Exclusives","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1040024","nestLevel":2,"parentItemId":"FP_6400009","parentSlug":"shoes","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"fp-exclusives-shoes"},"bikini-panties":{"itemId":"FP_15500087","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Intimates >> Undies >> Bikini","id":"FP_CAT1940109","categoryClass":""},"displayName":"Bikini","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1940109","nestLevel":3,"parentItemId":"FP_4600058","parentSlug":"undies","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"bikini-panties"},"gloss-moderne":{"itemId":"FP_22400010","category":{"allowPermanentMarkdownTiles":!0,"allowTemporaryMarkdownTiles":!0,"displayName":"beauty & wellness>featured brands>Gloss Moderne","id":"FP_CAT2800137","categoryClass":""},"displayName":"Gloss Moderne","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT2800137","nestLevel":3,"parentItemId":"FP_15700128","parentSlug":"featured-brands","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"gloss-moderne"},"strappy-bras":{"itemId":"FP_13500024","category":{"allowPermanentMarkdownTiles":!0,"allowTemporaryMarkdownTiles":!0,"displayName":"Intimates>Bras>Strappy","id":"FP_CAT1710172","categoryClass":""},"displayName":"Strappy","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1710172","nestLevel":3,"parentItemId":"FP_4600056","parentSlug":"bras","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"strappy-bras"},"pet-collars":{"itemId":"FP_9100019","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"FP Home> FP Pet Project > Pet Collars","id":"FP_CAT1080007","categoryClass":""},"displayName":"Pet Collars","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1080007","nestLevel":4,"parentItemId":"FP_14400017","parentSlug":"pet-products","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"pet-collars"},"store-footer":{"itemId":"d3c7df17-f915-d737-7ba8-c84f0677d11d","childSlugs":[],"displayName":"Find Your Store","links":[[Object],[Object],[Object]],"targetUrlTarget":"_self","typeCode":"EXTERNAL","browseDisplayPreferences":{},"type":"External Navigation Item","categoryId":"","nestLevel":1,"relativeFlag":!0,"parentSlug":"footer-root","targetUrl":"/stores/","active":!0,"navigationDisplayPreferences":{"displayAsSale":!0,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"category":{"displayName":"","id":"","categoryClass":""},"containerInfo":[],"slug":"store-footer"},"featured-brands-swimwear":{"itemId":"FP_22300006","category":{"displayName":"","id":"","categoryClass":""},"displayName":"Featured Brands","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"GATEWAY","browseDisplayPreferences":{},"type":"Gateway","childSlugs":["acacia","amuse","beach-riot","fella","mikoh","minimale-animale","solid-and-striped","tavik","mara-hoffman","she-made-me","gnash"],"categoryId":"","nestLevel":2,"parentItemId":"FP_6400061","parentSlug":"swimwear","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"featured-brands-swimwear"},"lip-balms-treatments":{"itemId":"FP_15700046","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Beauty>>Cosmetics>>Lips>>Lip Balm + Treatment","id":"FP_CAT1960217","categoryClass":""},"displayName":"Lip Balm + Treatment","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1960217","nestLevel":4,"parentItemId":"FP_15700042","parentSlug":"lip-makeup","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"lip-balms-treatments"},"backstage-pass-trend":{"itemId":"FP_12600006","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Backstage Pass","id":"FP_CAT1570007","categoryClass":""},"displayName":"Backstage Pass","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1570007","nestLevel":4,"parentItemId":"FP_12800006","parentSlug":"events","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"backstage-pass-trend"},"additional-inseams":{"itemId":"FP_6100132","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Clothes > Denim > Additional Inseams","id":"FP_CAT830034","categoryClass":""},"displayName":"Additional Inseams","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT830034","nestLevel":3,"parentItemId":"FP_6100052","parentSlug":"jeans","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"additional-inseams"},"ordering-payment":{"itemId":"FP_8800030","category":{"displayName":"","id":"","categoryClass":""},"displayName":"Ordering and Payment","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"NONPRODUCT","browseDisplayPreferences":{},"type":"Non-Product Page","childSlugs":[],"categoryId":"","nestLevel":2,"parentItemId":"682976c2-9b7b-b022-0202-d3d6bf287619","parentSlug":"help-root-help","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"ordering-payment"},"surf-school-trend":{"itemId":"FP_17400014","category":{"allowPermanentMarkdownTiles":!0,"allowTemporaryMarkdownTiles":!0,"displayName":"trends>surf school","id":"FP_CAT2150649","categoryClass":""},"displayName":"Surf School","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT2150649","nestLevel":4,"parentItemId":"FP_12800006","parentSlug":"events","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"surf-school-trend"},"true-colors-look-9":{"itemId":"FP_21200024","category":{"allowPermanentMarkdownTiles":!0,"allowTemporaryMarkdownTiles":!0,"displayName":"true colors look 9","id":"FP_CAT2650061","categoryClass":""},"displayName":"true colors look 9","links":[],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT2650061","nestLevel":1,"parentSlug":"marketing-root","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"true-colors-look-9"},"free-people-collection":{"itemId":"FP_9500148","category":{"allowPermanentMarkdownTiles":!1,"allowTemporaryMarkdownTiles":!1,"displayName":"Shoes > Shops & Trends > Free People Collection","id":"FP_CAT1120061","categoryClass":""},"displayName":"Free People Collection","links":[[Object],[Object]],"targetUrlTarget":"_self","typeCode":"DEFAULT","browseDisplayPreferences":{"tileTemplate":"REGULAR"},"type":"Navigation Item Browse Content","childSlugs":[],"categoryId":"FP_CAT1120061","nestLevel":3,"parentItemId":"FP_9500142","parentSlug":"shops-trends","active":!0,"navigationDisplayPreferences":{"displayAsSale":!1,"tertiaryDisplay":0},"seo":{"noIndex":!1,"includeInSitemap":!0,"noFollow":!1},"containerInfo":[],"slug":"free-people-collection"}};
const stagingdata=[{"itemId":"6100017","displayName":"New","links":[[Object],[Object],[Object]],"parentItemId":"6000010","categoryId":"cat242840","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"New Arrivals: Women's Clothing","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our new women's clothing plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"whats-new"},{"itemId":"16700008","displayName":"New Fall Now","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat2060058","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Fall 2016 Boots, Sweaters, Jackets & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Fall 2016 clothes for women, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-fall-now"},{"itemId":"6100019","displayName":"Clothes","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat242842","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Arrivals: Clothes","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our new women's clothes plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-clothes"},{"itemId":"6100021","displayName":"Shoes","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat242846","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Arrivals: Shoes","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our latest collection of shoes plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-shoes"},{"itemId":"6100023","displayName":"Accessories","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat242845","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Arrivals: Accessories","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our latest collection of accessories plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-accessories"},{"itemId":"6100025","displayName":"Intimates","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat242844","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Arrivals: Intimates","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our latest collection of intimates plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-intimates"},{"itemId":"6100027","displayName":"Swim","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat242847","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Swim","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our latest swimwear collection plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-swim"},{"itemId":"16300006","displayName":"Beauty","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat2020104","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Beauty Products","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of our newest beauty products, plus get fashion tips from FP Me stylists! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-beauty"},{"itemId":"9000015","displayName":"Movement","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat1070008","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New FP Movement Clothing","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our latest FP movement collection plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-movement"},{"itemId":"14400015","displayName":"Vintage Loves","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat360177","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Vintage Loves | New Vintage Clothes Arrivals","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of new vintage clothes arrivals plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-vintage-loves"},{"itemId":"6100030","displayName":"Back in Stock","links":[[Object],[Object],[Object]],"parentItemId":"6100017","categoryId":"cat242851","navigationItems":[[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"All Back in Stock Items","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop all back in stock items plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock"},{"itemId":"9000024","displayName":"Clothes","links":[[Object],[Object],[Object]],"parentItemId":"6100030","categoryId":"cat242852","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Back in Stock Clothes","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop back in stock apparel plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock-clothes"},{"itemId":"9100017","displayName":"Shoes","links":[[Object],[Object],[Object]],"parentItemId":"6100030","categoryId":"cat242854","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Back in Stock Shoes","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop back in stock shoes plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock-shoes"},{"itemId":"9000029","displayName":"Accessories","links":[[Object],[Object],[Object]],"parentItemId":"6100030","categoryId":"cat242853","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Back in Stock Accessories","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop back in stock accessories plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock-accessories"},{"itemId":"9100015","displayName":"Intimates","links":[[Object],[Object],[Object]],"parentItemId":"6100030","categoryId":"cat242855","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Back in Stock Intimates","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop back in stock intimates plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock-intimates"},{"itemId":"13400008","displayName":"FP Movement","links":[[Object],[Object],[Object]],"parentItemId":"6100030","categoryId":"cat1700093","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Back in Stock FP Movement Workout Clothes","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop back in stock FP Movement clothes and more, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock-fp-movement"},{"itemId":"6100035","displayName":"Clothes","links":[[Object],[Object],[Object]],"parentItemId":"6000010","categoryId":"cat1630392","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Clothes for Women | Bohemian Clothing & Apparel ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Free People's wide selection of apparel for women is always on point and in-style to keep you looking fabulous. Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Gateway","slug":"clothes"},{"itemId":"6100039","displayName":"Dresses test","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat242858","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Boho Dresses, Cute & Casual Dresses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Free People’s cute dresses fit every occasion! Shop online for summer dresses, sundresses, casual dresses, white boho maxi dresses & more.","h1TagOverride":"Dresses"},"type":"Navigation Item Browse Content","slug":"dresses"},{"itemId":"13500016","displayName":"New Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1710007","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"New Dresses | Maxi, Bodycon, Midi & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop our latest selection of new dresses, from minis to maxis, plus get fashion tips from FP Me stylists! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"new-dresses"},{"itemId":"13500018","displayName":"Back in Stock Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1710008","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Back in Stock Dresses for Women ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of back in stock dresses, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"back-in-stock-dresses"},{"itemId":"6100078","displayName":"Day Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat830012","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Crochet Dresses, Sundresses & Day Dresses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Dress up your day with these beautiful day dresses & sundresses from Free People. Pick a crochet dress, or sun dress for your Sunday brunch this weekend.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"day-dresses"},{"itemId":"6100082","displayName":"Party Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1410009","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Party Dresses, Lace Dresses & Sequin Dresses ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Step into the limelight with a stunning party dresses from Free People. Shop our large collection which includes sequin dresses, lace dresses and so much more.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"party-dresses"},{"itemId":"6100080","displayName":"Night Out Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat830013","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Night Dresses - Date and Night Out Dresses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop Free People's selection of night dresses. Whether you're going on a date or a girls night out, our beautiful dresses will make you stand out at night!","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"night-out-dresses"},{"itemId":"6100076","displayName":"Bodycon Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1410005","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Bodycon Dresses- Lace, Long Sleeve & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Our stunning selection of bodycon dresses include lace, long sleeve and various prints in styles from mini to long. Find the perfect bodycon dress at Free People.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"bodycon-dresses"},{"itemId":"6100074","displayName":"Maxi Dresses ","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat830010","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Maxi Dresses: White, Black, Lace & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Women's maxi dresses for any occasion. Shop Free People’s selection of black & white maxi dresses, one-shoulder maxi dresses & lace maxi dresses.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"maxi-dresses"},{"itemId":"6100072","displayName":"Mini Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1410008","navigationItems":[[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Mini Dresses: Shift Dresses & Little Black Dresses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop Free People’s selection of mini dresses, little black dresses & shift dresses to wear on a date or style for a fun night out. Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"mini-dresses"},{"itemId":"9500064","displayName":"Fit & Flare Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100072","categoryId":"cat1120026","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Fit & Flare Dresses for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Fit & Flare Dresses plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"fit-and-flare-dresses"},{"itemId":"6100084","displayName":"Printed Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1410010","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Shop Floral Dresses & Printed Dresses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Celebrate spring with Free People's printed dresses! Choose a floral print dress for a relaxed, chic look, or a statement print dress for an edgy style.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"printed-dresses"},{"itemId":"9500066","displayName":"White Dresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1120027","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"White Dresses & Little White Dresses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of White Dresses plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"white-dresses"},{"itemId":"10200012","displayName":"Trend: Shirtdresses","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1240194","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Shirt Dresses | Long & Short for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop cute shirt dresses, from long and short cuts to button down styles, plus get tips from FP Me stylists! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"shirtdresses"},{"itemId":"15700188","displayName":"Trend: Sweater Dresses ","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1960498","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Sweater Dresses & Knit Dresses for Women ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of cute sweaters dresses, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"sweater-dresses-trend"},{"itemId":"14600013","displayName":"Dresses Under $100","links":[[Object],[Object],[Object]],"parentItemId":"6100039","categoryId":"cat1340014","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Dresses Under 100 for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of dresses under $100, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":"Dresses Under $100"},"type":"Navigation Item Browse Content","slug":"dresses-under-100"},{"itemId":"6100041","displayName":"Tops & Tees","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250001","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Lace Tops, Off the Shoulder Tops & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Browse Free People's wide selection of tops for women. Choose from these stylish and comfortable white lace tops, off the shoulder tops, and more!","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"tops"},{"itemId":"6100086","displayName":"Tees","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat830017","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Women's Tees - Oversized T Shirts & Baseball Tees","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Pick your favorite everyday tee at Free People! Whether it's an oversized t-shirt, baseball tee, or a v-neck, our t-shirts will keep you comfy yet stylish.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"tees"},{"itemId":"10200014","displayName":"Graphic Tees","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat1240195","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Graphic Tees - Graphic T Shirts for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Graphic Tees plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"graphic-tees"},{"itemId":"6100090","displayName":"Tunics","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat830019","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Modern Women's Tunics And Long Tunic Tops","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop for women's long tunic tops online at FreePeople.com. Try all the styles and share pics of your favorite tunic tops with your friends via FP Me.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"tunics"},{"itemId":"6100094","displayName":"Camis & Tanks","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat830021","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Camis, Tank Tops & Tube Tops","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop camis, tank tops, and tube tops from Free People. Dress up with a backless top for a summer date or choose a black or white cami for a chic everyday look.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"camis-tanks"},{"itemId":"6100092","displayName":"Blouses","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat830020","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Blouses - Peasant Blouses & Sheer Silk Blouses","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of blouses plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"blouses"},{"itemId":"6100102","displayName":"Crop Tops","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat250017","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Crop Tops: White, Black, Lace & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"It's not officially summer until you add cropped tops to your wardrobe! Find your perfect crop top from our collection of white, black, and lace crop tops.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"crop-tops"},{"itemId":"6100100","displayName":"Going Out Tops","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat250018","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Going Out Tops | Sequin Tops & Dressy Shirts","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Going Out Tops plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"going-out-tops"},{"itemId":"9500072","displayName":"Layering Tops","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat250025","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Layering Tees, Shirts & Tops for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of layering tops plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"layering-tops"},{"itemId":"6100096","displayName":"Thermals & Henleys","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat830022","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Women's Henley Shirts & Thermal Tops for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop Free People's wide selection of long sleeve thermal and henley shirts. These light-weight fabrics will keep you warm, comfortable, and stylish all winter.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"thermals-henleys"},{"itemId":"6100088","displayName":"Shirts","links":[[Object],[Object],[Object]],"parentItemId":"6100041","categoryId":"cat830018","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Plaid Shirts, Denim Shirts & Button Down Shirts","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of shirts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"shirts"},{"itemId":"6100098","displayName":"Sweatshirts","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250016","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cool Sweatshirts & Hooded Sweatshirts","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Sweatshirts & Pullovers plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"sweatshirts-pullovers"},{"itemId":"11500014","displayName":"Bodysuits","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat1510040","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Bodysuits & Bodysuit Tops | Long Sleeve & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of sexy bodysuit tops, including long sleeve, v-neck, and sleeveless styles, plus more. Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"bodysuits"},{"itemId":"4600020","displayName":"Kimonos & Ponchos","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat270072","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Kimonos & Ponchos","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop Free People's wide selection of beautiful kimonos, ponchos, and scarves. These comfortable and high quality fabrics will keep you warm this fall and winter.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"kimonos-ponchos"},{"itemId":"6100043","displayName":"Sweaters","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250019","navigationItems":[[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Oversized Sweaters, Turtleneck Sweaters & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Are you ready for fall and winter? Find your new favorite oversized sweater. Shop our selection cashmere sweaters, wool sweaters plus other unique sweaters.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"sweaters"},{"itemId":"12300027","displayName":"Sleeveless Sweaters","links":[[Object],[Object],[Object]],"parentItemId":"6100043","categoryId":"cat1570021","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Sleeveless Sweaters & Sweater Tanks for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of cute sleeveless sweaters plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"sleeveless-sweaters"},{"itemId":"6100104","displayName":"Pullovers","links":[[Object],[Object],[Object]],"parentItemId":"6100043","categoryId":"cat250021","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Pullovers & Pullover Sweaters for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Pullovers plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"pullovers"},{"itemId":"6100106","displayName":"Cardigans","links":[[Object],[Object],[Object]],"parentItemId":"6100043","categoryId":"cat250022","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Women's Cardigan Sweaters | Long & Short","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Cardigans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"cardigans"},{"itemId":"12300029","displayName":"Tunics","links":[[Object],[Object],[Object]],"parentItemId":"6100043","categoryId":"cat1570022","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Tunic Sweaters | Long Sweaters for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of long tunic sweaters plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"tunic-sweaters"},{"itemId":"12800081","displayName":"Unspun","links":[[Object],[Object],[Object]],"parentItemId":"6100043","categoryId":"cat1120029","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Unspun: Hand Knit Sweaters for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":null,"h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"unspun-hand-knit-sweaters"},{"itemId":"9700008","displayName":"Jackets","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250028","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Winter & Fall Jackets for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Look no further. Browse our wide selection of outerwear for women to find the perfect jacket for any outfit. Find your perfect jacket at Free People.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"jackets"},{"itemId":"17000006","displayName":"Vegan Leather & Faux Fur","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat2100002","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Faux Fur Coats & Vegan Leather Jackets","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a variety of vegan coats, from moto jackets to faux fur styles, plus get fashion tips from FP Me! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"vegan-jackets"},{"itemId":"9500092","displayName":"Military Jackets","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120039","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Parkas, Utility & Anorak Jackets for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of denim jackets and parkas plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"utility-jackets"},{"itemId":"9500078","displayName":"Statement Jackets","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120032","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Statement Jackets: Quilted, Embellished & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop cute statement jackets, from embellished to quilted styles, plus get fashion tips from FP Me stylists! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"statement-jackets"},{"itemId":"9500097","displayName":"Vests","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120041","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Vests for Women | Fur, Leather, Fringe & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Vests plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"vests"},{"itemId":"9500082","displayName":"Coats","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120034","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Women's Coats | Peacoats, Parkas & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":null,"h1TagOverride":null},"type":"Navigation Item Browse Content",
"slug":"coats"},{"itemId":"12300031","displayName":"Lightweight Jackets","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1570023","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Light Jackets & Lightweight Coats for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of spring-ready light jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"lightweight-jackets"},{"itemId":"9500086","displayName":"Moto Jackets","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120036","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Moto Jackets - Motorcycle Jackets for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Moto Jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"motorcycle-jackets"},{"itemId":"9500080","displayName":"Leather & Suede Jackets","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120033","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Leather Jackets & Suede Jackets","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop women's leather jackets, vegan leather jackets & suede jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"leather-jackets"},{"itemId":"9500090","displayName":"Denim Jackets","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120038","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Denim Jackets & Jean Jackets for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Denim Jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"denim-jackets"},{"itemId":"15800039","displayName":"Bombers","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1970637","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Bomber Jackets for Women ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a selection of bomber jackets in range of hues, from black to green, then share your style with FP Me! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"bomber-jackets"},{"itemId":"9500094","displayName":"Shearling","links":[[Object],[Object],[Object]],"parentItemId":"9700008","categoryId":"cat1120040","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Faux Fur & Shearling Jackets for Women at Free People","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Faux Fur & Shearling plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"faux-fur-and-shearling-jackets"},{"itemId":"6100052","displayName":"Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat620001","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Women's Jeans, Denim & One Teaspoon Jeans","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Find your perfect jeans from Free People. Fulfill your denim needs with a pair of cropped jeans, vintage flare jeans, or stylish skinny jeans.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"jeans"},{"itemId":"6200006","displayName":"High Rise Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830029","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"High Waisted Jeans - High Rise Jeans for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of high-rise jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"high-rise-jeans"},{"itemId":"9500105","displayName":"Mid Rise Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat1240198","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Mid Rise Jeans | Skinny, Flare & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Mid Rise Jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"mid-rise-jeans"},{"itemId":"9500103","displayName":"Low Rise Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat1120043","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Low Rise Jeans | Skinny, Flare & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Low Rise Jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"low-rise-jeans"},{"itemId":"6100118","displayName":"Wideleg & Flare","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830026","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Flare Jeans, Bell Bottom & Wide Leg Jeans for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop Free People's modern bell bottoms & wide leg jeans now. From vintage-style bell bottoms to cropped wide legs, we've got the flare jeans you crave.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"flare-jeans"},{"itemId":"6100116","displayName":"Skinny Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830025","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Skinny Jeans: High Rise, Slim Fit & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop your personal denim style with Free People's stylish straight leg jeans and skinny jeans. Our jeans are stylish, comfortable, and super versatile.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"skinny-jeans"},{"itemId":"6100120","displayName":"Boyfriend Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830027","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Destroyed & Distressed Boyfriend Jeans","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Rock a pair of boyfriend jeans for your next laidback outfit. Pick from one of the boyfriend jeans styles - high rise, low rise, distressed, or painted!","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"boyfriend-jeans"},{"itemId":"15500095","displayName":"Straight Leg Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat1940152","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Women’s Straight Leg Jeans ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of straight leg jeans for women, from high-waisted to mid-rise cuts! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"straight-leg-jeans"},{"itemId":"6100126","displayName":"Overalls","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830031","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Denim Overalls for Women | Long & Short","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":'"Shop Free People\'s denim overalls and one piece jeans. They are super chic, stylish, and fashionable but still remain their tomboyish and comfortable roots."',"h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"overalls"},{"itemId":"6100114","displayName":"Cropped Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830024","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cropped Jeans | Skinny, Boyfriend & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of cropped jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"cropped-jeans"},{"itemId":"15500097","displayName":"Distressed Jeans","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat1940153","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Ripped & Distressed Jeans for Women ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of ripped jeans for women, from delicately distressed to dramatically destroyed. Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"ripped-jeans"},{"itemId":"6100124","displayName":"Cutoffs","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830030","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Jean Shorts & Denim Cut Off Shorts","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Perfect your summer by shopping from our selection of cut off shorts including distressed shorts, high-waisted jean shorts, and your classic blue jean shorts!","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"denim-shorts"},{"itemId":"6100132","displayName":"Additional Inseams","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat830034","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Additional Inseams - Denim for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of jeans with additional inseams plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"additional-inseams"},{"itemId":"15500091","displayName":"Trend: Patched & Embroidered","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat1940146","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Patched & Embroidered Jeans for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of patched and embroidered jeans, plus get fashion tips from FP Me stylists worldwide! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"patched-embroidered-jeans-trend"},{"itemId":"16800010","displayName":"Brand Spotlight: McGuire","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat2080009","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"McGuire Denim | Flare, Skinny & Boyfriend Jeans","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of McGuire denim, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"mcguire-denim"},{"itemId":"15700016","displayName":"Vintage Styles","links":[[Object],[Object],[Object]],"parentItemId":"6100052","categoryId":"cat1960401","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Vintage Jeans | Boyfriend, Skinny, Flare & More ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of vintage jeans for women, from high-waisted styles to skinnies and boyfriend fits! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"vintage-loves-jeans"},{"itemId":"6100054","displayName":"Pants","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250059","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Women's Pants | Leather Pants, Joggers & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"pants"},{"itemId":"6200016","displayName":"Wideleg & Flare","links":[[Object],[Object],[Object]],"parentItemId":"6100054","categoryId":"cat250062","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Wide Leg Pants, Flare Pants & High Waisted Pants","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of wide leg pants & flare pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"wide-leg-pants"},{"itemId":"6200008","displayName":"Skinny Pants","links":[[Object],[Object],[Object]],"parentItemId":"6100054","categoryId":"cat250063","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Skinny Pants | Slim & Cigarette Pants","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of skinny pants, from cigarette to slim cuts, plus get fashion tips from FP Me stylists! Buy now for free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"skinny-pants"},{"itemId":"9500107","displayName":"Structured Pants","links":[[Object],[Object],[Object]],"parentItemId":"6100054","categoryId":"cat1120045","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Trousers & Tailored Pants for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Structured Pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"structured-pants"},{"itemId":"9500109","displayName":"High Waisted Pants","links":[[Object],[Object],[Object]],"parentItemId":"6100054","categoryId":"cat1120046","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"High Waisted Pants & Trousers for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of High Waisted Pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"high-waisted-pants"},{"itemId":"6200012","displayName":"Harem Pants & Joggers","links":[[Object],[Object],[Object]],"parentItemId":"6100054","categoryId":"cat250060","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Shop Harem Pants & Joggers for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Throw on a pair of harem pants or joggers for a laid back yet stylish look. These comfortable pants are great for a tropical getaway or for layering on a summer night out.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"harem-pants"},{"itemId":"6200018","displayName":"Leggings","links":[[Object],[Object],[Object]],"parentItemId":"6100054","categoryId":"cat250064","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Leggings | Sweater, Sheer, Knit & More ","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Leggings plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"leggings"},{"itemId":"6100056","displayName":"Shorts","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250065","navigationItems":[[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Shop Lace Shorts & High Waisted Shorts","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Rock a pair of lace shorts, high waisted shorts, or denim cutoffs and go wild and free this summer! Our shorts are super flattering, comfortable and ever chic.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"shorts"},{"itemId":"6100124","displayName":"Cutoffs","links":[[Object],[Object],[Object]],"parentItemId":"6100056","categoryId":"cat830030","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Jean Shorts & Denim Cut Off Shorts","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Perfect your summer by shopping from our selection of cut off shorts including distressed shorts, high-waisted jean shorts, and your classic blue jean shorts!","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"denim-shorts"},{"itemId":"9500112","displayName":"Structured Shorts","links":[[Object],[Object],[Object]],"parentItemId":"6100056","categoryId":"cat1120047","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Structured Dress Shorts for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Structured Shorts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"structured-shorts"},{"itemId":"9500114","displayName":"Soft Shorts","links":[[Object],[Object],[Object]],"parentItemId":"6100056","categoryId":"cat1120048","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Soft Shorts for Women | Printed & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Soft Shorts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"soft-shorts"},{"itemId":"6100058","displayName":"Skirts","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250066","navigationItems":[[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Bohemian Women's Skirts | Fitted & Flowy","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of skirts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"skirts"},{"itemId":"6200022","displayName":"Mini Skirts","links":[[Object],[Object],[Object]],"parentItemId":"6100058","categoryId":"cat250069","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Short Mini Skirts for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of Mini Skirts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"mini-skirts"},{"itemId":"6200020","displayName":"Midi & Maxi Skirts","links":[[Object],[Object],[Object]],"parentItemId":"6100058","categoryId":"cat250067","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Maxi Skirts: White, Black, Floral & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Dress yourself up or down in maxi skirts designed to impress. Shop online for stunning long maxi skirts & short maxi skirts in a variety of styles & prints.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"maxi-skirts"},{"itemId":"9800006","displayName":"Jumpsuits & Rompers","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250050","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute Jumpsuits & Rompers for Women","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Bored of your everyday wardrobe? Shop Free People's full selection of comfortable jumpsuits, rompers, and playsuits for a cute and stylish look!","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"jumpsuits-rompers"},{"itemId":"6100047","displayName":"Sets","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat250071","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Crop Top and Skirt Sets & More","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop crop top and skirt sets & crop top and short sets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"sets"},{"itemId":"6400061","displayName":"Swim","links":[[Object],[Object],[Object]],"parentItemId":"6100035","categoryId":"cat1660002","navigationItems":[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],"seo":{"noIndex":!1,"ogImage":null,"title":"Swimsuits, Swimwear & Bathing Suits","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Wear swimsuits from Free People, Acacia or Mara Hoffman next time you're at the beach! You'll have fun mix and matching bikini tops and bottoms.","h1TagOverride":null},"type":"Gateway","slug":"swimwear"},{"itemId":"6400066","displayName":"All Swimwear","links":[[Object],[Object],[Object]],"parentItemId":"6400061","categoryId":"cat360046","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"All Swimwear","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Shop a full selection of All Swimwear plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"all-swimwear"},{"itemId":"4600110","displayName":"Bikini Tops","links":[[Object],[Object],[Object]],"parentItemId":"6400061","categoryId":"cat250073","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"Cute and Sexy Bikinis & Bikini Tops","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Summer is not complete without some cute and sexy bikinis! Pick a colorful neoprene bikini, a sexy triangle top, or a vintage high neck bikini top for your next vacation.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"bikini-tops"},{"itemId":"4600112","displayName":"Bikini Bottoms","links":[[Object],[Object],[Object]],"parentItemId":"6400061","categoryId":"cat250074","navigationItems":[],"seo":{"noIndex":!1,"ogImage":null,"title":"High Waisted Bikini & Bikini Bottoms","noFollow":!1,"seoCopy":null,"includeInSitemap":!0,"metaDescription":"Mix and match your bikinis with Free People's beautiful bikini bottoms for different looks! Pair your swimsuit with a cheeky, printed, or high waisted bikini bottom.","h1TagOverride":null},"type":"Navigation Item Browse Content","slug":"bikini-bottoms"}];
const navName = getNavigationProp(
'displayName',
'slug',
'pet-products',
devdata
)
/*
const s2navName = getNavigationProp(
'displayName',
'slug',
'coats',
stagingdata
);*/
console.log(navName);
setTimeout(function(){require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({ramda:[function(require,module,exports){(function(){"use strict";var __={"@@functional/placeholder":true};var _arity=function _arity(n,fn){switch(n){case 0:return function(){return fn.apply(this,arguments)};case 1:return function(a0){return fn.apply(this,arguments)};case 2:return function(a0,a1){return fn.apply(this,arguments)};case 3:return function(a0,a1,a2){return fn.apply(this,arguments)};case 4:return function(a0,a1,a2,a3){return fn.apply(this,arguments)};case 5:return function(a0,a1,a2,a3,a4){return fn.apply(this,arguments)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.apply(this,arguments)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.apply(this,arguments)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.apply(this,arguments)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.apply(this,arguments)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}};var _arrayFromIterator=function _arrayFromIterator(iter){var list=[];var next;while(!(next=iter.next()).done){list.push(next.value)}return list};var _arrayOf=function _arrayOf(){return Array.prototype.slice.call(arguments)};var _cloneRegExp=function _cloneRegExp(pattern){return new RegExp(pattern.source,(pattern.global?"g":"")+(pattern.ignoreCase?"i":"")+(pattern.multiline?"m":"")+(pattern.sticky?"y":"")+(pattern.unicode?"u":""))};var _complement=function _complement(f){return function(){return!f.apply(this,arguments)}};var _concat=function _concat(set1,set2){set1=set1||[];set2=set2||[];var idx;var len1=set1.length;var len2=set2.length;var result=[];idx=0;while(idx<len1){result[result.length]=set1[idx];idx+=1}idx=0;while(idx<len2){result[result.length]=set2[idx];idx+=1}return result};var _containsWith=function _containsWith(pred,x,list){var idx=0;var len=list.length;while(idx<len){if(pred(x,list[idx])){return true}idx+=1}return false};var _filter=function _filter(fn,list){var idx=0;var len=list.length;var result=[];while(idx<len){if(fn(list[idx])){result[result.length]=list[idx]}idx+=1}return result};var _forceReduced=function _forceReduced(x){return{"@@transducer/value":x,"@@transducer/reduced":true}};var _functionName=function _functionName(f){var match=String(f).match(/^function (\w*)/);return match==null?"":match[1]};var _has=function _has(prop,obj){return Object.prototype.hasOwnProperty.call(obj,prop)};var _identity=function _identity(x){return x};var _isArguments=function(){var toString=Object.prototype.toString;return toString.call(arguments)==="[object Arguments]"?function _isArguments(x){return toString.call(x)==="[object Arguments]"}:function _isArguments(x){return _has("callee",x)}}();var _isArray=Array.isArray||function _isArray(val){return val!=null&&val.length>=0&&Object.prototype.toString.call(val)==="[object Array]"};var _isFunction=function _isFunction(x){return Object.prototype.toString.call(x)==="[object Function]"};var _isInteger=Number.isInteger||function _isInteger(n){return n<<0===n};var _isNumber=function _isNumber(x){return Object.prototype.toString.call(x)==="[object Number]"};var _isObject=function _isObject(x){return Object.prototype.toString.call(x)==="[object Object]"};var _isPlaceholder=function _isPlaceholder(a){return a!=null&&typeof a==="object"&&a["@@functional/placeholder"]===true};var _isRegExp=function _isRegExp(x){return Object.prototype.toString.call(x)==="[object RegExp]"};var _isString=function _isString(x){return Object.prototype.toString.call(x)==="[object String]"};var _isTransformer=function _isTransformer(obj){return typeof obj["@@transducer/step"]==="function"};var _map=function _map(fn,functor){var idx=0;var len=functor.length;var result=Array(len);while(idx<len){result[idx]=fn(functor[idx]);idx+=1}return result};var _objectAssign=function _objectAssign(target){if(target==null){throw new TypeError("Cannot convert undefined or null to object")}var output=Object(target);var idx=1;var length=arguments.length;while(idx<length){var source=arguments[idx];if(source!=null){for(var nextKey in source){if(_has(nextKey,source)){output[nextKey]=source[nextKey]}}}idx+=1}return output};var _of=function _of(x){return[x]};var _pipe=function _pipe(f,g){return function(){return g.call(this,f.apply(this,arguments))}};var _pipeP=function _pipeP(f,g){return function(){var ctx=this;return f.apply(ctx,arguments).then(function(x){return g.call(ctx,x)})}};var _quote=function _quote(s){var escaped=s.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return'"'+escaped.replace(/"/g,'\\"')+'"'};var _reduced=function _reduced(x){return x&&x["@@transducer/reduced"]?x:{"@@transducer/value":x,"@@transducer/reduced":true}};var _slice=function _slice(args,from,to){switch(arguments.length){case 1:return _slice(args,0,args.length);case 2:return _slice(args,from,args.length);default:var list=[];var idx=0;var len=Math.max(0,Math.min(args.length,to)-from);while(idx<len){list[idx]=args[from+idx];idx+=1}return list}};var _toISOString=function(){var pad=function pad(n){return(n<10?"0":"")+n};return typeof Date.prototype.toISOString==="function"?function _toISOString(d){return d.toISOString()}:function _toISOString(d){return d.getUTCFullYear()+"-"+pad(d.getUTCMonth()+1)+"-"+pad(d.getUTCDate())+"T"+pad(d.getUTCHours())+":"+pad(d.getUTCMinutes())+":"+pad(d.getUTCSeconds())+"."+(d.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}}();var _xfBase={init:function(){return this.xf["@@transducer/init"]()},result:function(result){return this.xf["@@transducer/result"](result)}};var _xwrap=function(){function XWrap(fn){this.f=fn}XWrap.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")};XWrap.prototype["@@transducer/result"]=function(acc){return acc};XWrap.prototype["@@transducer/step"]=function(acc,x){return this.f(acc,x)};return function _xwrap(fn){return new XWrap(fn)}}();var _aperture=function _aperture(n,list){var idx=0;var limit=list.length-(n-1);var acc=new Array(limit>=0?limit:0);while(idx<limit){acc[idx]=_slice(list,idx,idx+n);idx+=1}return acc};var _assign=typeof Object.assign==="function"?Object.assign:_objectAssign;var _checkForMethod=function _checkForMethod(methodname,fn){return function(){var length=arguments.length;if(length===0){return fn()}var obj=arguments[length-1];return _isArray(obj)||typeof obj[methodname]!=="function"?fn.apply(this,arguments):obj[methodname].apply(obj,_slice(arguments,0,length-1))}};var _curry1=function _curry1(fn){return function f1(a){if(arguments.length===0||_isPlaceholder(a)){return f1}else{return fn.apply(this,arguments)}}};var _curry2=function _curry2(fn){return function f2(a,b){switch(arguments.length){case 0:return f2;case 1:return _isPlaceholder(a)?f2:_curry1(function(_b){return fn(a,_b)});default:return _isPlaceholder(a)&&_isPlaceholder(b)?f2:_isPlaceholder(a)?_curry1(function(_a){return fn(_a,b)}):_isPlaceholder(b)?_curry1(function(_b){return fn(a,_b)}):fn(a,b)}}};var _curry3=function _curry3(fn){return function f3(a,b,c){switch(arguments.length){case 0:return f3;case 1:return _isPlaceholder(a)?f3:_curry2(function(_b,_c){return fn(a,_b,_c)});case 2:return _isPlaceholder(a)&&_isPlaceholder(b)?f3:_isPlaceholder(a)?_curry2(function(_a,_c){return fn(_a,b,_c)}):_isPlaceholder(b)?_curry2(function(_b,_c){return fn(a,_b,_c)}):_curry1(function(_c){return fn(a,b,_c)});default:return _isPlaceholder(a)&&_isPlaceholder(b)&&_isPlaceholder(c)?f3:_isPlaceholder(a)&&_isPlaceholder(b)?_curry2(function(_a,_b){return fn(_a,_b,c)}):_isPlaceholder(a)&&_isPlaceholder(c)?_curry2(function(_a,_c){return fn(_a,b,_c)}):_isPlaceholder(b)&&_isPlaceholder(c)?_curry2(function(_b,_c){return fn(a,_b,_c)}):_isPlaceholder(a)?_curry1(function(_a){return fn(_a,b,c)}):_isPlaceholder(b)?_curry1(function(_b){return fn(a,_b,c)}):_isPlaceholder(c)?_curry1(function(_c){return fn(a,b,_c)}):fn(a,b,c)}}};var _curryN=function _curryN(length,received,fn){return function(){var combined=[];var argsIdx=0;var left=length;var combinedIdx=0;while(combinedIdx<received.length||argsIdx<arguments.length){var result;if(combinedIdx<received.length&&(!_isPlaceholder(received[combinedIdx])||argsIdx>=arguments.length)){result=received[combinedIdx]}else{result=arguments[argsIdx];argsIdx+=1}combined[combinedIdx]=result;if(!_isPlaceholder(result)){left-=1}combinedIdx+=1}return left<=0?fn.apply(this,combined):_arity(left,_curryN(length,combined,fn))}};var _dispatchable=function _dispatchable(methodname,xf,fn){return function(){var length=arguments.length;if(length===0){return fn()}var obj=arguments[length-1];if(!_isArray(obj)){var args=_slice(arguments,0,length-1);if(typeof obj[methodname]==="function"){return obj[methodname].apply(obj,args)}if(_isTransformer(obj)){var transducer=xf.apply(null,args);return transducer(obj)}}return fn.apply(this,arguments)}};var _dropLastWhile=function dropLastWhile(pred,list){var idx=list.length-1;while(idx>=0&&pred(list[idx])){idx-=1}return _slice(list,0,idx+1)};var _xall=function(){function XAll(f,xf){this.xf=xf;this.f=f;this.all=true}XAll.prototype["@@transducer/init"]=_xfBase.init;XAll.prototype["@@transducer/result"]=function(result){if(this.all){result=this.xf["@@transducer/step"](result,true)}return this.xf["@@transducer/result"](result)};XAll.prototype["@@transducer/step"]=function(result,input){if(!this.f(input)){this.all=false;result=_reduced(this.xf["@@transducer/step"](result,false))}return result};return _curry2(function _xall(f,xf){return new XAll(f,xf)})}();var _xany=function(){function XAny(f,xf){this.xf=xf;this.f=f;this.any=false}XAny.prototype["@@transducer/init"]=_xfBase.init;XAny.prototype["@@transducer/result"]=function(result){if(!this.any){result=this.xf["@@transducer/step"](result,false)}return this.xf["@@transducer/result"](result)};XAny.prototype["@@transducer/step"]=function(result,input){if(this.f(input)){this.any=true;result=_reduced(this.xf["@@transducer/step"](result,true))}return result};return _curry2(function _xany(f,xf){return new XAny(f,xf)})}();var _xaperture=function(){function XAperture(n,xf){this.xf=xf;this.pos=0;this.full=false;this.acc=new Array(n)}XAperture.prototype["@@transducer/init"]=_xfBase.init;XAperture.prototype["@@transducer/result"]=function(result){this.acc=null;return this.xf["@@transducer/result"](result)};XAperture.prototype["@@transducer/step"]=function(result,input){this.store(input);return this.full?this.xf["@@transducer/step"](result,this.getCopy()):result};XAperture.prototype.store=function(input){this.acc[this.pos]=input;this.pos+=1;if(this.pos===this.acc.length){this.pos=0;this.full=true}};XAperture.prototype.getCopy=function(){return _concat(_slice(this.acc,this.pos),_slice(this.acc,0,this.pos))};return _curry2(function _xaperture(n,xf){return new XAperture(n,xf)})}();var _xdrop=function(){function XDrop(n,xf){this.xf=xf;this.n=n}XDrop.prototype["@@transducer/init"]=_xfBase.init;XDrop.prototype["@@transducer/result"]=_xfBase.result;XDrop.prototype["@@transducer/step"]=function(result,input){if(this.n>0){this.n-=1;return result}return this.xf["@@transducer/step"](result,input)};return _curry2(function _xdrop(n,xf){return new XDrop(n,xf)})}();var _xdropLast=function(){function XDropLast(n,xf){this.xf=xf;this.pos=0;this.full=false;this.acc=new Array(n)}XDropLast.prototype["@@transducer/init"]=_xfBase.init;XDropLast.prototype["@@transducer/result"]=function(result){this.acc=null;return this.xf["@@transducer/result"](result)};XDropLast.prototype["@@transducer/step"]=function(result,input){if(this.full){result=this.xf["@@transducer/step"](result,this.acc[this.pos])}this.store(input);return result};XDropLast.prototype.store=function(input){this.acc[this.pos]=input;this.pos+=1;if(this.pos===this.acc.length){this.pos=0;this.full=true}};return _curry2(function _xdropLast(n,xf){return new XDropLast(n,xf)})}();var _xdropRepeatsWith=function(){function XDropRepeatsWith(pred,xf){this.xf=xf;this.pred=pred;this.lastValue=undefined;this.seenFirstValue=false}XDropRepeatsWith.prototype["@@transducer/init"]=function(){return this.xf["@@transducer/init"]()};XDropRepeatsWith.prototype["@@transducer/result"]=function(result){return this.xf["@@transducer/result"](result)};XDropRepeatsWith.prototype["@@transducer/step"]=function(result,input){var sameAsLast=false;if(!this.seenFirstValue){this.seenFirstValue=true}else if(this.pred(this.lastValue,input)){sameAsLast=true}this.lastValue=input;return sameAsLast?result:this.xf["@@transducer/step"](result,input)};return _curry2(function _xdropRepeatsWith(pred,xf){return new XDropRepeatsWith(pred,xf)})}();var _xdropWhile=function(){function XDropWhile(f,xf){this.xf=xf;this.f=f}XDropWhile.prototype["@@transducer/init"]=_xfBase.init;XDropWhile.prototype["@@transducer/result"]=_xfBase.result;XDropWhile.prototype["@@transducer/step"]=function(result,input){if(this.f){if(this.f(input)){return result}this.f=null}return this.xf["@@transducer/step"](result,input)};return _curry2(function _xdropWhile(f,xf){return new XDropWhile(f,xf)})}();var _xfilter=function(){function XFilter(f,xf){this.xf=xf;this.f=f}XFilter.prototype["@@transducer/init"]=_xfBase.init;XFilter.prototype["@@transducer/result"]=_xfBase.result;XFilter.prototype["@@transducer/step"]=function(result,input){return this.f(input)?this.xf["@@transducer/step"](result,input):result};return _curry2(function _xfilter(f,xf){return new XFilter(f,xf)})}();var _xfind=function(){function XFind(f,xf){this.xf=xf;this.f=f;this.found=false}XFind.prototype["@@transducer/init"]=_xfBase.init;XFind.prototype["@@transducer/result"]=function(result){if(!this.found){result=this.xf["@@transducer/step"](result,void 0)}return this.xf["@@transducer/result"](result)};XFind.prototype["@@transducer/step"]=function(result,input){if(this.f(input)){this.found=true;result=_reduced(this.xf["@@transducer/step"](result,input))}return result};return _curry2(function _xfind(f,xf){return new XFind(f,xf)})}();var _xfindIndex=function(){function XFindIndex(f,xf){this.xf=xf;this.f=f;this.idx=-1;this.found=false}XFindIndex.prototype["@@transducer/init"]=_xfBase.init;XFindIndex.prototype["@@transducer/result"]=function(result){if(!this.found){result=this.xf["@@transducer/step"](result,-1)}return this.xf["@@transducer/result"](result)};XFindIndex.prototype["@@transducer/step"]=function(result,input){this.idx+=1;if(this.f(input)){this.found=true;result=_reduced(this.xf["@@transducer/step"](result,this.idx))}return result};return _curry2(function _xfindIndex(f,xf){return new XFindIndex(f,xf)})}();var _xfindLast=function(){function XFindLast(f,xf){this.xf=xf;this.f=f}XFindLast.prototype["@@transducer/init"]=_xfBase.init;XFindLast.prototype["@@transducer/result"]=function(result){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result,this.last))};XFindLast.prototype["@@transducer/step"]=function(result,input){if(this.f(input)){this.last=input}return result};return _curry2(function _xfindLast(f,xf){return new XFindLast(f,xf)})}();var _xfindLastIndex=function(){function XFindLastIndex(f,xf){this.xf=xf;this.f=f;this.idx=-1;this.lastIdx=-1}XFindLastIndex.prototype["@@transducer/init"]=_xfBase.init;XFindLastIndex.prototype["@@transducer/result"]=function(result){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result,this.lastIdx))};XFindLastIndex.prototype["@@transducer/step"]=function(result,input){this.idx+=1;if(this.f(input)){this.lastIdx=this.idx}return result};return _curry2(function _xfindLastIndex(f,xf){return new XFindLastIndex(f,xf)})}();var _xmap=function(){function XMap(f,xf){this.xf=xf;this.f=f}XMap.prototype["@@transducer/init"]=_xfBase.init;XMap.prototype["@@transducer/result"]=_xfBase.result;XMap.prototype["@@transducer/step"]=function(result,input){return this.xf["@@transducer/step"](result,this.f(input))};return _curry2(function _xmap(f,xf){return new XMap(f,xf)})}();var _xreduceBy=function(){function XReduceBy(valueFn,valueAcc,keyFn,xf){this.valueFn=valueFn;this.valueAcc=valueAcc;this.keyFn=keyFn;this.xf=xf;this.inputs={}}XReduceBy.prototype["@@transducer/init"]=_xfBase.init;XReduceBy.prototype["@@transducer/result"]=function(result){var key;for(key in this.inputs){if(_has(key,this.inputs)){result=this.xf["@@transducer/step"](result,this.inputs[key]);if(result["@@transducer/reduced"]){result=result["@@transducer/value"];break}}}this.inputs=null;return this.xf["@@transducer/result"](result)};XReduceBy.prototype["@@transducer/step"]=function(result,input){var key=this.keyFn(input);this.inputs[key]=this.inputs[key]||[key,this.valueAcc];this.inputs[key][1]=this.valueFn(this.inputs[key][1],input);return result};return _curryN(4,[],function _xreduceBy(valueFn,valueAcc,keyFn,xf){return new XReduceBy(valueFn,valueAcc,keyFn,xf)})}();var _xtake=function(){function XTake(n,xf){this.xf=xf;this.n=n;this.i=0}XTake.prototype["@@transducer/init"]=_xfBase.init;XTake.prototype["@@transducer/result"]=_xfBase.result;XTake.prototype["@@transducer/step"]=function(result,input){this.i+=1;var ret=this.n===0?result:this.xf["@@transducer/step"](result,input);return this.i>=this.n?_reduced(ret):ret};return _curry2(function _xtake(n,xf){return new XTake(n,xf)})}();var _xtakeWhile=function(){function XTakeWhile(f,xf){this.xf=xf;this.f=f}XTakeWhile.prototype["@@transducer/init"]=_xfBase.init;XTakeWhile.prototype["@@transducer/result"]=_xfBase.result;XTakeWhile.prototype["@@transducer/step"]=function(result,input){return this.f(input)?this.xf["@@transducer/step"](result,input):_reduced(result)};return _curry2(function _xtakeWhile(f,xf){return new XTakeWhile(f,xf)})}();var add=_curry2(function add(a,b){return Number(a)+Number(b)});var adjust=_curry3(function adjust(fn,idx,list){if(idx>=list.length||idx<-list.length){return list}var start=idx<0?list.length:0;var _idx=start+idx;var _list=_concat(list);_list[_idx]=fn(list[_idx]);return _list});var all=_curry2(_dispatchable("all",_xall,function all(fn,list){var idx=0;while(idx<list.length){if(!fn(list[idx])){return false}idx+=1}return true}));var always=_curry1(function always(val){return function(){return val}});var and=_curry2(function and(a,b){return a&&b});var any=_curry2(_dispatchable("any",_xany,function any(fn,list){var idx=0;while(idx<list.length){if(fn(list[idx])){return true}idx+=1}return false}));var aperture=_curry2(_dispatchable("aperture",_xaperture,_aperture));var append=_curry2(function append(el,list){return _concat(list,[el])});var apply=_curry2(function apply(fn,args){return fn.apply(this,args)});var assoc=_curry3(function assoc(prop,val,obj){var result={};for(var p in obj){result[p]=obj[p]}result[prop]=val;return result});var assocPath=_curry3(function assocPath(path,val,obj){switch(path.length){case 0:return val;case 1:return assoc(path[0],val,obj);default:return assoc(path[0],assocPath(_slice(path,1),val,Object(obj[path[0]])),obj)}});var bind=_curry2(function bind(fn,thisObj){return _arity(fn.length,function(){return fn.apply(thisObj,arguments)})});var clamp=_curry3(function clamp(min,max,value){if(min>max){throw new Error("min must not be greater than max in clamp(min, max, value)")}return value<min?min:value>max?max:value});var comparator=_curry1(function comparator(pred){return function(a,b){return pred(a,b)?-1:pred(b,a)?1:0}});var curryN=_curry2(function curryN(length,fn){if(length===1){return _curry1(fn)}return _arity(length,_curryN(length,[],fn))});var dec=add(-1);var defaultTo=_curry2(function defaultTo(d,v){return v==null||v!==v?d:v});var differenceWith=_curry3(function differenceWith(pred,first,second){var out=[];var idx=0;var firstLen=first.length;while(idx<firstLen){if(!_containsWith(pred,first[idx],second)&&!_containsWith(pred,first[idx],out)){out.push(first[idx])}idx+=1}return out});var dissoc=_curry2(function dissoc(prop,obj){var result={};for(var p in obj){if(p!==prop){result[p]=obj[p]}}return result});var dissocPath=_curry2(function dissocPath(path,obj){switch(path.length){case 0:return obj;case 1:return dissoc(path[0],obj);default:var head=path[0];var tail=_slice(path,1);return obj[head]==null?obj:assoc(head,dissocPath(tail,obj[head]),obj)}});var divide=_curry2(function divide(a,b){return a/b});var dropWhile=_curry2(_dispatchable("dropWhile",_xdropWhile,function dropWhile(pred,list){var idx=0;var len=list.length;while(idx<len&&pred(list[idx])){idx+=1}return _slice(list,idx)}));var empty=_curry1(function empty(x){return x!=null&&typeof x.empty==="function"?x.empty():x!=null&&x.constructor!=null&&typeof x.constructor.empty==="function"?x.constructor.empty():_isArray(x)?[]:_isString(x)?"":_isObject(x)?{}:_isArguments(x)?function(){return arguments}():void 0});var evolve=_curry2(function evolve(transformations,object){var result={};var transformation,key,type;for(key in object){transformation=transformations[key];type=typeof transformation;result[key]=type==="function"?transformation(object[key]):type==="object"?evolve(transformations[key],object[key]):object[key]}return result});var find=_curry2(_dispatchable("find",_xfind,function find(fn,list){var idx=0;var len=list.length;while(idx<len){if(fn(list[idx])){return list[idx]}idx+=1}}));var findIndex=_curry2(_dispatchable("findIndex",_xfindIndex,function findIndex(fn,list){var idx=0;var len=list.length;while(idx<len){if(fn(list[idx])){return idx}idx+=1}return-1}));var findLast=_curry2(_dispatchable("findLast",_xfindLast,function findLast(fn,list){var idx=list.length-1;while(idx>=0){if(fn(list[idx])){return list[idx]}idx-=1}}));var findLastIndex=_curry2(_dispatchable("findLastIndex",_xfindLastIndex,function findLastIndex(fn,list){var idx=list.length-1;while(idx>=0){if(fn(list[idx])){return idx}idx-=1}return-1}));var forEach=_curry2(_checkForMethod("forEach",function forEach(fn,list){var len=list.length;var idx=0;while(idx<len){fn(list[idx]);idx+=1}return list}));var fromPairs=_curry1(function fromPairs(pairs){var result={};var idx=0;while(idx<pairs.length){result[pairs[idx][0]]=pairs[idx][1];idx+=1}return result});var groupWith=_curry2(function(fn,list){var res=[];var idx=0;var len=list.length;while(idx<len){var nextidx=idx+1;while(nextidx<len&&fn(list[idx],list[nextidx])){nextidx+=1}res.push(list.slice(idx,nextidx));idx=nextidx}return res});var gt=_curry2(function gt(a,b){return a>b});var gte=_curry2(function gte(a,b){return a>=b});var has=_curry2(_has);var hasIn=_curry2(function hasIn(prop,obj){return prop in obj});var identical=_curry2(function identical(a,b){if(a===b){return a!==0||1/a===1/b}else{return a!==a&&b!==b}});var identity=_curry1(_identity);var ifElse=_curry3(function ifElse(condition,onTrue,onFalse){return curryN(Math.max(condition.length,onTrue.length,onFalse.length),function _ifElse(){return condition.apply(this,arguments)?onTrue.apply(this,arguments):onFalse.apply(this,arguments)})});var inc=add(1);var insert=_curry3(function insert(idx,elt,list){idx=idx<list.length&&idx>=0?idx:list.length;var result=_slice(list);result.splice(idx,0,elt);return result});var insertAll=_curry3(function insertAll(idx,elts,list){idx=idx<list.length&&idx>=0?idx:list.length;return _concat(_concat(_slice(list,0,idx),elts),_slice(list,idx))});var intersperse=_curry2(_checkForMethod("intersperse",function intersperse(separator,list){var out=[];var idx=0;var length=list.length;while(idx<length){if(idx===length-1){out.push(list[idx])}else{out.push(list[idx],separator)}idx+=1}return out}));var is=_curry2(function is(Ctor,val){return val!=null&&val.constructor===Ctor||val instanceof Ctor});var isArrayLike=_curry1(function isArrayLike(x){if(_isArray(x)){return true}if(!x){return false}if(typeof x!=="object"){return false}if(_isString(x)){return false}if(x.nodeType===1){return!!x.length}if(x.length===0){return true}if(x.length>0){return x.hasOwnProperty(0)&&x.hasOwnProperty(x.length-1)}return false});var isNil=_curry1(function isNil(x){return x==null});var keys=function(){var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString");var nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];var hasArgsEnumBug=function(){"use strict";return arguments.propertyIsEnumerable("length")}();var contains=function contains(list,item){var idx=0;while(idx<list.length){if(list[idx]===item){return true}idx+=1}return false};return typeof Object.keys==="function"&&!hasArgsEnumBug?_curry1(function keys(obj){return Object(obj)!==obj?[]:Object.keys(obj)}):_curry1(function keys(obj){if(Object(obj)!==obj){return[]}var prop,nIdx;var ks=[];var checkArgsLength=hasArgsEnumBug&&_isArguments(obj);for(prop in obj){if(_has(prop,obj)&&(!checkArgsLength||prop!=="length")){ks[ks.length]=prop}}if(hasEnumBug){nIdx=nonEnumerableProps.length-1;while(nIdx>=0){prop=nonEnumerableProps[nIdx];if(_has(prop,obj)&&!contains(ks,prop)){ks[ks.length]=prop}nIdx-=1}}return ks})}();var keysIn=_curry1(function keysIn(obj){var prop;var ks=[];for(prop in obj){ks[ks.length]=prop}return ks});var length=_curry1(function length(list){return list!=null&&_isNumber(list.length)?list.length:NaN});var lt=_curry2(function lt(a,b){return a<b});var lte=_curry2(function lte(a,b){return a<=b});var mapAccum=_curry3(function mapAccum(fn,acc,list){var idx=0;var len=list.length;var result=[];var tuple=[acc];while(idx<len){tuple=fn(tuple[0],list[idx]);result[idx]=tuple[1];idx+=1}return[tuple[0],result]});var mapAccumRight=_curry3(function mapAccumRight(fn,acc,list){var idx=list.length-1;var result=[];var tuple=[acc];while(idx>=0){tuple=fn(tuple[0],list[idx]);result[idx]=tuple[1];idx-=1}return[tuple[0],result]});var match=_curry2(function match(rx,str){return str.match(rx)||[]});var mathMod=_curry2(function mathMod(m,p){if(!_isInteger(m)){return NaN}if(!_isInteger(p)||p<1){return NaN}return(m%p+p)%p});var max=_curry2(function max(a,b){return b>a?b:a});var maxBy=_curry3(function maxBy(f,a,b){return f(b)>f(a)?b:a});var merge=_curry2(function merge(l,r){return _assign({},l,r)});var mergeAll=_curry1(function mergeAll(list){return _assign.apply(null,[{}].concat(list))});var mergeWithKey=_curry3(function mergeWithKey(fn,l,r){var result={};var k;for(k in l){if(_has(k,l)){result[k]=_has(k,r)?fn(k,l[k],r[k]):l[k]}}for(k in r){if(_has(k,r)&&!_has(k,result)){result[k]=r[k]}}return result});var min=_curry2(function min(a,b){return b<a?b:a});var minBy=_curry3(function minBy(f,a,b){return f(b)<f(a)?b:a});var modulo=_curry2(function modulo(a,b){return a%b});var multiply=_curry2(function multiply(a,b){return a*b});var nAry=_curry2(function nAry(n,fn){switch(n){case 0:return function(){return fn.call(this)};case 1:return function(a0){return fn.call(this,a0)};case 2:return function(a0,a1){return fn.call(this,a0,a1)};case 3:return function(a0,a1,a2){return fn.call(this,a0,a1,a2)};case 4:return function(a0,a1,a2,a3){return fn.call(this,a0,a1,a2,a3)};case 5:return function(a0,a1,a2,a3,a4){return fn.call(this,a0,a1,a2,a3,a4)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.call(this,a0,a1,a2,a3,a4,a5)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.call(this,a0,a1,a2,a3,a4,a5,a6)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7,a8)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}});var negate=_curry1(function negate(n){return-n});var none=_curry2(_complement(_dispatchable("any",_xany,any)));var not=_curry1(function not(a){return!a});var nth=_curry2(function nth(offset,list){var idx=offset<0?list.length+offset:offset;return _isString(list)?list.charAt(idx):list[idx]});var nthArg=_curry1(function nthArg(n){var arity=n<0?1:n+1;return curryN(arity,function(){return nth(n,arguments)})});var objOf=_curry2(function objOf(key,val){var obj={};obj[key]=val;return obj});var of=_curry1(_of);var once=_curry1(function once(fn){var called=false;var result;return _arity(fn.length,function(){if(called){return result}called=true;result=fn.apply(this,arguments);return result})});var or=_curry2(function or(a,b){return a||b});var over=function(){var Identity=function(x){return{value:x,map:function(f){return Identity(f(x))}}};return _curry3(function over(lens,f,x){return lens(function(y){return Identity(f(y))})(x).value})}();var pair=_curry2(function pair(fst,snd){return[fst,snd]});var path=_curry2(function path(paths,obj){var val=obj;var idx=0;while(idx<paths.length){if(val==null){return}val=val[paths[idx]];idx+=1}return val});var pathOr=_curry3(function pathOr(d,p,obj){return defaultTo(d,path(p,obj))});var pathSatisfies=_curry3(function pathSatisfies(pred,propPath,obj){return propPath.length>0&&pred(path(propPath,obj))});var pick=_curry2(function pick(names,obj){var result={};var idx=0;while(idx<names.length){if(names[idx]in obj){result[names[idx]]=obj[names[idx]]}idx+=1}return result});var pickAll=_curry2(function pickAll(names,obj){var result={};var idx=0;var len=names.length;while(idx<len){var name=names[idx];result[name]=obj[name];idx+=1}return result});var pickBy=_curry2(function pickBy(test,obj){var result={};for(var prop in obj){if(test(obj[prop],prop,obj)){result[prop]=obj[prop]}}return result});var prepend=_curry2(function prepend(el,list){return _concat([el],list)});var prop=_curry2(function prop(p,obj){return obj[p]});var propIs=_curry3(function propIs(type,name,obj){return is(type,obj[name])});var propOr=_curry3(function propOr(val,p,obj){return obj!=null&&_has(p,obj)?obj[p]:val});var propSatisfies=_curry3(function propSatisfies(pred,name,obj){return pred(obj[name])});var props=_curry2(function props(ps,obj){var len=ps.length;var out=[];var idx=0;while(idx<len){out[idx]=obj[ps[idx]];idx+=1}return out});var range=_curry2(function range(from,to){if(!(_isNumber(from)&&_isNumber(to))){throw new TypeError("Both arguments to range must be numbers")}var result=[];var n=from;while(n<to){result.push(n);n+=1}return result});var reduceRight=_curry3(function reduceRight(fn,acc,list){var idx=list.length-1;while(idx>=0){acc=fn(acc,list[idx]);idx-=1}return acc});var reduced=_curry1(_reduced);var remove=_curry3(function remove(start,count,list){return _concat(_slice(list,0,Math.min(start,list.length)),_slice(list,Math.min(list.length,start+count)))});var replace=_curry3(function replace(regex,replacement,str){return str.replace(regex,replacement)});var reverse=_curry1(function reverse(list){return _isString(list)?list.split("").reverse().join(""):_slice(list).reverse()});var scan=_curry3(function scan(fn,acc,list){var idx=0;var len=list.length;var result=[acc];while(idx<len){acc=fn(acc,list[idx]);result[idx+1]=acc;idx+=1}return result});var set=_curry3(function set(lens,v,x){return over(lens,always(v),x)});var slice=_curry3(_checkForMethod("slice",function slice(fromIndex,toIndex,list){return Array.prototype.slice.call(list,fromIndex,toIndex)}));var sort=_curry2(function sort(comparator,list){return _slice(list).sort(comparator)});var sortBy=_curry2(function sortBy(fn,list){return _slice(list).sort(function(a,b){var aa=fn(a);var bb=fn(b);return aa<bb?-1:aa>bb?1:0})});var splitAt=_curry2(function splitAt(index,array){return[slice(0,index,array),slice(index,length(array),array)]});var splitEvery=_curry2(function splitEvery(n,list){if(n<=0){throw new Error("First argument to splitEvery must be a positive integer")}var result=[];var idx=0;
while(idx<list.length){result.push(slice(idx,idx+=n,list))}return result});var splitWhen=_curry2(function splitWhen(pred,list){var idx=0;var len=list.length;var prefix=[];while(idx<len&&!pred(list[idx])){prefix.push(list[idx]);idx+=1}return[prefix,_slice(list,idx)]});var subtract=_curry2(function subtract(a,b){return Number(a)-Number(b)});var tail=_checkForMethod("tail",slice(1,Infinity));var take=_curry2(_dispatchable("take",_xtake,function take(n,xs){return slice(0,n<0?Infinity:n,xs)}));var takeLastWhile=_curry2(function takeLastWhile(fn,list){var idx=list.length-1;while(idx>=0&&fn(list[idx])){idx-=1}return _slice(list,idx+1,Infinity)});var takeWhile=_curry2(_dispatchable("takeWhile",_xtakeWhile,function takeWhile(fn,list){var idx=0;var len=list.length;while(idx<len&&fn(list[idx])){idx+=1}return _slice(list,0,idx)}));var tap=_curry2(function tap(fn,x){fn(x);return x});var times=_curry2(function times(fn,n){var len=Number(n);var idx=0;var list;if(len<0||isNaN(len)){throw new RangeError("n must be a non-negative number")}list=new Array(len);while(idx<len){list[idx]=fn(idx);idx+=1}return list});var toPairs=_curry1(function toPairs(obj){var pairs=[];for(var prop in obj){if(_has(prop,obj)){pairs[pairs.length]=[prop,obj[prop]]}}return pairs});var toPairsIn=_curry1(function toPairsIn(obj){var pairs=[];for(var prop in obj){pairs[pairs.length]=[prop,obj[prop]]}return pairs});var transpose=_curry1(function transpose(outerlist){var i=0;var result=[];while(i<outerlist.length){var innerlist=outerlist[i];var j=0;while(j<innerlist.length){if(typeof result[j]==="undefined"){result[j]=[]}result[j].push(innerlist[j]);j+=1}i+=1}return result});var trim=function(){var ws=" \n\x0B\f\r   ᠎    "+"          \u2028"+"\u2029\ufeff";var zeroWidth="​";var hasProtoTrim=typeof String.prototype.trim==="function";if(!hasProtoTrim||(ws.trim()||!zeroWidth.trim())){return _curry1(function trim(str){var beginRx=new RegExp("^["+ws+"]["+ws+"]*");var endRx=new RegExp("["+ws+"]["+ws+"]*$");return str.replace(beginRx,"").replace(endRx,"")})}else{return _curry1(function trim(str){return str.trim()})}}();var tryCatch=_curry2(function _tryCatch(tryer,catcher){return _arity(tryer.length,function(){try{return tryer.apply(this,arguments)}catch(e){return catcher.apply(this,_concat([e],arguments))}})});var type=_curry1(function type(val){return val===null?"Null":val===undefined?"Undefined":Object.prototype.toString.call(val).slice(8,-1)});var unapply=_curry1(function unapply(fn){return function(){return fn(_slice(arguments))}});var unary=_curry1(function unary(fn){return nAry(1,fn)});var uncurryN=_curry2(function uncurryN(depth,fn){return curryN(depth,function(){var currentDepth=1;var value=fn;var idx=0;var endIdx;while(currentDepth<=depth&&typeof value==="function"){endIdx=currentDepth===depth?arguments.length:idx+value.length;value=value.apply(this,_slice(arguments,idx,endIdx));currentDepth+=1;idx=endIdx}return value})});var unfold=_curry2(function unfold(fn,seed){var pair=fn(seed);var result=[];while(pair&&pair.length){result[result.length]=pair[0];pair=fn(pair[1])}return result});var uniqWith=_curry2(function uniqWith(pred,list){var idx=0;var len=list.length;var result=[];var item;while(idx<len){item=list[idx];if(!_containsWith(pred,item,result)){result[result.length]=item}idx+=1}return result});var unless=_curry3(function unless(pred,whenFalseFn,x){return pred(x)?x:whenFalseFn(x)});var until=_curry3(function until(pred,fn,init){var val=init;while(!pred(val)){val=fn(val)}return val});var update=_curry3(function update(idx,x,list){return adjust(always(x),idx,list)});var useWith=_curry2(function useWith(fn,transformers){return curryN(transformers.length,function(){var args=[];var idx=0;while(idx<transformers.length){args.push(transformers[idx].call(this,arguments[idx]));idx+=1}return fn.apply(this,args.concat(_slice(arguments,transformers.length)))})});var values=_curry1(function values(obj){var props=keys(obj);var len=props.length;var vals=[];var idx=0;while(idx<len){vals[idx]=obj[props[idx]];idx+=1}return vals});var valuesIn=_curry1(function valuesIn(obj){var prop;var vs=[];for(prop in obj){vs[vs.length]=obj[prop]}return vs});var view=function(){var Const=function(x){return{value:x,map:function(){return this}}};return _curry2(function view(lens,x){return lens(Const)(x).value})}();var when=_curry3(function when(pred,whenTrueFn,x){return pred(x)?whenTrueFn(x):x});var where=_curry2(function where(spec,testObj){for(var prop in spec){if(_has(prop,spec)&&!spec[prop](testObj[prop])){return false}}return true});var wrap=_curry2(function wrap(fn,wrapper){return curryN(fn.length,function(){return wrapper.apply(this,_concat([fn],arguments))})});var xprod=_curry2(function xprod(a,b){var idx=0;var ilen=a.length;var j;var jlen=b.length;var result=[];while(idx<ilen){j=0;while(j<jlen){result[result.length]=[a[idx],b[j]];j+=1}idx+=1}return result});var zip=_curry2(function zip(a,b){var rv=[];var idx=0;var len=Math.min(a.length,b.length);while(idx<len){rv[idx]=[a[idx],b[idx]];idx+=1}return rv});var zipObj=_curry2(function zipObj(keys,values){var idx=0;var len=Math.min(keys.length,values.length);var out={};while(idx<len){out[keys[idx]]=values[idx];idx+=1}return out});var zipWith=_curry3(function zipWith(fn,a,b){var rv=[];var idx=0;var len=Math.min(a.length,b.length);while(idx<len){rv[idx]=fn(a[idx],b[idx]);idx+=1}return rv});var F=always(false);var T=always(true);var _clone=function _clone(value,refFrom,refTo,deep){var copy=function copy(copiedValue){var len=refFrom.length;var idx=0;while(idx<len){if(value===refFrom[idx]){return refTo[idx]}idx+=1}refFrom[idx+1]=value;refTo[idx+1]=copiedValue;for(var key in value){copiedValue[key]=deep?_clone(value[key],refFrom,refTo,true):value[key]}return copiedValue};switch(type(value)){case"Object":return copy({});case"Array":return copy([]);case"Date":return new Date(value.valueOf());case"RegExp":return _cloneRegExp(value);default:return value}};var _createPartialApplicator=function _createPartialApplicator(concat){return _curry2(function(fn,args){return _arity(Math.max(0,fn.length-args.length),function(){return fn.apply(this,concat(args,arguments))})})};var _dropLast=function dropLast(n,xs){return take(n<xs.length?xs.length-n:0,xs)};var _equals=function _equals(a,b,stackA,stackB){if(identical(a,b)){return true}if(type(a)!==type(b)){return false}if(a==null||b==null){return false}if(typeof a.equals==="function"||typeof b.equals==="function"){return typeof a.equals==="function"&&a.equals(b)&&typeof b.equals==="function"&&b.equals(a)}switch(type(a)){case"Arguments":case"Array":case"Object":if(typeof a.constructor==="function"&&_functionName(a.constructor)==="Promise"){return a===b}break;case"Boolean":case"Number":case"String":if(!(typeof a===typeof b&&identical(a.valueOf(),b.valueOf()))){return false}break;case"Date":if(!identical(a.valueOf(),b.valueOf())){return false}break;case"Error":return a.name===b.name&&a.message===b.message;case"RegExp":if(!(a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline&&a.sticky===b.sticky&&a.unicode===b.unicode)){return false}break;case"Map":case"Set":if(!_equals(_arrayFromIterator(a.entries()),_arrayFromIterator(b.entries()),stackA,stackB)){return false}break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":break;case"ArrayBuffer":break;default:return false}var keysA=keys(a);if(keysA.length!==keys(b).length){return false}var idx=stackA.length-1;while(idx>=0){if(stackA[idx]===a){return stackB[idx]===b}idx-=1}stackA.push(a);stackB.push(b);idx=keysA.length-1;while(idx>=0){var key=keysA[idx];if(!(_has(key,b)&&_equals(b[key],a[key],stackA,stackB))){return false}idx-=1}stackA.pop();stackB.pop();return true};var _makeFlat=function _makeFlat(recursive){return function flatt(list){var value,jlen,j;var result=[];var idx=0;var ilen=list.length;while(idx<ilen){if(isArrayLike(list[idx])){value=recursive?flatt(list[idx]):list[idx];j=0;jlen=value.length;while(j<jlen){result[result.length]=value[j];j+=1}}else{result[result.length]=list[idx]}idx+=1}return result}};var _reduce=function(){function _arrayReduce(xf,acc,list){var idx=0;var len=list.length;while(idx<len){acc=xf["@@transducer/step"](acc,list[idx]);if(acc&&acc["@@transducer/reduced"]){acc=acc["@@transducer/value"];break}idx+=1}return xf["@@transducer/result"](acc)}function _iterableReduce(xf,acc,iter){var step=iter.next();while(!step.done){acc=xf["@@transducer/step"](acc,step.value);if(acc&&acc["@@transducer/reduced"]){acc=acc["@@transducer/value"];break}step=iter.next()}return xf["@@transducer/result"](acc)}function _methodReduce(xf,acc,obj){return xf["@@transducer/result"](obj.reduce(bind(xf["@@transducer/step"],xf),acc))}var symIterator=typeof Symbol!=="undefined"?Symbol.iterator:"@@iterator";return function _reduce(fn,acc,list){if(typeof fn==="function"){fn=_xwrap(fn)}if(isArrayLike(list)){return _arrayReduce(fn,acc,list)}if(typeof list.reduce==="function"){return _methodReduce(fn,acc,list)}if(list[symIterator]!=null){return _iterableReduce(fn,acc,list[symIterator]())}if(typeof list.next==="function"){return _iterableReduce(fn,acc,list)}throw new TypeError("reduce: list must be array or iterable")}}();var _stepCat=function(){var _stepCatArray={"@@transducer/init":Array,"@@transducer/step":function(xs,x){xs.push(x);return xs},"@@transducer/result":_identity};var _stepCatString={"@@transducer/init":String,"@@transducer/step":function(a,b){return a+b},"@@transducer/result":_identity};var _stepCatObject={"@@transducer/init":Object,"@@transducer/step":function(result,input){return _assign(result,isArrayLike(input)?objOf(input[0],input[1]):input)},"@@transducer/result":_identity};return function _stepCat(obj){if(_isTransformer(obj)){return obj}if(isArrayLike(obj)){return _stepCatArray}if(typeof obj==="string"){return _stepCatString}if(typeof obj==="object"){return _stepCatObject}throw new Error("Cannot create transformer for "+obj)}}();var _xdropLastWhile=function(){function XDropLastWhile(fn,xf){this.f=fn;this.retained=[];this.xf=xf}XDropLastWhile.prototype["@@transducer/init"]=_xfBase.init;XDropLastWhile.prototype["@@transducer/result"]=function(result){this.retained=null;return this.xf["@@transducer/result"](result)};XDropLastWhile.prototype["@@transducer/step"]=function(result,input){return this.f(input)?this.retain(result,input):this.flush(result,input)};XDropLastWhile.prototype.flush=function(result,input){result=_reduce(this.xf["@@transducer/step"],result,this.retained);this.retained=[];return this.xf["@@transducer/step"](result,input)};XDropLastWhile.prototype.retain=function(result,input){this.retained.push(input);return result};return _curry2(function _xdropLastWhile(fn,xf){return new XDropLastWhile(fn,xf)})}();var addIndex=_curry1(function addIndex(fn){return curryN(fn.length,function(){var idx=0;var origFn=arguments[0];var list=arguments[arguments.length-1];var args=_slice(arguments);args[0]=function(){var result=origFn.apply(this,_concat(arguments,[idx,list]));idx+=1;return result};return fn.apply(this,args)})});var binary=_curry1(function binary(fn){return nAry(2,fn)});var clone=_curry1(function clone(value){return value!=null&&typeof value.clone==="function"?value.clone():_clone(value,[],[],true)});var curry=_curry1(function curry(fn){return curryN(fn.length,fn)});var drop=_curry2(_dispatchable("drop",_xdrop,function drop(n,xs){return slice(Math.max(0,n),Infinity,xs)}));var dropLast=_curry2(_dispatchable("dropLast",_xdropLast,_dropLast));var dropLastWhile=_curry2(_dispatchable("dropLastWhile",_xdropLastWhile,_dropLastWhile));var equals=_curry2(function equals(a,b){return _equals(a,b,[],[])});var filter=_curry2(_dispatchable("filter",_xfilter,function(pred,filterable){return _isObject(filterable)?_reduce(function(acc,key){if(pred(filterable[key])){acc[key]=filterable[key]}return acc},{},keys(filterable)):_filter(pred,filterable)}));var flatten=_curry1(_makeFlat(true));var flip=_curry1(function flip(fn){return curry(function(a,b){var args=_slice(arguments);args[0]=b;args[1]=a;return fn.apply(this,args)})});var head=nth(0);var init=slice(0,-1);var intersectionWith=_curry3(function intersectionWith(pred,list1,list2){var lookupList,filteredList;if(list1.length>list2.length){lookupList=list1;filteredList=list2}else{lookupList=list2;filteredList=list1}var results=[];var idx=0;while(idx<filteredList.length){if(_containsWith(pred,filteredList[idx],lookupList)){results[results.length]=filteredList[idx]}idx+=1}return uniqWith(pred,results)});var into=_curry3(function into(acc,xf,list){return _isTransformer(acc)?_reduce(xf(acc),acc["@@transducer/init"](),list):_reduce(xf(_stepCat(acc)),_clone(acc,[],[],false),list)});var invert=_curry1(function invert(obj){var props=keys(obj);var len=props.length;var idx=0;var out={};while(idx<len){var key=props[idx];var val=obj[key];var list=_has(val,out)?out[val]:out[val]=[];list[list.length]=key;idx+=1}return out});var invertObj=_curry1(function invertObj(obj){var props=keys(obj);var len=props.length;var idx=0;var out={};while(idx<len){var key=props[idx];out[obj[key]]=key;idx+=1}return out});var isEmpty=_curry1(function isEmpty(x){return x!=null&&equals(x,empty(x))});var last=nth(-1);var lastIndexOf=_curry2(function lastIndexOf(target,xs){if(typeof xs.lastIndexOf==="function"&&!_isArray(xs)){return xs.lastIndexOf(target)}else{var idx=xs.length-1;while(idx>=0){if(equals(xs[idx],target)){return idx}idx-=1}return-1}});var map=_curry2(_dispatchable("map",_xmap,function map(fn,functor){switch(Object.prototype.toString.call(functor)){case"[object Function]":return curryN(functor.length,function(){return fn.call(this,functor.apply(this,arguments))});case"[object Object]":return _reduce(function(acc,key){acc[key]=fn(functor[key]);return acc},{},keys(functor));default:return _map(fn,functor)}}));var mapObjIndexed=_curry2(function mapObjIndexed(fn,obj){return _reduce(function(acc,key){acc[key]=fn(obj[key],key,obj);return acc},{},keys(obj))});var mergeWith=_curry3(function mergeWith(fn,l,r){return mergeWithKey(function(_,_l,_r){return fn(_l,_r)},l,r)});var partial=_createPartialApplicator(_concat);var partialRight=_createPartialApplicator(flip(_concat));var pathEq=_curry3(function pathEq(_path,val,obj){return equals(path(_path,obj),val)});var pluck=_curry2(function pluck(p,list){return map(prop(p),list)});var project=useWith(_map,[pickAll,identity]);var propEq=_curry3(function propEq(name,val,obj){return equals(val,obj[name])});var reduce=_curry3(_reduce);var reduceBy=_curryN(4,[],_dispatchable("reduceBy",_xreduceBy,function reduceBy(valueFn,valueAcc,keyFn,list){return _reduce(function(acc,elt){var key=keyFn(elt);acc[key]=valueFn(_has(key,acc)?acc[key]:valueAcc,elt);return acc},{},list)}));var reduceWhile=_curryN(4,[],function _reduceWhile(pred,fn,a,list){return _reduce(function(acc,x){return pred(acc,x)?fn(acc,x):_reduced(acc)},a,list)});var reject=_curry2(function reject(pred,filterable){return filter(_complement(pred),filterable)});var repeat=_curry2(function repeat(value,n){return times(always(value),n)});var sum=reduce(add,0);var takeLast=_curry2(function takeLast(n,xs){return drop(n>=0?xs.length-n:0,xs)});var transduce=curryN(4,function transduce(xf,fn,acc,list){return _reduce(xf(typeof fn==="function"?_xwrap(fn):fn),acc,list)});var unionWith=_curry3(function unionWith(pred,list1,list2){return uniqWith(pred,_concat(list1,list2))});var whereEq=_curry2(function whereEq(spec,testObj){return where(map(equals,spec),testObj)});var _flatCat=function(){var preservingReduced=function(xf){return{"@@transducer/init":_xfBase.init,"@@transducer/result":function(result){return xf["@@transducer/result"](result)},"@@transducer/step":function(result,input){var ret=xf["@@transducer/step"](result,input);return ret["@@transducer/reduced"]?_forceReduced(ret):ret}}};return function _xcat(xf){var rxf=preservingReduced(xf);return{"@@transducer/init":_xfBase.init,"@@transducer/result":function(result){return rxf["@@transducer/result"](result)},"@@transducer/step":function(result,input){return!isArrayLike(input)?_reduce(rxf,result,[input]):_reduce(rxf,result,input)}}}}();var _indexOf=function _indexOf(list,a,idx){var inf,item;if(typeof list.indexOf==="function"){switch(typeof a){case"number":if(a===0){inf=1/a;while(idx<list.length){item=list[idx];if(item===0&&1/item===inf){return idx}idx+=1}return-1}else if(a!==a){while(idx<list.length){item=list[idx];if(typeof item==="number"&&item!==item){return idx}idx+=1}return-1}return list.indexOf(a,idx);case"string":case"boolean":case"function":case"undefined":return list.indexOf(a,idx);case"object":if(a===null){return list.indexOf(a,idx)}}}while(idx<list.length){if(equals(list[idx],a)){return idx}idx+=1}return-1};var _xchain=_curry2(function _xchain(f,xf){return map(f,_flatCat(xf))});var allPass=_curry1(function allPass(preds){return curryN(reduce(max,0,pluck("length",preds)),function(){var idx=0;var len=preds.length;while(idx<len){if(!preds[idx].apply(this,arguments)){return false}idx+=1}return true})});var anyPass=_curry1(function anyPass(preds){return curryN(reduce(max,0,pluck("length",preds)),function(){var idx=0;var len=preds.length;while(idx<len){if(preds[idx].apply(this,arguments)){return true}idx+=1}return false})});var ap=_curry2(function ap(applicative,fn){return typeof applicative.ap==="function"?applicative.ap(fn):typeof applicative==="function"?function(x){return applicative(x)(fn(x))}:_reduce(function(acc,f){return _concat(acc,map(f,fn))},[],applicative)});var applySpec=_curry1(function applySpec(spec){spec=map(function(v){return typeof v=="function"?v:applySpec(v)},spec);return curryN(reduce(max,0,pluck("length",values(spec))),function(){var args=arguments;return map(function(f){return apply(f,args)},spec)})});var call=curry(function call(fn){return fn.apply(this,_slice(arguments,1))});var chain=_curry2(_dispatchable("chain",_xchain,function chain(fn,monad){if(typeof monad==="function"){return function(){return monad.call(this,fn.apply(this,arguments)).apply(this,arguments)}}return _makeFlat(false)(map(fn,monad))}));var cond=_curry1(function cond(pairs){var arity=reduce(max,0,map(function(pair){return pair[0].length},pairs));return _arity(arity,function(){var idx=0;while(idx<pairs.length){if(pairs[idx][0].apply(this,arguments)){return pairs[idx][1].apply(this,arguments)}idx+=1}})});var constructN=_curry2(function constructN(n,Fn){if(n>10){throw new Error("Constructor with greater than ten arguments")}if(n===0){return function(){return new Fn}}return curry(nAry(n,function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9){switch(arguments.length){case 1:return new Fn($0);case 2:return new Fn($0,$1);case 3:return new Fn($0,$1,$2);case 4:return new Fn($0,$1,$2,$3);case 5:return new Fn($0,$1,$2,$3,$4);case 6:return new Fn($0,$1,$2,$3,$4,$5);case 7:return new Fn($0,$1,$2,$3,$4,$5,$6);case 8:return new Fn($0,$1,$2,$3,$4,$5,$6,$7);case 9:return new Fn($0,$1,$2,$3,$4,$5,$6,$7,$8);case 10:return new Fn($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)}}))});var converge=_curry2(function converge(after,fns){return curryN(reduce(max,0,pluck("length",fns)),function(){var args=arguments;var context=this;return after.apply(context,_map(function(fn){return fn.apply(context,args)},fns))})});var countBy=reduceBy(function(acc,elem){return acc+1},0);var dropRepeatsWith=_curry2(_dispatchable("dropRepeatsWith",_xdropRepeatsWith,function dropRepeatsWith(pred,list){var result=[];var idx=1;var len=list.length;if(len!==0){result[0]=list[0];while(idx<len){if(!pred(last(result),list[idx])){result[result.length]=list[idx]}idx+=1}}return result}));var eqBy=_curry3(function eqBy(f,x,y){return equals(f(x),f(y))});var eqProps=_curry3(function eqProps(prop,obj1,obj2){return equals(obj1[prop],obj2[prop])});var groupBy=_curry2(_checkForMethod("groupBy",reduceBy(function(acc,item){if(acc==null){acc=[]}acc.push(item);return acc},null)));var indexBy=reduceBy(function(acc,elem){return elem},null);var indexOf=_curry2(function indexOf(target,xs){return typeof xs.indexOf==="function"&&!_isArray(xs)?xs.indexOf(target):_indexOf(xs,target,0)});var juxt=_curry1(function juxt(fns){return converge(_arrayOf,fns)});var lens=_curry2(function lens(getter,setter){return function(toFunctorFn){return function(target){return map(function(focus){return setter(focus,target)},toFunctorFn(getter(target)))}}});var lensIndex=_curry1(function lensIndex(n){return lens(nth(n),update(n))});var lensPath=_curry1(function lensPath(p){return lens(path(p),assocPath(p))});var lensProp=_curry1(function lensProp(k){return lens(prop(k),assoc(k))});var liftN=_curry2(function liftN(arity,fn){var lifted=curryN(arity,fn);return curryN(arity,function(){return _reduce(ap,map(lifted,arguments[0]),_slice(arguments,1))})});var mean=_curry1(function mean(list){return sum(list)/list.length});var median=_curry1(function median(list){var len=list.length;if(len===0){return NaN}var width=2-len%2;var idx=(len-width)/2;return mean(_slice(list).sort(function(a,b){return a<b?-1:a>b?1:0}).slice(idx,idx+width))});var partition=juxt([filter,reject]);var pipe=function pipe(){if(arguments.length===0){throw new Error("pipe requires at least one argument")}return _arity(arguments[0].length,reduce(_pipe,arguments[0],tail(arguments)))};var pipeP=function pipeP(){if(arguments.length===0){throw new Error("pipeP requires at least one argument")}return _arity(arguments[0].length,reduce(_pipeP,arguments[0],tail(arguments)))};var product=reduce(multiply,1);var sequence=_curry2(function sequence(of,traversable){return typeof traversable.sequence==="function"?traversable.sequence(of):reduceRight(function(acc,x){return ap(map(prepend,x),acc)},of([]),traversable)});var traverse=_curry3(function traverse(of,f,traversable){return sequence(of,map(f,traversable))});var unnest=chain(_identity);var _contains=function _contains(a,list){return _indexOf(list,a,0)>=0};var _toString=function _toString(x,seen){var recur=function recur(y){var xs=seen.concat([x]);return _contains(y,xs)?"<Circular>":_toString(y,xs)};var mapPairs=function(obj,keys){return _map(function(k){return _quote(k)+": "+recur(obj[k])},keys.slice().sort())};switch(Object.prototype.toString.call(x)){case"[object Arguments]":return"(function() { return arguments; }("+_map(recur,x).join(", ")+"))";case"[object Array]":return"["+_map(recur,x).concat(mapPairs(x,reject(function(k){return/^\d+$/.test(k)},keys(x)))).join(", ")+"]";case"[object Boolean]":return typeof x==="object"?"new Boolean("+recur(x.valueOf())+")":x.toString();case"[object Date]":return"new Date("+(isNaN(x.valueOf())?recur(NaN):_quote(_toISOString(x)))+")";case"[object Null]":return"null";case"[object Number]":return typeof x==="object"?"new Number("+recur(x.valueOf())+")":1/x===-Infinity?"-0":x.toString(10);case"[object String]":return typeof x==="object"?"new String("+recur(x.valueOf())+")":_quote(x);case"[object Undefined]":return"undefined";default:if(typeof x.toString==="function"){var repr=x.toString();if(repr!=="[object Object]"){return repr}}return"{"+mapPairs(x,keys(x)).join(", ")+"}"}};var compose=function compose(){if(arguments.length===0){throw new Error("compose requires at least one argument")}return pipe.apply(this,reverse(arguments))};var composeK=function composeK(){return compose.apply(this,prepend(identity,map(chain,arguments)))};var composeP=function composeP(){if(arguments.length===0){throw new Error("composeP requires at least one argument")}return pipeP.apply(this,reverse(arguments))};var construct=_curry1(function construct(Fn){return constructN(Fn.length,Fn)});var contains=_curry2(_contains);var difference=_curry2(function difference(first,second){var out=[];var idx=0;var firstLen=first.length;while(idx<firstLen){if(!_contains(first[idx],second)&&!_contains(first[idx],out)){out[out.length]=first[idx]}idx+=1}return out});var dropRepeats=_curry1(_dispatchable("dropRepeats",_xdropRepeatsWith(equals),dropRepeatsWith(equals)));var lift=_curry1(function lift(fn){return liftN(fn.length,fn)});var omit=_curry2(function omit(names,obj){var result={};for(var prop in obj){if(!_contains(prop,names)){result[prop]=obj[prop]}}return result});var pipeK=function pipeK(){return composeK.apply(this,reverse(arguments))};var toString=_curry1(function toString(val){return _toString(val,[])});var without=_curry2(function(xs,list){return reject(flip(_contains)(xs),list)});var _Set=function(){function _Set(){this._nativeSet=typeof Set==="function"?new Set:null;this._items={}}_Set.prototype.add=function(item){return!hasOrAdd(item,true,this)};_Set.prototype.has=function(item){return hasOrAdd(item,false,this)};function hasOrAdd(item,shouldAdd,set){var type=typeof item;var prevSize,newSize;switch(type){case"string":case"number":if(item===0&&1/item===-Infinity){if(set._items["-0"]){return true}else{if(shouldAdd){set._items["-0"]=true}return false}}if(set._nativeSet!==null){if(shouldAdd){prevSize=set._nativeSet.size;set._nativeSet.add(item);newSize=set._nativeSet.size;return newSize===prevSize}else{return set._nativeSet.has(item)}}else{if(!(type in set._items)){if(shouldAdd){set._items[type]={};set._items[type][item]=true}return false}else if(item in set._items[type]){return true}else{if(shouldAdd){set._items[type][item]=true}return false}}case"boolean":if(type in set._items){var bIdx=item?1:0;if(set._items[type][bIdx]){return true}else{if(shouldAdd){set._items[type][bIdx]=true}return false}}else{if(shouldAdd){set._items[type]=item?[false,true]:[true,false]}return false}case"function":if(set._nativeSet!==null){if(shouldAdd){prevSize=set._nativeSet.size;set._nativeSet.add(item);newSize=set._nativeSet.size;return newSize>prevSize}else{return set._nativeSet.has(item)}}else{if(!(type in set._items)){if(shouldAdd){set._items[type]=[item]}return false}if(!_contains(item,set._items[type])){if(shouldAdd){set._items[type].push(item)}return false}return true}case"undefined":if(set._items[type]){return true}else{if(shouldAdd){set._items[type]=true}return false}case"object":if(item===null){if(!set._items["null"]){if(shouldAdd){set._items["null"]=true}return false}return true}default:type=Object.prototype.toString.call(item);if(!(type in set._items)){if(shouldAdd){set._items[type]=[item]}return false}if(!_contains(item,set._items[type])){if(shouldAdd){set._items[type].push(item)}return false}return true}}return _Set}();var both=_curry2(function both(f,g){return _isFunction(f)?function _both(){return f.apply(this,arguments)&&g.apply(this,arguments)}:lift(and)(f,g)});var complement=lift(not);var concat=_curry2(function concat(a,b){if(a==null||!_isFunction(a.concat)){throw new TypeError(toString(a)+' does not have a method named "concat"')}if(_isArray(a)&&!_isArray(b)){throw new TypeError(toString(b)+" is not an array")}return a.concat(b)});var either=_curry2(function either(f,g){return _isFunction(f)?function _either(){return f.apply(this,arguments)||g.apply(this,arguments)}:lift(or)(f,g)});var invoker=_curry2(function invoker(arity,method){return curryN(arity+1,function(){var target=arguments[arity];if(target!=null&&_isFunction(target[method])){return target[method].apply(target,_slice(arguments,0,arity))}throw new TypeError(toString(target)+' does not have a method named "'+method+'"')})});var join=invoker(1,"join");var memoize=_curry1(function memoize(fn){var cache={};return _arity(fn.length,function(){var key=toString(arguments);if(!_has(key,cache)){cache[key]=fn.apply(this,arguments)}return cache[key]})});var split=invoker(1,"split");var symmetricDifference=_curry2(function symmetricDifference(list1,list2){return concat(difference(list1,list2),difference(list2,list1))});var symmetricDifferenceWith=_curry3(function symmetricDifferenceWith(pred,list1,list2){return concat(differenceWith(pred,list1,list2),differenceWith(pred,list2,list1))});var test=_curry2(function test(pattern,str){if(!_isRegExp(pattern)){throw new TypeError("‘test’ requires a value of type RegExp as its first argument; received "+toString(pattern))}return _cloneRegExp(pattern).test(str)});var toLower=invoker(0,"toLowerCase");var toUpper=invoker(0,"toUpperCase");var uniqBy=_curry2(function uniqBy(fn,list){var set=new _Set;var result=[];var idx=0;var appliedItem,item;while(idx<list.length){item=list[idx];appliedItem=fn(item);if(set.add(appliedItem)){result.push(item)}idx+=1}return result});var uniq=uniqBy(identity);var intersection=_curry2(function intersection(list1,list2){var lookupList,filteredList;if(list1.length>list2.length){lookupList=list1;filteredList=list2}else{lookupList=list2;filteredList=list1}return uniq(_filter(flip(_contains)(lookupList),filteredList))});var union=_curry2(compose(uniq,_concat));var R={F:F,T:T,__:__,add:add,addIndex:addIndex,adjust:adjust,all:all,allPass:allPass,always:always,and:and,any:any,anyPass:anyPass,ap:ap,aperture:aperture,append:append,apply:apply,applySpec:applySpec,assoc:assoc,assocPath:assocPath,binary:binary,bind:bind,both:both,call:call,chain:chain,clamp:clamp,clone:clone,comparator:comparator,complement:complement,compose:compose,composeK:composeK,composeP:composeP,concat:concat,cond:cond,construct:construct,constructN:constructN,contains:contains,converge:converge,countBy:countBy,curry:curry,curryN:curryN,dec:dec,defaultTo:defaultTo,difference:difference,differenceWith:differenceWith,dissoc:dissoc,dissocPath:dissocPath,divide:divide,drop:drop,dropLast:dropLast,dropLastWhile:dropLastWhile,dropRepeats:dropRepeats,dropRepeatsWith:dropRepeatsWith,dropWhile:dropWhile,either:either,empty:empty,eqBy:eqBy,eqProps:eqProps,equals:equals,evolve:evolve,filter:filter,find:find,findIndex:findIndex,findLast:findLast,findLastIndex:findLastIndex,flatten:flatten,flip:flip,forEach:forEach,fromPairs:fromPairs,groupBy:groupBy,groupWith:groupWith,gt:gt,gte:gte,has:has,hasIn:hasIn,head:head,identical:identical,identity:identity,ifElse:ifElse,inc:inc,indexBy:indexBy,indexOf:indexOf,init:init,insert:insert,insertAll:insertAll,intersection:intersection,intersectionWith:intersectionWith,intersperse:intersperse,into:into,invert:invert,invertObj:invertObj,invoker:invoker,is:is,isArrayLike:isArrayLike,isEmpty:isEmpty,isNil:isNil,join:join,juxt:juxt,keys:keys,keysIn:keysIn,last:last,lastIndexOf:lastIndexOf,length:length,lens:lens,lensIndex:lensIndex,lensPath:lensPath,lensProp:lensProp,lift:lift,liftN:liftN,lt:lt,lte:lte,map:map,mapAccum:mapAccum,mapAccumRight:mapAccumRight,mapObjIndexed:mapObjIndexed,match:match,mathMod:mathMod,max:max,maxBy:maxBy,mean:mean,median:median,memoize:memoize,merge:merge,mergeAll:mergeAll,mergeWith:mergeWith,mergeWithKey:mergeWithKey,min:min,minBy:minBy,modulo:modulo,multiply:multiply,nAry:nAry,negate:negate,none:none,not:not,nth:nth,nthArg:nthArg,objOf:objOf,of:of,omit:omit,once:once,or:or,over:over,pair:pair,partial:partial,partialRight:partialRight,partition:partition,path:path,pathEq:pathEq,pathOr:pathOr,pathSatisfies:pathSatisfies,pick:pick,pickAll:pickAll,pickBy:pickBy,pipe:pipe,pipeK:pipeK,pipeP:pipeP,pluck:pluck,prepend:prepend,product:product,project:project,prop:prop,propEq:propEq,propIs:propIs,propOr:propOr,propSatisfies:propSatisfies,props:props,range:range,reduce:reduce,reduceBy:reduceBy,reduceRight:reduceRight,reduceWhile:reduceWhile,reduced:reduced,reject:reject,remove:remove,repeat:repeat,replace:replace,reverse:reverse,scan:scan,sequence:sequence,set:set,slice:slice,sort:sort,sortBy:sortBy,split:split,splitAt:splitAt,splitEvery:splitEvery,splitWhen:splitWhen,subtract:subtract,sum:sum,symmetricDifference:symmetricDifference,symmetricDifferenceWith:symmetricDifferenceWith,tail:tail,take:take,takeLast:takeLast,takeLastWhile:takeLastWhile,takeWhile:takeWhile,tap:tap,test:test,times:times,toLower:toLower,toPairs:toPairs,toPairsIn:toPairsIn,toString:toString,toUpper:toUpper,transduce:transduce,transpose:transpose,traverse:traverse,trim:trim,tryCatch:tryCatch,type:type,unapply:unapply,unary:unary,uncurryN:uncurryN,unfold:unfold,union:union,unionWith:unionWith,uniq:uniq,uniqBy:uniqBy,uniqWith:uniqWith,unless:unless,unnest:unnest,until:until,
update:update,useWith:useWith,values:values,valuesIn:valuesIn,view:view,when:when,where:where,whereEq:whereEq,without:without,wrap:wrap,xprod:xprod,zip:zip,zipObj:zipObj,zipWith:zipWith};if(typeof exports==="object"){module.exports=R}else if(typeof define==="function"&&define.amd){define(function(){return R})}else{this.R=R}}).call(this)},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){(function(){"use strict";var __={"@@functional/placeholder":true};var _arity=function _arity(n,fn){switch(n){case 0:return function(){return fn.apply(this,arguments)};case 1:return function(a0){return fn.apply(this,arguments)};case 2:return function(a0,a1){return fn.apply(this,arguments)};case 3:return function(a0,a1,a2){return fn.apply(this,arguments)};case 4:return function(a0,a1,a2,a3){return fn.apply(this,arguments)};case 5:return function(a0,a1,a2,a3,a4){return fn.apply(this,arguments)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.apply(this,arguments)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.apply(this,arguments)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.apply(this,arguments)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.apply(this,arguments)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}};var _cloneRegExp=function _cloneRegExp(pattern){return new RegExp(pattern.source,(pattern.global?"g":"")+(pattern.ignoreCase?"i":"")+(pattern.multiline?"m":"")+(pattern.sticky?"y":"")+(pattern.unicode?"u":""))};var _complement=function _complement(f){return function(){return!f.apply(this,arguments)}};var _concat=function _concat(set1,set2){set1=set1||[];set2=set2||[];var idx;var len1=set1.length;var len2=set2.length;var result=[];idx=0;while(idx<len1){result[result.length]=set1[idx];idx+=1}idx=0;while(idx<len2){result[result.length]=set2[idx];idx+=1}return result};var _containsWith=function _containsWith(pred,x,list){var idx=0,len=list.length;while(idx<len){if(pred(x,list[idx])){return true}idx+=1}return false};var _curry1=function _curry1(fn){return function f1(a){if(arguments.length===0){return f1}else if(a!=null&&a["@@functional/placeholder"]===true){return f1}else{return fn.apply(this,arguments)}}};var _curry2=function _curry2(fn){return function f2(a,b){var n=arguments.length;if(n===0){return f2}else if(n===1&&a!=null&&a["@@functional/placeholder"]===true){return f2}else if(n===1){return _curry1(function(b){return fn(a,b)})}else if(n===2&&a!=null&&a["@@functional/placeholder"]===true&&b!=null&&b["@@functional/placeholder"]===true){return f2}else if(n===2&&a!=null&&a["@@functional/placeholder"]===true){return _curry1(function(a){return fn(a,b)})}else if(n===2&&b!=null&&b["@@functional/placeholder"]===true){return _curry1(function(b){return fn(a,b)})}else{return fn(a,b)}}};var _curry3=function _curry3(fn){return function f3(a,b,c){var n=arguments.length;if(n===0){return f3}else if(n===1&&a!=null&&a["@@functional/placeholder"]===true){return f3}else if(n===1){return _curry2(function(b,c){return fn(a,b,c)})}else if(n===2&&a!=null&&a["@@functional/placeholder"]===true&&b!=null&&b["@@functional/placeholder"]===true){return f3}else if(n===2&&a!=null&&a["@@functional/placeholder"]===true){return _curry2(function(a,c){return fn(a,b,c)})}else if(n===2&&b!=null&&b["@@functional/placeholder"]===true){return _curry2(function(b,c){return fn(a,b,c)})}else if(n===2){return _curry1(function(c){return fn(a,b,c)})}else if(n===3&&a!=null&&a["@@functional/placeholder"]===true&&b!=null&&b["@@functional/placeholder"]===true&&c!=null&&c["@@functional/placeholder"]===true){return f3}else if(n===3&&a!=null&&a["@@functional/placeholder"]===true&&b!=null&&b["@@functional/placeholder"]===true){return _curry2(function(a,b){return fn(a,b,c)})}else if(n===3&&a!=null&&a["@@functional/placeholder"]===true&&c!=null&&c["@@functional/placeholder"]===true){return _curry2(function(a,c){return fn(a,b,c)})}else if(n===3&&b!=null&&b["@@functional/placeholder"]===true&&c!=null&&c["@@functional/placeholder"]===true){return _curry2(function(b,c){return fn(a,b,c)})}else if(n===3&&a!=null&&a["@@functional/placeholder"]===true){return _curry1(function(a){return fn(a,b,c)})}else if(n===3&&b!=null&&b["@@functional/placeholder"]===true){return _curry1(function(b){return fn(a,b,c)})}else if(n===3&&c!=null&&c["@@functional/placeholder"]===true){return _curry1(function(c){return fn(a,b,c)})}else{return fn(a,b,c)}}};var _curryN=function _curryN(length,received,fn){return function(){var combined=[];var argsIdx=0;var left=length;var combinedIdx=0;while(combinedIdx<received.length||argsIdx<arguments.length){var result;if(combinedIdx<received.length&&(received[combinedIdx]==null||received[combinedIdx]["@@functional/placeholder"]!==true||argsIdx>=arguments.length)){result=received[combinedIdx]}else{result=arguments[argsIdx];argsIdx+=1}combined[combinedIdx]=result;if(result==null||result["@@functional/placeholder"]!==true){left-=1}combinedIdx+=1}return left<=0?fn.apply(this,combined):_arity(left,_curryN(length,combined,fn))}};var _filter=function _filter(fn,list){var idx=0,len=list.length,result=[];while(idx<len){if(fn(list[idx])){result[result.length]=list[idx]}idx+=1}return result};var _forceReduced=function _forceReduced(x){return{"@@transducer/value":x,"@@transducer/reduced":true}};var _functionsWith=function _functionsWith(fn){return function(obj){return _filter(function(key){return typeof obj[key]==="function"},fn(obj))}};var _has=function _has(prop,obj){return Object.prototype.hasOwnProperty.call(obj,prop)};var _identity=function _identity(x){return x};var _isArray=Array.isArray||function _isArray(val){return val!=null&&val.length>=0&&Object.prototype.toString.call(val)==="[object Array]"};var _isInteger=Number.isInteger||function _isInteger(n){return n<<0===n};var _isNumber=function _isNumber(x){return Object.prototype.toString.call(x)==="[object Number]"};var _isString=function _isString(x){return Object.prototype.toString.call(x)==="[object String]"};var _isTransformer=function _isTransformer(obj){return typeof obj["@@transducer/step"]==="function"};var _map=function _map(fn,list){var idx=0,len=list.length,result=Array(len);while(idx<len){result[idx]=fn(list[idx]);idx+=1}return result};var _pipe=function _pipe(f,g){return function(){return g.call(this,f.apply(this,arguments))}};var _pipeP=function _pipeP(f,g){return function(){var ctx=this;return f.apply(ctx,arguments).then(function(x){return g.call(ctx,x)})}};var _quote=function _quote(s){return'"'+s.replace(/"/g,'\\"')+'"'};var _reduced=function _reduced(x){return x&&x["@@transducer/reduced"]?x:{"@@transducer/value":x,"@@transducer/reduced":true}};var _slice=function _slice(args,from,to){switch(arguments.length){case 1:return _slice(args,0,args.length);case 2:return _slice(args,from,args.length);default:var list=[];var idx=0;var len=Math.max(0,Math.min(args.length,to)-from);while(idx<len){list[idx]=args[from+idx];idx+=1}return list}};var _toISOString=function(){var pad=function pad(n){return(n<10?"0":"")+n};return typeof Date.prototype.toISOString==="function"?function _toISOString(d){return d.toISOString()}:function _toISOString(d){return d.getUTCFullYear()+"-"+pad(d.getUTCMonth()+1)+"-"+pad(d.getUTCDate())+"T"+pad(d.getUTCHours())+":"+pad(d.getUTCMinutes())+":"+pad(d.getUTCSeconds())+"."+(d.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}}();var _xdropRepeatsWith=function(){function XDropRepeatsWith(pred,xf){this.xf=xf;this.pred=pred;this.lastValue=undefined;this.seenFirstValue=false}XDropRepeatsWith.prototype["@@transducer/init"]=function(){return this.xf["@@transducer/init"]()};XDropRepeatsWith.prototype["@@transducer/result"]=function(result){return this.xf["@@transducer/result"](result)};XDropRepeatsWith.prototype["@@transducer/step"]=function(result,input){var sameAsLast=false;if(!this.seenFirstValue){this.seenFirstValue=true}else if(this.pred(this.lastValue,input)){sameAsLast=true}this.lastValue=input;return sameAsLast?result:this.xf["@@transducer/step"](result,input)};return _curry2(function _xdropRepeatsWith(pred,xf){return new XDropRepeatsWith(pred,xf)})}();var _xfBase={init:function(){return this.xf["@@transducer/init"]()},result:function(result){return this.xf["@@transducer/result"](result)}};var _xfilter=function(){function XFilter(f,xf){this.xf=xf;this.f=f}XFilter.prototype["@@transducer/init"]=_xfBase.init;XFilter.prototype["@@transducer/result"]=_xfBase.result;XFilter.prototype["@@transducer/step"]=function(result,input){return this.f(input)?this.xf["@@transducer/step"](result,input):result};return _curry2(function _xfilter(f,xf){return new XFilter(f,xf)})}();var _xfind=function(){function XFind(f,xf){this.xf=xf;this.f=f;this.found=false}XFind.prototype["@@transducer/init"]=_xfBase.init;XFind.prototype["@@transducer/result"]=function(result){if(!this.found){result=this.xf["@@transducer/step"](result,void 0)}return this.xf["@@transducer/result"](result)};XFind.prototype["@@transducer/step"]=function(result,input){if(this.f(input)){this.found=true;result=_reduced(this.xf["@@transducer/step"](result,input))}return result};return _curry2(function _xfind(f,xf){return new XFind(f,xf)})}();var _xfindIndex=function(){function XFindIndex(f,xf){this.xf=xf;this.f=f;this.idx=-1;this.found=false}XFindIndex.prototype["@@transducer/init"]=_xfBase.init;XFindIndex.prototype["@@transducer/result"]=function(result){if(!this.found){result=this.xf["@@transducer/step"](result,-1)}return this.xf["@@transducer/result"](result)};XFindIndex.prototype["@@transducer/step"]=function(result,input){this.idx+=1;if(this.f(input)){this.found=true;result=_reduced(this.xf["@@transducer/step"](result,this.idx))}return result};return _curry2(function _xfindIndex(f,xf){return new XFindIndex(f,xf)})}();var _xfindLast=function(){function XFindLast(f,xf){this.xf=xf;this.f=f}XFindLast.prototype["@@transducer/init"]=_xfBase.init;XFindLast.prototype["@@transducer/result"]=function(result){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result,this.last))};XFindLast.prototype["@@transducer/step"]=function(result,input){if(this.f(input)){this.last=input}return result};return _curry2(function _xfindLast(f,xf){return new XFindLast(f,xf)})}();var _xfindLastIndex=function(){function XFindLastIndex(f,xf){this.xf=xf;this.f=f;this.idx=-1;this.lastIdx=-1}XFindLastIndex.prototype["@@transducer/init"]=_xfBase.init;XFindLastIndex.prototype["@@transducer/result"]=function(result){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result,this.lastIdx))};XFindLastIndex.prototype["@@transducer/step"]=function(result,input){this.idx+=1;if(this.f(input)){this.lastIdx=this.idx}return result};return _curry2(function _xfindLastIndex(f,xf){return new XFindLastIndex(f,xf)})}();var _xmap=function(){function XMap(f,xf){this.xf=xf;this.f=f}XMap.prototype["@@transducer/init"]=_xfBase.init;XMap.prototype["@@transducer/result"]=_xfBase.result;XMap.prototype["@@transducer/step"]=function(result,input){return this.xf["@@transducer/step"](result,this.f(input))};return _curry2(function _xmap(f,xf){return new XMap(f,xf)})}();var _xtake=function(){function XTake(n,xf){this.xf=xf;this.n=n}XTake.prototype["@@transducer/init"]=_xfBase.init;XTake.prototype["@@transducer/result"]=_xfBase.result;XTake.prototype["@@transducer/step"]=function(result,input){if(this.n===0){return _reduced(result)}else{this.n-=1;return this.xf["@@transducer/step"](result,input)}};return _curry2(function _xtake(n,xf){return new XTake(n,xf)})}();var _xtakeWhile=function(){function XTakeWhile(f,xf){this.xf=xf;this.f=f}XTakeWhile.prototype["@@transducer/init"]=_xfBase.init;XTakeWhile.prototype["@@transducer/result"]=_xfBase.result;XTakeWhile.prototype["@@transducer/step"]=function(result,input){return this.f(input)?this.xf["@@transducer/step"](result,input):_reduced(result)};return _curry2(function _xtakeWhile(f,xf){return new XTakeWhile(f,xf)})}();var _xwrap=function(){function XWrap(fn){this.f=fn}XWrap.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")};XWrap.prototype["@@transducer/result"]=function(acc){return acc};XWrap.prototype["@@transducer/step"]=function(acc,x){return this.f(acc,x)};return function _xwrap(fn){return new XWrap(fn)}}();var add=_curry2(function add(a,b){return a+b});var adjust=_curry3(function adjust(fn,idx,list){if(idx>=list.length||idx<-list.length){return list}var start=idx<0?list.length:0;var _idx=start+idx;var _list=_concat(list);_list[_idx]=fn(list[_idx]);return _list});var always=_curry1(function always(val){return function(){return val}});var aperture=_curry2(function aperture(n,list){var idx=0;var limit=list.length-(n-1);var acc=new Array(limit>=0?limit:0);while(idx<limit){acc[idx]=_slice(list,idx,idx+n);idx+=1}return acc});var append=_curry2(function append(el,list){return _concat(list,[el])});var apply=_curry2(function apply(fn,args){return fn.apply(this,args)});var assoc=_curry3(function assoc(prop,val,obj){var result={};for(var p in obj){result[p]=obj[p]}result[prop]=val;return result});var assocPath=_curry3(function assocPath(path,val,obj){switch(path.length){case 0:return obj;case 1:return assoc(path[0],val,obj);default:return assoc(path[0],assocPath(_slice(path,1),val,Object(obj[path[0]])),obj)}});var bind=_curry2(function bind(fn,thisObj){return _arity(fn.length,function(){return fn.apply(thisObj,arguments)})});var both=_curry2(function both(f,g){return function _both(){return f.apply(this,arguments)&&g.apply(this,arguments)}});var comparator=_curry1(function comparator(pred){return function(a,b){return pred(a,b)?-1:pred(b,a)?1:0}});var complement=_curry1(_complement);var cond=_curry1(function cond(pairs){return function(){var idx=0;while(idx<pairs.length){if(pairs[idx][0].apply(this,arguments)){return pairs[idx][1].apply(this,arguments)}idx+=1}}});var containsWith=_curry3(_containsWith);var countBy=_curry2(function countBy(fn,list){var counts={};var len=list.length;var idx=0;while(idx<len){var key=fn(list[idx]);counts[key]=(_has(key,counts)?counts[key]:0)+1;idx+=1}return counts});var createMapEntry=_curry2(function createMapEntry(key,val){var obj={};obj[key]=val;return obj});var curryN=_curry2(function curryN(length,fn){if(length===1){return _curry1(fn)}return _arity(length,_curryN(length,[],fn))});var dec=add(-1);var defaultTo=_curry2(function defaultTo(d,v){return v==null?d:v});var differenceWith=_curry3(function differenceWith(pred,first,second){var out=[];var idx=0;var firstLen=first.length;var containsPred=containsWith(pred);while(idx<firstLen){if(!containsPred(first[idx],second)&&!containsPred(first[idx],out)){out[out.length]=first[idx]}idx+=1}return out});var dissoc=_curry2(function dissoc(prop,obj){var result={};for(var p in obj){if(p!==prop){result[p]=obj[p]}}return result});var dissocPath=_curry2(function dissocPath(path,obj){switch(path.length){case 0:return obj;case 1:return dissoc(path[0],obj);default:var head=path[0];var tail=_slice(path,1);return obj[head]==null?obj:assoc(head,dissocPath(tail,obj[head]),obj)}});var divide=_curry2(function divide(a,b){return a/b});var dropLastWhile=_curry2(function dropLastWhile(pred,list){var idx=list.length-1;while(idx>=0&&pred(list[idx])){idx-=1}return _slice(list,0,idx+1)});var either=_curry2(function either(f,g){return function _either(){return f.apply(this,arguments)||g.apply(this,arguments)}});var empty=_curry1(function empty(x){if(x!=null&&typeof x.empty==="function"){return x.empty()}else if(x!=null&&typeof x.constructor!=null&&typeof x.constructor.empty==="function"){return x.constructor.empty()}else{switch(Object.prototype.toString.call(x)){case"[object Array]":return[];case"[object Object]":return{};case"[object String]":return""}}});var evolve=_curry2(function evolve(transformations,object){var transformation,key,type,result={};for(key in object){transformation=transformations[key];type=typeof transformation;result[key]=type==="function"?transformation(object[key]):type==="object"?evolve(transformations[key],object[key]):object[key]}return result});var fromPairs=_curry1(function fromPairs(pairs){var idx=0,len=pairs.length,out={};while(idx<len){if(_isArray(pairs[idx])&&pairs[idx].length){out[pairs[idx][0]]=pairs[idx][1]}idx+=1}return out});var gt=_curry2(function gt(a,b){return a>b});var gte=_curry2(function gte(a,b){return a>=b});var has=_curry2(_has);var hasIn=_curry2(function hasIn(prop,obj){return prop in obj});var identical=_curry2(function identical(a,b){if(a===b){return a!==0||1/a===1/b}else{return a!==a&&b!==b}});var identity=_curry1(_identity);var ifElse=_curry3(function ifElse(condition,onTrue,onFalse){return curryN(Math.max(condition.length,onTrue.length,onFalse.length),function _ifElse(){return condition.apply(this,arguments)?onTrue.apply(this,arguments):onFalse.apply(this,arguments)})});var inc=add(1);var insert=_curry3(function insert(idx,elt,list){idx=idx<list.length&&idx>=0?idx:list.length;var result=_slice(list);result.splice(idx,0,elt);return result});var insertAll=_curry3(function insertAll(idx,elts,list){idx=idx<list.length&&idx>=0?idx:list.length;return _concat(_concat(_slice(list,0,idx),elts),_slice(list,idx))});var is=_curry2(function is(Ctor,val){return val!=null&&val.constructor===Ctor||val instanceof Ctor});var isArrayLike=_curry1(function isArrayLike(x){if(_isArray(x)){return true}if(!x){return false}if(typeof x!=="object"){return false}if(x instanceof String){return false}if(x.nodeType===1){return!!x.length}if(x.length===0){return true}if(x.length>0){return x.hasOwnProperty(0)&&x.hasOwnProperty(x.length-1)}return false});var isEmpty=_curry1(function isEmpty(list){return Object(list).length===0});var isNil=_curry1(function isNil(x){return x==null});var keys=function(){var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString");var nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];var contains=function contains(list,item){var idx=0;while(idx<list.length){if(list[idx]===item){return true}idx+=1}return false};return typeof Object.keys==="function"?_curry1(function keys(obj){return Object(obj)!==obj?[]:Object.keys(obj)}):_curry1(function keys(obj){if(Object(obj)!==obj){return[]}var prop,ks=[],nIdx;for(prop in obj){if(_has(prop,obj)){ks[ks.length]=prop}}if(hasEnumBug){nIdx=nonEnumerableProps.length-1;while(nIdx>=0){prop=nonEnumerableProps[nIdx];if(_has(prop,obj)&&!contains(ks,prop)){ks[ks.length]=prop}nIdx-=1}}return ks})}();var keysIn=_curry1(function keysIn(obj){var prop,ks=[];for(prop in obj){ks[ks.length]=prop}return ks});var length=_curry1(function length(list){return list!=null&&is(Number,list.length)?list.length:NaN});var lt=_curry2(function lt(a,b){return a<b});var lte=_curry2(function lte(a,b){return a<=b});var mapAccum=_curry3(function mapAccum(fn,acc,list){var idx=0,len=list.length,result=[],tuple=[acc];while(idx<len){tuple=fn(tuple[0],list[idx]);result[idx]=tuple[1];idx+=1}return[tuple[0],result]});var mapAccumRight=_curry3(function mapAccumRight(fn,acc,list){var idx=list.length-1,result=[],tuple=[acc];while(idx>=0){tuple=fn(tuple[0],list[idx]);result[idx]=tuple[1];idx-=1}return[tuple[0],result]});var match=_curry2(function match(rx,str){return str.match(rx)||[]});var mathMod=_curry2(function mathMod(m,p){if(!_isInteger(m)){return NaN}if(!_isInteger(p)||p<1){return NaN}return(m%p+p)%p});var max=_curry2(function max(a,b){return b>a?b:a});var maxBy=_curry3(function maxBy(f,a,b){return f(b)>f(a)?b:a});var merge=_curry2(function merge(a,b){var result={};var ks=keys(a);var idx=0;while(idx<ks.length){result[ks[idx]]=a[ks[idx]];idx+=1}ks=keys(b);idx=0;while(idx<ks.length){result[ks[idx]]=b[ks[idx]];idx+=1}return result});var min=_curry2(function min(a,b){return b<a?b:a});var minBy=_curry3(function minBy(f,a,b){return f(b)<f(a)?b:a});var modulo=_curry2(function modulo(a,b){return a%b});var multiply=_curry2(function multiply(a,b){return a*b});var nAry=_curry2(function nAry(n,fn){switch(n){case 0:return function(){return fn.call(this)};case 1:return function(a0){return fn.call(this,a0)};case 2:return function(a0,a1){return fn.call(this,a0,a1)};case 3:return function(a0,a1,a2){return fn.call(this,a0,a1,a2)};case 4:return function(a0,a1,a2,a3){return fn.call(this,a0,a1,a2,a3)};case 5:return function(a0,a1,a2,a3,a4){return fn.call(this,a0,a1,a2,a3,a4)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.call(this,a0,a1,a2,a3,a4,a5)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.call(this,a0,a1,a2,a3,a4,a5,a6)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7,a8)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}});var negate=_curry1(function negate(n){return-n});var not=_curry1(function not(a){return!a});var nth=_curry2(function nth(offset,list){var idx=offset<0?list.length+offset:offset;return _isString(list)?list.charAt(idx):list[idx]});var nthArg=_curry1(function nthArg(n){return function(){return nth(n,arguments)}});var nthChar=_curry2(function nthChar(n,str){return str.charAt(n<0?str.length+n:n)});var nthCharCode=_curry2(function nthCharCode(n,str){return str.charCodeAt(n<0?str.length+n:n)});var of=_curry1(function of(x){return[x]});var once=_curry1(function once(fn){var called=false,result;return function(){if(called){return result}called=true;result=fn.apply(this,arguments);return result}});var over=function(){var Identity=function(x){return{value:x,map:function(f){return Identity(f(x))}}};return _curry3(function over(lens,f,x){return lens(function(y){return Identity(f(y))})(x).value})}();var path=_curry2(function path(paths,obj){if(obj==null){return}else{var val=obj;for(var idx=0,len=paths.length;idx<len&&val!=null;idx+=1){val=val[paths[idx]]}return val}});var pick=_curry2(function pick(names,obj){var result={};var idx=0;while(idx<names.length){if(names[idx]in obj){result[names[idx]]=obj[names[idx]]}idx+=1}return result});var pickAll=_curry2(function pickAll(names,obj){var result={};var idx=0;var len=names.length;while(idx<len){var name=names[idx];result[name]=obj[name];idx+=1}return result});var pickBy=_curry2(function pickBy(test,obj){var result={};for(var prop in obj){if(test(obj[prop],prop,obj)){result[prop]=obj[prop]}}return result});var prepend=_curry2(function prepend(el,list){return _concat([el],list)});var prop=_curry2(function prop(p,obj){return obj[p]});var propOr=_curry3(function propOr(val,p,obj){return obj!=null&&_has(p,obj)?obj[p]:val});var propSatisfies=_curry3(function propSatisfies(pred,name,obj){return pred(obj[name])});var props=_curry2(function props(ps,obj){var len=ps.length;var out=[];var idx=0;while(idx<len){out[idx]=obj[ps[idx]];idx+=1}return out});var range=_curry2(function range(from,to){if(!(_isNumber(from)&&_isNumber(to))){throw new TypeError("Both arguments to range must be numbers")}var result=[];var n=from;while(n<to){result.push(n);n+=1}return result});var reduceRight=_curry3(function reduceRight(fn,acc,list){var idx=list.length-1;while(idx>=0){acc=fn(acc,list[idx]);idx-=1}return acc});var reduced=_curry1(_reduced);var remove=_curry3(function remove(start,count,list){return _concat(_slice(list,0,Math.min(start,list.length)),_slice(list,Math.min(list.length,start+count)))});var replace=_curry3(function replace(regex,replacement,str){return str.replace(regex,replacement)});var reverse=_curry1(function reverse(list){return _slice(list).reverse()});var scan=_curry3(function scan(fn,acc,list){var idx=0,len=list.length,result=[acc];while(idx<len){acc=fn(acc,list[idx]);result[idx+1]=acc;idx+=1}return result});var set=_curry3(function set(lens,v,x){return over(lens,always(v),x)});var sort=_curry2(function sort(comparator,list){return _slice(list).sort(comparator)});var sortBy=_curry2(function sortBy(fn,list){return _slice(list).sort(function(a,b){var aa=fn(a);var bb=fn(b);return aa<bb?-1:aa>bb?1:0})});var subtract=_curry2(function subtract(a,b){return a-b});var takeLastWhile=_curry2(function takeLastWhile(fn,list){var idx=list.length-1;while(idx>=0&&fn(list[idx])){idx-=1}return _slice(list,idx+1,Infinity)});var tap=_curry2(function tap(fn,x){fn(x);return x});var test=_curry2(function test(pattern,str){return _cloneRegExp(pattern).test(str)});var times=_curry2(function times(fn,n){var len=Number(n);var list=new Array(len);var idx=0;while(idx<len){list[idx]=fn(idx);idx+=1}return list});var toPairs=_curry1(function toPairs(obj){var pairs=[];for(var prop in obj){if(_has(prop,obj)){pairs[pairs.length]=[prop,obj[prop]]}}return pairs});var toPairsIn=_curry1(function toPairsIn(obj){var pairs=[];for(var prop in obj){pairs[pairs.length]=[prop,obj[prop]]}return pairs});var trim=function(){var ws=" \n\x0B\f\r   ᠎    "+"          \u2028"+"\u2029\ufeff";var zeroWidth="​";var hasProtoTrim=typeof String.prototype.trim==="function";if(!hasProtoTrim||(ws.trim()||!zeroWidth.trim())){return _curry1(function trim(str){var beginRx=new RegExp("^["+ws+"]["+ws+"]*");var endRx=new RegExp("["+ws+"]["+ws+"]*$");return str.replace(beginRx,"").replace(endRx,"")})}else{return _curry1(function trim(str){return str.trim()})}}();var type=_curry1(function type(val){return val===null?"Null":val===undefined?"Undefined":Object.prototype.toString.call(val).slice(8,-1)});var unapply=_curry1(function unapply(fn){return function(){return fn(_slice(arguments))}});var unary=_curry1(function unary(fn){return nAry(1,fn)});var uncurryN=_curry2(function uncurryN(depth,fn){return curryN(depth,function(){var currentDepth=1;var value=fn;var idx=0;var endIdx;while(currentDepth<=depth&&typeof value==="function"){endIdx=currentDepth===depth?arguments.length:idx+value.length;value=value.apply(this,_slice(arguments,idx,endIdx));currentDepth+=1;idx=endIdx}return value})});var unfold=_curry2(function unfold(fn,seed){var pair=fn(seed);var result=[];while(pair&&pair.length){result[result.length]=pair[0];pair=fn(pair[1])}return result});var uniqWith=_curry2(function uniqWith(pred,list){var idx=0,len=list.length;var result=[],item;while(idx<len){item=list[idx];if(!_containsWith(pred,item,result)){result[result.length]=item}idx+=1}return result});var update=_curry3(function update(idx,x,list){return adjust(always(x),idx,list)});var values=_curry1(function values(obj){var props=keys(obj);var len=props.length;var vals=[];var idx=0;while(idx<len){vals[idx]=obj[props[idx]];idx+=1}return vals});var valuesIn=_curry1(function valuesIn(obj){var prop,vs=[];for(prop in obj){vs[vs.length]=obj[prop]}return vs});var view=function(){var Const=function(x){return{value:x,map:function(){return this}}};return _curry2(function view(lens,x){return lens(Const)(x).value})}();var where=_curry2(function where(spec,testObj){for(var prop in spec){if(_has(prop,spec)&&!spec[prop](testObj[prop])){return false}}return true});var wrap=_curry2(function wrap(fn,wrapper){return curryN(fn.length,function(){return wrapper.apply(this,_concat([fn],arguments))})});var xprod=_curry2(function xprod(a,b){var idx=0;var ilen=a.length;var j;var jlen=b.length;var result=[];while(idx<ilen){j=0;while(j<jlen){result[result.length]=[a[idx],b[j]];j+=1}idx+=1}return result});var zip=_curry2(function zip(a,b){var rv=[];var idx=0;var len=Math.min(a.length,b.length);while(idx<len){rv[idx]=[a[idx],b[idx]];idx+=1}return rv});var zipObj=_curry2(function zipObj(keys,values){var idx=0,len=keys.length,out={};while(idx<len){out[keys[idx]]=values[idx];idx+=1}return out});var zipWith=_curry3(function zipWith(fn,a,b){var rv=[],idx=0,len=Math.min(a.length,b.length);while(idx<len){rv[idx]=fn(a[idx],b[idx]);idx+=1}return rv});var F=always(false);var T=always(true);var _checkForMethod=function _checkForMethod(methodname,fn){return function(){var length=arguments.length;if(length===0){return fn()}var obj=arguments[length-1];return _isArray(obj)||typeof obj[methodname]!=="function"?fn.apply(this,arguments):obj[methodname].apply(obj,_slice(arguments,0,length-1))}};var _clone=function _clone(value,refFrom,refTo){var copy=function copy(copiedValue){var len=refFrom.length;var idx=0;while(idx<len){if(value===refFrom[idx]){return refTo[idx]}idx+=1}refFrom[idx+1]=value;refTo[idx+1]=copiedValue;for(var key in value){copiedValue[key]=_clone(value[key],refFrom,refTo)}return copiedValue};switch(type(value)){case"Object":return copy({});case"Array":return copy([]);case"Date":return new Date(value);case"RegExp":return _cloneRegExp(value);default:return value}};var _createPartialApplicator=function _createPartialApplicator(concat){return function(fn){var args=_slice(arguments,1);return _arity(Math.max(0,fn.length-args.length),function(){return fn.apply(this,concat(args,arguments))})}};var _dispatchable=function _dispatchable(methodname,xf,fn){return function(){var length=arguments.length;if(length===0){return fn()}var obj=arguments[length-1];if(!_isArray(obj)){var args=_slice(arguments,0,length-1);if(typeof obj[methodname]==="function"){return obj[methodname].apply(obj,args)}if(_isTransformer(obj)){var transducer=xf.apply(null,args);return transducer(obj)}}return fn.apply(this,arguments)}};var _equals=function _equals(a,b,stackA,stackB){var typeA=type(a);if(typeA!==type(b)){return false}if(typeA==="Boolean"||typeA==="Number"||typeA==="String"){return typeof a==="object"?typeof b==="object"&&identical(a.valueOf(),b.valueOf()):identical(a,b)}if(identical(a,b)){return true}if(typeA==="RegExp"){return a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline&&a.sticky===b.sticky&&a.unicode===b.unicode}if(Object(a)===a){if(typeA==="Date"&&a.getTime()!==b.getTime()){return false}var keysA=keys(a);if(keysA.length!==keys(b).length){return false}var idx=stackA.length-1;while(idx>=0){if(stackA[idx]===a){return stackB[idx]===b}idx-=1}stackA[stackA.length]=a;stackB[stackB.length]=b;idx=keysA.length-1;while(idx>=0){var key=keysA[idx];if(!_has(key,b)||!_equals(b[key],a[key],stackA,stackB)){return false}idx-=1}stackA.pop();stackB.pop();return true}return false};var _hasMethod=function _hasMethod(methodName,obj){return obj!=null&&!_isArray(obj)&&typeof obj[methodName]==="function"};var _makeFlat=function _makeFlat(recursive){return function flatt(list){var value,result=[],idx=0,j,ilen=list.length,jlen;while(idx<ilen){if(isArrayLike(list[idx])){value=recursive?flatt(list[idx]):list[idx];j=0;jlen=value.length;while(j<jlen){result[result.length]=value[j];j+=1}}else{result[result.length]=list[idx]}idx+=1}return result}};var _reduce=function(){function _arrayReduce(xf,acc,list){var idx=0,len=list.length;while(idx<len){acc=xf["@@transducer/step"](acc,list[idx]);if(acc&&acc["@@transducer/reduced"]){acc=acc["@@transducer/value"];break}idx+=1}return xf["@@transducer/result"](acc)}function _iterableReduce(xf,acc,iter){var step=iter.next();while(!step.done){acc=xf["@@transducer/step"](acc,step.value);if(acc&&acc["@@transducer/reduced"]){acc=acc["@@transducer/value"];break}step=iter.next()}return xf["@@transducer/result"](acc)}function _methodReduce(xf,acc,obj){return xf["@@transducer/result"](obj.reduce(bind(xf["@@transducer/step"],xf),acc))}var symIterator=typeof Symbol!=="undefined"?Symbol.iterator:"@@iterator";return function _reduce(fn,acc,list){if(typeof fn==="function"){fn=_xwrap(fn)}if(isArrayLike(list)){return _arrayReduce(fn,acc,list)}if(typeof list.reduce==="function"){
return _methodReduce(fn,acc,list)}if(list[symIterator]!=null){return _iterableReduce(fn,acc,list[symIterator]())}if(typeof list.next==="function"){return _iterableReduce(fn,acc,list)}throw new TypeError("reduce: list must be array or iterable")}}();var _stepCat=function(){var _stepCatArray={"@@transducer/init":Array,"@@transducer/step":function(xs,x){return _concat(xs,[x])},"@@transducer/result":_identity};var _stepCatString={"@@transducer/init":String,"@@transducer/step":function(a,b){return a+b},"@@transducer/result":_identity};var _stepCatObject={"@@transducer/init":Object,"@@transducer/step":function(result,input){return merge(result,isArrayLike(input)?createMapEntry(input[0],input[1]):input)},"@@transducer/result":_identity};return function _stepCat(obj){if(_isTransformer(obj)){return obj}if(isArrayLike(obj)){return _stepCatArray}if(typeof obj==="string"){return _stepCatString}if(typeof obj==="object"){return _stepCatObject}throw new Error("Cannot create transformer for "+obj)}}();var _xall=function(){function XAll(f,xf){this.xf=xf;this.f=f;this.all=true}XAll.prototype["@@transducer/init"]=_xfBase.init;XAll.prototype["@@transducer/result"]=function(result){if(this.all){result=this.xf["@@transducer/step"](result,true)}return this.xf["@@transducer/result"](result)};XAll.prototype["@@transducer/step"]=function(result,input){if(!this.f(input)){this.all=false;result=_reduced(this.xf["@@transducer/step"](result,false))}return result};return _curry2(function _xall(f,xf){return new XAll(f,xf)})}();var _xany=function(){function XAny(f,xf){this.xf=xf;this.f=f;this.any=false}XAny.prototype["@@transducer/init"]=_xfBase.init;XAny.prototype["@@transducer/result"]=function(result){if(!this.any){result=this.xf["@@transducer/step"](result,false)}return this.xf["@@transducer/result"](result)};XAny.prototype["@@transducer/step"]=function(result,input){if(this.f(input)){this.any=true;result=_reduced(this.xf["@@transducer/step"](result,true))}return result};return _curry2(function _xany(f,xf){return new XAny(f,xf)})}();var _xdrop=function(){function XDrop(n,xf){this.xf=xf;this.n=n}XDrop.prototype["@@transducer/init"]=_xfBase.init;XDrop.prototype["@@transducer/result"]=_xfBase.result;XDrop.prototype["@@transducer/step"]=function(result,input){if(this.n>0){this.n-=1;return result}return this.xf["@@transducer/step"](result,input)};return _curry2(function _xdrop(n,xf){return new XDrop(n,xf)})}();var _xdropWhile=function(){function XDropWhile(f,xf){this.xf=xf;this.f=f}XDropWhile.prototype["@@transducer/init"]=_xfBase.init;XDropWhile.prototype["@@transducer/result"]=_xfBase.result;XDropWhile.prototype["@@transducer/step"]=function(result,input){if(this.f){if(this.f(input)){return result}this.f=null}return this.xf["@@transducer/step"](result,input)};return _curry2(function _xdropWhile(f,xf){return new XDropWhile(f,xf)})}();var _xgroupBy=function(){function XGroupBy(f,xf){this.xf=xf;this.f=f;this.inputs={}}XGroupBy.prototype["@@transducer/init"]=_xfBase.init;XGroupBy.prototype["@@transducer/result"]=function(result){var key;for(key in this.inputs){if(_has(key,this.inputs)){result=this.xf["@@transducer/step"](result,this.inputs[key]);if(result["@@transducer/reduced"]){result=result["@@transducer/value"];break}}}return this.xf["@@transducer/result"](result)};XGroupBy.prototype["@@transducer/step"]=function(result,input){var key=this.f(input);this.inputs[key]=this.inputs[key]||[key,[]];this.inputs[key][1]=append(input,this.inputs[key][1]);return result};return _curry2(function _xgroupBy(f,xf){return new XGroupBy(f,xf)})}();var addIndex=_curry1(function addIndex(fn){return curryN(fn.length,function(){var idx=0;var origFn=arguments[0];var list=arguments[arguments.length-1];var args=_slice(arguments);args[0]=function(){var result=origFn.apply(this,_concat(arguments,[idx,list]));idx+=1;return result};return fn.apply(this,args)})});var all=_curry2(_dispatchable("all",_xall,function all(fn,list){var idx=0;while(idx<list.length){if(!fn(list[idx])){return false}idx+=1}return true}));var and=_curry2(function and(a,b){return _hasMethod("and",a)?a.and(b):a&&b});var any=_curry2(_dispatchable("any",_xany,function any(fn,list){var idx=0;while(idx<list.length){if(fn(list[idx])){return true}idx+=1}return false}));var binary=_curry1(function binary(fn){return nAry(2,fn)});var clone=_curry1(function clone(value){return _clone(value,[],[])});var concat=_curry2(function concat(set1,set2){if(_isArray(set2)){return _concat(set1,set2)}else if(_hasMethod("concat",set1)){return set1.concat(set2)}else{throw new TypeError("can't concat "+typeof set1)}});var curry=_curry1(function curry(fn){return curryN(fn.length,fn)});var dropWhile=_curry2(_dispatchable("dropWhile",_xdropWhile,function dropWhile(pred,list){var idx=0,len=list.length;while(idx<len&&pred(list[idx])){idx+=1}return _slice(list,idx)}));var equals=_curry2(function equals(a,b){return _hasMethod("equals",a)?a.equals(b):_hasMethod("equals",b)?b.equals(a):_equals(a,b,[],[])});var filter=_curry2(_dispatchable("filter",_xfilter,_filter));var find=_curry2(_dispatchable("find",_xfind,function find(fn,list){var idx=0;var len=list.length;while(idx<len){if(fn(list[idx])){return list[idx]}idx+=1}}));var findIndex=_curry2(_dispatchable("findIndex",_xfindIndex,function findIndex(fn,list){var idx=0;var len=list.length;while(idx<len){if(fn(list[idx])){return idx}idx+=1}return-1}));var findLast=_curry2(_dispatchable("findLast",_xfindLast,function findLast(fn,list){var idx=list.length-1;while(idx>=0){if(fn(list[idx])){return list[idx]}idx-=1}}));var findLastIndex=_curry2(_dispatchable("findLastIndex",_xfindLastIndex,function findLastIndex(fn,list){var idx=list.length-1;while(idx>=0){if(fn(list[idx])){return idx}idx-=1}return-1}));var flatten=_curry1(_makeFlat(true));var flip=_curry1(function flip(fn){return curry(function(a,b){var args=_slice(arguments);args[0]=b;args[1]=a;return fn.apply(this,args)})});var forEach=_curry2(_checkForMethod("forEach",function forEach(fn,list){var len=list.length;var idx=0;while(idx<len){fn(list[idx]);idx+=1}return list}));var functions=_curry1(_functionsWith(keys));var functionsIn=_curry1(_functionsWith(keysIn));var groupBy=_curry2(_dispatchable("groupBy",_xgroupBy,function groupBy(fn,list){return _reduce(function(acc,elt){var key=fn(elt);acc[key]=append(elt,acc[key]||(acc[key]=[]));return acc},{},list)}));var head=nth(0);var intersectionWith=_curry3(function intersectionWith(pred,list1,list2){var results=[],idx=0;while(idx<list1.length){if(_containsWith(pred,list1[idx],list2)){results[results.length]=list1[idx]}idx+=1}return uniqWith(pred,results)});var intersperse=_curry2(_checkForMethod("intersperse",function intersperse(separator,list){var out=[];var idx=0;var length=list.length;while(idx<length){if(idx===length-1){out.push(list[idx])}else{out.push(list[idx],separator)}idx+=1}return out}));var into=_curry3(function into(acc,xf,list){return _isTransformer(acc)?_reduce(xf(acc),acc["@@transducer/init"](),list):_reduce(xf(_stepCat(acc)),acc,list)});var invert=_curry1(function invert(obj){var props=keys(obj);var len=props.length;var idx=0;var out={};while(idx<len){var key=props[idx];var val=obj[key];var list=_has(val,out)?out[val]:out[val]=[];list[list.length]=key;idx+=1}return out});var invertObj=_curry1(function invertObj(obj){var props=keys(obj);var len=props.length;var idx=0;var out={};while(idx<len){var key=props[idx];out[obj[key]]=key;idx+=1}return out});var last=nth(-1);var lastIndexOf=_curry2(function lastIndexOf(target,xs){if(_hasMethod("lastIndexOf",xs)){return xs.lastIndexOf(target)}else{var idx=xs.length-1;while(idx>=0){if(equals(xs[idx],target)){return idx}idx-=1}return-1}});var map=_curry2(_dispatchable("map",_xmap,_map));var mapObj=_curry2(function mapObj(fn,obj){return _reduce(function(acc,key){acc[key]=fn(obj[key]);return acc},{},keys(obj))});var mapObjIndexed=_curry2(function mapObjIndexed(fn,obj){return _reduce(function(acc,key){acc[key]=fn(obj[key],key,obj);return acc},{},keys(obj))});var none=_curry2(_complement(_dispatchable("any",_xany,any)));var or=_curry2(function or(a,b){return _hasMethod("or",a)?a.or(b):a||b});var partial=curry(_createPartialApplicator(_concat));var partialRight=curry(_createPartialApplicator(flip(_concat)));var partition=_curry2(function partition(pred,list){return _reduce(function(acc,elt){var xs=acc[pred(elt)?0:1];xs[xs.length]=elt;return acc},[[],[]],list)});var pathEq=_curry3(function pathEq(_path,val,obj){return equals(path(_path,obj),val)});var pluck=_curry2(function pluck(p,list){return map(prop(p),list)});var propEq=_curry3(function propEq(name,val,obj){return propSatisfies(equals(val),name,obj)});var propIs=_curry3(function propIs(type,name,obj){return propSatisfies(is(type),name,obj)});var reduce=_curry3(_reduce);var reject=_curry2(function reject(fn,list){return filter(_complement(fn),list)});var repeat=_curry2(function repeat(value,n){return times(always(value),n)});var slice=_curry3(_checkForMethod("slice",function slice(fromIndex,toIndex,list){return Array.prototype.slice.call(list,fromIndex,toIndex)}));var splitEvery=_curry2(function splitEvery(n,list){if(n<=0){throw new Error("First argument to splitEvery must be a positive integer")}var result=[];var idx=0;while(idx<list.length){result.push(slice(idx,idx+=n,list))}return result});var sum=reduce(add,0);var tail=_checkForMethod("tail",slice(1,Infinity));var take=_curry2(_dispatchable("take",_xtake,function take(n,xs){return slice(0,n<0?Infinity:n,xs)}));var takeWhile=_curry2(_dispatchable("takeWhile",_xtakeWhile,function takeWhile(fn,list){var idx=0,len=list.length;while(idx<len&&fn(list[idx])){idx+=1}return _slice(list,0,idx)}));var transduce=curryN(4,function transduce(xf,fn,acc,list){return _reduce(xf(typeof fn==="function"?_xwrap(fn):fn),acc,list)});var unionWith=_curry3(function unionWith(pred,list1,list2){return uniqWith(pred,_concat(list1,list2))});var uniq=uniqWith(equals);var unnest=_curry1(_makeFlat(false));var useWith=curry(function useWith(fn){var transformers=_slice(arguments,1);var tlen=transformers.length;return curry(_arity(tlen,function(){var args=[],idx=0;while(idx<tlen){args[idx]=transformers[idx](arguments[idx]);idx+=1}return fn.apply(this,args.concat(_slice(arguments,tlen)))}))});var whereEq=_curry2(function whereEq(spec,testObj){return where(mapObj(equals,spec),testObj)});var _flatCat=function(){var preservingReduced=function(xf){return{"@@transducer/init":_xfBase.init,"@@transducer/result":function(result){return xf["@@transducer/result"](result)},"@@transducer/step":function(result,input){var ret=xf["@@transducer/step"](result,input);return ret["@@transducer/reduced"]?_forceReduced(ret):ret}}};return function _xcat(xf){var rxf=preservingReduced(xf);return{"@@transducer/init":_xfBase.init,"@@transducer/result":function(result){return rxf["@@transducer/result"](result)},"@@transducer/step":function(result,input){return!isArrayLike(input)?_reduce(rxf,result,[input]):_reduce(rxf,result,input)}}}}();var _indexOf=function _indexOf(list,item,from){var idx=from;while(idx<list.length){if(equals(list[idx],item)){return idx}idx+=1}return-1};var _predicateWrap=function _predicateWrap(predPicker){return function(preds){var predIterator=function(){var args=arguments;return predPicker(function(predicate){return predicate.apply(null,args)},preds)};return arguments.length>1?predIterator.apply(null,_slice(arguments,1)):_arity(Math.max.apply(Math,pluck("length",preds)),predIterator)}};var _xchain=_curry2(function _xchain(f,xf){return map(f,_flatCat(xf))});var allPass=_curry1(_predicateWrap(all));var anyPass=_curry1(_predicateWrap(any));var ap=_curry2(function ap(fns,vs){return _hasMethod("ap",fns)?fns.ap(vs):_reduce(function(acc,fn){return _concat(acc,map(fn,vs))},[],fns)});var call=curry(function call(fn){return fn.apply(this,_slice(arguments,1))});var chain=_curry2(_dispatchable("chain",_xchain,function chain(fn,list){return unnest(map(fn,list))}));var commuteMap=_curry3(function commuteMap(fn,of,list){function consF(acc,ftor){return ap(map(append,fn(ftor)),acc)}return _reduce(consF,of([]),list)});var constructN=_curry2(function constructN(n,Fn){if(n>10){throw new Error("Constructor with greater than ten arguments")}if(n===0){return function(){return new Fn}}return curry(nAry(n,function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9){switch(arguments.length){case 1:return new Fn($0);case 2:return new Fn($0,$1);case 3:return new Fn($0,$1,$2);case 4:return new Fn($0,$1,$2,$3);case 5:return new Fn($0,$1,$2,$3,$4);case 6:return new Fn($0,$1,$2,$3,$4,$5);case 7:return new Fn($0,$1,$2,$3,$4,$5,$6);case 8:return new Fn($0,$1,$2,$3,$4,$5,$6,$7);case 9:return new Fn($0,$1,$2,$3,$4,$5,$6,$7,$8);case 10:return new Fn($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)}}))});var converge=curryN(3,function converge(after){var fns=_slice(arguments,1);return curryN(Math.max.apply(Math,pluck("length",fns)),function(){var args=arguments;var context=this;return after.apply(context,_map(function(fn){return fn.apply(context,args)},fns))})});var drop=_curry2(_dispatchable("drop",_xdrop,function drop(n,xs){return slice(Math.max(0,n),Infinity,xs)}));var dropLast=_curry2(function dropLast(n,xs){return take(n<xs.length?xs.length-n:0,xs)});var dropRepeatsWith=_curry2(_dispatchable("dropRepeatsWith",_xdropRepeatsWith,function dropRepeatsWith(pred,list){var result=[];var idx=1;var len=list.length;if(len!==0){result[0]=list[0];while(idx<len){if(!pred(last(result),list[idx])){result[result.length]=list[idx]}idx+=1}}return result}));var eqProps=_curry3(function eqProps(prop,obj1,obj2){return equals(obj1[prop],obj2[prop])});var indexOf=_curry2(function indexOf(target,xs){return _hasMethod("indexOf",xs)?xs.indexOf(target):_indexOf(xs,target,0)});var init=slice(0,-1);var isSet=_curry1(function isSet(list){var len=list.length;var idx=0;while(idx<len){if(_indexOf(list,list[idx],idx+1)>=0){return false}idx+=1}return true});var lens=_curry2(function lens(getter,setter){return function(f){return function(s){return map(function(v){return setter(v,s)},f(getter(s)))}}});var lensIndex=_curry1(function lensIndex(n){return lens(nth(n),update(n))});var lensProp=_curry1(function lensProp(k){return lens(prop(k),assoc(k))});var liftN=_curry2(function liftN(arity,fn){var lifted=curryN(arity,fn);return curryN(arity,function(){return _reduce(ap,map(lifted,arguments[0]),_slice(arguments,1))})});var mean=_curry1(function mean(list){return sum(list)/list.length});var median=_curry1(function median(list){var len=list.length;if(len===0){return NaN}var width=2-len%2;var idx=(len-width)/2;return mean(_slice(list).sort(function(a,b){return a<b?-1:a>b?1:0}).slice(idx,idx+width))});var mergeAll=_curry1(function mergeAll(list){return reduce(merge,{},list)});var pipe=function pipe(){if(arguments.length===0){throw new Error("pipe requires at least one argument")}return curryN(arguments[0].length,reduce(_pipe,arguments[0],tail(arguments)))};var pipeP=function pipeP(){if(arguments.length===0){throw new Error("pipeP requires at least one argument")}return curryN(arguments[0].length,reduce(_pipeP,arguments[0],tail(arguments)))};var product=reduce(multiply,1);var project=useWith(_map,pickAll,identity);var takeLast=_curry2(function takeLast(n,xs){return drop(n>=0?xs.length-n:0,xs)});var _contains=function _contains(a,list){return _indexOf(list,a,0)>=0};var _toString=function _toString(x,seen){var recur=function recur(y){var xs=seen.concat([x]);return _contains(y,xs)?"<Circular>":_toString(y,xs)};var mapPairs=function(obj,keys){return _map(function(k){return _quote(k)+": "+recur(obj[k])},keys.slice().sort())};switch(Object.prototype.toString.call(x)){case"[object Arguments]":return"(function() { return arguments; }("+_map(recur,x).join(", ")+"))";case"[object Array]":return"["+_map(recur,x).concat(mapPairs(x,reject(test(/^\d+$/),keys(x)))).join(", ")+"]";case"[object Boolean]":return typeof x==="object"?"new Boolean("+recur(x.valueOf())+")":x.toString();case"[object Date]":return"new Date("+_quote(_toISOString(x))+")";case"[object Null]":return"null";case"[object Number]":return typeof x==="object"?"new Number("+recur(x.valueOf())+")":1/x===-Infinity?"-0":x.toString(10);case"[object String]":return typeof x==="object"?"new String("+recur(x.valueOf())+")":_quote(x);case"[object Undefined]":return"undefined";default:return typeof x.constructor==="function"&&x.constructor.name!=="Object"&&typeof x.toString==="function"&&x.toString()!=="[object Object]"?x.toString():"{"+mapPairs(x,keys(x)).join(", ")+"}"}};var commute=commuteMap(identity);var compose=function compose(){if(arguments.length===0){throw new Error("compose requires at least one argument")}return pipe.apply(this,reverse(arguments))};var composeK=function composeK(){return arguments.length===0?identity:compose.apply(this,map(chain,arguments))};var composeP=function composeP(){if(arguments.length===0){throw new Error("composeP requires at least one argument")}return pipeP.apply(this,reverse(arguments))};var construct=_curry1(function construct(Fn){return constructN(Fn.length,Fn)});var contains=_curry2(_contains);var difference=_curry2(function difference(first,second){var out=[];var idx=0;var firstLen=first.length;while(idx<firstLen){if(!_contains(first[idx],second)&&!_contains(first[idx],out)){out[out.length]=first[idx]}idx+=1}return out});var dropRepeats=_curry1(_dispatchable("dropRepeats",_xdropRepeatsWith(equals),dropRepeatsWith(equals)));var intersection=_curry2(function intersection(list1,list2){return uniq(_filter(flip(_contains)(list1),list2))});var lift=_curry1(function lift(fn){return liftN(fn.length,fn)});var omit=_curry2(function omit(names,obj){var result={};for(var prop in obj){if(!_contains(prop,names)){result[prop]=obj[prop]}}return result});var pipeK=function pipeK(){return composeK.apply(this,reverse(arguments))};var toString=_curry1(function toString(val){return _toString(val,[])});var union=_curry2(compose(uniq,_concat));var uniqBy=_curry2(function uniqBy(fn,list){var idx=0,applied=[],result=[],appliedItem,item;while(idx<list.length){item=list[idx];appliedItem=fn(item);if(!_contains(appliedItem,applied)){result.push(item);applied.push(appliedItem)}idx+=1}return result});var invoker=_curry2(function invoker(arity,method){return curryN(arity+1,function(){var target=arguments[arity];if(target!=null&&is(Function,target[method])){return target[method].apply(target,_slice(arguments,0,arity))}throw new TypeError(toString(target)+' does not have a method named "'+method+'"')})});var join=invoker(1,"join");var memoize=_curry1(function memoize(fn){var cache={};return function(){var key=toString(arguments);if(!_has(key,cache)){cache[key]=fn.apply(this,arguments)}return cache[key]}});var split=invoker(1,"split");var toLower=invoker(0,"toLowerCase");var toUpper=invoker(0,"toUpperCase");var R={F:F,T:T,__:__,add:add,addIndex:addIndex,adjust:adjust,all:all,allPass:allPass,always:always,and:and,any:any,anyPass:anyPass,ap:ap,aperture:aperture,append:append,apply:apply,assoc:assoc,assocPath:assocPath,binary:binary,bind:bind,both:both,call:call,chain:chain,clone:clone,commute:commute,commuteMap:commuteMap,comparator:comparator,complement:complement,compose:compose,composeK:composeK,composeP:composeP,concat:concat,cond:cond,construct:construct,constructN:constructN,contains:contains,containsWith:containsWith,converge:converge,countBy:countBy,createMapEntry:createMapEntry,curry:curry,curryN:curryN,dec:dec,defaultTo:defaultTo,difference:difference,differenceWith:differenceWith,dissoc:dissoc,dissocPath:dissocPath,divide:divide,drop:drop,dropLast:dropLast,dropLastWhile:dropLastWhile,dropRepeats:dropRepeats,dropRepeatsWith:dropRepeatsWith,dropWhile:dropWhile,either:either,empty:empty,eqProps:eqProps,equals:equals,evolve:evolve,filter:filter,find:find,findIndex:findIndex,findLast:findLast,findLastIndex:findLastIndex,flatten:flatten,flip:flip,forEach:forEach,fromPairs:fromPairs,functions:functions,functionsIn:functionsIn,groupBy:groupBy,gt:gt,gte:gte,has:has,hasIn:hasIn,head:head,identical:identical,identity:identity,ifElse:ifElse,inc:inc,indexOf:indexOf,init:init,insert:insert,insertAll:insertAll,intersection:intersection,intersectionWith:intersectionWith,intersperse:intersperse,into:into,invert:invert,invertObj:invertObj,invoker:invoker,is:is,isArrayLike:isArrayLike,isEmpty:isEmpty,isNil:isNil,isSet:isSet,join:join,keys:keys,keysIn:keysIn,last:last,lastIndexOf:lastIndexOf,length:length,lens:lens,lensIndex:lensIndex,lensProp:lensProp,lift:lift,liftN:liftN,lt:lt,lte:lte,map:map,mapAccum:mapAccum,mapAccumRight:mapAccumRight,mapObj:mapObj,mapObjIndexed:mapObjIndexed,match:match,mathMod:mathMod,max:max,maxBy:maxBy,mean:mean,median:median,memoize:memoize,merge:merge,mergeAll:mergeAll,min:min,minBy:minBy,modulo:modulo,multiply:multiply,nAry:nAry,negate:negate,none:none,not:not,nth:nth,nthArg:nthArg,nthChar:nthChar,nthCharCode:nthCharCode,of:of,omit:omit,once:once,or:or,over:over,partial:partial,partialRight:partialRight,partition:partition,path:path,pathEq:pathEq,pick:pick,pickAll:pickAll,pickBy:pickBy,pipe:pipe,pipeK:pipeK,pipeP:pipeP,pluck:pluck,prepend:prepend,product:product,project:project,prop:prop,propEq:propEq,propIs:propIs,propOr:propOr,propSatisfies:propSatisfies,props:props,range:range,reduce:reduce,reduceRight:reduceRight,reduced:reduced,reject:reject,remove:remove,repeat:repeat,replace:replace,reverse:reverse,scan:scan,set:set,slice:slice,sort:sort,sortBy:sortBy,split:split,splitEvery:splitEvery,subtract:subtract,sum:sum,tail:tail,take:take,takeLast:takeLast,takeLastWhile:takeLastWhile,takeWhile:takeWhile,tap:tap,test:test,times:times,toLower:toLower,toPairs:toPairs,toPairsIn:toPairsIn,toString:toString,toUpper:toUpper,transduce:transduce,trim:trim,type:type,unapply:unapply,unary:unary,uncurryN:uncurryN,unfold:unfold,union:union,unionWith:unionWith,uniq:uniq,uniqBy:uniqBy,uniqWith:uniqWith,unnest:unnest,update:update,useWith:useWith,values:values,valuesIn:valuesIn,view:view,where:where,whereEq:whereEq,wrap:wrap,xprod:xprod,zip:zip,zipObj:zipObj,zipWith:zipWith};if(typeof exports==="object"){module.exports=R}else if(typeof define==="function"&&define.amd){define(function(){return R})}else{this.R=R}}).call(this)},{}],sanctuary:[function(require,module,exports){(function(f){"use strict";if(typeof module!=="undefined"){module.exports=f(require("ramda"))}else if(typeof define==="function"&&define.amd!=null){define(["ramda"],f)}else{self.sanctuary=f(self.R)}})(function(R){"use strict";var S={};var MAX_SAFE_INTEGER=Math.pow(2,53)-1;var MIN_SAFE_INTEGER=-MAX_SAFE_INTEGER;var _=R.__;var placeholder=function(x){return x!=null&&x["@@functional/placeholder"]===true};var formatters={"{}":R.identity,"{card}":R.ifElse(R.lte(_,10),R.nth(_,["zero","one","two","three","four","five","six","seven","eight","nine","ten"]),String),"{ord}":R.nth(_,["first","second","third"]),"{quote}":function(s){return"‘"+s+"’"},"{repr}":R.toString,"{type}":R.pipe(String,R.match(/^function (\w*)/),R.nth(1))};var format=R.curry(function(template,values){var idx=-1;return template.replace(/[{].*?[}]/g,function(match){return formatters[match](values[idx+=1])})});var Accessible=function Accessible(){};var Integer=function Integer(){};var List=function List(){};var TypeRep=function TypeRep(){};var a={name:"a"};var b={name:"b"};var c={name:"c"};var _is=function(type,x){if(x==null)return false;switch(type){case Accessible:return true;case Integer:return _is(Number,x)&&Math.floor(x)===Number(x)&&x>=MIN_SAFE_INTEGER&&x<=MAX_SAFE_INTEGER;case List:return!_is(Function,x)&&_is(Number,x.length)&&x.length>=0;case TypeRep:return _is(Function,x);default:return Object(x)instanceof type}};var arity=function(n,f){switch(n){case 0:return function(){return f.apply(this,arguments)};case 1:return function(a){return f.apply(this,arguments)};case 2:return function(a,b){return f.apply(this,arguments)};case 3:return function(a,b,c){return f.apply(this,arguments)}}};var curry=function(name,types,_values,f){return arity(R.filter(placeholder,_values).length,function(){var values=_values;var paramIndexes=[];for(var idx=0;idx<values.length;idx+=1){if(placeholder(values[idx])){paramIndexes.push(idx)}}if(arguments.length>paramIndexes.length){throw new TypeError(format("{quote} requires {card} {}; received {card} arguments",[name,values.length,values.length===1?"argument":"arguments",values.length+arguments.length-paramIndexes.length]))}for(var argIndex=0;argIndex<arguments.length;argIndex+=1){var arg=arguments[argIndex];var paramIndex=paramIndexes[argIndex];var type=types[paramIndex];if(placeholder(arg)){continue}else if(type===a||type===b||type===c){for(idx=0;idx<values.length;idx+=1){var val=values[idx];if(types[idx]===type&&!placeholder(val)&&!(R.type(val)===R.type(arg)&&val.type===arg.type)){throw new TypeError(format("{quote} requires its {ord} and {ord} arguments "+"to be of the same type; {repr} and {repr} are not",paramIndex>idx?[name,idx,paramIndex,val,arg]:[name,paramIndex,idx,arg,val]))}}}else if(type===Accessible){if(arg==null){throw new TypeError(format("The {ord} argument to {quote} cannot be null or undefined",[paramIndex,name]))}}else if(!_is(type,arg)){throw new TypeError(format("{quote} requires a value of type {type} as its {ord} argument; "+"received {repr}",[name,type,paramIndex,arg]))}values=R.update(paramIndex,arg,values)}var args=R.reject(placeholder,values);return args.length===values.length?f.apply(this,args):curry(name,types,values,f)})};var def=function(name,types,f){return curry(name,types,R.map(function(){return _},types),f)};var compose2=function(f,g){return function(x){return f(g(x))}};var extend=function(Child,Parent){function Ctor(){this.constructor=Child}Ctor.prototype=Parent.prototype;Child.prototype=new Ctor;Child.super_=Parent.prototype};var filter=function(pred,m){return m.chain(function(x){return pred(x)?m.of(x):m.empty()})};var assertMethodExists=function(method,x){if(x==null||typeof x[method]!=="function"){throw new TypeError(format("{repr} does not have {} {quote} method",[x,R.test(/^[aeiou]/i,method)?"an":"a",method]))}};var invoke=R.curry(function(method,args,x){assertMethodExists(method,x);return x[method].apply(x,args)});var negativeZero=R.either(R.equals(-0),R.equals(new Number(-0)));var self=function(){return this};var toString=function(name){return def(name+"#toString",[],function(){return name+"("+R.toString(this.value)+")"})};var is=S.is=def("is",[TypeRep,a],_is);var I=S.I=def("I",[a],function(x){return x});var K=S.K=def("K",[a,b],function(x,y){return x});var compose=S.compose=def("compose",[Function,Function,a],function(f,g,x){return f(g(x))});S.pipe=def("pipe",[List,a],function(fs,x){return R.reduceRight(compose2,I,fs)(x)});S.meld=def("meld",[List],function(fs){return R.curryN(1+R.sum(R.map(R.length,fs))-fs.length,function(){var args=Array.prototype.slice.call(arguments);for(var idx=0;idx<fs.length;idx+=1){args.unshift(fs[idx].apply(this,args.splice(0,fs[idx].length)))}return args[0]})});var Maybe=S.Maybe=function Maybe(){throw new Error("Cannot instantiate Maybe")};Maybe.empty=def("Maybe.empty",[],function(){return Nothing()});Maybe.of=def("Maybe.of",[a],function(x){return Just(x)});Maybe.prototype.empty=def("Maybe#empty",[],Maybe.empty);Maybe.prototype.filter=def("Maybe#filter",[Function],function(pred){return filter(pred,this)});Maybe.prototype.of=def("Maybe#of",[a],Maybe.of);Maybe.prototype.type=Maybe;var Nothing=S.Nothing=function Nothing(){if(!(this instanceof Nothing)){return new Nothing}};extend(Nothing,Maybe);Nothing.prototype.ap=def("Nothing#ap",[Maybe],self);Nothing.prototype.chain=def("Nothing#chain",[Function],self);Nothing.prototype.concat=def("Nothing#concat",[Maybe],function(maybe){if(maybe instanceof Just){assertMethodExists("concat",maybe.value)}return maybe});Nothing.prototype.equals=def("Nothing#equals",[a],is(Nothing));Nothing.prototype.extend=def("Nothing#extend",[Function],self);Nothing.prototype.map=def("Nothing#map",[Function],self);Nothing.prototype.reduce=def("Nothing#reduce",[Function,a],function(f,z){return z});Nothing.prototype.toBoolean=def("Nothing#toBoolean",[],R.always(false));Nothing.prototype.toString=def("Nothing#toString",[],R.always("Nothing()"));var Just=S.Just=function Just(value){if(!(this instanceof Just)){return new Just(value)}else{this.value=value}};extend(Just,Maybe);Just.prototype.ap=def("Just#ap",[Maybe],function(maybe){return maybe.map(this.value)});Just.prototype.chain=def("Just#chain",[Function],function(f){return f(this.value)});Just.prototype.concat=def("Just#concat",[Maybe],function(maybe){assertMethodExists("concat",this.value);if(maybe instanceof Just){assertMethodExists("concat",maybe.value);return Just(this.value.concat(maybe.value))}else{return this}});Just.prototype.equals=def("Just#equals",[a],function(x){return x instanceof Just&&R.eqProps("value",x,this)});Just.prototype.extend=def("Just#extend",[Function],function(f){return Just(f(this))});Just.prototype.map=def("Just#map",[Function],function(f){return Just(f(this.value))});Just.prototype.reduce=def("Just#reduce",[Function,a],function(f,z){return f(z,this.value)});Just.prototype.toBoolean=def("Just#toBoolean",[],R.always(true));Just.prototype.toString=toString("Just");var fromMaybe=S.fromMaybe=def("fromMaybe",[a,Maybe],function(x,maybe){return maybe instanceof Just?maybe.value:x});var toMaybe=S.toMaybe=def("toMaybe",[a],R.ifElse(R.isNil,Nothing,Just));var maybe=S.maybe=def("maybe",[a,Function,Maybe],function(x,f,maybe){return fromMaybe(x,maybe.map(f))});var catMaybes=S.catMaybes=def("catMaybes",[List],R.chain(maybe([],R.of)));S.mapMaybe=def("mapMaybe",[Function,List],R.compose(catMaybes,R.map));var encase=S.encase=def("encase",[Function],function(f){return R.curryN(f.length,function(){try{return Just(f.apply(this,arguments))}catch(err){return Nothing()}})});var Either=S.Either=function Either(){throw new Error("Cannot instantiate Either")};Either.of=def("Either.of",[a],function(x){return Right(x)});Either.prototype.of=def("Either#of",[a],Either.of);Either.prototype.type=Either;var Left=S.Left=function Left(value){if(!(this instanceof Left)){return new Left(value)}this.value=value};extend(Left,Either);Left.prototype.ap=def("Left#ap",[Either],self);Left.prototype.chain=def("Left#chain",[Function],self);Left.prototype.concat=def("Left#concat",[Either],function(either){assertMethodExists("concat",this.value);assertMethodExists("concat",either.value);return is(Left,either)?Left(this.value.concat(either.value)):either});Left.prototype.equals=def("Left#equals",[a],function(x){return x instanceof Left&&R.eqProps("value",x,this)});Left.prototype.extend=def("Left#extend",[Function],self);Left.prototype.map=def("Left#map",[Function],self);Left.prototype.toBoolean=def("Left#toBoolean",[],R.always(false));Left.prototype.toString=toString("Left");var Right=S.Right=function Right(value){if(!(this instanceof Right)){return new Right(value)}this.value=value};extend(Right,Either);Right.prototype.ap=def("Right#ap",[Either],function(either){return either.map(this.value)});Right.prototype.chain=def("Right#chain",[Function],function(f){return f(this.value)});Right.prototype.concat=def("Right#concat",[Either],function(either){assertMethodExists("concat",this.value);assertMethodExists("concat",either.value);return is(Right,either)?Right(this.value.concat(either.value)):this});Right.prototype.equals=def("Right#equals",[a],function(x){return x instanceof Right&&R.eqProps("value",x,this)});Right.prototype.extend=def("Right#extend",[Function],function(f){return Right(f(this))});Right.prototype.map=def("Right#map",[Function],function(f){return Right(f(this.value))});Right.prototype.toBoolean=def("Right#toBoolean",[],R.always(true));Right.prototype.toString=toString("Right");S.either=def("either",[Function,Function,Either],function(l,r,either){return either instanceof Left?l(either.value):r(either.value)});S.encaseEither=def("encaseEither",[Function,Function],function(f,g){return R.curryN(g.length,function(){try{return Right(g.apply(this,arguments))}catch(err){return Left(f(err))}})});S.maybeToEither=def("maybeToEither",[a,Maybe],function(x,maybe){
return maybe instanceof Nothing?Left(x):Right(maybe.value)});var toBoolean=R.cond([[is(Array),R.complement(R.isEmpty)],[is(Boolean),I],[R.T,invoke("toBoolean",[])]]);var empty=R.cond([[is(Array),function(){return[]}],[is(Boolean),K(false)],[R.T,invoke("empty",[])]]);S.and=def("and",[a,a],function(x,y){return toBoolean(x)?y:x});var or=S.or=def("or",[a,a],function(x,y){return toBoolean(x)?x:y});S.xor=def("xor",[a,a],function(x,y){var xBool=toBoolean(x);var yBool=toBoolean(y);var xEmpty=empty(x);return xBool!==yBool?or(x,y):xEmpty});var slice=S.slice=def("slice",[Integer,Integer,List],function(start,end,xs){var len=xs.length;var startIdx=negativeZero(start)?len:start<0?start+len:start;var endIdx=negativeZero(end)?len:end<0?end+len:end;return Math.abs(start)<=len&&Math.abs(end)<=len&&startIdx<=endIdx?Just(R.slice(startIdx,endIdx,xs)):Nothing()});var at=S.at=def("at",[Integer,List],function(n,xs){return R.map(R.head,slice(n,n===-1?-0:n+1,xs))});S.head=def("head",[List],at(0));S.last=def("last",[List],at(-1));S.tail=def("tail",[List],slice(1,-0));S.init=def("init",[List],slice(0,-1));S.take=def("take",[Integer,List],function(n,xs){return n<0||negativeZero(n)?Nothing():slice(0,n,xs)});S.takeLast=def("takeLast",[Integer,List],function(n,xs){return n<0||negativeZero(n)?Nothing():slice(-n,-0,xs)});S.drop=def("drop",[Integer,List],function(n,xs){return n<0||negativeZero(n)?Nothing():slice(n,-0,xs)});S.dropLast=def("dropLast",[Integer,List],function(n,xs){return n<0||negativeZero(n)?Nothing():slice(0,-n,xs)});S.find=def("find",[Function,List],function(pred,xs){for(var idx=0,len=xs.length;idx<len;idx+=1){if(pred(xs[idx])){return Just(xs[idx])}}return Nothing()});var sanctifyIndexOf=function(name){return def(name,[a,List],R.pipe(R[name],Just,R.filter(R.gte(_,0))))};S.indexOf=sanctifyIndexOf("indexOf");S.lastIndexOf=sanctifyIndexOf("lastIndexOf");S.pluck=def("pluck",[TypeRep,String,List],function(type,key,xs){return R.map(get(type,key),xs)});var get=S.get=def("get",[TypeRep,String,Accessible],function(type,key,obj){return filter(is(type),Just(obj[key]))});S.gets=def("gets",[TypeRep,List,Accessible],function(type,keys,obj){var f=function(m,k){return R.chain(get(Accessible,k),m)};return filter(is(type),R.reduce(f,Just(obj),keys))});S.parseDate=def("parseDate",[String],function(s){var d=new Date(s);return d.valueOf()===d.valueOf()?Just(d):Nothing()});var requiredNonCapturingGroup=function(xs){return"(?:"+xs.join("|")+")"};var optionalNonCapturingGroup=function(xs){return requiredNonCapturingGroup(xs)+"?"};var validFloatRepr=R.test(new RegExp("^"+"\\s*"+"[+-]?"+requiredNonCapturingGroup(["Infinity","NaN",requiredNonCapturingGroup(["[0-9]+","[0-9]+[.][0-9]+","[0-9]+[.]","[.][0-9]+"])+optionalNonCapturingGroup(["[Ee]"+"[+-]?"+"[0-9]+"])])+"\\s*"+"$"));S.parseFloat=def("parseFloat",[String],R.pipe(Just,R.filter(validFloatRepr),R.map(parseFloat)));S.parseInt=def("parseInt",[Integer,String],function(radix,s){if(radix<2||radix>36){throw new RangeError("Radix not in [2 .. 36]")}var charset=R.take(radix,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");return R.pipe(Just,R.filter(R.pipe(R.replace(/^[+-]/,""),radix===16?R.replace(/^0x/i,""):I,R.split(""),R.all(R.pipe(R.toUpper,R.indexOf(_,charset),R.gte(_,0))))),R.map(R.partialRight(parseInt,radix)),R.filter(is(Integer)))(s)});S.parseJson=def("parseJson",[String],encase(function(s){return JSON.parse(s)}));S.match=def("match",[RegExp,String],function(pattern,s){return R.map(R.map(toMaybe),toMaybe(s.match(pattern)))});S.words=def("words",[String],compose(R.reject(R.isEmpty),R.split(/\s+/)));S.unwords=def("unwords",[List],R.join(" "));S.lines=def("lines",[String],compose(R.match(/^(?=[\s\S]).*/gm),R.replace(/\r\n?/g,"\n")));S.unlines=def("unlines",[List],compose(R.join(""),R.map(R.concat(_,"\n"))));return S})},{ramda:1}]},{},[]);const R=require("ramda");const S=require("sanctuary");const getNavigationProp=function getNavigationProp(prop,key,value,flatNav){console.log("prop is",prop);console.log("key is",key);console.log("value is",value);return R.compose(S.fromMaybe(""),R.map(R.prop(prop)),S.get(Object,value))(flatNav)};const devdata={"pet-products":{itemId:"FP_14400017",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"FP Home > FP Pet Project > Shop All",id:"FP_CAT1810088",categoryClass:""},displayName:"FP Pet Project",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:["pet-collars","pet-leashes","pet-toys","pet-coats","pet-accessories","pet-beds"],categoryId:"FP_CAT1810088",nestLevel:3,parentItemId:"FP_4600050",parentSlug:"home-decor",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"pet-products"},"trapeze-slips":{itemId:"FP_4600087",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Intimates > Slips > Trapeze Slips",id:"FP_CAT360016",categoryClass:""},displayName:"Trapeze Slips",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT360016",nestLevel:3,parentItemId:"FP_4600060",parentSlug:"slips",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"trapeze-slips"},"bodycon-dresses":{itemId:"FP_6100076",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Clothes > Dresses > Bodycon",id:"FP_CAT1410005",categoryClass:""},displayName:"Bodycon Dresses",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1410005",nestLevel:2,parentItemId:"FP_10900006",parentSlug:"uk-dresses",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"bodycon-dresses"},hats:{itemId:"FP_4600013",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Accessories > Hats",id:"FP_CAT270069",categoryClass:""},displayName:"Hats",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:["hats-trending-now","straw-hats","felt-hats","novelty-hats","baseball-caps","beanies","berets"],categoryId:"FP_CAT270069",nestLevel:2,parentItemId:"FP_6100011",parentSlug:"accessories",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"hats"},"connect-footer":{itemId:"6f9f60e0-df08-412b-ea0a-c43ac4512ed1",category:{displayName:"",id:"",categoryClass:""},displayName:"Connect",links:[[Object],[Object],[Object]],targetUrlTarget:"_self",typeCode:"HEADING",browseDisplayPreferences:{},type:"Heading",childSlugs:[],categoryId:"",nestLevel:1,parentSlug:"footer-root",active:!0,navigationDisplayPreferences:{displayAsSale:!0,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"connect-footer"},"true-colors-lookbook-landing-page":{itemId:"FP_21400011",category:{displayName:"",id:"",categoryClass:""},displayName:"True Colors",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"GATEWAY",browseDisplayPreferences:{},type:"Gateway",childSlugs:["true-colors-lookbook"],categoryId:"",nestLevel:3,parentItemId:"FP_8800008",parentSlug:"trends",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!1,noFollow:!1},containerInfo:[],slug:"true-colors-lookbook-landing-page"},"fp-exclusives-shoes":{itemId:"FP_8800130",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Trends > Features > FP Exclusives > Shoes",id:"FP_CAT1040024",categoryClass:""},displayName:"FP Exclusives",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1040024",nestLevel:2,parentItemId:"FP_6400009",parentSlug:"shoes",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"fp-exclusives-shoes"},"bikini-panties":{itemId:"FP_15500087",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Intimates >> Undies >> Bikini",id:"FP_CAT1940109",categoryClass:""},displayName:"Bikini",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1940109",nestLevel:3,parentItemId:"FP_4600058",parentSlug:"undies",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"bikini-panties"},"gloss-moderne":{itemId:"FP_22400010",category:{allowPermanentMarkdownTiles:!0,allowTemporaryMarkdownTiles:!0,displayName:"beauty & wellness>featured brands>Gloss Moderne",id:"FP_CAT2800137",categoryClass:""},displayName:"Gloss Moderne",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT2800137",nestLevel:3,parentItemId:"FP_15700128",parentSlug:"featured-brands",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"gloss-moderne"},"strappy-bras":{itemId:"FP_13500024",category:{allowPermanentMarkdownTiles:!0,allowTemporaryMarkdownTiles:!0,displayName:"Intimates>Bras>Strappy",id:"FP_CAT1710172",categoryClass:""},displayName:"Strappy",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1710172",nestLevel:3,parentItemId:"FP_4600056",parentSlug:"bras",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"strappy-bras"},"pet-collars":{itemId:"FP_9100019",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"FP Home> FP Pet Project > Pet Collars",id:"FP_CAT1080007",categoryClass:""},displayName:"Pet Collars",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1080007",nestLevel:4,parentItemId:"FP_14400017",parentSlug:"pet-products",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"pet-collars"},"store-footer":{itemId:"d3c7df17-f915-d737-7ba8-c84f0677d11d",childSlugs:[],displayName:"Find Your Store",links:[[Object],[Object],[Object]],targetUrlTarget:"_self",typeCode:"EXTERNAL",browseDisplayPreferences:{},type:"External Navigation Item",categoryId:"",nestLevel:1,relativeFlag:!0,parentSlug:"footer-root",targetUrl:"/stores/",active:!0,navigationDisplayPreferences:{displayAsSale:!0,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},category:{displayName:"",id:"",categoryClass:""},containerInfo:[],slug:"store-footer"},"featured-brands-swimwear":{itemId:"FP_22300006",category:{displayName:"",id:"",categoryClass:""},displayName:"Featured Brands",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"GATEWAY",browseDisplayPreferences:{},type:"Gateway",childSlugs:["acacia","amuse","beach-riot","fella","mikoh","minimale-animale","solid-and-striped","tavik","mara-hoffman","she-made-me","gnash"],categoryId:"",nestLevel:2,parentItemId:"FP_6400061",parentSlug:"swimwear",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"featured-brands-swimwear"},"lip-balms-treatments":{itemId:"FP_15700046",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Beauty>>Cosmetics>>Lips>>Lip Balm + Treatment",id:"FP_CAT1960217",categoryClass:""},displayName:"Lip Balm + Treatment",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1960217",nestLevel:4,parentItemId:"FP_15700042",parentSlug:"lip-makeup",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"lip-balms-treatments"},"backstage-pass-trend":{itemId:"FP_12600006",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Backstage Pass",id:"FP_CAT1570007",categoryClass:""},displayName:"Backstage Pass",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1570007",nestLevel:4,parentItemId:"FP_12800006",parentSlug:"events",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"backstage-pass-trend"},"additional-inseams":{itemId:"FP_6100132",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Clothes > Denim > Additional Inseams",id:"FP_CAT830034",categoryClass:""},displayName:"Additional Inseams",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT830034",nestLevel:3,parentItemId:"FP_6100052",parentSlug:"jeans",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"additional-inseams"},"ordering-payment":{itemId:"FP_8800030",category:{displayName:"",id:"",categoryClass:""},displayName:"Ordering and Payment",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"NONPRODUCT",browseDisplayPreferences:{},type:"Non-Product Page",childSlugs:[],categoryId:"",nestLevel:2,parentItemId:"682976c2-9b7b-b022-0202-d3d6bf287619",parentSlug:"help-root-help",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"ordering-payment"},"surf-school-trend":{itemId:"FP_17400014",category:{allowPermanentMarkdownTiles:!0,allowTemporaryMarkdownTiles:!0,displayName:"trends>surf school",id:"FP_CAT2150649",categoryClass:""},displayName:"Surf School",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT2150649",nestLevel:4,parentItemId:"FP_12800006",parentSlug:"events",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"surf-school-trend"},"true-colors-look-9":{itemId:"FP_21200024",category:{allowPermanentMarkdownTiles:!0,allowTemporaryMarkdownTiles:!0,displayName:"true colors look 9",id:"FP_CAT2650061",categoryClass:""},displayName:"true colors look 9",links:[],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT2650061",nestLevel:1,parentSlug:"marketing-root",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"true-colors-look-9"},"free-people-collection":{itemId:"FP_9500148",category:{allowPermanentMarkdownTiles:!1,allowTemporaryMarkdownTiles:!1,displayName:"Shoes > Shops & Trends > Free People Collection",id:"FP_CAT1120061",categoryClass:""},displayName:"Free People Collection",links:[[Object],[Object]],targetUrlTarget:"_self",typeCode:"DEFAULT",browseDisplayPreferences:{tileTemplate:"REGULAR"},type:"Navigation Item Browse Content",childSlugs:[],categoryId:"FP_CAT1120061",nestLevel:3,parentItemId:"FP_9500142",parentSlug:"shops-trends",active:!0,navigationDisplayPreferences:{displayAsSale:!1,tertiaryDisplay:0},seo:{noIndex:!1,includeInSitemap:!0,noFollow:!1},containerInfo:[],slug:"free-people-collection"}};const stagingdata=[{itemId:"6100017",displayName:"New",links:[[Object],[Object],[Object]],parentItemId:"6000010",categoryId:"cat242840",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"New Arrivals: Women's Clothing",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our new women's clothing plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"whats-new"},{itemId:"16700008",displayName:"New Fall Now",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat2060058",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Fall 2016 Boots, Sweaters, Jackets & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Fall 2016 clothes for women, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-fall-now"},{itemId:"6100019",displayName:"Clothes",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat242842",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Arrivals: Clothes",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our new women's clothes plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-clothes"},{itemId:"6100021",displayName:"Shoes",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat242846",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Arrivals: Shoes",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our latest collection of shoes plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-shoes"},{itemId:"6100023",displayName:"Accessories",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat242845",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Arrivals: Accessories",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our latest collection of accessories plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-accessories"},{itemId:"6100025",displayName:"Intimates",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat242844",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Arrivals: Intimates",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our latest collection of intimates plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-intimates"},{itemId:"6100027",displayName:"Swim",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat242847",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Swim",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our latest swimwear collection plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-swim"},{itemId:"16300006",displayName:"Beauty",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat2020104",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Beauty Products",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of our newest beauty products, plus get fashion tips from FP Me stylists! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-beauty"},{itemId:"9000015",displayName:"Movement",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat1070008",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New FP Movement Clothing",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our latest FP movement collection plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-movement"},{itemId:"14400015",displayName:"Vintage Loves",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat360177",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Vintage Loves | New Vintage Clothes Arrivals",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of new vintage clothes arrivals plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-vintage-loves"},{itemId:"6100030",displayName:"Back in Stock",links:[[Object],[Object],[Object]],parentItemId:"6100017",categoryId:"cat242851",navigationItems:[[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"All Back in Stock Items",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop all back in stock items plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock"},{itemId:"9000024",displayName:"Clothes",links:[[Object],[Object],[Object]],parentItemId:"6100030",categoryId:"cat242852",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Back in Stock Clothes",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop back in stock apparel plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock-clothes"},{itemId:"9100017",displayName:"Shoes",links:[[Object],[Object],[Object]],parentItemId:"6100030",categoryId:"cat242854",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Back in Stock Shoes",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop back in stock shoes plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock-shoes"},{itemId:"9000029",displayName:"Accessories",links:[[Object],[Object],[Object]],parentItemId:"6100030",categoryId:"cat242853",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Back in Stock Accessories",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop back in stock accessories plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock-accessories"},{itemId:"9100015",displayName:"Intimates",links:[[Object],[Object],[Object]],parentItemId:"6100030",categoryId:"cat242855",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Back in Stock Intimates",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop back in stock intimates plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock-intimates"},{itemId:"13400008",displayName:"FP Movement",links:[[Object],[Object],[Object]],parentItemId:"6100030",categoryId:"cat1700093",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Back in Stock FP Movement Workout Clothes",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop back in stock FP Movement clothes and more, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock-fp-movement"},{itemId:"6100035",displayName:"Clothes",links:[[Object],[Object],[Object]],parentItemId:"6000010",categoryId:"cat1630392",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Clothes for Women | Bohemian Clothing & Apparel ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Free People's wide selection of apparel for women is always on point and in-style to keep you looking fabulous. Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Gateway",slug:"clothes"},{itemId:"6100039",displayName:"Dresses test",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat242858",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Boho Dresses, Cute & Casual Dresses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Free People’s cute dresses fit every occasion! Shop online for summer dresses, sundresses, casual dresses, white boho maxi dresses & more.",h1TagOverride:"Dresses"},type:"Navigation Item Browse Content",slug:"dresses"},{itemId:"13500016",displayName:"New Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1710007",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"New Dresses | Maxi, Bodycon, Midi & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop our latest selection of new dresses, from minis to maxis, plus get fashion tips from FP Me stylists! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"new-dresses"},{itemId:"13500018",displayName:"Back in Stock Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1710008",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Back in Stock Dresses for Women ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of back in stock dresses, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"back-in-stock-dresses"},{itemId:"6100078",displayName:"Day Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat830012",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Crochet Dresses, Sundresses & Day Dresses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Dress up your day with these beautiful day dresses & sundresses from Free People. Pick a crochet dress, or sun dress for your Sunday brunch this weekend.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"day-dresses"},{itemId:"6100082",displayName:"Party Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1410009",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Party Dresses, Lace Dresses & Sequin Dresses ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Step into the limelight with a stunning party dresses from Free People. Shop our large collection which includes sequin dresses, lace dresses and so much more.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"party-dresses"},{itemId:"6100080",displayName:"Night Out Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat830013",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Night Dresses - Date and Night Out Dresses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop Free People's selection of night dresses. Whether you're going on a date or a girls night out, our beautiful dresses will make you stand out at night!",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"night-out-dresses"},{itemId:"6100076",displayName:"Bodycon Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1410005",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Bodycon Dresses- Lace, Long Sleeve & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Our stunning selection of bodycon dresses include lace, long sleeve and various prints in styles from mini to long. Find the perfect bodycon dress at Free People.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"bodycon-dresses"},{itemId:"6100074",displayName:"Maxi Dresses ",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat830010",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Maxi Dresses: White, Black, Lace & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Women's maxi dresses for any occasion. Shop Free People’s selection of black & white maxi dresses, one-shoulder maxi dresses & lace maxi dresses.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"maxi-dresses"},{itemId:"6100072",displayName:"Mini Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1410008",navigationItems:[[Object]],seo:{noIndex:!1,ogImage:null,title:"Mini Dresses: Shift Dresses & Little Black Dresses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop Free People’s selection of mini dresses, little black dresses & shift dresses to wear on a date or style for a fun night out. Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"mini-dresses"},{itemId:"9500064",displayName:"Fit & Flare Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100072",categoryId:"cat1120026",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Fit & Flare Dresses for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Fit & Flare Dresses plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"fit-and-flare-dresses"},{itemId:"6100084",displayName:"Printed Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1410010",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Shop Floral Dresses & Printed Dresses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Celebrate spring with Free People's printed dresses! Choose a floral print dress for a relaxed, chic look, or a statement print dress for an edgy style.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"printed-dresses"},{itemId:"9500066",displayName:"White Dresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1120027",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"White Dresses & Little White Dresses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of White Dresses plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"white-dresses"},{itemId:"10200012",displayName:"Trend: Shirtdresses",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1240194",navigationItems:[],seo:{
noIndex:!1,ogImage:null,title:"Shirt Dresses | Long & Short for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop cute shirt dresses, from long and short cuts to button down styles, plus get tips from FP Me stylists! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"shirtdresses"},{itemId:"15700188",displayName:"Trend: Sweater Dresses ",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1960498",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Sweater Dresses & Knit Dresses for Women ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of cute sweaters dresses, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"sweater-dresses-trend"},{itemId:"14600013",displayName:"Dresses Under $100",links:[[Object],[Object],[Object]],parentItemId:"6100039",categoryId:"cat1340014",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Dresses Under 100 for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of dresses under $100, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:"Dresses Under $100"},type:"Navigation Item Browse Content",slug:"dresses-under-100"},{itemId:"6100041",displayName:"Tops & Tees",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250001",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Lace Tops, Off the Shoulder Tops & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Browse Free People's wide selection of tops for women. Choose from these stylish and comfortable white lace tops, off the shoulder tops, and more!",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"tops"},{itemId:"6100086",displayName:"Tees",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat830017",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Women's Tees - Oversized T Shirts & Baseball Tees",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Pick your favorite everyday tee at Free People! Whether it's an oversized t-shirt, baseball tee, or a v-neck, our t-shirts will keep you comfy yet stylish.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"tees"},{itemId:"10200014",displayName:"Graphic Tees",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat1240195",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Graphic Tees - Graphic T Shirts for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Graphic Tees plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"graphic-tees"},{itemId:"6100090",displayName:"Tunics",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat830019",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Modern Women's Tunics And Long Tunic Tops",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop for women's long tunic tops online at FreePeople.com. Try all the styles and share pics of your favorite tunic tops with your friends via FP Me.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"tunics"},{itemId:"6100094",displayName:"Camis & Tanks",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat830021",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Camis, Tank Tops & Tube Tops",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop camis, tank tops, and tube tops from Free People. Dress up with a backless top for a summer date or choose a black or white cami for a chic everyday look.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"camis-tanks"},{itemId:"6100092",displayName:"Blouses",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat830020",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Blouses - Peasant Blouses & Sheer Silk Blouses",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of blouses plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"blouses"},{itemId:"6100102",displayName:"Crop Tops",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat250017",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cute Crop Tops: White, Black, Lace & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"It's not officially summer until you add cropped tops to your wardrobe! Find your perfect crop top from our collection of white, black, and lace crop tops.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"crop-tops"},{itemId:"6100100",displayName:"Going Out Tops",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat250018",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Going Out Tops | Sequin Tops & Dressy Shirts",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Going Out Tops plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"going-out-tops"},{itemId:"9500072",displayName:"Layering Tops",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat250025",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Layering Tees, Shirts & Tops for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of layering tops plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"layering-tops"},{itemId:"6100096",displayName:"Thermals & Henleys",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat830022",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Women's Henley Shirts & Thermal Tops for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop Free People's wide selection of long sleeve thermal and henley shirts. These light-weight fabrics will keep you warm, comfortable, and stylish all winter.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"thermals-henleys"},{itemId:"6100088",displayName:"Shirts",links:[[Object],[Object],[Object]],parentItemId:"6100041",categoryId:"cat830018",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Plaid Shirts, Denim Shirts & Button Down Shirts",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of shirts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"shirts"},{itemId:"6100098",displayName:"Sweatshirts",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250016",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cool Sweatshirts & Hooded Sweatshirts",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Sweatshirts & Pullovers plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"sweatshirts-pullovers"},{itemId:"11500014",displayName:"Bodysuits",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat1510040",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Bodysuits & Bodysuit Tops | Long Sleeve & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of sexy bodysuit tops, including long sleeve, v-neck, and sleeveless styles, plus more. Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"bodysuits"},{itemId:"4600020",displayName:"Kimonos & Ponchos",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat270072",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Kimonos & Ponchos",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop Free People's wide selection of beautiful kimonos, ponchos, and scarves. These comfortable and high quality fabrics will keep you warm this fall and winter.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"kimonos-ponchos"},{itemId:"6100043",displayName:"Sweaters",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250019",navigationItems:[[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Oversized Sweaters, Turtleneck Sweaters & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Are you ready for fall and winter? Find your new favorite oversized sweater. Shop our selection cashmere sweaters, wool sweaters plus other unique sweaters.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"sweaters"},{itemId:"12300027",displayName:"Sleeveless Sweaters",links:[[Object],[Object],[Object]],parentItemId:"6100043",categoryId:"cat1570021",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Sleeveless Sweaters & Sweater Tanks for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of cute sleeveless sweaters plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"sleeveless-sweaters"},{itemId:"6100104",displayName:"Pullovers",links:[[Object],[Object],[Object]],parentItemId:"6100043",categoryId:"cat250021",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Pullovers & Pullover Sweaters for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Pullovers plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"pullovers"},{itemId:"6100106",displayName:"Cardigans",links:[[Object],[Object],[Object]],parentItemId:"6100043",categoryId:"cat250022",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cute Women's Cardigan Sweaters | Long & Short",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Cardigans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"cardigans"},{itemId:"12300029",displayName:"Tunics",links:[[Object],[Object],[Object]],parentItemId:"6100043",categoryId:"cat1570022",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Tunic Sweaters | Long Sweaters for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of long tunic sweaters plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"tunic-sweaters"},{itemId:"12800081",displayName:"Unspun",links:[[Object],[Object],[Object]],parentItemId:"6100043",categoryId:"cat1120029",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Unspun: Hand Knit Sweaters for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:null,h1TagOverride:null},type:"Navigation Item Browse Content",slug:"unspun-hand-knit-sweaters"},{itemId:"9700008",displayName:"Jackets",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250028",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Cute Winter & Fall Jackets for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Look no further. Browse our wide selection of outerwear for women to find the perfect jacket for any outfit. Find your perfect jacket at Free People.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"jackets"},{itemId:"17000006",displayName:"Vegan Leather & Faux Fur",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat2100002",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Faux Fur Coats & Vegan Leather Jackets",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a variety of vegan coats, from moto jackets to faux fur styles, plus get fashion tips from FP Me! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"vegan-jackets"},{itemId:"9500092",displayName:"Military Jackets",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120039",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Parkas, Utility & Anorak Jackets for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of denim jackets and parkas plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"utility-jackets"},{itemId:"9500078",displayName:"Statement Jackets",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120032",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Statement Jackets: Quilted, Embellished & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop cute statement jackets, from embellished to quilted styles, plus get fashion tips from FP Me stylists! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"statement-jackets"},{itemId:"9500097",displayName:"Vests",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120041",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Vests for Women | Fur, Leather, Fringe & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Vests plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"vests"},{itemId:"9500082",displayName:"Coats",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120034",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Women's Coats | Peacoats, Parkas & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:null,h1TagOverride:null},type:"Navigation Item Browse Content",slug:"coats"},{itemId:"12300031",displayName:"Lightweight Jackets",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1570023",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Light Jackets & Lightweight Coats for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of spring-ready light jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"lightweight-jackets"},{itemId:"9500086",displayName:"Moto Jackets",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120036",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Moto Jackets - Motorcycle Jackets for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Moto Jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"motorcycle-jackets"},{itemId:"9500080",displayName:"Leather & Suede Jackets",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120033",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Leather Jackets & Suede Jackets",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop women's leather jackets, vegan leather jackets & suede jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"leather-jackets"},{itemId:"9500090",displayName:"Denim Jackets",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120038",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Denim Jackets & Jean Jackets for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Denim Jackets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"denim-jackets"},{itemId:"15800039",displayName:"Bombers",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1970637",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Bomber Jackets for Women ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a selection of bomber jackets in range of hues, from black to green, then share your style with FP Me! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"bomber-jackets"},{itemId:"9500094",displayName:"Shearling",links:[[Object],[Object],[Object]],parentItemId:"9700008",categoryId:"cat1120040",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Faux Fur & Shearling Jackets for Women at Free People",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Faux Fur & Shearling plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"faux-fur-and-shearling-jackets"},{itemId:"6100052",displayName:"Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat620001",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Women's Jeans, Denim & One Teaspoon Jeans",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Find your perfect jeans from Free People. Fulfill your denim needs with a pair of cropped jeans, vintage flare jeans, or stylish skinny jeans.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"jeans"},{itemId:"6200006",displayName:"High Rise Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830029",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"High Waisted Jeans - High Rise Jeans for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of high-rise jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"high-rise-jeans"},{itemId:"9500105",displayName:"Mid Rise Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat1240198",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Mid Rise Jeans | Skinny, Flare & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Mid Rise Jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"mid-rise-jeans"},{itemId:"9500103",displayName:"Low Rise Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat1120043",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Low Rise Jeans | Skinny, Flare & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Low Rise Jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"low-rise-jeans"},{itemId:"6100118",displayName:"Wideleg & Flare",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830026",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Flare Jeans, Bell Bottom & Wide Leg Jeans for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop Free People's modern bell bottoms & wide leg jeans now. From vintage-style bell bottoms to cropped wide legs, we've got the flare jeans you crave.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"flare-jeans"},{itemId:"6100116",displayName:"Skinny Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830025",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Skinny Jeans: High Rise, Slim Fit & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop your personal denim style with Free People's stylish straight leg jeans and skinny jeans. Our jeans are stylish, comfortable, and super versatile.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"skinny-jeans"},{itemId:"6100120",displayName:"Boyfriend Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830027",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Destroyed & Distressed Boyfriend Jeans",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Rock a pair of boyfriend jeans for your next laidback outfit. Pick from one of the boyfriend jeans styles - high rise, low rise, distressed, or painted!",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"boyfriend-jeans"},{itemId:"15500095",displayName:"Straight Leg Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat1940152",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Women’s Straight Leg Jeans ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of straight leg jeans for women, from high-waisted to mid-rise cuts! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"straight-leg-jeans"},{itemId:"6100126",displayName:"Overalls",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830031",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cute Denim Overalls for Women | Long & Short",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:'"Shop Free People\'s denim overalls and one piece jeans. They are super chic, stylish, and fashionable but still remain their tomboyish and comfortable roots."',h1TagOverride:null},type:"Navigation Item Browse Content",slug:"overalls"},{itemId:"6100114",displayName:"Cropped Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830024",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cropped Jeans | Skinny, Boyfriend & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of cropped jeans plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"cropped-jeans"},{itemId:"15500097",displayName:"Distressed Jeans",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat1940153",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Ripped & Distressed Jeans for Women ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of ripped jeans for women, from delicately distressed to dramatically destroyed. Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"ripped-jeans"},{itemId:"6100124",displayName:"Cutoffs",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830030",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Jean Shorts & Denim Cut Off Shorts",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Perfect your summer by shopping from our selection of cut off shorts including distressed shorts, high-waisted jean shorts, and your classic blue jean shorts!",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"denim-shorts"},{itemId:"6100132",displayName:"Additional Inseams",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat830034",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Additional Inseams - Denim for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of jeans with additional inseams plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"additional-inseams"},{itemId:"15500091",displayName:"Trend: Patched & Embroidered",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat1940146",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Patched & Embroidered Jeans for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of patched and embroidered jeans, plus get fashion tips from FP Me stylists worldwide! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"patched-embroidered-jeans-trend"},{itemId:"16800010",displayName:"Brand Spotlight: McGuire",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat2080009",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"McGuire Denim | Flare, Skinny & Boyfriend Jeans",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of McGuire denim, plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"mcguire-denim"},{itemId:"15700016",displayName:"Vintage Styles",links:[[Object],[Object],[Object]],parentItemId:"6100052",categoryId:"cat1960401",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Vintage Jeans | Boyfriend, Skinny, Flare & More ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of vintage jeans for women, from high-waisted styles to skinnies and boyfriend fits! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"vintage-loves-jeans"},{itemId:"6100054",displayName:"Pants",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250059",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Women's Pants | Leather Pants, Joggers & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"pants"},{itemId:"6200016",displayName:"Wideleg & Flare",links:[[Object],[Object],[Object]],parentItemId:"6100054",categoryId:"cat250062",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Wide Leg Pants, Flare Pants & High Waisted Pants",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of wide leg pants & flare pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"wide-leg-pants"},{itemId:"6200008",displayName:"Skinny Pants",links:[[Object],[Object],[Object]],parentItemId:"6100054",categoryId:"cat250063",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Skinny Pants | Slim & Cigarette Pants",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of skinny pants, from cigarette to slim cuts, plus get fashion tips from FP Me stylists! Buy now for free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"skinny-pants"},{itemId:"9500107",displayName:"Structured Pants",links:[[Object],[Object],[Object]],parentItemId:"6100054",categoryId:"cat1120045",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Trousers & Tailored Pants for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Structured Pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"structured-pants"},{itemId:"9500109",displayName:"High Waisted Pants",links:[[Object],[Object],[Object]],parentItemId:"6100054",categoryId:"cat1120046",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"High Waisted Pants & Trousers for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of High Waisted Pants plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"high-waisted-pants"},{itemId:"6200012",displayName:"Harem Pants & Joggers",links:[[Object],[Object],[Object]],parentItemId:"6100054",categoryId:"cat250060",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Shop Harem Pants & Joggers for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Throw on a pair of harem pants or joggers for a laid back yet stylish look. These comfortable pants are great for a tropical getaway or for layering on a summer night out.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"harem-pants"},{itemId:"6200018",displayName:"Leggings",links:[[Object],[Object],[Object]],parentItemId:"6100054",categoryId:"cat250064",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Leggings | Sweater, Sheer, Knit & More ",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Leggings plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"leggings"},{itemId:"6100056",displayName:"Shorts",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250065",navigationItems:[[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Shop Lace Shorts & High Waisted Shorts",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Rock a pair of lace shorts, high waisted shorts, or denim cutoffs and go wild and free this summer! Our shorts are super flattering, comfortable and ever chic.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"shorts"},{itemId:"6100124",displayName:"Cutoffs",links:[[Object],[Object],[Object]],parentItemId:"6100056",categoryId:"cat830030",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Jean Shorts & Denim Cut Off Shorts",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Perfect your summer by shopping from our selection of cut off shorts including distressed shorts, high-waisted jean shorts, and your classic blue jean shorts!",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"denim-shorts"},{itemId:"9500112",displayName:"Structured Shorts",links:[[Object],[Object],[Object]],parentItemId:"6100056",categoryId:"cat1120047",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Structured Dress Shorts for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Structured Shorts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"structured-shorts"},{itemId:"9500114",displayName:"Soft Shorts",links:[[Object],[Object],[Object]],parentItemId:"6100056",categoryId:"cat1120048",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Soft Shorts for Women | Printed & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Soft Shorts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",
h1TagOverride:null},type:"Navigation Item Browse Content",slug:"soft-shorts"},{itemId:"6100058",displayName:"Skirts",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250066",navigationItems:[[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Cute Bohemian Women's Skirts | Fitted & Flowy",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of skirts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"skirts"},{itemId:"6200022",displayName:"Mini Skirts",links:[[Object],[Object],[Object]],parentItemId:"6100058",categoryId:"cat250069",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cute Short Mini Skirts for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of Mini Skirts plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"mini-skirts"},{itemId:"6200020",displayName:"Midi & Maxi Skirts",links:[[Object],[Object],[Object]],parentItemId:"6100058",categoryId:"cat250067",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Maxi Skirts: White, Black, Floral & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Dress yourself up or down in maxi skirts designed to impress. Shop online for stunning long maxi skirts & short maxi skirts in a variety of styles & prints.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"maxi-skirts"},{itemId:"9800006",displayName:"Jumpsuits & Rompers",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250050",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cute Jumpsuits & Rompers for Women",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Bored of your everyday wardrobe? Shop Free People's full selection of comfortable jumpsuits, rompers, and playsuits for a cute and stylish look!",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"jumpsuits-rompers"},{itemId:"6100047",displayName:"Sets",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat250071",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Crop Top and Skirt Sets & More",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop crop top and skirt sets & crop top and short sets plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"sets"},{itemId:"6400061",displayName:"Swim",links:[[Object],[Object],[Object]],parentItemId:"6100035",categoryId:"cat1660002",navigationItems:[[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]],seo:{noIndex:!1,ogImage:null,title:"Swimsuits, Swimwear & Bathing Suits",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Wear swimsuits from Free People, Acacia or Mara Hoffman next time you're at the beach! You'll have fun mix and matching bikini tops and bottoms.",h1TagOverride:null},type:"Gateway",slug:"swimwear"},{itemId:"6400066",displayName:"All Swimwear",links:[[Object],[Object],[Object]],parentItemId:"6400061",categoryId:"cat360046",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"All Swimwear",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Shop a full selection of All Swimwear plus get fashion tips from FP Me stylists worldwide! Buy now and get free shipping – see site for details.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"all-swimwear"},{itemId:"4600110",displayName:"Bikini Tops",links:[[Object],[Object],[Object]],parentItemId:"6400061",categoryId:"cat250073",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"Cute and Sexy Bikinis & Bikini Tops",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Summer is not complete without some cute and sexy bikinis! Pick a colorful neoprene bikini, a sexy triangle top, or a vintage high neck bikini top for your next vacation.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"bikini-tops"},{itemId:"4600112",displayName:"Bikini Bottoms",links:[[Object],[Object],[Object]],parentItemId:"6400061",categoryId:"cat250074",navigationItems:[],seo:{noIndex:!1,ogImage:null,title:"High Waisted Bikini & Bikini Bottoms",noFollow:!1,seoCopy:null,includeInSitemap:!0,metaDescription:"Mix and match your bikinis with Free People's beautiful bikini bottoms for different looks! Pair your swimsuit with a cheeky, printed, or high waisted bikini bottom.",h1TagOverride:null},type:"Navigation Item Browse Content",slug:"bikini-bottoms"}];const navName=getNavigationProp("displayName","slug","pet-products",devdata);console.log(navName)},0);
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"ramda": "0.22.1",
"sanctuary": "0.7.1"
}
}
<!-- contents of this file will be placed inside the <body> -->
<!-- contents of this file will be placed inside the <head> -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment