[{"data":1,"prerenderedAt":4506},["ShallowReactive",2],{"navigation-docsDE":3,"navigation-blogDE":484,"docs-DE-\u002Fde\u002Fdocs\u002Ftest-data-generator":485,"docsNav-DE-\u002Fdocs":2626,"docsSecNav-DE-\u002Fde\u002Fdocs\u002Ftest-data-generator":2765},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,22,40,52,73,87,113,127,154,165,180,204,392,468],{"title":10,"path":6,"stem":11,"description":12,"icon":13,"tags":14},"Documentation","docs\u002Findex","Introduction to documentation on EPCIS and OpenEPCIS tools","heroicons-outline:document-text",[15,16,17,18,19,20,21],"openepcis","epcis-2-0","epcis-documentation","epcis-standard","open-core","open-source","epcis-tools",{"title":23,"path":24,"stem":25,"children":26,"description":28,"icon":29,"tags":39},"Introduction","\u002Fdocs\u002Fintroduction","docs\u002F01.introduction\u002Findex",[27],{"title":23,"path":24,"stem":25,"description":28,"icon":29,"tags":30},"Why EPCIS is necessary and how it can help organizations of all sizes and types.","heroicons-outline:globe-alt",[16,31,32,33,34,35,36,37,38],"epcis","epcis-1-2","gs1-epcis-standard","supply-chain","traceability","data-sharing","tracking","tracing",[16,31,32,33,34,35,36,37,38],{"title":41,"path":42,"stem":43,"children":44,"description":46,"icon":47,"tags":51},"EPCIS","\u002Fdocs\u002Fepcis","docs\u002F02.epcis\u002Findex",[45],{"title":41,"path":42,"stem":43,"description":46,"icon":47,"tags":48},"Discover the specifics of EPCIS, how it works, and what OpenEPCIS is.","i-custom-open-epcis",[16,31,32,33,49,50],"iso-iec-19987","iso-iec-19988",[16,31,32,33,49,50],{"title":53,"path":54,"stem":55,"children":56,"description":58,"icon":59,"tags":72},"Format Converter","\u002Fdocs\u002Fformat-converter","docs\u002F03.format-converter\u002Findex",[57],{"title":53,"path":54,"stem":55,"description":58,"icon":59,"tags":60},"OpenEPCIS solution to convert EPCIS 2.0 and 1.2 document or single event from XML to JSON\u002FJSON-LD and vice versa.","heroicons-outline:arrows-right-left",[16,61,62,63,64,65,66,21,67,68,69,70,71],"json","json-ld","xml","events","format-converter","convert","convert-epcis-events","format","converter","epcis-tool","tools",[16,61,62,63,64,65,66,21,67,68,69,70,71],{"title":74,"path":75,"stem":76,"children":77,"description":79,"icon":80,"tags":86},"Version Converter","\u002Fdocs\u002Fversion-converter","docs\u002F04.version-converter\u002Findex",[78],{"title":74,"path":75,"stem":76,"description":79,"icon":80,"tags":81},"OpenEPCIS solution to convert EPCIS XML document from version 1.2 to 2.0 and vice versa.","heroicons:arrows-up-down",[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],"version-converter","convert-epcis-version","version","epcis-version",[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],{"title":88,"path":89,"stem":90,"children":91,"description":93,"icon":94,"tags":112},"Identifier Converter","\u002Fdocs\u002Fidentifier-converter","docs\u002F05.identifier-converter\u002Findex",[92],{"title":88,"path":89,"stem":90,"description":93,"icon":94,"tags":95},"OpenEPCIS solution to convert EPCIS instance or class identifier from URN to digital link WebURI and vice versa.","i-heroicons-link",[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],"gs1-digital-link","urn-format","epc-uri","epc","weburi","gs1-standard","gs1","sscc","gtin","giai","grai","gdti","lgtin","sgtin","gln","gcp",[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],{"title":114,"path":115,"stem":116,"children":117,"description":119,"icon":120,"tags":126},"Event Hash Generator","\u002Fdocs\u002Fevent-hash-generator","docs\u002F06.event-hash-generator\u002Findex",[118],{"title":114,"path":115,"stem":116,"description":119,"icon":120,"tags":121},"OpenEPCIS solution to generate unique event hash for EPCIS XML or JSON\u002FJSON-LD document or event list.","heroicons-outline:finger-print",[16,122,61,62,63,64,21,123,124,125,70,71],"event-hash","event","hash","generator",[16,122,61,62,63,64,21,123,124,125,70,71],{"title":128,"path":129,"stem":130,"children":131,"description":133,"icon":134,"tags":153},"Test Data Generator","\u002Fdocs\u002Ftest-data-generator","docs\u002F07.test-data-generator\u002Findex",[132,136],{"title":128,"path":129,"stem":130,"description":133,"icon":134,"tags":135},"OpenEPCIS solution to generate a large set of EPCIS test data events for all use cases\u002Fsupply chain requirements.","heroicons-outline:cog",[16,122,61,62,63,64,21,123,124,125,70,71],{"title":137,"path":138,"stem":139,"children":140,"description":133,"icon":142,"tags":152},"EPCIS Implementation Guidelines","\u002Fdocs\u002Ftest-data-generator\u002Fgs1-epcis-implementation-guidelines","docs\u002F07.test-data-generator\u002F01.gs1-epcis-implementation-guidelines\u002Findex",[141],{"title":137,"path":138,"stem":139,"description":133,"icon":142,"tags":143},"heroicons-outline:badge-check",[16,61,62,144,21,145,146,147,35,148,149,150,151],"testing","test-data-generator","design","design-template","process-automation","compliance","supply-chain-management","load-tests",[16,61,62,144,21,145,146,147,35,148,149,150,151],[16,122,61,62,63,64,21,123,124,125,70,71],{"title":155,"path":156,"stem":157,"children":158,"description":160,"icon":161,"tags":164},"Test Resource Management","\u002Fdocs\u002Ftest-resource-management","docs\u002F08.test-resource-management\u002Findex",[159],{"title":155,"path":156,"stem":157,"description":160,"icon":161,"tags":162},"Collection of EPCIS 1.2\u002F2.0 documents\u002Fevents in XML\u002FJSON\u002FJSON-LD formats, intended for various testing purposes","heroicons-outline:archive-box",[16,61,62,144,21,163,35,148,149,150,151],"performance-tests",[16,61,62,144,21,163,35,148,149,150,151],{"title":166,"path":167,"stem":168,"children":169,"description":171,"icon":172,"tags":179},"Vocabulary Management","\u002Fdocs\u002Fvocabulary-management","docs\u002F09.vocabulary-management\u002Findex",[170],{"title":166,"path":167,"stem":168,"description":171,"icon":172,"tags":173},"Collection of standardized constants and strings for EPCIS event data.","heroicons-outline:book-open",[16,174,15,175,21,176,35,177,149,150,178],"constants","centralization","standardization","vocabulary","data-dictionary",[16,174,15,175,21,176,35,177,149,150,178],{"title":181,"path":182,"stem":183,"children":184,"description":186,"icon":187,"tags":203},"Dependency Management","\u002Fdocs\u002Fdependency-management","docs\u002F10.dependency-management\u002Findex",[185],{"title":181,"path":182,"stem":183,"description":186,"icon":187,"tags":188},"Centralized Maven Bill of Materials (BOM) for all the OpenEPCIS modules.","heroicons-outline:folder",[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],"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",[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],{"title":205,"path":206,"stem":207,"children":208,"description":210,"icon":211,"tags":391},"Digital Product Passport","\u002Fdocs\u002Fdigital-product-passport","docs\u002F11.digital-product-passport\u002Findex",[209,218,230,262,296,323,337,346,354,364],{"title":205,"path":206,"stem":207,"description":210,"icon":211,"tags":212},"Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance.","heroicons-outline:identification",[213,214,215,31,216,35,217],"digital-product-passport","dpp","eu-regulation","sustainability","circular-economy",{"title":219,"path":220,"stem":221,"children":222,"description":224,"icon":225,"tags":229},"ESPR Framework","\u002Fdocs\u002Fdigital-product-passport\u002Fespr-framework","docs\u002F11.digital-product-passport\u002F00.espr-framework\u002Findex",[223],{"title":219,"path":220,"stem":221,"description":224,"icon":225,"tags":226},"Guide to the EU Ecodesign for Sustainable Products Regulation (ESPR) 2024\u002F1781 and how OpenEPCIS supports Digital Product Passport requirements.","heroicons-outline:shield-check",[227,228,216,214,215],"espr","ecodesign",[227,228,216,214,215],{"title":231,"path":232,"stem":233,"children":234,"description":236,"icon":237,"tags":261},"Battery DPP","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002Findex",[235,241,246,252],{"title":231,"path":232,"stem":233,"description":236,"icon":237,"tags":238},"GS1-native implementation of EU Battery Regulation 2023\u002F1542 Digital Product Passport using EPCIS 2.0","heroicons:battery-100",[239,240,214,31,102,35,216],"battery","eu-battery-regulation",{"title":242,"path":243,"stem":244,"description":245,"icon":172},"Implementation Guide","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002F01.implementation-guide","Step-by-step guide for implementing a GS1-native Battery Digital Product Passport with OpenEPCIS extensions",{"title":247,"path":248,"stem":249,"description":250,"icon":251},"Event Types","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp\u002Fevent-types","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002F02.event-types","Complete reference for all EPCIS event types and sensor measurements in the Battery DPP","heroicons-outline:collection",{"title":253,"path":254,"stem":255,"description":256,"icon":13,"tags":257},"Complete Examples","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002F05.complete-examples","Reference Battery Digital Product Passport examples mapped to EU Battery Regulation 2023\u002F1542 Annex XIII",[239,258,259,62,260],"examples","annex-xiii","carbon-footprint",[239,240,214,31,102,35,216],{"title":263,"path":264,"stem":265,"children":266,"description":268,"icon":269,"tags":295},"EUDR","\u002Fdocs\u002Fdigital-product-passport\u002Feudr","docs\u002F11.digital-product-passport\u002F02.eudr\u002Findex",[267,274,279,283,288],{"title":263,"path":264,"stem":265,"description":268,"icon":269,"tags":270},"GS1-native implementation of EU Deforestation Regulation 2023\u002F1115 compliance using EPCIS 2.0","heroicons-outline:globe-europe-africa",[271,272,273,214,31,102,35,216],"eudr","deforestation","timber",{"title":242,"path":275,"stem":276,"description":277,"icon":278},"\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F02.eudr\u002F01.implementation-guide","Step-by-step guide for implementing EU Deforestation Regulation compliance using GS1 standards",null,{"title":247,"path":280,"stem":281,"description":282,"icon":278},"\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Fevent-types","docs\u002F11.digital-product-passport\u002F02.eudr\u002F02.event-types","EPCIS event types for EU Deforestation Regulation compliance",{"title":284,"path":285,"stem":286,"description":287,"icon":278},"URL Patterns","\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Furl-patterns","docs\u002F11.digital-product-passport\u002F02.eudr\u002F03.url-patterns","GS1 Digital Link URL patterns for EUDR implementations",{"title":253,"path":289,"stem":290,"description":291,"icon":13,"tags":292},"\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F02.eudr\u002F04.complete-examples","Reference EUDR examples — timber product passport, derived product, regulatory notification, harvesting \u002F origin-declaration \u002F processing \u002F supply-chain-transfer \u002F exemption events",[271,258,273,293,294],"due-diligence","geolocation",[271,272,273,214,31,102,35,216],{"title":297,"path":298,"stem":299,"children":300,"description":302,"icon":303,"tags":322},"Textile DPP","\u002Fdocs\u002Fdigital-product-passport\u002Ftextile","docs\u002F11.digital-product-passport\u002F03.textile\u002Findex",[301,309,316],{"title":297,"path":298,"stem":299,"description":302,"icon":303,"tags":304},"Digital Product Passport vocabulary for textiles and apparel under the EU Sustainable Textiles Strategy and ESPR 2024\u002F1781.","heroicons-outline:sparkles",[305,306,307,214,216,308],"textile","apparel","footwear","fibre-composition",{"title":242,"path":310,"stem":311,"description":312,"icon":313,"tags":314},"\u002Fdocs\u002Fdigital-product-passport\u002Ftextile\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F03.textile\u002F01.implementation-guide","How to assemble a Textile Digital Product Passport against the published openepcis-dpp-ready textile vocabulary","heroicons-outline:scissors",[305,306,307,315],"implementation",{"title":253,"path":317,"stem":318,"description":319,"icon":13,"tags":320},"\u002Fdocs\u002Fdigital-product-passport\u002Ftextile\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F03.textile\u002F02.complete-examples","Reference Textile Digital Product Passport documents covering apparel and footwear",[305,258,306,307,321,62],"fiber-composition",[305,306,307,214,216,308],{"title":324,"path":325,"stem":326,"children":327,"description":329,"icon":59,"tags":336},"Interoperability","\u002Fdocs\u002Fdigital-product-passport\u002Finteroperability","docs\u002F11.digital-product-passport\u002F04.interoperability\u002Findex",[328],{"title":324,"path":325,"stem":326,"description":329,"icon":59,"tags":330},"Guide to OpenEPCIS DPP interoperability with GS1, UNTP, CIRPASS2, and ESPR standards.",[331,332,102,333,227,334,335],"interoperability","untp","cirpass2","standards","alignment",[331,332,102,333,227,334,335],{"title":338,"path":339,"stem":340,"description":341,"icon":29,"tags":342},"DPP Resolution Flow","\u002Fdocs\u002Fdigital-product-passport\u002Fdpp-resolution-flow","docs\u002F11.digital-product-passport\u002F05.dpp-resolution-flow","How OpenEPCIS combined GS1 Digital Link, the IETF linkset format and content negotiation into one DPP resolution flow",[343,96,344,345],"walkthrough","linkset","content-negotiation",{"title":347,"path":348,"stem":349,"description":350,"icon":351,"tags":352},"Resolver Setup","\u002Fdocs\u002Fdigital-product-passport\u002Fresolver-setup","docs\u002F11.digital-product-passport\u002F06.resolver-setup","How to expose your DPP behind a GS1 Digital Link resolver","heroicons-outline:server",[353,96,344],"resolver",{"title":355,"path":356,"stem":357,"description":358,"icon":359,"tags":360},"Multi-Component Example","\u002Fdocs\u002Fdigital-product-passport\u002Fmulti-component-example","docs\u002F11.digital-product-passport\u002F07.multi-component-example","How a composite product references separately-passported components via standard GS1 Digital Link and EPCIS aggregation","heroicons-outline:puzzle-piece",[361,362,363,333],"example","components","aggregation",{"title":365,"path":366,"stem":367,"children":368,"description":370,"icon":371,"tags":390},"Electronics DPP","\u002Fdocs\u002Fdigital-product-passport\u002Felectronics","docs\u002F11.digital-product-passport\u002F08.electronics\u002Findex",[369,378,383],{"title":365,"path":366,"stem":367,"description":370,"icon":371,"tags":372},"Digital Product Passport vocabulary for electronic devices under ESPR, the French Repairability Index, EU Right to Repair and WEEE.","heroicons-outline:device-phone-mobile",[373,374,375,376,377],"electronics","repairability","weee","energy-label","right-to-repair",{"title":242,"path":379,"stem":380,"description":381,"icon":172,"tags":382},"\u002Fdocs\u002Fdigital-product-passport\u002Felectronics\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F08.electronics\u002F01.implementation-guide","How to assemble an Electronics Digital Product Passport against the published openepcis-dpp-ready electronics vocabulary",[373,315,374,375,376],{"title":253,"path":384,"stem":385,"description":386,"icon":13,"tags":387},"\u002Fdocs\u002Fdigital-product-passport\u002Felectronics\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F08.electronics\u002F02.complete-examples","Reference Electronics Digital Product Passport documents covering smartphone, laptop, display and server",[373,258,388,389,62],"smartphone","laptop",[373,374,375,376,377],[213,214,215,31,216,35,217],{"title":393,"path":394,"stem":395,"children":396,"description":398,"icon":399},"OpenEPCIS Overview","\u002Fdocs\u002Fplatform-overview","docs\u002F14.platform-overview\u002Findex",[397,400,406,412,418],{"title":393,"path":394,"stem":395,"description":398,"icon":399},"A GS1-conformant supply-chain data platform — Resolver, Masterdata, EPCIS Events — in open source and business editions.","lucide:layout-dashboard",{"title":401,"path":402,"stem":403,"description":404,"icon":405},"Architecture","\u002Fdocs\u002Fplatform-overview\u002Farchitecture","docs\u002F14.platform-overview\u002F01.architecture","How OpenEPCIS handles identity, isolation, events, and GS1 conformance — the four things that distinguish the platform.","lucide:cpu",{"title":407,"path":408,"stem":409,"description":410,"icon":411},"Feature Matrix","\u002Fdocs\u002Fplatform-overview\u002Ffeature-matrix","docs\u002F14.platform-overview\u002F02.feature-matrix","OpenEPCIS capabilities by edition, aligned to the relevant GS1 standards.","lucide:check-square",{"title":413,"path":414,"stem":415,"description":416,"icon":417},"Roadmap","\u002Fdocs\u002Fplatform-overview\u002Froadmap","docs\u002F14.platform-overview\u002F03.roadmap","Three horizons — Now, Next, Later. Skeleton awaiting user-confirmed dates.","lucide:map",{"title":419,"path":420,"stem":421,"children":422,"description":424,"icon":425},"Modules","\u002Fdocs\u002Fplatform-overview\u002Fmodules","docs\u002F14.platform-overview\u002Fmodules\u002Findex",[423,426,432,438,444,450,456,462],{"title":419,"path":420,"stem":421,"description":424,"icon":425},"Seven module families that organise the OpenEPCIS platform — Resolver, Masterdata, EPCIS Events, Formats & Validation, Integration, Testdata, Platform.","lucide:layers",{"title":427,"path":428,"stem":429,"description":430,"icon":431},"GS1 Conformant Resolver","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fresolver","docs\u002F14.platform-overview\u002Fmodules\u002F01.resolver","Resolves GS1 Digital Link URIs to product information, masterdata, EPCIS endpoints, and twelve more standard link types.","lucide:link-2",{"title":433,"path":434,"stem":435,"description":436,"icon":437},"GS1 Web Vocabulary & Masterdata","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fmasterdata","docs\u002F14.platform-overview\u002Fmodules\u002F02.masterdata","Web Vocabulary models, masterdata-to-resolver REST pattern, GS1 Germany Activate Plus \u002F GEPIR sync, and the event-driven masterdata bus.","lucide:database",{"title":439,"path":440,"stem":441,"description":442,"icon":443},"EPCIS Events — Capture, Query, Subscriptions","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fepcis-events","docs\u002F14.platform-overview\u002Fmodules\u002F03.epcis-events","EPCIS 2.0 REST and SOAP, live streaming subscriptions, resilient pagination, OpenSearch event store.","lucide:activity",{"title":445,"path":446,"stem":447,"description":448,"icon":449},"Formats, Validation & Identity","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fformats","docs\u002F14.platform-overview\u002Fmodules\u002F04.formats","XML ↔ JSON-LD conversion, multi-layer validation, identifier translation, idempotent event hashing.","lucide:file-check",{"title":451,"path":452,"stem":453,"description":454,"icon":455},"Integration & Gateways","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fintegration","docs\u002F14.platform-overview\u002Fmodules\u002F05.integration","Cloud storage, file service, natural-language AI assistant.","lucide:plug",{"title":457,"path":458,"stem":459,"description":460,"icon":461},"Testdata & Developer Tooling","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Ftestdata","docs\u002F14.platform-overview\u002Fmodules\u002F06.testdata","Synthetic EPCIS test event generation, reference event collections, conformance test suite, SDKs.","lucide:wrench",{"title":463,"path":464,"stem":465,"description":466,"icon":467},"Platform, Build & Observability","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fplatform","docs\u002F14.platform-overview\u002Fmodules\u002F07.platform","How OpenEPCIS is built, deployed, and observed.","lucide:server",{"title":469,"path":470,"stem":471,"children":472,"description":474,"icon":29,"tags":483},"Vision","\u002Fdocs\u002Fvision","docs\u002F15.vision\u002Findex",[473],{"title":469,"path":470,"stem":471,"description":474,"icon":29,"tags":475},"How UNTP, DIDs, Verifiable Credentials, and EPCIS work together to create unified product identity infrastructure for the connected supply chain.",[476,477,478,479,332,480,481,482],"vision","digital-twin","did","verifiable-credentials","rfid","industry-4-0","web-3-0",[476,477,478,479,332,480,481,482],[],{"doc":486,"usedFallback":2625},{"id":487,"title":488,"body":489,"description":133,"extension":2605,"icon":134,"lastUpdated":278,"meta":2606,"navigation":2617,"path":129,"seo":2619,"sitemap":2620,"stem":130,"__hash__":2624},"docsEN\u002Fdocs\u002F07.test-data-generator\u002Findex.md","Test Data Generator for EPCIS 2.0 Events and JSON-LD",{"type":490,"value":491,"toc":2577},"minimark",[492,497,501,510,517,524,527,530,533,536,540,543,547,550,553,557,560,563,566,569,572,575,578,581,583,585,587,589,591,593,597,600,605,608,627,630,660,664,667,686,695,699,718,722,739,743,751,754,806,813,816,826,834,838,841,845,852,856,863,867,874,1613,1617,1638,1645,1648,1655,1662,1669,1672,1676,1697,1850,1853,2573],[493,494,496],"h2",{"id":495},"quick-links","Quick links",[498,499,500],"p",{},"Please find below the links to the OpenEPCIS tools and codes referenced on this documentation page. To enhance your understanding and gain practical experience with these tools, we\nrecommend visiting and utilizing them:",[498,502,503,504],{},"• Test data generator web application : ",[505,506,507],"a",{"href":507,"rel":508},"https:\u002F\u002Ftools.openepcis.io\u002F",[509],"nofollow",[498,511,512,513],{},"• Test data generator API endpoint : ",[505,514,515],{"href":515,"rel":516},"https:\u002F\u002Ftools.openepcis.io\u002Fq\u002Fswagger-ui\u002F#\u002FTest%20Data%20Generator",[509],[498,518,519,520],{},"• Test data generator application code : ",[505,521,522],{"href":522,"rel":523},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator",[509],[493,525,23],{"id":526},"introduction",[498,528,529],{},"For various business requirements, including traceability (of goods, assets, etc.), process automation, compliance, and supply chain management, you and your trading partners must\ncapture and share visibility data in addition to master data (such as the description and weight of a trade item) and transactional data (such as an order, invoice, etc.). This\ndata category's fundamental and open-source standard, EPCIS has been already widely used across a number of industries.",[498,531,532],{},"The open standard for capturing and exchanging visibility data is EPCIS. It has been endorsed by GS1, ISO, and IEC. It includes a ready-to-use data model that enables you to\nconsolidate every stage of a business process into a single dataset. The basic details of what happened, when, where, why, and how are recorded as EPCIS events. The key to making\nyour items traceable is to keep track of all pertinent events (such as harvesting, producing, packing, shipping, and selling) throughout your supply network.",[498,534,535],{},"The OpenEPCIS Test Data Generator builds events on a reactive streaming pipeline so it can produce single events for a demo or millions of events for a load test without holding the full output set in memory.",[493,537,539],{"id":538},"need-for-epcis-test-data-generator","Need for EPCIS Test Data Generator",[498,541,542],{},"End users, solution providers and research institutions frequently need EPCIS test data — for load and performance tests, proof-of-concept work, populating test databases, kicking off data exchange between business partners. Authoring those events by hand is tedious; the Test Data Generator templates supply-chain shapes (commissioning, packing, shipping, transformation) and produces conformant EPCIS events from them.",[493,544,546],{"id":545},"openepcis-test-data-generator","OpenEPCIS test data generator",[498,548,549],{},"The initial version of the EPCIS test data generator was developed as part of master thesis with the collaboration of GS1 Germany from June to November 2020. Various users of the\nEPCIS community were involved in the development process, which enabled the application to be customised according to their needs and requirements. The latest version of the tool\nhas been developed as part of an organisational effort at benelog GmbH & Co. KG with many improvements and more advanced functionality. Anyone interested in adopting or\nimplementing EPCIS can get assistance from the interactive application OpenEPCIS Test Data Generator. It is being offered as an open-source project. This essentially means that\nanyone is welcome to use the tool.",[498,551,552],{},"Regardless of the industry, use case, or application domain, the OpenEPCIS test data generator tool offers a flexible and potent solution for creating test events. The generated\nevents adhere to the most recent EPCIS specification, i.e. EPCIS 2.0. Events are produced in JSON\u002FJSON-LD, but if businesses need EPCIS events in XML (either in accordance with\nEPCIS 1.2 or the most recent version, i.e., 2.0), there are additional open source tools that can transform them into the required data format.",[493,554,556],{"id":555},"key-features","Key Features",[498,558,559],{},"The following are some of the tool's key characteristics:",[498,561,562],{},"• Adheres to the most recent revisions of CBV 2.0 and EPCIS 2.0.",[498,564,565],{},"• Supports object\u002Flocation IDs using both GS1 Digital Link URIs and EPC\u002FEPC Class URIs.",[498,567,568],{},"• Generates JSON\u002FJSON-LD events (which in turn can be translated to XML through other tools).",[498,570,571],{},"• Contains a randomization technique for elements like timestamps and serial numbers.",[498,573,574],{},"• Supports the use of both UUIDs and EPCIS Event Hash IDs to identify EPCIS events.",[498,576,577],{},"• Offers functionality for modelling uniquely tailored event sequences.",[498,579,580],{},"• Offers copying or exporting of designs or events for later use.",[498,582,565],{},[498,584,568],{},[498,586,571],{},[498,588,574],{},[498,590,577],{},[498,592,580],{},[493,594,596],{"id":595},"local-set-up","Local set-up",[498,598,599],{},"On your local system, the OpenEPCIS Test Data Generator can be set up in various ways. The following section explains how to quickly set up the application using Podman and Docker.",[601,602,604],"h3",{"id":603},"running-with-podman","Running with Podman",[498,606,607],{},"As a prerequisite, you must install Podman on your system (Podman is an open-source software platform for fast-developing, testing, and deploying applications). Please refer to the\nfollowing links for further information about Podman and for installation guidelines:",[498,609,610,611,616,617,622,623],{},"Official Podman: ",[505,612,615],{"href":613,"rel":614},"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman%5C",[509],"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman\\","\nDocumentation: ",[505,618,621],{"href":619,"rel":620},"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman\u002Ftree\u002Fmain\u002Fdocs%5C",[509],"https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fpodman\u002Ftree\u002Fmain\u002Fdocs\\","\nInstallation instruction for Windows\u002FmacOS: ",[505,624,625],{"href":625,"rel":626},"https:\u002F\u002Fpodman.io\u002Fgetting-started\u002Finstallation",[509],[498,628,629],{},"Run the following command in a terminal or command prompt after installing Podman on your local machine:",[631,632,636],"pre",{"className":633,"code":634,"language":61,"meta":635,"style":635},"language-json shiki shiki-themes material-theme-lighter github-light github-dark monokai","podman run --rm -t --name testdata-generator -p 8080:8080 openepcis\u002Ftestdata-generator\n","",[637,638,639],"code",{"__ignoreMap":635},[640,641,644,648,652,655,657],"span",{"class":642,"line":643},"line",1,[640,645,647],{"class":646},"ss--_","podman run --rm -t --name testdata-generator -p ",[640,649,651],{"class":650},"sYThS","8080",[640,653,654],{"class":646},":",[640,656,651],{"class":650},[640,658,659],{"class":646}," openepcis\u002Ftestdata-generator\n",[601,661,663],{"id":662},"running-with-docker-or-podman","Running with Docker or Podman",[498,665,666],{},"Docker has to be installed on your system as a prerequisite (Note: Commercial usage of Docker is subject to license restrictions). Please refer to the following pages for further\ninformation about Docker and for installation guidelines:",[498,668,669,670,675,676,681,682],{},"For Windows: ",[505,671,674],{"href":672,"rel":673},"https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002Finstall\u002Fwindows-install\u002F%5C",[509],"https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002Finstall\u002Fwindows-install\u002F\\","\nFor macOS: ",[505,677,680],{"href":678,"rel":679},"https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002Finstall\u002Fmac-install\u002F%5C",[509],"https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002Finstall\u002Fmac-install\u002F\\","\nFor Linux: ",[505,683,684],{"href":684,"rel":685},"https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002Finstall\u002Flinux-install\u002F",[509],[498,687,688,689,694],{},"To run the testdata generator you can simply use the ",[505,690,693],{"href":691,"rel":692},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Fpkgs\u002Fcontainer\u002Ftestdata-generator",[509],"Testdata Generator Container Image","\nimage provided on GitHub.",[601,696,698],{"id":697},"docker","Docker",[631,700,702],{"className":633,"code":701,"language":61,"meta":635,"style":635},"docker run --rm -t --name testdata-generator -p 8080:8080 ghcr.io\u002Fopenepcis\u002Ftestdata-generator:latest\n",[637,703,704],{"__ignoreMap":635},[640,705,706,709,711,713,715],{"class":642,"line":643},[640,707,708],{"class":646},"docker run --rm -t --name testdata-generator -p ",[640,710,651],{"class":650},[640,712,654],{"class":646},[640,714,651],{"class":650},[640,716,717],{"class":646}," ghcr.io\u002Fopenepcis\u002Ftestdata-generator:latest\n",[601,719,721],{"id":720},"podman","Podman",[631,723,725],{"className":633,"code":724,"language":61,"meta":635,"style":635},"podman run --rm -t --name testdata-generator -p 8080:8080 ghcr.io\u002Fopenepcis\u002Ftestdata-generator:latest\n",[637,726,727],{"__ignoreMap":635},[640,728,729,731,733,735,737],{"class":642,"line":643},[640,730,647],{"class":646},[640,732,651],{"class":650},[640,734,654],{"class":646},[640,736,651],{"class":650},[640,738,717],{"class":646},[601,740,742],{"id":741},"native-testdata-generator-quarkus-rest-app-artifacts","Native Testdata Generator Quarkus REST App Artifacts",[498,744,745,746,750],{},"The service runtime is also available as Quarkus Native Build. You can find the latest version of the native binaries on the GitHub release\npage ",[505,747,748],{"href":748,"rel":749},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Freleases\u002F",[509],".",[498,752,753],{},"Below are the available Quarkus Native build artifacts for our latest release. These have been optimized for different platforms:",[755,756,757,770],"table",{},[758,759,760],"thead",{},[761,762,763,767],"tr",{},[764,765,766],"th",{},"Filename",[764,768,769],{},"Platform",[771,772,773,782,790,798],"tbody",{},[761,774,775,779],{},[776,777,778],"td",{},"testdata-generator-quarkus-rest-app-runner-${VERSION}-linux-amd64",[776,780,781],{},"Linux (AMD64)",[761,783,784,787],{},[776,785,786],{},"testdata-generator-quarkus-rest-app-runner-${VERSION}-linux-arm64",[776,788,789],{},"Linux (ARM64)",[761,791,792,795],{},[776,793,794],{},"testdata-generator-quarkus-rest-app-runner-${VERSION}-mac",[776,796,797],{},"MacOS",[761,799,800,803],{},[776,801,802],{},"testdata-generator-quarkus-rest-app-runner-${VERSION}-windows.exe",[776,804,805],{},"Windows",[498,807,808,809,812],{},"Replace ",[637,810,811],{},"${VERSION}"," with the version number related to the release.",[498,814,815],{},"These artifacts are Quarkus native builds, which trade longer build time for smaller memory footprint and faster start-up — useful when the generator runs as a container in a CI pipeline.",[498,817,818,819,822,823],{},"A generic ",[637,820,821],{},".jar"," file is also available: ",[637,824,825],{},"testdata-generator-quarkus-rest-app-.jar",[498,827,828,829,750],{},"A multi-architecture native container image is published at ",[505,830,833],{"href":831,"rel":832},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Fpkgs\u002Fcontainer\u002Ftestdata-generator-native",[509],"github.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Fpkgs\u002Fcontainer\u002Ftestdata-generator-native",[493,835,837],{"id":836},"usage","Usage",[498,839,840],{},"Following section provides quick overview of how to generate EPCIS events:",[601,842,844],{"id":843},"web-application","Web application",[498,846,847,848,750],{},"The web application is beneficial to users who are new to the EPCIS world as it visually provides all the components of the EPCIS which are segregated based on different\ndimensions. It is very easy to provide values for necessary fields based on the requirement or supply chain and generate the EPCIS events accordingly. The web application can be\nfround from ",[505,849,851],{"href":507,"rel":850},[509],"here",[601,853,855],{"id":854},"api-endpoint","API endpoint",[498,857,858,859,862],{},"Software developers wishing to explore the tool’s underlying APIs (e.g. to understand how a request and response body of an API call looks like) might be interested in the\nSwagger-UI page. Swagger-UI is an open source application that generates a web page which lists all the APIs according to the OpenAPI standard. The page gives a summary and\nvisually illustrates various features of the APIs such as their request and response bodies. If you have installed and executed a Podman container as described in the set-up\nsection, you should be able to access it via the URL ",[637,860,861],{},"http:\u002F\u002Flocalhost:8080\u002Fq\u002Fswagger-ui\u002F",". You can start making requests to the Test Data Generator service API by using an input\ntemplate. Of course, you can also use the Swagger-UI page to generate test data (there is no limit as with the web application), but it is not as performant as using the command\nline.",[601,864,866],{"id":865},"command-line","Command Line",[498,868,869,870,873],{},"Especially in cases where you need large amounts of test data (i.e. more than 1,000 events), open your command line or terminal and issue a cURL (Client URL) request. If you\nfollowed the instructions for setting up the Podman container as described in the set-up section, you should be able to make a cURL request using your input template to API\nendpoint: ",[637,871,872],{},"http:\u002F\u002Flocalhost:8080\u002Fapi\u002FgenerateTestData?pretty=true",". An exemplary cURL request with a sample InputTemplate (which you can replace with your own) looks as follows:",[631,875,877],{"className":633,"code":876,"language":61,"meta":635,"style":635},"curl -X 'POST' \\\n'http:\u002F\u002Flocalhost:8080\u002Fapi\u002FgenerateTestData?pretty=true' \\\n-H 'accept: application\u002Fjson' \\\n-H 'Content-Type: application\u002Fjson' \\\n-d '{\n\"events\": [\n{\n\"nodeId\": 1,\n\"eventType\": \"ObjectEvent\",\n\"eventCount\": 10,\n\"locationPartyIdentifierSyntax\": \"URN\",\n\"ordinaryEvent\": true,\n\"action\": \"ADD\",\n\"eventID\": false,\n\"eventTime\": {\n\"timeZoneOffset\": \"+02:00\",\n\"fromTime\": \"2022-10-01T10:22:16+02:00\",\n\"toTime\": \"2022-10-31T10:22:16+02:00\"\n},\n\"businessStep\": \"COMMISSIONING\",\n\"disposition\": \"ACTIVE\",\n\"referencedIdentifier\": [\n{\n\"identifierId\": 1,\n\"epcCount\": 10,\n\"classCount\": 0\n}\n],\n\"parentReferencedIdentifier\": {\n},\n\"outputReferencedIdentifier\": []\n}\n],\n\"identifiers\": [\n{\n\"identifierId\": 1,\n\"objectIdentifierSyntax\": \"URN\",\n\"instanceData\": {\n\"sgtin\": {\n\"identifierType\": \"sgtin\",\n\"gcpLength\": 10,\n\"sgtin\": \"40584954485984\",\n\"serialType\": \"random\",\n\"randomCount\": 10,\n\"randomType\": \"NUMERIC\",\n\"randomMinLength\": 2,\n\"randomMaxLength\": 10\n}\n},\n\"classData\": null,\n\"parentData\": null\n}\n]\n}'\n",[637,878,879,884,894,900,906,916,933,938,957,981,998,1019,1037,1058,1075,1090,1112,1133,1153,1159,1180,1201,1215,1220,1236,1252,1267,1273,1279,1293,1298,1313,1318,1323,1337,1342,1357,1377,1391,1404,1425,1441,1461,1482,1498,1519,1536,1551,1556,1561,1578,1593,1598,1604],{"__ignoreMap":635},[640,880,881],{"class":642,"line":643},[640,882,883],{"class":646},"curl -X 'POST' \\\n",[640,885,887,890],{"class":642,"line":886},2,[640,888,889],{"class":646},"'http:",[640,891,893],{"class":892},"ss7Ak","\u002F\u002Flocalhost:8080\u002Fapi\u002FgenerateTestData?pretty=true' \\\n",[640,895,897],{"class":642,"line":896},3,[640,898,899],{"class":646},"-H 'accept: application\u002Fjson' \\\n",[640,901,903],{"class":642,"line":902},4,[640,904,905],{"class":646},"-H 'Content-Type: application\u002Fjson' \\\n",[640,907,909,912],{"class":642,"line":908},5,[640,910,911],{"class":646},"-d '",[640,913,915],{"class":914},"swvn1","{\n",[640,917,919,923,926,928,930],{"class":642,"line":918},6,[640,920,922],{"class":921},"saDeg","\"",[640,924,64],{"class":925},"sEff5",[640,927,922],{"class":921},[640,929,654],{"class":914},[640,931,932],{"class":914}," [\n",[640,934,936],{"class":642,"line":935},7,[640,937,915],{"class":914},[640,939,941,943,947,949,951,954],{"class":642,"line":940},8,[640,942,922],{"class":921},[640,944,946],{"class":945},"s_MOj","nodeId",[640,948,922],{"class":921},[640,950,654],{"class":914},[640,952,953],{"class":650}," 1",[640,955,956],{"class":914},",\n",[640,958,960,962,965,967,969,973,977,979],{"class":642,"line":959},9,[640,961,922],{"class":921},[640,963,964],{"class":945},"eventType",[640,966,922],{"class":921},[640,968,654],{"class":914},[640,970,972],{"class":971},"sh1VR"," \"",[640,974,976],{"class":975},"sINAO","ObjectEvent",[640,978,922],{"class":971},[640,980,956],{"class":914},[640,982,984,986,989,991,993,996],{"class":642,"line":983},10,[640,985,922],{"class":921},[640,987,988],{"class":945},"eventCount",[640,990,922],{"class":921},[640,992,654],{"class":914},[640,994,995],{"class":650}," 10",[640,997,956],{"class":914},[640,999,1001,1003,1006,1008,1010,1012,1015,1017],{"class":642,"line":1000},11,[640,1002,922],{"class":921},[640,1004,1005],{"class":945},"locationPartyIdentifierSyntax",[640,1007,922],{"class":921},[640,1009,654],{"class":914},[640,1011,972],{"class":971},[640,1013,1014],{"class":975},"URN",[640,1016,922],{"class":971},[640,1018,956],{"class":914},[640,1020,1022,1024,1027,1029,1031,1035],{"class":642,"line":1021},12,[640,1023,922],{"class":921},[640,1025,1026],{"class":945},"ordinaryEvent",[640,1028,922],{"class":921},[640,1030,654],{"class":914},[640,1032,1034],{"class":1033},"sMTiH"," true",[640,1036,956],{"class":914},[640,1038,1040,1042,1045,1047,1049,1051,1054,1056],{"class":642,"line":1039},13,[640,1041,922],{"class":921},[640,1043,1044],{"class":945},"action",[640,1046,922],{"class":921},[640,1048,654],{"class":914},[640,1050,972],{"class":971},[640,1052,1053],{"class":975},"ADD",[640,1055,922],{"class":971},[640,1057,956],{"class":914},[640,1059,1061,1063,1066,1068,1070,1073],{"class":642,"line":1060},14,[640,1062,922],{"class":921},[640,1064,1065],{"class":945},"eventID",[640,1067,922],{"class":921},[640,1069,654],{"class":914},[640,1071,1072],{"class":1033}," false",[640,1074,956],{"class":914},[640,1076,1078,1080,1083,1085,1087],{"class":642,"line":1077},15,[640,1079,922],{"class":921},[640,1081,1082],{"class":945},"eventTime",[640,1084,922],{"class":921},[640,1086,654],{"class":914},[640,1088,1089],{"class":914}," {\n",[640,1091,1093,1095,1099,1101,1103,1105,1108,1110],{"class":642,"line":1092},16,[640,1094,922],{"class":921},[640,1096,1098],{"class":1097},"sTC9v","timeZoneOffset",[640,1100,922],{"class":921},[640,1102,654],{"class":914},[640,1104,972],{"class":971},[640,1106,1107],{"class":975},"+02:00",[640,1109,922],{"class":971},[640,1111,956],{"class":914},[640,1113,1115,1117,1120,1122,1124,1126,1129,1131],{"class":642,"line":1114},17,[640,1116,922],{"class":921},[640,1118,1119],{"class":1097},"fromTime",[640,1121,922],{"class":921},[640,1123,654],{"class":914},[640,1125,972],{"class":971},[640,1127,1128],{"class":975},"2022-10-01T10:22:16+02:00",[640,1130,922],{"class":971},[640,1132,956],{"class":914},[640,1134,1136,1138,1141,1143,1145,1147,1150],{"class":642,"line":1135},18,[640,1137,922],{"class":921},[640,1139,1140],{"class":1097},"toTime",[640,1142,922],{"class":921},[640,1144,654],{"class":914},[640,1146,972],{"class":971},[640,1148,1149],{"class":975},"2022-10-31T10:22:16+02:00",[640,1151,1152],{"class":971},"\"\n",[640,1154,1156],{"class":642,"line":1155},19,[640,1157,1158],{"class":914},"},\n",[640,1160,1162,1164,1167,1169,1171,1173,1176,1178],{"class":642,"line":1161},20,[640,1163,922],{"class":921},[640,1165,1166],{"class":945},"businessStep",[640,1168,922],{"class":921},[640,1170,654],{"class":914},[640,1172,972],{"class":971},[640,1174,1175],{"class":975},"COMMISSIONING",[640,1177,922],{"class":971},[640,1179,956],{"class":914},[640,1181,1183,1185,1188,1190,1192,1194,1197,1199],{"class":642,"line":1182},21,[640,1184,922],{"class":921},[640,1186,1187],{"class":945},"disposition",[640,1189,922],{"class":921},[640,1191,654],{"class":914},[640,1193,972],{"class":971},[640,1195,1196],{"class":975},"ACTIVE",[640,1198,922],{"class":971},[640,1200,956],{"class":914},[640,1202,1204,1206,1209,1211,1213],{"class":642,"line":1203},22,[640,1205,922],{"class":921},[640,1207,1208],{"class":945},"referencedIdentifier",[640,1210,922],{"class":921},[640,1212,654],{"class":914},[640,1214,932],{"class":914},[640,1216,1218],{"class":642,"line":1217},23,[640,1219,915],{"class":914},[640,1221,1223,1225,1228,1230,1232,1234],{"class":642,"line":1222},24,[640,1224,922],{"class":921},[640,1226,1227],{"class":1097},"identifierId",[640,1229,922],{"class":921},[640,1231,654],{"class":914},[640,1233,953],{"class":650},[640,1235,956],{"class":914},[640,1237,1239,1241,1244,1246,1248,1250],{"class":642,"line":1238},25,[640,1240,922],{"class":921},[640,1242,1243],{"class":1097},"epcCount",[640,1245,922],{"class":921},[640,1247,654],{"class":914},[640,1249,995],{"class":650},[640,1251,956],{"class":914},[640,1253,1255,1257,1260,1262,1264],{"class":642,"line":1254},26,[640,1256,922],{"class":921},[640,1258,1259],{"class":1097},"classCount",[640,1261,922],{"class":921},[640,1263,654],{"class":914},[640,1265,1266],{"class":650}," 0\n",[640,1268,1270],{"class":642,"line":1269},27,[640,1271,1272],{"class":914},"}\n",[640,1274,1276],{"class":642,"line":1275},28,[640,1277,1278],{"class":914},"],\n",[640,1280,1282,1284,1287,1289,1291],{"class":642,"line":1281},29,[640,1283,922],{"class":921},[640,1285,1286],{"class":945},"parentReferencedIdentifier",[640,1288,922],{"class":921},[640,1290,654],{"class":914},[640,1292,1089],{"class":914},[640,1294,1296],{"class":642,"line":1295},30,[640,1297,1158],{"class":914},[640,1299,1301,1303,1306,1308,1310],{"class":642,"line":1300},31,[640,1302,922],{"class":921},[640,1304,1305],{"class":945},"outputReferencedIdentifier",[640,1307,922],{"class":921},[640,1309,654],{"class":914},[640,1311,1312],{"class":914}," []\n",[640,1314,1316],{"class":642,"line":1315},32,[640,1317,1272],{"class":914},[640,1319,1321],{"class":642,"line":1320},33,[640,1322,1278],{"class":914},[640,1324,1326,1328,1331,1333,1335],{"class":642,"line":1325},34,[640,1327,922],{"class":921},[640,1329,1330],{"class":925},"identifiers",[640,1332,922],{"class":921},[640,1334,654],{"class":914},[640,1336,932],{"class":914},[640,1338,1340],{"class":642,"line":1339},35,[640,1341,915],{"class":914},[640,1343,1345,1347,1349,1351,1353,1355],{"class":642,"line":1344},36,[640,1346,922],{"class":921},[640,1348,1227],{"class":945},[640,1350,922],{"class":921},[640,1352,654],{"class":914},[640,1354,953],{"class":650},[640,1356,956],{"class":914},[640,1358,1360,1362,1365,1367,1369,1371,1373,1375],{"class":642,"line":1359},37,[640,1361,922],{"class":921},[640,1363,1364],{"class":945},"objectIdentifierSyntax",[640,1366,922],{"class":921},[640,1368,654],{"class":914},[640,1370,972],{"class":971},[640,1372,1014],{"class":975},[640,1374,922],{"class":971},[640,1376,956],{"class":914},[640,1378,1380,1382,1385,1387,1389],{"class":642,"line":1379},38,[640,1381,922],{"class":921},[640,1383,1384],{"class":945},"instanceData",[640,1386,922],{"class":921},[640,1388,654],{"class":914},[640,1390,1089],{"class":914},[640,1392,1394,1396,1398,1400,1402],{"class":642,"line":1393},39,[640,1395,922],{"class":921},[640,1397,109],{"class":1097},[640,1399,922],{"class":921},[640,1401,654],{"class":914},[640,1403,1089],{"class":914},[640,1405,1407,1409,1413,1415,1417,1419,1421,1423],{"class":642,"line":1406},40,[640,1408,922],{"class":921},[640,1410,1412],{"class":1411},"sogGa","identifierType",[640,1414,922],{"class":921},[640,1416,654],{"class":914},[640,1418,972],{"class":971},[640,1420,109],{"class":975},[640,1422,922],{"class":971},[640,1424,956],{"class":914},[640,1426,1428,1430,1433,1435,1437,1439],{"class":642,"line":1427},41,[640,1429,922],{"class":921},[640,1431,1432],{"class":1411},"gcpLength",[640,1434,922],{"class":921},[640,1436,654],{"class":914},[640,1438,995],{"class":650},[640,1440,956],{"class":914},[640,1442,1444,1446,1448,1450,1452,1454,1457,1459],{"class":642,"line":1443},42,[640,1445,922],{"class":921},[640,1447,109],{"class":1411},[640,1449,922],{"class":921},[640,1451,654],{"class":914},[640,1453,972],{"class":971},[640,1455,1456],{"class":975},"40584954485984",[640,1458,922],{"class":971},[640,1460,956],{"class":914},[640,1462,1464,1466,1469,1471,1473,1475,1478,1480],{"class":642,"line":1463},43,[640,1465,922],{"class":921},[640,1467,1468],{"class":1411},"serialType",[640,1470,922],{"class":921},[640,1472,654],{"class":914},[640,1474,972],{"class":971},[640,1476,1477],{"class":975},"random",[640,1479,922],{"class":971},[640,1481,956],{"class":914},[640,1483,1485,1487,1490,1492,1494,1496],{"class":642,"line":1484},44,[640,1486,922],{"class":921},[640,1488,1489],{"class":1411},"randomCount",[640,1491,922],{"class":921},[640,1493,654],{"class":914},[640,1495,995],{"class":650},[640,1497,956],{"class":914},[640,1499,1501,1503,1506,1508,1510,1512,1515,1517],{"class":642,"line":1500},45,[640,1502,922],{"class":921},[640,1504,1505],{"class":1411},"randomType",[640,1507,922],{"class":921},[640,1509,654],{"class":914},[640,1511,972],{"class":971},[640,1513,1514],{"class":975},"NUMERIC",[640,1516,922],{"class":971},[640,1518,956],{"class":914},[640,1520,1522,1524,1527,1529,1531,1534],{"class":642,"line":1521},46,[640,1523,922],{"class":921},[640,1525,1526],{"class":1411},"randomMinLength",[640,1528,922],{"class":921},[640,1530,654],{"class":914},[640,1532,1533],{"class":650}," 2",[640,1535,956],{"class":914},[640,1537,1539,1541,1544,1546,1548],{"class":642,"line":1538},47,[640,1540,922],{"class":921},[640,1542,1543],{"class":1411},"randomMaxLength",[640,1545,922],{"class":921},[640,1547,654],{"class":914},[640,1549,1550],{"class":650}," 10\n",[640,1552,1554],{"class":642,"line":1553},48,[640,1555,1272],{"class":914},[640,1557,1559],{"class":642,"line":1558},49,[640,1560,1158],{"class":914},[640,1562,1564,1566,1569,1571,1573,1576],{"class":642,"line":1563},50,[640,1565,922],{"class":921},[640,1567,1568],{"class":945},"classData",[640,1570,922],{"class":921},[640,1572,654],{"class":914},[640,1574,1575],{"class":1033}," null",[640,1577,956],{"class":914},[640,1579,1581,1583,1586,1588,1590],{"class":642,"line":1580},51,[640,1582,922],{"class":921},[640,1584,1585],{"class":945},"parentData",[640,1587,922],{"class":921},[640,1589,654],{"class":914},[640,1591,1592],{"class":1033}," null\n",[640,1594,1596],{"class":642,"line":1595},52,[640,1597,1272],{"class":914},[640,1599,1601],{"class":642,"line":1600},53,[640,1602,1603],{"class":914},"]\n",[640,1605,1607,1610],{"class":642,"line":1606},54,[640,1608,1609],{"class":914},"}",[640,1611,1612],{"class":646},"'\n",[493,1614,1616],{"id":1615},"application-code","Application code",[498,1618,1619,1620,1625,1626,1631,1632,1637],{},"The developed OpenEPCIS Test Data Generator application has been divided into 3\nmodules ",[505,1621,1624],{"href":1622,"rel":1623},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Ftree\u002Fmain\u002Ftestdata-generator-common",[509],"testdata-generator-common",", ",[505,1627,1630],{"href":1628,"rel":1629},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Ftree\u002Fmain\u002Ftestdata-generator-rest-api",[509],"testdata-generator-rest-api",",\nand ",[505,1633,1636],{"href":1634,"rel":1635},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Ftree\u002Fmain\u002Ftestdata-generator-ui",[509],"testdata-generator-ui",". Following is the overview of the individual module:",[601,1639,1641,1644],{"id":1640},"testdata-generator-common-generic-java-library-for-generating-testdata-events",[505,1642,1624],{"href":1622,"rel":1643},[509]," (Generic java library for generating testdata events)",[498,1646,1647],{},"This is the core of the OpenEPCIS Test Data Generator where the events are actually generated. It includes the logic for generating the events and formatting the values according\nto the EPCIS standard. To make the application memory efficient and to generate a large number of test events quickly only one event information is stored in memory at a time. It\nemploys the Reactive Stream approach to do the same. This module has been developed primarily using Java with some additional libraries such as Jackson, Lombok, SmallRye Mutiny\netc.",[601,1649,1651,1654],{"id":1650},"testdata-generator-rest-api-rest-service-wrapper-for-generating-testdata-events",[505,1652,1630],{"href":1628,"rel":1653},[509]," (REST service wrapper for generating testdata events)",[498,1656,1657,1658,1661],{},"This is the service that acts as a bridge between the front-end and back-end server. When a user provides the input information in the form of InputTemplate to generate the test\ndata events then this service module will capture that information and validates it. If the InputTemplate adheres to all the constraints and rules then it's sent to the backend\nserver (",[505,1659,1624],{"href":1622,"rel":1660},[509],") to generate the events. This service can also be\ndirectly accessed via the cURL command or Swagger-UI. This module has been developed using the latest technologies such as Java with the Quarkus framework. However, it also\nutilizes some libraries such as Jackson, OpenAPI, Hibernate validator, etc.",[601,1663,1665,1668],{"id":1664},"testdata-generator-ui-user-interface-for-generating-testdata-events",[505,1666,1636],{"href":1634,"rel":1667},[509]," (user interface for generating testdata events)",[498,1670,1671],{},"This is the user's view of the application where users can interact with various fields of EPCIS and provide the necessary values. Also, It does the task of converting the\nuser-provided values\ninto the InputTemplate required for the subsequent modules. It has been developed primarily using the technologies such as HTML (HyperText Markup Language), JavaScript library\nNuxt.js\u002FVue.js, and\nCSS(Cascading Style Sheets). It also includes some important front-end libraries\u002Fframeworks such as Drawflow, Bootstrap, Bootstrap icons, CodeMirror, etc.",[601,1673,1675],{"id":1674},"direct-usage","Direct usage",[498,1677,1678,1679,1684,1685,1688,1689,1692,1693,1696],{},"The ",[505,1680,1683],{"href":1681,"rel":1682},"https:\u002F\u002Fgithub.com\u002Fopenepcis\u002Fepcis-testdata-generator\u002Ftree\u002Fmain\u002Ftestdata-generator-common\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Fopenepcis\u002Ftestdata\u002Fgenerator\u002FEPCISEventGenerator.java",[509],"EPCISEventGenerator class","\nwithin ",[505,1686,1624],{"href":1622,"rel":1687},[509]," contains the Java method ",[637,1690,1691],{},"generate"," for producing test\ndata events. To generate events, you must have the proper ",[637,1694,1695],{},"inputTemplate"," JSON prepared with all necessary data, which you can pass to the following method to obtain the required\nevents:",[631,1698,1702],{"className":1699,"code":1700,"language":1701,"meta":635,"style":635},"language-java shiki shiki-themes material-theme-lighter github-light github-dark monokai","\u002F\u002F Pass the required JSON inputTemplate to generate EPCIS testdata events.\nEPCISEventGenerator.generate(inputTemplate).collect().asList().await().indefinitely().forEach(e- >{\n        try{\n        System.out.println(e.toString());\n        }catch(JsonProcessingException ex){\n        throw new CompletionException(ex);\n        }\n        });\n","java",[637,1703,1704,1709,1765,1773,1800,1821,1840,1845],{"__ignoreMap":635},[640,1705,1706],{"class":642,"line":643},[640,1707,1708],{"class":892},"\u002F\u002F Pass the required JSON inputTemplate to generate EPCIS testdata events.\n",[640,1710,1711,1714,1716,1719,1722,1724,1727,1730,1733,1736,1738,1741,1743,1746,1748,1751,1753,1756,1760,1763],{"class":642,"line":886},[640,1712,1713],{"class":646},"EPCISEventGenerator",[640,1715,750],{"class":914},[640,1717,1691],{"class":1718},"sD0ED",[640,1720,1721],{"class":914},"(",[640,1723,1695],{"class":646},[640,1725,1726],{"class":914},").",[640,1728,1729],{"class":1718},"collect",[640,1731,1732],{"class":914},"().",[640,1734,1735],{"class":1718},"asList",[640,1737,1732],{"class":914},[640,1739,1740],{"class":1718},"await",[640,1742,1732],{"class":914},[640,1744,1745],{"class":1718},"indefinitely",[640,1747,1732],{"class":914},[640,1749,1750],{"class":1718},"forEach",[640,1752,1721],{"class":914},[640,1754,1755],{"class":646},"e",[640,1757,1759],{"class":1758},"sGXK2","-",[640,1761,1762],{"class":1758}," >",[640,1764,915],{"class":914},[640,1766,1767,1771],{"class":642,"line":896},[640,1768,1770],{"class":1769},"sRxSC","        try",[640,1772,915],{"class":914},[640,1774,1775,1778,1780,1783,1785,1788,1790,1792,1794,1797],{"class":642,"line":902},[640,1776,1777],{"class":646},"        System",[640,1779,750],{"class":914},[640,1781,1782],{"class":646},"out",[640,1784,750],{"class":914},[640,1786,1787],{"class":1718},"println",[640,1789,1721],{"class":914},[640,1791,1755],{"class":646},[640,1793,750],{"class":914},[640,1795,1796],{"class":1718},"toString",[640,1798,1799],{"class":914},"());\n",[640,1801,1802,1805,1808,1810,1814,1818],{"class":642,"line":908},[640,1803,1804],{"class":914},"        }",[640,1806,1807],{"class":1769},"catch",[640,1809,1721],{"class":914},[640,1811,1813],{"class":1812},"syw9h","JsonProcessingException",[640,1815,1817],{"class":1816},"sQgqH"," ex",[640,1819,1820],{"class":914},"){\n",[640,1822,1823,1826,1829,1832,1834,1837],{"class":642,"line":918},[640,1824,1825],{"class":1769},"        throw",[640,1827,1828],{"class":1769}," new",[640,1830,1831],{"class":1718}," CompletionException",[640,1833,1721],{"class":914},[640,1835,1836],{"class":646},"ex",[640,1838,1839],{"class":914},");\n",[640,1841,1842],{"class":642,"line":935},[640,1843,1844],{"class":914},"        }\n",[640,1846,1847],{"class":642,"line":940},[640,1848,1849],{"class":914},"        });\n",[498,1851,1852],{},"Sample inputTemplate:",[631,1854,1856],{"className":633,"code":1855,"language":61,"meta":635,"style":635},"{\n  \"events\": [\n    {\n      \"nodeId\": 1,\n      \"eventType\": \"ObjectEvent\",\n      \"eventCount\": 5,\n      \"locationPartyIdentifierSyntax\": \"URN\",\n      \"ordinaryEvent\": true,\n      \"action\": \"ADD\",\n      \"eventID\": true,\n      \"eventTime\": {\n        \"timeZoneOffset\": \"+02:00\",\n        \"fromTime\": \"2022-04-01T18:30:04+02:00\",\n        \"toTime\": \"2022-04-05T18:30:04+02:00\"\n      },\n      \"recordTimeType\": \"CURRENT_TIME\",\n      \"businessStep\": \"COMMISSIONING\",\n      \"disposition\": \"ACTIVE\",\n      \"referencedIdentifier\": [\n        {\n          \"identifierId\": 1,\n          \"epcCount\": 10,\n          \"classCount\": 5\n        }\n      ],\n      \"parentReferencedIdentifier\": {},\n      \"outputReferencedIdentifier\": []\n    }\n  ],\n  \"identifiers\": [\n    {\n      \"identifierId\": 1,\n      \"objectIdentifierSyntax\": \"URN\",\n      \"instanceData\": {\n        \"sgtin\": {\n          \"identifierType\": \"sgtin\",\n          \"gcpLength\": 10,\n          \"sgtin\": \"89384989388934\",\n          \"serialType\": \"range\",\n          \"rangeFrom\": 100,\n          \"rangeTo\": 110\n        }\n      },\n      \"classData\": {\n        \"grai\": {\n          \"identifierType\": \"grai\",\n          \"gcpLength\": 10,\n          \"quantityType\": null,\n          \"uom\": null,\n          \"serialType\": \"\",\n          \"grai\": \"8384783874378\",\n          \"classIdentifiersCount\": 5\n        }\n      },\n      \"parentData\": null\n    }\n  ]\n}\n",[637,1857,1858,1862,1875,1880,1895,1913,1928,1946,1960,1978,1992,2004,2023,2042,2059,2064,2084,2102,2120,2132,2137,2152,2166,2179,2183,2188,2201,2213,2218,2223,2235,2239,2253,2271,2283,2295,2313,2327,2346,2365,2381,2395,2399,2403,2415,2427,2445,2459,2474,2489,2504,2523,2536,2540,2544,2557,2562,2568],{"__ignoreMap":635},[640,1859,1860],{"class":642,"line":643},[640,1861,915],{"class":914},[640,1863,1864,1867,1869,1871,1873],{"class":642,"line":886},[640,1865,1866],{"class":921},"  \"",[640,1868,64],{"class":925},[640,1870,922],{"class":921},[640,1872,654],{"class":914},[640,1874,932],{"class":914},[640,1876,1877],{"class":642,"line":896},[640,1878,1879],{"class":914},"    {\n",[640,1881,1882,1885,1887,1889,1891,1893],{"class":642,"line":902},[640,1883,1884],{"class":921},"      \"",[640,1886,946],{"class":945},[640,1888,922],{"class":921},[640,1890,654],{"class":914},[640,1892,953],{"class":650},[640,1894,956],{"class":914},[640,1896,1897,1899,1901,1903,1905,1907,1909,1911],{"class":642,"line":908},[640,1898,1884],{"class":921},[640,1900,964],{"class":945},[640,1902,922],{"class":921},[640,1904,654],{"class":914},[640,1906,972],{"class":971},[640,1908,976],{"class":975},[640,1910,922],{"class":971},[640,1912,956],{"class":914},[640,1914,1915,1917,1919,1921,1923,1926],{"class":642,"line":918},[640,1916,1884],{"class":921},[640,1918,988],{"class":945},[640,1920,922],{"class":921},[640,1922,654],{"class":914},[640,1924,1925],{"class":650}," 5",[640,1927,956],{"class":914},[640,1929,1930,1932,1934,1936,1938,1940,1942,1944],{"class":642,"line":935},[640,1931,1884],{"class":921},[640,1933,1005],{"class":945},[640,1935,922],{"class":921},[640,1937,654],{"class":914},[640,1939,972],{"class":971},[640,1941,1014],{"class":975},[640,1943,922],{"class":971},[640,1945,956],{"class":914},[640,1947,1948,1950,1952,1954,1956,1958],{"class":642,"line":940},[640,1949,1884],{"class":921},[640,1951,1026],{"class":945},[640,1953,922],{"class":921},[640,1955,654],{"class":914},[640,1957,1034],{"class":1033},[640,1959,956],{"class":914},[640,1961,1962,1964,1966,1968,1970,1972,1974,1976],{"class":642,"line":959},[640,1963,1884],{"class":921},[640,1965,1044],{"class":945},[640,1967,922],{"class":921},[640,1969,654],{"class":914},[640,1971,972],{"class":971},[640,1973,1053],{"class":975},[640,1975,922],{"class":971},[640,1977,956],{"class":914},[640,1979,1980,1982,1984,1986,1988,1990],{"class":642,"line":983},[640,1981,1884],{"class":921},[640,1983,1065],{"class":945},[640,1985,922],{"class":921},[640,1987,654],{"class":914},[640,1989,1034],{"class":1033},[640,1991,956],{"class":914},[640,1993,1994,1996,1998,2000,2002],{"class":642,"line":1000},[640,1995,1884],{"class":921},[640,1997,1082],{"class":945},[640,1999,922],{"class":921},[640,2001,654],{"class":914},[640,2003,1089],{"class":914},[640,2005,2006,2009,2011,2013,2015,2017,2019,2021],{"class":642,"line":1021},[640,2007,2008],{"class":921},"        \"",[640,2010,1098],{"class":1097},[640,2012,922],{"class":921},[640,2014,654],{"class":914},[640,2016,972],{"class":971},[640,2018,1107],{"class":975},[640,2020,922],{"class":971},[640,2022,956],{"class":914},[640,2024,2025,2027,2029,2031,2033,2035,2038,2040],{"class":642,"line":1039},[640,2026,2008],{"class":921},[640,2028,1119],{"class":1097},[640,2030,922],{"class":921},[640,2032,654],{"class":914},[640,2034,972],{"class":971},[640,2036,2037],{"class":975},"2022-04-01T18:30:04+02:00",[640,2039,922],{"class":971},[640,2041,956],{"class":914},[640,2043,2044,2046,2048,2050,2052,2054,2057],{"class":642,"line":1060},[640,2045,2008],{"class":921},[640,2047,1140],{"class":1097},[640,2049,922],{"class":921},[640,2051,654],{"class":914},[640,2053,972],{"class":971},[640,2055,2056],{"class":975},"2022-04-05T18:30:04+02:00",[640,2058,1152],{"class":971},[640,2060,2061],{"class":642,"line":1077},[640,2062,2063],{"class":914},"      },\n",[640,2065,2066,2068,2071,2073,2075,2077,2080,2082],{"class":642,"line":1092},[640,2067,1884],{"class":921},[640,2069,2070],{"class":945},"recordTimeType",[640,2072,922],{"class":921},[640,2074,654],{"class":914},[640,2076,972],{"class":971},[640,2078,2079],{"class":975},"CURRENT_TIME",[640,2081,922],{"class":971},[640,2083,956],{"class":914},[640,2085,2086,2088,2090,2092,2094,2096,2098,2100],{"class":642,"line":1114},[640,2087,1884],{"class":921},[640,2089,1166],{"class":945},[640,2091,922],{"class":921},[640,2093,654],{"class":914},[640,2095,972],{"class":971},[640,2097,1175],{"class":975},[640,2099,922],{"class":971},[640,2101,956],{"class":914},[640,2103,2104,2106,2108,2110,2112,2114,2116,2118],{"class":642,"line":1135},[640,2105,1884],{"class":921},[640,2107,1187],{"class":945},[640,2109,922],{"class":921},[640,2111,654],{"class":914},[640,2113,972],{"class":971},[640,2115,1196],{"class":975},[640,2117,922],{"class":971},[640,2119,956],{"class":914},[640,2121,2122,2124,2126,2128,2130],{"class":642,"line":1155},[640,2123,1884],{"class":921},[640,2125,1208],{"class":945},[640,2127,922],{"class":921},[640,2129,654],{"class":914},[640,2131,932],{"class":914},[640,2133,2134],{"class":642,"line":1161},[640,2135,2136],{"class":914},"        {\n",[640,2138,2139,2142,2144,2146,2148,2150],{"class":642,"line":1182},[640,2140,2141],{"class":921},"          \"",[640,2143,1227],{"class":1097},[640,2145,922],{"class":921},[640,2147,654],{"class":914},[640,2149,953],{"class":650},[640,2151,956],{"class":914},[640,2153,2154,2156,2158,2160,2162,2164],{"class":642,"line":1203},[640,2155,2141],{"class":921},[640,2157,1243],{"class":1097},[640,2159,922],{"class":921},[640,2161,654],{"class":914},[640,2163,995],{"class":650},[640,2165,956],{"class":914},[640,2167,2168,2170,2172,2174,2176],{"class":642,"line":1217},[640,2169,2141],{"class":921},[640,2171,1259],{"class":1097},[640,2173,922],{"class":921},[640,2175,654],{"class":914},[640,2177,2178],{"class":650}," 5\n",[640,2180,2181],{"class":642,"line":1222},[640,2182,1844],{"class":914},[640,2184,2185],{"class":642,"line":1238},[640,2186,2187],{"class":914},"      ],\n",[640,2189,2190,2192,2194,2196,2198],{"class":642,"line":1254},[640,2191,1884],{"class":921},[640,2193,1286],{"class":945},[640,2195,922],{"class":921},[640,2197,654],{"class":914},[640,2199,2200],{"class":914}," {},\n",[640,2202,2203,2205,2207,2209,2211],{"class":642,"line":1269},[640,2204,1884],{"class":921},[640,2206,1305],{"class":945},[640,2208,922],{"class":921},[640,2210,654],{"class":914},[640,2212,1312],{"class":914},[640,2214,2215],{"class":642,"line":1275},[640,2216,2217],{"class":914},"    }\n",[640,2219,2220],{"class":642,"line":1281},[640,2221,2222],{"class":914},"  ],\n",[640,2224,2225,2227,2229,2231,2233],{"class":642,"line":1295},[640,2226,1866],{"class":921},[640,2228,1330],{"class":925},[640,2230,922],{"class":921},[640,2232,654],{"class":914},[640,2234,932],{"class":914},[640,2236,2237],{"class":642,"line":1300},[640,2238,1879],{"class":914},[640,2240,2241,2243,2245,2247,2249,2251],{"class":642,"line":1315},[640,2242,1884],{"class":921},[640,2244,1227],{"class":945},[640,2246,922],{"class":921},[640,2248,654],{"class":914},[640,2250,953],{"class":650},[640,2252,956],{"class":914},[640,2254,2255,2257,2259,2261,2263,2265,2267,2269],{"class":642,"line":1320},[640,2256,1884],{"class":921},[640,2258,1364],{"class":945},[640,2260,922],{"class":921},[640,2262,654],{"class":914},[640,2264,972],{"class":971},[640,2266,1014],{"class":975},[640,2268,922],{"class":971},[640,2270,956],{"class":914},[640,2272,2273,2275,2277,2279,2281],{"class":642,"line":1325},[640,2274,1884],{"class":921},[640,2276,1384],{"class":945},[640,2278,922],{"class":921},[640,2280,654],{"class":914},[640,2282,1089],{"class":914},[640,2284,2285,2287,2289,2291,2293],{"class":642,"line":1339},[640,2286,2008],{"class":921},[640,2288,109],{"class":1097},[640,2290,922],{"class":921},[640,2292,654],{"class":914},[640,2294,1089],{"class":914},[640,2296,2297,2299,2301,2303,2305,2307,2309,2311],{"class":642,"line":1344},[640,2298,2141],{"class":921},[640,2300,1412],{"class":1411},[640,2302,922],{"class":921},[640,2304,654],{"class":914},[640,2306,972],{"class":971},[640,2308,109],{"class":975},[640,2310,922],{"class":971},[640,2312,956],{"class":914},[640,2314,2315,2317,2319,2321,2323,2325],{"class":642,"line":1359},[640,2316,2141],{"class":921},[640,2318,1432],{"class":1411},[640,2320,922],{"class":921},[640,2322,654],{"class":914},[640,2324,995],{"class":650},[640,2326,956],{"class":914},[640,2328,2329,2331,2333,2335,2337,2339,2342,2344],{"class":642,"line":1379},[640,2330,2141],{"class":921},[640,2332,109],{"class":1411},[640,2334,922],{"class":921},[640,2336,654],{"class":914},[640,2338,972],{"class":971},[640,2340,2341],{"class":975},"89384989388934",[640,2343,922],{"class":971},[640,2345,956],{"class":914},[640,2347,2348,2350,2352,2354,2356,2358,2361,2363],{"class":642,"line":1393},[640,2349,2141],{"class":921},[640,2351,1468],{"class":1411},[640,2353,922],{"class":921},[640,2355,654],{"class":914},[640,2357,972],{"class":971},[640,2359,2360],{"class":975},"range",[640,2362,922],{"class":971},[640,2364,956],{"class":914},[640,2366,2367,2369,2372,2374,2376,2379],{"class":642,"line":1406},[640,2368,2141],{"class":921},[640,2370,2371],{"class":1411},"rangeFrom",[640,2373,922],{"class":921},[640,2375,654],{"class":914},[640,2377,2378],{"class":650}," 100",[640,2380,956],{"class":914},[640,2382,2383,2385,2388,2390,2392],{"class":642,"line":1427},[640,2384,2141],{"class":921},[640,2386,2387],{"class":1411},"rangeTo",[640,2389,922],{"class":921},[640,2391,654],{"class":914},[640,2393,2394],{"class":650}," 110\n",[640,2396,2397],{"class":642,"line":1443},[640,2398,1844],{"class":914},[640,2400,2401],{"class":642,"line":1463},[640,2402,2063],{"class":914},[640,2404,2405,2407,2409,2411,2413],{"class":642,"line":1484},[640,2406,1884],{"class":921},[640,2408,1568],{"class":945},[640,2410,922],{"class":921},[640,2412,654],{"class":914},[640,2414,1089],{"class":914},[640,2416,2417,2419,2421,2423,2425],{"class":642,"line":1500},[640,2418,2008],{"class":921},[640,2420,106],{"class":1097},[640,2422,922],{"class":921},[640,2424,654],{"class":914},[640,2426,1089],{"class":914},[640,2428,2429,2431,2433,2435,2437,2439,2441,2443],{"class":642,"line":1521},[640,2430,2141],{"class":921},[640,2432,1412],{"class":1411},[640,2434,922],{"class":921},[640,2436,654],{"class":914},[640,2438,972],{"class":971},[640,2440,106],{"class":975},[640,2442,922],{"class":971},[640,2444,956],{"class":914},[640,2446,2447,2449,2451,2453,2455,2457],{"class":642,"line":1538},[640,2448,2141],{"class":921},[640,2450,1432],{"class":1411},[640,2452,922],{"class":921},[640,2454,654],{"class":914},[640,2456,995],{"class":650},[640,2458,956],{"class":914},[640,2460,2461,2463,2466,2468,2470,2472],{"class":642,"line":1553},[640,2462,2141],{"class":921},[640,2464,2465],{"class":1411},"quantityType",[640,2467,922],{"class":921},[640,2469,654],{"class":914},[640,2471,1575],{"class":1033},[640,2473,956],{"class":914},[640,2475,2476,2478,2481,2483,2485,2487],{"class":642,"line":1558},[640,2477,2141],{"class":921},[640,2479,2480],{"class":1411},"uom",[640,2482,922],{"class":921},[640,2484,654],{"class":914},[640,2486,1575],{"class":1033},[640,2488,956],{"class":914},[640,2490,2491,2493,2495,2497,2499,2502],{"class":642,"line":1563},[640,2492,2141],{"class":921},[640,2494,1468],{"class":1411},[640,2496,922],{"class":921},[640,2498,654],{"class":914},[640,2500,2501],{"class":971}," \"\"",[640,2503,956],{"class":914},[640,2505,2506,2508,2510,2512,2514,2516,2519,2521],{"class":642,"line":1580},[640,2507,2141],{"class":921},[640,2509,106],{"class":1411},[640,2511,922],{"class":921},[640,2513,654],{"class":914},[640,2515,972],{"class":971},[640,2517,2518],{"class":975},"8384783874378",[640,2520,922],{"class":971},[640,2522,956],{"class":914},[640,2524,2525,2527,2530,2532,2534],{"class":642,"line":1595},[640,2526,2141],{"class":921},[640,2528,2529],{"class":1411},"classIdentifiersCount",[640,2531,922],{"class":921},[640,2533,654],{"class":914},[640,2535,2178],{"class":650},[640,2537,2538],{"class":642,"line":1600},[640,2539,1844],{"class":914},[640,2541,2542],{"class":642,"line":1606},[640,2543,2063],{"class":914},[640,2545,2547,2549,2551,2553,2555],{"class":642,"line":2546},55,[640,2548,1884],{"class":921},[640,2550,1585],{"class":945},[640,2552,922],{"class":921},[640,2554,654],{"class":914},[640,2556,1592],{"class":1033},[640,2558,2560],{"class":642,"line":2559},56,[640,2561,2217],{"class":914},[640,2563,2565],{"class":642,"line":2564},57,[640,2566,2567],{"class":914},"  ]\n",[640,2569,2571],{"class":642,"line":2570},58,[640,2572,1272],{"class":914},[2574,2575,2576],"style",{},"html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sYThS, html code.shiki .sYThS{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}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 .ss7Ak, html code.shiki .ss7Ak{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit;--shiki-sepia:#88846F;--shiki-sepia-font-style:inherit}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 .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 .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 .sMTiH, html code.shiki .sMTiH{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}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}html pre.shiki code .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sRxSC, html code.shiki .sRxSC{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#F92672;--shiki-sepia-font-style:inherit}html pre.shiki code .syw9h, html code.shiki .syw9h{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#24292E;--shiki-default-font-style:inherit;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sQgqH, html code.shiki .sQgqH{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit;--shiki-sepia:#FD971F;--shiki-sepia-font-style:italic}",{"title":635,"searchDepth":886,"depth":886,"links":2578},[2579,2580,2581,2582,2583,2584,2591,2596],{"id":495,"depth":886,"text":496},{"id":526,"depth":886,"text":23},{"id":538,"depth":886,"text":539},{"id":545,"depth":886,"text":546},{"id":555,"depth":886,"text":556},{"id":595,"depth":886,"text":596,"children":2585},[2586,2587,2588,2589,2590],{"id":603,"depth":896,"text":604},{"id":662,"depth":896,"text":663},{"id":697,"depth":896,"text":698},{"id":720,"depth":896,"text":721},{"id":741,"depth":896,"text":742},{"id":836,"depth":886,"text":837,"children":2592},[2593,2594,2595],{"id":843,"depth":896,"text":844},{"id":854,"depth":896,"text":855},{"id":865,"depth":896,"text":866},{"id":1615,"depth":886,"text":1616,"children":2597},[2598,2600,2602,2604],{"id":1640,"depth":896,"text":2599},"testdata-generator-common (Generic java library for generating testdata events)",{"id":1650,"depth":896,"text":2601},"testdata-generator-rest-api (REST service wrapper for generating testdata events)",{"id":1664,"depth":896,"text":2603},"testdata-generator-ui (user interface for generating testdata events)",{"id":1674,"depth":896,"text":1675},"md",{"head":2607,"readingTime":2612},{"meta":2608},[2609],{"name":2610,"content":2611},"keywords","EPCIS 2.0, json, json-ld, testing, EPCIS tools, test data generator, performance tests, traceability, process automation, compliance, supply chain management, load tests",{"text":2613,"minutes":2614,"time":2615,"words":2616},"10 min read",9.13,547800,1826,{"title":128,"tags":2618},[16,122,61,62,63,64,21,123,124,125,70,71],{"title":488,"description":133},{"loc":129,"lastmod":2621,"changefreq":2622,"priority":2623},"2024-08-31","monthly",0.9,"FVtwhwJq16xMsei6JybGwxm2BHms4FIKOPhCBW26nsM",false,[2627],{"title":5,"path":6,"stem":7,"children":2628},[2629,2631,2636,2641,2646,2651,2656,2661,2671,2676,2681,2686,2744,2760],{"title":10,"path":6,"stem":11,"description":12,"icon":13,"tags":2630},[15,16,17,18,19,20,21],{"title":23,"path":24,"stem":25,"children":2632,"description":28,"icon":29,"tags":2635},[2633],{"title":23,"path":24,"stem":25,"description":28,"icon":29,"tags":2634},[16,31,32,33,34,35,36,37,38],[16,31,32,33,34,35,36,37,38],{"title":41,"path":42,"stem":43,"children":2637,"description":46,"icon":47,"tags":2640},[2638],{"title":41,"path":42,"stem":43,"description":46,"icon":47,"tags":2639},[16,31,32,33,49,50],[16,31,32,33,49,50],{"title":53,"path":54,"stem":55,"children":2642,"description":58,"icon":59,"tags":2645},[2643],{"title":53,"path":54,"stem":55,"description":58,"icon":59,"tags":2644},[16,61,62,63,64,65,66,21,67,68,69,70,71],[16,61,62,63,64,65,66,21,67,68,69,70,71],{"title":74,"path":75,"stem":76,"children":2647,"description":79,"icon":80,"tags":2650},[2648],{"title":74,"path":75,"stem":76,"description":79,"icon":80,"tags":2649},[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],{"title":88,"path":89,"stem":90,"children":2652,"description":93,"icon":94,"tags":2655},[2653],{"title":88,"path":89,"stem":90,"description":93,"icon":94,"tags":2654},[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],{"title":114,"path":115,"stem":116,"children":2657,"description":119,"icon":120,"tags":2660},[2658],{"title":114,"path":115,"stem":116,"description":119,"icon":120,"tags":2659},[16,122,61,62,63,64,21,123,124,125,70,71],[16,122,61,62,63,64,21,123,124,125,70,71],{"title":128,"path":129,"stem":130,"children":2662,"description":133,"icon":134,"tags":2670},[2663,2665],{"title":128,"path":129,"stem":130,"description":133,"icon":134,"tags":2664},[16,122,61,62,63,64,21,123,124,125,70,71],{"title":137,"path":138,"stem":139,"children":2666,"description":133,"icon":142,"tags":2669},[2667],{"title":137,"path":138,"stem":139,"description":133,"icon":142,"tags":2668},[16,61,62,144,21,145,146,147,35,148,149,150,151],[16,61,62,144,21,145,146,147,35,148,149,150,151],[16,122,61,62,63,64,21,123,124,125,70,71],{"title":155,"path":156,"stem":157,"children":2672,"description":160,"icon":161,"tags":2675},[2673],{"title":155,"path":156,"stem":157,"description":160,"icon":161,"tags":2674},[16,61,62,144,21,163,35,148,149,150,151],[16,61,62,144,21,163,35,148,149,150,151],{"title":166,"path":167,"stem":168,"children":2677,"description":171,"icon":172,"tags":2680},[2678],{"title":166,"path":167,"stem":168,"description":171,"icon":172,"tags":2679},[16,174,15,175,21,176,35,177,149,150,178],[16,174,15,175,21,176,35,177,149,150,178],{"title":181,"path":182,"stem":183,"children":2682,"description":186,"icon":187,"tags":2685},[2683],{"title":181,"path":182,"stem":183,"description":186,"icon":187,"tags":2684},[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],{"title":205,"path":206,"stem":207,"children":2687,"description":210,"icon":211,"tags":2743},[2688,2690,2695,2704,2714,2723,2728,2730,2732,2734],{"title":205,"path":206,"stem":207,"description":210,"icon":211,"tags":2689},[213,214,215,31,216,35,217],{"title":219,"path":220,"stem":221,"children":2691,"description":224,"icon":225,"tags":2694},[2692],{"title":219,"path":220,"stem":221,"description":224,"icon":225,"tags":2693},[227,228,216,214,215],[227,228,216,214,215],{"title":231,"path":232,"stem":233,"children":2696,"description":236,"icon":237,"tags":2703},[2697,2699,2700,2701],{"title":231,"path":232,"stem":233,"description":236,"icon":237,"tags":2698},[239,240,214,31,102,35,216],{"title":242,"path":243,"stem":244,"description":245,"icon":172},{"title":247,"path":248,"stem":249,"description":250,"icon":251},{"title":253,"path":254,"stem":255,"description":256,"icon":13,"tags":2702},[239,258,259,62,260],[239,240,214,31,102,35,216],{"title":263,"path":264,"stem":265,"children":2705,"description":268,"icon":269,"tags":2713},[2706,2708,2709,2710,2711],{"title":263,"path":264,"stem":265,"description":268,"icon":269,"tags":2707},[271,272,273,214,31,102,35,216],{"title":242,"path":275,"stem":276,"description":277,"icon":278},{"title":247,"path":280,"stem":281,"description":282,"icon":278},{"title":284,"path":285,"stem":286,"description":287,"icon":278},{"title":253,"path":289,"stem":290,"description":291,"icon":13,"tags":2712},[271,258,273,293,294],[271,272,273,214,31,102,35,216],{"title":297,"path":298,"stem":299,"children":2715,"description":302,"icon":303,"tags":2722},[2716,2718,2720],{"title":297,"path":298,"stem":299,"description":302,"icon":303,"tags":2717},[305,306,307,214,216,308],{"title":242,"path":310,"stem":311,"description":312,"icon":313,"tags":2719},[305,306,307,315],{"title":253,"path":317,"stem":318,"description":319,"icon":13,"tags":2721},[305,258,306,307,321,62],[305,306,307,214,216,308],{"title":324,"path":325,"stem":326,"children":2724,"description":329,"icon":59,"tags":2727},[2725],{"title":324,"path":325,"stem":326,"description":329,"icon":59,"tags":2726},[331,332,102,333,227,334,335],[331,332,102,333,227,334,335],{"title":338,"path":339,"stem":340,"description":341,"icon":29,"tags":2729},[343,96,344,345],{"title":347,"path":348,"stem":349,"description":350,"icon":351,"tags":2731},[353,96,344],{"title":355,"path":356,"stem":357,"description":358,"icon":359,"tags":2733},[361,362,363,333],{"title":365,"path":366,"stem":367,"children":2735,"description":370,"icon":371,"tags":2742},[2736,2738,2740],{"title":365,"path":366,"stem":367,"description":370,"icon":371,"tags":2737},[373,374,375,376,377],{"title":242,"path":379,"stem":380,"description":381,"icon":172,"tags":2739},[373,315,374,375,376],{"title":253,"path":384,"stem":385,"description":386,"icon":13,"tags":2741},[373,258,388,389,62],[373,374,375,376,377],[213,214,215,31,216,35,217],{"title":393,"path":394,"stem":395,"children":2745,"description":398,"icon":399},[2746,2747,2748,2749,2750],{"title":393,"path":394,"stem":395,"description":398,"icon":399},{"title":401,"path":402,"stem":403,"description":404,"icon":405},{"title":407,"path":408,"stem":409,"description":410,"icon":411},{"title":413,"path":414,"stem":415,"description":416,"icon":417},{"title":419,"path":420,"stem":421,"children":2751,"description":424,"icon":425},[2752,2753,2754,2755,2756,2757,2758,2759],{"title":419,"path":420,"stem":421,"description":424,"icon":425},{"title":427,"path":428,"stem":429,"description":430,"icon":431},{"title":433,"path":434,"stem":435,"description":436,"icon":437},{"title":439,"path":440,"stem":441,"description":442,"icon":443},{"title":445,"path":446,"stem":447,"description":448,"icon":449},{"title":451,"path":452,"stem":453,"description":454,"icon":455},{"title":457,"path":458,"stem":459,"description":460,"icon":461},{"title":463,"path":464,"stem":465,"description":466,"icon":467},{"title":469,"path":470,"stem":471,"children":2761,"description":474,"icon":29,"tags":2764},[2762],{"title":469,"path":470,"stem":471,"description":474,"icon":29,"tags":2763},[476,477,478,479,332,480,481,482],[476,477,478,479,332,480,481,482],{"id":487,"title":488,"body":2766,"description":133,"extension":2605,"icon":134,"lastUpdated":278,"meta":4497,"navigation":4502,"path":129,"seo":4504,"sitemap":4505,"stem":130,"__hash__":2624},{"type":490,"value":2767,"toc":4472},[2768,2770,2772,2777,2782,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2841,2843,2854,2856,2872,2874,2876,2887,2892,2894,2910,2912,2928,2930,2935,2937,2973,2977,2979,2985,2990,2992,2994,2996,3001,3003,3007,3009,3013,3617,3619,3630,3635,3637,3642,3647,3652,3654,3656,3668,3782,3784,4470],[493,2769,496],{"id":495},[498,2771,500],{},[498,2773,503,2774],{},[505,2775,507],{"href":507,"rel":2776},[509],[498,2778,512,2779],{},[505,2780,515],{"href":515,"rel":2781},[509],[498,2783,519,2784],{},[505,2785,522],{"href":522,"rel":2786},[509],[493,2788,23],{"id":526},[498,2790,529],{},[498,2792,532],{},[498,2794,535],{},[493,2796,539],{"id":538},[498,2798,542],{},[493,2800,546],{"id":545},[498,2802,549],{},[498,2804,552],{},[493,2806,556],{"id":555},[498,2808,559],{},[498,2810,562],{},[498,2812,565],{},[498,2814,568],{},[498,2816,571],{},[498,2818,574],{},[498,2820,577],{},[498,2822,580],{},[498,2824,565],{},[498,2826,568],{},[498,2828,571],{},[498,2830,574],{},[498,2832,577],{},[498,2834,580],{},[493,2836,596],{"id":595},[498,2838,599],{},[601,2840,604],{"id":603},[498,2842,607],{},[498,2844,610,2845,616,2848,622,2851],{},[505,2846,615],{"href":613,"rel":2847},[509],[505,2849,621],{"href":619,"rel":2850},[509],[505,2852,625],{"href":625,"rel":2853},[509],[498,2855,629],{},[631,2857,2858],{"className":633,"code":634,"language":61,"meta":635,"style":635},[637,2859,2860],{"__ignoreMap":635},[640,2861,2862,2864,2866,2868,2870],{"class":642,"line":643},[640,2863,647],{"class":646},[640,2865,651],{"class":650},[640,2867,654],{"class":646},[640,2869,651],{"class":650},[640,2871,659],{"class":646},[601,2873,663],{"id":662},[498,2875,666],{},[498,2877,669,2878,675,2881,681,2884],{},[505,2879,674],{"href":672,"rel":2880},[509],[505,2882,680],{"href":678,"rel":2883},[509],[505,2885,684],{"href":684,"rel":2886},[509],[498,2888,688,2889,694],{},[505,2890,693],{"href":691,"rel":2891},[509],[601,2893,698],{"id":697},[631,2895,2896],{"className":633,"code":701,"language":61,"meta":635,"style":635},[637,2897,2898],{"__ignoreMap":635},[640,2899,2900,2902,2904,2906,2908],{"class":642,"line":643},[640,2901,708],{"class":646},[640,2903,651],{"class":650},[640,2905,654],{"class":646},[640,2907,651],{"class":650},[640,2909,717],{"class":646},[601,2911,721],{"id":720},[631,2913,2914],{"className":633,"code":724,"language":61,"meta":635,"style":635},[637,2915,2916],{"__ignoreMap":635},[640,2917,2918,2920,2922,2924,2926],{"class":642,"line":643},[640,2919,647],{"class":646},[640,2921,651],{"class":650},[640,2923,654],{"class":646},[640,2925,651],{"class":650},[640,2927,717],{"class":646},[601,2929,742],{"id":741},[498,2931,745,2932,750],{},[505,2933,748],{"href":748,"rel":2934},[509],[498,2936,753],{},[755,2938,2939,2947],{},[758,2940,2941],{},[761,2942,2943,2945],{},[764,2944,766],{},[764,2946,769],{},[771,2948,2949,2955,2961,2967],{},[761,2950,2951,2953],{},[776,2952,778],{},[776,2954,781],{},[761,2956,2957,2959],{},[776,2958,786],{},[776,2960,789],{},[761,2962,2963,2965],{},[776,2964,794],{},[776,2966,797],{},[761,2968,2969,2971],{},[776,2970,802],{},[776,2972,805],{},[498,2974,808,2975,812],{},[637,2976,811],{},[498,2978,815],{},[498,2980,818,2981,822,2983],{},[637,2982,821],{},[637,2984,825],{},[498,2986,828,2987,750],{},[505,2988,833],{"href":831,"rel":2989},[509],[493,2991,837],{"id":836},[498,2993,840],{},[601,2995,844],{"id":843},[498,2997,847,2998,750],{},[505,2999,851],{"href":507,"rel":3000},[509],[601,3002,855],{"id":854},[498,3004,858,3005,862],{},[637,3006,861],{},[601,3008,866],{"id":865},[498,3010,869,3011,873],{},[637,3012,872],{},[631,3014,3015],{"className":633,"code":876,"language":61,"meta":635,"style":635},[637,3016,3017,3021,3027,3031,3035,3041,3053,3057,3071,3089,3103,3121,3135,3153,3167,3179,3197,3215,3231,3235,3253,3271,3283,3287,3301,3315,3327,3331,3335,3347,3351,3363,3367,3371,3383,3387,3401,3419,3431,3443,3461,3475,3493,3511,3525,3543,3557,3569,3573,3577,3591,3603,3607,3611],{"__ignoreMap":635},[640,3018,3019],{"class":642,"line":643},[640,3020,883],{"class":646},[640,3022,3023,3025],{"class":642,"line":886},[640,3024,889],{"class":646},[640,3026,893],{"class":892},[640,3028,3029],{"class":642,"line":896},[640,3030,899],{"class":646},[640,3032,3033],{"class":642,"line":902},[640,3034,905],{"class":646},[640,3036,3037,3039],{"class":642,"line":908},[640,3038,911],{"class":646},[640,3040,915],{"class":914},[640,3042,3043,3045,3047,3049,3051],{"class":642,"line":918},[640,3044,922],{"class":921},[640,3046,64],{"class":925},[640,3048,922],{"class":921},[640,3050,654],{"class":914},[640,3052,932],{"class":914},[640,3054,3055],{"class":642,"line":935},[640,3056,915],{"class":914},[640,3058,3059,3061,3063,3065,3067,3069],{"class":642,"line":940},[640,3060,922],{"class":921},[640,3062,946],{"class":945},[640,3064,922],{"class":921},[640,3066,654],{"class":914},[640,3068,953],{"class":650},[640,3070,956],{"class":914},[640,3072,3073,3075,3077,3079,3081,3083,3085,3087],{"class":642,"line":959},[640,3074,922],{"class":921},[640,3076,964],{"class":945},[640,3078,922],{"class":921},[640,3080,654],{"class":914},[640,3082,972],{"class":971},[640,3084,976],{"class":975},[640,3086,922],{"class":971},[640,3088,956],{"class":914},[640,3090,3091,3093,3095,3097,3099,3101],{"class":642,"line":983},[640,3092,922],{"class":921},[640,3094,988],{"class":945},[640,3096,922],{"class":921},[640,3098,654],{"class":914},[640,3100,995],{"class":650},[640,3102,956],{"class":914},[640,3104,3105,3107,3109,3111,3113,3115,3117,3119],{"class":642,"line":1000},[640,3106,922],{"class":921},[640,3108,1005],{"class":945},[640,3110,922],{"class":921},[640,3112,654],{"class":914},[640,3114,972],{"class":971},[640,3116,1014],{"class":975},[640,3118,922],{"class":971},[640,3120,956],{"class":914},[640,3122,3123,3125,3127,3129,3131,3133],{"class":642,"line":1021},[640,3124,922],{"class":921},[640,3126,1026],{"class":945},[640,3128,922],{"class":921},[640,3130,654],{"class":914},[640,3132,1034],{"class":1033},[640,3134,956],{"class":914},[640,3136,3137,3139,3141,3143,3145,3147,3149,3151],{"class":642,"line":1039},[640,3138,922],{"class":921},[640,3140,1044],{"class":945},[640,3142,922],{"class":921},[640,3144,654],{"class":914},[640,3146,972],{"class":971},[640,3148,1053],{"class":975},[640,3150,922],{"class":971},[640,3152,956],{"class":914},[640,3154,3155,3157,3159,3161,3163,3165],{"class":642,"line":1060},[640,3156,922],{"class":921},[640,3158,1065],{"class":945},[640,3160,922],{"class":921},[640,3162,654],{"class":914},[640,3164,1072],{"class":1033},[640,3166,956],{"class":914},[640,3168,3169,3171,3173,3175,3177],{"class":642,"line":1077},[640,3170,922],{"class":921},[640,3172,1082],{"class":945},[640,3174,922],{"class":921},[640,3176,654],{"class":914},[640,3178,1089],{"class":914},[640,3180,3181,3183,3185,3187,3189,3191,3193,3195],{"class":642,"line":1092},[640,3182,922],{"class":921},[640,3184,1098],{"class":1097},[640,3186,922],{"class":921},[640,3188,654],{"class":914},[640,3190,972],{"class":971},[640,3192,1107],{"class":975},[640,3194,922],{"class":971},[640,3196,956],{"class":914},[640,3198,3199,3201,3203,3205,3207,3209,3211,3213],{"class":642,"line":1114},[640,3200,922],{"class":921},[640,3202,1119],{"class":1097},[640,3204,922],{"class":921},[640,3206,654],{"class":914},[640,3208,972],{"class":971},[640,3210,1128],{"class":975},[640,3212,922],{"class":971},[640,3214,956],{"class":914},[640,3216,3217,3219,3221,3223,3225,3227,3229],{"class":642,"line":1135},[640,3218,922],{"class":921},[640,3220,1140],{"class":1097},[640,3222,922],{"class":921},[640,3224,654],{"class":914},[640,3226,972],{"class":971},[640,3228,1149],{"class":975},[640,3230,1152],{"class":971},[640,3232,3233],{"class":642,"line":1155},[640,3234,1158],{"class":914},[640,3236,3237,3239,3241,3243,3245,3247,3249,3251],{"class":642,"line":1161},[640,3238,922],{"class":921},[640,3240,1166],{"class":945},[640,3242,922],{"class":921},[640,3244,654],{"class":914},[640,3246,972],{"class":971},[640,3248,1175],{"class":975},[640,3250,922],{"class":971},[640,3252,956],{"class":914},[640,3254,3255,3257,3259,3261,3263,3265,3267,3269],{"class":642,"line":1182},[640,3256,922],{"class":921},[640,3258,1187],{"class":945},[640,3260,922],{"class":921},[640,3262,654],{"class":914},[640,3264,972],{"class":971},[640,3266,1196],{"class":975},[640,3268,922],{"class":971},[640,3270,956],{"class":914},[640,3272,3273,3275,3277,3279,3281],{"class":642,"line":1203},[640,3274,922],{"class":921},[640,3276,1208],{"class":945},[640,3278,922],{"class":921},[640,3280,654],{"class":914},[640,3282,932],{"class":914},[640,3284,3285],{"class":642,"line":1217},[640,3286,915],{"class":914},[640,3288,3289,3291,3293,3295,3297,3299],{"class":642,"line":1222},[640,3290,922],{"class":921},[640,3292,1227],{"class":1097},[640,3294,922],{"class":921},[640,3296,654],{"class":914},[640,3298,953],{"class":650},[640,3300,956],{"class":914},[640,3302,3303,3305,3307,3309,3311,3313],{"class":642,"line":1238},[640,3304,922],{"class":921},[640,3306,1243],{"class":1097},[640,3308,922],{"class":921},[640,3310,654],{"class":914},[640,3312,995],{"class":650},[640,3314,956],{"class":914},[640,3316,3317,3319,3321,3323,3325],{"class":642,"line":1254},[640,3318,922],{"class":921},[640,3320,1259],{"class":1097},[640,3322,922],{"class":921},[640,3324,654],{"class":914},[640,3326,1266],{"class":650},[640,3328,3329],{"class":642,"line":1269},[640,3330,1272],{"class":914},[640,3332,3333],{"class":642,"line":1275},[640,3334,1278],{"class":914},[640,3336,3337,3339,3341,3343,3345],{"class":642,"line":1281},[640,3338,922],{"class":921},[640,3340,1286],{"class":945},[640,3342,922],{"class":921},[640,3344,654],{"class":914},[640,3346,1089],{"class":914},[640,3348,3349],{"class":642,"line":1295},[640,3350,1158],{"class":914},[640,3352,3353,3355,3357,3359,3361],{"class":642,"line":1300},[640,3354,922],{"class":921},[640,3356,1305],{"class":945},[640,3358,922],{"class":921},[640,3360,654],{"class":914},[640,3362,1312],{"class":914},[640,3364,3365],{"class":642,"line":1315},[640,3366,1272],{"class":914},[640,3368,3369],{"class":642,"line":1320},[640,3370,1278],{"class":914},[640,3372,3373,3375,3377,3379,3381],{"class":642,"line":1325},[640,3374,922],{"class":921},[640,3376,1330],{"class":925},[640,3378,922],{"class":921},[640,3380,654],{"class":914},[640,3382,932],{"class":914},[640,3384,3385],{"class":642,"line":1339},[640,3386,915],{"class":914},[640,3388,3389,3391,3393,3395,3397,3399],{"class":642,"line":1344},[640,3390,922],{"class":921},[640,3392,1227],{"class":945},[640,3394,922],{"class":921},[640,3396,654],{"class":914},[640,3398,953],{"class":650},[640,3400,956],{"class":914},[640,3402,3403,3405,3407,3409,3411,3413,3415,3417],{"class":642,"line":1359},[640,3404,922],{"class":921},[640,3406,1364],{"class":945},[640,3408,922],{"class":921},[640,3410,654],{"class":914},[640,3412,972],{"class":971},[640,3414,1014],{"class":975},[640,3416,922],{"class":971},[640,3418,956],{"class":914},[640,3420,3421,3423,3425,3427,3429],{"class":642,"line":1379},[640,3422,922],{"class":921},[640,3424,1384],{"class":945},[640,3426,922],{"class":921},[640,3428,654],{"class":914},[640,3430,1089],{"class":914},[640,3432,3433,3435,3437,3439,3441],{"class":642,"line":1393},[640,3434,922],{"class":921},[640,3436,109],{"class":1097},[640,3438,922],{"class":921},[640,3440,654],{"class":914},[640,3442,1089],{"class":914},[640,3444,3445,3447,3449,3451,3453,3455,3457,3459],{"class":642,"line":1406},[640,3446,922],{"class":921},[640,3448,1412],{"class":1411},[640,3450,922],{"class":921},[640,3452,654],{"class":914},[640,3454,972],{"class":971},[640,3456,109],{"class":975},[640,3458,922],{"class":971},[640,3460,956],{"class":914},[640,3462,3463,3465,3467,3469,3471,3473],{"class":642,"line":1427},[640,3464,922],{"class":921},[640,3466,1432],{"class":1411},[640,3468,922],{"class":921},[640,3470,654],{"class":914},[640,3472,995],{"class":650},[640,3474,956],{"class":914},[640,3476,3477,3479,3481,3483,3485,3487,3489,3491],{"class":642,"line":1443},[640,3478,922],{"class":921},[640,3480,109],{"class":1411},[640,3482,922],{"class":921},[640,3484,654],{"class":914},[640,3486,972],{"class":971},[640,3488,1456],{"class":975},[640,3490,922],{"class":971},[640,3492,956],{"class":914},[640,3494,3495,3497,3499,3501,3503,3505,3507,3509],{"class":642,"line":1463},[640,3496,922],{"class":921},[640,3498,1468],{"class":1411},[640,3500,922],{"class":921},[640,3502,654],{"class":914},[640,3504,972],{"class":971},[640,3506,1477],{"class":975},[640,3508,922],{"class":971},[640,3510,956],{"class":914},[640,3512,3513,3515,3517,3519,3521,3523],{"class":642,"line":1484},[640,3514,922],{"class":921},[640,3516,1489],{"class":1411},[640,3518,922],{"class":921},[640,3520,654],{"class":914},[640,3522,995],{"class":650},[640,3524,956],{"class":914},[640,3526,3527,3529,3531,3533,3535,3537,3539,3541],{"class":642,"line":1500},[640,3528,922],{"class":921},[640,3530,1505],{"class":1411},[640,3532,922],{"class":921},[640,3534,654],{"class":914},[640,3536,972],{"class":971},[640,3538,1514],{"class":975},[640,3540,922],{"class":971},[640,3542,956],{"class":914},[640,3544,3545,3547,3549,3551,3553,3555],{"class":642,"line":1521},[640,3546,922],{"class":921},[640,3548,1526],{"class":1411},[640,3550,922],{"class":921},[640,3552,654],{"class":914},[640,3554,1533],{"class":650},[640,3556,956],{"class":914},[640,3558,3559,3561,3563,3565,3567],{"class":642,"line":1538},[640,3560,922],{"class":921},[640,3562,1543],{"class":1411},[640,3564,922],{"class":921},[640,3566,654],{"class":914},[640,3568,1550],{"class":650},[640,3570,3571],{"class":642,"line":1553},[640,3572,1272],{"class":914},[640,3574,3575],{"class":642,"line":1558},[640,3576,1158],{"class":914},[640,3578,3579,3581,3583,3585,3587,3589],{"class":642,"line":1563},[640,3580,922],{"class":921},[640,3582,1568],{"class":945},[640,3584,922],{"class":921},[640,3586,654],{"class":914},[640,3588,1575],{"class":1033},[640,3590,956],{"class":914},[640,3592,3593,3595,3597,3599,3601],{"class":642,"line":1580},[640,3594,922],{"class":921},[640,3596,1585],{"class":945},[640,3598,922],{"class":921},[640,3600,654],{"class":914},[640,3602,1592],{"class":1033},[640,3604,3605],{"class":642,"line":1595},[640,3606,1272],{"class":914},[640,3608,3609],{"class":642,"line":1600},[640,3610,1603],{"class":914},[640,3612,3613,3615],{"class":642,"line":1606},[640,3614,1609],{"class":914},[640,3616,1612],{"class":646},[493,3618,1616],{"id":1615},[498,3620,1619,3621,1625,3624,1631,3627,1637],{},[505,3622,1624],{"href":1622,"rel":3623},[509],[505,3625,1630],{"href":1628,"rel":3626},[509],[505,3628,1636],{"href":1634,"rel":3629},[509],[601,3631,3632,1644],{"id":1640},[505,3633,1624],{"href":1622,"rel":3634},[509],[498,3636,1647],{},[601,3638,3639,1654],{"id":1650},[505,3640,1630],{"href":1628,"rel":3641},[509],[498,3643,1657,3644,1661],{},[505,3645,1624],{"href":1622,"rel":3646},[509],[601,3648,3649,1668],{"id":1664},[505,3650,1636],{"href":1634,"rel":3651},[509],[498,3653,1671],{},[601,3655,1675],{"id":1674},[498,3657,1678,3658,1684,3661,1688,3664,1692,3666,1696],{},[505,3659,1683],{"href":1681,"rel":3660},[509],[505,3662,1624],{"href":1622,"rel":3663},[509],[637,3665,1691],{},[637,3667,1695],{},[631,3669,3670],{"className":1699,"code":1700,"language":1701,"meta":635,"style":635},[637,3671,3672,3676,3718,3724,3746,3760,3774,3778],{"__ignoreMap":635},[640,3673,3674],{"class":642,"line":643},[640,3675,1708],{"class":892},[640,3677,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716],{"class":642,"line":886},[640,3679,1713],{"class":646},[640,3681,750],{"class":914},[640,3683,1691],{"class":1718},[640,3685,1721],{"class":914},[640,3687,1695],{"class":646},[640,3689,1726],{"class":914},[640,3691,1729],{"class":1718},[640,3693,1732],{"class":914},[640,3695,1735],{"class":1718},[640,3697,1732],{"class":914},[640,3699,1740],{"class":1718},[640,3701,1732],{"class":914},[640,3703,1745],{"class":1718},[640,3705,1732],{"class":914},[640,3707,1750],{"class":1718},[640,3709,1721],{"class":914},[640,3711,1755],{"class":646},[640,3713,1759],{"class":1758},[640,3715,1762],{"class":1758},[640,3717,915],{"class":914},[640,3719,3720,3722],{"class":642,"line":896},[640,3721,1770],{"class":1769},[640,3723,915],{"class":914},[640,3725,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744],{"class":642,"line":902},[640,3727,1777],{"class":646},[640,3729,750],{"class":914},[640,3731,1782],{"class":646},[640,3733,750],{"class":914},[640,3735,1787],{"class":1718},[640,3737,1721],{"class":914},[640,3739,1755],{"class":646},[640,3741,750],{"class":914},[640,3743,1796],{"class":1718},[640,3745,1799],{"class":914},[640,3747,3748,3750,3752,3754,3756,3758],{"class":642,"line":908},[640,3749,1804],{"class":914},[640,3751,1807],{"class":1769},[640,3753,1721],{"class":914},[640,3755,1813],{"class":1812},[640,3757,1817],{"class":1816},[640,3759,1820],{"class":914},[640,3761,3762,3764,3766,3768,3770,3772],{"class":642,"line":918},[640,3763,1825],{"class":1769},[640,3765,1828],{"class":1769},[640,3767,1831],{"class":1718},[640,3769,1721],{"class":914},[640,3771,1836],{"class":646},[640,3773,1839],{"class":914},[640,3775,3776],{"class":642,"line":935},[640,3777,1844],{"class":914},[640,3779,3780],{"class":642,"line":940},[640,3781,1849],{"class":914},[498,3783,1852],{},[631,3785,3786],{"className":633,"code":1855,"language":61,"meta":635,"style":635},[637,3787,3788,3792,3804,3808,3822,3840,3854,3872,3886,3904,3918,3930,3948,3966,3982,3986,4004,4022,4040,4052,4056,4070,4084,4096,4100,4104,4116,4128,4132,4136,4148,4152,4166,4184,4196,4208,4226,4240,4258,4276,4290,4302,4306,4310,4322,4334,4352,4366,4380,4394,4408,4426,4438,4442,4446,4458,4462,4466],{"__ignoreMap":635},[640,3789,3790],{"class":642,"line":643},[640,3791,915],{"class":914},[640,3793,3794,3796,3798,3800,3802],{"class":642,"line":886},[640,3795,1866],{"class":921},[640,3797,64],{"class":925},[640,3799,922],{"class":921},[640,3801,654],{"class":914},[640,3803,932],{"class":914},[640,3805,3806],{"class":642,"line":896},[640,3807,1879],{"class":914},[640,3809,3810,3812,3814,3816,3818,3820],{"class":642,"line":902},[640,3811,1884],{"class":921},[640,3813,946],{"class":945},[640,3815,922],{"class":921},[640,3817,654],{"class":914},[640,3819,953],{"class":650},[640,3821,956],{"class":914},[640,3823,3824,3826,3828,3830,3832,3834,3836,3838],{"class":642,"line":908},[640,3825,1884],{"class":921},[640,3827,964],{"class":945},[640,3829,922],{"class":921},[640,3831,654],{"class":914},[640,3833,972],{"class":971},[640,3835,976],{"class":975},[640,3837,922],{"class":971},[640,3839,956],{"class":914},[640,3841,3842,3844,3846,3848,3850,3852],{"class":642,"line":918},[640,3843,1884],{"class":921},[640,3845,988],{"class":945},[640,3847,922],{"class":921},[640,3849,654],{"class":914},[640,3851,1925],{"class":650},[640,3853,956],{"class":914},[640,3855,3856,3858,3860,3862,3864,3866,3868,3870],{"class":642,"line":935},[640,3857,1884],{"class":921},[640,3859,1005],{"class":945},[640,3861,922],{"class":921},[640,3863,654],{"class":914},[640,3865,972],{"class":971},[640,3867,1014],{"class":975},[640,3869,922],{"class":971},[640,3871,956],{"class":914},[640,3873,3874,3876,3878,3880,3882,3884],{"class":642,"line":940},[640,3875,1884],{"class":921},[640,3877,1026],{"class":945},[640,3879,922],{"class":921},[640,3881,654],{"class":914},[640,3883,1034],{"class":1033},[640,3885,956],{"class":914},[640,3887,3888,3890,3892,3894,3896,3898,3900,3902],{"class":642,"line":959},[640,3889,1884],{"class":921},[640,3891,1044],{"class":945},[640,3893,922],{"class":921},[640,3895,654],{"class":914},[640,3897,972],{"class":971},[640,3899,1053],{"class":975},[640,3901,922],{"class":971},[640,3903,956],{"class":914},[640,3905,3906,3908,3910,3912,3914,3916],{"class":642,"line":983},[640,3907,1884],{"class":921},[640,3909,1065],{"class":945},[640,3911,922],{"class":921},[640,3913,654],{"class":914},[640,3915,1034],{"class":1033},[640,3917,956],{"class":914},[640,3919,3920,3922,3924,3926,3928],{"class":642,"line":1000},[640,3921,1884],{"class":921},[640,3923,1082],{"class":945},[640,3925,922],{"class":921},[640,3927,654],{"class":914},[640,3929,1089],{"class":914},[640,3931,3932,3934,3936,3938,3940,3942,3944,3946],{"class":642,"line":1021},[640,3933,2008],{"class":921},[640,3935,1098],{"class":1097},[640,3937,922],{"class":921},[640,3939,654],{"class":914},[640,3941,972],{"class":971},[640,3943,1107],{"class":975},[640,3945,922],{"class":971},[640,3947,956],{"class":914},[640,3949,3950,3952,3954,3956,3958,3960,3962,3964],{"class":642,"line":1039},[640,3951,2008],{"class":921},[640,3953,1119],{"class":1097},[640,3955,922],{"class":921},[640,3957,654],{"class":914},[640,3959,972],{"class":971},[640,3961,2037],{"class":975},[640,3963,922],{"class":971},[640,3965,956],{"class":914},[640,3967,3968,3970,3972,3974,3976,3978,3980],{"class":642,"line":1060},[640,3969,2008],{"class":921},[640,3971,1140],{"class":1097},[640,3973,922],{"class":921},[640,3975,654],{"class":914},[640,3977,972],{"class":971},[640,3979,2056],{"class":975},[640,3981,1152],{"class":971},[640,3983,3984],{"class":642,"line":1077},[640,3985,2063],{"class":914},[640,3987,3988,3990,3992,3994,3996,3998,4000,4002],{"class":642,"line":1092},[640,3989,1884],{"class":921},[640,3991,2070],{"class":945},[640,3993,922],{"class":921},[640,3995,654],{"class":914},[640,3997,972],{"class":971},[640,3999,2079],{"class":975},[640,4001,922],{"class":971},[640,4003,956],{"class":914},[640,4005,4006,4008,4010,4012,4014,4016,4018,4020],{"class":642,"line":1114},[640,4007,1884],{"class":921},[640,4009,1166],{"class":945},[640,4011,922],{"class":921},[640,4013,654],{"class":914},[640,4015,972],{"class":971},[640,4017,1175],{"class":975},[640,4019,922],{"class":971},[640,4021,956],{"class":914},[640,4023,4024,4026,4028,4030,4032,4034,4036,4038],{"class":642,"line":1135},[640,4025,1884],{"class":921},[640,4027,1187],{"class":945},[640,4029,922],{"class":921},[640,4031,654],{"class":914},[640,4033,972],{"class":971},[640,4035,1196],{"class":975},[640,4037,922],{"class":971},[640,4039,956],{"class":914},[640,4041,4042,4044,4046,4048,4050],{"class":642,"line":1155},[640,4043,1884],{"class":921},[640,4045,1208],{"class":945},[640,4047,922],{"class":921},[640,4049,654],{"class":914},[640,4051,932],{"class":914},[640,4053,4054],{"class":642,"line":1161},[640,4055,2136],{"class":914},[640,4057,4058,4060,4062,4064,4066,4068],{"class":642,"line":1182},[640,4059,2141],{"class":921},[640,4061,1227],{"class":1097},[640,4063,922],{"class":921},[640,4065,654],{"class":914},[640,4067,953],{"class":650},[640,4069,956],{"class":914},[640,4071,4072,4074,4076,4078,4080,4082],{"class":642,"line":1203},[640,4073,2141],{"class":921},[640,4075,1243],{"class":1097},[640,4077,922],{"class":921},[640,4079,654],{"class":914},[640,4081,995],{"class":650},[640,4083,956],{"class":914},[640,4085,4086,4088,4090,4092,4094],{"class":642,"line":1217},[640,4087,2141],{"class":921},[640,4089,1259],{"class":1097},[640,4091,922],{"class":921},[640,4093,654],{"class":914},[640,4095,2178],{"class":650},[640,4097,4098],{"class":642,"line":1222},[640,4099,1844],{"class":914},[640,4101,4102],{"class":642,"line":1238},[640,4103,2187],{"class":914},[640,4105,4106,4108,4110,4112,4114],{"class":642,"line":1254},[640,4107,1884],{"class":921},[640,4109,1286],{"class":945},[640,4111,922],{"class":921},[640,4113,654],{"class":914},[640,4115,2200],{"class":914},[640,4117,4118,4120,4122,4124,4126],{"class":642,"line":1269},[640,4119,1884],{"class":921},[640,4121,1305],{"class":945},[640,4123,922],{"class":921},[640,4125,654],{"class":914},[640,4127,1312],{"class":914},[640,4129,4130],{"class":642,"line":1275},[640,4131,2217],{"class":914},[640,4133,4134],{"class":642,"line":1281},[640,4135,2222],{"class":914},[640,4137,4138,4140,4142,4144,4146],{"class":642,"line":1295},[640,4139,1866],{"class":921},[640,4141,1330],{"class":925},[640,4143,922],{"class":921},[640,4145,654],{"class":914},[640,4147,932],{"class":914},[640,4149,4150],{"class":642,"line":1300},[640,4151,1879],{"class":914},[640,4153,4154,4156,4158,4160,4162,4164],{"class":642,"line":1315},[640,4155,1884],{"class":921},[640,4157,1227],{"class":945},[640,4159,922],{"class":921},[640,4161,654],{"class":914},[640,4163,953],{"class":650},[640,4165,956],{"class":914},[640,4167,4168,4170,4172,4174,4176,4178,4180,4182],{"class":642,"line":1320},[640,4169,1884],{"class":921},[640,4171,1364],{"class":945},[640,4173,922],{"class":921},[640,4175,654],{"class":914},[640,4177,972],{"class":971},[640,4179,1014],{"class":975},[640,4181,922],{"class":971},[640,4183,956],{"class":914},[640,4185,4186,4188,4190,4192,4194],{"class":642,"line":1325},[640,4187,1884],{"class":921},[640,4189,1384],{"class":945},[640,4191,922],{"class":921},[640,4193,654],{"class":914},[640,4195,1089],{"class":914},[640,4197,4198,4200,4202,4204,4206],{"class":642,"line":1339},[640,4199,2008],{"class":921},[640,4201,109],{"class":1097},[640,4203,922],{"class":921},[640,4205,654],{"class":914},[640,4207,1089],{"class":914},[640,4209,4210,4212,4214,4216,4218,4220,4222,4224],{"class":642,"line":1344},[640,4211,2141],{"class":921},[640,4213,1412],{"class":1411},[640,4215,922],{"class":921},[640,4217,654],{"class":914},[640,4219,972],{"class":971},[640,4221,109],{"class":975},[640,4223,922],{"class":971},[640,4225,956],{"class":914},[640,4227,4228,4230,4232,4234,4236,4238],{"class":642,"line":1359},[640,4229,2141],{"class":921},[640,4231,1432],{"class":1411},[640,4233,922],{"class":921},[640,4235,654],{"class":914},[640,4237,995],{"class":650},[640,4239,956],{"class":914},[640,4241,4242,4244,4246,4248,4250,4252,4254,4256],{"class":642,"line":1379},[640,4243,2141],{"class":921},[640,4245,109],{"class":1411},[640,4247,922],{"class":921},[640,4249,654],{"class":914},[640,4251,972],{"class":971},[640,4253,2341],{"class":975},[640,4255,922],{"class":971},[640,4257,956],{"class":914},[640,4259,4260,4262,4264,4266,4268,4270,4272,4274],{"class":642,"line":1393},[640,4261,2141],{"class":921},[640,4263,1468],{"class":1411},[640,4265,922],{"class":921},[640,4267,654],{"class":914},[640,4269,972],{"class":971},[640,4271,2360],{"class":975},[640,4273,922],{"class":971},[640,4275,956],{"class":914},[640,4277,4278,4280,4282,4284,4286,4288],{"class":642,"line":1406},[640,4279,2141],{"class":921},[640,4281,2371],{"class":1411},[640,4283,922],{"class":921},[640,4285,654],{"class":914},[640,4287,2378],{"class":650},[640,4289,956],{"class":914},[640,4291,4292,4294,4296,4298,4300],{"class":642,"line":1427},[640,4293,2141],{"class":921},[640,4295,2387],{"class":1411},[640,4297,922],{"class":921},[640,4299,654],{"class":914},[640,4301,2394],{"class":650},[640,4303,4304],{"class":642,"line":1443},[640,4305,1844],{"class":914},[640,4307,4308],{"class":642,"line":1463},[640,4309,2063],{"class":914},[640,4311,4312,4314,4316,4318,4320],{"class":642,"line":1484},[640,4313,1884],{"class":921},[640,4315,1568],{"class":945},[640,4317,922],{"class":921},[640,4319,654],{"class":914},[640,4321,1089],{"class":914},[640,4323,4324,4326,4328,4330,4332],{"class":642,"line":1500},[640,4325,2008],{"class":921},[640,4327,106],{"class":1097},[640,4329,922],{"class":921},[640,4331,654],{"class":914},[640,4333,1089],{"class":914},[640,4335,4336,4338,4340,4342,4344,4346,4348,4350],{"class":642,"line":1521},[640,4337,2141],{"class":921},[640,4339,1412],{"class":1411},[640,4341,922],{"class":921},[640,4343,654],{"class":914},[640,4345,972],{"class":971},[640,4347,106],{"class":975},[640,4349,922],{"class":971},[640,4351,956],{"class":914},[640,4353,4354,4356,4358,4360,4362,4364],{"class":642,"line":1538},[640,4355,2141],{"class":921},[640,4357,1432],{"class":1411},[640,4359,922],{"class":921},[640,4361,654],{"class":914},[640,4363,995],{"class":650},[640,4365,956],{"class":914},[640,4367,4368,4370,4372,4374,4376,4378],{"class":642,"line":1553},[640,4369,2141],{"class":921},[640,4371,2465],{"class":1411},[640,4373,922],{"class":921},[640,4375,654],{"class":914},[640,4377,1575],{"class":1033},[640,4379,956],{"class":914},[640,4381,4382,4384,4386,4388,4390,4392],{"class":642,"line":1558},[640,4383,2141],{"class":921},[640,4385,2480],{"class":1411},[640,4387,922],{"class":921},[640,4389,654],{"class":914},[640,4391,1575],{"class":1033},[640,4393,956],{"class":914},[640,4395,4396,4398,4400,4402,4404,4406],{"class":642,"line":1563},[640,4397,2141],{"class":921},[640,4399,1468],{"class":1411},[640,4401,922],{"class":921},[640,4403,654],{"class":914},[640,4405,2501],{"class":971},[640,4407,956],{"class":914},[640,4409,4410,4412,4414,4416,4418,4420,4422,4424],{"class":642,"line":1580},[640,4411,2141],{"class":921},[640,4413,106],{"class":1411},[640,4415,922],{"class":921},[640,4417,654],{"class":914},[640,4419,972],{"class":971},[640,4421,2518],{"class":975},[640,4423,922],{"class":971},[640,4425,956],{"class":914},[640,4427,4428,4430,4432,4434,4436],{"class":642,"line":1595},[640,4429,2141],{"class":921},[640,4431,2529],{"class":1411},[640,4433,922],{"class":921},[640,4435,654],{"class":914},[640,4437,2178],{"class":650},[640,4439,4440],{"class":642,"line":1600},[640,4441,1844],{"class":914},[640,4443,4444],{"class":642,"line":1606},[640,4445,2063],{"class":914},[640,4447,4448,4450,4452,4454,4456],{"class":642,"line":2546},[640,4449,1884],{"class":921},[640,4451,1585],{"class":945},[640,4453,922],{"class":921},[640,4455,654],{"class":914},[640,4457,1592],{"class":1033},[640,4459,4460],{"class":642,"line":2559},[640,4461,2217],{"class":914},[640,4463,4464],{"class":642,"line":2564},[640,4465,2567],{"class":914},[640,4467,4468],{"class":642,"line":2570},[640,4469,1272],{"class":914},[2574,4471,2576],{},{"title":635,"searchDepth":886,"depth":886,"links":4473},[4474,4475,4476,4477,4478,4479,4486,4491],{"id":495,"depth":886,"text":496},{"id":526,"depth":886,"text":23},{"id":538,"depth":886,"text":539},{"id":545,"depth":886,"text":546},{"id":555,"depth":886,"text":556},{"id":595,"depth":886,"text":596,"children":4480},[4481,4482,4483,4484,4485],{"id":603,"depth":896,"text":604},{"id":662,"depth":896,"text":663},{"id":697,"depth":896,"text":698},{"id":720,"depth":896,"text":721},{"id":741,"depth":896,"text":742},{"id":836,"depth":886,"text":837,"children":4487},[4488,4489,4490],{"id":843,"depth":896,"text":844},{"id":854,"depth":896,"text":855},{"id":865,"depth":896,"text":866},{"id":1615,"depth":886,"text":1616,"children":4492},[4493,4494,4495,4496],{"id":1640,"depth":896,"text":2599},{"id":1650,"depth":896,"text":2601},{"id":1664,"depth":896,"text":2603},{"id":1674,"depth":896,"text":1675},{"head":4498,"readingTime":4501},{"meta":4499},[4500],{"name":2610,"content":2611},{"text":2613,"minutes":2614,"time":2615,"words":2616},{"title":128,"tags":4503},[16,122,61,62,63,64,21,123,124,125,70,71],{"title":488,"description":133},{"loc":129,"lastmod":2621,"changefreq":2622,"priority":2623},1782689031527]