[{"data":1,"prerenderedAt":1899},["ShallowReactive",2],{"navigation-docsEN":3,"docs-EN-/docs/digital-product-passport/multi-component-example":483,"docsNav-EN-/docs":1224,"docsSecNav-EN-/docs/digital-product-passport/multi-component-example":1363},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","/docs","docs",[9,21,39,51,72,86,112,126,153,164,179,203,391,467],{"title":10,"path":6,"stem":11,"description":12,"icon":13,"tags":14},"Documentation","docs/index","Introduction to documentation on EPCIS and OpenEPCIS tools","heroicons-outline:document-text",[15,16,17,18,19,20],"openepcis","epcis-2-0","epcis-documentation","epcis-standard","open-source","epcis-tools",{"title":22,"path":23,"stem":24,"children":25,"description":27,"icon":28,"tags":38},"Introduction","/docs/introduction","docs/01.introduction/index",[26],{"title":22,"path":23,"stem":24,"description":27,"icon":28,"tags":29},"Why EPCIS is necessary and how it can help organizations of all sizes and types.","heroicons-outline:globe-alt",[16,30,31,32,33,34,35,36,37],"epcis","epcis-1-2","gs1-epcis-standard","supply-chain","traceability","data-sharing","tracking","tracing",[16,30,31,32,33,34,35,36,37],{"title":40,"path":41,"stem":42,"children":43,"description":45,"icon":46,"tags":50},"EPCIS","/docs/epcis","docs/02.epcis/index",[44],{"title":40,"path":41,"stem":42,"description":45,"icon":46,"tags":47},"Discover the specifics of EPCIS, how it works, and what OpenEPCIS is.","i-custom-open-epcis",[16,30,31,32,48,49],"iso-iec-19987","iso-iec-19988",[16,30,31,32,48,49],{"title":52,"path":53,"stem":54,"children":55,"description":57,"icon":58,"tags":71},"Format Converter","/docs/format-converter","docs/03.format-converter/index",[56],{"title":52,"path":53,"stem":54,"description":57,"icon":58,"tags":59},"OpenEPCIS solution to convert EPCIS 2.0 and 1.2 document or single event from XML to JSON/JSON-LD and vice versa.","heroicons-outline:arrows-right-left",[16,60,61,62,63,64,65,20,66,67,68,69,70],"json","json-ld","xml","events","format-converter","convert","convert-epcis-events","format","converter","epcis-tool","tools",[16,60,61,62,63,64,65,20,66,67,68,69,70],{"title":73,"path":74,"stem":75,"children":76,"description":78,"icon":79,"tags":85},"Version Converter","/docs/version-converter","docs/04.version-converter/index",[77],{"title":73,"path":74,"stem":75,"description":78,"icon":79,"tags":80},"OpenEPCIS solution to convert EPCIS XML document from version 1.2 to 2.0 and vice versa.","heroicons:arrows-up-down",[16,31,60,61,62,63,81,65,20,82,83,84,68,69,70],"version-converter","convert-epcis-version","version","epcis-version",[16,31,60,61,62,63,81,65,20,82,83,84,68,69,70],{"title":87,"path":88,"stem":89,"children":90,"description":92,"icon":93,"tags":111},"Identifier Converter","/docs/identifier-converter","docs/05.identifier-converter/index",[91],{"title":87,"path":88,"stem":89,"description":92,"icon":93,"tags":94},"OpenEPCIS solution to convert EPCIS instance or class identifier from URN to digital link WebURI and vice versa.","i-heroicons-link",[16,95,96,97,98,99,20,100,101,102,103,104,105,106,107,108,109,110],"gs1-digital-link","urn-format","epc-uri","epc","weburi","gs1-standard","gs1","sscc","gtin","giai","grai","gdti","lgtin","sgtin","gln","gcp",[16,95,96,97,98,99,20,100,101,102,103,104,105,106,107,108,109,110],{"title":113,"path":114,"stem":115,"children":116,"description":118,"icon":119,"tags":125},"Event Hash Generator","/docs/event-hash-generator","docs/06.event-hash-generator/index",[117],{"title":113,"path":114,"stem":115,"description":118,"icon":119,"tags":120},"OpenEPCIS solution to generate unique event hash for EPCIS XML or JSON/JSON-LD document or event list.","heroicons-outline:finger-print",[16,121,60,61,62,63,20,122,123,124,69,70],"event-hash","event","hash","generator",[16,121,60,61,62,63,20,122,123,124,69,70],{"title":127,"path":128,"stem":129,"children":130,"description":132,"icon":133,"tags":152},"Test Data Generator","/docs/test-data-generator","docs/07.test-data-generator/index",[131,135],{"title":127,"path":128,"stem":129,"description":132,"icon":133,"tags":134},"OpenEPCIS solution to generate a large set of EPCIS test data events for all use cases/supply chain requirements.","heroicons-outline:cog",[16,121,60,61,62,63,20,122,123,124,69,70],{"title":136,"path":137,"stem":138,"children":139,"description":132,"icon":141,"tags":151},"EPCIS Implementation Guidelines","/docs/test-data-generator/gs1-epcis-implementation-guidelines","docs/07.test-data-generator/01.gs1-epcis-implementation-guidelines/index",[140],{"title":136,"path":137,"stem":138,"description":132,"icon":141,"tags":142},"heroicons-outline:badge-check",[16,60,61,143,20,144,145,146,34,147,148,149,150],"testing","test-data-generator","design","design-template","process-automation","compliance","supply-chain-management","load-tests",[16,60,61,143,20,144,145,146,34,147,148,149,150],[16,121,60,61,62,63,20,122,123,124,69,70],{"title":154,"path":155,"stem":156,"children":157,"description":159,"icon":160,"tags":163},"Test Resource Management","/docs/test-resource-management","docs/08.test-resource-management/index",[158],{"title":154,"path":155,"stem":156,"description":159,"icon":160,"tags":161},"Collection of EPCIS 1.2/2.0 documents/events in XML/JSON/JSON-LD formats, intended for various testing purposes","heroicons-outline:archive-box",[16,60,61,143,20,162,34,147,148,149,150],"performance-tests",[16,60,61,143,20,162,34,147,148,149,150],{"title":165,"path":166,"stem":167,"children":168,"description":170,"icon":171,"tags":178},"Vocabulary Management","/docs/vocabulary-management","docs/09.vocabulary-management/index",[169],{"title":165,"path":166,"stem":167,"description":170,"icon":171,"tags":172},"Collection of standardized constants and strings for EPCIS event data.","heroicons-outline:book-open",[16,173,15,174,20,175,34,176,148,149,177],"constants","centralization","standardization","vocabulary","data-dictionary",[16,173,15,174,20,175,34,176,148,149,177],{"title":180,"path":181,"stem":182,"children":183,"description":185,"icon":186,"tags":202},"Dependency Management","/docs/dependency-management","docs/10.dependency-management/index",[184],{"title":180,"path":181,"stem":182,"description":185,"icon":186,"tags":187},"Centralized Maven Bill of Materials (BOM) for all the OpenEPCIS modules.","heroicons-outline:folder",[188,15,189,190,191,192,193,30,194,195,196,197,198,199,200,201],"maven-bom","dependency-management","java-dependencies","pom","software-dependencies","version-control","open-source-java","build-management","modular-software","dependency-resolution","java-libraries","maven-project","centralized-dependencies","dependency-consistency",[188,15,189,190,191,192,193,30,194,195,196,197,198,199,200,201],{"title":204,"path":205,"stem":206,"children":207,"description":209,"icon":210,"tags":390},"Digital Product Passport","/docs/digital-product-passport","docs/11.digital-product-passport/index",[208,217,229,261,295,322,336,345,353,363],{"title":204,"path":205,"stem":206,"description":209,"icon":210,"tags":211},"Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance.","heroicons-outline:identification",[212,213,214,30,215,34,216],"digital-product-passport","dpp","eu-regulation","sustainability","circular-economy",{"title":218,"path":219,"stem":220,"children":221,"description":223,"icon":224,"tags":228},"ESPR Framework","/docs/digital-product-passport/espr-framework","docs/11.digital-product-passport/00.espr-framework/index",[222],{"title":218,"path":219,"stem":220,"description":223,"icon":224,"tags":225},"Guide to the EU Ecodesign for Sustainable Products Regulation (ESPR) 2024/1781 and how OpenEPCIS supports Digital Product Passport requirements.","heroicons-outline:shield-check",[226,227,215,213,214],"espr","ecodesign",[226,227,215,213,214],{"title":230,"path":231,"stem":232,"children":233,"description":235,"icon":236,"tags":260},"Battery DPP","/docs/digital-product-passport/battery-dpp","docs/11.digital-product-passport/01.battery-dpp/index",[234,240,245,251],{"title":230,"path":231,"stem":232,"description":235,"icon":236,"tags":237},"GS1-native implementation of EU Battery Regulation 2023/1542 Digital Product Passport using EPCIS 2.0","heroicons:battery-100",[238,239,213,30,101,34,215],"battery","eu-battery-regulation",{"title":241,"path":242,"stem":243,"description":244,"icon":171},"Implementation Guide","/docs/digital-product-passport/battery-dpp/implementation-guide","docs/11.digital-product-passport/01.battery-dpp/01.implementation-guide","Step-by-step guide for implementing a GS1-native Battery Digital Product Passport with OpenEPCIS extensions",{"title":246,"path":247,"stem":248,"description":249,"icon":250},"Event Types","/docs/digital-product-passport/battery-dpp/event-types","docs/11.digital-product-passport/01.battery-dpp/02.event-types","Complete reference for all EPCIS event types and sensor measurements in the Battery DPP","heroicons-outline:collection",{"title":252,"path":253,"stem":254,"description":255,"icon":13,"tags":256},"Complete Examples","/docs/digital-product-passport/battery-dpp/complete-examples","docs/11.digital-product-passport/01.battery-dpp/05.complete-examples","Reference Battery Digital Product Passport examples mapped to EU Battery Regulation 2023/1542 Annex XIII",[238,257,258,61,259],"examples","annex-xiii","carbon-footprint",[238,239,213,30,101,34,215],{"title":262,"path":263,"stem":264,"children":265,"description":267,"icon":268,"tags":294},"EUDR","/docs/digital-product-passport/eudr","docs/11.digital-product-passport/02.eudr/index",[266,273,278,282,287],{"title":262,"path":263,"stem":264,"description":267,"icon":268,"tags":269},"GS1-native implementation of EU Deforestation Regulation 2023/1115 compliance using EPCIS 2.0","heroicons-outline:globe-europe-africa",[270,271,272,213,30,101,34,215],"eudr","deforestation","timber",{"title":241,"path":274,"stem":275,"description":276,"icon":277},"/docs/digital-product-passport/eudr/implementation-guide","docs/11.digital-product-passport/02.eudr/01.implementation-guide","Step-by-step guide for implementing EU Deforestation Regulation compliance using GS1 standards",null,{"title":246,"path":279,"stem":280,"description":281,"icon":277},"/docs/digital-product-passport/eudr/event-types","docs/11.digital-product-passport/02.eudr/02.event-types","EPCIS event types for EU Deforestation Regulation compliance",{"title":283,"path":284,"stem":285,"description":286,"icon":277},"URL Patterns","/docs/digital-product-passport/eudr/url-patterns","docs/11.digital-product-passport/02.eudr/03.url-patterns","GS1 Digital Link URL patterns for EUDR implementations",{"title":252,"path":288,"stem":289,"description":290,"icon":13,"tags":291},"/docs/digital-product-passport/eudr/complete-examples","docs/11.digital-product-passport/02.eudr/04.complete-examples","Reference EUDR examples — timber product passport, derived product, regulatory notification, harvesting / origin-declaration / processing / supply-chain-transfer / exemption events",[270,257,272,292,293],"due-diligence","geolocation",[270,271,272,213,30,101,34,215],{"title":296,"path":297,"stem":298,"children":299,"description":301,"icon":302,"tags":321},"Textile DPP","/docs/digital-product-passport/textile","docs/11.digital-product-passport/03.textile/index",[300,308,315],{"title":296,"path":297,"stem":298,"description":301,"icon":302,"tags":303},"Digital Product Passport vocabulary for textiles and apparel under the EU Sustainable Textiles Strategy and ESPR 2024/1781.","heroicons-outline:sparkles",[304,305,306,213,215,307],"textile","apparel","footwear","fibre-composition",{"title":241,"path":309,"stem":310,"description":311,"icon":312,"tags":313},"/docs/digital-product-passport/textile/implementation-guide","docs/11.digital-product-passport/03.textile/01.implementation-guide","How to assemble a Textile Digital Product Passport against the published openepcis-dpp-ready textile vocabulary","heroicons-outline:scissors",[304,305,306,314],"implementation",{"title":252,"path":316,"stem":317,"description":318,"icon":13,"tags":319},"/docs/digital-product-passport/textile/complete-examples","docs/11.digital-product-passport/03.textile/02.complete-examples","Reference Textile Digital Product Passport documents covering apparel and footwear",[304,257,305,306,320,61],"fiber-composition",[304,305,306,213,215,307],{"title":323,"path":324,"stem":325,"children":326,"description":328,"icon":58,"tags":335},"Interoperability","/docs/digital-product-passport/interoperability","docs/11.digital-product-passport/04.interoperability/index",[327],{"title":323,"path":324,"stem":325,"description":328,"icon":58,"tags":329},"Guide to OpenEPCIS DPP interoperability with GS1, UNTP, CIRPASS2, and ESPR standards.",[330,331,101,332,226,333,334],"interoperability","untp","cirpass2","standards","alignment",[330,331,101,332,226,333,334],{"title":337,"path":338,"stem":339,"description":340,"icon":28,"tags":341},"DPP Resolution Flow","/docs/digital-product-passport/dpp-resolution-flow","docs/11.digital-product-passport/05.dpp-resolution-flow","How OpenEPCIS combined GS1 Digital Link, the IETF linkset format and content negotiation into one DPP resolution flow",[342,95,343,344],"walkthrough","linkset","content-negotiation",{"title":346,"path":347,"stem":348,"description":349,"icon":350,"tags":351},"Resolver Setup","/docs/digital-product-passport/resolver-setup","docs/11.digital-product-passport/06.resolver-setup","How to expose your DPP behind a GS1 Digital Link resolver","heroicons-outline:server",[352,95,343],"resolver",{"title":354,"path":355,"stem":356,"description":357,"icon":358,"tags":359},"Multi-Component Example","/docs/digital-product-passport/multi-component-example","docs/11.digital-product-passport/07.multi-component-example","How a composite product references separately-passported components via standard GS1 Digital Link and EPCIS aggregation","heroicons-outline:puzzle-piece",[360,361,362,332],"example","components","aggregation",{"title":364,"path":365,"stem":366,"children":367,"description":369,"icon":370,"tags":389},"Electronics DPP","/docs/digital-product-passport/electronics","docs/11.digital-product-passport/08.electronics/index",[368,377,382],{"title":364,"path":365,"stem":366,"description":369,"icon":370,"tags":371},"Digital Product Passport vocabulary for electronic devices under ESPR, the French Repairability Index, EU Right to Repair and WEEE.","heroicons-outline:device-phone-mobile",[372,373,374,375,376],"electronics","repairability","weee","energy-label","right-to-repair",{"title":241,"path":378,"stem":379,"description":380,"icon":171,"tags":381},"/docs/digital-product-passport/electronics/implementation-guide","docs/11.digital-product-passport/08.electronics/01.implementation-guide","How to assemble an Electronics Digital Product Passport against the published openepcis-dpp-ready electronics vocabulary",[372,314,373,374,375],{"title":252,"path":383,"stem":384,"description":385,"icon":13,"tags":386},"/docs/digital-product-passport/electronics/complete-examples","docs/11.digital-product-passport/08.electronics/02.complete-examples","Reference Electronics Digital Product Passport documents covering smartphone, laptop, display and server",[372,257,387,388,61],"smartphone","laptop",[372,373,374,375,376],[212,213,214,30,215,34,216],{"title":392,"path":393,"stem":394,"children":395,"description":397,"icon":398},"OpenEPCIS Overview","/docs/platform-overview","docs/14.platform-overview/index",[396,399,405,411,417],{"title":392,"path":393,"stem":394,"description":397,"icon":398},"A GS1-conformant supply-chain data platform — Resolver, Masterdata, EPCIS Events — in open source and business editions.","lucide:layout-dashboard",{"title":400,"path":401,"stem":402,"description":403,"icon":404},"Architecture","/docs/platform-overview/architecture","docs/14.platform-overview/01.architecture","How OpenEPCIS handles identity, isolation, events, and GS1 conformance — the four things that distinguish the platform.","lucide:cpu",{"title":406,"path":407,"stem":408,"description":409,"icon":410},"Feature Matrix","/docs/platform-overview/feature-matrix","docs/14.platform-overview/02.feature-matrix","OpenEPCIS capabilities by edition, aligned to the relevant GS1 standards.","lucide:check-square",{"title":412,"path":413,"stem":414,"description":415,"icon":416},"Roadmap","/docs/platform-overview/roadmap","docs/14.platform-overview/03.roadmap","Three horizons — Now, Next, Later. Skeleton awaiting user-confirmed dates.","lucide:map",{"title":418,"path":419,"stem":420,"children":421,"description":423,"icon":424},"Modules","/docs/platform-overview/modules","docs/14.platform-overview/modules/index",[422,425,431,437,443,449,455,461],{"title":418,"path":419,"stem":420,"description":423,"icon":424},"Seven module families that organise the OpenEPCIS platform — Resolver, Masterdata, EPCIS Events, Formats & Validation, Integration, Testdata, Platform.","lucide:layers",{"title":426,"path":427,"stem":428,"description":429,"icon":430},"GS1 Conformant Resolver","/docs/platform-overview/modules/resolver","docs/14.platform-overview/modules/01.resolver","Resolves GS1 Digital Link URIs to product information, masterdata, EPCIS endpoints, and twelve more standard link types.","lucide:link-2",{"title":432,"path":433,"stem":434,"description":435,"icon":436},"GS1 Web Vocabulary & Masterdata","/docs/platform-overview/modules/masterdata","docs/14.platform-overview/modules/02.masterdata","Web Vocabulary models, masterdata-to-resolver REST pattern, GS1 Germany Activate Plus / GEPIR sync, and the event-driven masterdata bus.","lucide:database",{"title":438,"path":439,"stem":440,"description":441,"icon":442},"EPCIS Events — Capture, Query, Subscriptions","/docs/platform-overview/modules/epcis-events","docs/14.platform-overview/modules/03.epcis-events","EPCIS 2.0 REST and SOAP, live streaming subscriptions, resilient pagination, OpenSearch event store.","lucide:activity",{"title":444,"path":445,"stem":446,"description":447,"icon":448},"Formats, Validation & Identity","/docs/platform-overview/modules/formats","docs/14.platform-overview/modules/04.formats","XML ↔ JSON-LD conversion, multi-layer validation, identifier translation, idempotent event hashing.","lucide:file-check",{"title":450,"path":451,"stem":452,"description":453,"icon":454},"Integration & Gateways","/docs/platform-overview/modules/integration","docs/14.platform-overview/modules/05.integration","Cloud storage, file service, natural-language AI assistant.","lucide:plug",{"title":456,"path":457,"stem":458,"description":459,"icon":460},"Testdata & Developer Tooling","/docs/platform-overview/modules/testdata","docs/14.platform-overview/modules/06.testdata","Synthetic EPCIS test event generation, reference event collections, conformance test suite, SDKs.","lucide:wrench",{"title":462,"path":463,"stem":464,"description":465,"icon":466},"Platform, Build & Observability","/docs/platform-overview/modules/platform","docs/14.platform-overview/modules/07.platform","How OpenEPCIS is built, deployed, and observed.","lucide:server",{"title":468,"path":469,"stem":470,"children":471,"description":473,"icon":28,"tags":482},"Vision","/docs/vision","docs/15.vision/index",[472],{"title":468,"path":469,"stem":470,"description":473,"icon":28,"tags":474},"How UNTP, DIDs, Verifiable Credentials, and EPCIS work together to create unified product identity infrastructure for the connected supply chain.",[475,476,477,478,331,479,480,481],"vision","digital-twin","did","verifiable-credentials","rfid","industry-4-0","web-3-0",[475,476,477,478,331,479,480,481],{"id":484,"title":485,"body":486,"description":357,"extension":1204,"icon":358,"lastUpdated":277,"meta":1205,"navigation":1216,"path":355,"seo":1218,"sitemap":1219,"stem":356,"__hash__":1223},"docsEN/docs/11.digital-product-passport/07.multi-component-example.md","Multi-Component DPPs: An E-Bike Walkthrough",{"type":487,"value":488,"toc":1194},"minimark",[489,494,498,511,529,533,608,611,615,618,665,672,676,691,1073,1080,1084,1112,1127,1131,1157,1161,1164,1168,1190],[490,491,493],"h2",{"id":492},"overview","Overview",[495,496,497],"p",{},"Complex products — e-bikes, EVs, industrial equipment — are made of parts that each have their own regulatory profile. A battery falls under EU 2023/1542, an electronic motor controller under WEEE and ESPR, a leather saddle potentially under ESPR plus EUDR. Trying to cram every datum into one monolithic passport quickly turns the document into a kitchen sink no audience actually wants.",[495,499,500,501,505,506,510],{},"The cleaner pattern: ",[502,503,504],"strong",{},"each component is itself an identified, resolvable product."," The composite product just ",[507,508,509],"em",{},"references"," its components by their Digital Link URLs. Consumers, recyclers, regulators and customs officers each follow the link they care about and land on a focused passport.",[512,513,514],"blockquote",{},[495,515,516,519,520,524,525,528],{},[502,517,518],{},"Status of this pattern."," Component linking is an active topic in CIRPASS-2 and adjacent specs. There is no canonical OpenEPCIS property like ",[521,522,523],"code",{},"dpp:hasPart"," yet — the worked example below uses ",[502,526,527],{},"EPCIS Aggregation events"," to express the parent ↔ child relationship, which is part of the published EPCIS 2.0 spec and works today without inventing vocabulary.",[490,530,532],{"id":531},"the-e-bike-by-regulation","The e-bike, by regulation",[534,535,536,552],"table",{},[537,538,539],"thead",{},[540,541,542,546,549],"tr",{},[543,544,545],"th",{},"Component",[543,547,548],{},"Primary regulation",[543,550,551],{},"DPP module that fits",[553,554,555,567,577,587,598],"tbody",{},[540,556,557,561,564],{},[558,559,560],"td",{},"Frame",[558,562,563],{},"ESPR 2024/1781",[558,565,566],{},"DPP core",[540,568,569,572,575],{},[558,570,571],{},"Battery pack",[558,573,574],{},"EU 2023/1542",[558,576,230],{},[540,578,579,582,585],{},[558,580,581],{},"Motor + controller",[558,583,584],{},"ESPR + WEEE",[558,586,364],{},[540,588,589,592,595],{},[558,590,591],{},"Leather saddle",[558,593,594],{},"ESPR (+ EUDR for the leather)",[558,596,597],{},"Textile + EUDR",[540,599,600,603,606],{},[558,601,602],{},"Tires",[558,604,605],{},"Future ESPR delegated act",[558,607,566],{},[495,609,610],{},"Each row is an independently-identifiable product with its own GTIN, its own serial, its own resolver entry, and its own passport.",[490,612,614],{"id":613},"pattern-composite-product-references-components","Pattern: composite product references components",[495,616,617],{},"The composite product gets one Digital Link URL. Its passport carries a small list of component URLs — each one resolves on its own to a focused passport built from the right DPP module. Conceptually:",[619,620,625],"pre",{"className":621,"code":622,"language":623,"meta":624,"style":624},"language-mermaid shiki shiki-themes material-theme-lighter github-light github-dark monokai","flowchart TD\n    EBIKE[\"E-bike passport\u003Cbr/>id.gs1.org/01/&lt;ebike-gtin&gt;/21/&lt;serial&gt;\"]\n    EBIKE --> BAT[\"Battery passport\u003Cbr/>(EU 2023/1542)\"]\n    EBIKE --> MOT[\"Motor + controller passport\u003Cbr/>(ESPR + WEEE)\"]\n    EBIKE --> SAD[\"Leather saddle passport\u003Cbr/>(Textile + EUDR)\"]\n    EBIKE --> FRA[\"Frame passport\u003Cbr/>(DPP core)\"]\n","mermaid","",[521,626,627,635,641,647,653,659],{"__ignoreMap":624},[628,629,632],"span",{"class":630,"line":631},"line",1,[628,633,634],{},"flowchart TD\n",[628,636,638],{"class":630,"line":637},2,[628,639,640],{},"    EBIKE[\"E-bike passport\u003Cbr/>id.gs1.org/01/&lt;ebike-gtin&gt;/21/&lt;serial&gt;\"]\n",[628,642,644],{"class":630,"line":643},3,[628,645,646],{},"    EBIKE --> BAT[\"Battery passport\u003Cbr/>(EU 2023/1542)\"]\n",[628,648,650],{"class":630,"line":649},4,[628,651,652],{},"    EBIKE --> MOT[\"Motor + controller passport\u003Cbr/>(ESPR + WEEE)\"]\n",[628,654,656],{"class":630,"line":655},5,[628,657,658],{},"    EBIKE --> SAD[\"Leather saddle passport\u003Cbr/>(Textile + EUDR)\"]\n",[628,660,662],{"class":630,"line":661},6,[628,663,664],{},"    EBIKE --> FRA[\"Frame passport\u003Cbr/>(DPP core)\"]\n",[495,666,667,668,671],{},"The e-bike's own JSON-LD only needs the composite-level data: brand, model, dimensions, headline circularity claims, plus a list of component URLs. Each component URL is the canonical Digital Link of ",[507,669,670],{},"that"," component's passport — no embedding, no duplication.",[490,673,675],{"id":674},"expressing-the-composition-epcis-aggregationevent","Expressing the composition: EPCIS AggregationEvent",[495,677,678,679,682,683,686,687,690],{},"EPCIS 2.0 already models \"X is made of Y, Z, …\" as an ",[502,680,681],{},"AggregationEvent",": a ",[521,684,685],{},"parentID"," plus a list of ",[521,688,689],{},"childEPCs",". This is the no-invention way to make the parent ↔ child relationship machine-readable today.",[619,692,695],{"className":693,"code":694,"language":60,"meta":624,"style":624},"language-json shiki shiki-themes material-theme-lighter github-light github-dark monokai","{\n  \"@context\": [\"https://ref.gs1.org/standards/epcis/epcis-context.jsonld\"],\n  \"type\": \"EPCISDocument\",\n  \"schemaVersion\": \"2.0\",\n  \"epcisBody\": {\n    \"eventList\": [{\n      \"type\": \"AggregationEvent\",\n      \"eventTime\": \"2025-01-25T14:00:00Z\",\n      \"eventTimeZoneOffset\": \"+01:00\",\n      \"action\": \"ADD\",\n      \"bizStep\": \"assembling\",\n      \"disposition\": \"active\",\n      \"parentID\": \"https://id.gs1.org/01/09521234000010/21/EBIKE-2025-001\",\n      \"childEPCs\": [\n        \"https://id.gs1.org/01/09521234000027/21/BAT-EBIKE-001\",\n        \"https://id.gs1.org/01/09521234000034/21/MOTOR-001\",\n        \"https://id.gs1.org/01/09521234000041/21/SADDLE-001\",\n        \"https://id.gs1.org/01/09521234000058/21/FRAME-001\"\n      ],\n      \"readPoint\": { \"id\": \"https://id.gs1.org/414/9521234000010\" }\n    }]\n  }\n}\n",[521,696,697,703,734,756,776,790,806,827,848,869,890,911,932,952,966,979,991,1003,1014,1020,1055,1061,1067],{"__ignoreMap":624},[628,698,699],{"class":630,"line":631},[628,700,702],{"class":701},"swvn1","{\n",[628,704,705,709,713,716,719,722,725,729,731],{"class":630,"line":637},[628,706,708],{"class":707},"saDeg","  \"",[628,710,712],{"class":711},"sEff5","@context",[628,714,715],{"class":707},"\"",[628,717,718],{"class":701},":",[628,720,721],{"class":701}," [",[628,723,715],{"class":724},"sh1VR",[628,726,728],{"class":727},"sINAO","https://ref.gs1.org/standards/epcis/epcis-context.jsonld",[628,730,715],{"class":724},[628,732,733],{"class":701},"],\n",[628,735,736,738,741,743,745,748,751,753],{"class":630,"line":643},[628,737,708],{"class":707},[628,739,740],{"class":711},"type",[628,742,715],{"class":707},[628,744,718],{"class":701},[628,746,747],{"class":724}," \"",[628,749,750],{"class":727},"EPCISDocument",[628,752,715],{"class":724},[628,754,755],{"class":701},",\n",[628,757,758,760,763,765,767,769,772,774],{"class":630,"line":649},[628,759,708],{"class":707},[628,761,762],{"class":711},"schemaVersion",[628,764,715],{"class":707},[628,766,718],{"class":701},[628,768,747],{"class":724},[628,770,771],{"class":727},"2.0",[628,773,715],{"class":724},[628,775,755],{"class":701},[628,777,778,780,783,785,787],{"class":630,"line":655},[628,779,708],{"class":707},[628,781,782],{"class":711},"epcisBody",[628,784,715],{"class":707},[628,786,718],{"class":701},[628,788,789],{"class":701}," {\n",[628,791,792,795,799,801,803],{"class":630,"line":661},[628,793,794],{"class":707},"    \"",[628,796,798],{"class":797},"s_MOj","eventList",[628,800,715],{"class":707},[628,802,718],{"class":701},[628,804,805],{"class":701}," [{\n",[628,807,809,812,815,817,819,821,823,825],{"class":630,"line":808},7,[628,810,811],{"class":707},"      \"",[628,813,740],{"class":814},"sTC9v",[628,816,715],{"class":707},[628,818,718],{"class":701},[628,820,747],{"class":724},[628,822,681],{"class":727},[628,824,715],{"class":724},[628,826,755],{"class":701},[628,828,830,832,835,837,839,841,844,846],{"class":630,"line":829},8,[628,831,811],{"class":707},[628,833,834],{"class":814},"eventTime",[628,836,715],{"class":707},[628,838,718],{"class":701},[628,840,747],{"class":724},[628,842,843],{"class":727},"2025-01-25T14:00:00Z",[628,845,715],{"class":724},[628,847,755],{"class":701},[628,849,851,853,856,858,860,862,865,867],{"class":630,"line":850},9,[628,852,811],{"class":707},[628,854,855],{"class":814},"eventTimeZoneOffset",[628,857,715],{"class":707},[628,859,718],{"class":701},[628,861,747],{"class":724},[628,863,864],{"class":727},"+01:00",[628,866,715],{"class":724},[628,868,755],{"class":701},[628,870,872,874,877,879,881,883,886,888],{"class":630,"line":871},10,[628,873,811],{"class":707},[628,875,876],{"class":814},"action",[628,878,715],{"class":707},[628,880,718],{"class":701},[628,882,747],{"class":724},[628,884,885],{"class":727},"ADD",[628,887,715],{"class":724},[628,889,755],{"class":701},[628,891,893,895,898,900,902,904,907,909],{"class":630,"line":892},11,[628,894,811],{"class":707},[628,896,897],{"class":814},"bizStep",[628,899,715],{"class":707},[628,901,718],{"class":701},[628,903,747],{"class":724},[628,905,906],{"class":727},"assembling",[628,908,715],{"class":724},[628,910,755],{"class":701},[628,912,914,916,919,921,923,925,928,930],{"class":630,"line":913},12,[628,915,811],{"class":707},[628,917,918],{"class":814},"disposition",[628,920,715],{"class":707},[628,922,718],{"class":701},[628,924,747],{"class":724},[628,926,927],{"class":727},"active",[628,929,715],{"class":724},[628,931,755],{"class":701},[628,933,935,937,939,941,943,945,948,950],{"class":630,"line":934},13,[628,936,811],{"class":707},[628,938,685],{"class":814},[628,940,715],{"class":707},[628,942,718],{"class":701},[628,944,747],{"class":724},[628,946,947],{"class":727},"https://id.gs1.org/01/09521234000010/21/EBIKE-2025-001",[628,949,715],{"class":724},[628,951,755],{"class":701},[628,953,955,957,959,961,963],{"class":630,"line":954},14,[628,956,811],{"class":707},[628,958,689],{"class":814},[628,960,715],{"class":707},[628,962,718],{"class":701},[628,964,965],{"class":701}," [\n",[628,967,969,972,975,977],{"class":630,"line":968},15,[628,970,971],{"class":724},"        \"",[628,973,974],{"class":727},"https://id.gs1.org/01/09521234000027/21/BAT-EBIKE-001",[628,976,715],{"class":724},[628,978,755],{"class":701},[628,980,982,984,987,989],{"class":630,"line":981},16,[628,983,971],{"class":724},[628,985,986],{"class":727},"https://id.gs1.org/01/09521234000034/21/MOTOR-001",[628,988,715],{"class":724},[628,990,755],{"class":701},[628,992,994,996,999,1001],{"class":630,"line":993},17,[628,995,971],{"class":724},[628,997,998],{"class":727},"https://id.gs1.org/01/09521234000041/21/SADDLE-001",[628,1000,715],{"class":724},[628,1002,755],{"class":701},[628,1004,1006,1008,1011],{"class":630,"line":1005},18,[628,1007,971],{"class":724},[628,1009,1010],{"class":727},"https://id.gs1.org/01/09521234000058/21/FRAME-001",[628,1012,1013],{"class":724},"\"\n",[628,1015,1017],{"class":630,"line":1016},19,[628,1018,1019],{"class":701},"      ],\n",[628,1021,1023,1025,1028,1030,1032,1035,1037,1041,1043,1045,1047,1050,1052],{"class":630,"line":1022},20,[628,1024,811],{"class":707},[628,1026,1027],{"class":814},"readPoint",[628,1029,715],{"class":707},[628,1031,718],{"class":701},[628,1033,1034],{"class":701}," {",[628,1036,747],{"class":707},[628,1038,1040],{"class":1039},"sogGa","id",[628,1042,715],{"class":707},[628,1044,718],{"class":701},[628,1046,747],{"class":724},[628,1048,1049],{"class":727},"https://id.gs1.org/414/9521234000010",[628,1051,715],{"class":724},[628,1053,1054],{"class":701}," }\n",[628,1056,1058],{"class":630,"line":1057},21,[628,1059,1060],{"class":701},"    }]\n",[628,1062,1064],{"class":630,"line":1063},22,[628,1065,1066],{"class":701},"  }\n",[628,1068,1070],{"class":630,"line":1069},23,[628,1071,1072],{"class":701},"}\n",[495,1074,1075,1076,1079],{},"When the e-bike is later disassembled (a component being replaced under warranty, a recycler stripping it for materials) the inverse is the same shape with ",[521,1077,1078],{},"action: \"DELETE\""," — the components survive the parent, they just stop being aggregated to it. The history is queryable per-serial through the EPCIS query API.",[490,1081,1083],{"id":1082},"what-clients-see-at-resolution-time","What clients see at resolution time",[1085,1086,1087,1094,1100,1106],"ul",{},[1088,1089,1090,1093],"li",{},[502,1091,1092],{},"Consumer"," scans the e-bike → the resolver returns the composite passport (brand, model, recycling instructions, links to component passports). They can drill into the battery for State-of-Health, or the saddle for material composition.",[1088,1095,1096,1099],{},[502,1097,1098],{},"Authorised recycler"," scans the same e-bike with credentials → same composite passport, plus access-controlled fields (full BOM, hazardous-substance disclosures, disassembly sequence).",[1088,1101,1102,1105],{},[502,1103,1104],{},"Customs officer"," scanning the saddle directly → leather + EUDR passport, EUIS reference, plot-of-origin coordinates, due-diligence statement.",[1088,1107,1108,1111],{},[502,1109,1110],{},"Battery technician"," scanning the battery directly → battery passport with the latest SoH event from the EPCIS query, no need to go via the e-bike.",[495,1113,1114,1115,1118,1119,1122,1123,1126],{},"The same Digital Link primitives (",[521,1116,1117],{},"Accept",", ",[521,1120,1121],{},"?linkType=",", access tier) that drive single-product resolution drive component-level resolution. See ",[1124,1125,337],"a",{"href":338}," for the end-to-end picture.",[490,1128,1130],{"id":1129},"why-this-pattern-is-worth-the-effort","Why this pattern is worth the effort",[1085,1132,1133,1139,1145,1151],{},[1088,1134,1135,1138],{},[502,1136,1137],{},"Regulatory clarity"," — each component lines up to one regulator, not five.",[1088,1140,1141,1144],{},[502,1142,1143],{},"Independent lifecycle"," — replacing a battery just publishes a new component passport and an aggregation update; the e-bike's main passport doesn't churn.",[1088,1146,1147,1150],{},[502,1148,1149],{},"Audience-appropriate payloads"," — a consumer-grade UI never has to hide WEEE codes; a recycler API never has to skim past the marketing description.",[1088,1152,1153,1156],{},[502,1154,1155],{},"Circular economy"," — recovered components keep their full history (events, certifications, hazard data) as they're re-aggregated into a new product.",[490,1158,1160],{"id":1159},"whats-left-to-standardise","What's left to standardise",[495,1162,1163],{},"Today there is no single agreed JSON-LD predicate to say \"this composite passport references these component passports\" — different specs (CIRPASS-2 bridges, Catena-X industry-core, sector-specific drafts) propose different shapes. Until that lands, the EPCIS AggregationEvent shown above is the safest published way to express the relationship, and OpenEPCIS will follow whichever CIRPASS-2 / GS1 outcome becomes the standard.",[490,1165,1167],{"id":1166},"next-steps","Next steps",[1085,1169,1170,1174,1178,1182,1186],{},[1088,1171,1172],{},[1124,1173,337],{"href":338},[1088,1175,1176],{},[1124,1177,230],{"href":231},[1088,1179,1180],{},[1124,1181,364],{"href":365},[1088,1183,1184],{},[1124,1185,296],{"href":297},[1088,1187,1188],{},[1124,1189,262],{"href":263},[1191,1192,1193],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .saDeg, html code.shiki .saDeg{--shiki-light:#39ADB5;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sEff5, html code.shiki .sEff5{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sh1VR, html code.shiki .sh1VR{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#CFCFC2}html pre.shiki code .sINAO, html code.shiki .sINAO{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#CFCFC2}html pre.shiki code .s_MOj, html code.shiki .s_MOj{--shiki-light:#E2931D;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sTC9v, html code.shiki .sTC9v{--shiki-light:#F76D47;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sogGa, html code.shiki .sogGa{--shiki-light:#E53935;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}",{"title":624,"searchDepth":637,"depth":637,"links":1195},[1196,1197,1198,1199,1200,1201,1202,1203],{"id":492,"depth":637,"text":493},{"id":531,"depth":637,"text":532},{"id":613,"depth":637,"text":614},{"id":674,"depth":637,"text":675},{"id":1082,"depth":637,"text":1083},{"id":1129,"depth":637,"text":1130},{"id":1159,"depth":637,"text":1160},{"id":1166,"depth":637,"text":1167},"md",{"head":1206,"readingTime":1211},{"meta":1207},[1208],{"name":1209,"content":1210},"keywords","Multi-component DPP, e-bike passport, component traceability, EPCIS AggregationEvent",{"text":1212,"minutes":1213,"time":1214,"words":1215},"4 min read",3.48,208800,696,{"title":354,"tags":1217},[360,361,362,332],{"title":485,"description":357},{"loc":355,"lastmod":1220,"changefreq":1221,"priority":1222},"2026-05-12","monthly",0.8,"bztGxMVqvc-huv6RF_DOHPZE5TcaUPqmNpZdNO-w41M",[1225],{"title":5,"path":6,"stem":7,"children":1226},[1227,1229,1234,1239,1244,1249,1254,1259,1269,1274,1279,1284,1342,1358],{"title":10,"path":6,"stem":11,"description":12,"icon":13,"tags":1228},[15,16,17,18,19,20],{"title":22,"path":23,"stem":24,"children":1230,"description":27,"icon":28,"tags":1233},[1231],{"title":22,"path":23,"stem":24,"description":27,"icon":28,"tags":1232},[16,30,31,32,33,34,35,36,37],[16,30,31,32,33,34,35,36,37],{"title":40,"path":41,"stem":42,"children":1235,"description":45,"icon":46,"tags":1238},[1236],{"title":40,"path":41,"stem":42,"description":45,"icon":46,"tags":1237},[16,30,31,32,48,49],[16,30,31,32,48,49],{"title":52,"path":53,"stem":54,"children":1240,"description":57,"icon":58,"tags":1243},[1241],{"title":52,"path":53,"stem":54,"description":57,"icon":58,"tags":1242},[16,60,61,62,63,64,65,20,66,67,68,69,70],[16,60,61,62,63,64,65,20,66,67,68,69,70],{"title":73,"path":74,"stem":75,"children":1245,"description":78,"icon":79,"tags":1248},[1246],{"title":73,"path":74,"stem":75,"description":78,"icon":79,"tags":1247},[16,31,60,61,62,63,81,65,20,82,83,84,68,69,70],[16,31,60,61,62,63,81,65,20,82,83,84,68,69,70],{"title":87,"path":88,"stem":89,"children":1250,"description":92,"icon":93,"tags":1253},[1251],{"title":87,"path":88,"stem":89,"description":92,"icon":93,"tags":1252},[16,95,96,97,98,99,20,100,101,102,103,104,105,106,107,108,109,110],[16,95,96,97,98,99,20,100,101,102,103,104,105,106,107,108,109,110],{"title":113,"path":114,"stem":115,"children":1255,"description":118,"icon":119,"tags":1258},[1256],{"title":113,"path":114,"stem":115,"description":118,"icon":119,"tags":1257},[16,121,60,61,62,63,20,122,123,124,69,70],[16,121,60,61,62,63,20,122,123,124,69,70],{"title":127,"path":128,"stem":129,"children":1260,"description":132,"icon":133,"tags":1268},[1261,1263],{"title":127,"path":128,"stem":129,"description":132,"icon":133,"tags":1262},[16,121,60,61,62,63,20,122,123,124,69,70],{"title":136,"path":137,"stem":138,"children":1264,"description":132,"icon":141,"tags":1267},[1265],{"title":136,"path":137,"stem":138,"description":132,"icon":141,"tags":1266},[16,60,61,143,20,144,145,146,34,147,148,149,150],[16,60,61,143,20,144,145,146,34,147,148,149,150],[16,121,60,61,62,63,20,122,123,124,69,70],{"title":154,"path":155,"stem":156,"children":1270,"description":159,"icon":160,"tags":1273},[1271],{"title":154,"path":155,"stem":156,"description":159,"icon":160,"tags":1272},[16,60,61,143,20,162,34,147,148,149,150],[16,60,61,143,20,162,34,147,148,149,150],{"title":165,"path":166,"stem":167,"children":1275,"description":170,"icon":171,"tags":1278},[1276],{"title":165,"path":166,"stem":167,"description":170,"icon":171,"tags":1277},[16,173,15,174,20,175,34,176,148,149,177],[16,173,15,174,20,175,34,176,148,149,177],{"title":180,"path":181,"stem":182,"children":1280,"description":185,"icon":186,"tags":1283},[1281],{"title":180,"path":181,"stem":182,"description":185,"icon":186,"tags":1282},[188,15,189,190,191,192,193,30,194,195,196,197,198,199,200,201],[188,15,189,190,191,192,193,30,194,195,196,197,198,199,200,201],{"title":204,"path":205,"stem":206,"children":1285,"description":209,"icon":210,"tags":1341},[1286,1288,1293,1302,1312,1321,1326,1328,1330,1332],{"title":204,"path":205,"stem":206,"description":209,"icon":210,"tags":1287},[212,213,214,30,215,34,216],{"title":218,"path":219,"stem":220,"children":1289,"description":223,"icon":224,"tags":1292},[1290],{"title":218,"path":219,"stem":220,"description":223,"icon":224,"tags":1291},[226,227,215,213,214],[226,227,215,213,214],{"title":230,"path":231,"stem":232,"children":1294,"description":235,"icon":236,"tags":1301},[1295,1297,1298,1299],{"title":230,"path":231,"stem":232,"description":235,"icon":236,"tags":1296},[238,239,213,30,101,34,215],{"title":241,"path":242,"stem":243,"description":244,"icon":171},{"title":246,"path":247,"stem":248,"description":249,"icon":250},{"title":252,"path":253,"stem":254,"description":255,"icon":13,"tags":1300},[238,257,258,61,259],[238,239,213,30,101,34,215],{"title":262,"path":263,"stem":264,"children":1303,"description":267,"icon":268,"tags":1311},[1304,1306,1307,1308,1309],{"title":262,"path":263,"stem":264,"description":267,"icon":268,"tags":1305},[270,271,272,213,30,101,34,215],{"title":241,"path":274,"stem":275,"description":276,"icon":277},{"title":246,"path":279,"stem":280,"description":281,"icon":277},{"title":283,"path":284,"stem":285,"description":286,"icon":277},{"title":252,"path":288,"stem":289,"description":290,"icon":13,"tags":1310},[270,257,272,292,293],[270,271,272,213,30,101,34,215],{"title":296,"path":297,"stem":298,"children":1313,"description":301,"icon":302,"tags":1320},[1314,1316,1318],{"title":296,"path":297,"stem":298,"description":301,"icon":302,"tags":1315},[304,305,306,213,215,307],{"title":241,"path":309,"stem":310,"description":311,"icon":312,"tags":1317},[304,305,306,314],{"title":252,"path":316,"stem":317,"description":318,"icon":13,"tags":1319},[304,257,305,306,320,61],[304,305,306,213,215,307],{"title":323,"path":324,"stem":325,"children":1322,"description":328,"icon":58,"tags":1325},[1323],{"title":323,"path":324,"stem":325,"description":328,"icon":58,"tags":1324},[330,331,101,332,226,333,334],[330,331,101,332,226,333,334],{"title":337,"path":338,"stem":339,"description":340,"icon":28,"tags":1327},[342,95,343,344],{"title":346,"path":347,"stem":348,"description":349,"icon":350,"tags":1329},[352,95,343],{"title":354,"path":355,"stem":356,"description":357,"icon":358,"tags":1331},[360,361,362,332],{"title":364,"path":365,"stem":366,"children":1333,"description":369,"icon":370,"tags":1340},[1334,1336,1338],{"title":364,"path":365,"stem":366,"description":369,"icon":370,"tags":1335},[372,373,374,375,376],{"title":241,"path":378,"stem":379,"description":380,"icon":171,"tags":1337},[372,314,373,374,375],{"title":252,"path":383,"stem":384,"description":385,"icon":13,"tags":1339},[372,257,387,388,61],[372,373,374,375,376],[212,213,214,30,215,34,216],{"title":392,"path":393,"stem":394,"children":1343,"description":397,"icon":398},[1344,1345,1346,1347,1348],{"title":392,"path":393,"stem":394,"description":397,"icon":398},{"title":400,"path":401,"stem":402,"description":403,"icon":404},{"title":406,"path":407,"stem":408,"description":409,"icon":410},{"title":412,"path":413,"stem":414,"description":415,"icon":416},{"title":418,"path":419,"stem":420,"children":1349,"description":423,"icon":424},[1350,1351,1352,1353,1354,1355,1356,1357],{"title":418,"path":419,"stem":420,"description":423,"icon":424},{"title":426,"path":427,"stem":428,"description":429,"icon":430},{"title":432,"path":433,"stem":434,"description":435,"icon":436},{"title":438,"path":439,"stem":440,"description":441,"icon":442},{"title":444,"path":445,"stem":446,"description":447,"icon":448},{"title":450,"path":451,"stem":452,"description":453,"icon":454},{"title":456,"path":457,"stem":458,"description":459,"icon":460},{"title":462,"path":463,"stem":464,"description":465,"icon":466},{"title":468,"path":469,"stem":470,"children":1359,"description":473,"icon":28,"tags":1362},[1360],{"title":468,"path":469,"stem":470,"description":473,"icon":28,"tags":1361},[475,476,477,478,331,479,480,481],[475,476,477,478,331,479,480,481],{"id":484,"title":485,"body":1364,"description":357,"extension":1204,"icon":358,"lastUpdated":277,"meta":1890,"navigation":1895,"path":355,"seo":1897,"sitemap":1898,"stem":356,"__hash__":1223},{"type":487,"value":1365,"toc":1880},[1366,1368,1370,1376,1386,1388,1442,1444,1446,1448,1476,1480,1482,1490,1798,1802,1804,1822,1830,1832,1850,1852,1854,1856,1878],[490,1367,493],{"id":492},[495,1369,497],{},[495,1371,500,1372,505,1374,510],{},[502,1373,504],{},[507,1375,509],{},[512,1377,1378],{},[495,1379,1380,519,1382,524,1384,528],{},[502,1381,518],{},[521,1383,523],{},[502,1385,527],{},[490,1387,532],{"id":531},[534,1389,1390,1400],{},[537,1391,1392],{},[540,1393,1394,1396,1398],{},[543,1395,545],{},[543,1397,548],{},[543,1399,551],{},[553,1401,1402,1410,1418,1426,1434],{},[540,1403,1404,1406,1408],{},[558,1405,560],{},[558,1407,563],{},[558,1409,566],{},[540,1411,1412,1414,1416],{},[558,1413,571],{},[558,1415,574],{},[558,1417,230],{},[540,1419,1420,1422,1424],{},[558,1421,581],{},[558,1423,584],{},[558,1425,364],{},[540,1427,1428,1430,1432],{},[558,1429,591],{},[558,1431,594],{},[558,1433,597],{},[540,1435,1436,1438,1440],{},[558,1437,602],{},[558,1439,605],{},[558,1441,566],{},[495,1443,610],{},[490,1445,614],{"id":613},[495,1447,617],{},[619,1449,1450],{"className":621,"code":622,"language":623,"meta":624,"style":624},[521,1451,1452,1456,1460,1464,1468,1472],{"__ignoreMap":624},[628,1453,1454],{"class":630,"line":631},[628,1455,634],{},[628,1457,1458],{"class":630,"line":637},[628,1459,640],{},[628,1461,1462],{"class":630,"line":643},[628,1463,646],{},[628,1465,1466],{"class":630,"line":649},[628,1467,652],{},[628,1469,1470],{"class":630,"line":655},[628,1471,658],{},[628,1473,1474],{"class":630,"line":661},[628,1475,664],{},[495,1477,667,1478,671],{},[507,1479,670],{},[490,1481,675],{"id":674},[495,1483,678,1484,682,1486,686,1488,690],{},[502,1485,681],{},[521,1487,685],{},[521,1489,689],{},[619,1491,1492],{"className":693,"code":694,"language":60,"meta":624,"style":624},[521,1493,1494,1498,1518,1536,1554,1566,1578,1596,1614,1632,1650,1668,1686,1704,1716,1726,1736,1746,1754,1758,1786,1790,1794],{"__ignoreMap":624},[628,1495,1496],{"class":630,"line":631},[628,1497,702],{"class":701},[628,1499,1500,1502,1504,1506,1508,1510,1512,1514,1516],{"class":630,"line":637},[628,1501,708],{"class":707},[628,1503,712],{"class":711},[628,1505,715],{"class":707},[628,1507,718],{"class":701},[628,1509,721],{"class":701},[628,1511,715],{"class":724},[628,1513,728],{"class":727},[628,1515,715],{"class":724},[628,1517,733],{"class":701},[628,1519,1520,1522,1524,1526,1528,1530,1532,1534],{"class":630,"line":643},[628,1521,708],{"class":707},[628,1523,740],{"class":711},[628,1525,715],{"class":707},[628,1527,718],{"class":701},[628,1529,747],{"class":724},[628,1531,750],{"class":727},[628,1533,715],{"class":724},[628,1535,755],{"class":701},[628,1537,1538,1540,1542,1544,1546,1548,1550,1552],{"class":630,"line":649},[628,1539,708],{"class":707},[628,1541,762],{"class":711},[628,1543,715],{"class":707},[628,1545,718],{"class":701},[628,1547,747],{"class":724},[628,1549,771],{"class":727},[628,1551,715],{"class":724},[628,1553,755],{"class":701},[628,1555,1556,1558,1560,1562,1564],{"class":630,"line":655},[628,1557,708],{"class":707},[628,1559,782],{"class":711},[628,1561,715],{"class":707},[628,1563,718],{"class":701},[628,1565,789],{"class":701},[628,1567,1568,1570,1572,1574,1576],{"class":630,"line":661},[628,1569,794],{"class":707},[628,1571,798],{"class":797},[628,1573,715],{"class":707},[628,1575,718],{"class":701},[628,1577,805],{"class":701},[628,1579,1580,1582,1584,1586,1588,1590,1592,1594],{"class":630,"line":808},[628,1581,811],{"class":707},[628,1583,740],{"class":814},[628,1585,715],{"class":707},[628,1587,718],{"class":701},[628,1589,747],{"class":724},[628,1591,681],{"class":727},[628,1593,715],{"class":724},[628,1595,755],{"class":701},[628,1597,1598,1600,1602,1604,1606,1608,1610,1612],{"class":630,"line":829},[628,1599,811],{"class":707},[628,1601,834],{"class":814},[628,1603,715],{"class":707},[628,1605,718],{"class":701},[628,1607,747],{"class":724},[628,1609,843],{"class":727},[628,1611,715],{"class":724},[628,1613,755],{"class":701},[628,1615,1616,1618,1620,1622,1624,1626,1628,1630],{"class":630,"line":850},[628,1617,811],{"class":707},[628,1619,855],{"class":814},[628,1621,715],{"class":707},[628,1623,718],{"class":701},[628,1625,747],{"class":724},[628,1627,864],{"class":727},[628,1629,715],{"class":724},[628,1631,755],{"class":701},[628,1633,1634,1636,1638,1640,1642,1644,1646,1648],{"class":630,"line":871},[628,1635,811],{"class":707},[628,1637,876],{"class":814},[628,1639,715],{"class":707},[628,1641,718],{"class":701},[628,1643,747],{"class":724},[628,1645,885],{"class":727},[628,1647,715],{"class":724},[628,1649,755],{"class":701},[628,1651,1652,1654,1656,1658,1660,1662,1664,1666],{"class":630,"line":892},[628,1653,811],{"class":707},[628,1655,897],{"class":814},[628,1657,715],{"class":707},[628,1659,718],{"class":701},[628,1661,747],{"class":724},[628,1663,906],{"class":727},[628,1665,715],{"class":724},[628,1667,755],{"class":701},[628,1669,1670,1672,1674,1676,1678,1680,1682,1684],{"class":630,"line":913},[628,1671,811],{"class":707},[628,1673,918],{"class":814},[628,1675,715],{"class":707},[628,1677,718],{"class":701},[628,1679,747],{"class":724},[628,1681,927],{"class":727},[628,1683,715],{"class":724},[628,1685,755],{"class":701},[628,1687,1688,1690,1692,1694,1696,1698,1700,1702],{"class":630,"line":934},[628,1689,811],{"class":707},[628,1691,685],{"class":814},[628,1693,715],{"class":707},[628,1695,718],{"class":701},[628,1697,747],{"class":724},[628,1699,947],{"class":727},[628,1701,715],{"class":724},[628,1703,755],{"class":701},[628,1705,1706,1708,1710,1712,1714],{"class":630,"line":954},[628,1707,811],{"class":707},[628,1709,689],{"class":814},[628,1711,715],{"class":707},[628,1713,718],{"class":701},[628,1715,965],{"class":701},[628,1717,1718,1720,1722,1724],{"class":630,"line":968},[628,1719,971],{"class":724},[628,1721,974],{"class":727},[628,1723,715],{"class":724},[628,1725,755],{"class":701},[628,1727,1728,1730,1732,1734],{"class":630,"line":981},[628,1729,971],{"class":724},[628,1731,986],{"class":727},[628,1733,715],{"class":724},[628,1735,755],{"class":701},[628,1737,1738,1740,1742,1744],{"class":630,"line":993},[628,1739,971],{"class":724},[628,1741,998],{"class":727},[628,1743,715],{"class":724},[628,1745,755],{"class":701},[628,1747,1748,1750,1752],{"class":630,"line":1005},[628,1749,971],{"class":724},[628,1751,1010],{"class":727},[628,1753,1013],{"class":724},[628,1755,1756],{"class":630,"line":1016},[628,1757,1019],{"class":701},[628,1759,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784],{"class":630,"line":1022},[628,1761,811],{"class":707},[628,1763,1027],{"class":814},[628,1765,715],{"class":707},[628,1767,718],{"class":701},[628,1769,1034],{"class":701},[628,1771,747],{"class":707},[628,1773,1040],{"class":1039},[628,1775,715],{"class":707},[628,1777,718],{"class":701},[628,1779,747],{"class":724},[628,1781,1049],{"class":727},[628,1783,715],{"class":724},[628,1785,1054],{"class":701},[628,1787,1788],{"class":630,"line":1057},[628,1789,1060],{"class":701},[628,1791,1792],{"class":630,"line":1063},[628,1793,1066],{"class":701},[628,1795,1796],{"class":630,"line":1069},[628,1797,1072],{"class":701},[495,1799,1075,1800,1079],{},[521,1801,1078],{},[490,1803,1083],{"id":1082},[1085,1805,1806,1810,1814,1818],{},[1088,1807,1808,1093],{},[502,1809,1092],{},[1088,1811,1812,1099],{},[502,1813,1098],{},[1088,1815,1816,1105],{},[502,1817,1104],{},[1088,1819,1820,1111],{},[502,1821,1110],{},[495,1823,1114,1824,1118,1826,1122,1828,1126],{},[521,1825,1117],{},[521,1827,1121],{},[1124,1829,337],{"href":338},[490,1831,1130],{"id":1129},[1085,1833,1834,1838,1842,1846],{},[1088,1835,1836,1138],{},[502,1837,1137],{},[1088,1839,1840,1144],{},[502,1841,1143],{},[1088,1843,1844,1150],{},[502,1845,1149],{},[1088,1847,1848,1156],{},[502,1849,1155],{},[490,1851,1160],{"id":1159},[495,1853,1163],{},[490,1855,1167],{"id":1166},[1085,1857,1858,1862,1866,1870,1874],{},[1088,1859,1860],{},[1124,1861,337],{"href":338},[1088,1863,1864],{},[1124,1865,230],{"href":231},[1088,1867,1868],{},[1124,1869,364],{"href":365},[1088,1871,1872],{},[1124,1873,296],{"href":297},[1088,1875,1876],{},[1124,1877,262],{"href":263},[1191,1879,1193],{},{"title":624,"searchDepth":637,"depth":637,"links":1881},[1882,1883,1884,1885,1886,1887,1888,1889],{"id":492,"depth":637,"text":493},{"id":531,"depth":637,"text":532},{"id":613,"depth":637,"text":614},{"id":674,"depth":637,"text":675},{"id":1082,"depth":637,"text":1083},{"id":1129,"depth":637,"text":1130},{"id":1159,"depth":637,"text":1160},{"id":1166,"depth":637,"text":1167},{"head":1891,"readingTime":1894},{"meta":1892},[1893],{"name":1209,"content":1210},{"text":1212,"minutes":1213,"time":1214,"words":1215},{"title":354,"tags":1896},[360,361,362,332],{"title":485,"description":357},{"loc":355,"lastmod":1220,"changefreq":1221,"priority":1222},1779384036454]