diff --git a/404.html b/404.html index 0b67e82..8359705 100644 --- a/404.html +++ b/404.html @@ -1,12 +1,12 @@ - + Page Not Found | Nomos - - - + + +
@@ -14,8 +14,8 @@ .lsd-dropdown--error ) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not( .lsd-dropdown--error - ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Page Not Found

We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Page Not Found

We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + \ No newline at end of file diff --git a/_og/c4ffd42dd8dc017394be610d07d86469d678577c.png b/_og/07db7199ec8be2fc05ecad7c33dd9fbf1fde986f.png similarity index 72% rename from _og/c4ffd42dd8dc017394be610d07d86469d678577c.png rename to _og/07db7199ec8be2fc05ecad7c33dd9fbf1fde986f.png index 69373d5..d9e7d52 100644 Binary files a/_og/c4ffd42dd8dc017394be610d07d86469d678577c.png and b/_og/07db7199ec8be2fc05ecad7c33dd9fbf1fde986f.png differ diff --git a/_og/36d4f97a6621640d9a79db0226a25e30f20fad84.png b/_og/58b55997c86e0e1c7b15816564639bdaad97e14a.png similarity index 65% rename from _og/36d4f97a6621640d9a79db0226a25e30f20fad84.png rename to _og/58b55997c86e0e1c7b15816564639bdaad97e14a.png index 9ce7008..36b6e43 100644 Binary files a/_og/36d4f97a6621640d9a79db0226a25e30f20fad84.png and b/_og/58b55997c86e0e1c7b15816564639bdaad97e14a.png differ diff --git a/_og/50ba2c3f415d766c44eee05f026ed7ba350d9783.png b/_og/8729b53b3e08d70761a8a810e54fa473b212b129.png similarity index 68% rename from _og/50ba2c3f415d766c44eee05f026ed7ba350d9783.png rename to _og/8729b53b3e08d70761a8a810e54fa473b212b129.png index 0812a47..b0b4fab 100644 Binary files a/_og/50ba2c3f415d766c44eee05f026ed7ba350d9783.png and b/_og/8729b53b3e08d70761a8a810e54fa473b212b129.png differ diff --git a/_og/c6383fa24855b91491e7b763147cb135196f7325.png b/_og/c6383fa24855b91491e7b763147cb135196f7325.png new file mode 100644 index 0000000..0d22591 Binary files /dev/null and b/_og/c6383fa24855b91491e7b763147cb135196f7325.png differ diff --git a/_og/a13a17fc663cb271b29f77ac0dfac7849a154fa4.png b/_og/e840b9f938216b25ecdfa398b43b5086cd579753.png similarity index 65% rename from _og/a13a17fc663cb271b29f77ac0dfac7849a154fa4.png rename to _og/e840b9f938216b25ecdfa398b43b5086cd579753.png index 4d9da2b..6ad7664 100644 Binary files a/_og/a13a17fc663cb271b29f77ac0dfac7849a154fa4.png and b/_og/e840b9f938216b25ecdfa398b43b5086cd579753.png differ diff --git a/about/architect/index.html b/about/architect/index.html index 465a6d9..f921eed 100644 --- a/about/architect/index.html +++ b/about/architect/index.html @@ -4,9 +4,9 @@ Description and architecture | Nomos - - - + + +
@@ -14,8 +14,8 @@ .lsd-dropdown--error ) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not( .lsd-dropdown--error - ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Description and architecture

Nomos was designed to serve as the trustless agreements layer for emerging network states, providing a key piece of infrastructure to the Logos tech stack. We believe that such a network must maintain the following properties:

  • Maximum decentralisation: Nomos is designed to place minimum resource demands on validators, ensuring that those without access to powerful hardware can participate. With the network maximally accessible, greater numbers of users can join as full peers, strengthening Nomos from a security perspective.

  • Modular Architecture: We focus on implementing a modular architecture that decouples consensus and data availability from state execution and verification. This decoupling allows for maximum scalability for our blockchain technology, facilitating agile experiments in governance.

  • Isolated performance trade-offs: Nomos will provide a means for customizable execution environments called Nomos Zones in which trade-offs can be made to achieve performance enhancements such as high transaction throughput.

  • High Network Resiliency: Nomos puts an emphasis on mechanisms to protect the network from sophisticated and targeted attacks. The system identifies and targets risky nodes to ensure the strength of the network while supporting hundreds of thousands of nodes in the process, ensuring uncompromised resiliency.

Design space

To achieve the above, Nomos is developing an underexplored area in the design space between Ethereum, Cosmos, Polkadot, and newer systems like Celestia and Anoma.

Ethereum pioneered the concept of a blockchain network capable of smart contract execution, ushering in an ongoing era of monetary and organisational experimentation. Yet, it is vulnerable to various centralising forces. Furthermore, while its rollup-centric approach to scaling has the potential for decentralisation, most rollups today rely on centralised sequencers, and inter-rollup communication presents its own complications. While Nomos is inspired by Ethereum in many ways, these limitations make Ethereum ill-suited for our vision of a network of network states.

App-chain ecosystems like Cosmos and Polkadot offer an alternative architecture but introduce their own challenges. Examples include bootstrapping sufficient participants to ensure the economic security of multiple independent chains, and addressing the asynchronous nature of cross-chain protocols. While Polkadot's shared security model offers something of a solution, the network fails to enable easy, permissionless participation and its parachains cannot be considered fully sovereign.

Meanwhile, Anoma's fractal approach to scaling maintains decentralisation while providing flexibility and customizability closer to our vision for Nomos. However, the approach is still to be tested widely by real-world applications, which will surely produce its own challenges. Finally, Nomos implements insights from Celestia's architecture in its approach to communication, sovereignty, and scalability.


Network architecture

Nomos consists of three layers—the Base Layer, Coordination Layer, and Execution Zones. Each has a specific role that contributes to the system's functionality and performance.


Base Layer

Nomos' Base Layer focuses exclusively on consensus, data availability, and decentralisation, with the goal of ensuring stability, security, and scalability for the rest of the network. No execution or validation is performed at the Base Layer, as functions requiring access to state cannot be as reliably decentralised as consensus and data availability.

The Carnot consensus protocol is crucial to ensuring high performance as the network scales from a few validators to tens of thousands. A forthcoming paper covers Carnot in greater detail.

Alongside ensuring maximum decentralisation, the Base Layer also strives to make data availability scalable. It achieves this by:

  • Reducing the amount of computation validators need by minimising or eliminating block execution or verification from the Base Layer.

  • Reducing the amount of data light clients need to download through Data Availability Sampling.

  • Reducing data redundancy in the network via sharding techniques that decouple data stored on the blockchain from the data that a single node needs to process and store.


Coordination Layer

Above the Base Layer is the Coordination Layer. The Coordination Layer's aim is to support functions common across all Execution Zones. To ensure maximum decentralisation, these functions are kept to the bare minimum, since everything on the Coordination Layer must be downloaded and verified by all validators.

The Coordination Layer provides the following functions only:

  • Verification of ZK proofs: The Coordination Layer's ability to verify ZK proofs facilitates powerful bridging capabilities, including private deposits and withdrawals between the Coordination Layer and Execution Zones, inter-Execution Zone private transfers, and generalised use cases.

  • Message passing between Execution Zones: The Coordination Layer enables Execution Zones to communicate asynchronously with each other. Such messaging is a powerful feature but not entirely trustless—as detailed in the forthcoming Nomos whitepaper.

  • Special operations, such as those relating to the creation of new Execution Zones: Initially, these special operations are limited to initiating new Execution Zones and the creation of a new zone's genesis block.

  • Censorship resistance: Censorship resistance is an emergent property of the above features, enabling any user to "exit" an execution zone by submitting transactions to the Coordination Layer directly. This is particularly powerful in the event that an Execution Zone attempts to censor a user's actions.


Execution Zones

The Base and Coordination Layers support a third layer of Execution Zones. Execution Zones provide the following properties:

  • Share liquidity with the entire Nomos network.

  • Configurable latency reduction.

  • Configurable throughput increases.

  • Adaptability to specific applications and use cases.

Execution Zones are most easily thought of as virtual sidechains that share the same global data availability space. Transactions associated with an Execution Zone are only processed by that zone's validators. However, unlike traditional sidechains, all applications on Nomos share the same blockchain, and data availability is uniformly ensured by the global Nomos network.

This architecture makes Execution Zones more powerful than traditional sidechains as they:

  • Use trust-minimised bridging for communication.

  • Can access each other's transactions securely.

  • Share liquidity across the network.

  • Enable improved security via restaking.

Execution Zones exist to satisfy a wide range of application requirements that may demand far greater performance characteristics than what a highly decentralised, monolithic blockchain can achieve before hitting scaling limits. Such applications are often willing to make compromises in terms of security or decentralisation to achieve higher performance. By combining the elastic consensus algorithm Carnot with a restaking mechanism and flexible execution models, Nomos grants a high degree of Execution Zone adaptability.

architect.png

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Description and architecture

Nomos was designed to serve as the trustless agreements layer for emerging network states, providing a key piece of infrastructure to the Logos tech stack. We believe that such a network must maintain the following properties:

  • Maximum decentralisation: Nomos is designed to place minimum resource demands on validators, ensuring that those without access to powerful hardware can participate. With the network maximally accessible, greater numbers of users can join as full peers, strengthening Nomos from a security perspective.

  • Modular Architecture: We focus on implementing a modular architecture that decouples consensus and data availability from state execution and verification. This decoupling allows for maximum scalability for our blockchain technology, facilitating agile experiments in governance.

  • Isolated performance trade-offs: Nomos will provide a means for customizable execution environments called Nomos Zones in which trade-offs can be made to achieve performance enhancements such as high transaction throughput.

  • High Network Resiliency: Nomos puts an emphasis on mechanisms to protect the network from sophisticated and targeted attacks. The system identifies and targets risky nodes to ensure the strength of the network while supporting hundreds of thousands of nodes in the process, ensuring uncompromised resiliency.

Design space

To achieve the above, Nomos is developing an underexplored area in the design space between Ethereum, Cosmos, Polkadot, and newer systems like Celestia and Anoma.

Ethereum pioneered the concept of a blockchain network capable of smart contract execution, ushering in an ongoing era of monetary and organisational experimentation. Yet, it is vulnerable to various centralising forces. Furthermore, while its rollup-centric approach to scaling has the potential for decentralisation, most rollups today rely on centralised sequencers, and inter-rollup communication presents its own complications. While Nomos is inspired by Ethereum in many ways, these limitations make Ethereum ill-suited for our vision of a network of network states.

App-chain ecosystems like Cosmos and Polkadot offer an alternative architecture but introduce their own challenges. Examples include bootstrapping sufficient participants to ensure the economic security of multiple independent chains, and addressing the asynchronous nature of cross-chain protocols. While Polkadot's shared security model offers something of a solution, the network fails to enable easy, permissionless participation and its parachains cannot be considered fully sovereign.

Meanwhile, Anoma's fractal approach to scaling maintains decentralisation while providing flexibility and customizability closer to our vision for Nomos. However, the approach is still to be tested widely by real-world applications, which will surely produce its own challenges. Finally, Nomos implements insights from Celestia's architecture in its approach to communication, sovereignty, and scalability.


Network architecture

Nomos consists of three layers—the Base Layer, Coordination Layer, and Execution Zones. Each has a specific role that contributes to the system's functionality and performance.


Base Layer

Nomos' Base Layer focuses exclusively on consensus, data availability, and decentralisation, with the goal of ensuring stability, security, and scalability for the rest of the network. No execution or validation is performed at the Base Layer, as functions requiring access to state cannot be as reliably decentralised as consensus and data availability.

The Carnot consensus protocol is crucial to ensuring high performance as the network scales from a few validators to tens of thousands. A forthcoming paper covers Carnot in greater detail.

Alongside ensuring maximum decentralisation, the Base Layer also strives to make data availability scalable. It achieves this by:

  • Reducing the amount of computation validators need by minimising or eliminating block execution or verification from the Base Layer.

  • Reducing the amount of data light clients need to download through Data Availability Sampling.

  • Reducing data redundancy in the network via sharding techniques that decouple data stored on the blockchain from the data that a single node needs to process and store.


Coordination Layer

Above the Base Layer is the Coordination Layer. The Coordination Layer's aim is to support functions common across all Execution Zones. To ensure maximum decentralisation, these functions are kept to the bare minimum, since everything on the Coordination Layer must be downloaded and verified by all validators.

The Coordination Layer provides the following functions only:

  • Verification of ZK proofs: The Coordination Layer's ability to verify ZK proofs facilitates powerful bridging capabilities, including private deposits and withdrawals between the Coordination Layer and Execution Zones, inter-Execution Zone private transfers, and generalised use cases.

  • Message passing between Execution Zones: The Coordination Layer enables Execution Zones to communicate asynchronously with each other. Such messaging is a powerful feature but not entirely trustless—as detailed in the forthcoming Nomos whitepaper.

  • Special operations, such as those relating to the creation of new Execution Zones: Initially, these special operations are limited to initiating new Execution Zones and the creation of a new zone's genesis block.

  • Censorship resistance: Censorship resistance is an emergent property of the above features, enabling any user to "exit" an execution zone by submitting transactions to the Coordination Layer directly. This is particularly powerful in the event that an Execution Zone attempts to censor a user's actions.


Execution Zones

The Base and Coordination Layers support a third layer of Execution Zones. Execution Zones provide the following properties:

  • Share liquidity with the entire Nomos network.

  • Configurable latency reduction.

  • Configurable throughput increases.

  • Adaptability to specific applications and use cases.

Execution Zones are most easily thought of as virtual sidechains that share the same global data availability space. Transactions associated with an Execution Zone are only processed by that zone's validators. However, unlike traditional sidechains, all applications on Nomos share the same blockchain, and data availability is uniformly ensured by the global Nomos network.

This architecture makes Execution Zones more powerful than traditional sidechains as they:

  • Use trust-minimised bridging for communication.

  • Can access each other's transactions securely.

  • Share liquidity across the network.

  • Enable improved security via restaking.

Execution Zones exist to satisfy a wide range of application requirements that may demand far greater performance characteristics than what a highly decentralised, monolithic blockchain can achieve before hitting scaling limits. Such applications are often willing to make compromises in terms of security or decentralisation to achieve higher performance. By combining the elastic consensus algorithm Carnot with a restaking mechanism and flexible execution models, Nomos grants a high degree of Execution Zone adaptability.

architect.png

+ + \ No newline at end of file diff --git a/about/index.html b/about/index.html index 8b663ea..1239c3d 100644 --- a/about/index.html +++ b/about/index.html @@ -4,9 +4,9 @@ About Nomos | Nomos - - - + + +
@@ -14,8 +14,8 @@ .lsd-dropdown--error ) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not( .lsd-dropdown--error - ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

About Nomos

Nomos is an innovative blockchain platform designed to address the critical requirements of the network state. It aims to provide developers with secure, flexible, and scalable infrastructure for building a wide range of applications while respecting the privacy and sovereignty of its users.

Nomos serves as the trustless agreement layer of the Logos tech stack. Alongside the communications layer, Waku, and the storage layer, Codex, it is one of the Logos Collective's foundational projects.

We believe that blockchain technology has the potential to lay the foundations of a fairer, less corruptible and, ultimately, freer society. However, its most successful implementations to date fall short of achieving this.


Network-level resiliency, network-level sovereignty

We seek to maximize the antifragility of our network. It should be unstoppable and incorruptible, with security layers focused on deterring bad actors. Not only will Nomos support good nodes, it will protect and reward them. This type of antifragility is needed to power the self-sovereign virtual territories and network states of tomorrow. Decentralised, impregnable governance is the key to securing the future.

We believe that absolute transparency massively limits the scope of the technology's adoption, and therefore its revolutionary potential. We cannot expect individuals to voluntarily exit the current system into one in which their every interaction (both financial and social) is forever available for the entire world to see. When we buy a coffee, for example, there is no need for the seller to see our salary, other purchase history, or political leanings.

Furthermore, we believe consent to be a critical element of any governance system. We find the nation-state's claims of governance via implied consent to be extremely contrived. And we believe blockchain-based systems represent an improvement because every on-chain action is voluntary and requires an individual to digitally sign, therefore, providing explicit consent.

While this is certainly a step in the right direction, it does not go far enough. If an individual no longer aligns with the on-chain institutions of which they were once a part, today's blockchains offer a means of exiting the system to recreate something new. However, the cost to do so successfully can be prohibitively expensive.

There have been numerous occasions in history where an on-chain community has been divided on some issue, resulting in a hard fork that creates two independent chains. In such situations, both networks suffer in terms of their overall security, making them more vulnerable to external attacks.

Nomos leverages a novel architecture to avoid this situation. We believe that a simple disagreement over a community's path forward should not threaten the existence of either party. The Nomos network enables the creation of numerous semi-autonomous execution zones that share the main network's security while retaining the freedom to follow their own rulesets, and eventually become fully independent if they so choose.


History

Work on Nomos began among a small subgroup of Status core contributors in June, 2021. The network takes its name from the ancient Greek concept of law, while alluding to the protection of its users’ autonomy.

Nomos was first announced as a core Logos project in June 2023.

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

About Nomos

Nomos is an innovative blockchain platform designed to address the critical requirements of the network state. It aims to provide developers with secure, flexible, and scalable infrastructure for building a wide range of applications while respecting the privacy and sovereignty of its users.

Nomos serves as the trustless agreement layer of the Logos tech stack. Alongside the communications layer, Waku, and the storage layer, Codex, it is one of the Logos Collective's foundational projects.

We believe that blockchain technology has the potential to lay the foundations of a fairer, less corruptible and, ultimately, freer society. However, its most successful implementations to date fall short of achieving this.


Network-level resiliency, network-level sovereignty

We seek to maximize the antifragility of our network. It should be unstoppable and incorruptible, with security layers focused on deterring bad actors. Not only will Nomos support good nodes, it will protect and reward them. This type of antifragility is needed to power the self-sovereign virtual territories and network states of tomorrow. Decentralised, impregnable governance is the key to securing the future.

We believe that absolute transparency massively limits the scope of the technology's adoption, and therefore its revolutionary potential. We cannot expect individuals to voluntarily exit the current system into one in which their every interaction (both financial and social) is forever available for the entire world to see. When we buy a coffee, for example, there is no need for the seller to see our salary, other purchase history, or political leanings.

Furthermore, we believe consent to be a critical element of any governance system. We find the nation-state's claims of governance via implied consent to be extremely contrived. And we believe blockchain-based systems represent an improvement because every on-chain action is voluntary and requires an individual to digitally sign, therefore, providing explicit consent.

While this is certainly a step in the right direction, it does not go far enough. If an individual no longer aligns with the on-chain institutions of which they were once a part, today's blockchains offer a means of exiting the system to recreate something new. However, the cost to do so successfully can be prohibitively expensive.

There have been numerous occasions in history where an on-chain community has been divided on some issue, resulting in a hard fork that creates two independent chains. In such situations, both networks suffer in terms of their overall security, making them more vulnerable to external attacks.

Nomos leverages a novel architecture to avoid this situation. We believe that a simple disagreement over a community's path forward should not threaten the existence of either party. The Nomos network enables the creation of numerous semi-autonomous execution zones that share the main network's security while retaining the freedom to follow their own rulesets, and eventually become fully independent if they so choose.


History

Work on Nomos began among a small subgroup of Status core contributors in June, 2021. The network takes its name from the ancient Greek concept of law, while alluding to the protection of its users’ autonomy.

Nomos was first announced as a core Logos project in June 2023.

+ + \ No newline at end of file diff --git a/about/roadmap/index.html b/about/roadmap/index.html index dd1e003..a410cc0 100644 --- a/about/roadmap/index.html +++ b/about/roadmap/index.html @@ -4,9 +4,9 @@ Development roadmap | Nomos - - - + + +
@@ -14,8 +14,8 @@ .lsd-dropdown--error ) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not( .lsd-dropdown--error - ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Development roadmap

At this early stage of Nomos' development, the team is primarily focused on implementing the network's consensus protocol, Carnot. As the consensus protocol is so foundational to the rest of the project, it must precede other development areas. Alongside Carnot, Nomos' contributors are working on defining the network architecture, which will also influence future roadmap items.

After defining the network architecture and implementing the consensus protocol, we can establish further milestones both above and below the consensus protocol. Above the consensus layer will be the network's data model and execution environments, which will enable advanced functionality. Below will be P2P networking and peer discovery, which must be built or integrated while maintaining privacy and performance.

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Development roadmap

At this early stage of Nomos' development, the team is primarily focused on implementing the network's consensus protocol, Carnot. As the consensus protocol is so foundational to the rest of the project, it must precede other development areas. Alongside Carnot, Nomos' contributors are working on defining the network architecture, which will also influence future roadmap items.

After defining the network architecture and implementing the consensus protocol, we can establish further milestones both above and below the consensus protocol. Above the consensus layer will be the network's data model and execution environments, which will enable advanced functionality. Below will be P2P networking and peer discovery, which must be built or integrated while maintaining privacy and performance.

+ + \ No newline at end of file diff --git a/about/team/index.html b/about/team/index.html index be028cf..d73c80a 100644 --- a/about/team/index.html +++ b/about/team/index.html @@ -4,9 +4,9 @@ Core contributors | Nomos - - - + + +
@@ -14,8 +14,8 @@ .lsd-dropdown--error ) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not( .lsd-dropdown--error - ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Core contributors

Building Nomos is a team of passionate and experienced blockchain developers and researchers.

Alongside Nomos' project lead is a team of researchers and developers with experience as software engineers both within and beyond the web3 ecosystem, and in academia.

At this stage of development, the group of contributors working on Nomos is small, meaning it has a loose, fluid structure. As more contributors join to work on the network, we expect to revise the structure detailed here.

Nomos is keen to work with other contributors. If you share our passion for decentralisation, individual sovereignty and privacy, we'd love to hear from you. As an open-source project, we also welcome community contributions. Please check out our Github repo here.

Work with us

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}
Skip to main content

Core contributors

Building Nomos is a team of passionate and experienced blockchain developers and researchers.

Alongside Nomos' project lead is a team of researchers and developers with experience as software engineers both within and beyond the web3 ecosystem, and in academia.

At this stage of development, the group of contributors working on Nomos is small, meaning it has a loose, fluid structure. As more contributors join to work on the network, we expect to revise the structure detailed here.

Nomos is keen to work with other contributors. If you share our passion for decentralisation, individual sovereignty and privacy, we'd love to hear from you. As an open-source project, we also welcome community contributions. Please check out our Github repo here.

Work with us

+ + \ No newline at end of file diff --git a/assets/css/styles.ed15dc3a.css b/assets/css/styles.ed15dc3a.css deleted file mode 100644 index 74828ab..0000000 --- a/assets/css/styles.ed15dc3a.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}[data-theme=dark],html[data-theme=dark]{--ifm-color-scheme:dark}:root,[data-theme=light]{--ifm-color-scheme:light}code,pre code{--lsd-typography-generic-font-family:monospace}.button,.dropdown__link,.footer__item,.text--truncate{white-space:nowrap}.toggleButton_dl49,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.dropdown__menu,.menu__list,.root_N57j ul li{list-style:none}.mdx-erc__title,.mdx-event-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical}*,.buttonGroup_Qu4e button,.dropdownNavbarItem_o23I,.events .theme-doc-breadcrumbs .breadcrumbs__item--active,.mdx-event-info__container,.root_xZfc,.toggle_K23S{box-sizing:border-box}:root{--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-radius:0.4rem;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-weight-light:300;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-color:var(--ifm-font-color-base);--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-color:var(--ifm-color-white);--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-sidebar-width:83vw;--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}body{background-color:rgb(var(--lsd-surface-primary));height:auto!important}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.blog-archive-page .main-wrapper main>section,.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit;color:rgb(var(--lsd-text-primary))}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);overflow:auto;padding:var(--ifm-pre-padding)}.menu,.navbar-sidebar,body,html{overflow-x:hidden}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}.sub1,h1{font-size:var(--ifm-h1-font-size)}.sub2,h2{font-size:var(--ifm-h2-font-size)}.sub3,h3{font-size:var(--ifm-h3-font-size)}.sub4,h4{font-size:var(--ifm-h4-font-size)}.sub5,h5{font-size:var(--ifm-h5-font-size)}.sub6,h6,small{font-size:var(--ifm-h6-font-size)}.container_lyt7,.container_lyt7>svg,img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading));letter-spacing:-1.5px}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary,[data-theme=dark] .root_JWD1>div>div{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.alert__heading,.text--uppercase,table td strong,table th{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.admonitionHeading_JPfy,.events .theme-doc-breadcrumbs .breadcrumbs__link{text-transform:capitalize}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.breadcrumbs__item,.close:hover,.table-of-contents__link--active code{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.admonitionIcon_BGV6,.root_JWD1>span svg{vertical-align:middle}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navWrapper_ybYI,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%);display:none}.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after,.menu__list-item-collapsible>a[aria-expanded=false]>svg{transform:rotate(90deg)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_hrrU article>:first-child,.docItemContainer_hrrU header+*,.footer__item,.mdx-roadmap .mdx-cta-button{margin-top:0}.admonitionContent_iozl>:last-child,.footer__items{margin-bottom:0}.main-wrapper>main,.table-of-contents,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;top:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.icon_S7Kx,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.blog-wrapper>.container>.row>aside>nav>ul li,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.cursor-pointer,.pills__item,.tabs__item{cursor:pointer}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.footer,.row{position:relative}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);position:relative;text-align:left;top:-.5rem}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.footer>div,.grid{grid-template-columns:repeat(24,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.blog-wrapper>.container>.row>aside>nav>div:first-child,.blog-wrapper>.container>.row>aside>nav>ul li a{border-left:1px solid #0000;font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important}.dropdown__link:hover,.footer__item a{text-decoration:underline}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar__left-items>.navbar__item:first-of-type,.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--content-padding:16px;--container-max-width:1072px;--pagination-nav-margin-top:96px;--ifm-navbar-link-color:rgb(var(--lsd-text-primary));--ifm-navbar-background-color:rgb(var(--lsd-surface-primary));--ifm-dropdown-link-color:rgb(var(--lsd-text-primary));--ifm-dropdown-hover-background-color:rgb(var(--lsd-surface-secondary));--ifm-background-color:rgb(var(--lsd-surface-primary));--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-primary:rgb(var(--lsd-theme-primary));--ifm-color-secondary:rgb(var(--lsd-theme-secondary));--prism-background-color:rgb(var(--lsd-theme-primary));--ifm-color-gray-0:rgb(var(--lsd-surface-primary));--ifm-color-gray-100:#f8f8fa;--ifm-color-gray-200:#f7f7f8;--ifm-color-gray-300:#eeeef0;--ifm-color-gray-400:#c0c0c2;--ifm-color-gray-500:#828285;--ifm-color-gray-600:#474747;--ifm-color-gray-700:#373738;--ifm-color-gray-800:#1a1a1a;--ifm-color-gray-900:#151515;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-font-color-base-inverse:var(--ifm-color-black);--docusaurus-highlighted-code-line-bg:#ffffff26;--ifm-card-background-color:var(--ifm-color-gray-100)!important;--ifm-alert-foreground-color:var(--ifm-color-gray-700);--ifm-button-background-color:rgb(var(--lsd-surface-primary));--ifm-global-border-width:1px;--ifm-global-radius:0.6rem;--ifm-hover-overlay:#0000000d;--ifm-font-family-base:var(--lsd-typography-generic-font-family);--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--lgs-font-family-secondary:Georgia,"Times New Roman",serif;--ifm-font-size-base:100%;--ifm-line-height-base:1.625;--ifm-font-size-secondary:100%;--ifm-line-height-secondary:1.5;--ifm-font-weight-light:400;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:400;--ifm-font-weight-bold:600;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-h1-font-size:var(--lsd-h1-fontSize);--ifm-h2-font-size:var(--lsd-h2-fontSize);--ifm-h3-font-size:var(--lsd-h3-fontSize);--ifm-h4-font-size:var(--lsd-h4-fontSize);--ifm-h5-font-size:var(--lsd-h5-fontSize);--ifm-h6-font-size:var(--lsd-h6-fontSize);--ifm-global-spacing:24px;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:0.75rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:24px;--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-code-background:rgb(var(--lsd-text-primary))!important;--ifm-pre-padding:1.125rem;--ifm-link-decoration:none;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-border-left-width:3px;--ifm-blockquote-shadow:none;--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-button-padding-vertical:0.4rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-border-radius:var(--ifm-global-radius);--ifm-card-horizontal-spacing:var(--ifm-spacing-horizontal);--ifm-card-vertical-spacing:var(--ifm-spacing-vertical);--ifm-footer-link-horizontal-spacing:0;--ifm-footer-padding-horizontal:var(--content-padding);--ifm-footer-padding-vertical:24px;--ifm-footer-background-color:#0000;--ifm-menu-link-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-menu-link-padding-vertical:0.25rem;--ifm-menu-color:rgb(var(--lsd-text-primary),0.6);--ifm-menu-color-background-active:#0000;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-height:64px;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-padding-horizontal:var(--content-padding);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)/3);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:100vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pills-spacing:0.125rem;--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--ifm-alert-background-color:#0000;--ifm-color-secondary-contrast-background:#0000;--ifm-color-success-contrast-background:#0000;--ifm-color-info-contrast-background:#0000;--ifm-color-warning-contrast-background:#0000;--ifm-color-danger-contrast-background:#0000;--ifm-alert-border-radius:none;--note:#d4d5d8;--tip:#6ace4b;--caution:#ddaa39;--danger:#e46967;--info:#68b1d0;--ifm-color-secondary-dark:var(--note);--ifm-color-secondary-light:var(--note);--ifm-color-success-dark:var(--tip);--ifm-color-success-light:var(--tip);--ifm-color-info-dark:var(--info);--ifm-color-info-light:var(--info);--ifm-color-warning-dark:var(--caution);--ifm-color-warning-light:var(--caution);--ifm-color-danger-dark:var(--danger);--ifm-color-danger-light:var(--danger);--ifm-footer-link-color:rgb(var(--lsd-text-primary));--ifm-color-content-secondary:rgb(var(--lsd-text-primary));--ifm-hero-background-color:#f8f8fa;--ifm-hero-text-color:var(--ifm-color-black);--desktop-footer-gap:200px;--mobile-footer-gap:144px;--doc-grid-gap:16px;--ifm-table-background:#0000!important;--ifm-table-stripe-background:#0000!important;--ifm-pre-border-radius:0!important;--ifm-code-font-size:100%!important;background-color:#0000!important;--doc-sidebar-width:16.66vw!important;--doc-sidebar-max-width:320px;--ifm-navbar-item-padding-vertical:8px;--ifm-navbar-item-padding-horizontal:12px;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--mobile-width:100%;--mobile-height:176px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}main{min-height:calc(100vh - var(--ifm-navbar-height) - var(--content-padding))}svg *{fill:rgb(var(--lsd-text-primary))}.grid{display:grid;gap:16px}.table-of-contents__link--active,.table-of-contents__link:hover{color:rgb(var(--lsd-text-primary))!important}h1{font-size:var(--lsd-h1-fontSize);font-weight:var(--lsd-h1-fontWeight);line-height:var(--lsd-h1-lineHeight)}h1,h2,h3,h4{font-family:var(--lsd-typography-generic-font-family)}h2{font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight)}h3{font-size:var(--lsd-h3-fontSize);font-weight:var(--lsd-h3-fontWeight);line-height:var(--lsd-h3-lineHeight)}h4{font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight)}code{background:#ffffff26;border-radius:0;color:rgb(var(--lsd-text-primary));background:rgba(var(--lsd-theme-primary),.1)}pre code{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-body1-fontSize)!important;font-weight:var(--lsd-body1-fontWeight)!important;line-height:var(--lsd-body1-lineHeight)!important}.theme-doc-footer-edit-meta-row div[class*=lastUpdated_] b,table td strong,table th{font-weight:400!important}.mdx-page body{overflow-x:hidden!important}.mdx-page h2{margin-top:unset!important}.alert,.card,.theme-code-block{box-shadow:none!important}.menu__list-item-collapsible>a,.navbar{box-shadow:none}.sans{font-family:var(--lgs-font-family-secondary);line-height:var(--ifm-line-height-secondary)}.blog-wrapper--index [itemprop=blogPost] .markdown,.external-link,.footer__bottom,.footer__copyright,.menu__list-item .menu__link,.theme-doc-footer-edit-meta-row div[class*=lastUpdated_],table{font-size:var(--lsd-body2-fontSize)!important;font-weight:var(--lsd-body2-fontWeight)!important;line-height:var(--lsd-body2-lineHeight)!important;font-family:var(--lsd-typography-generic-font-family)!important}.markdown a,.markdown a:hover,article a,article a:hover{text-decoration:underline;text-decoration-color:inherit;text-decoration-color:rgba(var(--lsd-text-primary),.6);text-underline-offset:.3rem}.card{padding:var(--ifm-spacing-vertical) var(--ifm-spacing-horizontal);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.mdx-cta-section--no-border,.mdx-cta-section--no-border>*,.mdx-feature-list--border-none,.table-of-contents__left-border{border:none!important}.menu__link{align-items:center;display:flex;justify-content:space-between}.menu__link span{color:rgba(var(--lsd-text-primary),.6)}.theme-edit-this-page{align-items:center;display:flex;gap:12px}.menuExternalLink_NmtK,.navbar__inner,.navbar__item{align-items:center}.dropdown__link:hover{color:rgb(var(--lsd-text-secondary))}.blog-wrapper>.container>.row>aside>nav>ul li a:hover,.breadcrumbs__item--active,.footerLogoLink_BH7S:hover,.hash-link:focus,.theme-code-block:hover .buttonGroup_Qu4e button,:hover>.hash-link{opacity:1}.breadcrumbs__item:not(:last-child):after{background:none;content:"/";opacity:1}.breadcrumbs__link{background:#0000!important;padding:0}.navbar{height:var(--ifm-navbar-height)}.navbar__logo,a[class^=sidebarLogo_] img{height:40px}a[class^=sidebarLogo_]{margin-left:-16px!important;margin:0}.header-github-link:hover,.mdx-event-card__label,.mdx-event-info__label{opacity:.6}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;height:16px;width:16px}html[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat}.dropdown__link--active{color:rgb(var(--lsd-text-secondary))!important;background-color:#0000}.row{margin:0}.theme-doc-version-banner *,.theme-doc-version-banner:hover *{color:#fff;text-decoration-color:#fff!important}.blog-wrapper main>section article ul li .lsd-tag>span,.blog-wrapper main>section article ul li .lsd-tag>span>span,.menu__link--active span,.theme-doc-version-badge{color:rgb(var(--lsd-text-primary))}.navbar__left-items>a:not(:last-child){margin-right:1.25rem}.navbar__left-items>a:not(:last-child)[href^="/"]{margin-right:1.75rem}.menu__link--sublist-caret:after{background:none;content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQgOS41My45NC45NEw4IDcuNDE3bDMuMDYgMy4wNTMuOTQtLjk0LTQtNC00IDRaIiBmaWxsPSIjZmZmIi8+PC9zdmc+);filter:unset;height:unset;min-width:unset;width:unset}.menu__list-item--collapsed>.menu__link--sublist-caret:after{transform:rotate(0)!important}.menu__link--active{border-radius:0}.dropdown__menu,.pagination-nav__link{border:1px solid rgb(var(--lsd-border-primary))}.table-of-contents a{padding-left:16px}.table-of-contents__link--active{border-left:1px solid rgb(var(--lsd-border-primary));padding-left:16px}.navbar__item{display:inline-flex;padding:0}.mdx-accordion-item,.navbar__link--active{border-bottom:1px solid rgb(var(--lsd-border-primary))}.dropdown__menu{background:rgb(var(--lsd-surface-primary));border-radius:0;margin-right:-1px;margin-top:6px;padding:0;transition-duration:0ms}.dropdown__link{background-color:#0000;border-radius:0;margin:0;padding:5px 11px;text-decoration:none}.dropdown__link *{text-decoration:inherit!important}.dropdown__link:hover{background-color:#0000}.blog-wrapper .breadcrumbs__item,.blog-wrapper--index h2[itemprop=headline]>a,.events .breadcrumbs__item,.events .breadcrumbs__link{text-decoration:none}.margin-left-8,.mdx-jpd__external-link-icon{margin-left:8px}.pagination-nav{margin-top:var(--pagination-nav-margin-top)!important}.overflow-hidden,.pagination-nav a{overflow:hidden}.theme-admonition,table{overflow:auto}.pagination-nav span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;width:70%;word-break:break-word}.pagination-nav__link{align-items:center;border-radius:0;display:flex;gap:18px;padding:10px 14px}.theme-doc-version-badge,table td,table th,table thead>tr{border:1px solid rgb(var(--lsd-border-primary))}.pagination-nav__link--next{grid-column:2/3;text-align:right;justify-content:flex-end}.events .pagination-nav,.events aside,.footer__item a svg,.menu__caret,.pagination-nav__label:after,.pagination-nav__label:before,.theme-doc-footer-edit-meta-row div[class*=lastUpdated_] small{display:none}.theme-back-to-top-button{display:none!important}.footer__link-item,.tag_NdBD{display:inline-block}.lsd-collapse__content{padding:24px}.theme-doc-version-badge{background:#0000;margin-bottom:16px;padding:4px 8px}.mdx-section-header__extra,.navbar__right-items{align-items:center;display:flex}table{border-collapse:collapse;margin-bottom:var(--ifm-spacing-vertical);display:table;table-layout:fixed;width:100%}table th{text-align:left}table td{color:var(--ifm-table-cell-color)}.theme-doc-footer{margin-bottom:96px}.theme-doc-footer-edit-meta-row div[class*=lastUpdated_]{font-style:normal;opacity:.7}.navbar-sidebar__item{padding-block:0;padding-inline:var(--content-padding)}.navbar-sidebar__back{align-items:center;display:flex;gap:16px;margin:24px 0!important;padding:0;width:100%!important}.theme-doc-sidebar-menu .menu__link{padding-left:var(--content-padding);padding-right:0}.menu__list-item-collapsible>a[aria-expanded=true]>svg{transform:rotate(180deg)}main[itemtype*=Blog]{margin-left:0}.mdx-ghc-subheader-text,main[itemtype*=Blog] .theme-doc-breadcrumbs{margin-bottom:40px}main[itemtype*=Blog] .blog-divider{background:rgb(var(--lsd-theme-primary));margin-block:40px}.events .theme-doc-markdown>h1{margin-bottom:16px!important}.events .theme-doc-breadcrumbs{display:block}.event-details>div .main-wrapper main{grid-column:1/17!important}.container{padding-inline:var(--content-padding)}.main-wrapper>.container{margin-bottom:0!important;margin-top:0!important;overflow-x:hidden}.main-wrapper>main,.main-wrapper>main>.row,.main-wrapper>main>.row>.col{--ifm-spacing-horizontal:var(--content-padding);flex-basis:100%!important;flex:unset;margin:0;max-width:unset;width:100%!important}.footer{margin-bottom:18px;width:100%!important}.footer>div{display:grid;gap:1rem;max-width:unset;padding:16px 0}.footer__bottom{grid-column:1/12;grid-row:1/1;text-align:unset}.content_knG7,.mdx-cta-section .mdx-cta-section--align-center *,.root_EFVO{text-align:center}#__docusaurus-base-url-issue-banner-container,.blog-archive-page .main-wrapper header .container p,.blog-wrapper main>section article ul li a:after,.blog-wrapper main>section article ul li a:before,.docItemContainer_hrrU .tocMobile_imaF:not(:first-of-type),.docSidebarContainer_b6E3,.footer__bottom>div:first-of-type,.groups_p1lF .divider_eGUz:last-child,.mdx-accordion-item>input,.modal_kLVz .closeButton_Rr0e,.sidebarLogo_Ydl9,.theme-doc-breadcrumbs,.themedImage_kfRS,.toc_pP_5,.wrapper_SWrM .fullscreenButton_Bocn,[data-hidden-doc-sidebar=true] .theme-doc-sidebar-container,[data-theme=dark] .lightToggleIcon_K4TL,[data-theme=light] .darkToggleIcon_lKkA,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.footer__title{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-label1-fontSize)!important;font-weight:var(--lsd-label1-fontWeight)!important;font-weight:var(--ifm-font-weight-normal);line-height:var(--lsd-label1-lineHeight)!important;margin-bottom:4px}.blog-wrapper main>section article ul li .lsd-tag>span,.blog-wrapper main>section article ul li .lsd-tag>span>span,.footer__item,.footer__item a{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-label1-fontSize)!important;font-weight:var(--lsd-label1-fontWeight)!important;line-height:var(--lsd-label1-lineHeight)!important}.footer>div:first-child>.footer__links{display:grid;gap:12px;grid-column:13/25;grid-row:1/1;margin-bottom:0}.footer>div:nth-child(2)>.footer__links{display:grid;gap:2rem 1rem;grid-column:13/25;grid-row:1/1;grid-template-columns:repeat(2,1fr);margin-bottom:0}.footer__col{grid-template-columns:span 1}.blog-wrapper main>section article ul li a,.codeBlockStandalone_BRZX,.codeBlockStandalone_MEMb,.col.footer__col,.modal_kLVz>div>div:first-child,.noResults_mD2O,.root_N57j ul,.root_ONDG.empty_a7qb{padding:0}.footer__items{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.footer__item{display:inline-flex}.footer__item:not(:last-child):after{content:"•";display:inline-block;margin-left:8px;text-decoration:none}.footer__logo{max-width:var(--ifm-footer-logo-max-width);margin:0!important}.navbar__inner{flex-direction:row}.hero--primary{--ifm-hero-background-color:rgb(var(--lsd-surface-primary));--ifm-hero-text-color:rgb(var(--lsd-text-primary))}.docusaurus-mermaid-container{margin-block:40px}.hidden-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hidden-scrollbar::-webkit-scrollbar{display:none;width:0}[class^=mdx-]{--lsd-h1-fontWeight:100;--lsd-h2-fontWeight:300;--lsd-h3-fontWeight:300;--lsd-h4-fontWeight:300;--lsd-h5-fontWeight:300;--lsd-h6-fontWeight:300;--lsd-subtitle1-fontWeight:300}.hidden{opacity:0;visibility:hidden}.blog-wrapper h1[itemprop=headline]{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h1-fontSize)!important;font-weight:var(--lsd-h1-fontWeight)!important;line-height:var(--lsd-h1-lineHeight)!important}.blog-wrapper>.container{display:flex;margin:0;max-width:unset;padding-inline:0;width:100%}.blog-wrapper>.container>.row,.mdx-roadmap,.mdx-scroll-buttons{width:100%}.blog-wrapper main>header h1{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important;margin-bottom:.5rem}.blog-wrapper>.container>.row>aside{max-width:unset}.blog-wrapper>.container>.row>aside>nav{padding-top:16px;top:var(--ifm-navbar-height)}.blog-wrapper>.container>.row>aside>nav>div:first-child{font-family:var(--lsd-typography-generic-font-family)!important;margin-bottom:0!important;padding:4px 0 4px 15px}.blog-wrapper>.container>.row>aside>nav>ul li a{box-sizing:border-box;display:block;font-family:var(--lsd-typography-generic-font-family)!important;opacity:.6;padding:4px 0 4px 2rem}.blog-wrapper--index>.container>.row>aside>nav>div:first-child,.blog-wrapper>.container>.row>aside>nav>ul li a[class*=sidebarItemLinkActive_]{border-color:rgb(var(--lsd-border-primary))}.blog-wrapper--index h2[itemprop=headline]{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.content_knG7 a,.footerLink_sh7M,.linkContent__x3v:hover,.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>a:hover{text-decoration:underline}.blog-wrapper>.container>.row>main{margin-top:16px;max-width:unset}.blog-archive-page .main-wrapper header .container h1,.blog-wrapper article header h2,.blog-wrapper main>section article h2{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}.blog-wrapper article footer{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-top:24px!important}.blog-wrapper main article{border-bottom:1px solid rgb(var(--lsd-border-primary));margin-bottom:34px!important;padding-bottom:34px}.blog-wrapper main article:last-of-type{border-bottom:none!important}.blog-archive-page .main-wrapper{padding:2rem var(--content-padding)}.blog-archive-page .main-wrapper header{border-bottom:1px solid var(--ifm-hero-text-color);margin:0;padding:0 0 1rem}.blog-archive-page .main-wrapper header .container{margin:0;padding:0!important}.blog-archive-page .main-wrapper main>section .container{margin:0;max-width:unset;padding:0}.blog-archive-page .main-wrapper main>section .container>.row,.mdx-logo-carousel-buttons,.mdx-roadmap__timeline{margin-top:64px}.blog-archive-page .main-wrapper main>section .container>.row>.col{margin:0!important;max-width:unset;padding:0}.blog-archive-page .main-wrapper main>section .container>.row>.col h3{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h5-fontSize)!important;font-weight:var(--lsd-h5-fontWeight)!important;line-height:var(--lsd-h5-lineHeight)!important}.blog-archive-page .main-wrapper main>section .container>.row>.col a{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-body1-fontSize)!important;font-weight:var(--lsd-body1-fontWeight)!important;line-height:var(--lsd-body1-lineHeight)!important}.blog-archive-page .main-wrapper main>section .container>.row>.col ul{margin:1rem 0 0;padding:0 0 0 1.5rem}.blog-wrapper main>section article{border-bottom:none;padding:0}.blog-wrapper main>section article ul,.mdx-app-card__name{margin-top:1rem}.nav_cMpg,.root_QACb{margin:0 auto;max-width:var(--container-max-width)}.blog-wrapper main>section article ul li{margin:0 .5rem 0 0!important;padding:0!important}.blog-wrapper main>section article ul li .lsd-tag{height:28px;padding:3px 11px}.mdx-hero>.mdx-hero-image>img{margin-top:-40%;position:absolute;right:0;top:0}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}[data-theme=dark] .themedImage--dark_OvIx,[data-theme=light] .themedImage--light_BL8e,html:not([data-theme]) .themedImage--light_BL8e{display:initial}.icon_S7Kx.s_AZDZ svg{width:10px}.icon_S7Kx.m_thRi svg{width:20px}.icon_S7Kx.l_WHPt svg{width:40px}[data-theme=dark] .icon_S7Kx.fill_hNhN,[data-theme=dark] .icon_S7Kx.fill_hNhN *{fill:var(--ifm-color-white)}[data-theme=dark] .icon_S7Kx.stroke_N8dm svg,[data-theme=dark] .icon_S7Kx.stroke_N8dm svg *{stroke:var(--ifm-color-white)}[data-theme=light] .icon_S7Kx.fill_hNhN,[data-theme=light] .icon_S7Kx.fill_hNhN *{fill:var(--ifm-color-black)}[data-theme=light] .icon_S7Kx.stroke_N8dm svg,[data-theme=light] .icon_S7Kx.stroke_N8dm svg *{stroke:var(--ifm-color-black)}.backdrop_Ifvc{background:rgb(var(--lsd-surface-primary));z-index:201}.backdrop_Ifvc,.navWrapper_ybYI{height:100%;left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%}.navWrapper_ybYI{background:#0000;z-index:203}.navWrapper_ybYI>*{pointer-events:auto}.nav_cMpg{align-items:center;background:rgb(var(--lsd-surface-primary));display:flex;flex-direction:row;height:var(--ifm-navbar-height);justify-content:space-between;padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.visible_ynAX{opacity:1!important;visibility:visible!important}.codeBlockContent_ugSV,.wrapper_SWrM{position:relative}.wrapper_SWrM:not(.active_qZD5) .fullscreenButton_Bocn{background:rgb(var(--lsd-surface-primary));bottom:8px;position:absolute;right:8px;transition:.3s}.root_QACb{padding:0;width:100%}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.iconExternalLink_nPIU{margin-left:.3rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.firstRow_ar1q{border-top:1px solid rgb(var(--lsd-text-primary));margin-bottom:96px!important}.firstRow_ar1q,.secondRow__ww3{display:flex;flex-direction:row}.secondRow__ww3{border-top:1px solid rgb(var(--lsd-border-primary))}.backToTop_wDfN{bottom:16px;left:16px;position:absolute}.l-modal,.l-modal__backdrop{position:fixed;top:0;left:0}.backToTop_wDfN,.footerLink_sh7M{width:-moz-fit-content;width:fit-content}.footerLink_sh7M{height:-moz-fit-content;height:fit-content}.toggle_K23S{border:1px solid rgb(var(--lsd-border-primary));height:32px;width:32px}.toggle_K23S svg{height:14px;width:14px}.toggleButton_dl49{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.dropdownNavbarItem_o23I,.l-modal__content{border:1px solid rgb(var(--lsd-border-primary))}.toggleButton_dl49:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_AAS_{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}.l-modal{height:100vh;opacity:0;transition:.3s;visibility:hidden;width:100%;z-index:9999}.l-modal__container{display:grid;gap:1rem;grid-template-columns:repeat(24,1fr);margin:0 auto;max-width:1376px;overflow:auto}.l-modal--open{opacity:1;visibility:visible}.l-modal__content{background:rgb(var(--lsd-surface-primary));grid-column:8/19;height:-moz-fit-content;height:fit-content;margin:64px 0;max-height:80vh;padding:7px;z-index:9998}.groups_p1lF,.root_ONDG{max-height:60vh;overflow-y:auto}.l-modal__backdrop{background-color:rgba(var(--lsd-surface-primary),.6);height:100%;width:100%;z-index:9997}.modal_kLVz .header_QwCa{align-items:center;display:flex;flex-direction:row;gap:.5rem}.root_EFVO{padding:32px}.root_ONDG{padding:24px}.title_uwS_{font-size:.75rem!important}.item_RHYF{align-items:center;display:flex;flex-direction:row;margin-top:1rem}.item_RHYF .itemTitle_jtAv{flex-grow:1;overflow:hidden;padding-left:1rem;text-overflow:ellipsis;white-space:nowrap}.linkContent__x3v,.root_JWD1{align-items:center;display:flex}.item_RHYF .itemTitle_jtAv mark,.root_JWD1 mark{background:none;color:inherit}.root_xZfc{padding:8px 8px 0;position:relative;width:100%}.collapse_LWBd button,.textField_af43{width:100%!important}.textField_af43 button svg{height:auto;max-height:100%!important;width:14px}.root_N57j>div:first-child{color:#828285;padding:0 24px}.root_N57j>div:first-child,.root_N57j>div:first-child *{font-size:.75rem}.root_N57j ul li{margin-top:1rem}.root_JWD1{padding:0 24px}.root_JWD1>div{margin-left:1rem}.root_Ooa0{text-decoration:none!important}.root_Ooa0.level1_fpUf{display:block;padding-left:32px}.icon_sZn2{height:auto;width:16px}.icon_sZn2.fill_fkan,.icon_sZn2.fill_fkan *{fill:currentColor}.icon_sZn2.stroke_j3wH,.icon_sZn2.stroke_j3wH *{stroke:currentColor}[data-theme=light] .icon_sZn2{color:#000}[data-theme=dark] .icon_sZn2{color:#fff}.root_ltHz{padding:24px 0}.groups_p1lF{display:flex;flex-direction:column;gap:16px}[data-theme=dark] .divider_eGUz>div{opacity:.1}[data-theme=dark] .topBar_Dtew button{background-color:var(--ifm-button-color)}.linkContent__x3v{gap:6px;text-decoration:none}.linkContent__x3v:hover{text-decoration-color:rgba(var(--lsd-text-primary),.6);text-underline-offset:.3rem}.externalLinkIcon_Qfue{width:8px}.externalLinkIcon_Qfue svg,.root_TTsz.fullWidth_HBtH{height:auto;width:100%}.dropdownNavbarItem_o23I{height:28px;padding:6px 12px}.navbarHideable_OoEf{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_zoxl{transform:translate3d(0,calc(-100% - 2px),0)}.rightSection_CLeF{align-items:center;display:flex;justify-content:flex-end;white-space:nowrap}.iconButtonGroup_ktNv button:not(:last-child){border-right:1px solid!important;margin-right:-1px!important}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.breadcrumbsContainer_RLvU{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:24px}.codeBlockContainer_Ckt0{background:var(--prism-background-color);border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw)}.codeBlockContainer_Ckt0,.codeBlockContainer_EB2s{color:var(--prism-color);margin-bottom:var(--ifm-leading)}.codeBlockContainer_EB2s{background:#0000;border-radius:0}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_TWhw,.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V,.codeBlockTitle_sjMo+.codeBlockContent_ugSV .codeBlock_TWhw{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_LDrR,.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.buttonGroup_Qu4e button,.buttonGroup__atx button{color:var(--prism-color);line-height:0;transition:opacity var(--ifm-transition-fast) ease-in-out}.codeBlockLinesWithNumbering_bsRF,.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_Qu4e,.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;background:var(--prism-background-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;opacity:0;padding:.4rem}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_YovB{opacity:1!important}.copyButtonIcons_an20{align-items:center;display:flex;justify-content:center;position:relative}.copyButtonIcon_ZL7v,.copyButtonSuccessIcon_P2h8{fill:currentColor;height:14px;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:14px}.copyButtonSuccessIcon_P2h8{color:#00d600;opacity:0}.copyButtonCopied_YovB .copyButtonIcon_ZL7v{opacity:0}.copyButtonCopied_YovB .copyButtonSuccessIcon_P2h8{opacity:1;transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.codeBlockTitle_sjMo{background:var(--prism-background-color);border-bottom:1px solid var(--ifm-color-primary);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.buttonGroup_Qu4e button{align-items:center;background:var(--prism-background-color);border:1px solid rgb(var(--lsd-border-primary));display:flex;height:28px;justify-content:center;opacity:0;width:28px}.buttonGroup_Qu4e button:focus-visible,.buttonGroup_Qu4e button:hover{opacity:1!important}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.img_ev3q{height:auto}.admonition_ntHH{border:1px solid var(--ifm-alert-border-color);display:flex;gap:18px;margin-bottom:24px;padding:18px}.admonitionHeading_JPfy{font-size:1.25rem!important;font-weight:400;line-height:1.5rem!important;margin-bottom:.3rem}.admonitionHeading_JPfy code{text-transform:none}.admonitionIcon_BGV6{display:inline-block}.admonitionIcon_BGV6 svg{display:inline-block;height:16px;width:16px}.admonitionIcon_BGV6 svg *{stroke:none!important;fill:var(--ifm-alert-border-color)}.admonitionContent_iozl{display:block;margin-top:12px}.root_UH70,.tagWithCount_gIvh{align-items:center;display:flex}.tag_dtsN{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.mdx-cta-section,.mdx-cta-section--list .mdx-cta-section__list>:not(:first-child){border-top:1px solid rgb(var(--lsd-border-primary))}.tag_dtsN:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.mdx-erc:hover .mdx-erc__title,.mdx-ghc__issue-title-link:hover,.mdx-ghc__view-on-github-link:hover{text-decoration:underline!important}.tagRegular_SGIC{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_gIvh{border-left:0;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_gIvh:after,.tagWithCount_gIvh:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_gIvh:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.mdx-asset-card:not(.mdx-asset-card--downloadable) .mdx-asset-card__inner,.mdx-erc--with-preview .mdx-erc__preview-image{border-bottom:1px solid rgb(var(--lsd-border-primary))}.tagWithCount_gIvh:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_gIvh span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.root_UH70{flex-direction:row}.tags_LT8x{display:inline;margin:0 0 0 1rem!important;padding:0!important}.tag_NdBD:not(:first-child){margin-left:.5rem}.tag_NdBD a{margin:0!important;padding:0!important}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.tocCollapsibleButton_dxRj{align-items:center;border:1px solid rgb(var(--lsd-border-primary));display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButtonExpanded_TSyC:after,.tocCollapsibleExpanded_zTjk{transform:none}.tocCollapsible_ROek{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_Qsjj>ul{border-left:none;border:1px solid rgb(var(--lsd-border-primary))!important;border-top:none!important;font-size:15px;padding:.2rem 0}.tocCollapsibleContent_Qsjj ul li{margin:.4rem .8rem}.tocCollapsibleContent_Qsjj a{display:block;-webkit-text-decoration:var(--ifm-link-text-decoration);text-decoration:var(--ifm-link-text-decoration)}.badge_AsjZ{background:#0000}.docItemGrid_SzoZ{display:grid;gap:16px;grid-template-columns:repeat(14,1fr)}.gap1_XuuQ{grid-column:span 1}.tocMobile_imaF{margin-bottom:2rem;margin-top:-.5rem}.tocMobile_imaF>div{display:block!important;margin:0}.docItemContainer_hrrU h1{margin-bottom:40px!important}.docItemContainer_hrrU h2,.docItemContainer_hrrU h3{margin-top:32px!important}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.chevron_How5,.root_TTsz .content_feMR{position:absolute;left:0}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.root_jG9K{align-items:center;display:flex;flex-direction:column;padding:1rem!important;width:100%}.root_jG9K>div{max-width:796px!important;width:100%}.root_jG9K>div>div{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;padding:0!important}.root_jG9K a{margin-top:2.5rem}.mdxPageWrapper_j9I6{justify-content:center}.mdx-accordion-item__header{align-items:center;display:flex;flex-direction:row;gap:0 16px;justify-content:space-between;min-height:88px;padding:16px 0}.mdx-asset-card,.mdx-erc{min-height:144px;text-decoration:none!important}.mdx-accordion-item__header,.mdx-accordion-item__header *,.mdx-cta-section__list-item-link{cursor:pointer}.mdx-accordion-item__content-wrapper{height:auto;overflow:hidden}.mdx-accordion-item__content{height:0}.mdx-accordion-item--open .mdx-accordion-item__content{height:auto;padding-bottom:1.875rem;padding-top:6px}.mdx-app-card{align-items:flex-start;display:flex;flex-direction:column;padding:1.5rem 0}.mdx-app-card__logo{height:40px;width:auto}.mdx-app-card__description{margin-top:1.5rem}.mdx-app-card__link{margin-top:1.5rem;width:100%}.mdx-app-card__link button{padding:10px 16px;width:100%}.mdx-app-card__link button>span{align-items:center;display:block;display:flex;flex-direction:row;justify-content:space-between;width:100%}.root_TTsz{display:inline-block;font-size:0!important;position:relative}.root_TTsz.fullHeight_ls1u{height:100%;width:auto}.root_TTsz .content_feMR{height:100%;top:0;width:100%}.root_TTsz:not(.keep_Y9Ea) .root_TTsz{height:auto;width:auto}.root_TTsz:not(.keep_Y9Ea) .content_feMR{height:100%;left:unset;position:relative;top:unset;width:100%}.mdx-asset-card{align-items:flex-start;border:1px solid rgb(var(--lsd-border-primary));border-bottom:none;display:flex;flex-direction:column;width:216px}.mdx-asset-card__inner{padding:16px 16px 32px;width:100%}.mdx-asset-card__title,.mdx-event-profile-list__container h2,.mdx-event-profile__role,.mdx-ghc__challenge-labels,.mdx-ghc__issue-title{margin-bottom:16px}.mdx-asset-card__image img{height:100%;object-fit:contain;object-position:center center;width:100%}.mdx-asset-card__downloadables{align-items:flex-start;display:flex;flex-direction:row;justify-content:stretch;width:100%}.mdx-asset-card__downloadables>*{flex-grow:1;font-size:12px;text-decoration:none!important;text-underline-offset:unset!important}.mdx-asset-card__downloadables>* button{justify-content:space-between;text-decoration:none;width:100%}.mdx-asset-card__downloadables>:first-child button{border-left:none}.mdx-asset-card__downloadables>:last-child button,.mdx-asset-card__downloadables>:not(:last-child) button{border-right:none}.mdx-box{padding-bottom:var(--mdx-box-bottom);padding-top:var(--mdx-box-top)}.mdx-cta-button,.mdx-section-header--with-description .mdx-section-header__extra{margin-top:2rem}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>.mdx-cta-section__item-description,.mdx-cta-section__description{margin-top:1rem}.mdx-cta-button button,.mdx-cta-button button span{font-size:inherit;font-weight:inherit;line-height:inherit}.mdx-cta-button .lsd-button--large{padding:9px 39px}.mdx-cta-button .lsd-button--small{padding:5px 11px}.mdx-cta-section{display:grid;padding:24px 0 0}.mdx-cta-section .mdx-cta-section__link,.mdx-jpd__job-link{display:block;width:-moz-fit-content;width:fit-content}.mdx-cta-section .mdx-cta-section__header__desktop-button .mdx-cta-button{margin-top:unset}.mdx-cta-section .mdx-cta-section--align-center{align-items:center;display:flex;flex-direction:column;margin:auto;max-width:936px}.mdx-cta-section .mdx-cta-section--align-center .mdx-cta-button{margin-inline:auto}.mdx-cta-section .mdx-cta-section--align-center .mdx-cta-section__description{margin-top:1.5rem}.mdx-cta-section .mdx-cta-section--align-left *{text-align:left}.mdx-cta-section .mdx-cta-section--align-right *{text-align:right}.mdx-cta-section .mdx-cta-section--align-right .mdx-cta-button,.mdx-logo-carousel .mdx-section-header__extra{margin-left:auto}.mdx-cta-section__header,.mdx-profile-card__profile{align-items:center;display:flex;gap:24px}.mdx-cta-section__header button{font-size:12px!important;line-height:16px!important;padding:6px 12px!important}.mdx-cta-section--title-only .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);font-weight:300;line-height:var(--lsd-h5-lineHeight);max-width:886px}.mdx-cta-section--title-button .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-display4-fontSize);font-weight:var(--lsd-display4-fontWeight);font-weight:300;line-height:var(--lsd-display4-lineHeight);max-width:886px}.mdx-cta-section--full-width .mdx-cta-section__container{display:grid;gap:0 1rem;grid-template-columns:repeat(2,1fr)}.mdx-cta-section--full-width .mdx-cta-section__title,.mdx-ns__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h3-fontSize);font-weight:var(--lsd-h3-fontWeight);line-height:var(--lsd-h3-lineHeight)}.mdx-cta-section--full-width .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-cta-section--full-width .mdx-cta-section__link{grid-area:2/2/3/3}.mdx-cta-section--simple .mdx-cta-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight);margin-top:1.5rem}.mdx-cta-section--simple .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-cta-section--list{display:grid;gap:0 1rem;grid-template-columns:1fr 1fr}.mdx-cta-section--list .mdx-cta-section__container{grid-column:1/2}.mdx-cta-section--list .mdx-cta-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight);margin-top:1.5rem}.mdx-cta-section--list .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-hero h1,.mdx-roadmap .mdx-cta-section__container h3,.mdx-roadmap .mdx-cta-section__description,.mdx-roadmap .mdx-cta-section__title{font-family:var(--lsd-typography-generic-font-family)!important}.mdx-cta-section--list .mdx-cta-section__list{display:flex;flex-direction:column;gap:1.5rem 0;grid-column:2/3}.mdx-erc--with-preview .mdx-erc__icon,.mdx-ns__inner .mdx-ns__toast .lsd-toast__close-button,.mdx-roadmap__timeline .mdx-grid-item:last-child .mdx-timeline-item__border,.mdx-timeline-item__item:last-child .mdx-timeline-item__border{display:none}.mdx-cta-section--list .mdx-cta-section__list>a{display:block;text-decoration:none}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>a>.mdx-cta-section__item-title{align-items:center;border:1px solid rgb(var(--lsd-border-primary));border-radius:1rem;color:rgb(var(--lsd-text-primary));display:flex;gap:12px;margin-top:1.5rem;padding:3px 11px;width:-moz-fit-content;width:fit-content}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>a{text-decoration:none}.mdx-doc-metadata{display:flex;flex-direction:row;line-height:0;margin-bottom:2.5rem}.mdx-doc-metadata>span:not(:last-child):after{content:"•";display:inline-block;margin-inline:.75rem}.markdown h1+.mdx-doc-metadata,.markdown header+.mdx-doc-metadata{margin-top:calc(var(--ifm-h1-vertical-rhythm-bottom)*-1*var(--ifm-leading) + 1rem)}.mdx-erc{align-items:flex-start;border:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:row}.mdx-erc__icon{padding:16px 16px 16px 8px}.mdx-erc__inner{flex-grow:1;padding:16px}.mdx-erc__logo,.mdx-erc__logo svg{height:32px!important;width:32px!important}.mdx-erc__title{display:-webkit-box;margin-top:32px;max-height:calc(var(--lsd-body1-lineHeight)*2);overflow:hidden}.mdx-erc__description{margin-top:8px}.mdx-erc--with-preview{display:flex;flex-direction:column}.mdx-erc--with-preview .mdx-erc__preview-image{height:100%;object-fit:cover;width:100%}.mdx-erc--with-preview .mdx-erc__inner{display:grid;gap:0 16px;grid-template-columns:32px auto;grid-template-rows:auto auto;padding:16px}.mdx-erc--with-preview .mdx-erc__logo{align-self:center;grid-column:1;grid-row:1/span 2}.mdx-erc--with-preview .mdx-erc__title{-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:0;max-height:calc(var(--lsd-body1-lineHeight)*1)}.mdx-erc--with-preview .mdx-erc__description{margin-top:4px}.mdx-feature-list{border-top:1px solid rgb(var(--lsd-surface-secondary));position:relative}.mdx-feature-list__title{padding:24px 0}.mdx-feature-list__feature-index--circle{align-items:center;background:rgb(var(--lsd-surface-secondary));border-radius:100%;color:rgb(var(--lsd-text-secondary))!important;display:inline-flex;height:1.875rem;justify-content:center;padding:.5rem;width:1.875rem}.mdx-feature-list__feature-index--number{background:#0000;color:rgb(var(--lsd-text-primary))!important;display:block;font-size:28px!important;height:unset;line-height:36px!important;opacity:.3;padding:unset;width:unset}.mdx-feature-list__list{display:grid;grid-template-columns:repeat(2,1fr)}.mdx-feature-list__feature,.mdx-showcase-card{border-top:1px solid rgb(var(--lsd-border-primary))}.mdx-event-profile__info,.mdx-feature-list__feature-inner,.roadmap__header{display:flex;flex-direction:column}.mdx-feature-list__feature-title{margin-top:.5rem}.mdx-feature-list__feature-description{max-width:460px}.mdx-feature-list__header{align-items:center;display:flex;flex-direction:row;gap:2rem}.mdx-feature-list--cta-bottom .mdx-feature-list__extra{margin-top:3.5rem;padding:0 1rem}.mdx-feature-list__feature-border--none{width:0!important}.mdx-ghc__container,.mdx-input-cta-section__container{border-top:1px solid rgb(var(--lsd-border-primary));padding-top:24px}.mdx-ghc__issue-title-link{text-decoration:none!important}.mdx-ghc__header,.mdx-jpd__header{margin-bottom:40px;margin-top:16px}.mdx-ghc__challenge-label{border:1px solid rgb(var(--lsd-border-primary));border-radius:20px;margin-right:8px;padding:4px 8px}.mdx-ghc__view-on-github-link{display:block;margin-bottom:56px;margin-top:40px;text-decoration:none!important;width:-moz-fit-content;width:fit-content}.mdx-ghc__participant-photo{border:1px solid rgb(var(--lsd-border-secondary));border-radius:100%;margin-left:-4px;width:24px}.mdx-timeline-item,.mdx-timeline-item__border{border-bottom:1px solid rgb(var(--lsd-border-primary))}.mdx-ghc__participant-photo-container{align-items:center;direction:rtl;display:flex;justify-content:flex-end;padding-left:4px}.mdx-ghc__comment-count{margin-left:4px}.mdx-ghc__issue-content-grid{align-items:center;display:grid;grid-template-columns:82px 135px 82px 1fr;margin-top:24px;row-gap:12px}.mdx-scroll-buttons>div{display:flex;flex-direction:row;justify-content:flex-end;width:100%}.mdx-hero{--default-z-index:1;--hero-max-height:1080px;display:flex;flex-direction:column;height:calc(100vh - var(--ifm-navbar-height) - 8px);max-height:var(--hero-max-height);position:relative;z-index:var(--default-z-index)}.mdx-hero h1{font-size:var(--lsd-display4-fontSize)!important;font-weight:var(--lsd-display4-fontWeight)!important;line-height:var(--lsd-display4-lineHeight)!important}.mdx-hero--top{justify-content:flex-start}.mdx-hero--center{justify-content:center}.mdx-hero--bottom{justify-content:flex-end}.mdx-hero-action--large button{padding:10px 64px}.mdx-hero-actions{align-items:center;display:flex;flex-direction:row;gap:0 1rem;margin-top:2rem;position:relative;z-index:98}.mdx-hero-description{font-size:18px!important;line-height:24px!important;margin-top:18px;max-width:528px;position:relative;text-shadow:1px 1px 6px rgba(var(--lsd-surface-primary),1);z-index:-2}.mdx-hero-info{display:flex;flex-direction:column;justify-content:end;max-width:596px;padding:32px 0;transition:margin-bottom .05s ease-in-out}.mdx-hero-model{--mdx-hero-model-wrapper-scale:1;position:absolute;transform:translateX(calc(-50vw - var(--container-max-width)*-1/2 + var(--content-padding)*4*-1/2));width:100vw;z-index:0}.mdx-hero-model .mdx-hero-model--inner{left:0;position:relative;top:0;width:100%;z-index:0}.mdx-hero-model .mdx-hero-model--inner canvas{pointer-events:unset!important}.mdx-hero-model--top{top:300px}.mdx-hero-model--bottom{top:calc(var(--logos-hero-info-height) - 10px)}.mdx-hero-model--bottom .mdx-hero-model--shade{bottom:10vh;height:40vh}.mdx-hero-model--ascii{filter:grayscale(100%);opacity:.65}.mdx-hero-model--ascii table,.mdx-hero-model--ascii table *{border:none!important;color:rgb(var(--lsd-text-primary));font-family:monospace}.mdx-hero-model--shade{background:linear-gradient(0deg,rgb(var(--lsd-surface-primary)) 37%,rgb(var(--lsd-surface-primary)) 0,rgba(var(--lsd-surface-primary),0) 100%);bottom:0;height:30vh;left:0;position:absolute;width:100%}.mdx-hero-title{font-size:48px!important;line-height:56px!important}.mdx-hero-title--uppercase{text-transform:uppercase}.mdx-hero-video{--hero-video-height:120%;--hero-video-min-height:100vh;--hero-video-offset-y:-150px;--hero-video-scale:1.70951586;--hero-video-height-mobile:120%;--hero-video-min-height-mobile:100vh;--hero-video-offset-y-mobile:-50px;--hero-video-scale-mobile:1.70951586;display:grid;flex-grow:1;grid-template-columns:1fr;grid-template-rows:1fr;pointer-events:none;position:relative}.mdx-hero-video>*{align-items:center;display:flex;flex-direction:column;grid-column:1/1;grid-row:1/1;height:var(--hero-video-height);justify-content:center;left:0;min-height:var(--hero-video-min-height);position:absolute;top:0;transform:translateY(var(--hero-video-offset-y));width:100%}.mdx-hero-video .mdx-hero-video__placeholder{opacity:0;visibility:hidden}.mdx-hero-video img{object-fit:contain}.mdx-hero-video img,.mdx-hero-video video{height:100%;max-width:calc(var(--container-max-width)*var(--hero-video-scale));object-position:top;transform-origin:top center;width:auto}.mdx-hero-video--loading .mdx-hero-video__video{opacity:0}.mdx-hero-video--loading .mdx-hero-video__placeholder{opacity:1;visibility:visible}.mdx-hero-image{--default-z-index:-1;position:relative;z-index:var(--default-z-index)}.mdx-hero-image button{display:none!important}.mdx-hero-image img{position:absolute;right:0;top:0}.mdx-jpd__single-job-department-container{border-top:1px solid rgb(var(--lsd-border-primary));padding-top:8px}.mdx-jpd__department-title{font-size:12px!important;line-height:16px!important}.mdx-jpd__job-title-container{align-items:center;display:flex;padding-bottom:8px}.mdx-jpd__job-list{list-style-type:none;margin:0;padding:8px 0 24px}.mdx-jpd__job-list-item{padding:14px 0}.mdx-jpd__job-link,.mdx-jpd__job-link:hover{text-decoration:none!important}.mdx-event-card__title:hover,.mdx-jpd__job-link:hover .mdx-jpd__job-title,.mdx-social-card:hover{text-decoration:underline!important}.mdx-logo-carousel .mdx-section-header__title{flex-basis:100%}.mdx-logo-carousel .mdx-logo-carousel__inner{margin-top:32px}.mdx-logo-carousel .mdx-logo-carousel__item{flex-shrink:0}.mdx-logo-carousel .mdx-logo-carousel__logo{height:56px;width:auto}.mdx-ns__inner form{margin-top:40px;width:100%}.mdx-ns__inner .mdx-ns__inputs{align-items:center;display:flex;flex-direction:row;gap:16px;width:100%}.mdx-ns__inner .mdx-ns__inputs>*{flex-grow:1}.mdx-ns__inner .mdx-ns__submit-button{margin-top:40px}.mdx-ns__inner .mdx-ns__toast{margin-bottom:24px;margin-top:-16px;width:100%}.mdx-profile-card{align-items:flex-start;border-top:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1rem 0 0}.mdx-profile-card__profile-placeholder{align-items:center;border:1px solid rgb(var(--lsd-border-primary));border-radius:50%;display:flex;height:56px!important;justify-content:center;width:56px!important}.mdx-profile-card__profile-placeholder svg,.mdx-social-card__logo,.mdx-social-card__logo svg{height:40px!important;width:40px!important}.mdx-profile-card__profile-placeholder svg rect{fill:unset!important}.mdx-profile-card__profile-image{border-radius:50%;height:56px!important;width:56px!important}.mdx-profile-card__buttons{align-items:center;display:flex;flex-direction:row;gap:8px;height:16px;margin-top:8px}.mdx-profile-card__link{height:-moz-fit-content;height:fit-content;position:relative;text-decoration:none}.mdx-event-card,.mdx-event-profile,.mdx-social-card{text-decoration:none!important}.mdx-profile-card__link svg{height:16px;width:16px}.mdx-timeline-item{display:flex;flex:0 0 auto;flex-direction:column;gap:1rem;justify-content:space-between;padding-bottom:23px;scroll-snap-align:start!important;width:193px}.mdx-timeline-item__header{align-items:flex-start;display:flex;flex-direction:column;gap:1rem}.mdx-timeline-item__period-container{position:relative;width:100%}.mdx-timeline-item__border{height:50%;left:0;position:absolute;top:0;width:calc(100% + 1rem);z-index:-1}.mdx-timeline-item--border-dashed .mdx-timeline-item__border{border-bottom-style:dashed}.mdx-timeline-item__period{border-radius:10rem;display:inline-block;padding:3px 12px}.mdx-timeline-item__period--filled{background-color:rgb(var(--lsd-surface-secondary));border:1px solid rgb(var(--lsd-border-secondary));color:rgb(var(--lsd-text-secondary))!important}.mdx-timeline-item__period--transparent{background-color:rgb(var(--lsd-surface-primary));border:1px solid rgb(var(--lsd-border-primary));color:rgb(var(--lsd-text-primary))!important}.mdx-timeline-item__description{margin-bottom:auto;margin-top:24px}.mdx-roadmap .mdx-grid__scroll{margin-bottom:32px!important}.mdx-roadmap .mdx-cta-section__title{font-size:var(--lsd-h2-fontSize)!important;font-weight:var(--lsd-h2-fontWeight)!important;line-height:var(--lsd-h2-lineHeight)!important}.mdx-roadmap .mdx-cta-section__description{font-size:var(--lsd-h5-fontSize)!important;font-weight:var(--lsd-h5-fontWeight)!important;line-height:var(--lsd-h5-lineHeight)!important;margin-top:24px;max-width:528px}.mdx-roadmap .mdx-cta-section__container h3{font-size:var(--lsd-subtitle1-fontSize)!important;font-weight:var(--lsd-subtitle1-fontWeight)!important;line-height:var(--lsd-subtitle1-lineHeight)!important}.mdx-roadmap__timeline .mdx-roadmap__timeline-item--no-border{border:none}.mdx-roadmap__timeline-item{height:100%}.scrollToBottom_NE5w{--offset-y:-2rem;background:rgb(var(--lsd-surface-primary))!important;opacity:1;position:absolute;top:min(100*var(--vh) - var(--ifm-navbar-height),var(--maxTop) - var(--ifm-navbar-height));transform:translateY(-2rem);transform:translateY(calc(-100% + var(--offset-y)));transition:.2s ease-in-out;z-index:100}.scrollToBottom_NE5w.hide_q_kn{opacity:0;transform:translateY(calc(-100% + var(--offset-y) - .625rem))}.mdx-section-header{border-top:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:row;gap:1rem;padding-top:24px;width:100%}.mdx-section-header>*{flex-basis:50%}.mdx-section-header__title{display:flex;flex-direction:row;gap:1.5rem}.mdx-section-header--no-border{border-top:none}.mdx-showcase-card__inner{display:flex;flex-direction:column;gap:1rem;padding-top:1.5rem}.mdx-showcase-card__logo{height:auto;width:40px}.mdx-showcase-card__index{align-items:center;background-color:rgb(var(--lsd-surface-secondary));border-radius:50%;color:rgb(var(--lsd-text-secondary))!important;display:flex;flex-direction:row;height:30px;justify-content:center;width:30px}.mdx-showcase-card__description{margin-top:1rem;padding-top:.5rem}.mdx-showcase-card--large .mdx-showcase-card__logo{width:40px}.mdx-showcase-card--small .mdx-showcase-card__logo{width:34px}.mdx-showcase-card--border-solid .mdx-showcase-card__description{border-top:1px solid rgb(var(--lsd-border-primary));padding-top:1rem}.mdx-showcase-card__cta{align-items:center;display:flex;font-size:14px;gap:6px;line-height:20px}.mdx-showcase-card__cta svg{transform:rotate(-90deg)}.mdx-social-card{align-items:flex-start;border:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:column;justify-content:space-between;min-height:144px;padding:1rem}.mdx-social-card__row{display:flex;justify-content:space-between;width:100%}.mdx-event-card{display:flex;flex-direction:column;gap:24px}.mdx-event-card__row,.mdx-event-profile__row{display:flex;gap:8px;justify-content:space-between;width:100%}.mdx-event-card__thumbnail{aspect-ratio:5/1;border:1px solid rgba(var(--lsd-border-primary),.2)}.mdx-event-card__title{display:-webkit-box;height:48px;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.mdx-event-card__info{border-top:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:column;gap:16px;padding:16px 16px 16px 0;width:100%}.mdx-event-card__info *,.mdx-event-info__content{white-space:pre-wrap}.mdx-event-card-list__button{display:block;margin:0 auto}.mdx-event-banner__thumbnail{aspect-ratio:5/1;border:1px solid rgba(var(--lsd-border-primary),.2);margin-bottom:32px}.mdx-event-info__container{align-self:stretch;border-top:1px solid rgba(var(--lsd-border-primary));display:flex;flex:1 0 0;flex-direction:column;gap:16px;height:100%;padding:16px 24px 0 0}.mdx-event-about__container{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.mdx-event-about__container>p{grid-column:1/6;margin-top:0!important}.mdx-event-about__container span{grid-column:7/13}.mdx-event-profile{display:flex;flex-direction:column;gap:16px}.mdx-event-profile__image{aspect-ratio:1/1}.mdx-event-profile__title{margin-bottom:8px}.mdx-event-profile__social{align-items:center;display:flex;gap:8px}.mdx-event-cta__container h2{margin-bottom:32px;margin-top:0!important}.mdx-event-cta__button{height:70px!important;width:100%!important}.mdx-event-cta__button>span{align-items:center;display:flex;height:100%;justify-content:space-between}.mdx-input-cta-section__container h2{margin-bottom:16px;margin-top:0!important}.mdx-input-cta-section__title{margin-bottom:24px!important}.mdx-input-cta-section__cta{height:40px!important;width:160px!important}.input-cta-section__description{margin-bottom:32px!important;white-space:pre-wrap}.mdx-input-cta-section__form{display:flex;flex-direction:column;gap:40px}.mdx-input-cta-section__input-fields{display:flex;gap:16px}.mdx-event-header__container{display:flex;flex-direction:column;gap:24px}.event-details .mdx-event-header__container h1{margin-bottom:0!important}@media (min-width:0px){.mdx-box{--mdx-box-top:var(--mdx-box-top-xs);--mdx-box-bottom:var(--mdx-box-bottom-xs)}}@media (min-width:576px){.mdx-box{--mdx-box-top:var(--mdx-box-top-sm);--mdx-box-bottom:var(--mdx-box-bottom-sm)}}@media (min-width:768px){.blog-archive-page .main-wrapper main>section .container>.row{display:grid;gap:64px 24px;grid-template-columns:repeat(24,1fr)}.blog-archive-page .main-wrapper main>section .container>.row>.col{grid-column:span 12;margin:0!important;max-width:unset;padding:0 8.3333333333% 0 0}.mdx-box{--mdx-box-top:var(--mdx-box-top-md);--mdx-box-bottom:var(--mdx-box-bottom-md)}.mdx-scroll-buttons__button--with-label{gap:12px;min-width:83px;padding:5px 11px 5px 9px!important;width:auto!important}.mdx-scroll-buttons__button--with-label:first-of-type,.mdx-scroll-buttons__button--with-label:last-of-type{justify-content:flex-start}.mdx-scroll-buttons--spaced>div{gap:0 1rem;justify-content:space-between}.mdx-scroll-buttons--spaced>div>button:not(:last-child){border-right:1px solid rgb(var(--lsd-border-primary))!important}}@media screen and (min-width:996px){.mdx-hero>.mdx-hero-image>img{margin-right:-160px;margin-top:-60%;position:absolute;right:0;scale:.95;top:0}}@media (min-width:997px){.event-details>div .main-wrapper main>div>div{grid-template-columns:unset!important}.main-wrapper .container{padding-bottom:96px}.main-wrapper>div{display:grid;gap:1rem;grid-template-columns:repeat(16,45px);margin:auto;width:-moz-fit-content;width:fit-content}.main-wrapper>div aside{border:none;grid-column:1/5;padding-left:var(--content-padding);width:auto}.main-wrapper>div main{grid-column:6/16;margin-top:48px;max-width:none}.navbar__left{flex-basis:8.3333333333%;flex:0 1 auto}.navbar__left-items{flex:1 0;margin:auto}nav.menu{margin-top:48px;padding-top:16px}.container{padding-inline:0!important}.navbar .lsd-icon-button--medium{height:28px!important;width:28px!important}.blog-wrapper>.container>.row{display:grid;gap:16px;grid-template-columns:repeat(24,1fr)}.blog-wrapper>.container>.row>aside{grid-column:1/5}.blog-wrapper>.container>.row>main{grid-column:6/20}.blog-wrapper:not(.blog-wrapper--index)>.container>.row>div:last-child{grid-column:21/25;max-width:unset}.wrapper_SWrM:not(.active_qZD5) .fullscreenButton_Bocn{background:rgb(var(--lsd-surface-primary));bottom:8px;display:flex;opacity:0;position:absolute;right:8px;transition:.3s;visibility:hidden}.wrapper_SWrM:not(.active_qZD5):hover .fullscreenButton_Bocn{opacity:1;visibility:visible}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.mdx-cta-section__header__mobile-button,.tocMobile_ITEo{display:none}.docItemGrid_SzoZ{display:grid;gap:var(--doc-grid-gap);grid-template-columns:repeat(11,1fr)}.docItemCol_F52z{grid-column:span 11}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_NjKY{flex-grow:1;padding-top:16px}@supports (scrollbar-gutter:stable){.menu_NjKY{scrollbar-gutter:stable}}.menuWithAnnouncementBar_U5pk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_UEyd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height)}.sidebarWithHideableNavbar__00c{padding-top:0!important}.sidebarHidden_F1ZE{opacity:0;visibility:hidden}.sidebarLogo_Ydl9{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_Ydl9 img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;background-color:var(--docusaurus-collapse-button-bg);display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.expandButtonIcon_BlDH{transform:rotate(0)}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.mdx-box{--mdx-box-top:var(--mdx-box-top-lg);--mdx-box-bottom:var(--mdx-box-bottom-lg)}.mdx-feature-list--bottom-aligned .mdx-feature-list__feature{min-height:332px}.mdx-feature-list--bottom-aligned .mdx-feature-list__feature-description{display:flex;flex:1 0;flex-direction:column;justify-content:flex-end}.mdx-feature-list--top-aligned .mdx-feature-list__feature-description{margin-top:40px}.mdx-feature-list__feature{padding:1rem;position:relative}.mdx-feature-list__feature-inner{height:100%}.mdx-feature-list__feature-border{background:rgb(var(--lsd-border-primary));height:calc(100% - 2rem);position:absolute;right:0;top:1rem;width:1px}.mdx-feature-list__feature:nth-child(odd){padding-left:0}.mdx-feature-list__feature:nth-child(2n){padding-right:0}.mdx-feature-list__feature:nth-child(2n) .mdx-feature-list__feature-border{display:none}}@media (min-width:997px)and (max-width:1199px){.main-wrapper .container>div>div,.navbar{padding-inline:0!important}.main-wrapper,.navbar{width:960px!important}.events .main-wrapper>div aside{grid-column:1/1}.events .main-wrapper>div main,.navbar__inner{grid-column:1/17}.plugin-id-root-pages main{grid-column:4/14!important}.main-wrapper .container{padding-bottom:96px}.main-wrapper>div{width:960px}.navbar{display:grid;gap:1rem;grid-template-columns:repeat(16,45px);margin:auto}.navbar__left-items{display:flex;justify-content:center}.main-wrapper{margin:0 auto!important}}@media (min-width:1200px){.main-wrapper>div main>.container,.main-wrapper>main>.row>.col,.navbar{padding-inline:0!important}.plugin-id-root-pages main{grid-column:4/16!important}.main-wrapper>div{display:grid;gap:1rem;grid-template-columns:repeat(16,1fr);margin-inline:unset;width:unset}.main-wrapper>div aside{border:none;grid-column:1/4;width:auto}.main-wrapper>div main{grid-column:5/17;max-width:none}.theme-doc-toc-desktop{top:calc(var(--ifm-navbar-height))!important}.navbar__inner{display:grid;gap:16px;grid-template-columns:repeat(24,1fr);padding:0}.navbar__left{align-items:center;display:flex;flex-direction:row;grid-column:1/6}.navbar__left-items{grid-column:6/20}.navbar__right-items{flex-direction:row;gap:16px;grid-column:20/25;justify-content:flex-end}.blog-archive-page .main-wrapper main>section .container>.row{display:grid;gap:64px 24px;grid-template-columns:repeat(24,1fr)}.blog-archive-page .main-wrapper main>section .container>.row>.col{grid-column:span 8;margin:0!important;max-width:unset;padding:0 12.5% 0 0}.docItemGrid_SzoZ{display:grid;gap:var(--doc-grid-gap);grid-template-columns:repeat(12,1fr)}.docItemCol_F52z{grid-column:span 10}.tocMobile_imaF{display:none}.mdx-box{--mdx-box-top:var(--mdx-box-top-xl);--mdx-box-bottom:var(--mdx-box-bottom-xl)}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:1440px)and (min-width:992px){.mdx-hero-model{transform:translateX(calc((var(--content-padding) + 0)*-3));width:calc(100vw + var(--content-padding))}}@media (max-width:1199px){.main-wrapper main>.container{padding-bottom:calc(var(--desktop-footer-gap) - var(--ifm-footer-padding-vertical) - var(--doc-grid-gap))!important}.header-github-link:before{margin-right:16px}.toc_pP_5{display:none}}@media (max-width:997px);@media (max-width:996px){.navbar-sidebar__close,.navbar__toggle{border:1px solid rgb(var(--lsd-border-primary))}.blog-wrapper h1[itemprop=headline],.mdx-cta-button .lsd-button--large,.mdx-cta-section__description,.mdx-cta-section__title,.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__link>div{font-family:var(--lsd-typography-generic-font-family)!important}.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0;padding-bottom:0!important;--ifm-footer-padding-horizontal:var(--content-padding)}.desktop,.footer__link-separator,.navbar__item,.navbar__left-items{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item,.main-wrapper>div,.mdx-cta-section--full-width .mdx-cta-section__container,.tocMobile_imaF{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid,.root_xZfc{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.mdx-section-header,.pills--block,.tabs--block{flex-direction:column}:root{--ifm-background-color:rgb(var(--lsd-surface-primary))}.navbar__color-mode-toggle{display:none!important}.main-wrapper main>.container{padding-bottom:calc(var(--mobile-footer-gap) - var(--ifm-footer-padding-vertical) - var(--doc-grid-gap))!important}.grid{grid-template-columns:repeat(2,1fr)}.footer-grid,.l-modal__container,.mdx-feature-list__list,.mdx-profile-card{grid-template-columns:1fr}.navbar__toggle{align-items:center;box-sizing:border-box;display:flex;height:32px;justify-content:center;margin:0;width:32px}.navbar__toggle svg{height:14px;width:14px}.theme-admonition{display:block!important}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu{padding-inline:0}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__list{display:flex;flex-direction:column;gap:8px;padding:var(--content-padding)}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__link{border-left:none;padding-left:0}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__link>div{font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important;text-decoration:none}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer{margin-top:3rem;padding:0!important}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer>div{display:flex!important;flex-direction:column!important;gap:32px!important}.colorModeToggle_GSaI,.dropdownNavbarItem_o23I,.l-modal__backdrop,.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer>button,.tableOfContents_bqdL{display:none}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer .container.container-fluid{margin-bottom:16px!important;padding-inline:var(--content-padding)}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer .container.container-fluid>.footer__links{gap:0!important}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer>div[class*=secondRow]{margin:var(--content-padding)}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer .footer__links{gap:16px!important}.navbar-sidebar__brand{height:60px;padding-block:0}.navbar-sidebar__brand>button{height:32px;width:32px}.navbar-sidebar__brand>button:first-of-type{margin-left:auto;margin-right:0!important}.navbar-sidebar__brand>button:not(:last-of-type){border-right:none}.navbar-sidebar__close{align-items:center;display:flex;justify-content:center;margin-left:unset}.blog-divider{margin-block:32px!important}.blog-wrapper main{padding-inline:var(--content-padding)}.blog-wrapper article footer{align-items:flex-start;flex-direction:column}.blog-wrapper article footer .read-more-link{margin-top:24px}.blog-wrapper article footer .read-more-link,.blog-wrapper article footer .read-more-link button{flex-basis:100%;width:100%}.blog-wrapper h1[itemprop=headline]{font-size:var(--lsd-h2-fontSize)!important;font-weight:var(--lsd-h2-fontWeight)!important;line-height:var(--lsd-h2-lineHeight)!important}.wrapper_SWrM>div{overflow:visible!important}.nav_cMpg{height:56px}.backToTop_wDfN{bottom:16px;left:16px;margin-top:76px!important;position:relative}.l-modal{overflow:hidden;width:100vw}.l-modal__container{display:grid;height:100vh;max-width:unset;min-height:-webkit-fill-available;width:100%}.docItemGrid_SzoZ,.mdx-showcase{grid-template-columns:repeat(2,1fr)}.root_ONDG,.root_ltHz{height:100%;overflow:auto}.l-modal__content{border:none;grid-column:1/2;grid-row:1/2;height:100%;margin:0;max-height:100vh;overflow:hidden}.modal_kLVz .header_QwCa{padding:12px 16px}.modal_kLVz .closeButton_Rr0e{display:block;height:2rem;width:2rem}.root_EFVO{padding:40px 24px}.root_ONDG{max-height:100%;padding:24px 24px 64px}.groups_p1lF{max-height:unset;overflow:auto}.root_ltHz{padding:24px 0 64px}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}.docItemGrid_SzoZ{display:grid;padding-left:0}.docItemCol_F52z{grid-column:span 2}.mdx-cta-button .lsd-button--large{font-size:var(--lsd-label2-fontSize)!important;font-weight:var(--lsd-label2-fontWeight)!important;line-height:var(--lsd-label2-lineHeight)!important;padding:5px 11px}.mdx-cta-section--align-center .lsd-button--large{padding:10px 40px}.mdx-cta-section{padding:16px 0 0}.mdx-cta-section--title-button .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight)}.mdx-cta-section--full-width .mdx-cta-section__title,.mdx-cta-section--simple .mdx-cta-section__title{margin-top:1.5rem}.mdx-cta-section--list{display:block}.mdx-cta-section--list .mdx-cta-section__list,.mdx-roadmap__timeline{margin-top:4rem}.mdx-cta-section--list .mdx-cta-section__list>*{border-top:1px solid rgb(var(--lsd-border-primary))}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>.mdx-cta-section__item-title{font-size:.875rem!important;line-height:1.25rem!important}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>.mdx-cta-section__item-description{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.mdx-cta-section__header__desktop-button{display:none}.mdx-cta-section__header__mobile-button{margin-top:24px}.mdx-cta-section__title{font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}.mdx-cta-section__description{font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important}.mdx-feature-list .mdx-feature-list__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-subtitle2-fontSize);font-weight:var(--lsd-subtitle2-fontWeight);line-height:var(--lsd-subtitle2-lineHeight);padding:1rem 0}.mdx-feature-list--cta-bottom .mdx-feature-list__extra{margin-top:2rem;padding:0}.mdx-feature-list__header h2,.mdx-roadmap .mdx-cta-section__title,.mdx-section-header h2{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}.mdx-feature-list__feature{border:none;border-top:1px solid rgb(var(--lsd-border-primary));padding:1.5rem 0}.mdx-feature-list__feature .mdx-feature-list__feature-index--circle{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-subtitle2-fontSize);font-weight:var(--lsd-subtitle2-fontWeight);height:1.625rem;line-height:var(--lsd-subtitle2-lineHeight);width:1.625rem}.mdx-feature-list__feature .mdx-feature-list__feature-title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight);margin-top:1rem}.mdx-feature-list__feature .mdx-feature-list__feature-description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-body1-fontSize);font-weight:var(--lsd-body1-fontWeight);line-height:var(--lsd-body1-lineHeight);margin-top:3rem}.mdx-hero-description,.mdx-roadmap .mdx-cta-section__description,.mdx-section-header__description,.mdx-section-header__title{font-family:var(--lsd-typography-generic-font-family)!important}.mdx-feature-list__feature:nth-child(odd) .mdx-feature-list__feature-inner{border:none}.mdx-hero-action button{padding:6px 12px!important}.mdx-hero-actions{align-items:center;display:flex;flex-direction:row;justify-content:stretch;width:100%;z-index:0}.mdx-hero-actions>*{flex-basis:50%}.mdx-hero-actions>a,.mdx-hero-actions>a>button{display:block;width:100%}.mdx-hero-description{font-size:var(--lsd-body2-fontSize)!important;font-weight:var(--lsd-body2-fontWeight)!important;line-height:var(--lsd-body2-lineHeight)!important;margin-top:16px}.mdx-hero-info{padding:28px 0}.mdx-hero-model--top{top:calc(var(--logos-hero-info-height)/ 1 - 10px)}.mdx-hero-model{transform:translate(-12px);width:calc(100vw - 20px)}.mdx-hero-model--shade{bottom:0;height:90vh!important}.mdx-hero-title{font-size:28px!important}.mdx-hero-video>*{height:var(--hero-video-height-mobile);min-height:var(--hero-video-min-height-mobile);transform:translateY(var(--hero-video-offset-y-mobile))}.mdx-hero-video img,.mdx-hero-video video{max-width:calc((100vw - 32px)*var(--hero-video-scale-mobile))}.mdx-logo-carousel .mdx-logo-carousel__inner{margin-top:64px}.mdx-timeline-item{width:204px}.mdx-roadmap .mdx-cta-section__description{font-size:var(--lsd-body1-fontSize)!important;font-weight:var(--lsd-body1-fontWeight)!important;line-height:var(--lsd-body1-lineHeight)!important;margin-top:16px}.scrollToBottom_NE5w{--offset-y:-1rem}.mdx-section-header__title{font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important;display:flex;flex-wrap:wrap}.mdx-section-header__description{font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.mdx-showcase{gap:1.5rem 1rem}.mdx-showcase-card__name{font-size:1.375rem!important;line-height:1.75rem!important}.mdx-showcase-card__description{margin-top:1rem}.mdx-showcase-card__logo{height:auto;width:34px}}@media screen and (max-width:996px){.mdx-hero>.mdx-hero-image>img{margin-left:0;margin-right:-200px;margin-top:-30%;scale:.9}.mdx-hero{margin-bottom:200px}}@media screen and (max-width:930px){.mdx-hero{margin-bottom:260px}.mdx-hero>.mdx-hero-image>img{margin-right:0;margin-top:-15%;scale:.8}}@media screen and (max-width:768px){.mdx-hero{margin-bottom:20px}}@media (max-width:767px){.blog-archive-page .main-wrapper main>section .container>.row{margin-top:0}.blog-archive-page .main-wrapper main>section .container>.row .col{margin-top:40px!important}.mdx-scroll-buttons>div{justify-content:flex-end}.mdx-scroll-buttons>div>button:not(:last-child){border-right:none!important}.mdx-scroll-buttons .mdx-scroll-buttons__label{display:none}.mdx-hero{justify-content:unset}.mdx-hero h1{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h2-fontSize)!important;font-weight:var(--lsd-h2-fontWeight)!important;line-height:var(--lsd-h2-lineHeight)!important}.mdx-ns__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight)}.mdx-ns__inner form{margin-top:40px}.mdx-ns__inner .mdx-ns__inputs{flex-direction:column;gap:24px}.mdx-ns__inner .mdx-ns__inputs>*{width:100%}.mdx-ns__inner .mdx-ns__submit-button{margin-top:24px}.mdx-profile-card{display:flex;scroll-snap-align:start!important;width:var(--mobile-width)}.mdx-profile-card__profile{display:flex;flex-direction:column;gap:16px}.mdx-profile-card__name{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h5-fontSize)!important;font-weight:var(--lsd-h5-fontWeight)!important;line-height:var(--lsd-h5-lineHeight)!important}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (max-width:575px){.footer__links,.mdx-event-profile-list__container .mdx-grid>.mdx-grid__content{gap:24px!important}:root{--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-button-size-multiplier:1.25;--ifm-button-padding-horizontal:calc(var(--ifm-button-size-multiplier)*var(--ifm-spacing-horizontal));--ifm-button-padding-vertical:calc(var(--ifm-button-size-multiplier)*var(--ifm-spacing-vertical));--ifm-alert-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-alert-padding-vertical:calc(var(--ifm-spacing-vertical)*2)}.markdown>h2{--ifm-h2-font-size:1.75rem}.markdown h4{--ifm-h4-font-size:1.25rem!important}.footer>div{display:flex!important;flex-direction:column;gap:72px!important;margin-inline:16px;padding-inline:0!important;width:auto}.footer>div:first-of-type .footer__links{gap:.3rem!important}.footer__links{display:flex!important;flex-direction:column!important}.col.footer__col{margin-bottom:0!important}.navbar__left{display:flex}.bottom-cta-sections .mdx-grid__content{gap:98px!important}.bottom-cta-sections .mdx-grid__content:last-of-type>div:last-of-type>.mdx-input-cta-section__container{margin-bottom:120px}.events .main-wrapper main>.container{padding-bottom:0!important}.footer{--ifm-footer-padding-horizontal:0}.firstRow_ar1q{padding-inline:var(--content-padding)!important}.secondRow__ww3{margin-inline:var(--content-padding)!important}.mdx-event-card-list__container{margin-bottom:48px}.mdx-event-about__container,.mdx-input-cta-section__input-fields{display:flex;flex-direction:column;gap:32px}.mdx-event-about__container span,.mdx-event-header__container p{font-size:14px!important;line-height:20px!important}.mdx-input-cta-section__input-fields>div{width:100%!important}.mdx-input-cta-section__container .mdx-input-cta-section__form{margin-bottom:-24px}.mdx-input-cta-section__container .input-cta-section__description--no-form{margin-bottom:32px!important}.input-cta-section__description{margin-bottom:24px!important}.event-details .mdx-event-header__container h1{font-size:24px!important;line-height:32px!important;margin-bottom:0!important}}@media (max-width:574px){.mdx-ghc__issue-content-grid{grid-template-columns:82px 1fr}}@media screen and (max-width:500px){.mdx-hero{margin-bottom:-20px}.mdx-hero>.mdx-hero-image>img{margin-top:-8%;scale:1}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_LDrR,.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/css/styles.f8a30f5d.css b/assets/css/styles.f8a30f5d.css new file mode 100644 index 0000000..368bff7 --- /dev/null +++ b/assets/css/styles.f8a30f5d.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}[data-theme=dark],html[data-theme=dark]{--ifm-color-scheme:dark}:root,[data-theme=light]{--ifm-color-scheme:light}code,pre code{--lsd-typography-generic-font-family:monospace}.button,.dropdown__link,.footer__item,.text--truncate{white-space:nowrap}.toggleButton_dl49,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.dropdown__menu,.menu__list,.root_N57j ul li{list-style:none}.mdx-erc__title,.mdx-event-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical}*,.buttonGroup_Qu4e button,.dropdownNavbarItem_o23I,.events .theme-doc-breadcrumbs .breadcrumbs__item--active,.mdx-event-info__container,.mdx-news-card__external-link-icon,.root_xZfc,.toggle_K23S{box-sizing:border-box}.mdx-cta-section .mdx-cta-section--align-center .mdx-cta-button,.mdx-video-section .mdx-video-section--align-center .mdx-cta-button{margin-inline:auto}.mdx-cta-section--full-width .mdx-cta-section__link,.mdx-video-section--full-width .mdx-video-section__link{grid-area:2/2/3/3}:root{--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-radius:0.4rem;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-weight-light:300;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-color:var(--ifm-font-color-base);--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-color:var(--ifm-color-white);--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-sidebar-width:83vw;--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}body{background-color:rgb(var(--lsd-surface-primary));height:auto!important}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.blog-archive-page .main-wrapper main>section,.margin-top--none,.margin-vert--none,.mdx-grid>.mdx-grid__content .mdx-news-card .mdx-news-card__title{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit;color:rgb(var(--lsd-text-primary))}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);overflow:auto;padding:var(--ifm-pre-padding)}.menu,.navbar-sidebar,body,html{overflow-x:hidden}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}.sub1,h1{font-size:var(--ifm-h1-font-size)}.sub2,h2{font-size:var(--ifm-h2-font-size)}.sub3,h3{font-size:var(--ifm-h3-font-size)}.sub4,h4{font-size:var(--ifm-h4-font-size)}.sub5,h5{font-size:var(--ifm-h5-font-size)}.sub6,h6,small{font-size:var(--ifm-h6-font-size)}.container_lyt7,.container_lyt7>svg,img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading));letter-spacing:-1.5px}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary,[data-theme=dark] .root_JWD1>div>div{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.alert__heading,.text--uppercase,table td strong,table th{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.admonitionHeading_JPfy,.events .theme-doc-breadcrumbs .breadcrumbs__link{text-transform:capitalize}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.breadcrumbs__item,.close:hover,.table-of-contents__link--active code{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.admonitionIcon_BGV6,.root_JWD1>span svg{vertical-align:middle}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navWrapper_ybYI,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%);display:none}.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after,.menu__list-item-collapsible>a[aria-expanded=false]>svg{transform:rotate(90deg)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_hrrU article>:first-child,.docItemContainer_hrrU header+*,.footer__item,.mdx-roadmap .mdx-cta-button{margin-top:0}.admonitionContent_iozl>:last-child,.footer__items{margin-bottom:0}.main-wrapper>main,.table-of-contents,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;top:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.icon_S7Kx,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.blog-wrapper>.container>.row>aside>nav>ul li,.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.cursor-pointer,.pills__item,.tabs__item{cursor:pointer}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.footer,.row{position:relative}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);position:relative;text-align:left;top:-.5rem}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.footer>div,.grid{grid-template-columns:repeat(24,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.blog-wrapper>.container>.row>aside>nav>div:first-child,.blog-wrapper>.container>.row>aside>nav>ul li a{border-left:1px solid #0000;font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important}.dropdown__link:hover,.footer__item a{text-decoration:underline}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar__left-items>.navbar__item:first-of-type,.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--content-padding:16px;--container-max-width:1072px;--pagination-nav-margin-top:96px;--ifm-navbar-link-color:rgb(var(--lsd-text-primary));--ifm-navbar-background-color:rgb(var(--lsd-surface-primary));--ifm-dropdown-link-color:rgb(var(--lsd-text-primary));--ifm-dropdown-hover-background-color:rgb(var(--lsd-surface-secondary));--ifm-background-color:rgb(var(--lsd-surface-primary));--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-primary:rgb(var(--lsd-theme-primary));--ifm-color-secondary:rgb(var(--lsd-theme-secondary));--prism-background-color:rgb(var(--lsd-theme-primary));--ifm-color-gray-0:rgb(var(--lsd-surface-primary));--ifm-color-gray-100:#f8f8fa;--ifm-color-gray-200:#f7f7f8;--ifm-color-gray-300:#eeeef0;--ifm-color-gray-400:#c0c0c2;--ifm-color-gray-500:#828285;--ifm-color-gray-600:#474747;--ifm-color-gray-700:#373738;--ifm-color-gray-800:#1a1a1a;--ifm-color-gray-900:#151515;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-font-color-base-inverse:var(--ifm-color-black);--docusaurus-highlighted-code-line-bg:#ffffff26;--ifm-card-background-color:var(--ifm-color-gray-100)!important;--ifm-alert-foreground-color:var(--ifm-color-gray-700);--ifm-button-background-color:rgb(var(--lsd-surface-primary));--ifm-global-border-width:1px;--ifm-global-radius:0.6rem;--ifm-hover-overlay:#0000000d;--ifm-font-family-base:var(--lsd-typography-generic-font-family);--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--lgs-font-family-secondary:Georgia,"Times New Roman",serif;--ifm-font-size-base:100%;--ifm-line-height-base:1.625;--ifm-font-size-secondary:100%;--ifm-line-height-secondary:1.5;--ifm-font-weight-light:400;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:400;--ifm-font-weight-bold:600;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-h1-font-size:var(--lsd-h1-fontSize);--ifm-h2-font-size:var(--lsd-h2-fontSize);--ifm-h3-font-size:var(--lsd-h3-fontSize);--ifm-h4-font-size:var(--lsd-h4-fontSize);--ifm-h5-font-size:var(--lsd-h5-fontSize);--ifm-h6-font-size:var(--lsd-h6-fontSize);--ifm-global-spacing:24px;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:0.75rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:24px;--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-code-background:rgb(var(--lsd-text-primary))!important;--ifm-pre-padding:1.125rem;--ifm-link-decoration:none;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-border-left-width:3px;--ifm-blockquote-shadow:none;--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-button-padding-vertical:0.4rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-border-radius:var(--ifm-global-radius);--ifm-card-horizontal-spacing:var(--ifm-spacing-horizontal);--ifm-card-vertical-spacing:var(--ifm-spacing-vertical);--ifm-footer-link-horizontal-spacing:0;--ifm-footer-padding-horizontal:var(--content-padding);--ifm-footer-padding-vertical:24px;--ifm-footer-background-color:#0000;--ifm-menu-link-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-menu-link-padding-vertical:0.25rem;--ifm-menu-color:rgb(var(--lsd-text-primary),0.6);--ifm-menu-color-background-active:#0000;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-height:64px;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-padding-horizontal:var(--content-padding);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)/3);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:100vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pills-spacing:0.125rem;--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--ifm-alert-background-color:#0000;--ifm-color-secondary-contrast-background:#0000;--ifm-color-success-contrast-background:#0000;--ifm-color-info-contrast-background:#0000;--ifm-color-warning-contrast-background:#0000;--ifm-color-danger-contrast-background:#0000;--ifm-alert-border-radius:none;--note:#d4d5d8;--tip:#6ace4b;--caution:#ddaa39;--danger:#e46967;--info:#68b1d0;--ifm-color-secondary-dark:var(--note);--ifm-color-secondary-light:var(--note);--ifm-color-success-dark:var(--tip);--ifm-color-success-light:var(--tip);--ifm-color-info-dark:var(--info);--ifm-color-info-light:var(--info);--ifm-color-warning-dark:var(--caution);--ifm-color-warning-light:var(--caution);--ifm-color-danger-dark:var(--danger);--ifm-color-danger-light:var(--danger);--ifm-footer-link-color:rgb(var(--lsd-text-primary));--ifm-color-content-secondary:rgb(var(--lsd-text-primary));--ifm-hero-background-color:#f8f8fa;--ifm-hero-text-color:var(--ifm-color-black);--desktop-footer-gap:200px;--mobile-footer-gap:144px;--doc-grid-gap:16px;--ifm-table-background:#0000!important;--ifm-table-stripe-background:#0000!important;--ifm-pre-border-radius:0!important;--ifm-code-font-size:100%!important;background-color:#0000!important;--doc-sidebar-width:16.66vw!important;--doc-sidebar-max-width:320px;--ifm-navbar-item-padding-vertical:8px;--ifm-navbar-item-padding-horizontal:12px;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--mobile-width:100%;--mobile-height:176px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}main{min-height:calc(100vh - var(--ifm-navbar-height) - var(--content-padding))}svg *{fill:rgb(var(--lsd-text-primary))}.grid{display:grid;gap:16px}.table-of-contents__link--active,.table-of-contents__link:hover{color:rgb(var(--lsd-text-primary))!important}h1{font-size:var(--lsd-h1-fontSize);font-weight:var(--lsd-h1-fontWeight);line-height:var(--lsd-h1-lineHeight)}h1,h2,h3,h4{font-family:var(--lsd-typography-generic-font-family)}h2{font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight)}h3{font-size:var(--lsd-h3-fontSize);font-weight:var(--lsd-h3-fontWeight);line-height:var(--lsd-h3-lineHeight)}h4{font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight)}code{background:#ffffff26;border-radius:0;color:rgb(var(--lsd-text-primary));background:rgba(var(--lsd-theme-primary),.1)}pre code{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-body1-fontSize)!important;font-weight:var(--lsd-body1-fontWeight)!important;line-height:var(--lsd-body1-lineHeight)!important}.theme-doc-footer-edit-meta-row div[class*=lastUpdated_] b,table td strong,table th{font-weight:400!important}.mdx-page body{overflow-x:hidden!important}.mdx-page h2{margin-top:unset!important}.alert,.card,.theme-code-block{box-shadow:none!important}.menu__list-item-collapsible>a,.navbar{box-shadow:none}.sans{font-family:var(--lgs-font-family-secondary);line-height:var(--ifm-line-height-secondary)}.blog-wrapper--index [itemprop=blogPost] .markdown,.external-link,.footer__bottom,.footer__copyright,.menu__list-item .menu__link,.theme-doc-footer-edit-meta-row div[class*=lastUpdated_],table{font-size:var(--lsd-body2-fontSize)!important;font-weight:var(--lsd-body2-fontWeight)!important;line-height:var(--lsd-body2-lineHeight)!important;font-family:var(--lsd-typography-generic-font-family)!important}.markdown a,.markdown a:hover,article a,article a:hover{text-decoration:underline;text-decoration-color:inherit;text-decoration-color:rgba(var(--lsd-text-primary),.6);text-underline-offset:.3rem}.card{padding:var(--ifm-spacing-vertical) var(--ifm-spacing-horizontal);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.mdx-cta-section--no-border,.mdx-cta-section--no-border>*,.mdx-feature-list--border-none,.mdx-video-section--no-border,.mdx-video-section--no-border>*,.table-of-contents__left-border{border:none!important}.menu__link{align-items:center;display:flex;justify-content:space-between}.menu__link span{color:rgba(var(--lsd-text-primary),.6)}.theme-edit-this-page{align-items:center;display:flex;gap:12px}.menuExternalLink_NmtK,.navbar__inner,.navbar__item{align-items:center}.dropdown__link:hover{color:rgb(var(--lsd-text-secondary))}.blog-wrapper>.container>.row>aside>nav>ul li a:hover,.breadcrumbs__item--active,.footerLogoLink_BH7S:hover,.hash-link:focus,.theme-code-block:hover .buttonGroup_Qu4e button,:hover>.hash-link{opacity:1}.breadcrumbs__item:not(:last-child):after{background:none;content:"/";opacity:1}.breadcrumbs__link{background:#0000!important;padding:0}.navbar{height:var(--ifm-navbar-height)}.navbar__logo,a[class^=sidebarLogo_] img{height:40px}a[class^=sidebarLogo_]{margin-left:-16px!important;margin:0}.header-github-link:hover,.mdx-event-card__label,.mdx-event-info__label{opacity:.6}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;height:16px;width:16px}html[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat}.dropdown__link--active{color:rgb(var(--lsd-text-secondary))!important;background-color:#0000}.row{margin:0}.theme-doc-version-banner *,.theme-doc-version-banner:hover *{color:#fff;text-decoration-color:#fff!important}.blog-wrapper main>section article ul li .lsd-tag>span,.blog-wrapper main>section article ul li .lsd-tag>span>span,.menu__link--active span,.theme-doc-version-badge{color:rgb(var(--lsd-text-primary))}.navbar__left-items>a:not(:last-child){margin-right:1.25rem}.navbar__left-items>a:not(:last-child)[href^="/"]{margin-right:1.75rem}.menu__link--sublist-caret:after{background:none;content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQgOS41My45NC45NEw4IDcuNDE3bDMuMDYgMy4wNTMuOTQtLjk0LTQtNC00IDRaIiBmaWxsPSIjZmZmIi8+PC9zdmc+);filter:unset;height:unset;min-width:unset;width:unset}.menu__list-item--collapsed>.menu__link--sublist-caret:after{transform:rotate(0)!important}.menu__link--active{border-radius:0}.dropdown__menu,.pagination-nav__link{border:1px solid rgb(var(--lsd-border-primary))}.table-of-contents a{padding-left:16px}.table-of-contents__link--active{border-left:1px solid rgb(var(--lsd-border-primary));padding-left:16px}.navbar__item{display:inline-flex;padding:0}.mdx-accordion-item,.navbar__link--active{border-bottom:1px solid rgb(var(--lsd-border-primary))}.dropdown__menu{background:rgb(var(--lsd-surface-primary));border-radius:0;margin-right:-1px;margin-top:6px;padding:0;transition-duration:0ms}.dropdown__link{background-color:#0000;border-radius:0;margin:0;padding:5px 11px;text-decoration:none}.dropdown__link *{text-decoration:inherit!important}.dropdown__link:hover{background-color:#0000}.blog-wrapper .breadcrumbs__item,.blog-wrapper--index h2[itemprop=headline]>a,.events .breadcrumbs__item,.events .breadcrumbs__link{text-decoration:none}.margin-left-8,.mdx-jpd__external-link-icon{margin-left:8px}.pagination-nav{margin-top:var(--pagination-nav-margin-top)!important}.overflow-hidden,.pagination-nav a{overflow:hidden}.theme-admonition,table{overflow:auto}.pagination-nav span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;width:70%;word-break:break-word}.pagination-nav__link{align-items:center;border-radius:0;display:flex;gap:18px;padding:10px 14px}.theme-doc-version-badge,table td,table th,table thead>tr{border:1px solid rgb(var(--lsd-border-primary))}.pagination-nav__link--next{grid-column:2/3;text-align:right;justify-content:flex-end}.events .pagination-nav,.events aside,.footer__item a svg,.menu__caret,.news .theme-doc-sidebar-container,.news header h1,.pagination-nav__label:after,.pagination-nav__label:before,.theme-doc-footer-edit-meta-row div[class*=lastUpdated_] small{display:none}.no-breadcrumbs .theme-doc-breadcrumbs,.theme-back-to-top-button{display:none!important}.footer__link-item,.tag_NdBD{display:inline-block}.lsd-collapse__content{padding:24px}.theme-doc-version-badge{background:#0000;margin-bottom:16px;padding:4px 8px}.mdx-section-header__extra,.navbar__right-items{align-items:center;display:flex}table{border-collapse:collapse;margin-bottom:var(--ifm-spacing-vertical);display:table;table-layout:fixed;width:100%}table th{text-align:left}table td{color:var(--ifm-table-cell-color)}.theme-doc-footer{margin-bottom:96px}.theme-doc-footer-edit-meta-row div[class*=lastUpdated_]{font-style:normal;opacity:.7}.news .news-title span,.theme-code-block:hover .buttonGroup__atx button{opacity:.4}.navbar-sidebar__item{padding-block:0;padding-inline:var(--content-padding)}.navbar-sidebar__back{align-items:center;display:flex;gap:16px;margin:24px 0!important;padding:0;width:100%!important}.theme-doc-sidebar-menu .menu__link{padding-left:var(--content-padding);padding-right:0}.menu__list-item-collapsible>a[aria-expanded=true]>svg{transform:rotate(180deg)}main[itemtype*=Blog]{margin-left:0}.mdx-ghc-subheader-text,main[itemtype*=Blog] .theme-doc-breadcrumbs{margin-bottom:40px}main[itemtype*=Blog] .blog-divider{background:rgb(var(--lsd-theme-primary));margin-block:40px}.events .theme-doc-markdown>h1{margin-bottom:16px!important}.events .theme-doc-breadcrumbs{display:block}.full-width>div .main-wrapper main{grid-column:1/17!important}.news .news-title{display:flex;font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h1-fontSize);font-weight:var(--lsd-h1-fontWeight);gap:16px;line-height:var(--lsd-h1-lineHeight);margin-bottom:0!important}.footer__links>div:first-of-type,.footer__links>div:nth-of-type(3),.mdx-event-profile__title{margin-bottom:8px}.footer__links>div:nth-of-type(2){margin-bottom:34px}.container{padding-inline:var(--content-padding)}.main-wrapper>.container{margin-bottom:0!important;margin-top:0!important;overflow-x:hidden}.main-wrapper>main,.main-wrapper>main>.row,.main-wrapper>main>.row>.col{--ifm-spacing-horizontal:var(--content-padding);flex-basis:100%!important;flex:unset;margin:0;max-width:unset;width:100%!important}.footer{margin-bottom:18px;width:100%!important}.footer>div{display:grid;gap:1rem;max-width:unset;padding:24px 0 0}.footer__bottom{grid-column:1/12;grid-row:1/1;text-align:unset}.content_knG7,.mdx-cta-section .mdx-cta-section--align-center *,.root_EFVO{text-align:center}#__docusaurus-base-url-issue-banner-container,.blog-archive-page .main-wrapper header .container p,.blog-wrapper main>section article ul li a:after,.blog-wrapper main>section article ul li a:before,.docItemContainer_hrrU .tocMobile_imaF:not(:first-of-type),.docSidebarContainer_b6E3,.footer__bottom>div:first-of-type,.groups_p1lF .divider_eGUz:last-child,.mdx-accordion-item>input,.modal_kLVz .closeButton_Rr0e,.sidebarLogo_Ydl9,.theme-doc-breadcrumbs,.themedImage_kfRS,.toc_pP_5,.wrapper_SWrM .fullscreenButton_Bocn,[data-hidden-doc-sidebar=true] .theme-doc-sidebar-container,[data-theme=dark] .lightToggleIcon_K4TL,[data-theme=light] .darkToggleIcon_lKkA,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.footer__title{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-label1-fontSize)!important;font-weight:var(--lsd-label1-fontWeight)!important;font-weight:var(--ifm-font-weight-normal);line-height:var(--lsd-label1-lineHeight)!important;margin-bottom:4px}.blog-wrapper main>section article ul li .lsd-tag>span,.blog-wrapper main>section article ul li .lsd-tag>span>span,.footer__item,.footer__item a{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-label1-fontSize)!important;font-weight:var(--lsd-label1-fontWeight)!important;line-height:var(--lsd-label1-lineHeight)!important}.footer>div:first-child>.footer__links,.footer>div:nth-child(2)>.footer__links{display:grid;grid-column:13/25;grid-row:1/1;margin-bottom:0}.footer>div:nth-child(2)>.footer__links{gap:2rem 1rem;grid-template-columns:repeat(2,1fr)}.footer__col{grid-template-columns:span 1}.blog-wrapper main>section article ul li a,.codeBlockStandalone_BRZX,.codeBlockStandalone_MEMb,.col.footer__col,.modal_kLVz>div>div:first-child,.noResults_mD2O,.root_N57j ul,.root_ONDG.empty_a7qb{padding:0}.footer__items{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.footer__item{display:inline-flex}.footer__item:not(:last-child):after{content:"•";display:inline-block;margin-left:8px;text-decoration:none}.footer__logo{max-width:var(--ifm-footer-logo-max-width);margin:0!important}.navbar__inner{flex-direction:row}.hero--primary{--ifm-hero-background-color:rgb(var(--lsd-surface-primary));--ifm-hero-text-color:rgb(var(--lsd-text-primary))}.docusaurus-mermaid-container{margin-block:40px}.hidden-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hidden-scrollbar::-webkit-scrollbar{display:none;width:0}[class^=mdx-]{--lsd-h1-fontWeight:100;--lsd-h2-fontWeight:300;--lsd-h3-fontWeight:300;--lsd-h4-fontWeight:300;--lsd-h5-fontWeight:300;--lsd-h6-fontWeight:300;--lsd-subtitle1-fontWeight:300}.hidden{opacity:0;visibility:hidden}.blog-wrapper h1[itemprop=headline]{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h1-fontSize)!important;font-weight:var(--lsd-h1-fontWeight)!important;line-height:var(--lsd-h1-lineHeight)!important}.blog-wrapper>.container{display:flex;margin:0;max-width:unset;padding-inline:0;width:100%}.blog-wrapper>.container>.row,.mdx-roadmap,.mdx-scroll-buttons{width:100%}.blog-wrapper main>header h1{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important;margin-bottom:.5rem}.blog-wrapper>.container>.row>aside{max-width:unset}.blog-wrapper>.container>.row>aside>nav{padding-top:16px;top:var(--ifm-navbar-height)}.blog-wrapper>.container>.row>aside>nav>div:first-child{font-family:var(--lsd-typography-generic-font-family)!important;margin-bottom:0!important;padding:4px 0 4px 15px}.blog-wrapper>.container>.row>aside>nav>ul li a{box-sizing:border-box;display:block;font-family:var(--lsd-typography-generic-font-family)!important;opacity:.6;padding:4px 0 4px 2rem}.blog-wrapper--index>.container>.row>aside>nav>div:first-child,.blog-wrapper>.container>.row>aside>nav>ul li a[class*=sidebarItemLinkActive_]{border-color:rgb(var(--lsd-border-primary))}.blog-wrapper--index h2[itemprop=headline]{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.content_knG7 a,.footerLink_sh7M,.linkContent__x3v:hover,.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>a:hover,.mdx-video-section--list .mdx-video-section__list .mdx-video-section__list-item>a:hover{text-decoration:underline}.blog-wrapper>.container>.row>main{margin-top:16px;max-width:unset}.blog-archive-page .main-wrapper header .container h1,.blog-wrapper article header h2,.blog-wrapper main>section article h2{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}.blog-wrapper article footer{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-top:24px!important}.blog-wrapper main article{border-bottom:1px solid rgb(var(--lsd-border-primary));margin-bottom:34px!important;padding-bottom:34px}.blog-wrapper main article:last-of-type{border-bottom:none!important}.blog-archive-page .main-wrapper{padding:2rem var(--content-padding)}.blog-archive-page .main-wrapper header{border-bottom:1px solid var(--ifm-hero-text-color);margin:0;padding:0 0 1rem}.blog-archive-page .main-wrapper header .container{margin:0;padding:0!important}.blog-archive-page .main-wrapper main>section .container{margin:0;max-width:unset;padding:0}.blog-archive-page .main-wrapper main>section .container>.row,.mdx-logo-carousel-buttons,.mdx-roadmap__timeline{margin-top:64px}.blog-archive-page .main-wrapper main>section .container>.row>.col{margin:0!important;max-width:unset;padding:0}.blog-archive-page .main-wrapper main>section .container>.row>.col h3{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h5-fontSize)!important;font-weight:var(--lsd-h5-fontWeight)!important;line-height:var(--lsd-h5-lineHeight)!important}.blog-archive-page .main-wrapper main>section .container>.row>.col a{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-body1-fontSize)!important;font-weight:var(--lsd-body1-fontWeight)!important;line-height:var(--lsd-body1-lineHeight)!important}.blog-archive-page .main-wrapper main>section .container>.row>.col ul{margin:1rem 0 0;padding:0 0 0 1.5rem}.blog-wrapper main>section article{border-bottom:none;padding:0}.blog-wrapper main>section article ul,.mdx-app-card__name{margin-top:1rem}.nav_cMpg,.root_QACb{margin:0 auto;max-width:var(--container-max-width)}.blog-wrapper main>section article ul li{margin:0 .5rem 0 0!important;padding:0!important}.blog-wrapper main>section article ul li .lsd-tag{height:28px;padding:3px 11px}.mdx-hero>.mdx-hero-asset img{margin-top:-40%;position:absolute;right:0;top:0}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}[data-theme=dark] .themedImage--dark_OvIx,[data-theme=light] .themedImage--light_BL8e,html:not([data-theme]) .themedImage--light_BL8e{display:initial}.icon_S7Kx.s_AZDZ svg{width:10px}.icon_S7Kx.m_thRi svg{width:20px}.icon_S7Kx.l_WHPt svg{width:40px}[data-theme=dark] .icon_S7Kx.fill_hNhN,[data-theme=dark] .icon_S7Kx.fill_hNhN *{fill:var(--ifm-color-white)}[data-theme=dark] .icon_S7Kx.stroke_N8dm svg,[data-theme=dark] .icon_S7Kx.stroke_N8dm svg *{stroke:var(--ifm-color-white)}[data-theme=light] .icon_S7Kx.fill_hNhN,[data-theme=light] .icon_S7Kx.fill_hNhN *{fill:var(--ifm-color-black)}[data-theme=light] .icon_S7Kx.stroke_N8dm svg,[data-theme=light] .icon_S7Kx.stroke_N8dm svg *{stroke:var(--ifm-color-black)}.backdrop_Ifvc{background:rgb(var(--lsd-surface-primary));z-index:201}.backdrop_Ifvc,.navWrapper_ybYI{height:100%;left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%}.navWrapper_ybYI{background:#0000;z-index:203}.navWrapper_ybYI>*{pointer-events:auto}.nav_cMpg{align-items:center;background:rgb(var(--lsd-surface-primary));display:flex;flex-direction:row;height:var(--ifm-navbar-height);justify-content:space-between;padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.visible_ynAX{opacity:1!important;visibility:visible!important}.codeBlockContent_ugSV,.wrapper_SWrM{position:relative}.wrapper_SWrM:not(.active_qZD5) .fullscreenButton_Bocn{background:rgb(var(--lsd-surface-primary));bottom:8px;position:absolute;right:8px;transition:.3s}.root_QACb{padding:0;width:100%}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.iconExternalLink_nPIU{margin-left:.3rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.firstRow_ar1q{border-top:1px solid rgb(var(--lsd-text-primary));margin-bottom:96px!important}.firstRow_ar1q,.secondRow__ww3{display:flex;flex-direction:row}.secondRow__ww3{border-top:1px solid rgb(var(--lsd-border-primary));padding-bottom:16px!important}.backToTop_wDfN{bottom:16px;left:16px;position:absolute}.l-modal,.l-modal__backdrop{position:fixed;top:0;left:0}.backToTop_wDfN,.footerLink_sh7M{width:-moz-fit-content;width:fit-content}.footerLink_sh7M{height:-moz-fit-content;height:fit-content}.toggle_K23S{border:1px solid rgb(var(--lsd-border-primary));height:32px;width:32px}.toggle_K23S svg{height:14px;width:14px}.toggleButton_dl49{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.dropdownNavbarItem_o23I,.l-modal__content{border:1px solid rgb(var(--lsd-border-primary))}.toggleButton_dl49:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_AAS_{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}.l-modal{height:100vh;opacity:0;transition:.3s;visibility:hidden;width:100%;z-index:9999}.l-modal__container{display:grid;gap:1rem;grid-template-columns:repeat(24,1fr);margin:0 auto;max-width:1376px;overflow:auto}.l-modal--open{opacity:1;visibility:visible}.l-modal__content{background:rgb(var(--lsd-surface-primary));grid-column:8/19;height:-moz-fit-content;height:fit-content;margin:64px 0;max-height:80vh;padding:7px;z-index:9998}.groups_p1lF,.root_ONDG{max-height:60vh;overflow-y:auto}.l-modal__backdrop{background-color:rgba(var(--lsd-surface-primary),.6);height:100%;width:100%;z-index:9997}.modal_kLVz .header_QwCa{align-items:center;display:flex;flex-direction:row;gap:.5rem}.root_EFVO{padding:32px}.root_ONDG{padding:24px}.title_uwS_{font-size:.75rem!important}.item_RHYF{align-items:center;display:flex;flex-direction:row;margin-top:1rem}.item_RHYF .itemTitle_jtAv{flex-grow:1;overflow:hidden;padding-left:1rem;text-overflow:ellipsis;white-space:nowrap}.linkContent__x3v,.root_JWD1{align-items:center;display:flex}.item_RHYF .itemTitle_jtAv mark,.root_JWD1 mark{background:none;color:inherit}.root_xZfc{padding:8px 8px 0;position:relative;width:100%}.collapse_LWBd button,.textField_af43{width:100%!important}.textField_af43 button svg{height:auto;max-height:100%!important;width:14px}.root_N57j>div:first-child{color:#828285;padding:0 24px}.root_N57j>div:first-child,.root_N57j>div:first-child *{font-size:.75rem}.root_N57j ul li{margin-top:1rem}.root_JWD1{padding:0 24px}.root_JWD1>div{margin-left:1rem}.root_Ooa0{text-decoration:none!important}.root_Ooa0.level1_fpUf{display:block;padding-left:32px}.icon_sZn2{height:auto;width:16px}.icon_sZn2.fill_fkan,.icon_sZn2.fill_fkan *{fill:currentColor}.icon_sZn2.stroke_j3wH,.icon_sZn2.stroke_j3wH *{stroke:currentColor}[data-theme=light] .icon_sZn2{color:#000}[data-theme=dark] .icon_sZn2{color:#fff}.root_ltHz{padding:24px 0}.groups_p1lF{display:flex;flex-direction:column;gap:16px}[data-theme=dark] .divider_eGUz>div{opacity:.1}[data-theme=dark] .topBar_Dtew button{background-color:var(--ifm-button-color)}.linkContent__x3v{gap:6px;text-decoration:none}.linkContent__x3v:hover{text-decoration-color:rgba(var(--lsd-text-primary),.6);text-underline-offset:.3rem}.externalLinkIcon_Qfue{width:8px}.externalLinkIcon_Qfue svg,.root_TTsz.fullWidth_HBtH{height:auto;width:100%}.dropdownNavbarItem_o23I{height:28px;padding:6px 12px}.navbarHideable_OoEf{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_zoxl{transform:translate3d(0,calc(-100% - 2px),0)}.rightSection_CLeF{align-items:center;display:flex;justify-content:flex-end;white-space:nowrap}.mdx-event-card__info *,.mdx-event-info__content,.mdx-news-card__info *{white-space:pre-wrap}.iconButtonGroup_ktNv button:not(:last-child){border-right:1px solid!important;margin-right:-1px!important}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.breadcrumbsContainer_RLvU{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:24px}.codeBlockContainer_Ckt0{background:var(--prism-background-color);border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw)}.codeBlockContainer_Ckt0,.codeBlockContainer_EB2s{color:var(--prism-color);margin-bottom:var(--ifm-leading)}.codeBlockContainer_EB2s{background:#0000;border-radius:0}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_TWhw,.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V,.codeBlockTitle_sjMo+.codeBlockContent_ugSV .codeBlock_TWhw{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_LDrR,.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.buttonGroup_Qu4e button,.buttonGroup__atx button{color:var(--prism-color);line-height:0;transition:opacity var(--ifm-transition-fast) ease-in-out}.codeBlockLinesWithNumbering_bsRF,.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_Qu4e,.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;background:var(--prism-background-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;opacity:0;padding:.4rem}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_YovB{opacity:1!important}.copyButtonIcons_an20{align-items:center;display:flex;justify-content:center;position:relative}.copyButtonIcon_ZL7v,.copyButtonSuccessIcon_P2h8{fill:currentColor;height:14px;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:14px}.copyButtonSuccessIcon_P2h8{color:#00d600;opacity:0}.copyButtonCopied_YovB .copyButtonIcon_ZL7v{opacity:0}.copyButtonCopied_YovB .copyButtonSuccessIcon_P2h8{opacity:1;transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.codeBlockTitle_sjMo{background:var(--prism-background-color);border-bottom:1px solid var(--ifm-color-primary);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.buttonGroup_Qu4e button{align-items:center;background:var(--prism-background-color);border:1px solid rgb(var(--lsd-border-primary));display:flex;height:28px;justify-content:center;opacity:0;width:28px}.buttonGroup_Qu4e button:focus-visible,.buttonGroup_Qu4e button:hover{opacity:1!important}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.img_ev3q{height:auto}.admonition_ntHH{border:1px solid var(--ifm-alert-border-color);display:flex;gap:18px;margin-bottom:24px;padding:18px}.admonitionHeading_JPfy{font-size:1.25rem!important;font-weight:400;line-height:1.5rem!important;margin-bottom:.3rem}.admonitionHeading_JPfy code{text-transform:none}.admonitionIcon_BGV6{display:inline-block}.admonitionIcon_BGV6 svg{display:inline-block;height:16px;width:16px}.admonitionIcon_BGV6 svg *{stroke:none!important;fill:var(--ifm-alert-border-color)}.admonitionContent_iozl{display:block;margin-top:12px}.root_UH70,.tagWithCount_gIvh{align-items:center;display:flex}.tag_dtsN{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.mdx-cta-section,.mdx-cta-section--list .mdx-cta-section__list>:not(:first-child),.mdx-video-section{border-top:1px solid rgb(var(--lsd-border-primary))}.tag_dtsN:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.mdx-erc:hover .mdx-erc__title,.mdx-ghc__issue-title-link:hover,.mdx-ghc__view-on-github-link:hover{text-decoration:underline!important}.tagRegular_SGIC{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_gIvh{border-left:0;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_gIvh:after,.tagWithCount_gIvh:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_gIvh:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.mdx-asset-card:not(.mdx-asset-card--downloadable) .mdx-asset-card__inner,.mdx-erc--with-preview .mdx-erc__preview-image{border-bottom:1px solid rgb(var(--lsd-border-primary))}.tagWithCount_gIvh:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_gIvh span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.root_UH70{flex-direction:row}.tags_LT8x{display:inline;margin:0 0 0 1rem!important;padding:0!important}.tag_NdBD:not(:first-child){margin-left:.5rem}.mdx-cta-section .mdx-cta-section--align-right .mdx-cta-button,.mdx-logo-carousel .mdx-section-header__extra,.mdx-video-section .mdx-video-section--align-right .mdx-cta-button{margin-left:auto}.tag_NdBD a{margin:0!important;padding:0!important}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.tocCollapsibleButton_dxRj{align-items:center;border:1px solid rgb(var(--lsd-border-primary));display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButtonExpanded_TSyC:after,.tocCollapsibleExpanded_zTjk{transform:none}.tocCollapsible_ROek{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_Qsjj>ul{border-left:none;border:1px solid rgb(var(--lsd-border-primary))!important;border-top:none!important;font-size:15px;padding:.2rem 0}.tocCollapsibleContent_Qsjj ul li{margin:.4rem .8rem}.tocCollapsibleContent_Qsjj a{display:block;-webkit-text-decoration:var(--ifm-link-text-decoration);text-decoration:var(--ifm-link-text-decoration)}.badge_AsjZ{background:#0000}.docItemGrid_SzoZ{display:grid;gap:16px;grid-template-columns:repeat(14,1fr)}.gap1_XuuQ{grid-column:span 1}.tocMobile_imaF{margin-bottom:2rem;margin-top:-.5rem}.tocMobile_imaF>div{display:block!important;margin:0}.docItemContainer_hrrU h1{margin-bottom:40px!important}.docItemContainer_hrrU h2,.docItemContainer_hrrU h3{margin-top:32px!important}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.chevron_How5,.root_TTsz .content_feMR{position:absolute;left:0}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.root_jG9K{align-items:center;display:flex;flex-direction:column;padding:1rem!important;width:100%}.root_jG9K>div{max-width:796px!important;width:100%}.root_jG9K>div>div{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;padding:0!important}.root_jG9K a{margin-top:2.5rem}.mdxPageWrapper_j9I6{justify-content:center}.mdx-accordion-item__header{align-items:center;display:flex;flex-direction:row;gap:0 16px;justify-content:space-between;min-height:88px;padding:16px 0}.mdx-asset-card,.mdx-erc{min-height:144px;text-decoration:none!important}.mdx-accordion-item__header,.mdx-accordion-item__header *,.mdx-cta-section__list-item-link,.mdx-video-section__list-item-link{cursor:pointer}.mdx-accordion-item__content-wrapper{height:auto;overflow:hidden}.mdx-accordion-item__content{height:0}.mdx-accordion-item--open .mdx-accordion-item__content{height:auto;padding-bottom:1.875rem;padding-top:6px}.mdx-app-card{align-items:flex-start;display:flex;flex-direction:column;padding:1.5rem 0}.mdx-app-card__logo{height:40px;width:auto}.mdx-app-card__description{margin-top:1.5rem}.mdx-app-card__link{margin-top:1.5rem;width:100%}.mdx-app-card__link button{padding:10px 16px;width:100%}.mdx-app-card__link button>span{align-items:center;display:block;display:flex;flex-direction:row;justify-content:space-between;width:100%}.root_TTsz{display:inline-block;font-size:0!important;position:relative}.root_TTsz.fullHeight_ls1u{height:100%;width:auto}.root_TTsz .content_feMR{height:100%;top:0;width:100%}.root_TTsz:not(.keep_Y9Ea) .root_TTsz{height:auto;width:auto}.root_TTsz:not(.keep_Y9Ea) .content_feMR{height:100%;left:unset;position:relative;top:unset;width:100%}.mdx-asset-card{align-items:flex-start;border:1px solid rgb(var(--lsd-border-primary));border-bottom:none;display:flex;flex-direction:column;width:216px}.mdx-asset-card__inner{padding:16px 16px 32px;width:100%}.mdx-asset-card__title,.mdx-event-profile-list__container h2,.mdx-event-profile__role,.mdx-ghc__challenge-labels,.mdx-ghc__issue-title{margin-bottom:16px}.mdx-asset-card__image img{height:100%;object-fit:contain;object-position:center center;width:100%}.mdx-asset-card__downloadables{align-items:flex-start;display:flex;flex-direction:row;justify-content:stretch;width:100%}.mdx-asset-card__downloadables>*{flex-grow:1;font-size:12px;text-decoration:none!important;text-underline-offset:unset!important}.mdx-asset-card__downloadables>* button{justify-content:space-between;text-decoration:none;width:100%}.mdx-asset-card__downloadables>:first-child button{border-left:none}.mdx-asset-card__downloadables>:last-child button,.mdx-asset-card__downloadables>:not(:last-child) button{border-right:none}.mdx-box{padding-bottom:var(--mdx-box-bottom);padding-top:var(--mdx-box-top)}.mdx-cta-button,.mdx-section-header--with-description .mdx-section-header__extra{margin-top:2rem}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>.mdx-cta-section__item-description,.mdx-cta-section__description{margin-top:1rem}.mdx-cta-button button,.mdx-cta-button button span{font-size:inherit;font-weight:inherit;line-height:inherit}.mdx-cta-button .lsd-button--large{padding:9px 39px}.mdx-cta-button .lsd-button--small{padding:5px 11px}.mdx-cta-section,.mdx-video-section{display:grid;padding:24px 0 0}.mdx-cta-section .mdx-cta-section__link,.mdx-jpd__job-link,.mdx-video-section .mdx-video-section__link{display:block;width:-moz-fit-content;width:fit-content}.mdx-cta-section .mdx-cta-section__header__desktop-button .mdx-cta-button{margin-top:unset}.mdx-cta-section .mdx-cta-section--align-center{align-items:center;display:flex;flex-direction:column;margin:auto;max-width:936px}.mdx-cta-section .mdx-cta-section--align-center .mdx-cta-section__description{margin-top:1.5rem}.mdx-cta-section .mdx-cta-section--align-left *{text-align:left}.mdx-cta-section .mdx-cta-section--align-right *{text-align:right}.mdx-cta-section__header,.mdx-profile-card__profile{align-items:center;display:flex;gap:24px}.mdx-cta-section__header button{font-size:12px!important;line-height:16px!important;padding:6px 12px!important}.mdx-cta-section--title-only .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);font-weight:300;line-height:var(--lsd-h5-lineHeight);max-width:886px}.mdx-cta-section--title-button .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-display4-fontSize);font-weight:var(--lsd-display4-fontWeight);font-weight:300;line-height:var(--lsd-display4-lineHeight);max-width:886px}.mdx-cta-section--full-width .mdx-cta-section__container{display:grid;gap:0 1rem;grid-template-columns:repeat(2,1fr)}.mdx-cta-section--full-width .mdx-cta-section__title,.mdx-ns__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h3-fontSize);font-weight:var(--lsd-h3-fontWeight);line-height:var(--lsd-h3-lineHeight)}.mdx-cta-section--full-width .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-cta-section--simple .mdx-cta-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight);margin-top:1.5rem}.mdx-cta-section--simple .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-cta-section--list{display:grid;gap:0 1rem;grid-template-columns:1fr 1fr}.mdx-cta-section--list .mdx-cta-section__container{grid-column:1/2}.mdx-cta-section--list .mdx-cta-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight);margin-top:1.5rem}.mdx-cta-section--list .mdx-cta-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-hero h1,.mdx-roadmap .mdx-cta-section__container h3,.mdx-roadmap .mdx-cta-section__description,.mdx-roadmap .mdx-cta-section__title{font-family:var(--lsd-typography-generic-font-family)!important}.mdx-cta-section--list .mdx-cta-section__list{display:flex;flex-direction:column;gap:1.5rem 0;grid-column:2/3}.mdx-erc--with-preview .mdx-erc__icon,.mdx-ns__inner .mdx-ns__toast .lsd-toast__close-button,.mdx-roadmap__timeline .mdx-grid-item:last-child .mdx-timeline-item__border,.mdx-timeline-item__item:last-child .mdx-timeline-item__border{display:none}.mdx-cta-section--list .mdx-cta-section__list>a{display:block;text-decoration:none}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>a>.mdx-cta-section__item-title{align-items:center;border:1px solid rgb(var(--lsd-border-primary));border-radius:1rem;color:rgb(var(--lsd-text-primary));display:flex;gap:12px;margin-top:1.5rem;padding:3px 11px;width:-moz-fit-content;width:fit-content}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>a{text-decoration:none}.mdx-doc-metadata{display:flex;flex-direction:row;line-height:0;margin-bottom:2.5rem}.mdx-doc-metadata>span:not(:last-child):after{content:"•";display:inline-block;margin-inline:.75rem}.markdown h1+.mdx-doc-metadata,.markdown header+.mdx-doc-metadata{margin-top:calc(var(--ifm-h1-vertical-rhythm-bottom)*-1*var(--ifm-leading) + 1rem)}.mdx-erc{align-items:flex-start;border:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:row}.mdx-erc__icon{padding:16px 16px 16px 8px}.mdx-erc__inner{flex-grow:1;padding:16px}.mdx-erc__logo,.mdx-erc__logo svg{height:32px!important;width:32px!important}.mdx-erc__title{display:-webkit-box;margin-top:32px;max-height:calc(var(--lsd-body1-lineHeight)*2);overflow:hidden}.mdx-erc__description{margin-top:8px}.mdx-erc--with-preview{display:flex;flex-direction:column}.mdx-erc--with-preview .mdx-erc__preview-image{height:100%;object-fit:cover;width:100%}.mdx-erc--with-preview .mdx-erc__inner{display:grid;gap:0 16px;grid-template-columns:32px auto;grid-template-rows:auto auto;padding:16px}.mdx-erc--with-preview .mdx-erc__logo{align-self:center;grid-column:1;grid-row:1/span 2}.mdx-erc--with-preview .mdx-erc__title{-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:0;max-height:calc(var(--lsd-body1-lineHeight)*1)}.mdx-erc--with-preview .mdx-erc__description{margin-top:4px}.mdx-feature-list{border-top:1px solid rgb(var(--lsd-surface-secondary));position:relative}.mdx-feature-list__title{padding:24px 0}.mdx-feature-list__feature-index--circle{align-items:center;background:rgb(var(--lsd-surface-secondary));border-radius:100%;color:rgb(var(--lsd-text-secondary))!important;display:inline-flex;height:1.875rem;justify-content:center;padding:.5rem;width:1.875rem}.mdx-feature-list__feature-index--number{background:#0000;color:rgb(var(--lsd-text-primary))!important;display:block;font-size:28px!important;height:unset;line-height:36px!important;opacity:.3;padding:unset;width:unset}.mdx-feature-list__list{display:grid;grid-template-columns:repeat(2,1fr)}.mdx-feature-list__feature,.mdx-showcase-card{border-top:1px solid rgb(var(--lsd-border-primary))}.mdx-event-profile__info,.mdx-feature-list__feature-inner,.roadmap__header{display:flex;flex-direction:column}.mdx-feature-list__feature-title{margin-top:.5rem}.mdx-feature-list__feature-description{max-width:460px}.mdx-feature-list__header{align-items:center;display:flex;flex-direction:row;gap:2rem}.mdx-feature-list--cta-bottom .mdx-feature-list__extra{margin-top:3.5rem;padding:0 1rem}.mdx-feature-list__feature-border--none{width:0!important}.mdx-ghc__container,.mdx-input-cta-section__container{border-top:1px solid rgb(var(--lsd-border-primary));padding-top:24px}.mdx-ghc__issue-title-link{text-decoration:none!important}.mdx-ghc__header,.mdx-jpd__header{margin-bottom:40px;margin-top:16px}.mdx-ghc__challenge-label{border:1px solid rgb(var(--lsd-border-primary));border-radius:20px;margin-right:8px;padding:4px 8px}.mdx-ghc__view-on-github-link{display:block;margin-bottom:56px;margin-top:40px;text-decoration:none!important;width:-moz-fit-content;width:fit-content}.mdx-ghc__participant-photo{border:1px solid rgb(var(--lsd-border-secondary));border-radius:100%;margin-left:-4px;width:24px}.mdx-timeline-item,.mdx-timeline-item__border{border-bottom:1px solid rgb(var(--lsd-border-primary))}.mdx-ghc__participant-photo-container{align-items:center;direction:rtl;display:flex;justify-content:flex-end;padding-left:4px}.mdx-ghc__comment-count{margin-left:4px}.mdx-ghc__issue-content-grid{align-items:center;display:grid;grid-template-columns:82px 135px 82px 1fr;margin-top:24px;row-gap:12px}.mdx-scroll-buttons>div{display:flex;flex-direction:row;justify-content:flex-end;width:100%}.mdx-hero{--default-z-index:1;--hero-max-height:1080px;display:flex;flex-direction:column;height:calc(100vh - var(--ifm-navbar-height) - 8px);max-height:var(--hero-max-height);position:relative;z-index:var(--default-z-index)}.mdx-hero h1{font-size:var(--lsd-display4-fontSize)!important;font-weight:var(--lsd-display4-fontWeight)!important;line-height:var(--lsd-display4-lineHeight)!important}.mdx-hero--top{justify-content:flex-start}.mdx-hero--center{justify-content:center}.mdx-hero--bottom{justify-content:flex-end}.mdx-hero-action--large button{padding:10px 64px}.mdx-hero-actions{align-items:center;display:flex;flex-direction:row;gap:0 1rem;margin-top:2rem;position:relative;z-index:98}.mdx-hero-description{font-size:18px!important;line-height:24px!important;margin-top:18px;max-width:528px;position:relative;text-shadow:1px 1px 6px rgba(var(--lsd-surface-primary),1);z-index:-2}.mdx-hero-info{display:flex;flex-direction:column;justify-content:end;max-width:596px;padding:32px 0;transition:margin-bottom .05s ease-in-out}.mdx-hero-model{--mdx-hero-model-wrapper-scale:1;position:absolute;transform:translateX(calc(-50vw - var(--container-max-width)*-1/2 + var(--content-padding)*4*-1/2));width:100vw;z-index:0}.mdx-hero-model .mdx-hero-model--inner{left:0;position:relative;top:0;width:100%;z-index:0}.mdx-hero-model .mdx-hero-model--inner canvas{pointer-events:unset!important}.mdx-hero-model--top{top:300px}.mdx-hero-model--bottom{top:calc(var(--logos-hero-info-height) - 10px)}.mdx-hero-model--bottom .mdx-hero-model--shade{bottom:10vh;height:40vh}.mdx-hero-model--ascii{filter:grayscale(100%);opacity:.65}.mdx-hero-model--ascii table,.mdx-hero-model--ascii table *{border:none!important;color:rgb(var(--lsd-text-primary));font-family:monospace}.mdx-hero-model--shade{background:linear-gradient(0deg,rgb(var(--lsd-surface-primary)) 37%,rgb(var(--lsd-surface-primary)) 0,rgba(var(--lsd-surface-primary),0) 100%);bottom:0;height:30vh;left:0;position:absolute;width:100%}.mdx-hero-title{font-size:48px!important;line-height:56px!important}.mdx-jpd__department-title,.mdx-video-section__header button{font-size:12px!important;line-height:16px!important}.mdx-hero-title--uppercase{text-transform:uppercase}.mdx-hero-video{--hero-video-height:120%;--hero-video-min-height:100vh;--hero-video-offset-y:-150px;--hero-video-scale:1.70951586;--hero-video-height-mobile:120%;--hero-video-min-height-mobile:100vh;--hero-video-offset-y-mobile:-50px;--hero-video-scale-mobile:1.70951586;display:grid;flex-grow:1;grid-template-columns:1fr;grid-template-rows:1fr;pointer-events:none;position:relative}.mdx-hero-video>*{align-items:center;display:flex;flex-direction:column;grid-column:1/1;grid-row:1/1;height:var(--hero-video-height);justify-content:center;left:0;min-height:var(--hero-video-min-height);position:absolute;top:0;transform:translateY(var(--hero-video-offset-y));width:100%}.mdx-hero-video .mdx-hero-video__placeholder{opacity:0;visibility:hidden}.mdx-hero-video img{object-fit:contain}.mdx-hero-video img,.mdx-hero-video video{height:100%;max-width:calc(var(--container-max-width)*var(--hero-video-scale));object-position:top;transform-origin:top center;width:auto}.mdx-hero-video--loading .mdx-hero-video__video{opacity:0}.mdx-hero-video--loading .mdx-hero-video__placeholder{opacity:1;visibility:visible}.mdx-hero-asset{--default-z-index:-1;position:relative;z-index:var(--default-z-index)}.mdx-hero-asset button{display:none!important}.mdx-hero-asset img{position:absolute;right:0;top:0}.mdx-jpd__single-job-department-container{border-top:1px solid rgb(var(--lsd-border-primary));padding-top:8px}.mdx-jpd__job-title-container{align-items:center;display:flex;padding-bottom:8px}.mdx-jpd__job-list{list-style-type:none;margin:0;padding:8px 0 24px}.mdx-jpd__job-list-item{padding:14px 0}.mdx-jpd__job-link,.mdx-jpd__job-link:hover{text-decoration:none!important}.mdx-event-card__title:hover,.mdx-jpd__job-link:hover .mdx-jpd__job-title,.mdx-news-card:hover .mdx-news-card__title,.mdx-social-card:hover{text-decoration:underline!important}.mdx-logo-carousel .mdx-section-header__title{flex-basis:100%}.mdx-logo-carousel .mdx-logo-carousel__inner{margin-top:32px}.mdx-logo-carousel .mdx-logo-carousel__item{flex-shrink:0}.mdx-logo-carousel .mdx-logo-carousel__logo{height:56px;width:auto}.mdx-ns__inner form{margin-top:40px;width:100%}.mdx-ns__inner .mdx-ns__inputs{align-items:center;display:flex;flex-direction:row;gap:16px;width:100%}.mdx-ns__inner .mdx-ns__inputs>*{flex-grow:1}.mdx-event-card-list__container,.mdx-ns__inner .mdx-ns__submit-button{margin-top:40px}.mdx-ns__inner .mdx-ns__toast{margin-bottom:24px;margin-top:-16px;width:100%}.mdx-profile-card{align-items:flex-start;border-top:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1rem 0 0}.mdx-profile-card__profile-placeholder{align-items:center;border:1px solid rgb(var(--lsd-border-primary));border-radius:50%;display:flex;height:56px!important;justify-content:center;width:56px!important}.mdx-profile-card__profile-placeholder svg,.mdx-social-card__logo,.mdx-social-card__logo svg{height:40px!important;width:40px!important}.mdx-profile-card__profile-placeholder svg rect{fill:unset!important}.mdx-profile-card__profile-image{border-radius:50%;height:56px!important;width:56px!important}.mdx-profile-card__buttons{align-items:center;display:flex;flex-direction:row;gap:8px;height:16px;margin-top:8px}.mdx-profile-card__link{height:-moz-fit-content;height:fit-content;position:relative;text-decoration:none}.mdx-profile-card__link svg{height:16px;width:16px}.mdx-timeline-item{display:flex;flex:0 0 auto;flex-direction:column;gap:1rem;justify-content:space-between;padding-bottom:23px;scroll-snap-align:start!important;width:193px}.mdx-timeline-item__header{align-items:flex-start;display:flex;flex-direction:column;gap:1rem}.mdx-timeline-item__period-container{position:relative;width:100%}.mdx-timeline-item__border{height:50%;left:0;position:absolute;top:0;width:calc(100% + 1rem);z-index:-1}.mdx-timeline-item--border-dashed .mdx-timeline-item__border{border-bottom-style:dashed}.mdx-timeline-item__period{border-radius:10rem;display:inline-block;padding:3px 12px}.mdx-timeline-item__period--filled{background-color:rgb(var(--lsd-surface-secondary));border:1px solid rgb(var(--lsd-border-secondary));color:rgb(var(--lsd-text-secondary))!important}.mdx-timeline-item__period--transparent{background-color:rgb(var(--lsd-surface-primary));border:1px solid rgb(var(--lsd-border-primary));color:rgb(var(--lsd-text-primary))!important}.mdx-timeline-item__description{margin-bottom:auto;margin-top:24px}.mdx-roadmap .mdx-grid__scroll{margin-bottom:32px!important}.mdx-roadmap .mdx-cta-section__title{font-size:var(--lsd-h2-fontSize)!important;font-weight:var(--lsd-h2-fontWeight)!important;line-height:var(--lsd-h2-lineHeight)!important}.mdx-roadmap .mdx-cta-section__description{font-size:var(--lsd-h5-fontSize)!important;font-weight:var(--lsd-h5-fontWeight)!important;line-height:var(--lsd-h5-lineHeight)!important;margin-top:24px;max-width:528px}.mdx-roadmap .mdx-cta-section__container h3{font-size:var(--lsd-subtitle1-fontSize)!important;font-weight:var(--lsd-subtitle1-fontWeight)!important;line-height:var(--lsd-subtitle1-lineHeight)!important}.mdx-roadmap__timeline .mdx-roadmap__timeline-item--no-border{border:none}.mdx-roadmap__timeline-item{height:100%}.scrollToBottom_NE5w{--offset-y:-2rem;background:rgb(var(--lsd-surface-primary))!important;opacity:1;position:absolute;top:min(100*var(--vh) - var(--ifm-navbar-height),var(--maxTop) - var(--ifm-navbar-height));transform:translateY(-2rem);transform:translateY(calc(-100% + var(--offset-y)));transition:.2s ease-in-out;z-index:100}.scrollToBottom_NE5w.hide_q_kn{opacity:0;transform:translateY(calc(-100% + var(--offset-y) - .625rem))}.mdx-section-header{border-top:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:row;gap:1rem;padding-top:24px;width:100%}.mdx-section-header>*{flex-basis:50%}.mdx-section-header__title{display:flex;flex-direction:row;gap:1.5rem}.mdx-section-header--no-border{border-top:none}.mdx-showcase-card__inner{display:flex;flex-direction:column;gap:1rem;padding-top:1.5rem}.mdx-showcase-card__logo{height:auto;width:40px}.mdx-showcase-card__index{align-items:center;background-color:rgb(var(--lsd-surface-secondary));border-radius:50%;color:rgb(var(--lsd-text-secondary))!important;display:flex;flex-direction:row;height:30px;justify-content:center;width:30px}.mdx-showcase-card__description{margin-top:1rem;padding-top:.5rem}.mdx-showcase-card--large .mdx-showcase-card__logo{width:40px}.mdx-showcase-card--small .mdx-showcase-card__logo{width:34px}.mdx-showcase-card--border-solid .mdx-showcase-card__description{border-top:1px solid rgb(var(--lsd-border-primary));padding-top:1rem}.mdx-showcase-card__cta{align-items:center;display:flex;font-size:14px;gap:6px;line-height:20px}.mdx-showcase-card__cta svg{transform:rotate(-90deg)}.mdx-social-card{align-items:flex-start;border:1px solid rgb(var(--lsd-border-primary));display:flex;flex-direction:column;justify-content:space-between;min-height:144px;padding:1rem;text-decoration:none!important}.mdx-social-card__row{display:flex;justify-content:space-between;width:100%}.mdx-event-card{display:flex;flex-direction:column;gap:24px;text-decoration:none!important}.mdx-event-card__row,.mdx-event-profile__row,.mdx-news-card__row{display:flex;gap:8px;justify-content:space-between;width:100%}.mdx-event-card__thumbnail{border:1px solid rgba(var(--lsd-border-primary),.2);height:55px}.mdx-event-card__info,.mdx-video-section--list .mdx-video-section__list>:not(:first-child){border-top:1px solid rgb(var(--lsd-border-primary))}.mdx-event-card__title{display:-webkit-box;height:48px;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.mdx-event-card__info{display:flex;flex-direction:column;gap:16px;padding:16px 2px 16px 0;width:100%}.mdx-event-card-list__button,.mdx-news-card-list__button{display:block;margin:0 auto}.mdx-event-banner__thumbnail{aspect-ratio:5/1;border:1px solid rgba(var(--lsd-border-primary),.2);margin-bottom:32px}.mdx-event-info__container{align-self:stretch;border-top:1px solid rgba(var(--lsd-border-primary));display:flex;flex:1 0 0;flex-direction:column;gap:16px;height:100%;padding:16px 24px 0 0}.mdx-event-about__container{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.mdx-event-about__container>p{grid-column:1/6;margin-top:0!important}.mdx-event-about__container span{grid-column:7/13}.mdx-event-profile,.mdx-news-card{display:flex;flex-direction:column;gap:16px;text-decoration:none!important}.mdx-event-profile__image{aspect-ratio:1/1}.mdx-event-profile__social{align-items:center;display:flex;gap:8px}.mdx-event-cta__container h2{margin-bottom:32px;margin-top:0!important}.mdx-event-cta__button{height:70px!important;width:100%!important}.mdx-event-cta__button>span{align-items:center;display:flex;height:100%;justify-content:space-between}.mdx-input-cta-section__container h2{margin-bottom:16px;margin-top:0!important}.mdx-input-cta-section__title{margin-bottom:24px!important}.mdx-input-cta-section__cta{height:40px!important;width:160px!important}.input-cta-section__description{margin-bottom:32px!important;white-space:pre-wrap}.mdx-input-cta-section__form{display:flex;flex-direction:column;gap:40px}.mdx-input-cta-section__input-fields{display:flex;gap:16px}.mdx-event-header__container{display:flex;flex-direction:column;gap:24px}.event-details .mdx-event-header__container h1{margin-bottom:0!important}.mdx-news-card:hover .mdx-news-card__external-link-icon{display:flex!important}.mdx-news-card__thumbnail{border:1px solid rgba(var(--lsd-border-primary),.2);display:flex!important;height:144px;width:100%}.mdx-news-card__info{display:flex;gap:8px;width:100%}.mdx-news-card__tags{display:flex;gap:8px;margin-top:4px}.mdx-video-section--list .mdx-video-section__list .mdx-video-section__list-item>.mdx-video-section__item-description,.mdx-video-section__description{margin-top:1rem}.mdx-news-card-thumbnail__container{height:144px;position:relative;width:100%}.mdx-news-card__external-link-icon{align-items:center;border:1px solid #fff;bottom:8px;display:none;height:28px;justify-content:center;position:absolute;right:8px;width:28px;z-index:9999}.mdx-news-card__external-link-icon svg>path{fill:#fff}.mdx-news-card__external-link-icon>div{margin:unset}.mdx-video-section .mdx-video-section__video-container{grid-column:8/17;height:0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.mdx-video-section iframe{left:0;position:absolute;top:0}.mdx-video-section .mdx-video-section--align-center{align-items:center;display:flex;flex-direction:column;margin:auto;max-width:936px}.mdx-video-section .mdx-video-section--align-center *{text-align:center}.mdx-video-section .mdx-video-section--align-center .mdx-video-section__description{margin-top:1.5rem}.mdx-video-section .mdx-video-section--align-left *{text-align:left}.mdx-video-section .mdx-video-section--align-right *{text-align:right}.mdx-video-section__header{align-items:center;display:flex;gap:16px}.mdx-video-section__header button{padding:6px 12px!important}.mdx-video-section__header svg{height:26px!important;width:26px!important}.mdx-video-section__header svg path{fill:rgb(var(--lsd-text-secondary))}.mdx-video-section--title-only .mdx-video-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);font-weight:300;line-height:var(--lsd-h5-lineHeight);max-width:886px}.mdx-video-section--title-button .mdx-video-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-display4-fontSize);font-weight:var(--lsd-display4-fontWeight);font-weight:300;line-height:var(--lsd-display4-lineHeight);max-width:886px}.mdx-video-section--full-width .mdx-video-section__container{display:grid;gap:0 1rem;grid-template-columns:repeat(2,1fr)}.mdx-video-section--full-width .mdx-video-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h3-fontSize);font-weight:var(--lsd-h3-fontWeight);line-height:var(--lsd-h3-lineHeight)}.mdx-video-section--full-width .mdx-video-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-video-section--simple .mdx-video-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight);margin-top:1.5rem}.mdx-video-section--simple .mdx-video-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-video-section--list{display:grid;gap:0 1rem;grid-template-columns:repeat(16,1fr)}.mdx-video-section--list .mdx-video-section__container{grid-column:1/7}.mdx-video-section--list .mdx-video-section__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h2-fontSize);font-weight:var(--lsd-h2-fontWeight);line-height:var(--lsd-h2-lineHeight);margin-top:1.5rem}.mdx-video-section--list .mdx-video-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-video-section--list .mdx-video-section__list{display:flex;flex-direction:column;gap:1.5rem 0;grid-column:2/3}.mdx-video-section--list .mdx-video-section__list>a{display:block;text-decoration:none}.mdx-video-section--list .mdx-video-section__list .mdx-video-section__list-item>a>.mdx-video-section__item-title{align-items:center;border:1px solid rgb(var(--lsd-border-primary));border-radius:1rem;color:rgb(var(--lsd-text-primary));display:flex;gap:12px;margin-top:1.5rem;padding:3px 11px;width:-moz-fit-content;width:fit-content}.mdx-video-section--list .mdx-video-section__list .mdx-video-section__list-item>a{text-decoration:none}@media (min-width:0px){.mdx-box{--mdx-box-top:var(--mdx-box-top-xs);--mdx-box-bottom:var(--mdx-box-bottom-xs)}}@media (min-width:576px){.mdx-box{--mdx-box-top:var(--mdx-box-top-sm);--mdx-box-bottom:var(--mdx-box-bottom-sm)}}@media (min-width:768px){.blog-archive-page .main-wrapper main>section .container>.row{display:grid;gap:64px 24px;grid-template-columns:repeat(24,1fr)}.blog-archive-page .main-wrapper main>section .container>.row>.col{grid-column:span 12;margin:0!important;max-width:unset;padding:0 8.3333333333% 0 0}.mdx-box{--mdx-box-top:var(--mdx-box-top-md);--mdx-box-bottom:var(--mdx-box-bottom-md)}.mdx-scroll-buttons__button--with-label{gap:12px;min-width:83px;padding:5px 11px 5px 9px!important;width:auto!important}.mdx-scroll-buttons__button--with-label:first-of-type,.mdx-scroll-buttons__button--with-label:last-of-type{justify-content:flex-start}.mdx-scroll-buttons--spaced>div{gap:0 1rem;justify-content:space-between}.mdx-scroll-buttons--spaced>div>button:not(:last-child){border-right:1px solid rgb(var(--lsd-border-primary))!important}}@media screen and (min-width:996px){.mdx-hero>.mdx-hero-asset img{margin-right:-160px;margin-top:-60%;position:absolute;right:0;scale:.95;top:0}}@media (min-width:997px){.full-width>div .main-wrapper main>div>div{grid-template-columns:unset!important}.main-wrapper .container{padding-bottom:96px}.main-wrapper>div{display:grid;gap:1rem;grid-template-columns:repeat(16,45px);margin:auto;width:-moz-fit-content;width:fit-content}.main-wrapper>div aside{border:none;grid-column:1/5;padding-left:var(--content-padding);width:auto}.main-wrapper>div main{grid-column:6/16;margin-top:48px;max-width:none}.navbar__left{flex-basis:8.3333333333%;flex:0 1 auto}.navbar__left-items{flex:1 0;margin:auto}nav.menu{margin-top:48px;padding-top:16px}.container{padding-inline:0!important}.navbar .lsd-icon-button--medium{height:28px!important;width:28px!important}.blog-wrapper>.container>.row{display:grid;gap:16px;grid-template-columns:repeat(24,1fr)}.blog-wrapper>.container>.row>aside{grid-column:1/5}.blog-wrapper>.container>.row>main{grid-column:6/20}.blog-wrapper:not(.blog-wrapper--index)>.container>.row>div:last-child{grid-column:21/25;max-width:unset}.wrapper_SWrM:not(.active_qZD5) .fullscreenButton_Bocn{background:rgb(var(--lsd-surface-primary));bottom:8px;display:flex;opacity:0;position:absolute;right:8px;transition:.3s;visibility:hidden}.wrapper_SWrM:not(.active_qZD5):hover .fullscreenButton_Bocn{opacity:1;visibility:visible}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.mdx-cta-section__header__mobile-button,.tocMobile_ITEo{display:none}.docItemGrid_SzoZ{display:grid;gap:var(--doc-grid-gap);grid-template-columns:repeat(11,1fr)}.docItemCol_F52z{grid-column:span 11}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_NjKY{flex-grow:1;padding-top:16px}@supports (scrollbar-gutter:stable){.menu_NjKY{scrollbar-gutter:stable}}.menuWithAnnouncementBar_U5pk{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_UEyd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height)}.sidebarWithHideableNavbar__00c{padding-top:0!important}.sidebarHidden_F1ZE{opacity:0;visibility:hidden}.sidebarLogo_Ydl9{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_Ydl9 img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;background-color:var(--docusaurus-collapse-button-bg);display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.expandButtonIcon_BlDH{transform:rotate(0)}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.mdx-box{--mdx-box-top:var(--mdx-box-top-lg);--mdx-box-bottom:var(--mdx-box-bottom-lg)}.mdx-feature-list--bottom-aligned .mdx-feature-list__feature{min-height:332px}.mdx-feature-list--bottom-aligned .mdx-feature-list__feature-description{display:flex;flex:1 0;flex-direction:column;justify-content:flex-end}.mdx-feature-list--top-aligned .mdx-feature-list__feature-description{margin-top:40px}.mdx-feature-list__feature{padding:1rem;position:relative}.mdx-feature-list__feature-inner{height:100%}.mdx-feature-list__feature-border{background:rgb(var(--lsd-border-primary));height:calc(100% - 2rem);position:absolute;right:0;top:1rem;width:1px}.mdx-feature-list__feature:nth-child(odd){padding-left:0}.mdx-feature-list__feature:nth-child(2n){padding-right:0}.mdx-feature-list__feature:nth-child(2n) .mdx-feature-list__feature-border,.mdx-video-section__header__mobile-button{display:none}}@media (min-width:997px)and (max-width:1199px){.main-wrapper .container>div>div,.navbar{padding-inline:0!important}.main-wrapper,.navbar{width:960px!important}.events .main-wrapper>div aside{grid-column:1/1}.events .main-wrapper>div main,.navbar__inner{grid-column:1/17}.plugin-id-root-pages main{grid-column:4/14!important}.main-wrapper .container{padding-bottom:96px}.main-wrapper>div{width:960px}.navbar{display:grid;gap:1rem;grid-template-columns:repeat(16,45px);margin:auto}.navbar__left-items{display:flex;justify-content:center}.main-wrapper{margin:0 auto!important}}@media (min-width:1200px){.main-wrapper>div main>.container,.main-wrapper>main>.row>.col,.navbar{padding-inline:0!important}.plugin-id-root-pages main{grid-column:4/16!important}.footer{padding:0!important}.main-wrapper>div{display:grid;gap:1rem;grid-template-columns:repeat(16,1fr);margin-inline:unset;width:unset}.main-wrapper>div aside{border:none;grid-column:1/4;width:auto}.main-wrapper>div main{grid-column:5/17;max-width:none}.theme-doc-toc-desktop{top:calc(var(--ifm-navbar-height))!important}.navbar__inner{display:grid;gap:16px;grid-template-columns:repeat(24,1fr);padding:0}.navbar__left{align-items:center;display:flex;flex-direction:row;grid-column:1/6}.navbar__left-items{grid-column:6/20}.navbar__right-items{flex-direction:row;gap:16px;grid-column:20/25;justify-content:flex-end}.blog-archive-page .main-wrapper main>section .container>.row{display:grid;gap:64px 24px;grid-template-columns:repeat(24,1fr)}.blog-archive-page .main-wrapper main>section .container>.row>.col{grid-column:span 8;margin:0!important;max-width:unset;padding:0 12.5% 0 0}.docItemGrid_SzoZ{display:grid;gap:var(--doc-grid-gap);grid-template-columns:repeat(12,1fr)}.docItemCol_F52z{grid-column:span 10}.tocMobile_imaF{display:none}.mdx-box{--mdx-box-top:var(--mdx-box-top-xl);--mdx-box-bottom:var(--mdx-box-bottom-xl)}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:1440px)and (min-width:992px){.mdx-hero-model{transform:translateX(calc((var(--content-padding) + 0)*-3));width:calc(100vw + var(--content-padding))}}@media (max-width:1199px){.main-wrapper main>.container{padding-bottom:calc(var(--desktop-footer-gap) - var(--ifm-footer-padding-vertical) - var(--doc-grid-gap))!important}.header-github-link:before{margin-right:16px}.toc_pP_5{display:none}}@media (max-width:997px);@media (max-width:996px){.navbar-sidebar__close,.navbar__toggle{border:1px solid rgb(var(--lsd-border-primary))}.blog-wrapper h1[itemprop=headline],.mdx-cta-button .lsd-button--large,.mdx-cta-section__description,.mdx-cta-section__title,.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__link>div{font-family:var(--lsd-typography-generic-font-family)!important}.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0;padding-bottom:0!important;--ifm-footer-padding-horizontal:var(--content-padding)}.desktop,.footer__link-separator,.navbar__item,.navbar__left-items{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item,.main-wrapper>div,.mdx-cta-section--full-width .mdx-cta-section__container,.mdx-cta-section--list,.mdx-video-section--full-width .mdx-video-section__container,.tocMobile_imaF{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid,.root_xZfc{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.mdx-section-header,.pills--block,.tabs--block{flex-direction:column}:root{--ifm-background-color:rgb(var(--lsd-surface-primary))}.navbar__color-mode-toggle{display:none!important}.main-wrapper main>.container{padding-bottom:calc(var(--mobile-footer-gap) - var(--ifm-footer-padding-vertical) - var(--doc-grid-gap))!important}.grid{grid-template-columns:repeat(2,1fr)}.footer-grid,.l-modal__container,.mdx-feature-list__list,.mdx-profile-card{grid-template-columns:1fr}.navbar__toggle{align-items:center;box-sizing:border-box;display:flex;height:32px;justify-content:center;margin:0;width:32px}.navbar__toggle svg{height:14px;width:14px}.theme-admonition{display:block!important}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu{padding-inline:0}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__list{display:flex;flex-direction:column;gap:8px;padding:var(--content-padding)}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__link{border-left:none;padding-left:0}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .menu__link>div{font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important;text-decoration:none}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer{margin-top:3rem;padding:0!important}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer>div{display:flex!important;flex-direction:column!important;gap:32px!important}.colorModeToggle_GSaI,.dropdownNavbarItem_o23I,.l-modal__backdrop,.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer>button,.tableOfContents_bqdL{display:none}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer .container.container-fluid{margin-bottom:16px!important;padding-inline:var(--content-padding)}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer .container.container-fluid>.footer__links{gap:0!important}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer>div[class*=secondRow]{margin:var(--content-padding)}.navbar-sidebar:not(.navbar-sidebar--show-secondary) .footer .footer__links{gap:16px!important}.navbar-sidebar__brand{height:60px;padding-block:0}.navbar-sidebar__brand>button{height:32px;width:32px}.navbar-sidebar__brand>button:first-of-type{margin-left:auto;margin-right:0!important}.navbar-sidebar__brand>button:not(:last-of-type){border-right:none}.navbar-sidebar__close{align-items:center;display:flex;justify-content:center;margin-left:unset}.blog-divider{margin-block:32px!important}.blog-wrapper main{padding-inline:var(--content-padding)}.blog-wrapper article footer{align-items:flex-start;flex-direction:column}.blog-wrapper article footer .read-more-link{margin-top:24px}.blog-wrapper article footer .read-more-link,.blog-wrapper article footer .read-more-link button{flex-basis:100%;width:100%}.blog-wrapper h1[itemprop=headline]{font-size:var(--lsd-h2-fontSize)!important;font-weight:var(--lsd-h2-fontWeight)!important;line-height:var(--lsd-h2-lineHeight)!important}.wrapper_SWrM>div{overflow:visible!important}.nav_cMpg{height:56px}.backToTop_wDfN{bottom:16px;left:16px;margin-top:76px!important;position:relative}.l-modal{overflow:hidden;width:100vw}.l-modal__container{display:grid;height:100vh;max-width:unset;min-height:-webkit-fill-available;width:100%}.docItemGrid_SzoZ,.mdx-showcase{grid-template-columns:repeat(2,1fr)}.root_ONDG,.root_ltHz{height:100%;overflow:auto}.l-modal__content{border:none;grid-column:1/2;grid-row:1/2;height:100%;margin:0;max-height:100vh;overflow:hidden}.modal_kLVz .header_QwCa{padding:12px 16px}.modal_kLVz .closeButton_Rr0e{display:block;height:2rem;width:2rem}.root_EFVO{padding:40px 24px}.root_ONDG{max-height:100%;padding:24px 24px 64px}.groups_p1lF{max-height:unset;overflow:auto}.root_ltHz{padding:24px 0 64px}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}.docItemGrid_SzoZ{display:grid;padding-left:0}.docItemCol_F52z{grid-column:span 2}.mdx-cta-button .lsd-button--large{font-size:var(--lsd-label2-fontSize)!important;font-weight:var(--lsd-label2-fontWeight)!important;line-height:var(--lsd-label2-lineHeight)!important;padding:5px 11px}.mdx-cta-section--align-center .lsd-button--large{padding:10px 40px}.mdx-cta-section,.mdx-video-section{padding:16px 0 0}.mdx-cta-section--title-button .mdx-cta-section__description,.mdx-video-section--title-button .mdx-video-section__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight)}.mdx-cta-section--full-width .mdx-cta-section__title,.mdx-cta-section--simple .mdx-cta-section__title,.mdx-video-section--full-width .mdx-video-section__title,.mdx-video-section--simple .mdx-video-section__title{margin-top:1.5rem}.mdx-cta-section--list .mdx-cta-section__list,.mdx-roadmap__timeline{margin-top:4rem}.mdx-cta-section--list .mdx-cta-section__list>*{border-top:1px solid rgb(var(--lsd-border-primary))}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>.mdx-cta-section__item-title{font-size:.875rem!important;line-height:1.25rem!important}.mdx-cta-section--list .mdx-cta-section__list .mdx-cta-section__list-item>.mdx-cta-section__item-description{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.mdx-cta-section__header__desktop-button{display:none}.mdx-cta-section__header__mobile-button{margin-top:24px}.mdx-cta-section__title{font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}.mdx-cta-section__description{font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important}.mdx-feature-list .mdx-feature-list__title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-subtitle2-fontSize);font-weight:var(--lsd-subtitle2-fontWeight);line-height:var(--lsd-subtitle2-lineHeight);padding:1rem 0}.mdx-feature-list--cta-bottom .mdx-feature-list__extra{margin-top:2rem;padding:0}.mdx-feature-list__header h2,.mdx-roadmap .mdx-cta-section__title,.mdx-section-header h2{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}.mdx-feature-list__feature{border:none;border-top:1px solid rgb(var(--lsd-border-primary));padding:1.5rem 0}.mdx-feature-list__feature .mdx-feature-list__feature-index--circle{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-subtitle2-fontSize);font-weight:var(--lsd-subtitle2-fontWeight);height:1.625rem;line-height:var(--lsd-subtitle2-lineHeight);width:1.625rem}.mdx-feature-list__feature .mdx-feature-list__feature-title{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight);margin-top:1rem}.mdx-feature-list__feature .mdx-feature-list__feature-description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-body1-fontSize);font-weight:var(--lsd-body1-fontWeight);line-height:var(--lsd-body1-lineHeight);margin-top:3rem}.mdx-hero-description,.mdx-roadmap .mdx-cta-section__description,.mdx-section-header__description,.mdx-section-header__title,.mdx-video-section__title{font-family:var(--lsd-typography-generic-font-family)!important}.mdx-feature-list__feature:nth-child(odd) .mdx-feature-list__feature-inner{border:none}.mdx-hero-action button{padding:6px 12px!important}.mdx-hero-actions{align-items:center;display:flex;flex-direction:row;justify-content:stretch;width:100%;z-index:0}.mdx-hero-actions>*{flex-basis:50%}.mdx-hero-actions>a,.mdx-hero-actions>a>button{display:block;width:100%}.mdx-hero-description{font-size:var(--lsd-body2-fontSize)!important;font-weight:var(--lsd-body2-fontWeight)!important;line-height:var(--lsd-body2-lineHeight)!important;margin-top:16px}.mdx-hero-info{padding:28px 0}.mdx-hero-model--top{top:calc(var(--logos-hero-info-height)/ 1 - 10px)}.mdx-hero-model{transform:translate(-12px);width:calc(100vw - 20px)}.mdx-hero-model--shade{bottom:0;height:90vh!important}.mdx-hero-title{font-size:28px!important}.mdx-hero-video>*{height:var(--hero-video-height-mobile);min-height:var(--hero-video-min-height-mobile);transform:translateY(var(--hero-video-offset-y-mobile))}.mdx-hero-video img,.mdx-hero-video video{max-width:calc((100vw - 32px)*var(--hero-video-scale-mobile))}.mdx-logo-carousel .mdx-logo-carousel__inner{margin-top:64px}.mdx-timeline-item{width:204px}.mdx-roadmap .mdx-cta-section__description{font-size:var(--lsd-body1-fontSize)!important;font-weight:var(--lsd-body1-fontWeight)!important;line-height:var(--lsd-body1-lineHeight)!important;margin-top:16px}.scrollToBottom_NE5w{--offset-y:-1rem}.mdx-section-header__title{font-size:var(--lsd-subtitle2-fontSize)!important;font-weight:var(--lsd-subtitle2-fontWeight)!important;line-height:var(--lsd-subtitle2-lineHeight)!important;display:flex;flex-wrap:wrap}.mdx-section-header__description{font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.mdx-showcase{gap:1.5rem 1rem}.mdx-showcase-card__name{font-size:1.375rem!important;line-height:1.75rem!important}.mdx-showcase-card__description{margin-top:1rem}.mdx-showcase-card__logo{height:auto;width:34px}.mdx-news-card-thumbnail__container,.mdx-news-card__thumbnail{height:128px}.mdx-video-section--list{display:block}.mdx-video-section--list .mdx-cta-button{margin-bottom:40px;margin-top:24px}.mdx-video-section--list .mdx-video-section__list{margin-top:4rem}.mdx-video-section--list .mdx-video-section__list>*{border-top:1px solid rgb(var(--lsd-border-primary))}.mdx-video-section--list .mdx-video-section__list .mdx-video-section__list-item>.mdx-video-section__item-title{font-size:.875rem!important;line-height:1.25rem!important}.mdx-video-section--list .mdx-video-section__list .mdx-video-section__list-item>.mdx-video-section__item-description{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h4-fontSize)!important;font-weight:var(--lsd-h4-fontWeight)!important;line-height:var(--lsd-h4-lineHeight)!important}.mdx-video-section__header__mobile-button{margin-top:24px}.mdx-video-section__title{font-size:var(--lsd-h3-fontSize)!important;font-weight:var(--lsd-h3-fontWeight)!important;line-height:var(--lsd-h3-lineHeight)!important}}@media screen and (max-width:996px){.mdx-hero>.mdx-hero-asset img{margin-left:0;margin-right:-200px;margin-top:-30%;scale:.9}.mdx-hero{margin-bottom:200px}}@media screen and (max-width:930px){.mdx-hero{margin-bottom:260px}.mdx-hero>.mdx-hero-asset img{margin-right:0;margin-top:-15%;scale:.8}}@media screen and (max-width:768px){.mdx-hero{margin-bottom:20px}}@media (max-width:767px){.blog-archive-page .main-wrapper main>section .container>.row{margin-top:0}.blog-archive-page .main-wrapper main>section .container>.row .col{margin-top:40px!important}.mdx-scroll-buttons>div{justify-content:flex-end}.mdx-scroll-buttons>div>button:not(:last-child){border-right:none!important}.mdx-scroll-buttons .mdx-scroll-buttons__label{display:none}.mdx-hero{justify-content:unset}.mdx-hero h1{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h2-fontSize)!important;font-weight:var(--lsd-h2-fontWeight)!important;line-height:var(--lsd-h2-lineHeight)!important}.mdx-ns__description{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h4-fontSize);font-weight:var(--lsd-h4-fontWeight);line-height:var(--lsd-h4-lineHeight)}.mdx-ns__inner form{margin-top:40px}.mdx-ns__inner .mdx-ns__inputs{flex-direction:column;gap:24px}.mdx-ns__inner .mdx-ns__inputs>*{width:100%}.mdx-ns__inner .mdx-ns__submit-button{margin-top:24px}.mdx-profile-card{display:flex;scroll-snap-align:start!important;width:var(--mobile-width)}.mdx-profile-card__profile{display:flex;flex-direction:column;gap:16px}.mdx-profile-card__name{font-family:var(--lsd-typography-generic-font-family)!important;font-size:var(--lsd-h5-fontSize)!important;font-weight:var(--lsd-h5-fontWeight)!important;line-height:var(--lsd-h5-lineHeight)!important}.mdx-event-card__thumbnail{height:unset}.mdx-news-card-thumbnail__container,.mdx-news-card__thumbnail{height:100%}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (max-width:575px){:root{--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-button-size-multiplier:1.25;--ifm-button-padding-horizontal:calc(var(--ifm-button-size-multiplier)*var(--ifm-spacing-horizontal));--ifm-button-padding-vertical:calc(var(--ifm-button-size-multiplier)*var(--ifm-spacing-vertical));--ifm-alert-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-alert-padding-vertical:calc(var(--ifm-spacing-vertical)*2)}.markdown>h2{--ifm-h2-font-size:1.75rem}.markdown h4{--ifm-h4-font-size:1.25rem!important}.footer>div{display:flex!important;flex-direction:column;gap:40px!important;margin-inline:16px;padding-inline:0!important;width:auto}.footer__links{display:flex!important;flex-direction:column!important}.footer__links>div:first-of-type,.footer__links>div:nth-of-type(3){margin-bottom:4px!important}.footer__links>div:nth-of-type(2){margin-bottom:34px!important}.col.footer__col{margin-bottom:0!important}.navbar__left{display:flex}.bottom-cta-sections .mdx-grid__content{gap:98px!important}.bottom-cta-sections .mdx-grid__content:last-of-type>div:last-of-type>.mdx-input-cta-section__container{margin-bottom:120px}.events .main-wrapper main>.container{padding-bottom:0!important}.footer{--ifm-footer-padding-horizontal:0}.firstRow_ar1q{margin-bottom:64px!important;padding-inline:var(--content-padding)!important}.secondRow__ww3{margin-inline:var(--content-padding)!important}.mdx-event-card-list__container,.mdx-news-card-list__container{margin-bottom:48px;margin-top:32px}.mdx-event-card-list__tabs .lsd-tab-item,.mdx-news-card-list__tabs .lsd-tab-item{padding:6px 14px!important}.mdx-event-about__container,.mdx-input-cta-section__input-fields{display:flex;flex-direction:column;gap:32px}.mdx-event-about__container span,.mdx-event-header__container p{font-size:14px!important;line-height:20px!important}.mdx-event-profile-list__container .mdx-grid>.mdx-grid__content{gap:24px!important}.mdx-input-cta-section__input-fields>div{width:100%!important}.mdx-input-cta-section__container .mdx-input-cta-section__form{margin-bottom:-24px}.mdx-input-cta-section__container .input-cta-section__description--no-form{margin-bottom:32px!important}.input-cta-section__description{margin-bottom:24px!important}.event-details .mdx-event-header__container h1{font-size:24px!important;line-height:32px!important;margin-bottom:0!important}.mdx-news-card h3{font-family:var(--lsd-typography-generic-font-family);font-size:var(--lsd-h5-fontSize);font-weight:var(--lsd-h5-fontWeight);line-height:var(--lsd-h5-lineHeight)}.mdx-news-card__thumbnail{max-height:198px}}@media (max-width:574px){.mdx-ghc__issue-content-grid{grid-template-columns:82px 1fr}}@media screen and (max-width:500px){.mdx-hero{margin-bottom:-20px}.mdx-hero>.mdx-hero-asset img{margin-top:-8%;scale:1}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_LDrR,.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/6ce84271.c59e260a.js b/assets/js/389daf6b.db47edcf.js similarity index 59% rename from assets/js/6ce84271.c59e260a.js rename to assets/js/389daf6b.db47edcf.js index 44748fc..c065ce8 100644 --- a/assets/js/6ce84271.c59e260a.js +++ b/assets/js/389daf6b.db47edcf.js @@ -1 +1 @@ -"use strict";(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[834],{83769:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[730],{54284:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"root-pages"}')}}]); \ No newline at end of file diff --git a/assets/js/4c51782d.4f0a0863.js b/assets/js/4c51782d.c27c6b5a.js similarity index 95% rename from assets/js/4c51782d.4f0a0863.js rename to assets/js/4c51782d.c27c6b5a.js index 785f721..049c3e7 100644 --- a/assets/js/4c51782d.4f0a0863.js +++ b/assets/js/4c51782d.c27c6b5a.js @@ -1 +1 @@ -(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[767],{67124:(e,i,n)=>{"use strict";var o=n(65701);n.o(o,"Box")&&n.d(i,{Box:function(){return o.Box}}),n.o(o,"CallToActionSection")&&n.d(i,{CallToActionSection:function(){return o.CallToActionSection}}),n.o(o,"Grid")&&n.d(i,{Grid:function(){return o.Grid}}),n.o(o,"Hero")&&n.d(i,{Hero:function(){return o.Hero}}),n.o(o,"HeroAction")&&n.d(i,{HeroAction:function(){return o.HeroAction}}),n.o(o,"HeroActions")&&n.d(i,{HeroActions:function(){return o.HeroActions}}),n.o(o,"HeroDescription")&&n.d(i,{HeroDescription:function(){return o.HeroDescription}}),n.o(o,"HeroImage")&&n.d(i,{HeroImage:function(){return o.HeroImage}}),n.o(o,"HeroInfo")&&n.d(i,{HeroInfo:function(){return o.HeroInfo}}),n.o(o,"HeroTitle")&&n.d(i,{HeroTitle:function(){return o.HeroTitle}}),n.o(o,"InputCTASection")&&n.d(i,{InputCTASection:function(){return o.InputCTASection}}),n.o(o,"JobsPerDepartment")&&n.d(i,{JobsPerDepartment:function(){return o.JobsPerDepartment}}),n.o(o,"Roadmap")&&n.d(i,{Roadmap:function(){return o.Roadmap}}),n.o(o,"SectionHeader")&&n.d(i,{SectionHeader:function(){return o.SectionHeader}}),n.o(o,"ShowcaseCard")&&n.d(i,{ShowcaseCard:function(){return o.ShowcaseCard}}),n.o(o,"SocialCard")&&n.d(i,{SocialCard:function(){return o.SocialCard}})},79945:(e,i,n)=>{"use strict";n.r(i),n.d(i,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>c,toc:()=>_});var o=n(87462),t=(n(67294),n(3905));const d=JSON.parse('{"departments":[{"id":87842,"name":"App","parent_id":43806,"child_ids":[87847,87852,87850,87848,45530,87849],"jobs":[]},{"id":54504,"name":"Brand Design Studio","parent_id":null,"child_ids":[],"jobs":[]},{"id":45532,"name":"Business Development","parent_id":null,"child_ids":[],"jobs":[]},{"id":87841,"name":"Codex","parent_id":43806,"child_ids":[],"jobs":[]},{"id":84549,"name":"Communications","parent_id":null,"child_ids":[],"jobs":[]},{"id":45531,"name":"Design","parent_id":null,"child_ids":[],"jobs":[]},{"id":87847,"name":"Desktop","parent_id":87842,"child_ids":[],"jobs":[]},{"id":87852,"name":"Documentation","parent_id":87842,"child_ids":[],"jobs":[]},{"id":45547,"name":"Engineering ","parent_id":null,"child_ids":[],"jobs":[]},{"id":49925,"name":"Finance","parent_id":87845,"child_ids":[],"jobs":[]},{"id":87854,"name":"Infrastructure","parent_id":43806,"child_ids":[],"jobs":[]},{"id":87853,"name":"Insights","parent_id":87845,"child_ids":[],"jobs":[]},{"id":87850,"name":"Keycard","parent_id":87842,"child_ids":[],"jobs":[]},{"id":145838,"name":"Leadership","parent_id":null,"child_ids":[],"jobs":[]},{"id":74156,"name":"Legal","parent_id":87845,"child_ids":[],"jobs":[]},{"id":91698,"name":"Logos","parent_id":null,"child_ids":[],"jobs":[]},{"id":43807,"name":"Marketing","parent_id":null,"child_ids":[],"jobs":[]},{"id":87848,"name":"Mobile","parent_id":87842,"child_ids":[],"jobs":[]},{"id":87843,"name":"Nimbus","parent_id":43806,"child_ids":[],"jobs":[]},{"id":144866,"name":"Nomos","parent_id":43806,"child_ids":[],"jobs":[{"absolute_url":"https://boards.greenhouse.io/nomos/jobs/5453089","data_compliance":[{"type":"gdpr","requires_consent":false,"requires_processing_consent":false,"requires_retention_consent":false,"retention_period":null}],"internal_job_id":2315608,"location":{"name":"Remote (Worldwide)"},"metadata":null,"id":5453089,"updated_at":"2024-04-29T11:27:14-04:00","requisition_id":"BACK-1318","title":"Applied Network Researcher"},{"absolute_url":"https://boards.greenhouse.io/nomos/jobs/5664663","data_compliance":[{"type":"gdpr","requires_consent":false,"requires_processing_consent":false,"requires_retention_consent":false,"retention_period":null}],"internal_job_id":2776034,"location":{"name":"Remote (Worldwide)"},"metadata":null,"id":5664663,"updated_at":"2024-04-29T11:27:14-04:00","requisition_id":"Back-Nom-6","title":"Zero Knowledge Proof Researcher"}]},{"id":45548,"name":"People Operations","parent_id":87845,"child_ids":[],"jobs":[]},{"id":45530,"name":"Product Design","parent_id":87842,"child_ids":[],"jobs":[]},{"id":90941,"name":"Program Management","parent_id":null,"child_ids":[],"jobs":[]},{"id":43806,"name":"Research & Development","parent_id":null,"child_ids":[87842,87841,87854,87843,144866,87846,87981,87847,87852,87850,87848,45530,87849],"jobs":[]},{"id":87851,"name":"Security","parent_id":87845,"child_ids":[],"jobs":[]},{"id":87845,"name":"Services","parent_id":null,"child_ids":[49925,87853,74156,45548,87851],"jobs":[]},{"id":91697,"name":"Status App ","parent_id":null,"child_ids":[],"jobs":[]},{"id":216509,"name":"Status Network","parent_id":null,"child_ids":[],"jobs":[]},{"id":54783,"name":"Technical Writing ","parent_id":null,"child_ids":[],"jobs":[]},{"id":87846,"name":"Vac","parent_id":43806,"child_ids":[],"jobs":[]},{"id":87981,"name":"Waku","parent_id":43806,"child_ids":[],"jobs":[]},{"id":87849,"name":"Web","parent_id":87842,"child_ids":[],"jobs":[]},{"id":0,"name":"No Department","parent_id":null,"child_ids":[],"jobs":[]}]}');var r=n.t(d,2),a=n(67124);const s={title:"Join Us",hide_title:!0,pagination_prev:null,pagination_next:null,displayed_sidebar:null,hide_table_of_contents:!0},l=void 0,c={unversionedId:"join-us",id:"join-us",title:"Join Us",description:"",source:"@site/root-pages/join-us.mdx",sourceDirName:".",slug:"/join-us",permalink:"/join-us",draft:!1,tags:[],version:"current",frontMatter:{title:"Join Us",hide_title:!0,pagination_prev:null,pagination_next:null,displayed_sidebar:null,hide_table_of_contents:!0}},u={},_=[],p={toc:_};function m(e){let{components:i,...n}=e;return(0,t.kt)("wrapper",(0,o.Z)({},p,n,{components:i,mdxType:"MDXLayout"}),(0,t.kt)(a.JobsPerDepartment,{jobData:r,mdxType:"JobsPerDepartment"}))}m.isMDXComponent=!0},46102:()=>{}}]); \ No newline at end of file +(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[767],{67124:(e,i,n)=>{"use strict";var o=n(65701);n.o(o,"Box")&&n.d(i,{Box:function(){return o.Box}}),n.o(o,"CallToActionSection")&&n.d(i,{CallToActionSection:function(){return o.CallToActionSection}}),n.o(o,"Grid")&&n.d(i,{Grid:function(){return o.Grid}}),n.o(o,"Hero")&&n.d(i,{Hero:function(){return o.Hero}}),n.o(o,"HeroAction")&&n.d(i,{HeroAction:function(){return o.HeroAction}}),n.o(o,"HeroActions")&&n.d(i,{HeroActions:function(){return o.HeroActions}}),n.o(o,"HeroAsset")&&n.d(i,{HeroAsset:function(){return o.HeroAsset}}),n.o(o,"HeroDescription")&&n.d(i,{HeroDescription:function(){return o.HeroDescription}}),n.o(o,"HeroInfo")&&n.d(i,{HeroInfo:function(){return o.HeroInfo}}),n.o(o,"HeroTitle")&&n.d(i,{HeroTitle:function(){return o.HeroTitle}}),n.o(o,"InputCTASection")&&n.d(i,{InputCTASection:function(){return o.InputCTASection}}),n.o(o,"JobsPerDepartment")&&n.d(i,{JobsPerDepartment:function(){return o.JobsPerDepartment}}),n.o(o,"Roadmap")&&n.d(i,{Roadmap:function(){return o.Roadmap}}),n.o(o,"SectionHeader")&&n.d(i,{SectionHeader:function(){return o.SectionHeader}}),n.o(o,"ShowcaseCard")&&n.d(i,{ShowcaseCard:function(){return o.ShowcaseCard}}),n.o(o,"SocialCard")&&n.d(i,{SocialCard:function(){return o.SocialCard}})},79945:(e,i,n)=>{"use strict";n.r(i),n.d(i,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>c,toc:()=>_});var o=n(87462),t=(n(67294),n(3905));const d=JSON.parse('{"departments":[{"id":87842,"name":"App","parent_id":43806,"child_ids":[87847,87852,87850,87848,45530,87849],"jobs":[]},{"id":54504,"name":"Brand Design Studio","parent_id":null,"child_ids":[],"jobs":[]},{"id":45532,"name":"Business Development","parent_id":null,"child_ids":[],"jobs":[]},{"id":87841,"name":"Codex","parent_id":43806,"child_ids":[],"jobs":[]},{"id":84549,"name":"Communications","parent_id":null,"child_ids":[],"jobs":[]},{"id":45531,"name":"Design","parent_id":null,"child_ids":[],"jobs":[]},{"id":87847,"name":"Desktop","parent_id":87842,"child_ids":[],"jobs":[]},{"id":87852,"name":"Documentation","parent_id":87842,"child_ids":[],"jobs":[]},{"id":45547,"name":"Engineering ","parent_id":null,"child_ids":[],"jobs":[]},{"id":49925,"name":"Finance","parent_id":87845,"child_ids":[],"jobs":[]},{"id":87854,"name":"Infrastructure","parent_id":43806,"child_ids":[],"jobs":[]},{"id":87853,"name":"Insights","parent_id":87845,"child_ids":[],"jobs":[]},{"id":87850,"name":"Keycard","parent_id":87842,"child_ids":[],"jobs":[]},{"id":145838,"name":"Leadership","parent_id":null,"child_ids":[],"jobs":[]},{"id":74156,"name":"Legal","parent_id":87845,"child_ids":[],"jobs":[]},{"id":91698,"name":"Logos","parent_id":null,"child_ids":[],"jobs":[]},{"id":43807,"name":"Marketing","parent_id":null,"child_ids":[],"jobs":[]},{"id":87848,"name":"Mobile","parent_id":87842,"child_ids":[],"jobs":[]},{"id":87843,"name":"Nimbus","parent_id":43806,"child_ids":[],"jobs":[]},{"id":144866,"name":"Nomos","parent_id":43806,"child_ids":[],"jobs":[{"absolute_url":"https://boards.greenhouse.io/nomos/jobs/5453089","data_compliance":[{"type":"gdpr","requires_consent":false,"requires_processing_consent":false,"requires_retention_consent":false,"retention_period":null}],"internal_job_id":2315608,"location":{"name":"Remote (Worldwide)"},"metadata":null,"id":5453089,"updated_at":"2024-04-29T11:27:14-04:00","requisition_id":"BACK-1318","title":"Applied Network Researcher"},{"absolute_url":"https://boards.greenhouse.io/nomos/jobs/5664663","data_compliance":[{"type":"gdpr","requires_consent":false,"requires_processing_consent":false,"requires_retention_consent":false,"retention_period":null}],"internal_job_id":2776034,"location":{"name":"Remote (Worldwide)"},"metadata":null,"id":5664663,"updated_at":"2024-04-29T11:27:14-04:00","requisition_id":"Back-Nom-6","title":"Zero Knowledge Proof Researcher"}]},{"id":45548,"name":"People Operations","parent_id":87845,"child_ids":[],"jobs":[]},{"id":45530,"name":"Product Design","parent_id":87842,"child_ids":[],"jobs":[]},{"id":90941,"name":"Program Management","parent_id":null,"child_ids":[],"jobs":[]},{"id":43806,"name":"Research & Development","parent_id":null,"child_ids":[87842,87841,87854,87843,144866,87846,87981,87847,87852,87850,87848,45530,87849],"jobs":[]},{"id":87851,"name":"Security","parent_id":87845,"child_ids":[],"jobs":[]},{"id":87845,"name":"Services","parent_id":null,"child_ids":[49925,87853,74156,45548,87851],"jobs":[]},{"id":91697,"name":"Status App ","parent_id":null,"child_ids":[],"jobs":[]},{"id":216509,"name":"Status Network","parent_id":null,"child_ids":[],"jobs":[]},{"id":54783,"name":"Technical Writing ","parent_id":null,"child_ids":[],"jobs":[]},{"id":87846,"name":"Vac","parent_id":43806,"child_ids":[],"jobs":[]},{"id":87981,"name":"Waku","parent_id":43806,"child_ids":[],"jobs":[]},{"id":87849,"name":"Web","parent_id":87842,"child_ids":[],"jobs":[]},{"id":0,"name":"No Department","parent_id":null,"child_ids":[],"jobs":[]}]}');var r=n.t(d,2),a=n(67124);const s={title:"Join Us",hide_title:!0,pagination_prev:null,pagination_next:null,displayed_sidebar:null,hide_table_of_contents:!0},l=void 0,c={unversionedId:"join-us",id:"join-us",title:"Join Us",description:"",source:"@site/root-pages/join-us.mdx",sourceDirName:".",slug:"/join-us",permalink:"/join-us",draft:!1,tags:[],version:"current",frontMatter:{title:"Join Us",hide_title:!0,pagination_prev:null,pagination_next:null,displayed_sidebar:null,hide_table_of_contents:!0}},u={},_=[],p={toc:_};function m(e){let{components:i,...n}=e;return(0,t.kt)("wrapper",(0,o.Z)({},p,n,{components:i,mdxType:"MDXLayout"}),(0,t.kt)(a.JobsPerDepartment,{jobData:r,mdxType:"JobsPerDepartment"}))}m.isMDXComponent=!0},46102:()=>{}}]); \ No newline at end of file diff --git a/assets/js/5086c83f.d98d5a7d.js b/assets/js/5086c83f.a466d367.js similarity index 81% rename from assets/js/5086c83f.d98d5a7d.js rename to assets/js/5086c83f.a466d367.js index 995d535..9beadc2 100644 --- a/assets/js/5086c83f.d98d5a7d.js +++ b/assets/js/5086c83f.a466d367.js @@ -1 +1 @@ -(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[843],{67124:(o,t,e)=>{"use strict";var n=e(65701);e.o(n,"Box")&&e.d(t,{Box:function(){return n.Box}}),e.o(n,"CallToActionSection")&&e.d(t,{CallToActionSection:function(){return n.CallToActionSection}}),e.o(n,"Grid")&&e.d(t,{Grid:function(){return n.Grid}}),e.o(n,"Hero")&&e.d(t,{Hero:function(){return n.Hero}}),e.o(n,"HeroAction")&&e.d(t,{HeroAction:function(){return n.HeroAction}}),e.o(n,"HeroActions")&&e.d(t,{HeroActions:function(){return n.HeroActions}}),e.o(n,"HeroDescription")&&e.d(t,{HeroDescription:function(){return n.HeroDescription}}),e.o(n,"HeroImage")&&e.d(t,{HeroImage:function(){return n.HeroImage}}),e.o(n,"HeroInfo")&&e.d(t,{HeroInfo:function(){return n.HeroInfo}}),e.o(n,"HeroTitle")&&e.d(t,{HeroTitle:function(){return n.HeroTitle}}),e.o(n,"InputCTASection")&&e.d(t,{InputCTASection:function(){return n.InputCTASection}}),e.o(n,"JobsPerDepartment")&&e.d(t,{JobsPerDepartment:function(){return n.JobsPerDepartment}}),e.o(n,"Roadmap")&&e.d(t,{Roadmap:function(){return n.Roadmap}}),e.o(n,"SectionHeader")&&e.d(t,{SectionHeader:function(){return n.SectionHeader}}),e.o(n,"ShowcaseCard")&&e.d(t,{ShowcaseCard:function(){return n.ShowcaseCard}}),e.o(n,"SocialCard")&&e.d(t,{SocialCard:function(){return n.SocialCard}})},67729:(o,t,e)=>{"use strict";e.r(t),e.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>l,frontMatter:()=>c,metadata:()=>s,toc:()=>u});var n=e(87462),i=(e(67294),e(3905)),r=e(67124);const c={title:"Join the community",pagination_prev:null,pagination_next:null,displayed_sidebar:null,sidebar_class_name:"hidden"},a="Join the community",s={unversionedId:"community",id:"community",title:"Join the community",description:"Welcome to the Nomos Community!",source:"@site/root-pages/community.mdx",sourceDirName:".",slug:"/community",permalink:"/community",draft:!1,tags:[],version:"current",frontMatter:{title:"Join the community",pagination_prev:null,pagination_next:null,displayed_sidebar:null,sidebar_class_name:"hidden"}},d={},u=[],m={toc:u};function l(o){let{components:t,...e}=o;return(0,i.kt)("wrapper",(0,n.Z)({},m,e,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"join-the-community"},"Join the community"),(0,i.kt)(r.Box,{top:48,bottom:24,mdxType:"Box"},"Welcome to the Nomos Community!"),(0,i.kt)("p",null,"Join us as we build a novel blockchain layer ideal for a network state. Be the first to receive our latest news, access documentation, and celebrate with us as we get closer to realising the Logos network state. "),(0,i.kt)(r.Box,{top:56,bottom:56,mdxType:"Box"},(0,i.kt)(r.Grid,{xs:{cols:1,gap:"1rem"},md:{cols:2},mdxType:"Grid"},(0,i.kt)(r.Grid.Item,{xs:1},(0,i.kt)(r.SocialCard,{href:"https://twitter.com/Nomos_tech",logoSrc:"/icons/x-black.svg",logoSrcDark:"/icons/x-white.svg",description:"Follow us on X",mdxType:"SocialCard"})),(0,i.kt)(r.Grid.Item,{xs:1},(0,i.kt)(r.SocialCard,{href:"https://discord.com/invite/NYDm83h46b",logoSrc:"/icons/discord-black.svg",logoSrcDark:"/icons/discord-white.svg",description:"Join the community on Discord",mdxType:"SocialCard"})),(0,i.kt)(r.Grid.Item,{xs:1},(0,i.kt)(r.SocialCard,{href:"https://github.com/logos-co/nomos-node",logoSrc:"/icons/github-black.svg",logoSrcDark:"/icons/github-white.svg",description:"Contribute to Github",mdxType:"SocialCard"})))))}l.isMDXComponent=!0},46102:()=>{}}]); \ No newline at end of file +(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[843],{67124:(o,t,e)=>{"use strict";var n=e(65701);e.o(n,"Box")&&e.d(t,{Box:function(){return n.Box}}),e.o(n,"CallToActionSection")&&e.d(t,{CallToActionSection:function(){return n.CallToActionSection}}),e.o(n,"Grid")&&e.d(t,{Grid:function(){return n.Grid}}),e.o(n,"Hero")&&e.d(t,{Hero:function(){return n.Hero}}),e.o(n,"HeroAction")&&e.d(t,{HeroAction:function(){return n.HeroAction}}),e.o(n,"HeroActions")&&e.d(t,{HeroActions:function(){return n.HeroActions}}),e.o(n,"HeroAsset")&&e.d(t,{HeroAsset:function(){return n.HeroAsset}}),e.o(n,"HeroDescription")&&e.d(t,{HeroDescription:function(){return n.HeroDescription}}),e.o(n,"HeroInfo")&&e.d(t,{HeroInfo:function(){return n.HeroInfo}}),e.o(n,"HeroTitle")&&e.d(t,{HeroTitle:function(){return n.HeroTitle}}),e.o(n,"InputCTASection")&&e.d(t,{InputCTASection:function(){return n.InputCTASection}}),e.o(n,"JobsPerDepartment")&&e.d(t,{JobsPerDepartment:function(){return n.JobsPerDepartment}}),e.o(n,"Roadmap")&&e.d(t,{Roadmap:function(){return n.Roadmap}}),e.o(n,"SectionHeader")&&e.d(t,{SectionHeader:function(){return n.SectionHeader}}),e.o(n,"ShowcaseCard")&&e.d(t,{ShowcaseCard:function(){return n.ShowcaseCard}}),e.o(n,"SocialCard")&&e.d(t,{SocialCard:function(){return n.SocialCard}})},67729:(o,t,e)=>{"use strict";e.r(t),e.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>c,metadata:()=>a,toc:()=>u});var n=e(87462),i=(e(67294),e(3905)),r=e(67124);const c={title:"Join the community",pagination_prev:null,pagination_next:null,displayed_sidebar:null,sidebar_class_name:"hidden"},s="Join the community",a={unversionedId:"community",id:"community",title:"Join the community",description:"Welcome to the Nomos Community!",source:"@site/root-pages/community.mdx",sourceDirName:".",slug:"/community",permalink:"/community",draft:!1,tags:[],version:"current",frontMatter:{title:"Join the community",pagination_prev:null,pagination_next:null,displayed_sidebar:null,sidebar_class_name:"hidden"}},d={},u=[],l={toc:u};function m(o){let{components:t,...e}=o;return(0,i.kt)("wrapper",(0,n.Z)({},l,e,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"join-the-community"},"Join the community"),(0,i.kt)(r.Box,{top:48,bottom:24,mdxType:"Box"},"Welcome to the Nomos Community!"),(0,i.kt)("p",null,"Join us as we build a novel blockchain layer ideal for a network state. Be the first to receive our latest news, access documentation, and celebrate with us as we get closer to realising the Logos network state. "),(0,i.kt)(r.Box,{top:56,bottom:56,mdxType:"Box"},(0,i.kt)(r.Grid,{xs:{cols:1,gap:"1rem"},md:{cols:2},mdxType:"Grid"},(0,i.kt)(r.Grid.Item,{xs:1},(0,i.kt)(r.SocialCard,{href:"https://twitter.com/Nomos_tech",logoSrc:"/icons/x-black.svg",logoSrcDark:"/icons/x-white.svg",description:"Follow us on X",mdxType:"SocialCard"})),(0,i.kt)(r.Grid.Item,{xs:1},(0,i.kt)(r.SocialCard,{href:"https://discord.com/invite/NYDm83h46b",logoSrc:"/icons/discord-black.svg",logoSrcDark:"/icons/discord-white.svg",description:"Join the community on Discord",mdxType:"SocialCard"})),(0,i.kt)(r.Grid.Item,{xs:1},(0,i.kt)(r.SocialCard,{href:"https://github.com/logos-co/nomos-node",logoSrc:"/icons/github-black.svg",logoSrcDark:"/icons/github-white.svg",description:"Contribute to Github",mdxType:"SocialCard"})))))}m.isMDXComponent=!0},46102:()=>{}}]); \ No newline at end of file diff --git a/assets/js/52065b4a.551185c4.js b/assets/js/52065b4a.551185c4.js new file mode 100644 index 0000000..610b591 --- /dev/null +++ b/assets/js/52065b4a.551185c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[533],{12514:e=>{e.exports=JSON.parse('{"pluginId":"root-pages","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"Join the community","href":"/community","className":"hidden","docId":"community"},{"type":"link","label":"Join Us","href":"/join-us","docId":"join-us"},{"type":"link","label":"Privacy Policy","href":"/privacy-policy","className":"hidden","docId":"privacy-policy"},{"type":"link","label":"Security","href":"/security","className":"hidden","docId":"security"},{"type":"link","label":"Terms of Use","href":"/terms","className":"hidden","docId":"terms"}]},"docs":{"community":{"id":"community","title":"Join the community","description":"Welcome to the Nomos Community!"},"join-us":{"id":"join-us","title":"Join Us","description":""},"privacy-policy":{"id":"privacy-policy","title":"Privacy Policy","description":"Last updated: 9 February 2024"},"security":{"id":"security","title":"Security","description":"We take security seriously at Nomos and across the Institute of Free Technology and its affiliates."},"terms":{"id":"terms","title":"Terms of Use","description":"Last updated: 14 February 2024"}}}')}}]); \ No newline at end of file diff --git a/assets/js/755.529a40de.js b/assets/js/755.529a40de.js deleted file mode 100644 index 8d15ddb..0000000 --- a/assets/js/755.529a40de.js +++ /dev/null @@ -1,73 +0,0 @@ -/*! For license information please see 755.529a40de.js.LICENSE.txt */ -(self.webpackChunknomos_docusaurus_template=self.webpackChunknomos_docusaurus_template||[]).push([[755],{82688:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r extends ICstVisitor {\n ").concat((0,s.default)(n,(function(e){return function(e){var t=d(e.name);return"".concat(e.name,"(children: ").concat(t,", param?: IN): OUT;")}(e)})).join("\n "),"\n}")))),c.join("\n\n")+"\n"}},62222:function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.buildModel=void 0;var s=r(93062),o=a(r(35161)),l=a(r(85564)),c=a(r(52628)),u=a(r(59704)),h=a(r(7739)),d=a(r(28583));t.buildModel=function(e){var t=new p,r=(0,c.default)(e);return(0,o.default)(r,(function(e){return t.visitRule(e)}))};var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.visitRule=function(e){var t=this.visitEach(e.definition),r=(0,h.default)(t,(function(e){return e.propertyName})),n=(0,o.default)(r,(function(e,t){var r=!(0,u.default)(e,(function(e){return!e.canBeNull})),n=e[0].type;return e.length>1&&(n=(0,o.default)(e,(function(e){return e.type}))),{name:t,type:n,optional:r}}));return{name:e.name,properties:n}},t.prototype.visitAlternative=function(e){return this.visitEachAndOverrideWith(e.definition,{canBeNull:!0})},t.prototype.visitOption=function(e){return this.visitEachAndOverrideWith(e.definition,{canBeNull:!0})},t.prototype.visitRepetition=function(e){return this.visitEachAndOverrideWith(e.definition,{canBeNull:!0})},t.prototype.visitRepetitionMandatory=function(e){return this.visitEach(e.definition)},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){return this.visitEach(e.definition).concat({propertyName:e.separator.name,canBeNull:!0,type:f(e.separator)})},t.prototype.visitRepetitionWithSeparator=function(e){return this.visitEachAndOverrideWith(e.definition,{canBeNull:!0}).concat({propertyName:e.separator.name,canBeNull:!0,type:f(e.separator)})},t.prototype.visitAlternation=function(e){return this.visitEachAndOverrideWith(e.definition,{canBeNull:!0})},t.prototype.visitTerminal=function(e){return[{propertyName:e.label||e.terminalType.name,canBeNull:!1,type:f(e)}]},t.prototype.visitNonTerminal=function(e){return[{propertyName:e.label||e.nonTerminalName,canBeNull:!1,type:f(e)}]},t.prototype.visitEachAndOverrideWith=function(e,t){return(0,o.default)(this.visitEach(e),(function(e){return(0,d.default)({},e,t)}))},t.prototype.visitEach=function(e){var t=this;return(0,l.default)((0,o.default)(e,(function(e){return t.visit(e)})))},t}(s.GAstVisitor);function f(e){return e instanceof s.NonTerminal?{kind:"rule",name:e.referencedRule.name}:{kind:"token"}}},93062:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSequenceProd=t.isBranchingProd=t.isOptionalProd=t.getProductionDslName=t.GAstVisitor=t.serializeProduction=t.serializeGrammar=t.Alternative=t.Alternation=t.RepetitionWithSeparator=t.RepetitionMandatoryWithSeparator=t.RepetitionMandatory=t.Repetition=t.Option=t.NonTerminal=t.Terminal=t.Rule=void 0;var n=r(94490);Object.defineProperty(t,"Rule",{enumerable:!0,get:function(){return n.Rule}}),Object.defineProperty(t,"Terminal",{enumerable:!0,get:function(){return n.Terminal}}),Object.defineProperty(t,"NonTerminal",{enumerable:!0,get:function(){return n.NonTerminal}}),Object.defineProperty(t,"Option",{enumerable:!0,get:function(){return n.Option}}),Object.defineProperty(t,"Repetition",{enumerable:!0,get:function(){return n.Repetition}}),Object.defineProperty(t,"RepetitionMandatory",{enumerable:!0,get:function(){return n.RepetitionMandatory}}),Object.defineProperty(t,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return n.RepetitionMandatoryWithSeparator}}),Object.defineProperty(t,"RepetitionWithSeparator",{enumerable:!0,get:function(){return n.RepetitionWithSeparator}}),Object.defineProperty(t,"Alternation",{enumerable:!0,get:function(){return n.Alternation}}),Object.defineProperty(t,"Alternative",{enumerable:!0,get:function(){return n.Alternative}}),Object.defineProperty(t,"serializeGrammar",{enumerable:!0,get:function(){return n.serializeGrammar}}),Object.defineProperty(t,"serializeProduction",{enumerable:!0,get:function(){return n.serializeProduction}});var i=r(62156);Object.defineProperty(t,"GAstVisitor",{enumerable:!0,get:function(){return i.GAstVisitor}});var a=r(53559);Object.defineProperty(t,"getProductionDslName",{enumerable:!0,get:function(){return a.getProductionDslName}}),Object.defineProperty(t,"isOptionalProd",{enumerable:!0,get:function(){return a.isOptionalProd}}),Object.defineProperty(t,"isBranchingProd",{enumerable:!0,get:function(){return a.isBranchingProd}}),Object.defineProperty(t,"isSequenceProd",{enumerable:!0,get:function(){return a.isSequenceProd}})},53559:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getProductionDslName=t.isBranchingProd=t.isOptionalProd=t.isSequenceProd=void 0;var i=n(r(59704)),a=n(r(711)),s=n(r(64721)),o=r(94490);t.isSequenceProd=function(e){return e instanceof o.Alternative||e instanceof o.Option||e instanceof o.Repetition||e instanceof o.RepetitionMandatory||e instanceof o.RepetitionMandatoryWithSeparator||e instanceof o.RepetitionWithSeparator||e instanceof o.Terminal||e instanceof o.Rule},t.isOptionalProd=function e(t,r){return void 0===r&&(r=[]),!!(t instanceof o.Option||t instanceof o.Repetition||t instanceof o.RepetitionWithSeparator)||(t instanceof o.Alternation?(0,i.default)(t.definition,(function(t){return e(t,r)})):!(t instanceof o.NonTerminal&&(0,s.default)(r,t))&&(t instanceof o.AbstractProduction&&(t instanceof o.NonTerminal&&r.push(t),(0,a.default)(t.definition,(function(t){return e(t,r)})))))},t.isBranchingProd=function(e){return e instanceof o.Alternation},t.getProductionDslName=function(e){if(e instanceof o.NonTerminal)return"SUBRULE";if(e instanceof o.Option)return"OPTION";if(e instanceof o.Alternation)return"OR";if(e instanceof o.RepetitionMandatory)return"AT_LEAST_ONE";if(e instanceof o.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(e instanceof o.RepetitionWithSeparator)return"MANY_SEP";if(e instanceof o.Repetition)return"MANY";if(e instanceof o.Terminal)return"CONSUME";throw Error("non exhaustive match")}},94490:function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.serializeProduction=t.serializeGrammar=t.Terminal=t.Alternation=t.RepetitionWithSeparator=t.Repetition=t.RepetitionMandatoryWithSeparator=t.RepetitionMandatory=t.Option=t.Alternative=t.Rule=t.NonTerminal=t.AbstractProduction=void 0;var s=a(r(35161)),o=a(r(84486)),l=a(r(47037)),c=a(r(96347)),u=a(r(35937)),h=a(r(28583));function d(e){return t=e,(0,l.default)(t.LABEL)&&""!==t.LABEL?e.LABEL:e.name;var t}var p=function(){function e(e){this._definition=e}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),e.prototype.accept=function(e){e.visit(this),(0,o.default)(this.definition,(function(t){t.accept(e)}))},e}();t.AbstractProduction=p;var f=function(e){function t(t){var r=e.call(this,[])||this;return r.idx=1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),Object.defineProperty(t.prototype,"definition",{get:function(){return void 0!==this.referencedRule?this.referencedRule.definition:[]},set:function(e){},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this)},t}(p);t.NonTerminal=f;var m=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.orgText="",(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.Rule=m;var g=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.ignoreAmbiguities=!1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.Alternative=g;var v=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.Option=v;var A=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.RepetitionMandatory=A;var y=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.RepetitionMandatoryWithSeparator=y;var x=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.Repetition=x;var b=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),t}(p);t.RepetitionWithSeparator=b;var w=function(e){function t(t){var r=e.call(this,t.definition)||this;return r.idx=1,r.ignoreAmbiguities=!1,r.hasPredicates=!1,(0,h.default)(r,(0,u.default)(t,(function(e){return void 0!==e}))),r}return i(t,e),Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t}(p);t.Alternation=w;var _=function(){function e(e){this.idx=1,(0,h.default)(this,(0,u.default)(e,(function(e){return void 0!==e})))}return e.prototype.accept=function(e){e.visit(this)},e}();function E(e){function t(e){return(0,s.default)(e,E)}if(e instanceof f){var r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return(0,l.default)(e.label)&&(r.label=e.label),r}if(e instanceof g)return{type:"Alternative",definition:t(e.definition)};if(e instanceof v)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof A)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof y)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:E(new _({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof b)return{type:"RepetitionWithSeparator",idx:e.idx,separator:E(new _({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof x)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof w)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof _){var n={type:"Terminal",name:e.terminalType.name,label:d(e.terminalType),idx:e.idx};(0,l.default)(e.label)&&(n.terminalLabel=e.label);var i=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(n.pattern=(0,c.default)(i)?i.source:i),n}if(e instanceof m)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}t.Terminal=_,t.serializeGrammar=function(e){return(0,s.default)(e,E)},t.serializeProduction=E},62156:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GAstVisitor=void 0;var n=r(94490),i=function(){function e(){}return e.prototype.visit=function(e){var t=e;switch(t.constructor){case n.NonTerminal:return this.visitNonTerminal(t);case n.Alternative:return this.visitAlternative(t);case n.Option:return this.visitOption(t);case n.RepetitionMandatory:return this.visitRepetitionMandatory(t);case n.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case n.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case n.Repetition:return this.visitRepetition(t);case n.Alternation:return this.visitAlternation(t);case n.Terminal:return this.visitTerminal(t);case n.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},e.prototype.visitNonTerminal=function(e){},e.prototype.visitAlternative=function(e){},e.prototype.visitOption=function(e){},e.prototype.visitRepetition=function(e){},e.prototype.visitRepetitionMandatory=function(e){},e.prototype.visitRepetitionMandatoryWithSeparator=function(e){},e.prototype.visitRepetitionWithSeparator=function(e){},e.prototype.visitAlternation=function(e){},e.prototype.visitTerminal=function(e){},e.prototype.visitRule=function(e){},e}();t.GAstVisitor=i},68877:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toFastProperties=t.timer=t.PRINT_ERROR=t.PRINT_WARNING=void 0;var n=r(73017);Object.defineProperty(t,"PRINT_WARNING",{enumerable:!0,get:function(){return n.PRINT_WARNING}}),Object.defineProperty(t,"PRINT_ERROR",{enumerable:!0,get:function(){return n.PRINT_ERROR}});var i=r(99870);Object.defineProperty(t,"timer",{enumerable:!0,get:function(){return i.timer}});var a=r(55591);Object.defineProperty(t,"toFastProperties",{enumerable:!0,get:function(){return a.toFastProperties}})},73017:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PRINT_WARNING=t.PRINT_ERROR=void 0,t.PRINT_ERROR=function(e){console&&console.error&&console.error("Error: ".concat(e))},t.PRINT_WARNING=function(e){console&&console.warn&&console.warn("Warning: ".concat(e))}},99870:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timer=void 0,t.timer=function(e){var t=(new Date).getTime(),r=e();return{time:(new Date).getTime()-t,value:r}}},55591:(e,t)=>{"use strict";function r(e){function t(){}t.prototype=e;var r=new t;function n(){return typeof r.bar}return n(),n(),e}Object.defineProperty(t,"__esModule",{value:!0}),t.toFastProperties=void 0,t.toFastProperties=r},23558:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeepRatio=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=n.__importDefault(r(58147));t.KeepRatio=e=>{let{children:t,width:r,height:n,fullHeight:o=!1,fullWidth:l=!0,rootProps:c,contentProps:u,containerWidth:h,containerHeight:d,keep:p=!0}=e;const f=!o&&l,m=!f,g=100*(m?n/r:r/n);return a.default.createElement("div",{...c??{},className:(0,i.default)(s.default.root,f&&s.default.fullWidth,m&&s.default.fullHeight,p&&s.default.keep,null==c?void 0:c.className)},a.default.createElement("div",{...u??{},className:(0,i.default)(s.default.content,null==u?void 0:u.className)},t),p&&a.default.createElement("svg",{style:{pointerEvents:"none",height:m?"100%":d?`calc(${n} / ${r} * ${h})`:"auto",width:f?"100%":d?`calc(${r} / ${n} * ${d})`:"auto"},viewBox:`0 0 ${f?g:100} ${m?g:100}`}))}},26534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(23558),t)},22226:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccordionItem=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importStar(r(67294));r(11403);const s=r(31665),o=r(6980),l=n.__importDefault(r(73955));t.AccordionItem=e=>{let{open:t,onToggle:r,title:n,className:c,children:u,...h}=e;const d=(0,l.default)("accordion-item-"),[p,f]=(0,a.useState)(t??!1);void 0!==t&&t!==p&&f(t);return a.default.createElement("div",{className:(0,i.default)(c,"mdx-accordion-item",p&&"mdx-accordion-item--open"),...h},a.default.createElement("input",{type:"checkbox",id:d,checked:p}),a.default.createElement("div",{role:"button",className:"mdx-accordion-item__header",onClick:()=>{void 0!==t?r&&r(!p):f((e=>!e))}},a.default.createElement(s.Typography,{className:"mdx-accordion-item__title",variant:"h5",component:"label",htmlFor:d},n),a.default.createElement("div",{className:"mdx-accordion-item__icon"},p?a.default.createElement(o.IconRemove,null):a.default.createElement(o.IconAdd,null))),a.default.createElement("div",{className:"mdx-accordion-item__content-wrapper"},a.default.createElement("div",{className:"mdx-accordion-item__content"},u)))}},66169:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(22226),t)},3309:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AppCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(25812)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294));r(93255);t.AppCard=e=>{let{logoSrc:t,logoSrcDark:r,name:n,description:l,link:c,linkLabel:u,...h}=e;return o.default.createElement("div",{...h,className:(0,s.default)(h.className,"mdx-app-card")},(t||r)&&o.default.createElement(a.default,{sources:{dark:r??t??"",light:t??r??""},alt:"string"==typeof n?n:"",className:"mdx-app-card__logo"}),o.default.createElement(i.Typography,{component:"span",variant:"h5",className:"mdx-app-card__name"},n),o.default.createElement(i.Typography,{variant:"subtitle1",className:"mdx-app-card__description"},l),c&&o.default.createElement("a",{href:c,target:"_blank",className:"mdx-app-card__link"},o.default.createElement(i.Button,{size:"large",variant:"outlined"},o.default.createElement(i.Typography,{variant:"label1",component:"span"},u??o.default.createElement(o.default.Fragment,null,"Visit ",n)),o.default.createElement("span",null,o.default.createElement(i.PickIcon,{color:"primary"})))))}},84614:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(3309),t)},12077:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AssetCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294)),o=r(6980),l=r(26534);r(77877);t.AssetCard=e=>{let{title:t,previewSrc:r,downloadable:n,forceDownload:c=!1,...u}=e;const h=n&&n.length>0;return s.default.createElement("div",{...u,className:(0,a.default)(u.className,"mdx-asset-card",h&&"mdx-asset-card--downloadable")},s.default.createElement("div",{className:"mdx-asset-card__inner"},t&&s.default.createElement(i.Typography,{component:"div",variant:"subtitle2",className:"mdx-asset-card__title"},t),s.default.createElement(l.KeepRatio,{width:16,height:9,fullWidth:!0,rootProps:{className:"mdx-asset-card__image"}},s.default.createElement("img",{src:r,alt:"string"==typeof t&&t||"asset image"}))),h&&s.default.createElement("div",{className:"mdx-asset-card__downloadables"},n.map(((e,r)=>s.default.createElement("a",{href:e.src,target:"_blank",download:!0,onClick:r=>((e,r)=>{if(!c)return;e.preventDefault();const{src:n,filename:i}=r,a=document.createElement("a");a.download=i||"string"==typeof t&&t||"",fetch(n).then((e=>e.blob())).then((e=>{const t=window.URL.createObjectURL(e);a.href=t,window.document.body.appendChild(a),a.click(),window.document.body.removeChild(a)})).catch((e=>{console.error("failed to download asset:"+e),a.href=n,a.target="_blank",window.document.body.appendChild(a),a.click(),window.document.body.removeChild(a)}))})(r,e)},s.default.createElement(i.Button,{key:r,variant:"outlined",size:"small",icon:s.default.createElement(o.IconDownload,null)},e.title))))))}},64314:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(12077),t)},93152:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Box=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=r(9259);function o(e,t,r,n){const i="string"==typeof t||"number"==typeof t?{xs:t}:t,a=[],s=e=>"number"==typeof e&&n?`${e}${n}`:`${e}`;return["xs","sm","md","lg","xl"].forEach(((t,n)=>{const o=i[t];if(o)a.push([`${e}-${t}`,s(o)]);else{var l;const i=null==(l=a[n-1])?void 0:l[1];a.push([`${e}-${t}`,i||s(r)])}})),Object.fromEntries(a)}r(56216);t.Box=e=>{let{top:t=0,bottom:r=0,className:n,style:l={},children:c,...u}=e;return a.default.createElement("div",{className:(0,i.default)(n,"mdx-box"),style:(0,s.makeStyle)({...l},{...o("mdx-box-top",t,0,"px"),...o("mdx-box-bottom",r,0,"px")}),...u},c)}},32765:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(93152),t)},40299:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallToActionButton=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(88746)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294));r(51928);t.CallToActionButton=e=>{let{className:t,variant:r="filled",size:n="large",children:l,...c}=e;return o.default.createElement(a.default,{className:(0,s.default)("mdx-cta-button",t),...c},o.default.createElement(i.Typography,{component:"span",variant:"large"===n?"label1":"label2"},o.default.createElement(i.Button,{size:n,variant:r},l)))}},54442:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(40299),t)},40824:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallToActionSection=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294)),o=r(65701);r(8981);const l=r(6980);t.CallToActionSection=e=>{let{label:t,href:r,title:n,columns:c=1,description:u,list:h=[],target:d,border:p=!0,align:f="unset",className:m,children:g,variant:v="outlined",ctaPosition:A="bottom",...y}=e;const x=!!u,b=h.length>0,w=!!r,_=!n||x||w||b?n&&!u&&!b&&w?"title-button":n&&u&&2===c?"full-width":n&&u&&h.length>0?"list":"simple":"title-only",E=r&&"top"===A&&s.default.createElement(o.CallToActionButton,{target:d,href:r,className:"mdx-cta-section__link",variant:v},t);return s.default.createElement("div",{className:(0,a.default)(m,"mdx-cta-section",`mdx-cta-section--${_}`,!p&&"mdx-cta-section--no-border"),...y},s.default.createElement("div",{className:(0,a.default)("mdx-cta-section__container","unset"!==f&&`mdx-cta-section--align-${f}`)},s.default.createElement("div",{className:"mdx-cta-section__header"},s.default.createElement(i.Typography,{component:"h2",className:(0,a.default)("mdx-cta-section__title")},n),s.default.createElement("div",{className:"mdx-cta-section__header__desktop-button"},E)),u&&s.default.createElement(i.Typography,{component:"h3",className:"mdx-cta-section__description"},u),s.default.createElement("div",{className:"mdx-cta-section__header__mobile-button"},E),r&&"bottom"===A&&s.default.createElement(o.CallToActionButton,{target:d,href:r,className:"mdx-cta-section__link",variant:v},t)),h.length>0&&s.default.createElement("div",{className:(0,a.default)("mdx-cta-section__list",!p&&"mdx-cta-section--no-border")},h.map(((e,t)=>{const r=s.default.createElement("div",{className:"mdx-cta-section__list-item",key:t},s.default.createElement("a",{className:"mdx-cta-section__list-item-link",href:null==e?void 0:e.href,target:e.target},s.default.createElement(i.Typography,{component:"div",variant:"body2",className:"mdx-cta-section__item-title"},e.title,s.default.createElement(l.IconExternalLink,{size:"m"}))),s.default.createElement(i.Typography,{variant:"h4",component:"p",className:"mdx-cta-section__item-description"},e.description));return e.href?s.default.createElement("a",{href:e.href,target:"_blank"},r):r}))))}},78256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(40824),t)},63906:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocMetadata=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(88746)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294)),l=r(38840);r(46774);const c=r(98906);t.DocMetadata=e=>{let{className:t,children:r,...n}=e;const{date:u,authors:h}=(0,c.useDocMetadata)(),{content:{authorPage:d}={}}=(0,l.useDocThemeOptions)();return o.default.createElement("div",{className:(0,s.default)(t,"mdx-doc-metadata"),...n},u&&o.default.createElement(i.Typography,{variant:"body2"},u),h&&h.length>0&&o.default.createElement(o.default.Fragment,null,o.default.createElement(i.Typography,{variant:"body2"},"by"," ",h.map(((e,t)=>o.default.createElement(o.default.Fragment,{key:e.key},d?o.default.createElement(a.default,{to:`author/${e.key}`},e.name):e.name,t{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(63906),t)},98906:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useDocMetadata=void 0;const n=r(70655),i=r(18279),a=r(38840),s=n.__importDefault(r(99486));t.useDocMetadata=()=>{const e=(0,a.useDocThemeOptions)(),{content:{authors:t=[]}={}}=e,{frontMatter:r={}}=(0,i.useDoc)(),{author:n=[],date:o}=r,l=(Array.isArray(n)?n:[n]).map((e=>t.find((t=>e===t.key)))).filter((e=>!!e));return{date:o?(0,s.default)(new Date(o),"MMM d yyyy"):"",authors:l}}},59669:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventAbout=void 0;const n=r(70655).__importDefault(r(67294));r(6420);const i=r(31665);t.EventAbout=e=>{let{children:t}=e;return n.default.createElement("div",{className:"mdx-event-about__container"},n.default.createElement(i.Typography,{variant:"h2",component:"p",className:"mdx-event-about__title"},"About"),n.default.createElement(i.Typography,{variant:"body1"},t))}},92302:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(59669),t)},12610:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventBanner=void 0;const n=r(70655),i=n.__importDefault(r(25812)),a=n.__importDefault(r(67294));r(34822);t.EventBanner=e=>{let{src:t}=e;return a.default.createElement(i.default,{sources:{dark:t,light:t},alt:"event thumbnail",className:"mdx-event-banner__thumbnail"})}},70136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(12610),t)},69587:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventCTA=void 0;const n=r(70655),i=n.__importDefault(r(67294));r(52399);const a=r(31665),s=n.__importDefault(r(88746)),o=r(6980);t.EventCTA=e=>{let{title:t,label:r,link:n,linkProps:l}=e;return i.default.createElement("div",{className:"mdx-event-cta__container"},t&&i.default.createElement(a.Typography,{variant:"h2",component:"h2",className:"mdx-event-cta__title"},t),i.default.createElement(s.default,{to:n,...l},i.default.createElement(a.Button,{className:"mdx-event-cta__button"},i.default.createElement(a.Typography,{variant:"body1"},r),i.default.createElement(o.IconExternalLink,null))))}},26498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(69587),t)},7742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(25812)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294));r(95497);t.EventCard=e=>{let{thumbnail:t,title:r,date:n,location:l,...c}=e;return o.default.createElement("a",{target:"_self",...c,className:(0,s.default)(c.className,"mdx-event-card")},o.default.createElement(a.default,{sources:{dark:t,light:t},alt:r??"event thumbnail",className:"mdx-event-card__thumbnail"}),o.default.createElement(i.Typography,{component:"h5",variant:"subtitle1",className:"mdx-event-card__title"},r),o.default.createElement("div",{className:"mdx-event-card__row"},o.default.createElement("div",{className:"mdx-event-card__info"},o.default.createElement(i.Typography,{className:"mdx-event-card__label",variant:"body3"},"Date"),o.default.createElement(i.Typography,{variant:"body3"},n)),o.default.createElement("div",{className:"mdx-event-card__info"},o.default.createElement(i.Typography,{className:"mdx-event-card__label",variant:"body3"},"Location"),o.default.createElement(i.Typography,{variant:"body3"},l))))}},85535:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(7742),t)},2310:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventCardList=void 0;const n=r(70655).__importStar(r(67294));r(90980);const i=r(31665),a=r(65701);t.EventCardList=e=>{let{data:t}=e;const[r,s]=(0,n.useState)((null==t?void 0:t.length)>6),[o,l]=(0,n.useState)(6);return n.default.createElement("div",{className:"mdx-event-card-list__container"},n.default.createElement(a.Box,{top:56,bottom:80},n.default.createElement(a.Grid,{xs:{cols:1,gap:"80px 16px"},md:{cols:2}},t.slice(0,o).map(((e,t)=>n.default.createElement(a.Grid.Item,{xs:1,key:t},n.default.createElement(a.EventCard,{...e})))))),r&&n.default.createElement(i.Button,{className:"mdx-event-card-list__button",onClick:()=>{l((e=>e+6)),o+6>=(null==t?void 0:t.length)&&s(!1)},size:"large"},"See more"))}},42174:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(2310),t)},30862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventHeader=void 0;const n=r(70655).__importDefault(r(67294));r(44429);const i=r(31665);t.EventHeader=e=>{let{title:t,description:r}=e;return n.default.createElement("div",{className:"mdx-event-header__container"},n.default.createElement(i.Typography,{variant:"h1",component:"h1",className:"mdx-event-header__label"},t),n.default.createElement(i.Typography,{variant:"subtitle1",className:"mdx-event-header__content"},r))}},45320:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(30862),t)},74350:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventInfo=void 0;const n=r(70655).__importDefault(r(67294));r(94318);const i=r(31665);t.EventInfo=e=>{let{label:t,content:r}=e;return n.default.createElement("div",{className:"mdx-event-info__container"},n.default.createElement(i.Typography,{variant:"body2",className:"mdx-event-info__label"},t),n.default.createElement(i.Typography,{variant:"body1",className:"mdx-event-info__content"},r))}},94030:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(74350),t)},46450:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventProfile=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(25812)),s=n.__importDefault(r(67294));r(6465);const o=r(6980);t.EventProfile=e=>{let{image:t,name:r,role:n,email:l,linkedin:c,...u}=e;return s.default.createElement("div",{...u,className:"mdx-event-profile"},s.default.createElement(a.default,{sources:{dark:t,light:t},alt:t??"event profile",className:"mdx-event-profile__image"}),s.default.createElement("div",{className:"mdx-event-profile__info"},s.default.createElement(i.Typography,{component:"p",variant:"subtitle1",className:"mdx-event-profile__title"},r),s.default.createElement(i.Typography,{variant:"body2",className:"mdx-event-profile__role"},n),s.default.createElement("div",{className:"mdx-event-profile__social"},l&&s.default.createElement("a",{href:`mailto:${l}`,target:"_blank",rel:"noopener noreferrer"},s.default.createElement(o.IconEmail,null)),c&&s.default.createElement("a",{href:c,target:"_blank",rel:"noopener noreferrer"},s.default.createElement(o.IconLinkedin,null)))))}},7472:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(46450),t)},49310:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventProfileList=void 0;const n=r(70655).__importDefault(r(67294));r(54627);const i=r(31665),a=r(65701);t.EventProfileList=e=>{let{title:t,description:r,data:s}=e;return n.default.createElement("div",{className:"mdx-event-profile-list__container"},t&&n.default.createElement(i.Typography,{variant:"h2",component:"h2",className:"mdx-event-profile-list__title"},t),r&&n.default.createElement(i.Typography,{variant:"subtitle1"},r),n.default.createElement(a.Box,{top:40},n.default.createElement(a.Grid,{xs:{cols:1,gap:"16px"},md:{cols:3}},s.map(((e,t)=>n.default.createElement(a.Grid.Item,{xs:1,key:t},n.default.createElement(a.EventProfile,{...e})))))))}},24812:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(49310),t)},58135:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExternalResourceCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(25812)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294)),l=r(6980);r(84238);const c=r(26534);t.ExternalResourceCard=e=>{let{title:t,logoSrc:r,logoSrcDark:n,description:u,previewSrc:h,previewSrcDark:d,...p}=e;const f=!(!h&&!d);return o.default.createElement("a",{target:"_blank",...p,className:(0,s.default)(p.className,"mdx-erc",f&&"mdx-erc--with-preview")},f&&o.default.createElement(c.KeepRatio,{width:16,height:9,fullWidth:!0},o.default.createElement(a.default,{sources:{dark:d??h??"",light:h??d??""},alt:"string"==typeof t&&t||"preview image",className:"mdx-erc__preview-image"})),o.default.createElement("div",{className:"mdx-erc__inner"},(r||n)&&o.default.createElement(a.default,{sources:{dark:n??r??"",light:r??n??""},alt:"string"==typeof t&&t||"logo",className:"mdx-erc__logo"}),o.default.createElement(i.Typography,{variant:"body1",component:"div",className:"mdx-erc__title"},t),u&&o.default.createElement(i.Typography,{variant:"label2",component:"div",className:"mdx-erc__description"},u)),o.default.createElement("div",{className:"mdx-erc__icon"},o.default.createElement(l.IconExternalLink,{className:"mdx-erc__external-link"})))}},24084:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(58135),t)},24646:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureList=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294));r(69774);t.FeatureList=e=>{let{title:t="Features",alignment:r="bottom",features:n=[],className:o,ctaPosition:l="bottom",indexStyle:c="circle",borderStyle:u="solid",children:h,...d}=e;return s.default.createElement("div",{className:(0,a.default)(o,"mdx-feature-list",`mdx-feature-list--${r}-aligned`,`mdx-feature-list--cta-${l}`,"none"===u&&"mdx-feature-list--border-none"),...d},s.default.createElement("div",{className:"mdx-feature-list__header"},s.default.createElement(i.Typography,{variant:"h2",component:"h2",className:"mdx-feature-list__title"},t),h&&"top"===l&&s.default.createElement("div",{className:"mdx-feature-list__extra"},h)),s.default.createElement("div",{className:"mdx-feature-list__list"},n.map(((e,t)=>s.default.createElement("div",{key:t,className:(0,a.default)("mdx-feature-list__feature","none"===u&&"mdx-feature-list--border-none")},s.default.createElement("div",{className:"mdx-feature-list__feature-inner"},"circle"===c?s.default.createElement(i.Typography,{variant:"subtitle1",component:"div",className:(0,a.default)("mdx-feature-list__feature-index--circle")},t+1):s.default.createElement(i.Typography,{variant:"subtitle1",component:"div",className:(0,a.default)("mdx-feature-list__feature-index--number")},"[",function(e,t){for(e=e.toString();e.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(24646),t)},51499:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GithubChallenges=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(67294)),s=r(696),o=r(79527),l=e=>{let{message:t}=e;return a.default.createElement(a.default.Fragment,null,a.default.createElement(i.Typography,{variant:"h1",className:"mdx-ghc__header"},"Open challenges"),!!t&&a.default.createElement(i.Typography,{variant:"body1"},t))};t.GithubChallenges=e=>{let{challengesData:t,useDummyData:r,subheaderText:n,filterByName:c,...u}=e,h=r?[s.dummyGithubIssue]:(e=>{let t=[];return Object.keys(e).forEach((r=>{if(!isNaN(Number(r))){const n=Object.values(e[r])[0];Array.isArray(n)&&(t=t.concat(n))}})),t})(t);if(!h||(d=h,!Array.isArray(d)||!d.length))return a.default.createElement(l,{message:"No challenges to show"});var d;if(c)try{var p;const e=new RegExp(c,"i");h=null==(p=h)?void 0:p.filter((t=>e.test(t.title)))}catch(f){console.error("Invalid regex pattern:",f)}return a.default.createElement("div",{...u},a.default.createElement(l,null),!!n&&a.default.createElement(i.Typography,{variant:"body1",className:"mdx-ghc-subheader-text",component:"div"},n),h.map((e=>a.default.createElement(o.SingleGithubChallenge,{key:e.id,issue:e}))))}},79527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleGithubChallenge=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(67294)),s=r(6980);r(58918);const o=n.__importDefault(r(88746));function l(e,t){void 0===t&&(t=24);const r=new URL(e),n=new URLSearchParams(r.search);return n.set("s",t.toString()),r.search=Array.from(n.entries()).map((e=>{let[t,r]=e;return`${t}=${r}`})).join("&"),r.toString()}t.SingleGithubChallenge=e=>{let{issue:t}=e;const r=(e=>{const t=new Map;return t.set(e.user.login,{name:e.user.login,avatarUrl:e.user.avatarUrl}),e.assignees.forEach((e=>{t.set(e.login,{name:e.login,avatarUrl:e.avatarUrl})})),e.comments.forEach((e=>{t.set(e.author.login,{name:e.author.login,avatarUrl:e.author.avatarUrl})})),Array.from(t.values())})(t),n=(e=>{const t=e.projects.map((e=>e.name));return 0===t.length?"":Array.from(new Set(t)).join(", ")})(t),c=""!==n,u=!!t.milestone,h=[];return c&&h.push(a.default.createElement(a.default.Fragment,null,a.default.createElement(i.Typography,{variant:"body3",className:"mdx-ghc__label"},n.includes(", ")?"Projects":"Project"),a.default.createElement(i.Typography,{variant:"body3",className:"mdx-ghc__project-name"},n))),u&&h.push(a.default.createElement(a.default.Fragment,null,a.default.createElement(i.Typography,{variant:"body3",className:"mdx-ghc__label"},"Milestone"),a.default.createElement(i.Typography,{variant:"body3",className:"mdx-ghc__milestone-text"},t.milestone))),a.default.createElement("div",{className:"mdx-ghc__container"},a.default.createElement(o.default,{href:t.url,className:"mdx-ghc__issue-title-link"},a.default.createElement(i.Typography,{variant:"h5",className:"mdx-ghc__issue-title"},t.title)),a.default.createElement("div",{className:"mdx-ghc__challenge-labels"},t.labels.map(((e,t)=>a.default.createElement(i.Typography,{variant:"body3",key:t,className:"mdx-ghc__challenge-label"},e)))),a.default.createElement("div",{className:"mdx-ghc__issue-content-grid"},a.default.createElement(i.Typography,{variant:"body3",className:"mdx-ghc__label"},"Participants"),a.default.createElement("div",{className:"mdx-ghc__participant-photo-container"},a.default.createElement(i.Typography,{variant:"body3",className:"mdx-ghc__comment-count",component:"div"},r.length),r.map(((e,t)=>a.default.createElement("img",{key:t,className:"mdx-ghc__participant-photo",src:l(e.avatarUrl),alt:e.name})))),h.map(((e,t)=>a.default.createElement(a.default.Fragment,{key:t},e)))),a.default.createElement(o.default,{href:t.url,className:"mdx-ghc__view-on-github-link"},a.default.createElement(i.Button,{className:"mdx-ghc__view-on-github-button",icon:a.default.createElement(s.IconExternalLink,null)},"View on GitHub")))}},696:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dummyGithubIssue=void 0,t.dummyGithubIssue={id:"12345",title:"Bug in pagination",body:"When navigating to the second page, the first item repeats.",url:"https://github.com/user/repo/issues/12345",user:{login:"user123",avatarUrl:"https://avatars.githubusercontent.com/u/8811422?v=4"},labels:["bug","frontend"],commentCount:3,comments:[{id:"c1",author:{login:"alice123",avatarUrl:"https://avatars.githubusercontent.com/u/8811422?v=4"},body:"I have also noticed this issue. Working on a fix now.",createdAt:"2021-01-01T12:00:00Z"},{id:"c2",author:{login:"bob456",avatarUrl:"https://avatars.githubusercontent.com/u/8811422?v=4"},body:"Any updates on this?",createdAt:"2021-01-02T15:30:00Z"},{id:"c3",author:{login:"jaquim",avatarUrl:"https://avatars.githubusercontent.com/u/8811422?v=4"},body:"I like turtles.",createdAt:"2021-01-03T09:45:00Z"}],assignees:[{login:"alice123",avatarUrl:"https://avatars.githubusercontent.com/u/8811422?v=4"},{login:"bob456",avatarUrl:"https://avatars.githubusercontent.com/u/8811422?v=4"}],milestone:"v1.0.0",created_at:"2020-12-31T11:00:00Z",updated_at:"2021-01-04T13:00:00Z",projects:[{name:"Awesome Project"}]}},47513:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(51499),t)},7859:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Grid=void 0;const n=r(70655),i=r(31665),a=r(70917),s=n.__importDefault(r(77366)),o=n.__importDefault(r(86010)),l=n.__importStar(r(67294)),c=r(59567),u=r(3796),h=r(18031);t.Grid=e=>{let{actions:t,leftLabel:r="",rightLabel:n="",spacingButtons:i=!1,children:a,...s}=e;const c=(0,l.useRef)(null);return l.default.createElement(d,{...s,className:(0,o.default)(s.className,"mdx-grid")},l.default.createElement("div",{className:"mdx-grid__actions"},t,l.default.createElement(u.ScrollButtons,{containerRef:c,className:"mdx-grid__scroll",leftLabel:r,rightLabel:n,spacing:i?"spaced":"grouped"})),l.default.createElement("div",{ref:c,className:(0,o.default)("mdx-grid__content","hidden-scrollbar")},a))},t.Grid.Item=h.GridItem;const d=s.default.div` - width: 100%; - - .mdx-grid__scroll { - display: flex; - } - - .mdx-grid__content { - display: grid; - gap: var(--grid-gap); - grid-template-columns: repeat(var(--grid-cols), minmax(0, 1fr)); - overflow: hidden; - } - - .mdx-grid__actions { - display: flex; - flex-direction: row; - align-items: center; - gap: 1rem; - - & > * { - margin-bottom: 3rem; - } - } - - ${e=>i.THEME_BREAKPOINTS.map((t=>{if(!e[t])return null;const r=e[t];return c.lsdUtils.responsive(e.theme,t,"up")(a.css` - ${void 0!==r.cols&&`\n --grid-cols: ${r.cols};\n `} - - ${void 0!==r.gap&&`\n --grid-gap: ${r.gap};\n `} - - ${(void 0===r.wrap||!0===r.wrap)&&a.css` - .mdx-grid__scroll { - display: none; - } - .mdx-grid__content { - display: grid; - flex-wrap: unset; - overflow-x: unset; - overflow-y: unset; - scroll-snap-type: unset; - } - `} - - ${void 0!==r.wrap&&!1===r.wrap&&a.css` - .mdx-grid__scroll { - display: flex; - } - .mdx-grid__content { - display: flex; - flex-wrap: nowrap; - overflow-x: scroll; - overflow-y: hidden; - scroll-snap-type: x mandatory; - } - `} - - ${!1===r.scrollButtons&&a.css` - .mdx-grid__scroll { - display: none; - } - `} - `)}))} -`},18031:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GridItem=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=n.__importDefault(r(77366)),o=r(31665),l=r(59567),c=r(70917);t.GridItem=e=>{let{children:t,...r}=e;return a.default.createElement(u,{...r,className:(0,i.default)(r.className)},t)};const u=s.default.div` - ${e=>o.THEME_BREAKPOINTS.map((t=>{if(!e[t])return null;const r=e[t];return l.lsdUtils.responsive(e.theme,t,"up")(c.css` - grid-column: span ${r}; - flex-basis: calc(100% / var(--grid-cols) * ${r}); - `)}))} -`},78378:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(70655);n.__exportStar(r(7859),t),n.__exportStar(r(18031),t)},94787:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useHero=t.HeroContext=void 0;const n=r(70655).__importStar(r(67294));t.HeroContext=n.default.createContext({size:"medium"});t.useHero=()=>(0,n.useContext)(t.HeroContext)},53255:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hero=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=r(94787);r(91786);t.Hero=e=>{let{size:t="medium",className:r,children:n,verticalAlign:o="top",...l}=e;return a.default.createElement(s.HeroContext.Provider,{value:{size:t}},a.default.createElement("div",{className:(0,i.default)(r,"mdx-hero",`mdx-hero--${t}`,`mdx-hero--${o}`),...l},n))}},72295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(53255),t)},23908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroAction=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(88746)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294));r(85661);t.HeroAction=e=>{let{size:t="large",variant:r="outlined",className:n,children:l,...c}=e;return o.default.createElement(a.default,{className:(0,s.default)(n,"mdx-hero-action",`mdx-hero-action--${t}`),...c},o.default.createElement(i.Button,{variant:r,size:t},o.default.createElement(i.Typography,{component:"span",variant:"label1",style:{color:"inherit"}},l)))}},48126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(23908),t)},82897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroActions=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294));r(57255);t.HeroActions=e=>{let{className:t,children:r,...n}=e;return a.default.createElement("div",{className:(0,i.default)(t,"mdx-hero-actions"),...n},r)}},16693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(82897),t)},28795:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroDescription=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294)),o=r(94787);r(30204);t.HeroDescription=e=>{let{size:t,className:r,uppercase:n=!1,children:l,...c}=e;const u=(0,o.useHero)(),h=t??(u?u.size:"medium");return s.default.createElement(i.Typography,{variant:"h4",className:(0,a.default)(r,"mdx-hero-description",`mdx-hero-description--${h}`,n?"mdx-hero-description--uppercase":""),...c},l)}},22447:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(28795),t)},37734:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroImage=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294));r(56220);t.HeroImage=e=>{let{src:t,alt:r,className:n,children:s,...o}=e;return a.default.createElement("div",{className:(0,i.default)(n,"mdx-hero-image"),...o},a.default.createElement("img",{src:t,alt:r,className:"mdx-hero-image__img"}),s)}},23494:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(37734),t)},78274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroInfo=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=r(67713),o=r(94787),l=r(65701);r(6460);t.HeroInfo=e=>{let{size:t,className:r,hideScrollToBottom:n=!1,children:c,...u}=e;const h=(0,o.useHero)(),d=(0,s.useHydrated)(),p=t||(h?h.size:"medium");return a.default.createElement(a.default.Fragment,null,a.default.createElement("div",{className:(0,i.default)(r,"mdx-hero-info",`mdx-hero-info--${p}`),...u},c),d&&!n&&a.default.createElement(l.ScrollToBottom,null))}},67812:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(78274),t)},84773:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsciiRenderer=void 0;const n=r(70655),i=r(44169),a=r(64232),s=n.__importStar(r(67294)),o=r(84849),l=r(24052);t.AsciiRenderer=e=>(function(e){void 0===e&&(e={});const{renderIndex:t=i.defaultAsciiConfigs.renderIndex,characters:r=i.defaultAsciiConfigs.characters,invert:n=i.defaultAsciiConfigs.invert,color:c=i.defaultAsciiConfigs.color,resolution:u=i.defaultAsciiConfigs.resolution,bgColor:h=i.defaultAsciiConfigs.bgColor,fgColor:d=i.defaultAsciiConfigs.fgColor,textShadowSize:p=i.defaultAsciiConfigs.textShadowSize,withTextShadow:f=!1}=e,{gl:m,size:g,scene:v,camera:A,viewport:y}=(0,a.useThree)(),x=(0,s.useMemo)((()=>{const e=new o.AsciiEffect(m,r,{invert:n,color:c,resolution:u});return e.domElement.style.position="absolute",e.domElement.style.top="0px",e.domElement.style.left="0px",e.domElement.style.pointerEvents="none",e}),[r,n,c,u]);(0,s.useLayoutEffect)((()=>{x.domElement.style.color=d}),[d,h]),(0,s.useEffect)((()=>{if(m.domElement.style.opacity="0",m.domElement.parentNode.appendChild(x.domElement),f){const e=document.createElement("style");e.innerHTML=`table *{text-shadow: ${(0,l.generateTextShadow)(p)};`,x.domElement.appendChild(e)}return()=>{m.domElement.style.opacity="1",m.domElement.parentNode.removeChild(x.domElement)}}),[x]),(0,s.useEffect)((()=>{x.setSize(g.width,g.height)}),[x,g]),(0,a.useFrame)((e=>{x.render(v,A)}),t)}(e),s.default.createElement(s.default.Fragment,null))},35901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Controls=void 0;const n=r(70655),i=r(44169),a=n.__importStar(r(67294)),s=r(40213),o=r(64232),l=r(90278),c=r(24052),u=(e,t,r)=>(1-r)*e+r*t;function h(e,t,r,n){const i=Math.min(e,t)/t,a=[0,0,0];for(let s=0;s<3;s++)a[s]=u(r[s],n[s],i);return a}t.Controls=e=>{let{rotateSpeed:t=i.ROTATE_SPEED,enableZoom:r=!0,enableRotateOnScroll:n=!0,preset:u,targetPreset:d,children:p,...f}=e;const m=(0,a.useRef)(),g=(0,s.useScrollY)(),{camera:v,size:A}=(0,o.useThree)(),y=(0,a.useRef)(),[x,b]=a.default.useState(!1),[w,_]=a.default.useState(1),[E,S]=a.default.useState(0);return(0,o.useFrame)(((e,r)=>{m.current.rotation.y-=r*((0,c.isMobile)()?.6*t:t)})),(0,a.useEffect)((()=>{const e=()=>{console.log(JSON.stringify({cameraPos:v.position.toArray(),cameraRot:v.rotation.toArray().slice(0,3),controlsTarget:y.current.target.toArray()},null,2))};return window.addEventListener("click",e),()=>window.removeEventListener("click",e)}),[v]),(0,a.useEffect)((()=>{(0,c.isTouchDevice)()&&(y.current.minPolarAngle=Math.PI/2,y.current.maxPolarAngle=Math.PI/2,setTimeout((()=>{b(!0)}),1e3))}),[]),(0,a.useEffect)((()=>{(0,c.isMobile)()&&(_((0,c.mapFloat)(g,0,(0,c.calcScrollThreshold)(),1,.65)),S((0,c.mapFloat)(g,0,(0,c.calcScrollThreshold)(),0,.35)))}),[g]),(0,a.useEffect)((()=>{if(!r)return;if(!d)return;const e=h(g,400,u.cameraPos,d.cameraPos),t=h(g,400,u.cameraRot,d.cameraRot),n=h(g,400,u.controlsTarget,d.controlsTarget);v.position.set(...e),v.rotation.set(...t),y.current.target.set(...n),v.updateProjectionMatrix()}),[g,v]),a.default.createElement("group",{ref:m,...f,scale:w,"position-y":E},p,a.default.createElement(l.OrbitControls,{ref:y,enableZoom:!1,target:y.current?y.current.target:u.controlsTarget,enabled:!x}))}},44169:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OBJECTS_PRESETS=t.defaultPresets=t.defaultAsciiConfigs=t.INITIAL_ZOOM=t.RESIZE_SPEED_FACTOR=t.MIN_ZOOM=t.MAX_ROTATE_SPEED=t.MIN_ROTATE_SPEED=t.ROTATE_SPEED=void 0,t.ROTATE_SPEED=.1,t.MIN_ROTATE_SPEED=0,t.MAX_ROTATE_SPEED=1,t.MIN_ZOOM=.22,t.RESIZE_SPEED_FACTOR=.9,t.INITIAL_ZOOM=3,t.defaultAsciiConfigs={renderIndex:1,bgColor:"rgb(var(--lsd-surface-primary))",fgColor:"rgb(var(--lsd-text-primary))",characters:" l.o.g.o.s ",invert:!1,color:!1,resolution:.21,textShadowSize:15},t.defaultPresets={modelId:"default",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[-2.733342169570335,1.127956558492365,2.7690180385429666],controlsTarget:[-.2185887974027981,3.4320197290105474,-.08409377618890646]},abstract:{cameraPos:[-1.4826176635786852,4.021180061821954,-1.5929058418153597],cameraRot:[-2.9244096935808908,-.8625529112689497,-2.9755407843387185],controlsTarget:[-.3236695017538898,3.8072918272567,-.6236093222013962]}},t.OBJECTS_PRESETS=[t.defaultPresets,{modelId:"architecture01",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"architecture02",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"architecture03",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"architecture04",simple:{cameraPos:[2.263701079468784,.6448855513810133,-1.1446840846564066],cameraRot:[-2.3314571674867457,.984733935216302,2.422537357648925],controlsTarget:[.6593539926170827,-.1266335925222026,-.4104215479626598]},abstract:{cameraPos:[1.8397825927313005,.5006635210357668,-.7112749496103248],cameraRot:[-2.0637769654190388,.941591559117755,2.1572780914058356],controlsTarget:[.7525282128865571,-.19650999135957886,-.33673737792715125]},targetLook:{cameraPos:[1.2775067913826557,1.3342390202957728,-3.123518037652026],cameraRot:[-2.6905895797482686,.32826936260575107,2.9867046984290964],controlsTarget:[.27965301570358253,.05724884619536415,-.48670374558576035]}},{modelId:"architecture05",simple:{cameraPos:[2.783916402572475,.8560027544276005,2.7596737879252995],cameraRot:[-.16075199314229247,.8310730403125255,.11920589473418516],controlsTarget:[-.13283501637059433,.4299574965789378,.13221598116033606]},abstract:{cameraPos:[-.5465903796360435,.8773980794748312,.08538618930043433],cameraRot:[-.26855166005001807,-1.1713993239674987,-.24830772343977955],controlsTarget:[-.0544632211815667,.8222830795164463,-.1148867151943581]},targetLook:{cameraPos:[-.08633866196975185,1.065498410363367,3.299441795447572],cameraRot:[-.30705338387773307,-.04232616594886318,-.01341603621000156],controlsTarget:[.057360484222938594,.03995565554668334,.06512362298065871]}},{modelId:"architecture06",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"architecture07",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"atlas",simple:{cameraPos:[-.05747471409961126,1.1561369169508278,.2934743027588207],cameraRot:[.13523803197626882,-.45004875426349367,.05912213357583956],controlsTarget:[-.03052411570622545,1.1636581998026059,.23819862568800665]},abstract:{cameraPos:[-.18886266143333627,1.0759713173211645,.49472614307040697],cameraRot:[.11827338438455919,-.49355424749746096,.056236459481599846],controlsTarget:[-.03586918676122722,1.1095292429426495,.21231853618809665]},targetLook:{cameraPos:[-.6194495673706852,.6791728914823414,1.1145248759455844],cameraRot:[.08253419059538356,-.589296072042965,.045942607479927136],controlsTarget:[.09058057232790886,.7667301800204325,.05607398084523753]}},{modelId:"bust01",simple:{cameraPos:[-.6865425525854476,.9101267370893742,.6192780523604176],cameraRot:[-.39660492694232563,-.962317303218196,-.3309893133032883],controlsTarget:[.008888669206507317,.7229784900626205,.17240700391361993]},abstract:{cameraPos:[.025758408225725123,.9432728632646389,.5085343068565109],cameraRot:[-.016796160047877214,.23199352927595504,.003862085219634371],controlsTarget:[-.04849025797636223,.9379943498483801,.19429480114059927]},targetLook:{cameraPos:[-.0995637601904456,.9905193985583883,1.2844592429465957],cameraRot:[-.21489715158374015,-.011908392248228742,-.002599147273856083],controlsTarget:[-.08519853311178426,.7332893758986562,.10595091334036527]}},{modelId:"bust02",simple:{cameraPos:[-1.4566842350476759,1.3228318382357354,.3529107224325513],cameraRot:[-.7212161402570414,-1.161345100016008,-.6787189972933454],controlsTarget:[.13759890903780844,.8659810364239205,-.1666973840261623]},abstract:{cameraPos:[-.3488062269042841,1.3111379960412364,.033354968216059155],cameraRot:[-.7212161402570405,-1.1613451000160089,-.6787189972933446],controlsTarget:[.2227218365835886,1.147363414950647,-.15291722311874764]}},{modelId:"bust03",simple:{cameraPos:[6.898858137575106,4.772099506970454,-3.1821660872368627],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"discobolus",simple:{cameraPos:[.9321278495515372,1.1243517299151449,1.0437243089401456],cameraRot:[-.05449607597993083,.5948614803388417,.030560026854436973],controlsTarget:[.17851738112859908,1.0636847191934362,-.06840974825492452]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"hand",simple:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"vase01",simple:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}},{modelId:"venus",simple:{cameraPos:[-.33960257176056113,1.3731114512210183,.5843851218219973],cameraRot:[.19165735697369993,-.4160172409280952,.07825504508386714],controlsTarget:[.1766806722765915,1.595709756901872,-.5627979418735829]},abstract:{cameraPos:[-.2543046264127692,1.591894996466899,.21161310295797725],cameraRot:[.17078534527374745,-.637502107706861,.10229142114685894],controlsTarget:[.2766995177502174,1.7137410300309837,-.49488235116491014]}},{modelId:"flower",simple:{cameraPos:[-.33960257176056113,1.3731114512210183,.5843851218219973],cameraRot:[0,0,0],controlsTarget:[0,0,0]},abstract:{cameraPos:[0,0,0],cameraRot:[0,0,0],controlsTarget:[0,0,0]}}]},9354:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroModel=void 0;const n=r(70655),i=r(90278),a=r(64232),s=n.__importDefault(r(86010)),o=n.__importStar(r(67294)),l=r(44169),c=r(24052),u=r(84773),h=r(35901);r(61588);const d=r(40213);function p(e){let{url:t,onMount:r=(()=>{}),...n}=e;const{scene:a}=(0,i.useGLTF)(t,"/scripts/draco-1.4.3/");return(0,o.useEffect)((()=>{r()}),[]),o.default.createElement("primitive",{object:a,...n})}t.HeroModel=e=>{const{modelId:t,preset:r,mode:n="simple",className:i,children:f,asciiConfig:m,rotateSpeed:g=l.ROTATE_SPEED,enableZoom:v,enableRotateOnScroll:A,withParallelEffect:y=!0,startY:x="bottom",...b}=e,w=((e,t,r)=>(0,o.useMemo)((()=>{if(t)return{...l.defaultPresets,[e]:t};if(!r)return l.defaultPresets;return l.OBJECTS_PRESETS.find((e=>e.modelId===r))||l.defaultPresets}),[t,r]))(n,r,t),_=(0,d.useScrollY)();return o.default.createElement("div",{className:(0,s.default)(i,"mdx-hero-model","mdx-hero-model--ascii",`mdx-hero-model--${n}`,`mdx-hero-model--${x}`),...b},o.default.createElement("div",{className:"mdx-hero-model--inner",style:{...y?{transform:"translateY(0px) scale(var(--mdx-hero-model-wrapper-scale))"}:{}}},o.default.createElement(o.Suspense,{fallback:o.default.createElement("span",null," ")},o.default.createElement(a.Canvas,{dpr:[1,2],style:{height:"100vh"},camera:{fov:50,position:w[n].cameraPos,rotation:w[n].cameraRot}},o.default.createElement("directionalLight",{position:[-10,10,0],intensity:1.5}),o.default.createElement("directionalLight",{position:[-10,10,5],intensity:.3}),o.default.createElement("directionalLight",{position:[-10,20,0],intensity:1.5}),o.default.createElement("directionalLight",{position:[100,-10,0],intensity:.25}),o.default.createElement(h.Controls,{rotateSpeed:g,preset:w[n],targetPreset:w.targetLook,enableZoom:"simple"!==n},o.default.createElement(o.Suspense,{fallback:o.default.createElement(p,{url:`/hero/${w.modelId}/lo.glb`})},o.default.createElement(p,{url:`/hero/${w.modelId}/hi.glb`}),o.default.createElement(u.AsciiRenderer,{...m})))))),o.default.createElement("div",{className:"mdx-hero-model--shade",style:{opacity:(0,c.mapFloat)(_,0,(0,c.calcScrollThreshold)()*l.RESIZE_SPEED_FACTOR,0,1)}}))}},28292:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroModel=void 0;const n=r(70655).__importDefault(r(67294)),i=r(24052),a=r(40213),s=r(9354);t.HeroModel=e=>{if("undefined"==typeof window)return null;const t=(0,a.useScrollY)();(0,i.mapFloat)(t,0,(0,i.calcScrollThreshold)(),0,.1*window.innerHeight);return n.default.createElement("div",{style:{position:"absolute",top:0,left:0}},n.default.createElement(s.HeroModel,{...e}))}},59533:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroTitle=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294)),o=r(94787);r(92751);t.HeroTitle=e=>{let{size:t,uppercase:r,className:n,children:l,...c}=e;const u=(0,o.useHero)(),h=t||(u?u.size:"medium"),d=void 0!==r?r:"large"===(null==u?void 0:u.size);return s.default.createElement(i.Typography,{variant:"h1",component:"h1",className:(0,a.default)(n,"mdx-hero-title",`mdx-hero-title--${h}`,d&&"mdx-hero-title--uppercase"),...c},l)}},85486:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(59533),t)},37207:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HeroVideo=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importStar(r(67294)),s=r(9259),o=r(32833),l=r(67713),c=r(94787);r(53175);t.HeroVideo=e=>{let{placeholderSrc:t,desktop:r,mobile:n,className:u,style:h={},children:d,...p}=e;(0,c.useHero)();const f=(0,l.useHydrated)(),m=(0,a.useRef)(null),[g,v]=(0,a.useState)(!0),A=async()=>{const e=m.current;if(!e)return;e.muted=!0,e.defaultMuted=!0;const[t,r]=await(0,o.settle)((()=>e.play()));r||v(!1)};return(0,a.useEffect)((()=>{const e=document.querySelector(".col > article");if(e)return e.classList.add("overflow-hidden"),()=>{e.classList.remove("overflow-hidden")}}),[]),a.default.createElement(a.default.Fragment,null,a.default.createElement("div",{className:(0,i.default)(u,"mdx-hero-video",g&&"mdx-hero-video--loading"),style:(0,s.makeStyle)({...h},{"hero-video-scale":(null==r?void 0:r.scale)??"1.70951586","hero-video-offset-y":(null==r?void 0:r.offsetY)??"-150px","hero-video-height":(null==r?void 0:r.height)??"100%","hero-video-min-height":(null==r?void 0:r.minHeight)??"min(100vh, var(--hero-max-height))","hero-video-scale-mobile":(null==n?void 0:n.scale)??"1.70951586","hero-video-offset-y-mobile":(null==n?void 0:n.offsetY)??"-50px","hero-video-height-mobile":(null==n?void 0:n.height)??"120%","hero-video-min-height-mobile":(null==n?void 0:n.minHeight)??"100vh"}),...p},a.default.createElement("div",{className:"mdx-hero-video__placeholder"},a.default.createElement("img",{src:t,alt:""})),a.default.createElement("div",{className:"mdx-hero-video__video"},f&&a.default.createElement("video",{ref:m,loop:!0,muted:!0,autoPlay:!0,playsInline:!0,onCanPlay:A,onLoadedMetadata:A},d))))}},98130:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(37207),t)},66210:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputCTASection=void 0;const n=r(70655),i=n.__importDefault(r(67294));r(43871);const a=r(31665),s=n.__importDefault(r(88746)),o=n.__importDefault(r(86010));t.InputCTASection=e=>{let{title:t,description:r,label:n,link:l,linkProps:c,formInput:u,formListId:h}=e;const[d,p]=i.default.useState({email:"",name:""}),[f,m]=i.default.useState(""),g=e=>{p({...d,[e.target.name]:e.target.value})};return i.default.createElement("div",{className:"mdx-input-cta-section__container"},t&&i.default.createElement(a.Typography,{variant:"subtitle1",component:"p",className:"mdx-input-cta-section__title"},t),i.default.createElement(a.Typography,{component:"h3",variant:"h3",className:(0,o.default)("input-cta-section__description",!u&&"input-cta-section__description--no-form")},r),null!=u&&u.length?i.default.createElement("form",{className:"mdx-input-cta-section__form",onSubmit:async e=>{e.preventDefault();try{const e=await fetch("https://odoo.logos.co/website_mass_mailing/subscribe2",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",method:"call",params:{value:null==d?void 0:d.email,name:(null==d?void 0:d.name)||"",list_id:h,subscription_type:"email"}})}),t=await e.json();m(t.result.message)}catch(t){console.log(t),m("There was an error submitting the form. Please try again.")}}},i.default.createElement("div",{className:"mdx-input-cta-section__input-fields"},u.map(((e,t)=>i.default.createElement(a.TextField,{key:t,className:"mdx-input-cta-section__input",onChange:g,value:d[e.name],inputProps:{...e}})))),i.default.createElement("div",null,i.default.createElement(a.Button,{type:"submit",className:"mdx-input-cta-section__cta"},i.default.createElement(a.Typography,{variant:"body1"},n)),i.default.createElement(a.Typography,{variant:"body2"},f))):i.default.createElement(s.default,{to:l,...c},i.default.createElement(a.Button,{className:"mdx-input-cta-section__cta"},i.default.createElement(a.Typography,{variant:"body1"},n))))}},74603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(66210),t)},48949:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JobsPerDepartment=void 0;const n=r(70655),i=r(31665),a=r(744),s=n.__importDefault(r(67294)),o=r(31174),l=e=>{let{message:t}=e;return s.default.createElement(s.default.Fragment,null,s.default.createElement(i.Typography,{variant:"h1",className:"mdx-jpd__header"},"Current job openings"),!!t&&s.default.createElement(i.Typography,{variant:"body1"},t))};t.JobsPerDepartment=e=>{let{jobData:t,titleFilter:r="",useDummyData:n=!1,...i}=e,c=n?o.jobsPerDepartmentDummyData:null==t?void 0:t.departments;return c&&(u=c)&&u.some((e=>e.jobs&&e.jobs.length>0))?(c&&r&&(c=c.map((e=>({...e,jobs:e.jobs.filter((e=>e.title.includes(r)))})))),s.default.createElement("div",{...i},s.default.createElement(l,null),c.map((e=>s.default.createElement(a.SingleDepartmentJobs,{key:e.name,department:e}))))):s.default.createElement(l,{message:"No job openings to show"});var u}},744:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleDepartmentJobs=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(67294)),s=r(6980);r(37477);const o=n.__importDefault(r(88746));t.SingleDepartmentJobs=e=>{let{department:t}=e;return t.jobs&&0!==t.jobs.length?a.default.createElement("div",{className:"mdx-jpd__single-job-department-container"},a.default.createElement(i.Typography,{variant:"subtitle2",className:"mdx-jpd__department-title"},t.name),a.default.createElement("ul",{className:"mdx-jpd__job-list"},t.jobs.map(((e,t)=>{var r;return a.default.createElement("li",{key:t,className:"mdx-jpd__job-list-item"},a.default.createElement(o.default,{href:e.absolute_url,target:"_blank",className:"mdx-jpd__job-link"},a.default.createElement("div",{className:"mdx-jpd__job-title-container"},a.default.createElement(i.Typography,{variant:"h5",className:"mdx-jpd__job-title"},e.title),a.default.createElement(s.IconExternalLink,{className:"mdx-jpd__external-link-icon"})),!(null==(r=e.location)||!r.name)&&a.default.createElement(i.Typography,{variant:"subtitle2",component:"div"},e.location.name)))})))):null}},39610:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(48949),t)},31174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.jobsPerDepartmentDummyData=void 0,t.jobsPerDepartmentDummyData=[{id:87842,name:"App",parent_id:43806,child_ids:[87847,87852,87850,87848,45530,87849],jobs:[]},{id:54504,name:"Brand Design Studio",parent_id:null,child_ids:[],jobs:[]},{id:45532,name:"Business Development",parent_id:null,child_ids:[],jobs:[]},{id:87841,name:"Codex",parent_id:43806,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5329400",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2662332,location:{name:"Remote (Worldwide)"},metadata:null,id:5329400,updated_at:"2023-10-13T09:40:03-04:00",requisition_id:"Cod-6",title:"Technical Business Development Lead [Codex]"}]},{id:84549,name:"Communications",parent_id:null,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5276254",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2645076,location:{name:"Remote (Worldwide)"},metadata:null,id:5276254,updated_at:"2023-10-19T03:08:59-04:00",requisition_id:"PROV-Com-16",title:"Motion Designer"}]},{id:45531,name:"Design",parent_id:null,child_ids:[],jobs:[]},{id:87847,name:"Desktop",parent_id:87842,child_ids:[],jobs:[]},{id:87852,name:"Documentation",parent_id:87842,child_ids:[],jobs:[]},{id:45547,name:"Engineering ",parent_id:null,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5419957",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2693761,location:{name:"Remote (Worldwide)"},metadata:null,id:5419957,updated_at:"2023-10-24T07:30:00-04:00",requisition_id:"APP-QA-2",title:"Desktop QA Engineer "},{absolute_url:"https://jobs.status.im/?gh_jid=3694379",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2055210,location:{name:"Remote (Worldwide)"},metadata:null,id:3694379,updated_at:"2023-10-24T16:23:12-04:00",requisition_id:"BACK-1050",title:"Senior C++ Qt/QML developer for blockchain app"},{absolute_url:"https://jobs.status.im/?gh_jid=3702173",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2058858,location:{name:"Remote (Worldwide)"},metadata:null,id:3702173,updated_at:"2023-10-24T16:21:54-04:00",requisition_id:"93",title:"Senior Mobile ClojureScript UI Developer "}]},{id:49925,name:"Finance",parent_id:87845,child_ids:[],jobs:[]},{id:87854,name:"Infrastructure",parent_id:43806,child_ids:[],jobs:[]},{id:87853,name:"Insights",parent_id:87845,child_ids:[],jobs:[]},{id:87850,name:"Keycard",parent_id:87842,child_ids:[],jobs:[]},{id:145838,name:"Leadership",parent_id:null,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5447463",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2704948,location:{name:"Remote (Worldwide)"},metadata:null,id:5447463,updated_at:"2023-10-24T09:07:22-04:00",requisition_id:"LEAD-1",title:"Chief of Staff [whole ecosystem]"}]},{id:74156,name:"Legal",parent_id:87845,child_ids:[],jobs:[]},{id:91698,name:"Logos",parent_id:null,child_ids:[],jobs:[]},{id:43807,name:"Marketing",parent_id:null,child_ids:[],jobs:[]},{id:87848,name:"Mobile",parent_id:87842,child_ids:[],jobs:[]},{id:87843,name:"Nimbus",parent_id:43806,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5370820",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2679527,location:{name:"Remote (Worldwide)"},metadata:null,id:5370820,updated_at:"2023-10-19T03:05:07-04:00",requisition_id:"LIDO-1",title:"Senior DevOps Engineer (Blockchain)"}]},{id:144866,name:"Nomos",parent_id:43806,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5433423",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2315608,location:{name:"Remote (Worldwide)"},metadata:null,id:5433423,updated_at:"2023-10-12T11:20:52-04:00",requisition_id:"PROV-Nom-5",title:"Applied Network Researcher"}]},{id:45548,name:"People Operations",parent_id:87845,child_ids:[],jobs:[]},{id:45530,name:"Product Design",parent_id:87842,child_ids:[],jobs:[]},{id:90941,name:"Program Management",parent_id:null,child_ids:[],jobs:[]},{id:43806,name:"Research & Development",parent_id:null,child_ids:[87842,87841,87854,87843,144866,87846,87981,87847,87852,87850,87848,45530,87849],jobs:[]},{id:87851,name:"Security",parent_id:87845,child_ids:[],jobs:[]},{id:87845,name:"Services",parent_id:null,child_ids:[49925,87853,74156,45548,87851],jobs:[]},{id:91697,name:"Status App ",parent_id:null,child_ids:[],jobs:[]},{id:54783,name:"Technical Writing ",parent_id:null,child_ids:[],jobs:[]},{id:87846,name:"Vac",parent_id:43806,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=4460860",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2331302,location:{name:"Remote (Worldwide)"},metadata:null,id:4460860,updated_at:"2023-10-04T05:13:53-04:00",requisition_id:"PROV-zkV-1",title:"Zero Knowledge Research Engineer "}]},{id:87981,name:"Waku",parent_id:43806,child_ids:[],jobs:[{absolute_url:"https://jobs.status.im/?gh_jid=5456032",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2707470,location:{name:"Remote (Worldwide)"},metadata:null,id:5456032,updated_at:"2023-10-23T11:40:19-04:00",requisition_id:"WAK-GL-1",title:"Growth Lead"},{absolute_url:"https://jobs.status.im/?gh_jid=3693623",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2055187,location:{name:"Remote (Worldwide)"},metadata:null,id:3693623,updated_at:"2023-10-04T05:13:53-04:00",requisition_id:"PROV-Sec-2",title:"Protocol Engineer"},{absolute_url:"https://jobs.status.im/?gh_jid=3157908",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:1830496,location:{name:"Remote, Worldwide"},metadata:null,id:3157908,updated_at:"2023-10-04T05:13:53-04:00",requisition_id:"PROV-Sec-3",title:"Protocol Researcher (Distributed Systems)"},{absolute_url:"https://jobs.status.im/?gh_jid=5175038",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2584916,location:{name:"Remote (Worldwide)"},metadata:null,id:5175038,updated_at:"2023-10-09T05:53:53-04:00",requisition_id:"SDK-2",title:"Software Engineer (Chat SDK)"},{absolute_url:"https://jobs.status.im/?gh_jid=5310503",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2656108,location:{name:"Remote (Worldwide)"},metadata:null,id:5310503,updated_at:"2023-10-19T03:12:53-04:00",requisition_id:"PROV-Wak-13",title:"Software Engineer Distributed Systems Testing"},{absolute_url:"https://jobs.status.im/?gh_jid=5423094",data_compliance:[{type:"gdpr",requires_consent:!1,requires_processing_consent:!1,requires_retention_consent:!1,retention_period:null}],internal_job_id:2694724,location:{name:"Remote (Worldwide)"},metadata:null,id:5423094,updated_at:"2023-10-24T12:39:05-04:00",requisition_id:"WAK-BD-1",title:"Technical Business Development Lead "}]},{id:87849,name:"Web",parent_id:87842,child_ids:[],jobs:[]},{id:0,name:"No Department",parent_id:null,child_ids:[],jobs:[]}]},69935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogoCarousel=void 0;const n=r(70655),i=n.__importDefault(r(25812)),a=n.__importDefault(r(86010)),s=n.__importStar(r(67294));r(11620);const o=r(65701),l=r(3796),c=r(67713);t.LogoCarousel=e=>{let{title:t,gridGap:r="80px",className:n,items:u=[],children:h,...d}=e;const p=(0,c.useHydrated)(),f=(0,s.useRef)(null),m=(0,s.useRef)(null);var g;"undefined"!=typeof window&&p&&!m.current&&(m.current=(null==(g=f.current)?void 0:g.querySelector(".mdx-grid__content"))??null);return s.default.createElement("div",{ref:f,className:(0,a.default)(n,"mdx-logo-carousel"),...d},s.default.createElement(o.SectionHeader,{title:t,noBorder:!0}),s.default.createElement("div",{className:"mdx-logo-carousel-buttons"},s.default.createElement(l.ScrollButtons,{containerRef:m,spacing:"spaced"})),s.default.createElement(o.Grid,{className:"mdx-logo-carousel__inner",xs:{wrap:!1,gap:r,scrollButtons:!1}},u.map((e=>s.default.createElement(o.Grid.Item,{className:"mdx-logo-carousel__item"},s.default.createElement(i.default,{className:"mdx-logo-carousel__logo",title:e.title,sources:{dark:e.logoSrcDark??e.logoSrc??"",light:e.logoSrc??e.logoSrcDark??""}}))))))}},80756:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(69935),t)},45706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NewsletterSubscription=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294)),o=r(65701),l=r(3538),c=r(38840);r(58287);t.NewsletterSubscription=e=>{var t,r;let{title:n,description:u,mailingListId:h,...d}=e;const p=(null==(t=(0,c.useThemeOptions)())||null==(r=t.newsletterSubscription)?void 0:r.mailingListId)??0,f=h??p,m=(0,l.useNewsletterApi)(),g=!m.message||m.error,v=n??"Newsletter",A=u??s.default.createElement(s.default.Fragment,null,"Subscribe",s.default.createElement("br",null),"to our newsletter");return s.default.createElement(o.CallToActionSection,{className:"mdx-ns",title:s.default.createElement("span",{className:"mdx-ns__title"},v),description:s.default.createElement("div",{className:"mdx-ns__inner"},s.default.createElement("span",{className:"mdx-ns__description"},A),s.default.createElement("form",{onSubmit:e=>{e.preventDefault();const t=e.target,r=t.elements.namedItem("name").value,n=t.elements.namedItem("email").value;m.subscribe(f,n,r)}},m.message&&s.default.createElement(i.Toast,{title:m.message,className:"mdx-ns__toast",icon:m.error?i.ErrorIcon:i.CheckIcon}),s.default.createElement("div",{className:(0,a.default)("mdx-ns__inputs",!g&&"hidden")},s.default.createElement(i.TextField,{inputProps:{type:"text",name:"name"},variant:"underlined",placeholder:"First name or pseudonym"}),s.default.createElement(i.TextField,{inputProps:{type:"email",name:"email",required:!0},variant:"underlined",placeholder:"Email address (required)"})),s.default.createElement(i.Button,{size:"large",color:"primary",variant:"outlined",className:(0,a.default)("mdx-ns__submit-button",!g&&"hidden"),disabled:m.busy},"Subscribe"))),columns:2})}},1765:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(45706),t)},9737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PoweredBy=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=r(65701);r(63428);t.PoweredBy=e=>{let{items:t=[],className:r,...n}=e;return a.default.createElement(s.Grid,{className:(0,i.default)(r,"mdx-powered-by"),xs:{cols:1,wrap:!0,gap:"0 1rem"},lg:{cols:2},...n},t.map(((e,t)=>a.default.createElement(s.Grid.Item,{key:t,xs:1},a.default.createElement(s.AppCard,{...e})))))}},73465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(9737),t)},44564:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProfileCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(88746)),s=n.__importDefault(r(67294)),o=r(6980);r(36489);const l=n.__importDefault(r(86010));t.ProfileCard=e=>{var t;let{imgSrc:r,name:n,githubUsername:c,githubLink:u,discordUsername:h,discordLink:d,...p}=e;return s.default.createElement("div",{...p,className:(0,l.default)("mdx-profile-card",p.className)},s.default.createElement("div",{className:"mdx-profile-card__profile"},void 0===r&&n?s.default.createElement("span",{className:"mdx-profile-card__profile-placeholder"},null==(t=n[0])?void 0:t.toUpperCase()):s.default.createElement("img",{alt:"string"==typeof n?n:"",className:"mdx-profile-card__profile-image",src:r}),s.default.createElement("div",null,s.default.createElement(i.Typography,{className:"mdx-profile-card__name",variant:"h4",component:"h4"},n),c||h?s.default.createElement("div",{className:"mdx-profile-card__buttons"},c&&u&&s.default.createElement(a.default,{href:u,target:"_blank",className:"mdx-profile-card__link"},s.default.createElement(o.IconGithub,null)),h&&d&&s.default.createElement(a.default,{href:d,target:"_blank",className:"mdx-profile-card__link"},s.default.createElement(o.IconDiscord,{size:"m"}))):null)))}},46877:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(44564),t)},47562:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Roadmap=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=r(65701),o=r(74219);r(74166);t.Roadmap=e=>{let{title:t,description:r,timeline:n=[],noBorder:l=!1,href:c,linkLabel:u,className:h,children:d,...p}=e;const f=(new Date).getFullYear(),m=(e,t,r)=>{if(t===r.length-1)return"none";e.period[0],r[t+1].period[0];return"solid"};return a.default.createElement("div",{className:(0,i.default)(h,"mdx-roadmap"),...p},a.default.createElement(s.CallToActionSection,{className:"mdx-roadmap__header",title:t,description:r,columns:1,ctaPosition:"top",border:!1,align:"left",href:c,label:u},d),n.length>0&&a.default.createElement(s.Grid,{className:"mdx-roadmap__timeline",xs:{cols:6,wrap:!1,gap:"0 1rem",scrollButtons:!0},spacingButtons:!0,leftLabel:"Past",rightLabel:"Future"},n.map(((e,t)=>a.default.createElement(s.Grid.Item,{key:t,xs:1},a.default.createElement(o.TimelineItem,{...e,index:t,period:e.period??f,description:e.description,borderStyle:m(e,t,n),periodStyle:"filled",className:(0,i.default)("mdx-roadmap__timeline-item",l&&"mdx-roadmap__timeline-item--no-border",e.className)}))))))}},77383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(47562),t)},35481:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollButtons=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294));r(79832);t.ScrollButtons=e=>{let{leftLabel:t,rightLabel:r,containerRef:n,containerId:o,spacing:l="grouped",...c}=e;const u=e=>{var t,r,i;const a=n?n.current:document.querySelector(`#${o}`);if(!a)return;const s=(null==(t=a.children[0])||null==t.getBoundingClientRect||null==(r=t.getBoundingClientRect())?void 0:r.width)??236;a.scrollTo({behavior:"smooth",left:a.scrollLeft+((null==(i=a.getBoundingClientRect())?void 0:i.width)-s)*e})};return s.default.createElement("div",{...c,className:(0,a.default)(c.className,"mdx-scroll-buttons","spaced"===l&&"mdx-scroll-buttons--spaced")},s.default.createElement(i.IconButtonGroup,{size:"small",color:"primary"},s.default.createElement(i.IconButton,{className:(0,a.default)("mdx-scroll-buttons__button",t&&t.length>0&&"mdx-scroll-buttons__button--with-label"),size:"small",onClick:u.bind(null,-1)},s.default.createElement(i.ChevronLeftIcon,null),t&&t.length>0&&s.default.createElement("span",{className:"mdx-scroll-buttons__label"},t)),s.default.createElement(i.IconButton,{className:(0,a.default)("mdx-scroll-buttons__button",r&&r.length&&"mdx-scroll-buttons__button--with-label"),size:"small",onClick:u.bind(null,1)},r&&r.length>0&&s.default.createElement("span",{className:"mdx-scroll-buttons__label"},r),s.default.createElement(i.ChevronRightIcon,null))))}},3796:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(35481),t)},66872:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollToBottom=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importStar(r(67294)),o=r(89164),l=r(9259),c=r(52606),u=r(40213),h=n.__importDefault(r(49933));t.ScrollToBottom=e=>{const{children:t,className:r,style:n,...d}=e,p=(0,u.useScrollY)(),f=(0,c.useIsMobile)(),m=(0,o.useWindowSize)(),g=(0,s.useMemo)((()=>{var e,t;return((null==(e=document.querySelector(".mdx-hero"))||null==(t=e.getBoundingClientRect())?void 0:t.bottom)??0)+window.scrollY}),[m.height]);return s.default.createElement(i.IconButton,{onClick:()=>{var e;const t=document.querySelector(".main-wrapper article"),r=null==t||null==(e=t.children)?void 0:e[1];if(r)return window.scrollTo({left:0,top:r.getBoundingClientRect().top-(f?200:0),behavior:"smooth"});window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},size:f?"small":"large",className:(0,a.default)(h.default.scrollToBottom,r,p>20&&h.default.hide),style:(0,l.makeStyle)({...n??{}},{vh:m.height/100+"px",maxTop:g+"px"}),...d},s.default.createElement(i.ChevronDownIcon,{color:"primary"}))}},19538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(66872),t)},18291:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SectionHeader=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294)),o=r(65701);r(92476);t.SectionHeader=e=>{let{title:t,description:r,className:n,noBorder:l,children:c,...u}=e;const h=!!r;return s.default.createElement(o.Box,{className:(0,a.default)(n,"mdx-section-header",h&&"mdx-section-header--with-description",l&&"mdx-section-header--no-border"),...u},s.default.createElement(i.Typography,{className:"mdx-section-header__title",component:"h2",variant:"h2"},t,!h&&c&&s.default.createElement("div",{className:"mdx-section-header__extra"},c)),r&&s.default.createElement(i.Typography,{className:"mdx-section-header__description",component:"p",variant:"h3"},r,s.default.createElement("div",{className:"mdx-section-header__extra"},c)))}},83729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(18291),t)},36835:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Showcase=void 0;const n=r(70655),i=n.__importDefault(r(86010)),a=n.__importDefault(r(67294)),s=r(65701);r(13344);t.Showcase=e=>{let{items:t=[],className:r,...n}=e;return a.default.createElement(s.Grid,{className:(0,i.default)(r,"mdx-showcase"),xs:{cols:2,wrap:!0,gap:"1.5rem 1em"},lg:{cols:3,gap:"1rem"},...n},t.map(((e,t)=>a.default.createElement(s.Grid.Item,{key:t,className:"mdx-showcase__item",xs:1},a.default.createElement(s.ShowcaseCard,{...e})))))}},78090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(36835),t)},40245:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowcaseCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(25812)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294));r(29188);t.ShowcaseCard=e=>{let{index:t,name:r,logoSrc:n,logoSrcDark:l,description:c,className:u,size:h="large",borderStyle:d="solid",cta:p,children:f,...m}=e;return o.default.createElement("div",{className:(0,s.default)(u,"mdx-showcase-card",`mdx-showcase-card--${h}`,`mdx-showcase-card--border-${d}`),...m},o.default.createElement("div",{className:"mdx-showcase-card__inner"},t&&o.default.createElement(i.Typography,{className:"mdx-showcase-card__index",variant:"subtitle2",component:"div"},t),(n||l)&&o.default.createElement(a.default,{sources:{dark:l??n??"",light:n??l??""},alt:"string"==typeof r?r:"",className:"mdx-showcase-card__logo"}),r&&o.default.createElement(i.Typography,{variant:"h4",component:"h4",className:"mdx-showcase-card__name"},r),c&&o.default.createElement(i.Typography,{variant:"body1",component:"p",className:"mdx-showcase-card__description"},c),p&&o.default.createElement("a",{href:null==p?void 0:p.href,target:null==p?void 0:p.target,className:"mdx-showcase-card__cta"},null==p?void 0:p.label,o.default.createElement(i.ChevronDownIcon,{color:"primary"}))))}},65162:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(40245),t)},82732:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SocialCard=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(25812)),s=n.__importDefault(r(86010)),o=n.__importDefault(r(67294)),l=r(6980);r(63933);t.SocialCard=e=>{let{title:t,logoSrc:r,logoSrcDark:n,description:c,...u}=e;return o.default.createElement("a",{target:"_blank",...u,className:(0,s.default)(u.className,"mdx-social-card")},o.default.createElement("div",{className:"mdx-social-card__row"},(r||n)&&o.default.createElement(a.default,{sources:{dark:n??r??"",light:r??n??""},alt:t??"social card logo",className:"mdx-social-card__logo"}),o.default.createElement(l.IconExternalLink,{className:"mdx-social-card__external-link"})),o.default.createElement(i.Typography,{variant:"body1",component:"span",className:"mdx-social-card__description"},c))}},92498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(82732),t)},89885:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimelineItem=void 0;const n=r(70655),i=r(31665),a=n.__importDefault(r(86010)),s=n.__importDefault(r(67294));r(86782);t.TimelineItem=e=>{let{index:t,period:r,description:n,borderStyle:o,periodStyle:l,className:c,children:u,...h}=e;return s.default.createElement("div",{className:(0,a.default)(c,"mdx-timeline-item","dashed"===o&&"mdx-timeline-item--border-dashed"),...h},s.default.createElement("div",{className:"mdx-timeline-item__header"},s.default.createElement("div",{className:"mdx-timeline-item__period-container"},"none"!==o&&s.default.createElement("div",{className:(0,a.default)("mdx-timeline-item__border")}),s.default.createElement(i.Typography,{variant:"subtitle2",component:"span",className:(0,a.default)("mdx-timeline-item__period",`mdx-timeline-item__period--${l}`)},(e=>{if(Array.isArray(e)&&e.length>0){let t=e[0].toString();return e.length>1&&("+"===e[1]?t+="+":t+=" "+e[1]),t}return""})(r))),s.default.createElement(i.Typography,{variant:"h2",component:"span",className:"mdx-timeline-item__index"},"number"==typeof t?`${t<9?"0":""}${t+1}`:t)),s.default.createElement(i.Typography,{variant:"h5",component:"p",className:"mdx-timeline-item__description"},n))}},74219:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});r(70655).__exportStar(r(89885),t)},65701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(70655);n.__exportStar(r(66169),t),n.__exportStar(r(84614),t),n.__exportStar(r(64314),t),n.__exportStar(r(32765),t),n.__exportStar(r(54442),t),n.__exportStar(r(78256),t),n.__exportStar(r(6796),t),n.__exportStar(r(24084),t),n.__exportStar(r(34155),t),n.__exportStar(r(47513),t),n.__exportStar(r(78378),t),n.__exportStar(r(72295),t),n.__exportStar(r(48126),t),n.__exportStar(r(16693),t),n.__exportStar(r(22447),t),n.__exportStar(r(67812),t),n.__exportStar(r(28292),t),n.__exportStar(r(85486),t),n.__exportStar(r(98130),t),n.__exportStar(r(23494),t),n.__exportStar(r(39610),t),n.__exportStar(r(80756),t),n.__exportStar(r(1765),t),n.__exportStar(r(73465),t),n.__exportStar(r(46877),t),n.__exportStar(r(77383),t),n.__exportStar(r(19538),t),n.__exportStar(r(83729),t),n.__exportStar(r(78090),t),n.__exportStar(r(65162),t),n.__exportStar(r(92498),t),n.__exportStar(r(74219),t),n.__exportStar(r(85535),t),n.__exportStar(r(42174),t),n.__exportStar(r(70136),t),n.__exportStar(r(94030),t),n.__exportStar(r(92302),t),n.__exportStar(r(7472),t),n.__exportStar(r(24812),t),n.__exportStar(r(26498),t),n.__exportStar(r(74603),t),n.__exportStar(r(45320),t)},59567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lsdUtils=t.LsdUtils=void 0;const n=r(31665),i=r(70917);class a{constructor(){var e=this;this._breakpoints={},this.getBreakpoints=e=>{if(this._breakpoints[e.name])return this._breakpoints[e.name];const t={};for(let r=0;rthis.getBreakpoints(e)[t],this.breakpoints=function(e){return void 0===e&&(e=[]),n.THEME_BREAKPOINTS.filter((t=>!e.find((e=>e===t))))},this.typography=function(e,t){return void 0===t&&(t=!1),"subtitle3"===e?"\n font-size: 12px !important;\n font-weight: 400 !important;\n line-height: 16px !important;\n ":`\n font-size: var(--lsd-${e}-fontSize)${t?"!important":""};\n font-weight: var(--lsd-${e}-fontWeight)${t?"!important":""};\n line-height: var(--lsd-${e}-lineHeight)${t?"!important":""};\n `},this.breakpoint=function(t,r,n,i){void 0===n&&(n="up");const{min:a,max:s}=e.getBreakpoint(t,r);let o="@media ";if("up"===n)o+=`(min-width: ${a}px)`;else if("down"===n)o+=`(max-width: ${s}px)`;else if("between"===n&&i){o+=`(min-width: ${a}px) and (max-width: ${e.getBreakpoint(t,i).min-1}px)`}else o+=`(min-width: ${a}px) and (max-width: ${s}px)`;return`${o}`},this.responsive=function(e,r,n){void 0===n&&(n="up");const a=t.lsdUtils.breakpoint(e,r,n);return e=>i.css` - ${a} { - ${e} - } - `}}}t.LsdUtils=a,t.lsdUtils=new a},9259:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeStyle=void 0;t.makeStyle=function(e,t){return void 0===t&&(t={}),{...e,...Object.entries(t).reduce(((e,t)=>{let[r,n]=t;return{...e,[`--${r}`]:n}}),{})}}},24052:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.calcHeroInfoMb=t.isMobile=t.generateTextShadow=t.isTouchDevice=t.calcScrollThreshold=t.mapFloat=t.random=void 0;t.random=(e,t)=>Math.random()*(t-e)+e;t.mapFloat=(e,t,r,n,i)=>(e-t)*(i-n)/(r-t)+n;t.calcScrollThreshold=()=>.4*window.innerHeight;t.isTouchDevice=()=>"undefined"!=typeof window&&("ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints&&navigator.msMaxTouchPoints>0);t.generateTextShadow=e=>{let t="";for(let r=0;r"undefined"!=typeof window&&window.innerWidth<997;t.calcHeroInfoMb=e=>(0,t.mapFloat)(scrollY,0,(0,t.calcScrollThreshold)(),0,100)},3538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useNewsletterApi=void 0;const n=r(67294);t.useNewsletterApi=()=>{const[e,t]=(0,n.useState)(!1),[r,i]=(0,n.useState)({error:!1,message:""});return{busy:e,error:r.error,message:r.message,subscribe:async(e,r,n)=>{t(!0);try{const t=await fetch("https://odoo.logos.co/website_mass_mailing/subscribe2",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",method:"call",params:{name:n,value:r,list_id:e,subscription_type:"email"}})}),a=await t.json();i({error:!1,message:a.result.message})}catch(a){i({error:!0,message:"Something went wrong!"})}t(!1)}}}},40213:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useScrollY=void 0;const n=r(21457),i=r(67294);t.useScrollY=()=>{const[e,t]=(0,i.useState)(0);return(0,n.useWindowEventListener)("scroll",(()=>{t(window.scrollY)})),e}},77366:(e,t,r)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;tv});var i=r(67294),a=r(45042),s=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,o=(0,a.Z)((function(e){return s.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),l=r(80123),c=r(70444),u=r(48137),h=r(27278),d=o,p=function(e){return"theme"!==e},f=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?d:p},m=function(e,t,r){var n;if(t){var i=t.shouldForwardProp;n=e.__emotion_forwardProp&&i?function(t){return e.__emotion_forwardProp(t)&&i(t)}:i}return"function"!=typeof n&&r&&(n=e.__emotion_forwardProp),n},g=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return(0,c.hC)(t,r,n),(0,h.L)((function(){return(0,c.My)(t,r,n)})),null},v=function e(t,r){var a,s,o=t.__emotion_real===t,h=o&&t.__emotion_base||t;void 0!==r&&(a=r.label,s=r.target);var d=m(t,r,o),p=d||f(h),v=!p("as");return function(){var A=arguments,y=o&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==a&&y.push("label:"+a+";"),null==A[0]||void 0===A[0].raw)y.push.apply(y,A);else{0,y.push(A[0][0]);for(var x=A.length,b=1;b{"use strict";r.d(t,{Zo:()=>u,kt:()=>p});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=c(r),p=i,f=d["".concat(l,".").concat(p)]||d[p]||h[p]||a;return r?n.createElement(f,s(s({ref:t},u),{},{components:r})):n.createElement(f,s({ref:t},u))}));function p(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,s=new Array(a);s[0]=d;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:i,s[1]=o;for(var c=2;c{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;tmh,AdaptiveEvents:()=>gh,ArcballControls:()=>vs,Backdrop:()=>cu,BakeShadows:()=>ch,Billboard:()=>yi,Bounds:()=>jc,Box:()=>bc,CameraShake:()=>Yc,Center:()=>Vc,Circle:()=>wc,Clone:()=>ns,Cloud:()=>wu,ComputedAttribute:()=>$a,Cone:()=>_c,ContactShadows:()=>au,CubeCamera:()=>ss,CubicBezierLine:()=>Mi,CurveModifier:()=>oc,CycleRaycast:()=>A,Cylinder:()=>Ec,Detailed:()=>oh,DeviceOrientationControls:()=>ls,Dodecahedron:()=>Dc,Edges:()=>Va,Effects:()=>Da,Environment:()=>$c,EnvironmentCube:()=>ru,EnvironmentMap:()=>eu,EnvironmentPortal:()=>tu,Extrude:()=>Uc,FirstPersonControls:()=>Ss,Float:()=>qc,FlyControls:()=>us,GizmoHelper:()=>Us,GizmoViewcube:()=>Ks,GizmoViewport:()=>$s,GradientTexture:()=>Ua,Html:()=>v,Icosahedron:()=>Fc,Image:()=>za,Instance:()=>Zu,Instances:()=>$u,IsObject:()=>ka,Lathe:()=>Nc,Lightformer:()=>mu,Line:()=>_i,Loader:()=>E,MapControls:()=>ds,Merged:()=>eh,MeshDistortMaterial:()=>cc,MeshReflectorMaterial:()=>mc,MeshWobbleMaterial:()=>hc,Octahedron:()=>Lc,OrbitControls:()=>ps,OrthographicCamera:()=>is,PerspectiveCamera:()=>as,Plane:()=>Mc,Point:()=>Uu,PointMaterial:()=>vc,PointMaterialImpl:()=>gc,PointerLockControls:()=>_s,Points:()=>ku,PointsBuffer:()=>Nu,Polyhedron:()=>Pc,PositionalAudio:()=>Ti,Preload:()=>lh,PresentationControls:()=>pi,QuadraticBezierLine:()=>Si,Reflector:()=>hu,Ring:()=>Rc,RoundedBox:()=>Oc,Sampler:()=>Za,ScreenQuad:()=>zc,Scroll:()=>P,ScrollControls:()=>I,Segment:()=>sh,Segments:()=>ih,Select:()=>vi,Shadow:()=>uu,Sky:()=>Au,Sphere:()=>Sc,SpotLight:()=>fu,Stage:()=>ou,Stars:()=>bu,Stats:()=>go,Tetrahedron:()=>Bc,Text:()=>Ia,Torus:()=>Cc,TorusKnot:()=>Ic,TrackballControls:()=>ms,Trail:()=>Ka,TransformControls:()=>bs,Tube:()=>Tc,calcPosFromAngles:()=>vu,isWebGL2Available:()=>La,meshBounds:()=>fh,shaderMaterial:()=>Na,softShadows:()=>yc,useAnimations:()=>nc,useAspect:()=>yo,useBVH:()=>tc,useBounds:()=>Wc,useBoxProjectedEnv:()=>ac,useCamera:()=>Ms,useContextBridge:()=>rc,useCubeTexture:()=>eo,useCursor:()=>y,useDepthBuffer:()=>Ao,useDetectGPU:()=>Ro,useFBO:()=>vo,useFBX:()=>ro,useGLTF:()=>lo,useGizmoContext:()=>Cs,useHelper:()=>Po,useIntersect:()=>ic,useKTX2:()=>ho,useMatcapTexture:()=>_u,useNormalTexture:()=>Eu,useProgress:()=>w,useScroll:()=>C,useSelect:()=>Ai,useTexture:()=>Oa,useTrail:()=>qa});var i=r(67294),a=r(73935),s=r(99477),o=r(64232);const l=new s.Vector3,c=new s.Vector3,u=new s.Vector3;function h(e,t,r){const n=l.setFromMatrixPosition(e.matrixWorld);n.project(t);const i=r.width/2,a=r.height/2;return[n.x*i+i,-n.y*a+a]}const d=e=>Math.abs(e)<1e-10?0:e;function p(e,t,r=""){let n="matrix3d(";for(let i=0;16!==i;i++)n+=d(t[i]*e.elements[i])+(15!==i?",":")");return r+n}const f=(m=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>p(e,m));var m;const g=(e,t)=>p(e,(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1])(t),"translate(-50%,-50%)"),v=i.forwardRef((({children:e,eps:t=.001,style:r,className:p,prepend:m,center:v,fullscreen:A,portal:y,distanceFactor:x,sprite:b=!1,transform:w=!1,occlude:_,onOcclude:E,zIndexRange:S=[16777271,0],calculatePosition:M=h,as:T="div",wrapperClass:C,pointerEvents:I="auto",...B},R)=>{var P;const F=(0,o.useThree)((({gl:e})=>e)),L=(0,o.useThree)((({camera:e})=>e)),D=(0,o.useThree)((({scene:e})=>e)),U=(0,o.useThree)((({size:e})=>e)),N=(0,o.useThree)((({raycaster:e})=>e)),[k]=i.useState((()=>document.createElement(T))),O=i.useRef(null),G=i.useRef(0),z=i.useRef([0,0]),V=i.useRef(null),H=i.useRef(null),Q=null!==(P=null==y?void 0:y.current)&&void 0!==P?P:F.domElement.parentNode;i.useEffect((()=>{if(O.current){if(D.updateMatrixWorld(),w)k.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=M(O.current,L,U);k.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Q&&(m?Q.prepend(k):Q.appendChild(k)),()=>{Q&&Q.removeChild(k),a.unmountComponentAtNode(k)}}}),[Q,w]),i.useLayoutEffect((()=>{C&&(k.className=C)}),[C]);const j=i.useMemo((()=>w?{position:"absolute",top:0,left:0,width:U.width,height:U.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:v?"translate3d(-50%,-50%,0)":"none",...A&&{top:-U.height/2,left:-U.width/2,width:U.width,height:U.height},...r}),[r,v,A,U,w]),W=i.useMemo((()=>({position:"absolute",pointerEvents:I})),[I]);i.useLayoutEffect((()=>{w?a.render(i.createElement("div",{ref:V,style:j},i.createElement("div",{ref:H,style:W},i.createElement("div",{ref:R,className:p,style:r,children:e}))),k):a.render(i.createElement("div",{ref:R,style:j,className:p,children:e}),k)}));const X=i.useRef(!0);return(0,o.useFrame)((()=>{if(O.current){L.updateMatrixWorld(),O.current.updateWorldMatrix(!0,!1);const e=w?z.current:M(O.current,L,U);if(w||Math.abs(G.current-L.zoom)>t||Math.abs(z.current[0]-e[0])>t||Math.abs(z.current[1]-e[1])>t){const t=function(e,t){const r=l.setFromMatrixPosition(e.matrixWorld),n=c.setFromMatrixPosition(t.matrixWorld),i=r.sub(n),a=t.getWorldDirection(u);return i.angleTo(a)>Math.PI/2}(O.current,L);let r=!1;"boolean"==typeof _?!0===_&&(r=[D]):Array.isArray(_)&&(r=_.map((e=>e.current)));const n=X.current;if(r){const e=function(e,t,r,n){const i=l.setFromMatrixPosition(e.matrixWorld),a=i.clone();a.project(t),r.setFromCamera(a,t);const s=r.intersectObjects(n,!0);if(s.length){const e=s[0].distance;return i.distanceTo(r.ray.origin)e.raycaster)),c=(0,o.useThree)((e=>e.get)),u=(0,o.useThree)((e=>e.gl));return i.useEffect((()=>{var i;let o,h=[];const d=l.filter,p=null!==(i=null==t?void 0:t.current)&&void 0!==i?i:u.domElement.parentNode,f=()=>p&&e&&e(h,Math.round(s.current)%h.length);l.filter=(e,t)=>{let r=[...e];r.length===h.length&&h.every((e=>r.map((e=>e.object.uuid)).includes(e.object.uuid)))||(s.current=0,h=r,f()),d&&(r=d(r,t));for(let n=0;n{var t,r;s.current=e(s.current),null==(t=c().events.handlers)||t.onPointerCancel(void 0),null==(r=c().events.handlers)||r.onPointerMove(o),f()},g=e=>{(e.keyCode||e.which===a)&&(r&&e.preventDefault(),h.length>1&&m((e=>e+1)))},v=e=>{r&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),h.length>1&&m((e=>Math.abs(e-t)))},A=e=>o=e;return document.addEventListener("pointermove",A,{passive:!0}),n&&document.addEventListener("wheel",v),void 0!==a&&document.addEventListener("keydown",g),()=>{l.filter=d,void 0!==a&&document.removeEventListener("keydown",g),n&&document.removeEventListener("wheel",v),document.removeEventListener("pointermove",A)}}),[u,c,l,r,n,a]),null}function y(e,t="pointer",r="auto"){i.useEffect((()=>{if(e)return document.body.style.cursor=t,()=>{document.body.style.cursor=r}}),[e])}var x=r(14671);let b=0;const w=(0,x.Z)((e=>(s.DefaultLoadingManager.onStart=(t,r,n)=>{e({active:!0,item:t,loaded:r,total:n,progress:(r-b)/(n-b)*100})},s.DefaultLoadingManager.onLoad=()=>{e({active:!1})},s.DefaultLoadingManager.onError=t=>e((e=>({errors:[...e.errors,t]}))),s.DefaultLoadingManager.onProgress=(t,r,n)=>{r===n&&(b=n),e({active:!0,item:t,loaded:r,total:n,progress:(r-b)/(n-b)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}))),_=e=>`Loading ${e.toFixed(2)}%`;function E({containerStyles:e,innerStyles:t,barStyles:r,dataStyles:n,dataInterpolation:a=_,initialState:s=(e=>e)}){const{active:o,progress:l}=w(),c=i.useRef(0),u=i.useRef(0),h=i.useRef(null),[d,p]=i.useState(s(o));i.useEffect((()=>{let e;return o!==d&&(e=setTimeout((()=>p(o)),300)),()=>clearTimeout(e)}),[d,o]);const f=i.useCallback((()=>{h.current&&(c.current+=(l-c.current)/2,(c.current>.95*l||100===l)&&(c.current=l),h.current.innerText=a(c.current),c.current(f(),()=>cancelAnimationFrame(u.current))),[f]),d?i.createElement("div",{style:{...S.container,opacity:o?1:0,...e}},i.createElement("div",null,i.createElement("div",{style:{...S.inner,...t}},i.createElement("div",{style:{...S.bar,transform:`scaleX(${l/100})`,...r}}),i.createElement("span",{ref:h,style:{...S.data,...n}})))):null}const S={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}};const M=function(e){return function(t){e.forEach((function(e){"function"==typeof e?e(t):null!=e&&(e.current=t)}))}},T=i.createContext(null);function C(){return i.useContext(T)}function I({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:n,pages:a=1,distance:l=1,damping:c=4,style:u={},children:h}){const{gl:d,size:p,invalidate:f,events:m,raycaster:g}=(0,o.useThree)(),[v]=i.useState((()=>document.createElement("div"))),[A]=i.useState((()=>document.createElement("div"))),[y]=i.useState((()=>document.createElement("div"))),x=d.domElement.parentNode,b=i.useRef(0),w=i.useMemo((()=>{const t={el:v,eps:e,fill:A,fixed:y,horizontal:n,damping:c,offset:0,delta:0,scroll:b,pages:a,range(e,t,r=0){const n=e-r,i=n+t+2*r;return this.offseti?1:(this.offset-n)/(i-n)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const n=e-r,i=n+t+2*r;return this.offset>=n&&this.offset<=i}};return t}),[e,c,n,a]);i.useEffect((()=>{v.style.position="absolute",v.style.width="100%",v.style.height="100%",v.style[n?"overflowX":"overflowY"]="auto",v.style[n?"overflowY":"overflowX"]="hidden",v.style.top="0px",v.style.left="0px";for(const r in u)v.style[r]=u[r];y.style.position="sticky",y.style.top="0px",y.style.left="0px",y.style.width="100%",y.style.height="100%",y.style.overflow="hidden",v.appendChild(y),A.style.height=n?"100%":a*l*100+"%",A.style.width=n?a*l*100+"%":"100%",A.style.pointerEvents="none",v.appendChild(A),x.appendChild(v),v[n?"scrollLeft":"scrollTop"]=1;const e=m.connected||d.domElement;requestAnimationFrame((()=>null==m.connect?void 0:m.connect(v)));const t=g.computeOffsets;return g.computeOffsets=({clientX:e,clientY:t})=>({offsetX:e-x.offsetLeft,offsetY:t-x.offsetTop}),()=>{x.removeChild(v),g.computeOffsets=t,null==m.connect||m.connect(e)}}),[a,l,n,v,A,y,x]),i.useEffect((()=>{const e=p[n?"width":"height"],i=v[n?"scrollWidth":"scrollHeight"],a=i-e;let s=0,o=!0,l=!0;const c=()=>{if(t&&!l&&(f(),s=v[n?"scrollLeft":"scrollTop"],b.current=s/a,r)){if(!o)if(s>=a){const e=1-w.offset;v[n?"scrollLeft":"scrollTop"]=1,b.current=w.offset=-e,o=!0}else if(s<=0){const e=1+w.offset;v[n?"scrollLeft":"scrollTop"]=i,b.current=w.offset=e,o=!0}o&&setTimeout((()=>o=!1),40)}};v.addEventListener("scroll",c,{passive:!0}),requestAnimationFrame((()=>l=!1));const u=e=>v.scrollLeft+=e.deltaY/2;return n&&v.addEventListener("wheel",u,{passive:!0}),()=>{v.removeEventListener("scroll",c),n&&v.removeEventListener("wheel",u)}}),[v,p,r,w,f,n,t]);let _=0;return(0,o.useFrame)(((t,r)=>{w.offset=s.MathUtils.damp(_=w.offset,b.current,c,r),w.delta=s.MathUtils.damp(w.delta,Math.abs(_-w.offset),c,r),w.delta>e&&f()})),i.createElement(T.Provider,{value:w},h)}const B=i.forwardRef((({children:e},t)=>{const r=i.useRef(null),n=C(),{width:a,height:s}=(0,o.useThree)((e=>e.viewport));return(0,o.useFrame)((()=>{r.current.position.x=n.horizontal?-a*(n.pages-1)*n.offset:0,r.current.position.y=n.horizontal?0:s*(n.pages-1)*n.offset})),i.createElement("group",{ref:M([t,r])},e)})),R=i.forwardRef((({children:e,style:t,...r},s)=>{const l=C(),c=i.useRef(null),{width:u,height:h}=(0,o.useThree)((e=>e.size)),d=i.useContext(o.context);return(0,o.useFrame)((()=>{l.delta>l.eps&&(c.current.style.transform=`translate3d(${l.horizontal?-u*(l.pages-1)*l.offset:0}px,${l.horizontal?0:h*(l.pages-1)*-l.offset}px,0)`)})),a.render(i.createElement("div",n({ref:M([s,c]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),i.createElement(T.Provider,{value:l},i.createElement(o.context.Provider,{value:d},e))),l.fixed),null})),P=i.forwardRef((({html:e,...t},r)=>{const a=e?R:B;return i.createElement(a,n({ref:r},t))}));var F=q(),L=e=>j(e,F),D=q();L.write=e=>j(e,D);var U=q();L.onStart=e=>j(e,U);var N=q();L.onFrame=e=>j(e,N);var k=q();L.onFinish=e=>j(e,k);var O=[];L.setTimeout=(e,t)=>{let r=L.now()+t,n=()=>{let e=O.findIndex((e=>e.cancel==n));~e&&O.splice(e,1),H-=~e?1:0},i={time:r,handler:e,cancel:n};return O.splice(G(r),0,i),H+=1,W(),i};var G=e=>~(~O.findIndex((t=>t.time>e))||~O.length);L.cancel=e=>{U.delete(e),N.delete(e),k.delete(e),F.delete(e),D.delete(e)},L.sync=e=>{Q=!0,L.batchedUpdates(e),Q=!1},L.throttle=e=>{let t;function r(){try{e(...t)}finally{t=null}}function n(...e){t=e,L.onStart(r)}return n.handler=e,n.cancel=()=>{U.delete(r),t=null},n};var z=typeof window<"u"?window.requestAnimationFrame:()=>{};L.use=e=>z=e,L.now=typeof performance<"u"?()=>performance.now():Date.now,L.batchedUpdates=e=>e(),L.catch=console.error,L.frameLoop="always",L.advance=()=>{"demand"!==L.frameLoop?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):Y()};var V=-1,H=0,Q=!1;function j(e,t){Q?(t.delete(e),e(0)):(t.add(e),W())}function W(){V<0&&(V=0,"demand"!==L.frameLoop&&z(X))}function X(){~V&&(z(X),L.batchedUpdates(Y))}function Y(){let e=V;V=L.now();let t=G(V);t&&(K(O.splice(0,t),(e=>e.handler())),H-=t),H?(U.flush(),F.flush(e?Math.min(64,V-e):16.667),N.flush(),D.flush(),k.flush()):V=-1}function q(){let e=new Set,t=e;return{add(r){H+=t!=e||e.has(r)?0:1,e.add(r)},delete:r=>(H-=t==e&&e.has(r)?1:0,e.delete(r)),flush(r){t.size&&(e=new Set,H-=t.size,K(t,(t=>t(r)&&e.add(t))),H+=e.size,t=e)}}}function K(e,t){e.forEach((e=>{try{t(e)}catch(Jr){L.catch(Jr)}}))}var J=Object.defineProperty,Z={};function $(){}((e,t)=>{for(var r in t)J(e,r,{get:t[r],enumerable:!0})})(Z,{assign:()=>pe,colors:()=>ue,createStringInterpolator:()=>se,skipAnimation:()=>he,to:()=>oe,willAdvance:()=>de});var ee={arr:Array.isArray,obj:e=>!!e&&"Object"===e.constructor.name,fun:e=>"function"==typeof e,str:e=>"string"==typeof e,num:e=>"number"==typeof e,und:e=>void 0===e};function te(e,t){if(ee.arr(e)){if(!ee.arr(t)||e.length!==t.length)return!1;for(let r=0;re.forEach(t);function ne(e,t,r){if(ee.arr(e))for(let n=0;nee.und(e)?[]:ee.arr(e)?e:[e];function ae(e,t){if(e.size){let r=Array.from(e);e.clear(),re(r,t)}}var se,oe,le=(e,...t)=>ae(e,(e=>e(...t))),ce=()=>typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),ue=null,he=!1,de=$,pe=e=>{e.to&&(oe=e.to),e.now&&(L.now=e.now),void 0!==e.colors&&(ue=e.colors),null!=e.skipAnimation&&(he=e.skipAnimation),e.createStringInterpolator&&(se=e.createStringInterpolator),e.requestAnimationFrame&&L.use(e.requestAnimationFrame),e.batchedUpdates&&(L.batchedUpdates=e.batchedUpdates),e.willAdvance&&(de=e.willAdvance),e.frameLoop&&(L.frameLoop=e.frameLoop)},fe=new Set,me=[],ge=[],ve=0,Ae={get idle(){return!fe.size&&!me.length},start(e){ve>e.priority?(fe.add(e),L.onStart(ye)):(xe(e),L(we))},advance:we,sort(e){if(ve)L.onFrame((()=>Ae.sort(e)));else{let t=me.indexOf(e);~t&&(me.splice(t,1),be(e))}},clear(){me=[],fe.clear()}};function ye(){fe.forEach(xe),fe.clear(),L(we)}function xe(e){me.includes(e)||be(e)}function be(e){me.splice(function(e,t){let r=e.findIndex(t);return r<0?e.length:r}(me,(t=>t.priority>e.priority)),0,e)}function we(e){let t=ge;for(let r=0;r0}var _e="[-+]?\\d*\\.?\\d+",Ee=_e+"%";function Se(...e){return"\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}var Me=new RegExp("rgb"+Se(_e,_e,_e)),Te=new RegExp("rgba"+Se(_e,_e,_e,_e)),Ce=new RegExp("hsl"+Se(_e,Ee,Ee)),Ie=new RegExp("hsla"+Se(_e,Ee,Ee,_e)),Be=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,Re=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,Pe=/^#([0-9a-fA-F]{6})$/,Fe=/^#([0-9a-fA-F]{8})$/;function Le(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function De(e,t,r){let n=r<.5?r*(1+t):r+t-r*t,i=2*r-n,a=Le(i,n,e+1/3),s=Le(i,n,e),o=Le(i,n,e-1/3);return Math.round(255*a)<<24|Math.round(255*s)<<16|Math.round(255*o)<<8}function Ue(e){let t=parseInt(e,10);return t<0?0:t>255?255:t}function Ne(e){return(parseFloat(e)%360+360)%360/360}function ke(e){let t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function Oe(e){let t=parseFloat(e);return t<0?0:t>100?1:t/100}function Ge(e){let t=function(e){let t;return"number"==typeof e?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=Pe.exec(e))?parseInt(t[1]+"ff",16)>>>0:ue&&void 0!==ue[e]?ue[e]:(t=Me.exec(e))?(Ue(t[1])<<24|Ue(t[2])<<16|Ue(t[3])<<8|255)>>>0:(t=Te.exec(e))?(Ue(t[1])<<24|Ue(t[2])<<16|Ue(t[3])<<8|ke(t[4]))>>>0:(t=Be.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=Fe.exec(e))?parseInt(t[1],16)>>>0:(t=Re.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=Ce.exec(e))?(255|De(Ne(t[1]),Oe(t[2]),Oe(t[3])))>>>0:(t=Ie.exec(e))?(De(Ne(t[1]),Oe(t[2]),Oe(t[3]))|ke(t[4]))>>>0:null}(e);return null===t?e:(t=t||0,`rgba(${(4278190080&t)>>>24}, ${(16711680&t)>>>16}, ${(65280&t)>>>8}, ${(255&t)/255})`)}var ze=(e,t,r)=>{if(ee.fun(e))return e;if(ee.arr(e))return ze({range:e,output:t,extrapolate:r});if(ee.str(e.output[0]))return se(e);let n=e,i=n.output,a=n.range||[0,1],s=n.extrapolateLeft||n.extrapolate||"extend",o=n.extrapolateRight||n.extrapolate||"extend",l=n.easing||(e=>e);return e=>{let t=function(e,t){for(var r=1;r=e);++r);return r-1}(e,a);return function(e,t,r,n,i,a,s,o,l){let c=l?l(e):e;if(cr){if("identity"===o)return c;"clamp"===o&&(c=r)}return n===i?n:t===r?e<=t?n:i:(t===-1/0?c=-c:r===1/0?c-=t:c=(c-t)/(r-t),c=a(c),n===-1/0?c=-c:i===1/0?c+=n:c=c*(i-n)+n,c)}(e,a[t],a[t+1],i[t],i[t+1],l,s,o,n.map)}};var Ve=1.70158,He=1.525*Ve,Qe=Ve+1,je=2*Math.PI/3,We=2*Math.PI/4.5,Xe=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,Ye={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>0===e?0:Math.pow(2,10*e-10),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>0===e?0:1===e?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>Qe*e*e*e-Ve*e*e,easeOutBack:e=>1+Qe*Math.pow(e-1,3)+Ve*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*(2*(He+1)*e-He)/2:(Math.pow(2*e-2,2)*((He+1)*(2*e-2)+He)+2)/2,easeInElastic:e=>0===e?0:1===e?1:-Math.pow(2,10*e-10)*Math.sin((10*e-10.75)*je),easeOutElastic:e=>0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin((10*e-.75)*je)+1,easeInOutElastic:e=>0===e?0:1===e?1:e<.5?-Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*We)/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*We)/2+1,easeInBounce:e=>1-Xe(1-e),easeOutBounce:Xe,easeInOutBounce:e=>e<.5?(1-Xe(1-2*e))/2:(1+Xe(2*e-1))/2,steps:(e,t="end")=>r=>{let n=(r="end"===t?Math.min(r,.999):Math.max(r,.001))*e;return((e,t,r)=>Math.min(Math.max(r,e),t))(0,1,("end"===t?Math.floor(n):Math.ceil(n))/e)}},qe=Symbol.for("FluidValue.get"),Ke=Symbol.for("FluidValue.observers"),Je=e=>!(!e||!e[qe]),Ze=e=>e&&e[qe]?e[qe]():e,$e=e=>e[Ke]||null;function et(e,t){let r=e[Ke];r&&r.forEach((e=>{!function(e,t){e.eventObserved?e.eventObserved(t):e(t)}(e,t)}))}var tt=class{[qe];[Ke];constructor(e){if(!e&&!(e=this.get))throw Error("Unknown getter");rt(this,e)}},rt=(e,t)=>st(e,qe,t);function nt(e,t){if(e[qe]){let r=e[Ke];r||st(e,Ke,r=new Set),r.has(t)||(r.add(t),e.observerAdded&&e.observerAdded(r.size,t))}return t}function it(e,t){let r=e[Ke];if(r&&r.has(t)){let n=r.size-1;n?r.delete(t):e[Ke]=null,e.observerRemoved&&e.observerRemoved(n,t)}}var at,st=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0}),ot=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,lt=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,ct=new RegExp(`(${ot.source})(%|[a-z]+)`,"i"),ut=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,ht=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,dt=e=>{let[t,r]=pt(e);if(!t||ce())return e;let n=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(n)return n.trim();if(r&&r.startsWith("--")){return window.getComputedStyle(document.documentElement).getPropertyValue(r)||e}return r&&ht.test(r)?dt(r):r||e},pt=e=>{let t=ht.exec(e);if(!t)return[,];let[,r,n]=t;return[r,n]},ft=(e,t,r,n,i)=>`rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${i})`,mt=e=>{at||(at=ue?new RegExp(`(${Object.keys(ue).join("|")})(?!\\w)`,"g"):/^\b$/);let t=e.output.map((e=>Ze(e).replace(ht,dt).replace(lt,Ge).replace(at,Ge))),r=t.map((e=>e.match(ot).map(Number))),n=r[0].map(((e,t)=>r.map((e=>{if(!(t in e))throw Error('The arity of each "output" value must be equal');return e[t]})))).map((t=>ze({...e,output:t})));return e=>{let r=!ct.test(t[0])&&t.find((e=>ct.test(e)))?.replace(ot,""),i=0;return t[0].replace(ot,(()=>`${n[i++](e)}${r||""}`)).replace(ut,ft)}},gt="react-spring: ",vt=e=>{let t=e,r=!1;if("function"!=typeof t)throw new TypeError(`${gt}once requires a function parameter`);return(...e)=>{r||(t(...e),r=!0)}},At=vt(console.warn);var yt=vt(console.warn);function xt(e){return ee.str(e)&&("#"==e[0]||/\d/.test(e)||!ce()&&ht.test(e)||e in(ue||{}))}new WeakMap;new Set,new WeakMap,new WeakMap,new WeakMap;var bt=ce()?i.useEffect:i.useLayoutEffect;function wt(){let e=(0,i.useState)()[1],t=(()=>{let e=(0,i.useRef)(!1);return bt((()=>(e.current=!0,()=>{e.current=!1})),[]),e})();return()=>{t.current&&e(Math.random())}}var _t=e=>(0,i.useEffect)(e,Et),Et=[];function St(e){let t=(0,i.useRef)();return(0,i.useEffect)((()=>{t.current=e})),t.current}var Mt=Symbol.for("Animated:node"),Tt=e=>e&&e[Mt],Ct=(e,t)=>((e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0}))(e,Mt,t),It=e=>e&&e[Mt]&&e[Mt].getPayload(),Bt=class{payload;constructor(){Ct(this,this)}getPayload(){return this.payload||[]}},Rt=class extends Bt{constructor(e){super(),this._value=e,ee.num(this._value)&&(this.lastPosition=this._value)}done=!0;elapsedTime;lastPosition;lastVelocity;v0;durationProgress=0;static create(e){return new Rt(e)}getPayload(){return[this]}getValue(){return this._value}setValue(e,t){return ee.num(e)&&(this.lastPosition=e,t&&(e=Math.round(e/t)*t,this.done&&(this.lastPosition=e))),this._value!==e&&(this._value=e,!0)}reset(){let{done:e}=this;this.done=!1,ee.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,e&&(this.lastVelocity=null),this.v0=null)}},Pt=class extends Rt{_string=null;_toString;constructor(e){super(0),this._toString=ze({output:[e,e]})}static create(e){return new Pt(e)}getValue(){return this._string??(this._string=this._toString(this._value))}setValue(e){if(ee.str(e)){if(e==this._string)return!1;this._string=e,this._value=1}else{if(!super.setValue(e))return!1;this._string=null}return!0}reset(e){e&&(this._toString=ze({output:[this.getValue(),e]})),this._value=0,super.reset()}},Ft={dependencies:null},Lt=class extends Bt{constructor(e){super(),this.source=e,this.setValue(e)}getValue(e){let t={};return ne(this.source,((r,n)=>{(e=>!!e&&e[Mt]===e)(r)?t[n]=r.getValue(e):Je(r)?t[n]=Ze(r):e||(t[n]=r)})),t}setValue(e){this.source=e,this.payload=this._makePayload(e)}reset(){this.payload&&re(this.payload,(e=>e.reset()))}_makePayload(e){if(e){let t=new Set;return ne(e,this._addToPayload,t),Array.from(t)}}_addToPayload(e){Ft.dependencies&&Je(e)&&Ft.dependencies.add(e);let t=It(e);t&&re(t,(e=>this.add(e)))}},Dt=class extends Lt{constructor(e){super(e)}static create(e){return new Dt(e)}getValue(){return this.source.map((e=>e.getValue()))}setValue(e){let t=this.getPayload();return e.length==t.length?t.map(((t,r)=>t.setValue(e[r]))).some(Boolean):(super.setValue(e.map(Ut)),!0)}};function Ut(e){return(xt(e)?Pt:Rt).create(e)}function Nt(e){let t=Tt(e);return t?t.constructor:ee.arr(e)?Dt:xt(e)?Pt:Rt}var kt=(e,t)=>{let r=!ee.fun(e)||e.prototype&&e.prototype.isReactComponent;return(0,i.forwardRef)(((n,a)=>{let s=(0,i.useRef)(null),o=r&&(0,i.useCallback)((e=>{s.current=function(e,t){return e&&(ee.fun(e)?e(t):e.current=t),t}(a,e)}),[a]),[l,c]=function(e,t){let r=new Set;return Ft.dependencies=r,e.style&&(e={...e,style:t.createAnimatedStyle(e.style)}),e=new Lt(e),Ft.dependencies=null,[e,r]}(n,t),u=wt(),h=()=>{let e=s.current;r&&!e||!1===(!!e&&t.applyAnimatedValues(e,l.getValue(!0)))&&u()},d=new Ot(h,c),p=(0,i.useRef)();bt((()=>(p.current=d,re(c,(e=>nt(e,d))),()=>{p.current&&(re(p.current.deps,(e=>it(e,p.current))),L.cancel(p.current.update))}))),(0,i.useEffect)(h,[]),_t((()=>()=>{let e=p.current;re(e.deps,(t=>it(t,e)))}));let f=t.getComponentProps(l.getValue());return i.createElement(e,{...f,ref:o})}))},Ot=class{constructor(e,t){this.update=e,this.deps=t}eventObserved(e){"change"==e.type&&L.write(this.update)}};var Gt=Symbol.for("AnimatedComponent"),zt=e=>ee.str(e)?e:e&&ee.str(e.displayName)?e.displayName:ee.fun(e)&&e.name||null;function Vt(e,...t){return ee.fun(e)?e(...t):e}var Ht=(e,t)=>!0===e||!!(t&&e&&(ee.fun(e)?e(t):ie(e).includes(t))),Qt=(e,t)=>ee.obj(e)?t&&e[t]:e,jt=(e,t)=>!0===e.default?e[t]:e.default?e.default[t]:void 0,Wt=e=>e,Xt=(e,t=Wt)=>{let r=Yt;e.default&&!0!==e.default&&(e=e.default,r=Object.keys(e));let n={};for(let i of r){let r=t(e[i],i);ee.und(r)||(n[i]=r)}return n},Yt=["config","onProps","onStart","onChange","onPause","onResume","onRest"],qt={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function Kt(e){let t=function(e){let t={},r=0;if(ne(e,((e,n)=>{qt[n]||(t[n]=e,r++)})),r)return t}(e);if(t){let r={to:t};return ne(e,((e,n)=>n in t||(r[n]=e))),r}return{...e}}function Jt(e){return e=Ze(e),ee.arr(e)?e.map(Jt):xt(e)?Z.createStringInterpolator({range:[0,1],output:[e,e]})(1):e}function Zt(e){for(let t in e)return!0;return!1}function $t(e){return ee.fun(e)||ee.arr(e)&&ee.obj(e[0])}function er(e,t){e.ref?.delete(e),t?.delete(e)}function tr(e,t){t&&e.ref!==t&&(e.ref?.delete(e),t.add(e),e.ref=t)}var rr={tension:170,friction:26,mass:1,damping:1,easing:Ye.linear,clamp:!1};function nr(e,t){if(ee.und(t.decay)){let r=!ee.und(t.tension)||!ee.und(t.friction);(r||!ee.und(t.frequency)||!ee.und(t.damping)||!ee.und(t.mass))&&(e.duration=void 0,e.decay=void 0),r&&(e.frequency=void 0)}else e.duration=void 0}var ir=[];function ar(e,{key:t,props:r,defaultProps:n,state:i,actions:a}){return new Promise(((s,o)=>{let l,c,u=Ht(r.cancel??n?.cancel,t);if(u)p();else{ee.und(r.pause)||(i.paused=Ht(r.pause,t));let e=n?.pause;!0!==e&&(e=i.paused||Ht(e,t)),l=Vt(r.delay||0,t),e?(i.resumeQueue.add(d),a.pause()):(a.resume(),d())}function h(){i.resumeQueue.add(d),i.timeouts.delete(c),c.cancel(),l=c.time-L.now()}function d(){l>0&&!Z.skipAnimation?(i.delayed=!0,c=L.setTimeout(p,l),i.pauseQueue.add(h),i.timeouts.add(c)):p()}function p(){i.delayed&&(i.delayed=!1),i.pauseQueue.delete(h),i.timeouts.delete(c),e<=(i.cancelId||0)&&(u=!0);try{a.start({...r,callId:e,cancel:u},s)}catch(j){o(j)}}}))}var sr=(e,t)=>1==t.length?t[0]:t.some((e=>e.cancelled))?cr(e.get()):t.every((e=>e.noop))?or(e.get()):lr(e.get(),t.every((e=>e.finished))),or=e=>({value:e,noop:!0,finished:!0,cancelled:!1}),lr=(e,t,r=!1)=>({value:e,finished:t,cancelled:r}),cr=e=>({value:e,cancelled:!0,finished:!1});function ur(e,t,r,n){let{callId:i,parentId:a,onRest:s}=t,{asyncTo:o,promise:l}=r;return a||e!==o||t.reset?r.promise=(async()=>{r.asyncId=i,r.asyncTo=e;let c,u,h,d=Xt(t,((e,t)=>"onRest"===t?void 0:e)),p=new Promise(((e,t)=>(c=e,u=t))),f=e=>{let t=i<=(r.cancelId||0)&&cr(n)||i!==r.asyncId&&lr(n,!1);if(t)throw e.result=t,u(e),e},m=(e,t)=>{let a=new dr,s=new pr;return(async()=>{if(Z.skipAnimation)throw hr(r),s.result=lr(n,!1),u(s),s;f(a);let o=ee.obj(e)?{...e}:{...t,to:e};o.parentId=i,ne(d,((e,t)=>{ee.und(o[t])&&(o[t]=e)}));let l=await n.start(o);return f(a),r.paused&&await new Promise((e=>{r.resumeQueue.add(e)})),l})()};if(Z.skipAnimation)return hr(r),lr(n,!1);try{let t;t=ee.arr(e)?(async e=>{for(let t of e)await m(t)})(e):Promise.resolve(e(m,n.stop.bind(n))),await Promise.all([t.then(c),p]),h=lr(n.get(),!0,!1)}catch(V){if(V instanceof dr)h=V.result;else{if(!(V instanceof pr))throw V;h=V.result}}finally{i==r.asyncId&&(r.asyncId=a,r.asyncTo=a?o:void 0,r.promise=a?l:void 0)}return ee.fun(s)&&L.batchedUpdates((()=>{s(h,n,n.item)})),h})():l}function hr(e,t){ae(e.timeouts,(e=>e.cancel())),e.pauseQueue.clear(),e.resumeQueue.clear(),e.asyncId=e.asyncTo=e.promise=void 0,t&&(e.cancelId=t)}var dr=class extends Error{result;constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.")}},pr=class extends Error{result;constructor(){super("SkipAnimationSignal")}},fr=e=>e instanceof gr,mr=1,gr=class extends tt{id=mr++;_priority=0;get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){let e=Tt(this);return e&&e.getValue()}to(...e){return Z.to(this,e)}interpolate(...e){return At(`${gt}The "interpolate" function is deprecated in v9 (use "to" instead)`),Z.to(this,e)}toJSON(){return this.get()}observerAdded(e){1==e&&this._attach()}observerRemoved(e){0==e&&this._detach()}_attach(){}_detach(){}_onChange(e,t=!1){et(this,{type:"change",parent:this,value:e,idle:t})}_onPriorityChange(e){this.idle||Ae.sort(this),et(this,{type:"priority",parent:this,priority:e})}},vr=Symbol.for("SpringPhase"),Ar=e=>(1&e[vr])>0,yr=e=>(2&e[vr])>0,xr=e=>(4&e[vr])>0,br=(e,t)=>t?e[vr]|=3:e[vr]&=-3,wr=(e,t)=>t?e[vr]|=4:e[vr]&=-5,_r=class extends gr{key;animation=new class{changed=!1;values=ir;toValues=null;fromValues=ir;to;from;config=new class{tension;friction;frequency;damping;mass;velocity=0;restVelocity;precision;progress;duration;easing;clamp;bounce;decay;round;constructor(){Object.assign(this,rr)}};immediate=!1};queue;defaultProps={};_state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_pendingCalls=new Set;_lastCallId=0;_lastToId=0;_memoizedDuration=0;constructor(e,t){if(super(),!ee.und(e)||!ee.und(t)){let r=ee.obj(e)?{...e}:{...t,from:e};ee.und(r.default)&&(r.default=!0),this.start(r)}}get idle(){return!(yr(this)||this._state.asyncTo)||xr(this)}get goal(){return Ze(this.animation.to)}get velocity(){let e=Tt(this);return e instanceof Rt?e.lastVelocity||0:e.getPayload().map((e=>e.lastVelocity||0))}get hasAnimated(){return Ar(this)}get isAnimating(){return yr(this)}get isPaused(){return xr(this)}get isDelayed(){return this._state.delayed}advance(e){let t=!0,r=!1,n=this.animation,{toValues:i}=n,{config:a}=n,s=It(n.to);!s&&Je(n.to)&&(i=ie(Ze(n.to))),n.values.forEach(((o,l)=>{if(o.done)return;let c=o.constructor==Pt?1:s?s[l].lastPosition:i[l],u=n.immediate,h=c;if(!u){if(h=o.lastPosition,a.tension<=0)return void(o.done=!0);let t,r=o.elapsedTime+=e,i=n.fromValues[l],s=null!=o.v0?o.v0:o.v0=ee.arr(a.velocity)?a.velocity[l]:a.velocity,d=a.precision||(i==c?.005:Math.min(1,.001*Math.abs(c-i)));if(ee.und(a.duration))if(a.decay){let e=!0===a.decay?.998:a.decay,n=Math.exp(-(1-e)*r);h=i+s/(1-e)*(1-n),u=Math.abs(o.lastPosition-h)<=d,t=s*n}else{t=null==o.lastVelocity?s:o.lastVelocity;let r,n=a.restVelocity||d/10,l=a.clamp?0:a.bounce,p=!ee.und(l),f=i==c?o.v0>0:in,r||(u=Math.abs(c-h)<=d,!u));++e){p&&(m=h==c||h>c==f,m&&(t=-t*l,h=c)),t+=(1e-6*-a.tension*(h-c)+.001*-a.friction*t)/a.mass*g,h+=t*g}}else{let n=1;a.duration>0&&(this._memoizedDuration!==a.duration&&(this._memoizedDuration=a.duration,o.durationProgress>0&&(o.elapsedTime=a.duration*o.durationProgress,r=o.elapsedTime+=e)),n=(a.progress||0)+r/this._memoizedDuration,n=n>1?1:n<0?0:n,o.durationProgress=n),h=i+a.easing(n)*(c-i),t=(h-o.lastPosition)/e,u=1==n}o.lastVelocity=t,Number.isNaN(h)&&(console.warn("Got NaN while animating:",this),u=!0)}s&&!s[l].done&&(u=!1),u?o.done=!0:t=!1,o.setValue(h,a.round)&&(r=!0)}));let o=Tt(this),l=o.getValue();if(t){let e=Ze(n.to);l===e&&!r||a.decay?r&&a.decay&&this._onChange(l):(o.setValue(e),this._onChange(e)),this._stop()}else r&&this._onChange(l)}set(e){return L.batchedUpdates((()=>{this._stop(),this._focus(e),this._set(e)})),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(yr(this)){let{to:e,config:t}=this.animation;L.batchedUpdates((()=>{this._onStart(),t.decay||this._set(e,!1),this._stop()}))}return this}update(e){return(this.queue||(this.queue=[])).push(e),this}start(e,t){let r;return ee.und(e)?(r=this.queue||[],this.queue=[]):r=[ee.obj(e)?e:{...t,to:e}],Promise.all(r.map((e=>this._update(e)))).then((e=>sr(this,e)))}stop(e){let{to:t}=this.animation;return this._focus(this.get()),hr(this._state,e&&this._lastCallId),L.batchedUpdates((()=>this._stop(t,e))),this}reset(){this._update({reset:!0})}eventObserved(e){"change"==e.type?this._start():"priority"==e.type&&(this.priority=e.priority+1)}_prepareNode(e){let t=this.key||"",{to:r,from:n}=e;r=ee.obj(r)?r[t]:r,(null==r||$t(r))&&(r=void 0),n=ee.obj(n)?n[t]:n,null==n&&(n=void 0);let i={to:r,from:n};return Ar(this)||(e.reverse&&([r,n]=[n,r]),n=Ze(n),ee.und(n)?Tt(this)||this._set(r):this._set(n)),i}_update({...e},t){let{key:r,defaultProps:n}=this;e.default&&Object.assign(n,Xt(e,((e,t)=>/^on/.test(t)?Qt(e,r):e))),Br(this,e,"onProps"),Rr(this,"onProps",e,this);let i=this._prepareNode(e);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");let a=this._state;return ar(++this._lastCallId,{key:r,props:e,defaultProps:n,state:a,actions:{pause:()=>{xr(this)||(wr(this,!0),le(a.pauseQueue),Rr(this,"onPause",lr(this,Er(this,this.animation.to)),this))},resume:()=>{xr(this)&&(wr(this,!1),yr(this)&&this._resume(),le(a.resumeQueue),Rr(this,"onResume",lr(this,Er(this,this.animation.to)),this))},start:this._merge.bind(this,i)}}).then((r=>{if(e.loop&&r.finished&&(!t||!r.noop)){let t=Sr(e);if(t)return this._update(t,!0)}return r}))}_merge(e,t,r){if(t.cancel)return this.stop(!0),r(cr(this));let n=!ee.und(e.to),i=!ee.und(e.from);if(n||i){if(!(t.callId>this._lastToId))return r(cr(this));this._lastToId=t.callId}let{key:a,defaultProps:s,animation:o}=this,{to:l,from:c}=o,{to:u=l,from:h=c}=e;i&&!n&&(!t.default||ee.und(u))&&(u=h),t.reverse&&([u,h]=[h,u]);let d=!te(h,c);d&&(o.from=h),h=Ze(h);let p=!te(u,l);p&&this._focus(u);let f=$t(t.to),{config:m}=o,{decay:g,velocity:v}=m;(n||i)&&(m.velocity=0),t.config&&!f&&function(e,t,r){r&&(nr(r={...r},t),t={...r,...t}),nr(e,t),Object.assign(e,t);for(let s in rr)null==e[s]&&(e[s]=rr[s]);let{frequency:n,damping:i}=e,{mass:a}=e;ee.und(n)||(n<.01&&(n=.01),i<0&&(i=0),e.tension=Math.pow(2*Math.PI/n,2)*a,e.friction=4*Math.PI*i*a/n)}(m,Vt(t.config,a),t.config!==s.config?Vt(s.config,a):void 0);let A=Tt(this);if(!A||ee.und(u))return r(lr(this,!0));let y=ee.und(t.reset)?i&&!t.default:!ee.und(h)&&Ht(t.reset,a),x=y?h:this.get(),b=Jt(u),w=ee.num(b)||ee.arr(b)||xt(b),_=!f&&(!w||Ht(s.immediate||t.immediate,a));if(p){let e=Nt(u);if(e!==A.constructor){if(!_)throw Error(`Cannot animate between ${A.constructor.name} and ${e.name}, as the "to" prop suggests`);A=this._set(b)}}let E=A.constructor,S=Je(u),M=!1;if(!S){let e=y||!Ar(this)&&d;(p||e)&&(M=te(Jt(x),b),S=!M),(!te(o.immediate,_)&&!_||!te(m.decay,g)||!te(m.velocity,v))&&(S=!0)}if(M&&yr(this)&&(o.changed&&!y?S=!0:S||this._stop(l)),!f&&((S||Je(l))&&(o.values=A.getPayload(),o.toValues=Je(u)?null:E==Pt?[1]:ie(b)),o.immediate!=_&&(o.immediate=_,!_&&!y&&this._set(l)),S)){let{onRest:e}=o;re(Ir,(e=>Br(this,t,e)));let n=lr(this,Er(this,l));le(this._pendingCalls,n),this._pendingCalls.add(r),o.changed&&L.batchedUpdates((()=>{o.changed=!y,e?.(n,this),y?Vt(s.onRest,n):o.onStart?.(n,this)}))}y&&this._set(x),f?r(ur(t.to,t,this._state,this)):S?this._start():yr(this)&&!p?this._pendingCalls.add(r):r(or(x))}_focus(e){let t=this.animation;e!==t.to&&($e(this)&&this._detach(),t.to=e,$e(this)&&this._attach())}_attach(){let e=0,{to:t}=this.animation;Je(t)&&(nt(t,this),fr(t)&&(e=t.priority+1)),this.priority=e}_detach(){let{to:e}=this.animation;Je(e)&&it(e,this)}_set(e,t=!0){let r=Ze(e);if(!ee.und(r)){let e=Tt(this);if(!e||!te(r,e.getValue())){let n=Nt(r);e&&e.constructor==n?e.setValue(r):Ct(this,n.create(r)),e&&L.batchedUpdates((()=>{this._onChange(r,t)}))}}return Tt(this)}_onStart(){let e=this.animation;e.changed||(e.changed=!0,Rr(this,"onStart",lr(this,Er(this,e.to)),this))}_onChange(e,t){t||(this._onStart(),Vt(this.animation.onChange,e,this)),Vt(this.defaultProps.onChange,e,this),super._onChange(e,t)}_start(){let e=this.animation;Tt(this).reset(Ze(e.to)),e.immediate||(e.fromValues=e.values.map((e=>e.lastPosition))),yr(this)||(br(this,!0),xr(this)||this._resume())}_resume(){Z.skipAnimation?this.finish():Ae.start(this)}_stop(e,t){if(yr(this)){br(this,!1);let r=this.animation;re(r.values,(e=>{e.done=!0})),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),et(this,{type:"idle",parent:this});let n=t?cr(this.get()):lr(this.get(),Er(this,e??r.to));le(this._pendingCalls,n),r.changed&&(r.changed=!1,Rr(this,"onRest",n,this))}}};function Er(e,t){let r=Jt(t);return te(Jt(e.get()),r)}function Sr(e,t=e.loop,r=e.to){let n=Vt(t);if(n){let i=!0!==n&&Kt(n),a=(i||e).reverse,s=!i||i.reset;return Mr({...e,loop:t,default:!1,pause:void 0,to:!a||$t(r)?r:void 0,from:s?e.from:void 0,reset:s,...i})}}function Mr(e){let{to:t,from:r}=e=Kt(e),n=new Set;return ee.obj(t)&&Cr(t,n),ee.obj(r)&&Cr(r,n),e.keys=n.size?Array.from(n):null,e}function Tr(e){let t=Mr(e);return ee.und(t.default)&&(t.default=Xt(t)),t}function Cr(e,t){ne(e,((e,r)=>null!=e&&t.add(r)))}var Ir=["onStart","onRest","onChange","onPause","onResume"];function Br(e,t,r){e.animation[r]=t[r]!==jt(t,r)?Qt(t[r],e.key):void 0}function Rr(e,t,...r){e.animation[t]?.(...r),e.defaultProps[t]?.(...r)}var Pr=["onStart","onChange","onRest"],Fr=1,Lr=class{id=Fr++;springs={};queue=[];ref;_flush;_initialProps;_lastAsyncId=0;_active=new Set;_changed=new Set;_started=!1;_item;_state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_events={onStart:new Map,onChange:new Map,onRest:new Map};constructor(e,t){this._onFrame=this._onFrame.bind(this),t&&(this._flush=t),e&&this.start({default:!0,...e})}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every((e=>e.idle&&!e.isDelayed&&!e.isPaused))}get item(){return this._item}set item(e){this._item=e}get(){let e={};return this.each(((t,r)=>e[r]=t.get())),e}set(e){for(let t in e){let r=e[t];ee.und(r)||this.springs[t].set(r)}}update(e){return e&&this.queue.push(Mr(e)),this}start(e){let{queue:t}=this;return e?t=ie(e).map(Mr):this.queue=[],this._flush?this._flush(this,t):(zr(this,t),Dr(this,t))}stop(e,t){if(e!==!!e&&(t=e),t){let r=this.springs;re(ie(t),(t=>r[t].stop(!!e)))}else hr(this._state,this._lastAsyncId),this.each((t=>t.stop(!!e)));return this}pause(e){if(ee.und(e))this.start({pause:!0});else{let t=this.springs;re(ie(e),(e=>t[e].pause()))}return this}resume(e){if(ee.und(e))this.start({pause:!1});else{let t=this.springs;re(ie(e),(e=>t[e].resume()))}return this}each(e){ne(this.springs,e)}_onFrame(){let{onStart:e,onChange:t,onRest:r}=this._events,n=this._active.size>0,i=this._changed.size>0;(n&&!this._started||i&&!this._started)&&(this._started=!0,ae(e,(([e,t])=>{t.value=this.get(),e(t,this,this._item)})));let a=!n&&this._started,s=i||a&&r.size?this.get():null;i&&t.size&&ae(t,(([e,t])=>{t.value=s,e(t,this,this._item)})),a&&(this._started=!1,ae(r,(([e,t])=>{t.value=s,e(t,this,this._item)})))}eventObserved(e){if("change"==e.type)this._changed.add(e.parent),e.idle||this._active.add(e.parent);else{if("idle"!=e.type)return;this._active.delete(e.parent)}L.onFrame(this._onFrame)}};function Dr(e,t){return Promise.all(t.map((t=>Ur(e,t)))).then((t=>sr(e,t)))}async function Ur(e,t,r){let{keys:n,to:i,from:a,loop:s,onRest:o,onResolve:l}=t,c=ee.obj(t.default)&&t.default;s&&(t.loop=!1),!1===i&&(t.to=null),!1===a&&(t.from=null);let u=ee.arr(i)||ee.fun(i)?i:void 0;u?(t.to=void 0,t.onRest=void 0,c&&(c.onRest=void 0)):re(Pr,(r=>{let n=t[r];if(ee.fun(n)){let i=e._events[r];t[r]=({finished:e,cancelled:t})=>{let r=i.get(n);r?(e||(r.finished=!1),t&&(r.cancelled=!0)):i.set(n,{value:null,finished:e||!1,cancelled:t||!1})},c&&(c[r]=t[r])}}));let h=e._state;t.pause===!h.paused?(h.paused=t.pause,le(t.pause?h.pauseQueue:h.resumeQueue)):h.paused&&(t.pause=!0);let d=(n||Object.keys(e.springs)).map((r=>e.springs[r].start(t))),p=!0===t.cancel||!0===jt(t,"cancel");(u||p&&h.asyncId)&&d.push(ar(++e._lastAsyncId,{props:t,state:h,actions:{pause:$,resume:$,start(t,r){p?(hr(h,e._lastAsyncId),r(cr(e))):(t.onRest=o,r(ur(u,t,h,e)))}}})),h.paused&&await new Promise((e=>{h.resumeQueue.add(e)}));let f=sr(e,await Promise.all(d));if(s&&f.finished&&(!r||!f.noop)){let r=Sr(t,s,i);if(r)return zr(e,[r]),Ur(e,r,!0)}return l&&L.batchedUpdates((()=>l(f,e,e.item))),f}function Nr(e,t){let r={...e.springs};return t&&re(ie(t),(e=>{ee.und(e.keys)&&(e=Mr(e)),ee.obj(e.to)||(e={...e,to:void 0}),Gr(r,e,(e=>Or(e)))})),kr(e,r),r}function kr(e,t){ne(t,((t,r)=>{e.springs[r]||(e.springs[r]=t,nt(t,e))}))}function Or(e,t){let r=new _r;return r.key=e,t&&nt(r,t),r}function Gr(e,t,r){t.keys&&re(t.keys,(n=>{(e[n]||(e[n]=r(n)))._prepareNode(t)}))}function zr(e,t){re(t,(t=>{Gr(e.springs,t,(t=>Or(t,e)))}))}var Vr=({children:e,...t})=>{let r=(0,i.useContext)(Hr),n=t.pause||!!r.pause,a=t.immediate||!!r.immediate;t=function(e,t){let[r]=(0,i.useState)((()=>({inputs:t,result:e()}))),n=(0,i.useRef)(),a=n.current,s=a;return s?t&&s.inputs&&function(e,t){if(e.length!==t.length)return!1;for(let r=0;r{n.current=s,a==r&&(r.inputs=r.result=void 0)}),[s]),s.result}((()=>({pause:n,immediate:a})),[n,a]);let{Provider:s}=Hr;return i.createElement(s,{value:t},e)},Hr=function(e,t){return Object.assign(e,i.createContext(t)),e.Provider._context=e,e.Consumer._context=e,e}(Vr,{});Vr.Provider=Hr.Provider,Vr.Consumer=Hr.Consumer;var Qr=()=>{let e=[],t=function(t){yt(`${gt}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`);let n=[];return re(e,((e,i)=>{if(ee.und(t))n.push(e.start());else{let a=r(t,e,i);a&&n.push(e.start(a))}})),n};t.current=e,t.add=function(t){e.includes(t)||e.push(t)},t.delete=function(t){let r=e.indexOf(t);~r&&e.splice(r,1)},t.pause=function(){return re(e,(e=>e.pause(...arguments))),this},t.resume=function(){return re(e,(e=>e.resume(...arguments))),this},t.set=function(t){re(e,((e,r)=>{let n=ee.fun(t)?t(r,e):t;n&&e.set(n)}))},t.start=function(t){let r=[];return re(e,((e,n)=>{if(ee.und(t))r.push(e.start());else{let i=this._getProps(t,e,n);i&&r.push(e.start(i))}})),r},t.stop=function(){return re(e,(e=>e.stop(...arguments))),this},t.update=function(t){return re(e,((e,r)=>e.update(this._getProps(t,e,r)))),this};let r=function(e,t,r){return ee.fun(e)?e(r,t):e};return t._getProps=r,t};function jr(e,t,r){let n=ee.fun(t)&&t;n&&!r&&(r=[]);let a=(0,i.useMemo)((()=>n||3==arguments.length?Qr():void 0),[]),s=(0,i.useRef)(0),o=wt(),l=(0,i.useMemo)((()=>({ctrls:[],queue:[],flush(e,t){let r=Nr(e,t);return s.current>0&&!l.queue.length&&!Object.keys(r).some((t=>!e.springs[t]))?Dr(e,t):new Promise((n=>{kr(e,r),l.queue.push((()=>{n(Dr(e,t))})),o()}))}})),[]),c=(0,i.useRef)([...l.ctrls]),u=[],h=St(e)||0;function d(e,r){for(let i=e;i{re(c.current.slice(e,h),(e=>{er(e,a),e.stop(!0)})),c.current.length=e,d(h,e)}),[e]),(0,i.useMemo)((()=>{d(0,Math.min(h,e))}),r);let p=c.current.map(((e,t)=>Nr(e,u[t]))),f=(0,i.useContext)(Vr),m=St(f),g=f!==m&&Zt(f);bt((()=>{s.current++,l.ctrls=c.current;let{queue:e}=l;e.length&&(l.queue=[],re(e,(e=>e()))),re(c.current,((e,t)=>{a?.add(e),g&&e.start({default:f});let r=u[t];r&&(tr(e,r.ref),e.ref?e.queue.push(r):e.start(r))}))})),_t((()=>()=>{re(l.ctrls,(e=>e.stop(!0)))}));let v=p.map((e=>({...e})));return a?[v,a]:v}function Wr(e,t){let r=ee.fun(e),[[n],i]=jr(1,r?e:[e],r?t||[]:t);return r||2==arguments.length?[n,i]:n}var Xr=class extends gr{constructor(e,t){super(),this.source=e,this.calc=ze(...t);let r=this._get(),n=Nt(r);Ct(this,n.create(r))}key;idle=!0;calc;_active=new Set;advance(e){let t=this._get();te(t,this.get())||(Tt(this).setValue(t),this._onChange(t,this.idle)),!this.idle&&qr(this._active)&&Kr(this)}_get(){let e=ee.arr(this.source)?this.source.map(Ze):ie(Ze(this.source));return this.calc(...e)}_start(){this.idle&&!qr(this._active)&&(this.idle=!1,re(It(this),(e=>{e.done=!1})),Z.skipAnimation?(L.batchedUpdates((()=>this.advance())),Kr(this)):Ae.start(this))}_attach(){let e=1;re(ie(this.source),(t=>{Je(t)&&nt(t,this),fr(t)&&(t.idle||this._active.add(t),e=Math.max(e,t.priority+1))})),this.priority=e,this._start()}_detach(){re(ie(this.source),(e=>{Je(e)&&it(e,this)})),this._active.clear(),Kr(this)}eventObserved(e){"change"==e.type?e.idle?this.advance():(this._active.add(e.parent),this._start()):"idle"==e.type?this._active.delete(e.parent):"priority"==e.type&&(this.priority=ie(this.source).reduce(((e,t)=>Math.max(e,(fr(t)?t.priority:0)+1)),0))}};function Yr(e){return!1!==e.idle}function qr(e){return!e.size||Array.from(e).every(Yr)}function Kr(e){e.idle||(e.idle=!0,re(It(e),(e=>{e.done=!0})),et(e,{type:"idle",parent:e}))}Z.assign({createStringInterpolator:mt,to:(e,t)=>new Xr(e,t)});Ae.advance;var Jr=["primitive"].concat(Object.keys(s).filter((e=>/^[A-Z]/.test(e))).map((e=>e[0].toLowerCase()+e.slice(1))));Z.assign({createStringInterpolator:mt,colors:{transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},frameLoop:"demand"}),(0,o.addEffect)((()=>{L.advance()}));var Zr=((e,{applyAnimatedValues:t=(()=>!1),createAnimatedStyle:r=(e=>new Lt(e)),getComponentProps:n=(e=>e)}={})=>{let i={applyAnimatedValues:t,createAnimatedStyle:r,getComponentProps:n},a=e=>{let t=zt(e)||"Anonymous";return(e=ee.str(e)?a[e]||(a[e]=kt(e,i)):e[Gt]||(e[Gt]=kt(e,i))).displayName=`Animated(${t})`,e};return ne(e,((t,r)=>{ee.arr(e)&&(r=zt(t)),a[r]=a(t)})),{animated:a}})(Jr,{applyAnimatedValues:o.applyProps}),$r=Zr.animated;const en={toVector:(e,t)=>(void 0===e&&(e=t),Array.isArray(e)?e:[e,e]),add:(e,t)=>[e[0]+t[0],e[1]+t[1]],sub:(e,t)=>[e[0]-t[0],e[1]-t[1]],addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function tn(e,t,r){return 0===t||Math.abs(t)===1/0?Math.pow(e,5*r):e*t*r/(t+r*e)}function rn(e,t,r,n=.15){return 0===n?function(e,t,r){return Math.max(t,Math.min(e,r))}(e,t,r):er?+tn(e-r,r-t,n)+r:e}function nn(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function an(e,t,r){return(t=nn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function on(e){for(var t=1;t{var r,n;return t.target===e.currentTarget||(null===(r=e.currentTarget)||void 0===r||null===(n=r.contains)||void 0===n?void 0:n.call(r,t.target))}))}(e).map((e=>e.identifier))}function yn(e,t){const[r,n]=Array.from(e.touches).filter((e=>t.includes(e.identifier)));return vn(r,n)}function xn(e){const t=gn(e);return fn(e)?t.identifier:t.pointerId}function bn(e){const t=gn(e);return[t.clientX,t.clientY]}function wn(e){let{deltaX:t,deltaY:r,deltaMode:n}=e;return 1===n?(t*=40,r*=40):2===n&&(t*=800,r*=800),[t,r]}function _n(e,...t){return"function"==typeof e?e(...t):e}function En(){}function Sn(...e){return 0===e.length?En:1===e.length?e[0]:function(){let t;for(const r of e)t=r.apply(this,arguments)||t;return t}}function Mn(e,t){return Object.assign({},t,e||{})}class Tn{constructor(e,t,r){this.ctrl=e,this.args=t,this.key=r,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){const{state:e,shared:t,ingKey:r,args:n}=this;t[r]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=n,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){const t=this.state,r=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=r.from?_n(r.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){const t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){const e=this.state;e._initial=e._values,e.initial=e.values}compute(e){const{state:t,config:r,shared:n}=this;t.args=this.args;let i=0;if(e&&(t.event=e,r.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,n.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,n.locked=!!document.pointerLockElement,Object.assign(n,function(e){const t={};if("buttons"in e&&(t.buttons=e.buttons),"shiftKey"in e){const{shiftKey:r,altKey:n,metaKey:i,ctrlKey:a}=e;Object.assign(t,{shiftKey:r,altKey:n,metaKey:i,ctrlKey:a})}return t}(e)),n.down=n.pressed=n.buttons%2==1||n.touches>0,i=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){const e=t._delta.map(Math.abs);en.addTo(t._distance,e)}this.axisIntent&&this.axisIntent(e);const[a,s]=t._movement,[o,l]=r.threshold,{_step:c,values:u}=t;if(r.hasCustomTransform?(!1===c[0]&&(c[0]=Math.abs(a)>=o&&u[0]),!1===c[1]&&(c[1]=Math.abs(s)>=l&&u[1])):(!1===c[0]&&(c[0]=Math.abs(a)>=o&&Math.sign(a)*o),!1===c[1]&&(c[1]=Math.abs(s)>=l&&Math.sign(s)*l)),t.intentional=!1!==c[0]||!1!==c[1],!t.intentional)return;const h=[0,0];if(r.hasCustomTransform){const[e,t]=u;h[0]=!1!==c[0]?e-c[0]:0,h[1]=!1!==c[1]?t-c[1]:0}else h[0]=!1!==c[0]?a-c[0]:0,h[1]=!1!==c[1]?s-c[1]:0;this.restrictToAxis&&!t._blocked&&this.restrictToAxis(h);const d=t.offset,p=t._active&&!t._blocked||t.active;p&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=n[this.ingKey]=t._active,e&&(t.first&&("bounds"in r&&(t._bounds=_n(r.bounds,t)),this.setup&&this.setup()),t.movement=h,this.computeOffset()));const[f,m]=t.offset,[[g,v],[A,y]]=t._bounds;t.overflow=[fv?1:0,my?1:0],t._movementBound[0]=!!t.overflow[0]&&(!1===t._movementBound[0]?t._movement[0]:t._movementBound[0]),t._movementBound[1]=!!t.overflow[1]&&(!1===t._movementBound[1]?t._movement[1]:t._movementBound[1]);const x=t._active&&r.rubberband||[0,0];if(t.offset=function(e,[t,r],[n,i]){const[[a,s],[o,l]]=e;return[rn(t,a,s,n),rn(r,o,l,i)]}(t._bounds,t.offset,x),t.delta=en.sub(t.offset,d),this.computeMovement(),p&&(!t.last||i>32)){t.delta=en.sub(t.offset,d);const e=t.delta.map(Math.abs);en.addTo(t.distance,e),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&i>0&&(t.velocity=[e[0]/i,e[1]/i],t.timeDelta=i)}}emit(){const e=this.state,t=this.shared,r=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!r.triggerAllEvents)return;const n=this.handler(on(on(on({},t),e),{},{[this.aliasKey]:e.values}));void 0!==n&&(e.memo=n)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}}class Cn extends Tn{constructor(...e){super(...e),an(this,"aliasKey","xy")}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=en.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=en.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){const t=this.state,r=this.config;if(!t.axis&&e){const n="object"==typeof r.axisThreshold?r.axisThreshold[mn(e)]:r.axisThreshold;t.axis=function([e,t],r){const n=Math.abs(e),i=Math.abs(t);return n>i&&n>r?"x":i>n&&i>r?"y":void 0}(t._movement,n)}t._blocked=(r.lockDirection||!!r.axis)&&!t.axis||!!r.axis&&r.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case"x":e[1]=0;break;case"y":e[0]=0}}}const In=e=>e,Bn={enabled:(e=!0)=>e,eventOptions:(e,t,r)=>on(on({},r.shared.eventOptions),e),preventDefault:(e=!1)=>e,triggerAllEvents:(e=!1)=>e,rubberband(e=0){switch(e){case!0:return[.15,.15];case!1:return[0,0];default:return en.toVector(e)}},from:e=>"function"==typeof e?e:null!=e?en.toVector(e):void 0,transform(e,t,r){const n=e||r.shared.transform;return this.hasCustomTransform=!!n,n||In},threshold:e=>en.toVector(e,0)};const Rn=on(on({},Bn),{},{axis(e,t,{axis:r}){if(this.lockDirection="lock"===r,!this.lockDirection)return r},axisThreshold:(e=0)=>e,bounds(e={}){if("function"==typeof e)return t=>Rn.bounds(e(t));if("current"in e)return()=>e.current;if("function"==typeof HTMLElement&&e instanceof HTMLElement)return e;const{left:t=-1/0,right:r=1/0,top:n=-1/0,bottom:i=1/0}=e;return[[t,r],[n,i]]}}),Pn={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]};const Fn="undefined"!=typeof window&&window.document&&window.document.createElement;function Ln(){return Fn&&"ontouchstart"in window||Fn&&window.navigator.maxTouchPoints>1}const Dn={isBrowser:Fn,gesture:function(){try{return"constructor"in GestureEvent}catch(Ha){return!1}}(),touch:Ln(),touchscreen:Ln(),pointer:Fn&&"onpointerdown"in window,pointerLock:Fn&&"exitPointerLock"in window.document},Un={mouse:0,touch:0,pen:8},Nn=on(on({},Rn),{},{device(e,t,{pointer:{touch:r=!1,lock:n=!1,mouse:i=!1}={}}){return this.pointerLock=n&&Dn.pointerLock,Dn.touch&&r?"touch":this.pointerLock?"mouse":Dn.pointer&&!i?"pointer":Dn.touch?"touch":"mouse"},preventScrollAxis(e,t,{preventScroll:r}){if(this.preventScrollDelay="number"==typeof r?r:r||void 0===r&&e?250:void 0,Dn.touchscreen&&!1!==r)return e||(void 0!==r?"y":void 0)},pointerCapture(e,t,{pointer:{capture:r=!0,buttons:n=1,keys:i=!0}={}}){return this.pointerButtons=n,this.keys=i,!this.pointerLock&&"pointer"===this.device&&r},threshold(e,t,{filterTaps:r=!1,tapsThreshold:n=3,axis:i}){const a=en.toVector(e,r?n:i?1:0);return this.filterTaps=r,this.tapsThreshold=n,a},swipe({velocity:e=.5,distance:t=50,duration:r=250}={}){return{velocity:this.transform(en.toVector(e)),distance:this.transform(en.toVector(t)),duration:r}},delay(e=0){switch(e){case!0:return 180;case!1:return 0;default:return e}},axisThreshold:e=>e?on(on({},Un),e):Un,keyboardDisplacement:(e=10)=>e});function kn(e){const[t,r]=e.overflow,[n,i]=e._delta,[a,s]=e._direction;(t<0&&n>0&&a<0||t>0&&n<0&&a>0)&&(e._movement[0]=e._movementBound[0]),(r<0&&i>0&&s<0||r>0&&i<0&&s>0)&&(e._movement[1]=e._movementBound[1])}const On=on(on({},Bn),{},{device(e,t,{shared:r,pointer:{touch:n=!1}={}}){if(r.target&&!Dn.touch&&Dn.gesture)return"gesture";if(Dn.touch&&n)return"touch";if(Dn.touchscreen){if(Dn.pointer)return"pointer";if(Dn.touch)return"touch"}},bounds(e,t,{scaleBounds:r={},angleBounds:n={}}){const i=e=>{const t=Mn(_n(r,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{const t=Mn(_n(n,e),{min:-1/0,max:1/0});return[t.min,t.max]};return"function"!=typeof r&&"function"!=typeof n?[i(),a()]:e=>[i(e),a(e)]},threshold(e,t,r){this.lockDirection="lock"===r.axis;return en.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey:e=>void 0===e?"ctrlKey":e,pinchOnWheel:(e=!0)=>e});const Gn=on(on({},Rn),{},{mouseOnly:(e=!0)=>e});const zn=Rn;const Vn=Rn;const Hn=on(on({},Rn),{},{mouseOnly:(e=!0)=>e}),Qn=new Map,jn=new Map;function Wn(e){Qn.set(e.key,e.engine),jn.set(e.key,e.resolver)}const Xn={key:"drag",engine:class extends Cn{constructor(...e){super(...e),an(this,"ingKey","dragging")}reset(){super.reset();const e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){const e=this.state;if(e._bounds instanceof HTMLElement){const t=e._bounds.getBoundingClientRect(),r=e.currentTarget.getBoundingClientRect(),n={left:t.left-r.left+e.offset[0],right:t.right-r.right+e.offset[0],top:t.top-r.top+e.offset[1],bottom:t.bottom-r.bottom+e.offset[1]};e._bounds=Rn.bounds(n)}}cancel(){const e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout((()=>{this.compute(),this.emit()}),0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){const t=this.config,r=this.state;if(null!=e.buttons&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):-1!==t.pointerButtons&&t.pointerButtons!==e.buttons))return;const n=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),n&&n.size>1&&r._pointerActive||(this.start(e),this.setupPointer(e),r._pointerId=xn(e),r._pointerActive=!0,this.computeValues(bn(e)),this.computeInitial(),t.preventScrollAxis&&"mouse"!==mn(e)?(r._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){const t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){const t=this.state,r=this.config;if(!t._pointerActive)return;const n=xn(e);if(void 0!==t._pointerId&&n!==t._pointerId)return;const i=bn(e);return document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=en.sub(i,t._values),this.computeValues(i)),en.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional?(this.timeoutStore.remove("dragDelay"),t.active=!1,void this.startPointerDrag(e)):r.preventScrollAxis&&!t._preventScroll?t.axis?t.axis===r.preventScrollAxis||"xy"===r.preventScrollAxis?(t._active=!1,void this.clean()):(this.timeoutStore.remove("startPointerDrag"),void this.startPointerDrag(e)):void 0:void this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch(s){0}const t=this.state,r=this.config;if(!t._active||!t._pointerActive)return;const n=xn(e);if(void 0!==t._pointerId&&n!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);const[i,a]=t._distance;if(t.tap=i<=r.tapsThreshold&&a<=r.tapsThreshold,t.tap&&r.filterTaps)t._force=!0;else{const[e,n]=t._delta,[i,a]=t._movement,[s,o]=r.swipe.velocity,[l,c]=r.swipe.distance,u=r.swipe.duration;if(t.elapsedTimes&&Math.abs(i)>l&&(t.swipe[0]=Math.sign(e)),u>o&&Math.abs(a)>c&&(t.swipe[1]=Math.sign(n))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){const t=this.config,r=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,r,"change",this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,r,"end",this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,r,"cancel",this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,function(e){"persist"in e&&"function"==typeof e.persist&&e.persist()}(e);const t=this.eventStore.add(this.sharedConfig.window,"touch","change",this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,"touch","end",t),this.eventStore.add(this.sharedConfig.window,"touch","cancel",t),this.timeoutStore.add("startPointerDrag",this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add("dragDelay",(()=>{this.state._step=[0,0],this.startPointerDrag(e)}),this.config.delay)}keyDown(e){const t=Pn[e.key];if(t){const r=this.state,n=e.shiftKey?10:e.altKey?.1:1;this.start(e),r._delta=t(this.config.keyboardDisplacement,n),r._keyboardActive=!0,en.addTo(r._movement,r._delta),this.compute(e),this.emit()}}keyUp(e){e.key in Pn&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){const t=this.config.device;e(t,"start",this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,"change",this.pointerMove.bind(this)),e(t,"end",this.pointerUp.bind(this)),e(t,"cancel",this.pointerUp.bind(this)),e("lostPointerCapture","",this.pointerUp.bind(this))),this.config.keys&&(e("key","down",this.keyDown.bind(this)),e("key","up",this.keyUp.bind(this))),this.config.filterTaps&&e("click","",this.pointerClick.bind(this),{capture:!0,passive:!1})}},resolver:Nn},Yn={key:"hover",engine:class extends Cn{constructor(...e){super(...e),an(this,"ingKey","hovering")}enter(e){this.config.mouseOnly&&"mouse"!==e.pointerType||(this.start(e),this.computeValues(bn(e)),this.compute(e),this.emit())}leave(e){if(this.config.mouseOnly&&"mouse"!==e.pointerType)return;const t=this.state;if(!t._active)return;t._active=!1;const r=bn(e);t._movement=t._delta=en.sub(r,t._values),this.computeValues(r),this.compute(e),t.delta=t.movement,this.emit()}bind(e){e("pointer","enter",this.enter.bind(this)),e("pointer","leave",this.leave.bind(this))}},resolver:Hn},qn={key:"move",engine:class extends Cn{constructor(...e){super(...e),an(this,"ingKey","moving")}move(e){this.config.mouseOnly&&"mouse"!==e.pointerType||(this.state._active?this.moveChange(e):this.moveStart(e),this.timeoutStore.add("moveEnd",this.moveEnd.bind(this)))}moveStart(e){this.start(e),this.computeValues(bn(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;const t=bn(e),r=this.state;r._delta=en.sub(t,r._values),en.addTo(r._movement,r._delta),this.computeValues(t),this.compute(e),this.emit()}moveEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}bind(e){e("pointer","change",this.move.bind(this)),e("pointer","leave",this.moveEnd.bind(this))}},resolver:Gn},Kn={key:"pinch",engine:class extends Tn{constructor(...e){super(...e),an(this,"ingKey","pinching"),an(this,"aliasKey","da")}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();const e=this.state;e._touchIds=[],e.canceled=!1,e.cancel=this.cancel.bind(this),e.turns=0}computeOffset(){const{type:e,movement:t,lastOffset:r}=this.state;this.state.offset="wheel"===e?en.add(t,r):[(1+t[0])*r[0],t[1]+r[1]]}computeMovement(){const{offset:e,lastOffset:t}=this.state;this.state.movement=[e[0]/t[0],e[1]-t[1]]}axisIntent(){const e=this.state,[t,r]=e._movement;if(!e.axis){const n=30*Math.abs(t)-Math.abs(r);n<0?e.axis="angle":n>0&&(e.axis="scale")}}restrictToAxis(e){this.config.lockDirection&&("scale"===this.state.axis?e[1]=0:"angle"===this.state.axis&&(e[0]=0))}cancel(){const e=this.state;e.canceled||setTimeout((()=>{e.canceled=!0,e._active=!1,this.compute(),this.emit()}),0)}touchStart(e){this.ctrl.setEventIds(e);const t=this.state,r=this.ctrl.touchIds;if(t._active&&t._touchIds.every((e=>r.has(e))))return;if(r.size<2)return;this.start(e),t._touchIds=Array.from(r).slice(0,2);const n=yn(e,t._touchIds);n&&this.pinchStart(e,n)}pointerStart(e){if(null!=e.buttons&&e.buttons%2!=1)return;this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);const t=this.state,r=t._pointerEvents,n=this.ctrl.pointerIds;if(t._active&&Array.from(r.keys()).every((e=>n.has(e))))return;if(r.size<2&&r.set(e.pointerId,e),t._pointerEvents.size<2)return;this.start(e);const i=vn(...Array.from(r.values()));i&&this.pinchStart(e,i)}pinchStart(e,t){this.state.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){if(!this.state._active)return;const t=yn(e,this.state._touchIds);t&&this.pinchMove(e,t)}pointerMove(e){const t=this.state._pointerEvents;if(t.has(e.pointerId)&&t.set(e.pointerId,e),!this.state._active)return;const r=vn(...Array.from(t.values()));r&&this.pinchMove(e,r)}pinchMove(e,t){const r=this.state,n=r._values[1],i=t.angle-n;let a=0;Math.abs(i)>270&&(a+=Math.sign(i)),this.computeValues([t.distance,t.angle-360*a]),r.origin=t.origin,r.turns=a,r._movement=[r._values[0]/r._initial[0]-1,r._values[1]-r._initial[1]],this.compute(e),this.emit()}touchEnd(e){this.ctrl.setEventIds(e),this.state._active&&this.state._touchIds.some((e=>!this.ctrl.touchIds.has(e)))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){const t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch(r){}t._pointerEvents.has(e.pointerId)&&t._pointerEvents.delete(e.pointerId),t._active&&t._pointerEvents.size<2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();const t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){if(e.cancelable&&e.preventDefault(),!this.state._active)return;const t=this.state;this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY];const r=t._movement;t._movement=[e.scale-1,e.rotation],t._delta=en.sub(t._movement,r),this.compute(e),this.emit()}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(e){const t=this.config.modifierKey;t&&!e[t]||(this.state._active?this.wheelChange(e):this.wheelStart(e),this.timeoutStore.add("wheelEnd",this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){"uv"in e||e.cancelable&&e.preventDefault();const t=this.state;t._delta=[-wn(e)[1]/100*t.offset[0],0],en.addTo(t._movement,t._delta),kn(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){const t=this.config.device;t&&(e(t,"start",this[t+"Start"].bind(this)),e(t,"change",this[t+"Move"].bind(this)),e(t,"end",this[t+"End"].bind(this)),e(t,"cancel",this[t+"End"].bind(this)),e("lostPointerCapture","",this[t+"End"].bind(this))),this.config.pinchOnWheel&&e("wheel","",this.wheel.bind(this),{passive:!1})}},resolver:On},Jn={key:"scroll",engine:class extends Cn{constructor(...e){super(...e),an(this,"ingKey","scrolling")}scroll(e){this.state._active||this.start(e),this.scrollChange(e),this.timeoutStore.add("scrollEnd",this.scrollEnd.bind(this))}scrollChange(e){e.cancelable&&e.preventDefault();const t=this.state,r=function(e){var t,r;const{scrollX:n,scrollY:i,scrollLeft:a,scrollTop:s}=e.currentTarget;return[null!==(t=null!=n?n:a)&&void 0!==t?t:0,null!==(r=null!=i?i:s)&&void 0!==r?r:0]}(e);t._delta=en.sub(r,t._values),en.addTo(t._movement,t._delta),this.computeValues(r),this.compute(e),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e("scroll","",this.scroll.bind(this))}},resolver:zn},Zn={key:"wheel",engine:class extends Cn{constructor(...e){super(...e),an(this,"ingKey","wheeling")}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add("wheelEnd",this.wheelEnd.bind(this))}wheelChange(e){const t=this.state;t._delta=wn(e),en.addTo(t._movement,t._delta),kn(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e("wheel","",this.wheel.bind(this))}},resolver:Vn};function $n(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}const ei={target(e){if(e)return()=>"current"in e?e.current:e},enabled:(e=!0)=>e,window:(e=(Dn.isBrowser?window:void 0))=>e,eventOptions:({passive:e=!0,capture:t=!1}={})=>({passive:e,capture:t}),transform:e=>e},ti=["target","eventOptions","window","enabled","transform"];function ri(e={},t){const r={};for(const[n,i]of Object.entries(t))switch(typeof i){case"function":r[n]=i.call(r,e[n],n,e);break;case"object":r[n]=ri(e[n],i);break;case"boolean":i&&(r[n]=e[n])}return r}class ni{constructor(e,t){an(this,"_listeners",new Set),this._ctrl=e,this._gestureKey=t}add(e,t,r,n,i){const a=this._listeners,s=function(e,t=""){const r=ln[e];return e+(r&&r[t]||t)}(t,r),o=on(on({},this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{}),i);e.addEventListener(s,n,o);const l=()=>{e.removeEventListener(s,n,o),a.delete(l)};return a.add(l),l}clean(){this._listeners.forEach((e=>e())),this._listeners.clear()}}class ii{constructor(){an(this,"_timeouts",new Map)}add(e,t,r=140,...n){this.remove(e),this._timeouts.set(e,window.setTimeout(t,r,...n))}remove(e){const t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach((e=>{window.clearTimeout(e)})),this._timeouts.clear()}}class ai{constructor(e){an(this,"gestures",new Set),an(this,"_targetEventStore",new ni(this)),an(this,"gestureEventStores",{}),an(this,"gestureTimeoutStores",{}),an(this,"handlers",{}),an(this,"config",{}),an(this,"pointerIds",new Set),an(this,"touchIds",new Set),an(this,"state",{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),function(e,t){t.drag&&si(e,"drag");t.wheel&&si(e,"wheel");t.scroll&&si(e,"scroll");t.move&&si(e,"move");t.pinch&&si(e,"pinch");t.hover&&si(e,"hover")}(this,e)}setEventIds(e){return fn(e)?(this.touchIds=new Set(An(e)),this.touchIds):"pointerId"in e?("pointerup"===e.type||"pointercancel"===e.type?this.pointerIds.delete(e.pointerId):"pointerdown"===e.type&&this.pointerIds.add(e.pointerId),this.pointerIds):void 0}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=function(e,t,r={}){const n=e,{target:i,eventOptions:a,window:s,enabled:o,transform:l}=n,c=$n(n,ti);if(r.shared=ri({target:i,eventOptions:a,window:s,enabled:o,transform:l},ei),t){const e=jn.get(t);r[t]=ri(on({shared:r.shared},c),e)}else for(const u in c){const e=jn.get(u);e&&(r[u]=ri(on({shared:r.shared},c[u]),e))}return r}(e,t,this.config)}clean(){this._targetEventStore.clean();for(const e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){const t=this.config.shared,r={};let n;if(!t.target||(n=t.target(),n)){if(t.enabled){for(const t of this.gestures){const i=this.config[t],a=oi(r,i.eventOptions,!!n);if(i.enabled){new(Qn.get(t))(this,e,t).bind(a)}}const i=oi(r,t.eventOptions,!!n);for(const t in this.nativeHandlers)i(t,"",(r=>this.nativeHandlers[t](on(on({},this.state.shared),{},{event:r,args:e}))),void 0,!0)}for(const e in r)r[e]=Sn(...r[e]);if(!n)return r;for(const e in r){const{device:t,capture:i,passive:a}=pn(e);this._targetEventStore.add(n,t,"",r[e],{capture:i,passive:a})}}}}function si(e,t){e.gestures.add(t),e.gestureEventStores[t]=new ni(e,t),e.gestureTimeoutStores[t]=new ii}const oi=(e,t,r)=>(n,i,a,s={},o=!1)=>{var l,c;const u=null!==(l=s.capture)&&void 0!==l?l:t.capture,h=null!==(c=s.passive)&&void 0!==c?c:t.passive;let d=o?n:hn(n,i,u);r&&h&&(d+="Passive"),e[d]=e[d]||[],e[d].push(a)},li=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function ci(e,t,r,n,i,a){if(!e.has(r))return;if(!Qn.has(n))return void 0;const s=r+"Start",o=r+"End";i[n]=e=>{let n;return e.first&&s in t&&t[s](e),r in t&&(n=t[r](e)),e.last&&o in t&&t[o](e),n},a[n]=a[n]||{}}function ui(e,t){const[r,n,i]=function(e){const t={},r={},n=new Set;for(let i in e)li.test(i)?(n.add(RegExp.lastMatch),r[i]=e[i]):t[i]=e[i];return[r,t,n]}(e),a={};return ci(i,r,"onDrag","drag",a,t),ci(i,r,"onWheel","wheel",a,t),ci(i,r,"onScroll","scroll",a,t),ci(i,r,"onPinch","pinch",a,t),ci(i,r,"onMove","move",a,t),ci(i,r,"onHover","hover",a,t),{handlers:a,config:t,nativeHandlers:n}}function hi(e,t={},r,n){const a=i.useMemo((()=>new ai(e)),[]);if(a.applyHandlers(e,n),a.applyConfig(t,r),i.useEffect(a.effect.bind(a)),i.useEffect((()=>a.clean.bind(a)),[]),void 0===t.target)return a.bind.bind(a)}function di(e,t){const r=([Xn,Kn,Jn,Zn,qn,Yn].forEach(Wn),function(e,t){const{handlers:r,nativeHandlers:n,config:i}=ui(e,t||{});return hi(r,i,void 0,n)});return r(e,t||{})}function pi({snap:e,global:t,cursor:r=!0,children:a,speed:l=1,rotation:c=[0,0,0],zoom:u=1,polar:h=[0,Math.PI/2],azimuth:d=[-1/0,1/0],config:p={mass:1,tension:170,friction:26}}){const{size:f,gl:m}=(0,o.useThree)(),g=i.useMemo((()=>[c[0]+h[0],c[0]+h[1]]),[c[0],h[0],h[1]]),v=i.useMemo((()=>[c[1]+d[0],c[1]+d[1]]),[c[1],d[0],d[1]]),A=i.useMemo((()=>[s.MathUtils.clamp(c[0],...g),s.MathUtils.clamp(c[1],...v),c[2]]),[c[0],c[1],c[2],g,v]),[y,x]=Wr((()=>({scale:1,rotation:A,config:p})));i.useEffect((()=>{x.start({scale:1,rotation:A,config:p})}),[A]),i.useEffect((()=>{t&&r&&(m.domElement.style.cursor="grab")}),[t,r,m.domElement]);const b=di({onHover:({last:e})=>{r&&!t&&(m.domElement.style.cursor=e?"auto":"grab")},onDrag:({down:t,delta:[n,i],memo:[a,o]=y.rotation.animation.to||A})=>{r&&(m.domElement.style.cursor=t?"grabbing":"grab"),n=s.MathUtils.clamp(o+n/f.width*Math.PI*l,...v),i=s.MathUtils.clamp(a+i/f.height*Math.PI*l,...g);const c=e&&!t&&"boolean"!=typeof e?e:p;return x.start({scale:t&&i>g[1]/2?u:1,rotation:e&&!t?A:[i,n,0],config:e=>"scale"===e?{...c,friction:3*c.friction}:c}),[i,n]}},{target:t?m.domElement:void 0});return i.createElement($r.group,n({},null==b?void 0:b(),y),a)}var fi=r(31480),mi=r(60374);const gi=i.createContext([]);function vi({box:e,multiple:t,children:r,onChange:a,border:l="1px solid #55aaff",backgroundColor:c="rgba(75, 160, 255, 0.1)",filter:u=(e=>e),...h}){const{camera:d,raycaster:p,gl:f,controls:m,size:g,get:v}=(0,o.useThree)(),[A,y]=i.useState(!1),[x,b]=i.useReducer(((e,{object:t,shift:r})=>void 0===t?[]:Array.isArray(t)?t:r?e.includes(t)?e.filter((e=>e!==t)):[t,...e]:e[0]===t?[]:[t]),[]);i.useEffect((()=>{null==a||a(x)}),[x]);const w=i.useCallback((e=>{e.stopPropagation(),b({object:u([e.object])[0],shift:t&&e.shiftKey})}),[]),_=i.useCallback((e=>!A&&b({})),[A]),E=i.useRef(null);return i.useEffect((()=>{if(!e||!t)return;const r=new fi.M(d,E.current),n=document.createElement("div");n.style.pointerEvents="none",n.style.border=l,n.style.backgroundColor=c,n.style.position="fixed";const i=new s.Vector2,a=new s.Vector2,o=new s.Vector2,h=p.enabled,A=null==m?void 0:m.enabled;let y=!1;function x(e,t){var r;const{offsetX:n,offsetY:i}=null!==(r=null==p.computeOffsets?void 0:p.computeOffsets(e,v()))&&void 0!==r?r:e,{width:a,height:s}=g;t.set(n/a*2-1,-i/s*2+1)}function w(e){e.shiftKey&&(!function(e){var t;m&&(m.enabled=!1),p.enabled=!1,y=!0,null==(t=f.domElement.parentElement)||t.appendChild(n),n.style.left=`${e.clientX}px`,n.style.top=`${e.clientY}px`,n.style.width="0px",n.style.height="0px",i.x=e.clientX,i.y=e.clientY}(e),x(e,r.startPoint))}let _=[];function S(e){if(y){!function(e){o.x=Math.max(i.x,e.clientX),o.y=Math.max(i.y,e.clientY),a.x=Math.min(i.x,e.clientX),a.y=Math.min(i.y,e.clientY),n.style.left=`${a.x}px`,n.style.top=`${a.y}px`,n.style.width=o.x-a.x+"px",n.style.height=o.y-a.y+"px"}(e),x(e,r.endPoint);const t=r.select().sort((e=>e.uuid)).filter((e=>e.isMesh));(0,mi.Z)(t,_)||(_=t,b({object:u(t)}))}}function M(e){var t;y&&y&&(m&&(m.enabled=A),p.enabled=h,y=!1,null==(t=n.parentElement)||t.removeChild(n))}return document.addEventListener("pointerdown",w,{passive:!0}),document.addEventListener("pointermove",S,{passive:!0,capture:!0}),document.addEventListener("pointerup",M,{passive:!0}),()=>{document.removeEventListener("pointerdown",w),document.removeEventListener("pointermove",S),document.removeEventListener("pointerup",M)}}),[g,p,d,m,f]),i.createElement("group",n({ref:E,onClick:w,onPointerOver:()=>y(!0),onPointerOut:()=>y(!1),onPointerMissed:_},h),i.createElement(gi.Provider,{value:x},r))}function Ai(){return i.useContext(gi)}const yi=i.forwardRef((function({follow:e=!0,lockX:t=!1,lockY:r=!1,lockZ:a=!1,...s},l){const c=i.useRef();return(0,o.useFrame)((({camera:n})=>{if(!e||!c.current)return;const i=c.current.rotation.clone();c.current.quaternion.copy(n.quaternion),t&&(c.current.rotation.x=i.x),r&&(c.current.rotation.y=i.y),a&&(c.current.rotation.z=i.z)})),i.createElement("group",n({ref:M([c,l])},s))}));var xi=r(43075),bi=r(10977),wi=r(51815);const _i=i.forwardRef((function({points:e,color:t="black",vertexColors:r,lineWidth:a,dashed:o,...l},c){const[u]=i.useState((()=>new xi.w)),[h]=i.useState((()=>new bi.Y)),[d]=i.useState((()=>new s.Vector2(512,512))),p=i.useMemo((()=>{const t=new wi.L,n=e.map((e=>e instanceof s.Vector3?e.toArray():e));if(t.setPositions(n.flat()),r){const e=r.map((e=>e instanceof s.Color?e.toArray():e));t.setColors(e.flat())}return t}),[e,r]);return i.useLayoutEffect((()=>{u.computeLineDistances()}),[e,u]),i.useLayoutEffect((()=>{o?h.defines.USE_DASH="":delete h.defines.USE_DASH,h.needsUpdate=!0}),[o,h]),i.useEffect((()=>()=>p.dispose()),[p]),i.createElement("primitive",n({object:u,ref:c},l),i.createElement("primitive",{object:p,attach:"geometry"}),i.createElement("primitive",n({object:h,attach:"material",color:t,vertexColors:Boolean(r),resolution:d,linewidth:a,dashed:o},l)))})),Ei=new s.Vector3,Si=i.forwardRef((function({start:e=[0,0,0],end:t=[0,0,0],mid:r,segments:a=20,...o},l){const c=i.useRef(null),[u]=i.useState((()=>new s.QuadraticBezierCurve3(void 0,void 0,void 0))),h=i.useCallback(((e,t,r,n=20)=>(e instanceof s.Vector3?u.v0.copy(e):u.v0.set(...e),t instanceof s.Vector3?u.v2.copy(t):u.v2.set(...t),r instanceof s.Vector3?u.v1.copy(r):u.v1.copy(u.v0.clone().add(u.v2.clone().sub(u.v0)).add(Ei.set(0,u.v0.y-u.v2.y,0))),u.getPoints(n))),[]);i.useLayoutEffect((()=>{c.current.setPoints=(e,t,r)=>{const n=h(e,t,r);c.current.geometry&&c.current.geometry.setPositions(n.map((e=>e.toArray())).flat())}}),[]);const d=i.useMemo((()=>h(e,t,r,a)),[e,t,r,a]);return i.createElement(_i,n({ref:M([c,l]),points:d},o))})),Mi=i.forwardRef((function({start:e,end:t,midA:r,midB:a,segments:o=20,...l},c){const u=i.useMemo((()=>{const n=e instanceof s.Vector3?e:new s.Vector3(...e),i=t instanceof s.Vector3?t:new s.Vector3(...t),l=r instanceof s.Vector3?r:new s.Vector3(...r),c=a instanceof s.Vector3?a:new s.Vector3(...a);return new s.CubicBezierCurve3(n,l,c,i).getPoints(o)}),[e,t,r,a,o]);return i.createElement(_i,n({ref:c,points:u},l))})),Ti=i.forwardRef((({url:e,distance:t=1,loop:r=!0,autoplay:a,...l},c)=>{const u=i.useRef(),h=(0,o.useThree)((({camera:e})=>e)),[d]=i.useState((()=>new s.AudioListener)),p=(0,o.useLoader)(s.AudioLoader,e);return i.useEffect((()=>{const e=u.current;e&&(e.setBuffer(p),e.setRefDistance(t),e.setLoop(r),a&&!e.isPlaying&&e.play())}),[p,h,t,r]),i.useEffect((()=>{const e=u.current;return h.add(d),()=>{h.remove(d),e&&(e.isPlaying&&e.stop(),e.source&&e.source._connected&&e.disconnect())}}),[]),i.createElement("positionalAudio",n({ref:M([u,c]),args:[d]},l))}));function Ci(){var e,t=0,r=[],n=0,i=0;var a=d((function(e){i||o(1,e)})),s=d((function(e){i||o(-1,e)}));function o(r,n){i++;var a=0;try{n===m&&p();var s=r>0&&h(n);s?s.call(n,d((function(e){a++,o(1,e)})),d((function(e){a++,o(-1,e)}))):(t=r,e=n,l())}catch(Ha){t||a||o(-1,Ha)}}function l(){n||(setTimeout(c,0),n=1)}function c(){var e=r;n=0,r=[],e.forEach(u)}function u(e){e()}function h(e){var t=e&&(f(e)||"object"==typeof e)&&e.then;return f(t)&&t}function d(e){var t=0;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];t++||e.apply(this,r)}}function p(){throw new TypeError("Chaining cycle detected")}var f=function(e){return"function"==typeof e},m={then:function(n,i){var a=Ci();return r.push((function(){var r=t>0?n:i;if(f(r))try{var s=r(e);s===a&&p();var o=h(s);o?o.call(s,a.resolve,a.reject):a.resolve(s)}catch(l){a.reject(l)}else a[t>0?"resolve":"reject"](e)})),t&&l(),a},resolve:a,reject:s};return m}function Ii(){var e,t,r=new Promise((function(r,n){e=r,t=n}));return{then:r.then.bind(r),resolve:e,reject:t}}Ci.all=Ii.all=function(e){var t=0,r=[],n=Bi();return 0===e.length?n.resolve([]):e.forEach((function(i,a){var s=Bi();s.resolve(i),s.then((function(i){t++,r[a]=i,t===e.length&&n.resolve(r)}),n.reject)})),n};var Bi="function"==typeof Promise?Ii:Ci;function Ri(){var e=Object.create(null);function t(n,i){var a=n.id,s=n.name,o=n.dependencies;void 0===o&&(o=[]);var l=n.init;void 0===l&&(l=function(){});var c=n.getTransferables;if(void 0===c&&(c=null),!e[a])try{o=o.map((function(r){return r&&r.isWorkerModule&&(t(r,(function(e){if(e instanceof Error)throw e})),r=e[r.id].value),r})),l=r("<"+s+">.init",l),c&&(c=r("<"+s+">.getTransferables",c));var u=null;"function"==typeof l?u=l.apply(void 0,o):console.error("worker module init function failed to rehydrate"),e[a]={id:a,value:u,getTransferables:c},i(u)}catch(h){h&&h.noLog||console.error(h),i(h)}}function r(e,t){var r=void 0;self.troikaDefine=function(e){return r=e};var n=URL.createObjectURL(new Blob(["/** "+e.replace(/\*/g,"")+" **/\n\ntroikaDefine(\n"+t+"\n)"],{type:"application/javascript"}));try{importScripts(n)}catch(i){console.error(i)}return URL.revokeObjectURL(n),delete self.troikaDefine,r}self.addEventListener("message",(function(r){var n=r.data,i=n.messageId,a=n.action,s=n.data;try{"registerModule"===a&&t(s,(function(e){e instanceof Error?postMessage({messageId:i,success:!1,error:e.message}):postMessage({messageId:i,success:!0,result:{isCallable:"function"==typeof e}})})),"callModule"===a&&function(t,r){var n,i=t.id,a=t.args;e[i]&&"function"==typeof e[i].value||r(new Error("Worker module "+i+": not found or its 'init' did not return a function"));try{var s=(n=e[i]).value.apply(n,a);s&&"function"==typeof s.then?s.then(o,(function(e){return r(e instanceof Error?e:new Error(""+e))})):o(s)}catch(l){r(l)}function o(t){try{var n=e[i].getTransferables&&e[i].getTransferables(t);n&&Array.isArray(n)&&n.length||(n=void 0),r(t,n)}catch(l){console.error(l),r(l)}}}(s,(function(e,t){e instanceof Error?postMessage({messageId:i,success:!1,error:e.message}):postMessage({messageId:i,success:!0,result:e},t||void 0)}))}catch(o){postMessage({messageId:i,success:!1,error:o.stack})}}))}var Pi=function(){var e=!1;if("undefined"!=typeof window&&void 0!==window.document)try{new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"}))).terminate(),e=!0}catch(t){console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+t.message+"]")}return Pi=function(){return e},e},Fi=0,Li=0,Di=!1,Ui=Object.create(null),Ni=Object.create(null),ki=Object.create(null);function Oi(e){if(!(e&&"function"==typeof e.init||Di))throw new Error("requires `options.init` function");var t=e.dependencies,r=e.init,n=e.getTransferables,i=e.workerId;if(!Pi())return function(e){var t=function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return t._getInitResult().then((function(t){if("function"==typeof t)return t.apply(void 0,e);throw new Error("Worker module function was called but `init` did not return a callable function")}))};return t._getInitResult=function(){var r=e.dependencies,n=e.init;r=Array.isArray(r)?r.map((function(e){return e&&e._getInitResult?e._getInitResult():e})):[];var i=Bi.all(r).then((function(e){return n.apply(null,e)}));return t._getInitResult=function(){return i},i},t}(e);null==i&&(i="#default");var a="workerModule"+ ++Fi,s=e.name||a,o=null;function l(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(!o){o=zi(i,"registerModule",l.workerModuleData);var r=function(){o=null,Ni[i].delete(r)};(Ni[i]||(Ni[i]=new Set)).add(r)}return o.then((function(t){if(t.isCallable)return zi(i,"callModule",{id:a,args:e});throw new Error("Worker module function was called but `init` did not return a callable function")}))}return t=t&&t.map((function(e){return"function"!=typeof e||e.workerModuleData||(Di=!0,e=Oi({workerId:i,name:"<"+s+"> function dependency: "+e.name,init:"function(){return (\n"+Gi(e)+"\n)}"}),Di=!1),e&&e.workerModuleData&&(e=e.workerModuleData),e})),l.workerModuleData={isWorkerModule:!0,id:a,name:s,dependencies:t,init:Gi(r),getTransferables:n&&Gi(n)},l}function Gi(e){var t=e.toString();return!/^function/.test(t)&&/^\w+\s*\(/.test(t)&&(t="function "+t),t}function zi(e,t,r){var n=Bi(),i=++Li;return ki[i]=function(e){e.success?n.resolve(e.result):n.reject(new Error("Error in worker "+t+" call: "+e.error))},function(e){var t=Ui[e];if(!t){var r=Gi(Ri);(t=Ui[e]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+e.replace(/\*/g,"")+" **/\n\n;("+r+")()"],{type:"application/javascript"})))).onmessage=function(e){var t=e.data,r=t.messageId,n=ki[r];if(!n)throw new Error("WorkerModule response with empty or unknown messageId");delete ki[r],n(t)}}return t}(e).postMessage({messageId:i,action:t,data:r}),n}var Vi=Oi({name:"Thenable",dependencies:[Bi],init:function(e){return e}});function Hi(){var e=function(e){function t(e,t,r,n,i,a,s,o){var l=1-s;o.x=l*l*e+2*l*s*r+s*s*i,o.y=l*l*t+2*l*s*n+s*s*a}function r(e,t,r,n,i,a,s,o,l,c){var u=1-l;c.x=u*u*u*e+3*u*u*l*r+3*u*l*l*i+l*l*l*s,c.y=u*u*u*t+3*u*u*l*n+3*u*l*l*a+l*l*l*o}function n(e,t){for(var r,n,i,a,s,o=/([MLQCZ])([^MLQCZ]*)/g;r=o.exec(e);){var l=r[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map((function(e){return parseFloat(e)}));switch(r[1]){case"M":a=n=l[0],s=i=l[1];break;case"L":l[0]===a&&l[1]===s||t("L",a,s,a=l[0],s=l[1]);break;case"Q":t("Q",a,s,a=l[2],s=l[3],l[0],l[1]);break;case"C":t("C",a,s,a=l[4],s=l[5],l[0],l[1],l[2],l[3]);break;case"Z":a===n&&s===i||t("L",a,s,n,i)}}}function i(e,i,a){void 0===a&&(a=16);var s={x:0,y:0};n(e,(function(e,n,o,l,c,u,h,d,p){switch(e){case"L":i(n,o,l,c);break;case"Q":for(var f=n,m=o,g=1;g0;)n[i]=arguments[i+2];var a=o[t]||(o[t]=r.getUniformLocation(c,t));r["uniform"+e].apply(r,[a].concat(n))},setAttribute:function(e,t,n,a,o){var l=s[e];l||(l=s[e]={buf:r.createBuffer(),loc:r.getAttribLocation(c,e),data:null}),r.bindBuffer(r.ARRAY_BUFFER,l.buf),r.vertexAttribPointer(l.loc,t,r.FLOAT,!1,0,0),r.enableVertexAttribArray(l.loc),i?r.vertexAttribDivisor(l.loc,a):d("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(l.loc,a),o!==l.data&&(r.bufferData(r.ARRAY_BUFFER,o,n),l.data=o)}})}}}l[e].transaction(a)}function m(e,t){u++;try{r.activeTexture(r.TEXTURE0+u);var n=c[e];n||(n=c[e]=r.createTexture(),r.bindTexture(r.TEXTURE_2D,n),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST)),r.bindTexture(r.TEXTURE_2D,n),t(n,u)}finally{u--}}function g(e,t,n){var i=r.createFramebuffer();h.push(i),r.bindFramebuffer(r.FRAMEBUFFER,i),r.activeTexture(r.TEXTURE0+t),r.bindTexture(r.TEXTURE_2D,e),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0);try{n(i)}finally{r.deleteFramebuffer(i),r.bindFramebuffer(r.FRAMEBUFFER,h[--h.length-1]||null)}}function v(){a={},l={},c={},u=-1,h.length=0}r.canvas.addEventListener("webglcontextlost",(function(e){v(),e.preventDefault()}),!1),s.set(r,n={gl:r,isWebGL2:i,getExtension:d,withProgram:f,withTexture:m,withTextureFramebuffer:g,handleContextLoss:v})}t(n)}function c(e,t,r,n,i,s,o,c){void 0===o&&(o=15),void 0===c&&(c=null),l(e,(function(e){var l=e.gl,u=e.withProgram;(0,e.withTexture)("copy",(function(e,h){l.texImage2D(l.TEXTURE_2D,0,l.RGBA,i,s,0,l.RGBA,l.UNSIGNED_BYTE,t),u("copy",a,"precision highp float;uniform sampler2D tex;varying vec2 vUV;void main(){gl_FragColor=texture2D(tex,vUV);}",(function(e){var t=e.setUniform;(0,e.setAttribute)("aUV",2,l.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),t("1i","image",h),l.bindFramebuffer(l.FRAMEBUFFER,c||null),l.disable(l.BLEND),l.colorMask(8&o,4&o,2&o,1&o),l.viewport(r,n,i,s),l.scissor(r,n,i,s),l.drawArrays(l.TRIANGLES,0,3)}))}))}))}var u=Object.freeze({__proto__:null,withWebGLContext:l,renderImageData:c,resizeWebGLCanvasWithoutClearing:function(e,t,r){var n=e.width,i=e.height;l(e,(function(a){var s=a.gl,o=new Uint8Array(n*i*4);s.readPixels(0,0,n,i,s.RGBA,s.UNSIGNED_BYTE,o),e.width=t,e.height=r,c(s,o,0,0,n,i)}))}});function h(e,t,r,n,a,s){void 0===s&&(s=1);var o=new Uint8Array(e*t),l=n[2]-n[0],c=n[3]-n[1],u=[];i(r,(function(e,t,r,n){u.push({x1:e,y1:t,x2:r,y2:n,minX:Math.min(e,r),minY:Math.min(t,n),maxX:Math.max(e,r),maxY:Math.max(t,n)})})),u.sort((function(e,t){return e.maxX-t.maxX}));for(var h=0;ha.minX&&t-na.minY){var s=f(e,t,a.x1,a.y1,a.x2,a.y2);st!=i.y2>t&&e<(i.x2-i.x1)*(t-i.y1)/(i.y2-i.y1)+i.x1&&(r+=i.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y"),c=l[0],u=l[1];c=String.fromCodePoint(n+=parseInt(c,36)),u=String.fromCodePoint(n+=parseInt(u,36)),i.set(c,u),t&&a.set(u,c)}})),{map:i,reverseMap:a}}function v(){if(!h){var e=g(f,!0),t=e.map,r=e.reverseMap;h=t,d=r,p=g(m,!1).map}}function A(e){return v(),h.get(e)||null}function y(e){return v(),d.get(e)||null}function x(e){return v(),p.get(e)||null}var b=r.L,w=r.R,_=r.EN,E=r.ES,S=r.ET,M=r.AN,T=r.CS,C=r.B,I=r.S,B=r.ON,R=r.BN,P=r.NSM,F=r.AL,L=r.LRO,D=r.RLO,U=r.LRE,N=r.RLE,k=r.PDF,O=r.LRI,G=r.RLI,z=r.FSI,V=r.PDI;var H;function Q(e){return function(){if(!H){var e=g("14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1",!0),t=e.map;e.reverseMap.forEach((function(e,r){t.set(r,e)})),H=t}}(),H.get(e)||null}function j(e,t,r,n){var i=e.length;r=Math.max(0,null==r?0:+r),n=Math.min(i-1,null==n?i-1:+n);var a=[];return t.paragraphs.forEach((function(i){var s=Math.max(r,i.start),o=Math.min(n,i.end);if(s=s&&u(e[h])&l;h--)c[h]=i.level;for(var d=i.level,p=1/0,f=0;fd&&(d=m),m=p;g--)for(var v=0;v=g){for(var A=v;v+1=g;)v++;v>A&&a.push([A+r,v+r])}}})),a}function W(e,t,r,n){for(var i=j(e,t,r,n),a=[],s=0;s0)Y--;else if(K>0){for(q=0;!W[W.length-1]._isolate;)W.pop();var re=W[W.length-1]._isolInitIndex;null!=re&&(p.set(re,J),p.set(J,re)),W.pop(),K--}X=W[W.length-1],d[J]=X._level,X._override&&h(J,X._override)}else Z&k?(0===Y&&(q>0?q--:!X._isolate&&W.length>1&&(W.pop(),X=W[W.length-1])),d[J]=X._level):Z&C&&(d[J]=m.level);else d[J]=X._level,X._override&&Z!==R&&h(J,X._override)}for(var ne=[],ie=null,ae=m.start;ae<=m.end;ae++){var se=r[ae];if(!(se&o)){var oe=d[ae],le=se&i,ce=se===V;ie&&oe===ie._level?(ie._end=ae,ie._endsWithIsolInit=le):ne.push(ie={_start:ae,_end:ae,_level:oe,_startsWithPDI:ce,_endsWithIsolInit:le})}}for(var ue=[],he=0;he=0;we--)if(!(r[we]&o)){be=d[we];break}var _e=ge[ge.length-1],Ee=d[_e],Se=m.level;if(!(r[_e]&i))for(var Me=_e+1;Me<=m.end;Me++)if(!(r[Me]&o)){Se=d[Me];break}ue.push({_seqIndices:ge,_sosType:Math.max(be,xe)%2?w:b,_eosType:Math.max(Se,Ee)%2?w:b})}}for(var Te=0;Te=0;De--)if(!(r[Ie[De]]&o)){Le=r[Ie[De]];break}h(Fe,Le&(i|V)?B:Le)}}if(c.get(_))for(var Ue=0;Ue=-1;ke--){var Oe=-1===ke?Be:r[Ie[ke]];if(Oe&a){Oe===F&&h(Ne,M);break}}}if(c.get(F))for(var Ge=0;Ge=0&&(Qe=r[Ie[We]])&o;We--);for(var Xe=Ve+1;Xe=0&&r[Ie[Ke]]&(S|o);Ke--)h(Ie[Ke],_);for(var Je=Ye+1;Je=0&&r[Ie[et]]&o;et--)h(Ie[et],B);for(var tt=Ze+1;tt=0;pt--){var ft=ct[pt].char;if(ft===dt||ft===y(x(ht))||A(x(ft))===ht){lt.push([ct[pt].seqIndex,ut]),ct.length=pt;break}}}lt.sort((function(e,t){return e[0]-t[0]}));for(var mt=0;mt=0;Et--){var St=Ie[Et];if(r[St]&ot){var Mt=r[St]&st?w:b;xt=Mt!==Ht(St)?Mt:Ht(St);break}}}if(xt){if(r[Ie[vt]]=r[Ie[At]]=xt,xt!==Ht(Ie[vt]))for(var Tt=vt+1;Tt=0;Ft--){if(!(r[Ie[Ft]]&o)){Pt=r[Ie[Ft]]&st?w:b;break}Bt=Ft}for(var Lt=Re,Dt=It+1;Dt=0&&u(e[Gt])&l;Gt--)d[Gt]=m.level}}return{levels:d,paragraphs:f};function zt(t,n){for(var a=t;a/gm,(function(e,t){let r=s.ShaderChunk[t];return r?Wi(r):e}))}const Xi=[];for(let vh=0;vh<256;vh++)Xi[vh]=(vh<16?"0":"")+vh.toString(16);const Yi=Object.assign||function(){let e=arguments[0];for(let t=1,r=arguments.length;t/gm,"\n//!BEGIN_POST_CHUNK $1\n$&\n//!END_POST_CHUNK\n")));if(d){let r=d({vertexShader:e,fragmentShader:t});e=r.vertexShader,t=r.fragmentShader}if(h){let e=[];t=t.replace(/^\/\/!BEGIN_POST_CHUNK[^]+?^\/\/!END_POST_CHUNK/gm,(t=>(e.push(t),""))),u=`${h}\n${e.join("\n")}\n${u}`}if(p){const e=`\nuniform float ${p};\n`;i=e+i,l=e+l}o&&(i=`${i}\nvoid troikaVertexTransform${n}(inout vec3 position, inout vec3 normal, inout vec2 uv) {\n ${o}\n}\n`,a=`\ntroika_position_${n} = vec3(position);\ntroika_normal_${n} = vec3(normal);\ntroika_uv_${n} = vec2(uv);\ntroikaVertexTransform${n}(troika_position_${n}, troika_normal_${n}, troika_uv_${n});\n${a}\n`,e=(e=`vec3 troika_position_${n};\nvec3 troika_normal_${n};\nvec2 troika_uv_${n};\n${e}\n`).replace(/\b(position|normal|uv)\b/g,((e,t,r,i)=>/\battribute\s+vec[23]\s+$/.test(i.substr(0,r))?t:`troika_${t}_${n}`)));return e=ea(e,n,i,a,s),t=ea(t,n,l,c,u),{vertexShader:e,fragmentShader:t}}(n,t,r);s=Ji[a]=e}n.vertexShader=s.vertexShader,n.fragmentShader=s.fragmentShader,Yi(n.uniforms,this.uniforms),t.timeUniform&&(n.uniforms[t.timeUniform]={get value(){return Date.now()-qi}}),this[i]&&this[i](n)},o=function(){return l(t.chained?e:e.clone())},l=function(n){const i=Object.create(n,c);return Object.defineProperty(i,"baseMaterial",{value:e}),Object.defineProperty(i,"id",{value:Zi++}),i.uuid=function(){const e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,r=4294967295*Math.random()|0,n=4294967295*Math.random()|0;return(Xi[255&e]+Xi[e>>8&255]+Xi[e>>16&255]+Xi[e>>24&255]+"-"+Xi[255&t]+Xi[t>>8&255]+"-"+Xi[t>>16&15|64]+Xi[t>>24&255]+"-"+Xi[63&r|128]+Xi[r>>8&255]+"-"+Xi[r>>16&255]+Xi[r>>24&255]+Xi[255&n]+Xi[n>>8&255]+Xi[n>>16&255]+Xi[n>>24&255]).toUpperCase()}(),i.uniforms=Yi({},n.uniforms,t.uniforms),i.defines=Yi({},n.defines,t.defines),i.defines[`TROIKA_DERIVED_MATERIAL_${r}`]="",i.extensions=Yi({},n.extensions,t.extensions),i._listeners=void 0,i},c={constructor:{value:o},isDerivedMaterial:{value:!0},customProgramCacheKey:{writable:!0,configurable:!0,value:function(){return e.customProgramCacheKey()+"|"+r}},onBeforeCompile:{get:()=>a,set(e){this[i]=e}},copy:{writable:!0,configurable:!0,value:function(t){return e.copy.call(this,t),e.isShaderMaterial||e.isDerivedMaterial||(Yi(this.extensions,t.extensions),Yi(this.defines,t.defines),Yi(this.uniforms,s.UniformsUtils.clone(t.uniforms))),this}},clone:{writable:!0,configurable:!0,value:function(){const t=new e.constructor;return l(t).copy(this)}},getDepthMaterial:{writable:!0,configurable:!0,value:function(){let r=this._depthMaterial;return r||(r=this._depthMaterial=$i(e.isDerivedMaterial?e.getDepthMaterial():new s.MeshDepthMaterial({depthPacking:s.RGBADepthPacking}),t),r.defines.IS_DEPTH_MATERIAL="",r.uniforms=this.uniforms),r}},getDistanceMaterial:{writable:!0,configurable:!0,value:function(){let r=this._distanceMaterial;return r||(r=this._distanceMaterial=$i(e.isDerivedMaterial?e.getDistanceMaterial():new s.MeshDistanceMaterial,t),r.defines.IS_DISTANCE_MATERIAL="",r.uniforms=this.uniforms),r}},dispose:{writable:!0,configurable:!0,value(){const{_depthMaterial:t,_distanceMaterial:r}=this;t&&t.dispose(),r&&r.dispose(),e.dispose.call(this)}}};return n[r]=o,new o}function ea(e,t,r,n,i){return(n||i||r)&&(e=e.replace(ji,`\n${r}\nvoid troikaOrigMain${t}() {`),e+=`\nvoid main() {\n ${n}\n troikaOrigMain${t}();\n ${i}\n}`),e}function ta(e,t){return"uniforms"===e?void 0:"function"==typeof t?t.toString():t}let ra=0;const na=new Map;s.DoubleSide;const ia=()=>(self.performance||Date).now(),aa=Hi();let sa;const oa=function(){const e=[];let t=0;function r(){const n=ia();for(;e.length&&ia()-n<5;)e.shift()();t=e.length?setTimeout(r,0):0}return(...n)=>{const i=Bi();return e.push((()=>{const e=ia();try{aa.webgl.generateIntoCanvas(...n),i.resolve({timing:ia()-e})}catch(t){i.reject(t)}})),t||(t=setTimeout(r,0)),i}}(),la=function(){const e={};let t=0;return function(r,n,i,a,s,o,l,c,u,h){const d="TroikaTextSDFGenerator_JS_"+t++%4;let p=e[d];return p||(p=e[d]={workerModule:Oi({name:d,workerId:d,dependencies:[Hi,ia],init(e,t){const r=e().javascript.generate;return function(...e){const n=t();return{textureData:r(...e),timing:t()-n}}},getTransferables:e=>[e.textureData.buffer]}),requests:0,idleTimer:null}),p.requests++,clearTimeout(p.idleTimer),p.workerModule(r,n,i,a,s,o).then((({textureData:e,timing:t})=>{const i=ia(),a=new Uint8Array(4*e.length);for(let r=0;r{!function(e){Ni[e]&&Ni[e].forEach((function(e){e()})),Ui[e]&&(Ui[e].terminate(),delete Ui[e])}(d)}),2e3)),{timing:t}}))}}();const ca=aa.webglUtils.resizeWebGLCanvasWithoutClearing;const ua=Oi({name:"Typr Font Parser",dependencies:[function(){return"undefined"==typeof window&&(self.window=self),function(e){var t={parse:function(e){var r=t._bin,n=new Uint8Array(e);if("ttcf"==r.readASCII(n,0,4)){var i=4;r.readUshort(n,i),i+=2,r.readUshort(n,i),i+=2;var a=r.readUint(n,i);i+=4;for(var s=[],o=0;o>>r&1)&&t++;return t},t._lctf.readClassDef=function(e,r){var n=t._bin,i=[],a=n.readUshort(e,r);if(r+=2,1==a){var s=n.readUshort(e,r);r+=2;var o=n.readUshort(e,r);r+=2;for(var l=0;l0&&(a.featureParams=i+s);var o=n.readUshort(e,r);r+=2,a.tab=[];for(var l=0;l255?-1:t.CFF.glyphByUnicode(e,t.CFF.tableSE[r])},t.CFF.readEncoding=function(e,r,n){t._bin;var i=[".notdef"],a=e[r];if(r++,0!=a)throw"error: unknown encoding format: "+a;var s=e[r];r++;for(var o=0;o>4,m=15&p;if(15!=f&&d.push(f),15!=m&&d.push(m),15==m)break}for(var g="",v=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],A=0;A=s.xMax||s.yMin>=s.yMax)return null;if(s.noc>0){s.endPts=[];for(var o=0;o=1&&o.fmt<=2){c=a.readUshort(e,n),n+=2;var h=a.readUshort(e,n);n+=2,u=t._lctf.numOfOnes(c);var d=t._lctf.numOfOnes(h);if(1==o.fmt){o.pairsets=[];var p=a.readUshort(e,n);n+=2;for(var f=0;f=1&&o.fmt<=2){if(1==o.fmt)o.delta=a.readShort(e,n),n+=2;else if(2==o.fmt){var c=a.readUshort(e,n);n+=2,o.newg=a.readUshorts(e,n,c),n+=2*o.newg.length}}else if(4==r){o.vals=[],c=a.readUshort(e,n),n+=2;for(var u=0;u>>8;if(0!=(h&=15))throw"unknown kern table format: "+h;r=t.kern.readFormat0(e,r,l)}return l},t.kern.parseV1=function(e,r,n,i){var a=t._bin;a.readFixed(e,r),r+=4;var s=a.readUint(e,r);r+=4;for(var o={glyph1:[],rval:[]},l=0;l>>8;if(0!=(u&=15))throw"unknown kern table format: "+u;r=t.kern.readFormat0(e,r,o)}return o},t.kern.readFormat0=function(e,r,n){var i=t._bin,a=-1,s=i.readUshort(e,r);r+=2,i.readUshort(e,r),r+=2,i.readUshort(e,r),r+=2,i.readUshort(e,r),r+=2;for(var o=0;o=i.map.length?0:i.map[t];if(4==i.format){for(var a=-1,s=0;st?0:65535&(0!=i.idRangeOffset[a]?i.glyphIdArray[t-i.startCount[a]+(i.idRangeOffset[a]>>1)-(i.idRangeOffset.length-a)]:t+i.idDelta[a])}if(12==i.format){if(t>i.groups[i.groups.length-1][1])return 0;for(s=0;s-1?t.U._simpleGlyph(i,n):t.U._compoGlyph(i,r,n))},t.U._simpleGlyph=function(e,r){for(var n=0;na)){for(var p=!0,f=0,m=0;ma)){for(p=!0,m=0;m>1,s.length=0,l=!0;else if("o3"==S||"o23"==S)s.length%2!=0&&!l&&(c=s.shift()+i.nominalWidthX),o+=s.length>>1,s.length=0,l=!0;else if("o4"==S)s.length>1&&!l&&(c=s.shift()+i.nominalWidthX,l=!0),u&&t.U.P.closePath(a),p+=s.pop(),t.U.P.moveTo(a,d,p),u=!0;else if("o5"==S)for(;s.length>0;)d+=s.shift(),p+=s.shift(),t.U.P.lineTo(a,d,p);else if("o6"==S||"o7"==S)for(var M=s.length,T="o6"==S,C=0;CMath.abs(b-p)?d=x+s.shift():p=b+s.shift(),t.U.P.curveTo(a,f,m,g,v,w,_),t.U.P.curveTo(a,A,y,x,b,d,p));else if("o14"==S){if(s.length>0&&!l&&(c=s.shift()+n.nominalWidthX,l=!0),4==s.length){var R=s.shift(),P=s.shift(),F=s.shift(),L=s.shift(),D=t.CFF.glyphBySE(n,F),U=t.CFF.glyphBySE(n,L);t.U._drawCFF(n.CharStrings[D],r,n,i,a),r.x=R,r.y=P,t.U._drawCFF(n.CharStrings[U],r,n,i,a)}u&&(t.U.P.closePath(a),u=!1)}else if("o19"==S||"o20"==S)s.length%2!=0&&!l&&(c=s.shift()+i.nominalWidthX),o+=s.length>>1,s.length=0,l=!0,h+=o+7>>3;else if("o21"==S)s.length>2&&!l&&(c=s.shift()+i.nominalWidthX,l=!0),p+=s.pop(),d+=s.pop(),u&&t.U.P.closePath(a),t.U.P.moveTo(a,d,p),u=!0;else if("o22"==S)s.length>1&&!l&&(c=s.shift()+i.nominalWidthX,l=!0),d+=s.pop(),u&&t.U.P.closePath(a),t.U.P.moveTo(a,d,p),u=!0;else if("o25"==S){for(;s.length>6;)d+=s.shift(),p+=s.shift(),t.U.P.lineTo(a,d,p);f=d+s.shift(),m=p+s.shift(),g=f+s.shift(),v=m+s.shift(),d=g+s.shift(),p=v+s.shift(),t.U.P.curveTo(a,f,m,g,v,d,p)}else if("o26"==S)for(s.length%2&&(d+=s.shift());s.length>0;)f=d,m=p+s.shift(),d=g=f+s.shift(),p=(v=m+s.shift())+s.shift(),t.U.P.curveTo(a,f,m,g,v,d,p);else if("o27"==S)for(s.length%2&&(p+=s.shift());s.length>0;)m=p,g=(f=d+s.shift())+s.shift(),v=m+s.shift(),d=g+s.shift(),p=v,t.U.P.curveTo(a,f,m,g,v,d,p);else if("o10"==S||"o29"==S){var N="o10"==S?i:n;if(0==s.length)console.debug("error: empty stack");else{var k=s.pop(),O=N.Subrs[k+N.Bias];r.x=d,r.y=p,r.nStems=o,r.haveWidth=l,r.width=c,r.open=u,t.U._drawCFF(O,r,n,i,a),d=r.x,p=r.y,o=r.nStems,l=r.haveWidth,c=r.width,u=r.open}}else if("o30"==S||"o31"==S){var G=s.length,z=(B=0,"o31"==S);for(B+=G-(M=-3&G);B>>1|(21845&p)<<1;f=(61680&(f=(52428&f)>>>2|(13107&f)<<2))>>>4|(3855&f)<<4,d[p]=((65280&f)>>>8|(255&f)<<8)>>>1}var m=function(e,t,n){for(var i=e.length,a=0,s=new r(t);a>>c]=u}else for(o=new r(i),a=0;a>>15-e[a]);return o},g=new t(288);for(p=0;p<144;++p)g[p]=8;for(p=144;p<256;++p)g[p]=9;for(p=256;p<280;++p)g[p]=7;for(p=280;p<288;++p)g[p]=8;var v=new t(32);for(p=0;p<32;++p)v[p]=5;var A=m(g,9,1),y=m(v,5,1),x=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},b=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},w=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},_=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(e,t,r){var n=new Error(t||_[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,E),!r)throw n;return n},S=function(e,o,l){var u=e.length;if(!u||l&&!l.l&&u<5)return o||new t(0);var d=!o||l,p=!l||l.i;l||(l={}),o||(o=new t(3*u));var f,g=function(e){var r=o.length;if(e>r){var n=new t(Math.max(2*r,e));n.set(o),o=n}},v=l.f||0,_=l.p||0,S=l.b||0,M=l.l,T=l.d,C=l.m,I=l.n,B=8*u;do{if(!M){l.f=v=b(e,_,1);var R=b(e,_+1,3);if(_+=3,!R){var P=e[(H=((f=_)/8|0)+(7&f&&1)+4)-4]|e[H-3]<<8,F=H+P;if(F>u){p&&E(0);break}d&&g(S+P),o.set(e.subarray(H,F),S),l.b=S+=P,l.p=_=8*F;continue}if(1==R)M=A,T=y,C=9,I=5;else if(2==R){var L=b(e,_,31)+257,D=b(e,_+10,15)+4,U=L+b(e,_+5,31)+1;_+=14;for(var N=new t(U),k=new t(19),O=0;O>>4)<16)N[O++]=H;else{var j=0,W=0;for(16==H?(W=3+b(e,_,3),_+=2,j=N[O-1]):17==H?(W=3+b(e,_,7),_+=3):18==H&&(W=11+b(e,_,127),_+=7);W--;)N[O++]=j}}var X=N.subarray(0,L),Y=N.subarray(L);C=x(X),I=x(Y),M=m(X,C,1),T=m(Y,I,1)}else E(1);if(_>B){p&&E(0);break}}d&&g(S+131072);for(var q=(1<>>4;if((_+=15&j)>B){p&&E(0);break}if(j||E(2),Z<256)o[S++]=Z;else{if(256==Z){J=_,M=null;break}var $=Z-254;if(Z>264){var ee=i[O=Z-257];$=b(e,_,(1<>>4;if(te||E(3),_+=15&te,Y=h[re],re>3&&(ee=a[re],Y+=w(e,_)&(1<B){p&&E(0);break}d&&g(S+131072);for(var ne=S+$;Se.length)&&(a=e.length);var s=new(e instanceof r?r:e instanceof n?n:t)(a-i);return s.set(e.subarray(i,a)),s}(o,0,S)},M=new t(0),T="undefined"!=typeof TextDecoder&&new TextDecoder;try{T.decode(M,{stream:!0})}catch(e){}return e.convert_streams=function(e){var t=new DataView(e),r=0;function n(){var e=t.getUint16(r);return r+=2,e}function i(){var e=t.getUint32(r);return r+=4,e}function a(e){v.setUint16(A,e),A+=2}function s(e){v.setUint32(A,e),A+=4}for(var o={signature:i(),flavor:i(),length:i(),numTables:n(),reserved:n(),totalSfntSize:i(),majorVersion:n(),minorVersion:n(),metaOffset:i(),metaLength:i(),metaOrigLength:i(),privOffset:i(),privLength:i()},l=0;Math.pow(2,l)<=o.numTables;)l++;l--;for(var c=16*Math.pow(2,l),u=16*o.numTables-c,h=12,d=[],p=0;p{let[a,s]=n.split("+");a=parseInt(a,36),s=s?parseInt(s,36):0,i.set(r+=a,e[t]);for(let o=s;o--;)i.set(++r,e[t])}))}}return i.get(e)||32}const s=[null,"isol","init","fina","medi"];function o(e){const t=new Uint8Array(e.length);let r=32,n=1,i=-1;for(let s=0;s65535&&s++)}return t}function l(t){const n=Object.create(null),i={unitsPerEm:t.head.unitsPerEm,ascender:t.hhea.ascender,descender:t.hhea.descender,forEachGlyph(a,l,c,u){let h=0;const d=1/i.unitsPerEm*l,p=function(t,r){const n=[];for(let a=0;a65535&&a++,n.push(e.U.codeToGlyph(t,i))}const i=t.GSUB;if(i){const{lookupList:t,featureList:a}=i;let l;const c=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,u=[];a.forEach((i=>{if(c.test(i.tag))for(let a=0;a{if(-1!==i){let a=n[i];if(!a){const{cmds:s,crds:o}=e.U.glyphToPath(t,i);let l,c,u,h,d="",p=0;for(let e=0,t=s.length;e1?",":"")+o[p++]}if(o.length){l=c=1/0,u=h=-1/0;for(let e=0,t=o.length;eu&&(u=t),r>h&&(h=r)}}else l=u=c=h=0;a=n[i]={index:i,advanceWidth:t.hmtx.aWidth[i],xMin:l,yMin:c,xMax:u,yMax:h,path:d,pathCommandCount:s.length}}-1!==m&&(h+=e.U.getPairAdjustment(t,m,i)*d),u.call(null,a,h,f),a.advanceWidth&&(h+=a.advanceWidth*d),c&&(h+=c*l),m=i}f+=a.codePointAt(f)>65535?2:1})),h}};return i}return function(r){const n=new Uint8Array(r,0,4),i=e._bin.readASCII(n,0,4);if("wOFF"===i)r=t(r);else if("wOF2"===i)throw new Error("woff2 fonts not supported");return l(e.parse(r)[0])}}],init:(e,t,r)=>r(e(),t())}),ha={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},da=new s.Color;let pa=!1;function fa(){return(self.performance||Date).now()}const ma=Object.create(null);function ga(e,t){pa=!0,e=Aa({},e);const r=fa();if(e.font=function(e){ya||(ya="undefined"==typeof document?{}:document.createElement("a"));return ya.href=e,ya.href}(e.font||ha.defaultFontURL),e.text=""+e.text,e.sdfGlyphSize=e.sdfGlyphSize||ha.sdfGlyphSize,null!=e.colorRanges){let t={};for(let r in e.colorRanges)if(e.colorRanges.hasOwnProperty(r)){let n=e.colorRanges[r];"number"!=typeof n&&(n=da.set(n).getHex()),t[r]=n}e.colorRanges=t}Object.freeze(e);const{textureWidth:n,sdfExponent:i}=ha,{sdfGlyphSize:a}=e,o=n/a*4;let l=ma[a];if(!l){const e=document.createElement("canvas");e.width=n,e.height=256*a/o,l=ma[a]={glyphCount:0,sdfGlyphSize:a,sdfCanvas:e,sdfTexture:new s.Texture(e,void 0,void 0,void 0,s.LinearFilter,s.LinearFilter),contextLost:!1,glyphsByFont:new Map},l.sdfTexture.generateMipmaps=!1,function(e){const t=e.sdfCanvas;t.addEventListener("webglcontextlost",(t=>{console.log("Context Lost",t),t.preventDefault(),e.contextLost=!0})),t.addEventListener("webglcontextrestored",(t=>{console.log("Context Restored",t),e.contextLost=!1;const r=[];e.glyphsByFont.forEach((t=>{t.forEach((t=>{r.push(va(t,e,!0))}))})),Bi.all(r).then((()=>{xa(e),e.sdfTexture.needsUpdate=!0}))}))}(l)}const{sdfTexture:c,sdfCanvas:u}=l;let h=l.glyphsByFont.get(e.font);h||l.glyphsByFont.set(e.font,h=new Map),wa(e).then((s=>{const{glyphIds:d,glyphPositions:p,fontSize:f,unitsPerEm:m,timings:g}=s,v=[],A=new Float32Array(4*d.length),y=f/m;let x=0,b=0;const w=fa();d.forEach(((e,t)=>{let r=h.get(e);if(!r){const{path:t,pathBounds:n}=s.glyphData[e],i=Math.max(n[2]-n[0],n[3]-n[1])/a*(ha.sdfMargin*a+.5),o=l.glyphCount++,c=[n[0]-i,n[1]-i,n[2]+i,n[3]+i];h.set(e,r={path:t,atlasIndex:o,sdfViewBox:c}),v.push(r)}const{sdfViewBox:n}=r,i=p[b++],o=p[b++];A[x++]=i+n[0]*y,A[x++]=o+n[1]*y,A[x++]=i+n[2]*y,A[x++]=o+n[3]*y,d[t]=r.atlasIndex})),g.quads=(g.quads||0)+(fa()-w);const _=fa();g.sdf={};const E=u.height,S=Math.ceil(l.glyphCount/o),M=Math.pow(2,Math.ceil(Math.log2(S*a)));M>E&&(console.info(`Increasing SDF texture size ${E}->${M}`),ca(u,n,M),c.dispose()),Bi.all(v.map((t=>va(t,l,e.gpuAccelerateSDF).then((({timing:e})=>{g.sdf[t.atlasIndex]=e}))))).then((()=>{v.length&&!l.contextLost&&(xa(l),c.needsUpdate=!0),g.sdfTotal=fa()-_,g.total=fa()-r,t(Object.freeze({parameters:e,sdfTexture:c,sdfGlyphSize:a,sdfExponent:i,glyphBounds:A,glyphAtlasIndices:d,glyphColors:s.glyphColors,caretPositions:s.caretPositions,caretHeight:s.caretHeight,chunkedBounds:s.chunkedBounds,ascender:s.ascender,descender:s.descender,lineHeight:s.lineHeight,topBaseline:s.topBaseline,blockBounds:s.blockBounds,visibleBounds:s.visibleBounds,timings:s.timings,get totalBounds(){return console.log("totalBounds deprecated, use blockBounds instead"),s.blockBounds},get totalBlockSize(){console.log("totalBlockSize deprecated, use blockBounds instead");const[e,t,r,n]=s.blockBounds;return[r-e,n-t]}}))}))})),Bi.all([]).then((()=>{var e;l.contextLost||(e=u)._warm||(aa.webgl.isSupported(e),e._warm=!0)}))}function va({path:e,atlasIndex:t,sdfViewBox:r},{sdfGlyphSize:n,sdfCanvas:i,contextLost:a},s){if(a)return Promise.resolve({timing:-1});const{textureWidth:o,sdfExponent:l}=ha,c=Math.max(r[2]-r[0],r[3]-r[1]),u=Math.floor(t/4);return function(e,t,r,n,i,a,s,o,l,c,u=!0){return u?oa(e,t,r,n,i,a,s,o,l,c).then(null,(u=>(sa||(console.warn("WebGL SDF generation failed, falling back to JS",u),sa=!0),la(e,t,r,n,i,a,s,o,l,c)))):la(e,t,r,n,i,a,s,o,l,c)}(n,n,e,r,c,l,i,u%(o/n)*n,Math.floor(u/(o/n))*n,t%4,s)}function Aa(e,t){for(let r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}let ya;function xa(e){if("function"!=typeof createImageBitmap){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:t,sdfTexture:r}=e,{width:n,height:i}=t,a=e.sdfCanvas.getContext("webgl");let s=r.image.data;s&&s.length===n*i*4||(s=new Uint8Array(n*i*4),r.image={width:n,height:i,data:s},r.flipY=!1,r.isDataTexture=!0),a.readPixels(0,0,n,i,a.RGBA,a.UNSIGNED_BYTE,s)}}const ba=Oi({name:"Typesetter",dependencies:[ha,ua,function(e,t,r){const{defaultFontURL:n}=r,i=Object.create(null),a=1/0,s=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,o=/[\s\-\u007C\u00AD\u2010\u2012-\u2014\u2027\u2056\u2E17\u2E40]/;function l(t,r){t||(t=n);let a=i[t];a?a.pending?a.pending.push(r):r(a):(i[t]={pending:[r]},function(t,r){!function i(){const a=e=>{console.error(`Failure loading font ${t}${t===n?"":"; trying fallback"}`,e),t!==n&&(t=n,i())};try{const n=new XMLHttpRequest;n.open("get",t,!0),n.responseType="arraybuffer",n.onload=function(){if(n.status>=400)a(new Error(n.statusText));else if(n.status>0)try{const t=e(n.response);r(t)}catch(Ha){a(Ha)}},n.onerror=a,n.send()}catch(s){a(s)}}()}(t,(e=>{let r=i[t].pending;i[t]=e,r.forEach((t=>t(e)))})))}function c({text:e="",font:r=n,sdfGlyphSize:i=64,fontSize:c=1,letterSpacing:f=0,lineHeight:m="normal",maxWidth:g=a,direction:v,textAlign:A="left",textIndent:y=0,whiteSpace:x="normal",overflowWrap:b="normal",anchorX:w=0,anchorY:_=0,includeCaretPositions:E=!1,chunkedBoundsSize:S=8192,colorRanges:M=null},T,C=!1){const I=d(),B={fontLoad:0,typesetting:0};e.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),e=e.replace(/\r\n/g,"\n").replace(/\r/g,"\n")),c=+c,f=+f,g=+g,m=m||"normal",y=+y,l(r,(r=>{const n=isFinite(g);let i=null,l=null,R=null,P=null,F=null,L=null,D=null,U=0,N=0,k="nowrap"!==x;const{ascender:O,descender:G,unitsPerEm:z}=r;B.fontLoad=d()-I;const V=d(),H=c/z;"normal"===m&&(m=(O-G)/z);const Q=((m*=c)-(O-G)*H)/2,j=-(O*H+Q),W=Math.min(m,(O-G)*H),X=(O+G)/2*H-W/2;let Y=y,q=new p;const K=[q];r.forEachGlyph(e,c,f,((t,r,i)=>{const a=e.charAt(i),l=t.advanceWidth*H,u=q.count;let h;if("isEmpty"in t||(t.isWhitespace=!!a&&/\s/.test(a),t.canBreakAfter=!!a&&o.test(a),t.isEmpty=t.xMin===t.xMax||t.yMin===t.yMax||s.test(a)),t.isWhitespace||t.isEmpty||N++,k&&n&&!t.isWhitespace&&r+l+Y>g&&u){if(q.glyphAt(u-1).glyphObj.canBreakAfter)h=new p,Y=-r;else for(let e=u;e--;){if(0===e&&"break-word"===b){h=new p,Y=-r;break}if(q.glyphAt(e).glyphObj.canBreakAfter){h=q.splitAt(e+1);const t=h.glyphAt(0).x;Y-=t;for(let e=h.count;e--;)h.glyphAt(e).x-=t;break}}h&&(q.isSoftWrapped=!0,q=h,K.push(q),U=g)}let d=q.glyphAt(q.count);d.glyphObj=t,d.x=r+Y,d.width=l,d.charIndex=i,"\n"===a&&(q=new p,K.push(q),Y=-(r+l+f*c)+y)})),K.forEach((e=>{for(let t=e.count;t--;){let{glyphObj:r,x:n,width:i}=e.glyphAt(t);if(!r.isWhitespace)return e.width=n+i,void(e.width>U&&(U=e.width))}}));let J=0,Z=0;if(w&&("number"==typeof w?J=-w:"string"==typeof w&&(J=-U*("left"===w?0:"center"===w?.5:"right"===w?1:u(w)))),_)if("number"==typeof _)Z=-_;else if("string"==typeof _){let e=K.length*m;Z="top"===_?0:"top-baseline"===_?-j:"middle"===_?e/2:"bottom"===_?e:"bottom-baseline"===_?e-Q+G*H:u(_)*e}if(!C){const n=t.getEmbeddingLevels(e,v);i=new Uint16Array(N),l=new Float32Array(2*N),R={},L=[a,a,-1/0,-1/0],D=[];let s=j;E&&(F=new Float32Array(3*e.length)),M&&(P=new Uint8Array(3*N));let o,c,u=0,d=-1,p=-1;if(K.forEach(((f,g)=>{let{count:v,width:y}=f;if(v>0){let m=0;for(let e=v;e--&&f.glyphAt(e).glyphObj.isWhitespace;)m++;let g=0,x=0;if("center"===A)g=(U-y)/2;else if("right"===A)g=U-y;else if("justify"===A&&f.isSoftWrapped){let e=0;for(let t=v-m;t--;)f.glyphAt(t).glyphObj.isWhitespace&&e++;x=(U-y)/e}if(x||g){let e=0;for(let t=0;t=t){let t=e,a=e;for(;ar)break;aw=e;for(let A=0;A1&&h(F,d,n),d=e}if(M){const{charIndex:e}=m;for(;e>p;)p++,M.hasOwnProperty(p)&&(c=M[p])}if(!w.isWhitespace&&!w.isEmpty){const e=u++;R[g]||(R[g]={path:w.path,pathBounds:[w.xMin,w.yMin,w.xMax,w.yMax]});const t=m.x+J,r=s+Z;l[2*e]=t,l[2*e+1]=r;const n=t+w.xMin*H,h=r+w.yMin*H,d=t+w.xMax*H,p=r+w.yMax*H;nL[2]&&(L[2]=d),p>L[3]&&(L[3]=p),e%S==0&&(o={start:e,end:e,rect:[a,a,-1/0,-1/0]},D.push(o)),o.end++;const f=o.rect;if(nf[2]&&(f[2]=d),p>f[3]&&(f[3]=p),i[e]=g,M){const t=3*e;P[t]=c>>16&255,P[t+1]=c>>8&255,P[t+2]=255&c}}}}s-=m})),F){const t=e.length-d;t>1&&h(F,d,t)}}B.typesetting=d()-V,T({glyphIds:i,glyphPositions:l,glyphData:R,caretPositions:F,caretHeight:W,glyphColors:P,chunkedBounds:D,fontSize:c,unitsPerEm:z,ascender:O*H,descender:G*H,lineHeight:m,topBaseline:j,blockBounds:[J,Z-K.length*m,J+U,Z],visibleBounds:L,timings:B})}))}function u(e){let t=e.match(/^([\d.]+)%$/),r=t?parseFloat(t[1]):NaN;return isNaN(r)?0:r/100}function h(e,t,r){const n=e[3*t],i=e[3*t+1],a=e[3*t+2],s=(i-n)/r;for(let o=0;o(Object.defineProperty(e,t,{get(){return this.data[this.index*f.length+r]},set(e){this.data[this.index*f.length+r]=e}}),e)),{data:null,index:0}),{typeset:c,measure:function(e,t){c(e,(e=>{const[r,n,i,a]=e.blockBounds;t({width:i-r,height:a-n})}),{metricsOnly:!0})},loadFont:l}},Qi],init(e,t,r,n){const{defaultFontURL:i}=e;return r(t,n(),{defaultFontURL:i})}}),wa=Oi({name:"Typesetter",dependencies:[ba,Vi],init:(e,t)=>function(r){const n=new t;return e.typeset(r,n.resolve),n},getTransferables(e){const t=[e.glyphPositions.buffer,e.glyphIds.buffer];return e.caretPositions&&t.push(e.caretPositions.buffer),e.glyphColors&&t.push(e.glyphColors.buffer),t}});const _a=(()=>{const e={};const t="aTroikaGlyphIndex";class r extends s.InstancedBufferGeometry{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new s.Sphere,this.boundingBox=new s.Box3}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const t=this.getIndex().count;this.setDrawRange(e===s.BackSide?t/2:0,e===s.DoubleSide?t:t/2)}set detail(t){if(t!==this._detail){this._detail=t,("number"!=typeof t||t<1)&&(t=1);let r=function(t){let r=e[t];if(!r){const n=new s.PlaneBufferGeometry(1,1,t,t),i=n.clone(),a=n.attributes,o=i.attributes,l=new s.BufferGeometry,c=a.uv.count;for(let e=0;e{l.setAttribute(e,new s.Float32BufferAttribute([...a[e].array,...o[e].array],a[e].itemSize))})),l.setIndex([...n.index.array,...i.index.array.map((e=>e+c))]),l.translate(.5,.5,0),r=e[t]=l}return r}(t);["position","normal","uv"].forEach((e=>{this.attributes[e]=r.attributes[e].clone()})),this.setIndex(r.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,r,a,s,o){n(this,"aTroikaGlyphBounds",e,4),n(this,t,r,1),n(this,"aTroikaGlyphColor",o,3),this._blockBounds=a,this._chunkedBounds=s,i(this,r.length),this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:t,boundingBox:r}=this;if(t){const{PI:n,floor:i,min:a,max:s,sin:o,cos:l}=Math,c=n/2,u=2*n,h=Math.abs(t),d=e[0]/h,p=e[2]/h,f=i((d+c)/u)!==i((p+c)/u)?-h:a(o(d)*h,o(p)*h),m=i((d-c)/u)!==i((p-c)/u)?h:s(o(d)*h,o(p)*h),g=i((d+n)/u)!==i((p+n)/u)?2*h:s(h-l(d)*h,h-l(p)*h);r.min.set(f,e[1],t<0?-g:0),r.max.set(m,e[3],t<0?0:g)}else r.min.set(e[0],e[1],0),r.max.set(e[2],e[3],0);r.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let r=this.getAttribute(t).count,n=this._chunkedBounds;if(n)for(let t=n.length;t--;){r=n[t].end;let i=n[t].rect;if(i[1]e.y&&i[0]e.x)break}i(this,r)}}function n(e,t,r,n){const i=e.getAttribute(t);r?i&&i.array.length===r.length?(i.array.set(r),i.needsUpdate=!0):(e.setAttribute(t,new s.InstancedBufferAttribute(r,n)),delete e._maxInstanceCount,e.dispose()):i&&e.deleteAttribute(t)}function i(e,t){e[e.hasOwnProperty("instanceCount")?"instanceCount":"maxInstancedCount"]=t}return r.prototype.setAttribute||(r.prototype.setAttribute=function(e,t){return this.attributes[e]=t,this}),r})();const Ea=(()=>{const e=new s.MeshBasicMaterial({color:16777215,side:s.DoubleSide,transparent:!0}),t=8421504,r=new s.Matrix4,n=new s.Vector3,i=new s.Vector3,a=[],o=new s.Vector3,l="+x+y";function c(e){return Array.isArray(e)?e[0]:e}let u=()=>{const t=new s.Mesh(new s.PlaneBufferGeometry(1,1),e);return u=()=>t,t},h=()=>{const t=new s.Mesh(new s.PlaneBufferGeometry(1,1,32,1),e);return h=()=>t,t};const d={type:"syncstart"},p={type:"synccomplete"},f=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],m=f.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");class g extends s.Mesh{constructor(){super(new _a,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=t,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=l,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(d),ga({text:this.text,font:this.font,fontSize:this.fontSize||.1,letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF},(t=>{this._isSyncing=!1,this._textRenderInfo=t,this.geometry.updateGlyphs(t.glyphBounds,t.glyphAtlasIndices,t.blockBounds,t.chunkedBounds,t.glyphColors);const r=this._queuedSyncs;r&&(this._queuedSyncs=null,this._needsSync=!0,this.sync((()=>{r.forEach((e=>e&&e()))}))),this.dispatchEvent(p),e&&e()}))))}onBeforeRender(e,t,r,n,i,a){this.sync(),i.isTroikaTextMaterial&&this._prepareForRender(i),i._hadOwnSide=i.hasOwnProperty("side"),this.geometry.setSide(i._actualSide=i.side),i.side=s.FrontSide}onAfterRender(e,t,r,n,i,a){i._hadOwnSide?i.side=i._actualSide:delete i.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let t=this._derivedMaterial;const r=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=e.clone());if(t&&t.baseMaterial===r||(t=this._derivedMaterial=function(e){const t=$i(e,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new s.Vector2},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new s.Vector4(0,0,0,0)},uTroikaClipRect:{value:new s.Vector4(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new s.Vector2},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new s.Color},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new s.Matrix3},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:"\nuniform vec2 uTroikaSDFTextureSize;\nuniform float uTroikaSDFGlyphSize;\nuniform vec4 uTroikaTotalBounds;\nuniform vec4 uTroikaClipRect;\nuniform mat3 uTroikaOrient;\nuniform bool uTroikaUseGlyphColors;\nuniform float uTroikaDistanceOffset;\nuniform float uTroikaBlurRadius;\nuniform vec2 uTroikaPositionOffset;\nuniform float uTroikaCurveRadius;\nattribute vec4 aTroikaGlyphBounds;\nattribute float aTroikaGlyphIndex;\nattribute vec3 aTroikaGlyphColor;\nvarying vec2 vTroikaGlyphUV;\nvarying vec4 vTroikaTextureUVBounds;\nvarying float vTroikaTextureChannel;\nvarying vec3 vTroikaGlyphColor;\nvarying vec2 vTroikaGlyphDimensions;\n",vertexTransform:"\nvec4 bounds = aTroikaGlyphBounds;\nbounds.xz += uTroikaPositionOffset.x;\nbounds.yw -= uTroikaPositionOffset.y;\n\nvec4 outlineBounds = vec4(\n bounds.xy - uTroikaDistanceOffset - uTroikaBlurRadius,\n bounds.zw + uTroikaDistanceOffset + uTroikaBlurRadius\n);\nvec4 clippedBounds = vec4(\n clamp(outlineBounds.xy, uTroikaClipRect.xy, uTroikaClipRect.zw),\n clamp(outlineBounds.zw, uTroikaClipRect.xy, uTroikaClipRect.zw)\n);\n\nvec2 clippedXY = (mix(clippedBounds.xy, clippedBounds.zw, position.xy) - bounds.xy) / (bounds.zw - bounds.xy);\n\nposition.xy = mix(bounds.xy, bounds.zw, clippedXY);\n\nuv = (position.xy - uTroikaTotalBounds.xy) / (uTroikaTotalBounds.zw - uTroikaTotalBounds.xy);\n\nfloat rad = uTroikaCurveRadius;\nif (rad != 0.0) {\n float angle = position.x / rad;\n position.xz = vec2(sin(angle) * rad, rad - cos(angle) * rad);\n normal.xz = vec2(sin(angle), cos(angle));\n}\n \nposition = uTroikaOrient * position;\nnormal = uTroikaOrient * normal;\n\nvTroikaGlyphUV = clippedXY.xy;\nvTroikaGlyphDimensions = vec2(bounds[2] - bounds[0], bounds[3] - bounds[1]);\n\n\nfloat txCols = uTroikaSDFTextureSize.x / uTroikaSDFGlyphSize;\nvec2 txUvPerSquare = uTroikaSDFGlyphSize / uTroikaSDFTextureSize;\nvec2 txStartUV = txUvPerSquare * vec2(\n mod(floor(aTroikaGlyphIndex / 4.0), txCols),\n floor(floor(aTroikaGlyphIndex / 4.0) / txCols)\n);\nvTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare);\nvTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0);\n",fragmentDefs:"\nuniform sampler2D uTroikaSDFTexture;\nuniform vec2 uTroikaSDFTextureSize;\nuniform float uTroikaSDFGlyphSize;\nuniform float uTroikaSDFExponent;\nuniform float uTroikaDistanceOffset;\nuniform float uTroikaFillOpacity;\nuniform float uTroikaOutlineOpacity;\nuniform float uTroikaBlurRadius;\nuniform vec3 uTroikaStrokeColor;\nuniform float uTroikaStrokeWidth;\nuniform float uTroikaStrokeOpacity;\nuniform bool uTroikaSDFDebug;\nvarying vec2 vTroikaGlyphUV;\nvarying vec4 vTroikaTextureUVBounds;\nvarying float vTroikaTextureChannel;\nvarying vec2 vTroikaGlyphDimensions;\n\nfloat troikaSdfValueToSignedDistance(float alpha) {\n // Inverse of exponential encoding in webgl-sdf-generator\n \n float maxDimension = max(vTroikaGlyphDimensions.x, vTroikaGlyphDimensions.y);\n float absDist = (1.0 - pow(2.0 * (alpha > 0.5 ? 1.0 - alpha : alpha), 1.0 / uTroikaSDFExponent)) * maxDimension;\n float signedDist = absDist * (alpha > 0.5 ? -1.0 : 1.0);\n return signedDist;\n}\n\nfloat troikaGlyphUvToSdfValue(vec2 glyphUV) {\n vec2 textureUV = mix(vTroikaTextureUVBounds.xy, vTroikaTextureUVBounds.zw, glyphUV);\n vec4 rgba = texture2D(uTroikaSDFTexture, textureUV);\n float ch = floor(vTroikaTextureChannel + 0.5); //NOTE: can't use round() in WebGL1\n return ch == 0.0 ? rgba.r : ch == 1.0 ? rgba.g : ch == 2.0 ? rgba.b : rgba.a;\n}\n\nfloat troikaGlyphUvToDistance(vec2 uv) {\n return troikaSdfValueToSignedDistance(troikaGlyphUvToSdfValue(uv));\n}\n\nfloat troikaGetAADist() {\n \n #if defined(GL_OES_standard_derivatives) || __VERSION__ >= 300\n return length(fwidth(vTroikaGlyphUV * vTroikaGlyphDimensions)) * 0.5;\n #else\n return vTroikaGlyphDimensions.x / 64.0;\n #endif\n}\n\nfloat troikaGetFragDistValue() {\n vec2 clampedGlyphUV = clamp(vTroikaGlyphUV, 0.5 / uTroikaSDFGlyphSize, 1.0 - 0.5 / uTroikaSDFGlyphSize);\n float distance = troikaGlyphUvToDistance(clampedGlyphUV);\n \n // Extrapolate distance when outside bounds:\n distance += clampedGlyphUV == vTroikaGlyphUV ? 0.0 : \n length((vTroikaGlyphUV - clampedGlyphUV) * vTroikaGlyphDimensions);\n\n \n\n return distance;\n}\n\nfloat troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) {\n #if defined(IS_DEPTH_MATERIAL) || defined(IS_DISTANCE_MATERIAL)\n float alpha = step(-distanceOffset, -distance);\n #else\n\n float alpha = smoothstep(\n distanceOffset + aaDist,\n distanceOffset - aaDist,\n distance\n );\n #endif\n\n return alpha;\n}\n",fragmentColorTransform:"\nfloat aaDist = troikaGetAADist();\nfloat fragDistance = troikaGetFragDistValue();\nfloat edgeAlpha = uTroikaSDFDebug ?\n troikaGlyphUvToSdfValue(vTroikaGlyphUV) :\n troikaGetEdgeAlpha(fragDistance, uTroikaDistanceOffset, max(aaDist, uTroikaBlurRadius));\n\n#if !defined(IS_DEPTH_MATERIAL) && !defined(IS_DISTANCE_MATERIAL)\nvec4 fillRGBA = gl_FragColor;\nfillRGBA.a *= uTroikaFillOpacity;\nvec4 strokeRGBA = uTroikaStrokeWidth == 0.0 ? fillRGBA : vec4(uTroikaStrokeColor, uTroikaStrokeOpacity);\nif (fillRGBA.a == 0.0) fillRGBA.rgb = strokeRGBA.rgb;\ngl_FragColor = mix(fillRGBA, strokeRGBA, smoothstep(\n -uTroikaStrokeWidth - aaDist,\n -uTroikaStrokeWidth + aaDist,\n fragDistance\n));\ngl_FragColor.a *= edgeAlpha;\n#endif\n\nif (edgeAlpha == 0.0) {\n discard;\n}\n",customRewriter({vertexShader:e,fragmentShader:t}){let r=/\buniform\s+vec3\s+diffuse\b/;return r.test(t)&&(t=t.replace(r,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),r.test(e)||(e=e.replace(ji,"uniform vec3 diffuse;\n$&\nvTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse;\n"))),{vertexShader:e,fragmentShader:t}}});return t.transparent=!0,Object.defineProperties(t,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),t}(r),r.addEventListener("dispose",(function e(){r.removeEventListener("dispose",e),t.dispose()}))),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let e=t._outlineMtl;return e||(e=t._outlineMtl=Object.create(t,{id:{value:t.id+.1}}),e.isTextOutlineMaterial=!0,e.depthWrite=!1,e.map=null,t.addEventListener("dispose",(function r(){t.removeEventListener("dispose",r),e.dispose()}))),[e,t]}return t}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return c(this.material).getDepthMaterial()}get customDistanceMaterial(){return c(this.material).getDistanceMaterial()}_prepareForRender(e){const a=e.isTextOutlineMaterial,c=e.uniforms,u=this.textRenderInfo;if(u){const{sdfTexture:e,blockBounds:r}=u;c.uTroikaSDFTexture.value=e,c.uTroikaSDFTextureSize.value.set(e.image.width,e.image.height),c.uTroikaSDFGlyphSize.value=u.sdfGlyphSize,c.uTroikaSDFExponent.value=u.sdfExponent,c.uTroikaTotalBounds.value.fromArray(r),c.uTroikaUseGlyphColors.value=!a&&!!u.glyphColors;let n,i,s,o=0,l=0,h=0,d=0,p=0;if(a){let{outlineWidth:e,outlineOffsetX:t,outlineOffsetY:r,outlineBlur:i,outlineOpacity:a}=this;o=this._parsePercent(e)||0,l=Math.max(0,this._parsePercent(i)||0),n=a,d=this._parsePercent(t)||0,p=this._parsePercent(r)||0}else h=Math.max(0,this._parsePercent(this.strokeWidth)||0),h&&(s=this.strokeColor,c.uTroikaStrokeColor.value.set(null==s?t:s),i=this.strokeOpacity,null==i&&(i=1)),n=this.fillOpacity;c.uTroikaDistanceOffset.value=o,c.uTroikaPositionOffset.value.set(d,p),c.uTroikaBlurRadius.value=l,c.uTroikaStrokeWidth.value=h,c.uTroikaStrokeOpacity.value=i,c.uTroikaFillOpacity.value=null==n?1:n,c.uTroikaCurveRadius.value=this.curveRadius||0;let f=this.clipRect;if(f&&Array.isArray(f)&&4===f.length)c.uTroikaClipRect.value.fromArray(f);else{const e=100*(this.fontSize||.1);c.uTroikaClipRect.value.set(r[0]-e,r[1]-e,r[2]+e,r[3]+e)}this.geometry.applyClipRect(c.uTroikaClipRect.value)}c.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const h=a?this.outlineColor||0:this.color;if(null==h)delete e.color;else{const t=e.hasOwnProperty("color")?e.color:e.color=new s.Color;h===t._input&&"object"!=typeof h||t.set(t._input=h)}let d=this.orientation||l;if(d!==e._orientation){let t=c.uTroikaOrient.value;d=d.replace(/[^-+xyz]/g,"");let a=d!==l&&d.match(/^([-+])([xyz])([-+])([xyz])$/);if(a){let[,e,s,l,c]=a;n.set(0,0,0)[s]="-"===e?1:-1,i.set(0,0,0)[c]="-"===l?-1:1,r.lookAt(o,n.cross(i),i),t.setFromMatrix4(r)}else t.identity();e._orientation=d}}_parsePercent(e){if("string"==typeof e){let t=e.match(/^(-?[\d.]+)%$/),r=t?parseFloat(t[1]):NaN;e=(isNaN(r)?0:r/100)*this.fontSize}return e}localPositionToTextCoords(e,t=new s.Vector2){t.copy(e);const r=this.curveRadius;return r&&(t.x=Math.atan2(e.x,Math.abs(r)-Math.abs(e.z))*Math.abs(r)),t}worldPositionToTextCoords(e,t=new s.Vector2){return n.copy(e),this.localPositionToTextCoords(this.worldToLocal(n),t)}raycast(e,t){const{textRenderInfo:r,curveRadius:n}=this;if(r){const i=r.blockBounds,s=n?h():u(),o=s.geometry,{position:l,uv:c}=o.attributes;for(let e=0;e{this[t]=e[t]})),this}clone(){return(new this.constructor).copy(this)}}f.forEach((e=>{const t="_private_"+e;Object.defineProperty(g.prototype,e,{get(){return this[t]},set(e){e!==this[t]&&(this[t]=e,this._needsSync=!0)}})}));let v=!1;return Object.defineProperty(g.prototype,"anchor",{get(){return this._deprecated_anchor},set(e){this._deprecated_anchor=e,v||(console.warn("TextMesh: `anchor` has been deprecated; use `anchorX` and `anchorY` instead."),v=!0),Array.isArray(e)?(this.anchorX=100*(+e[0]||0)+"%",this.anchorY=100*(+e[1]||0)+"%"):this.anchorX=this.anchorY=0}}),g})();new WeakMap;new WeakMap;function Sa(e,t,r=((e,t)=>e===t)){if(e===t)return!0;if(!e||!t)return!1;const n=e.length;if(t.length!==n)return!1;for(let i=0;ii.response=e)).then((()=>{n.lifespan&&n.lifespan>0&&setTimeout((()=>{const e=Ma.indexOf(i);-1!==e&&Ma.splice(e,1)}),n.lifespan)})).catch((e=>i.error=e))};if(Ma.push(i),!r)throw i.promise}const Ca=(e,t,r)=>Ta(e,t,!1,r),Ia=i.forwardRef((({anchorX:e="center",anchorY:t="middle",font:r,children:a,characters:s,onSync:l,...c},u)=>{const h=(0,o.useThree)((({invalidate:e})=>e)),[d]=i.useState((()=>new Ea)),[p,f]=i.useMemo((()=>{const e=[];let t="";return i.Children.forEach(a,(r=>{"string"==typeof r||"number"==typeof r?t+=r:e.push(r)})),[e,t]}),[a]);return Ca((()=>new Promise((e=>function({font:e,characters:t,sdfGlyphSize:r},n){ga({font:e,sdfGlyphSize:r,text:Array.isArray(t)?t.join("\n"):""+t},n)}({font:r,characters:s},e)))),["troika-text",r,s]),i.useLayoutEffect((()=>{d.sync((()=>{h(),l&&l(d)}))})),i.useEffect((()=>()=>d.dispose()),[d]),i.createElement("primitive",n({object:d,ref:u,font:r,text:f,anchorX:e,anchorY:t},c),p)}));var Ba=r(8064),Ra=r(48197),Pa=r(6073),Fa=r(60809);(0,o.extend)({EffectComposer:Ba.x,RenderPass:Ra.C,ShaderPass:Pa.T});const La=()=>{try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(Ha){return!1}},Da=i.forwardRef((({children:e,multisamping:t=8,renderIndex:r=1,disableGamma:a=!1,disableRenderPass:l=!1,...c},u)=>{const h=i.useRef(),d=(0,o.useThree)((({scene:e})=>e)),p=(0,o.useThree)((({camera:e})=>e)),f=(0,o.useThree)((({gl:e})=>e)),m=(0,o.useThree)((({size:e})=>e)),[g]=i.useState((()=>{if(La()&&t>0){const e=new s.WebGLRenderTarget(m.width,m.height,{format:s.RGBAFormat,encoding:s.sRGBEncoding});return e.samples=8,e}}));return i.useEffect((()=>{var e,t;null==(e=h.current)||e.setSize(m.width,m.height),null==(t=h.current)||t.setPixelRatio(f.getPixelRatio())}),[f,m]),(0,o.useFrame)((()=>{var e;return null==(e=h.current)?void 0:e.render()}),r),i.createElement("effectComposer",n({ref:M([u,h]),args:[f,g]},c),!l&&i.createElement("renderPass",{attachArray:"passes",args:[d,p]}),!a&&i.createElement("shaderPass",{attachArray:"passes",args:[Fa.Y]}),e)}));function Ua({stops:e,colors:t,size:r=1024,...a}){const l=(0,o.useThree)((e=>e.gl)),c=i.useMemo((()=>{const n=document.createElement("canvas"),i=n.getContext("2d");n.width=16,n.height=r;const a=i.createLinearGradient(0,0,0,r);let o=e.length;for(;o--;)a.addColorStop(e[o],t[o]);i.fillStyle=a,i.fillRect(0,0,16,r);const l=new s.Texture(n);return l.needsUpdate=!0,l}),[e]);return i.useEffect((()=>()=>{c.dispose()}),[c]),i.createElement("primitive",n({object:c,attach:"map",encoding:l.outputEncoding},a))}function Na(e,t,r,n){return class extends s.ShaderMaterial{constructor(){const i=Object.entries(e);super({uniforms:i.reduce(((e,[t,r])=>({...e,...s.UniformsUtils.clone({[t]:{value:r}})})),{}),vertexShader:t,fragmentShader:r}),i.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),n&&n(this)}}}const ka=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function Oa(e){const t=(0,o.useThree)((e=>e.gl)),r=(0,o.useLoader)(s.TextureLoader,ka(e)?Object.values(e):e);if((0,i.useEffect)((()=>{(Array.isArray(r)?r:[r]).forEach(t.initTexture)}),[t,r]),ka(e)){const t=Object.keys(e),n={};return t.forEach((e=>Object.assign(n,{[e]:r[t.indexOf(e)]}))),n}return r}Oa.preload=e=>o.useLoader.preload(s.TextureLoader,e),Oa.clear=e=>o.useLoader.clear(s.TextureLoader,e);const Ga=Na({color:new s.Color("white"),scale:[1,1],imageBounds:[1,1],map:null,zoom:1,grayscale:0},"\n varying vec2 vUv;\n void main() {\n gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.);\n vUv = uv;\n }\n","\n // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44\n varying vec2 vUv;\n uniform vec2 scale;\n uniform vec2 imageBounds;\n uniform vec3 color;\n uniform sampler2D map;\n uniform float zoom;\n uniform float grayscale;\n const vec3 luma = vec3(.299, 0.587, 0.114);\n vec4 toGrayscale(vec4 color, float intensity) {\n return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a);\n }\n vec2 aspect(vec2 size) {\n return size / min(size.x, size.y);\n }\n void main() {\n vec2 s = aspect(scale);\n vec2 i = aspect(imageBounds);\n float rs = s.x / s.y;\n float ri = i.x / i.y;\n vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x);\n vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new;\n vec2 uv = vUv * s / new + offset;\n vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5);\n gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, 1.0), grayscale);\n \n #include \n #include \n }\n"),za=i.forwardRef((({children:e,color:t,segments:r=1,scale:a=1,zoom:s=1,grayscale:l=0,url:c,toneMapped:u,...h},d)=>{(0,o.extend)({ImageMaterial:Ga});const p=Oa(c),f=Array.isArray(a)?[a[0],a[1]]:[a,a],m=[p.image.width,p.image.height];return i.createElement("mesh",n({ref:d,scale:a},h),i.createElement("planeGeometry",{args:[1,1,r,r]}),i.createElement("imageMaterial",{color:t,map:p,zoom:s,grayscale:l,scale:f,imageBounds:m,toneMapped:u}),e)}));function Va({userData:e,children:t,geometry:r,threshold:a=15,color:o="black",...l}){const c=i.useRef(null);return i.useLayoutEffect((()=>{const e=c.current.parent;if(e){const t=r||e.geometry;t===c.current.userData.currentGeom&&a===c.current.userData.currentThreshold||(c.current.userData.currentGeom=t,c.current.userData.currentThreshold=a,c.current.geometry=new s.EdgesGeometry(t,a))}})),i.createElement("lineSegments",n({ref:c,raycast:()=>null},l),t||i.createElement("lineBasicMaterial",{color:o}))}function Ha(e,t){const r=new s.Matrix4,n=new s.Ray,i=new s.Sphere,a=new s.Vector3,o=this.geometry;if(i.copy(o.boundingSphere),i.applyMatrix4(this.matrixWorld),!1===e.ray.intersectSphere(i,a))return;r.copy(this.matrixWorld).invert(),n.copy(e.ray).applyMatrix4(r);const l=new s.Vector3,c=new s.Vector3,u=new s.Vector3,h=this instanceof s.LineSegments?2:1,d=o.index,p=o.attributes;if(null!==d){const r=d.array,i=p.position.array,s=p.width.array;for(let o=0,d=r.length-1;og)continue;a.applyMatrix4(this.matrixWorld);const v=e.ray.origin.distanceTo(a);ve.far||(t.push({distance:v,point:u.clone().applyMatrix4(this.matrixWorld),index:o,face:null,faceIndex:null,object:this}),o=d)}}}function Qa(e,t,r,n,i){let a;if(e=e.subarray||e.slice?e:e.buffer,r=r.subarray||r.slice?r:r.buffer,e=t?e.subarray?e.subarray(t,i&&t+i):e.slice(t,i&&t+i):e,r.set)r.set(e,n);else for(a=0;a0&&(r=this.copyV3(n),this.next.push(r[0],r[1],r[2]),this.next.push(r[0],r[1],r[2]))}r=this.compareV3(e-1,0)?this.copyV3(1):this.copyV3(e-1),this.next.push(r[0],r[1],r[2]),this.next.push(r[0],r[1],r[2]),this._attributes&&this._attributes.position.count===this.positions.length?(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0):this._attributes={position:new s.BufferAttribute(new Float32Array(this.positions),3),previous:new s.BufferAttribute(new Float32Array(this.previous),3),next:new s.BufferAttribute(new Float32Array(this.next),3),side:new s.BufferAttribute(new Float32Array(this.side),1),width:new s.BufferAttribute(new Float32Array(this.width),1),uv:new s.BufferAttribute(new Float32Array(this.uvs),2),index:new s.BufferAttribute(new Uint16Array(this.indices_array),1),counters:new s.BufferAttribute(new Float32Array(this.counters),1)},this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()}advance({x:e,y:t,z:r}){const n=this._attributes.position.array,i=this._attributes.previous.array,a=this._attributes.next.array,s=n.length;Qa(n,0,i,0,s),Qa(n,6,n,0,s-6),n[s-6]=e,n[s-5]=t,n[s-4]=r,n[s-3]=e,n[s-2]=t,n[s-1]=r,Qa(n,6,a,0,s-6),a[s-6]=e,a[s-5]=t,a[s-4]=r,a[s-3]=e,a[s-2]=t,a[s-1]=r,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0}}s.ShaderChunk.meshline_vert=["","#include ","",s.ShaderChunk.logdepthbuf_pars_vertex,s.ShaderChunk.fog_pars_vertex,"","attribute vec3 previous;","attribute vec3 next;","attribute float side;","attribute float width;","attribute float counters;","","uniform vec2 resolution;","uniform float lineWidth;","uniform vec3 color;","uniform float opacity;","uniform float sizeAttenuation;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","vec2 fix( vec4 i, float aspect ) {",""," vec2 res = i.xy / i.w;"," res.x *= aspect;","\t vCounters = counters;"," return res;","","}","","void main() {",""," float aspect = resolution.x / resolution.y;",""," vColor = vec4( color, opacity );"," vUV = uv;",""," mat4 m = projectionMatrix * modelViewMatrix;"," vec4 finalPosition = m * vec4( position, 1.0 );"," vec4 prevPos = m * vec4( previous, 1.0 );"," vec4 nextPos = m * vec4( next, 1.0 );",""," vec2 currentP = fix( finalPosition, aspect );"," vec2 prevP = fix( prevPos, aspect );"," vec2 nextP = fix( nextPos, aspect );",""," float w = lineWidth * width;",""," vec2 dir;"," if( nextP == currentP ) dir = normalize( currentP - prevP );"," else if( prevP == currentP ) dir = normalize( nextP - currentP );"," else {"," vec2 dir1 = normalize( currentP - prevP );"," vec2 dir2 = normalize( nextP - currentP );"," dir = normalize( dir1 + dir2 );",""," vec2 perp = vec2( -dir1.y, dir1.x );"," vec2 miter = vec2( -dir.y, dir.x );"," //w = clamp( w / dot( miter, perp ), 0., 4. * lineWidth * width );",""," }",""," //vec2 normal = ( cross( vec3( dir, 0. ), vec3( 0., 0., 1. ) ) ).xy;"," vec4 normal = vec4( -dir.y, dir.x, 0., 1. );"," normal.xy *= .5 * w;"," normal *= projectionMatrix;"," if( sizeAttenuation == 0. ) {"," normal.xy *= finalPosition.w;"," normal.xy /= ( vec4( resolution, 0., 1. ) * projectionMatrix ).xy;"," }",""," finalPosition.xy += normal.xy * side;",""," gl_Position = finalPosition;","",s.ShaderChunk.logdepthbuf_vertex,s.ShaderChunk.fog_vertex&&" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",s.ShaderChunk.fog_vertex,"}"].join("\n"),s.ShaderChunk.meshline_frag=["",s.ShaderChunk.fog_pars_fragment,s.ShaderChunk.logdepthbuf_pars_fragment,"","uniform sampler2D map;","uniform sampler2D alphaMap;","uniform float useMap;","uniform float useAlphaMap;","uniform float useDash;","uniform float dashArray;","uniform float dashOffset;","uniform float dashRatio;","uniform float visibility;","uniform float alphaTest;","uniform vec2 repeat;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","void main() {","",s.ShaderChunk.logdepthbuf_fragment,""," vec4 c = vColor;"," if( useMap == 1. ) c *= texture2D( map, vUV * repeat );"," if( useAlphaMap == 1. ) c.a *= texture2D( alphaMap, vUV * repeat ).a;"," if( c.a < alphaTest ) discard;"," if( useDash == 1. ){"," c.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio));"," }"," gl_FragColor = c;"," gl_FragColor.a *= step(vCounters, visibility);","",s.ShaderChunk.fog_fragment,"}"].join("\n");class Wa extends s.ShaderMaterial{constructor(e){super({uniforms:Object.assign({},s.UniformsLib.fog,{lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new s.Color(16777215)},opacity:{value:1},resolution:{value:new s.Vector2(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new s.Vector2(1,1)}}),vertexShader:s.ShaderChunk.meshline_vert,fragmentShader:s.ShaderChunk.meshline_frag}),this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get(){return this.uniforms.lineWidth.value},set(e){this.uniforms.lineWidth.value=e}},map:{enumerable:!0,get(){return this.uniforms.map.value},set(e){this.uniforms.map.value=e}},useMap:{enumerable:!0,get(){return this.uniforms.useMap.value},set(e){this.uniforms.useMap.value=e}},alphaMap:{enumerable:!0,get(){return this.uniforms.alphaMap.value},set(e){this.uniforms.alphaMap.value=e}},useAlphaMap:{enumerable:!0,get(){return this.uniforms.useAlphaMap.value},set(e){this.uniforms.useAlphaMap.value=e}},color:{enumerable:!0,get(){return this.uniforms.color.value},set(e){this.uniforms.color.value=e}},opacity:{enumerable:!0,get(){return this.uniforms.opacity.value},set(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get(){return this.uniforms.resolution.value},set(e){this.uniforms.resolution.value.copy(e)}},sizeAttenuation:{enumerable:!0,get(){return this.uniforms.sizeAttenuation.value},set(e){this.uniforms.sizeAttenuation.value=e}},dashArray:{enumerable:!0,get(){return this.uniforms.dashArray.value},set(e){this.uniforms.dashArray.value=e,this.useDash=0!==e?1:0}},dashOffset:{enumerable:!0,get(){return this.uniforms.dashOffset.value},set(e){this.uniforms.dashOffset.value=e}},dashRatio:{enumerable:!0,get(){return this.uniforms.dashRatio.value},set(e){this.uniforms.dashRatio.value=e}},useDash:{enumerable:!0,get(){return this.uniforms.useDash.value},set(e){this.uniforms.useDash.value=e}},visibility:{enumerable:!0,get(){return this.uniforms.visibility.value},set(e){this.uniforms.visibility.value=e}},alphaTest:{enumerable:!0,get(){return this.uniforms.alphaTest.value},set(e){this.uniforms.alphaTest.value=e}},repeat:{enumerable:!0,get(){return this.uniforms.repeat.value},set(e){this.uniforms.repeat.value.copy(e)}}}),this.setValues(e)}copy(e){return super.copy(e),this.lineWidth=e.lineWidth,this.map=e.map,this.useMap=e.useMap,this.alphaMap=e.alphaMap,this.useAlphaMap=e.useAlphaMap,this.color.copy(e.color),this.opacity=e.opacity,this.resolution.copy(e.resolution),this.sizeAttenuation=e.sizeAttenuation,this.dashArray.copy(e.dashArray),this.dashOffset.copy(e.dashOffset),this.dashRatio.copy(e.dashRatio),this.useDash=e.useDash,this.visibility=e.visibility,this.alphaTest=e.alphaTest,this.repeat.copy(e.repeat),this}}const Xa={width:.2,length:1,decay:1,local:!1,stride:0,interval:1},Ya=(e,t=1)=>(e.set(e.subarray(t)),e.fill(-1/0,-t),e);function qa(e,t){const{length:r,local:n,decay:a,interval:l,stride:c}={...Xa,...t},u=i.useRef(),[h]=i.useState((()=>new s.Vector3));i.useLayoutEffect((()=>{e&&(u.current=Float32Array.from({length:10*r*3},((t,r)=>e.position.getComponent(r%3))))}),[r,e]);const d=i.useRef(new s.Vector3),p=i.useRef(0);return(0,o.useFrame)((()=>{if(e&&u.current){if(0===p.current){let t;n?t=e.position:(e.getWorldPosition(h),t=h);const r=1*a;for(let e=0;e{const{children:r}=e,{width:n,length:a,decay:l,local:c,stride:u,interval:h}={...Xa,...e},{color:d="hotpink",attenuation:p,target:f}=e,m=(0,o.useThree)((e=>e.size)),g=i.useRef(null),[v,A]=i.useState(null),y=qa(v,{length:a,decay:l,local:c,stride:u,interval:h});i.useEffect((()=>{const e=(null==f?void 0:f.current)||g.current.children.find((e=>e instanceof s.Object3D));e&&A(e)}),[y,f]);const x=i.useMemo((()=>new ja),[]),b=i.useMemo((()=>{var e;const t=new Wa({lineWidth:.1*n,color:d,sizeAttenuation:1,resolution:new s.Vector2(m.width,m.height)});let i;if(r)if(Array.isArray(r))i=r.find((e=>{const t=e;return"string"==typeof t.type&&"meshLineMaterial"===t.type}));else{const e=r;"string"==typeof e.type&&"meshLineMaterial"===e.type&&(i=e)}return"object"==typeof(null==(e=i)?void 0:e.props)&&t.setValues(i.props),t}),[n,d,m,r]);return i.useEffect((()=>{b.uniforms.resolution.value.set(m.width,m.height)}),[m]),(0,o.useFrame)((()=>{y.current&&x.setPoints(y.current,p)})),i.createElement("group",null,i.createElement("mesh",{ref:t,geometry:x,material:b}),i.createElement("group",{ref:g},r))}));var Ja=r(96272);const Za=({children:e,weight:t,transform:r,instances:a,mesh:o,...l})=>{const c=i.useRef(null),u=i.useRef(null),h=i.useRef(null);return i.useEffect((()=>{var e,t;u.current=null!==(e=null==a?void 0:a.current)&&void 0!==e?e:c.current.children.find((e=>e.hasOwnProperty("instanceMatrix"))),h.current=null!==(t=null==o?void 0:o.current)&&void 0!==t?t:c.current.children.find((e=>"Mesh"===e.type))}),[e,null==o?void 0:o.current,null==a?void 0:a.current]),i.useEffect((()=>{if(void 0===h.current)return;if(void 0===u.current)return;const e=new Ja.a(h.current);t&&e.setWeightAttribute(t),e.build();const n=new s.Vector3,i=new s.Vector3,a=new s.Color,o=new s.Object3D;h.current.updateMatrixWorld(!0);for(let t=0;t{const[a]=i.useState((()=>new s.BufferAttribute(new Float32Array(0),1))),o=i.useRef(null);return i.useLayoutEffect((()=>{if(o.current){var t;const r=null!==(t=o.current.parent)&&void 0!==t?t:o.current.__r3f.parent,n=e(r);o.current.copy(n)}}),[e]),i.createElement("primitive",n({ref:o,object:a,attachObject:["attributes",t]},r))};var es=r(25030),ts=r.n(es);function rs(e,{keys:t=["near","far","color","distance","decay","penumbra","angle","intensity","skeleton","visible","castShadow","receiveShadow","morphTargetDictionary","morphTargetInfluences","name","geometry","material","position","rotation","scale","up","userData"],deep:r,inject:n,castShadow:a,receiveShadow:s}){let o=ts()(e,t);return r&&(o.geometry&&"materialsOnly"!==r&&(o.geometry=o.geometry.clone()),o.material&&"geometriesOnly"!==r&&(o.material=o.material.clone())),n&&(o="function"==typeof n?{...o,children:n(e)}:i.isValidElement(n)?{...o,children:n}:{...o,...n}),"Mesh"===e.type&&(a&&(o.castShadow=!0),s&&(o.receiveShadow=!0)),o}const ns=i.forwardRef((({object:e,children:t,deep:r,castShadow:a,receiveShadow:s,inject:o,keys:l,...c},u)=>{const h={keys:l,deep:r,inject:o,castShadow:a,receiveShadow:s};if(Array.isArray(e))return i.createElement("group",n({},c,{ref:u}),e.map((e=>i.createElement(ns,n({key:e.uuid,object:e},h)))),t);const{children:d,...p}=rs(e,h),f=e.type[0].toLowerCase()+e.type.slice(1);return i.createElement(f,n({},p,c,{ref:u}),(null==e?void 0:e.children).map((e=>{let t={},r=e.type[0].toLowerCase()+e.type.slice(1);return"group"===r||"object3D"===r?(r=ns,t={object:e,...h}):t=rs(e,h),i.createElement(r,n({key:e.uuid},t))})),t,d)})),is=i.forwardRef((({makeDefault:e,...t},r)=>{const a=(0,o.useThree)((({set:e})=>e)),s=(0,o.useThree)((({camera:e})=>e)),l=(0,o.useThree)((({size:e})=>e)),c=i.useRef();return i.useLayoutEffect((()=>{c.current&&!t.manual&&c.current.updateProjectionMatrix()}),[l,t]),i.useLayoutEffect((()=>{if(e&&c.current){const e=s;return a((()=>({camera:c.current}))),()=>a((()=>({camera:e})))}}),[s,c,e,a]),i.createElement("orthographicCamera",n({left:l.width/-2,right:l.width/2,top:l.height/2,bottom:l.height/-2,ref:M([c,r])},t))})),as=i.forwardRef((({makeDefault:e,...t},r)=>{const a=(0,o.useThree)((({set:e})=>e)),s=(0,o.useThree)((({camera:e})=>e)),l=(0,o.useThree)((({size:e})=>e)),c=i.useRef();return i.useLayoutEffect((()=>{const{current:e}=c;e&&!t.manual&&(e.aspect=l.width/l.height,e.updateProjectionMatrix())}),[l,t]),i.useLayoutEffect((()=>{if(e&&c.current){const e=s;return a((()=>({camera:c.current}))),()=>a((()=>({camera:e})))}}),[s,c,e,a]),i.createElement("perspectiveCamera",n({ref:M([c,r])},t))}));function ss({children:e,fog:t,frames:r=1/0,resolution:n=256,near:a=1,far:l=1e3,...c}){const u=i.useRef(),[h,d]=i.useState(),p=(0,o.useThree)((({scene:e})=>e)),f=(0,o.useThree)((({gl:e})=>e)),m=i.useMemo((()=>{const e=new s.WebGLCubeRenderTarget(n);return e.texture.type=s.HalfFloatType,e}),[n]);let g=0;return(0,o.useFrame)((()=>{if(h&&u.current&&(r===1/0||ge.visible=!1));const e=p.fog;p.fog=t||e,h.update(f,p),p.fog=e,u.current.traverse((e=>e.visible=!0)),g++}})),i.createElement("group",c,i.createElement("cubeCamera",{ref:d,args:[a,l,m]}),i.createElement("group",{ref:u},e(m.texture)))}var os=r(41743);const ls=i.forwardRef(((e,t)=>{const{camera:r,onChange:a,...s}=e,l=(0,o.useThree)((e=>e.camera)),c=(0,o.useThree)((e=>e.invalidate)),u=r||l,[h]=i.useState((()=>new os.W(u)));return i.useEffect((()=>{const e=e=>{c(),a&&a(e)};return null==h||null==h.addEventListener||h.addEventListener("change",e),()=>null==h||null==h.removeEventListener?void 0:h.removeEventListener("change",e)}),[a,h,c]),(0,o.useFrame)((()=>null==h?void 0:h.update())),i.useEffect((()=>{const e=h;return null==e||e.connect(),()=>null==e?void 0:e.dispose()}),[h]),h?i.createElement("primitive",n({ref:t,dispose:void 0,object:h},s)):null}));var cs=r(32044);const us=i.forwardRef(((e,t)=>{const{onChange:r,...a}=e,s=(0,o.useThree)((({invalidate:e})=>e)),l=(0,o.useThree)((({camera:e})=>e)),c=(0,o.useThree)((({gl:e})=>e)),[u]=i.useState((()=>new cs.m(l,c.domElement)));return i.useEffect((()=>{const e=e=>{s(),r&&r(e)};return null==u||null==u.addEventListener||u.addEventListener("change",e),()=>null==u||null==u.removeEventListener?void 0:u.removeEventListener("change",e)}),[r,u,s]),(0,o.useFrame)(((e,t)=>null==u?void 0:u.update(t))),u?i.createElement("primitive",n({ref:t,dispose:void 0,object:u},a)):null}));var hs=r(22227);const ds=i.forwardRef(((e={enableDamping:!0},t)=>{const{camera:r,onChange:a,onStart:s,onEnd:l,...c}=e,u=(0,o.useThree)((({invalidate:e})=>e)),h=(0,o.useThree)((({camera:e})=>e)),d=(0,o.useThree)((({gl:e})=>e.domElement)),p=r||h,f=i.useMemo((()=>new hs.o(p)),[p]);return i.useEffect((()=>{f.connect(d);const e=e=>{u(),a&&a(e)};return f.addEventListener("change",e),s&&f.addEventListener("start",s),l&&f.addEventListener("end",l),()=>{f.dispose(),f.removeEventListener("change",e),s&&f.removeEventListener("start",s),l&&f.removeEventListener("end",l)}}),[a,s,l,f,u,d]),(0,o.useFrame)((()=>f.update())),i.createElement("primitive",n({ref:t,dispose:void 0,object:f,enableDamping:!0},c))})),ps=i.forwardRef((({makeDefault:e,camera:t,regress:r,domElement:a,enableDamping:s=!0,onChange:l,onStart:c,onEnd:u,...h},d)=>{const p=(0,o.useThree)((e=>e.invalidate)),f=(0,o.useThree)((e=>e.camera)),m=(0,o.useThree)((e=>e.gl)),g=(0,o.useThree)((e=>e.events)),v=(0,o.useThree)((e=>e.set)),A=(0,o.useThree)((e=>e.get)),y=(0,o.useThree)((e=>e.performance)),x=t||f,b=a||g.connected||m.domElement,w=i.useMemo((()=>new hs.z(x)),[x]);return(0,o.useFrame)((()=>{w.enabled&&w.update()})),i.useEffect((()=>(w.connect(b),()=>{w.dispose()})),[b,r,w,p]),i.useEffect((()=>{const e=e=>{p(),r&&y.regress(),l&&l(e)};return w.addEventListener("change",e),c&&w.addEventListener("start",c),u&&w.addEventListener("end",u),()=>{c&&w.removeEventListener("start",c),u&&w.removeEventListener("end",u),w.removeEventListener("change",e)}}),[l,c,u]),i.useEffect((()=>{if(e){const e=A().controls;return v({controls:w}),()=>v({controls:e})}}),[e,w]),i.createElement("primitive",n({ref:d,object:w,enableDamping:s},h))}));var fs=r(7703);const ms=i.forwardRef((({makeDefault:e,camera:t,domElement:r,regress:a,onChange:s,onStart:l,onEnd:c,...u},h)=>{const{invalidate:d,camera:p,gl:f,events:m,set:g,get:v,performance:A,viewport:y}=(0,o.useThree)(),x=t||p,b=r||m.connected||f.domElement,w=i.useMemo((()=>new fs.$(x)),[x]);return(0,o.useFrame)((()=>{w.enabled&&w.update()})),i.useEffect((()=>(w.connect(b),()=>{w.dispose()})),[b,a,w,d]),i.useEffect((()=>{const e=e=>{d(),a&&A.regress(),s&&s(e)};return w.addEventListener("change",e),l&&w.addEventListener("start",l),c&&w.addEventListener("end",c),()=>{l&&w.removeEventListener("start",l),c&&w.removeEventListener("end",c),w.removeEventListener("change",e)}}),[s,l,c]),i.useEffect((()=>{w.handleResize()}),[y]),i.useEffect((()=>{if(e){const e=v().controls;return g({controls:w}),()=>g({controls:e})}}),[e,w]),i.createElement("primitive",n({ref:h,object:w},u))}));var gs=r(1687);const vs=(0,i.forwardRef)((({camera:e,makeDefault:t,regress:r,domElement:a,onChange:s,onStart:l,onEnd:c,...u},h)=>{const d=(0,o.useThree)((e=>e.invalidate)),p=(0,o.useThree)((e=>e.camera)),f=(0,o.useThree)((e=>e.gl)),m=(0,o.useThree)((e=>e.events)),g=(0,o.useThree)((e=>e.set)),v=(0,o.useThree)((e=>e.get)),A=(0,o.useThree)((e=>e.performance)),y=e||p,x=a||m.connected||f.domElement,b=(0,i.useMemo)((()=>new gs.A(y)),[y]);return(0,o.useFrame)((()=>{b.enabled&&b.update()})),(0,i.useEffect)((()=>(b.connect(x),()=>{b.dispose()})),[x,r,b,d]),(0,i.useEffect)((()=>{const e=e=>{d(),r&&A.regress(),s&&s(e)};return b.addEventListener("change",e),l&&b.addEventListener("start",l),c&&b.addEventListener("end",c),()=>{b.removeEventListener("change",e),l&&b.removeEventListener("start",l),c&&b.removeEventListener("end",c)}}),[s,l,c]),(0,i.useEffect)((()=>{if(t){const e=v().controls;return g({controls:b}),()=>g({controls:e})}}),[t,b]),i.createElement("primitive",n({ref:h,object:b},u))}));var As=r(76427),ys=r.n(As),xs=r(35041);const bs=i.forwardRef((({children:e,domElement:t,onChange:r,onMouseDown:a,onMouseUp:l,onObjectChange:c,object:u,...h},d)=>{const p=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:f,...m}=h,g=ts()(m,p),v=ys()(m,p),A=(0,o.useThree)((e=>e.controls)),y=(0,o.useThree)((e=>e.gl)),x=(0,o.useThree)((e=>e.events)),b=(0,o.useThree)((e=>e.camera)),w=(0,o.useThree)((e=>e.invalidate)),_=f||b,E=t||x.connected||y.domElement,S=i.useMemo((()=>new xs.Ys(_,E)),[_,E]),M=i.useRef();return i.useLayoutEffect((()=>(u?S.attach(u instanceof s.Object3D?u:u.current):M.current instanceof s.Object3D&&S.attach(M.current),()=>{S.detach()})),[u,e,S]),i.useEffect((()=>{if(A){const e=e=>A.enabled=!e.value;return S.addEventListener("dragging-changed",e),()=>S.removeEventListener("dragging-changed",e)}}),[S,A]),i.useEffect((()=>{const e=e=>{w(),r&&r(e)};return null==S||null==S.addEventListener||S.addEventListener("change",e),a&&(null==S||null==S.addEventListener||S.addEventListener("mouseDown",a)),l&&(null==S||null==S.addEventListener||S.addEventListener("mouseUp",l)),c&&(null==S||null==S.addEventListener||S.addEventListener("objectChange",c)),()=>{null==S||null==S.removeEventListener||S.removeEventListener("change",e),a&&(null==S||null==S.removeEventListener||S.removeEventListener("mouseDown",a)),l&&(null==S||null==S.removeEventListener||S.removeEventListener("mouseUp",l)),c&&(null==S||null==S.removeEventListener||S.removeEventListener("objectChange",c))}}),[r,a,l,c,S,w]),S?i.createElement(i.Fragment,null,i.createElement("primitive",n({ref:d,dispose:void 0,object:S},g)),i.createElement("group",n({ref:M},v),e)):null}));var ws=r(2679);const _s=i.forwardRef((({domElement:e,selector:t,onChange:r,onLock:a,onUnlock:s,enabled:l=!0,...c},u)=>{const{camera:h,...d}=c,p=(0,o.useThree)((({gl:e})=>e)),f=(0,o.useThree)((e=>e.camera)),m=(0,o.useThree)((e=>e.invalidate)),g=(0,o.useThree)((e=>e.raycaster)),v=(0,o.useThree)((e=>e.events)),A=h||f,y=e||v.connected||p.domElement,[x]=i.useState((()=>new ws.q(A)));return i.useEffect((()=>{if(l){x.connect(y);const e=g.computeOffsets;return g.computeOffsets=e=>({offsetX:e.target.width/2,offsetY:e.target.height/2}),()=>{x.disconnect(),g.computeOffsets=e}}}),[l,x]),i.useEffect((()=>{const e=e=>{m(),r&&r(e)};x.addEventListener("change",e),a&&x.addEventListener("lock",a),s&&x.addEventListener("unlock",s);const n=()=>x.lock(),i=t?Array.from(document.querySelectorAll(t)):[document];return i.forEach((e=>e&&e.addEventListener("click",n))),()=>{x.removeEventListener("change",e),a&&x.addEventListener("lock",a),s&&x.addEventListener("unlock",s),i.forEach((e=>e?e.removeEventListener("click",n):void 0))}}),[r,a,s,t]),i.createElement("primitive",n({ref:u,object:x},d))}));var Es=r(55259);const Ss=i.forwardRef(((e,t)=>{const r=(0,o.useThree)((e=>e.camera)),a=(0,o.useThree)((e=>e.gl)),[s]=i.useState((()=>new Es.o(r,a.domElement)));return(0,o.useFrame)(((e,t)=>{s.update(t)})),s?i.createElement("primitive",n({ref:t,object:s},e)):null}));function Ms(e,t){const r=(0,o.useThree)((e=>e.mouse)),[n]=i.useState((()=>{const n=new s.Raycaster;return t&&(0,o.applyProps)(n,t,{}),function(t,i){n.setFromCamera(r,e instanceof s.Camera?e:e.current);const a=this.constructor.prototype.raycast.bind(this);a&&a(n,i)}}));return n}const Ts=i.createContext({}),Cs=()=>i.useContext(Ts),Is=2*Math.PI,Bs=new s.Object3D,Rs=new s.Matrix4,[Ps,Fs]=[new s.Quaternion,new s.Quaternion],Ls=new s.Vector3,Ds=new s.Vector3,Us=({alignment:e="bottom-right",margin:t=[80,80],renderPriority:r=0,autoClear:n=!0,onUpdate:a,onTarget:l,children:c})=>{const u=(0,o.useThree)((({size:e})=>e)),h=(0,o.useThree)((({camera:e})=>e)),d=(0,o.useThree)((({controls:e})=>e)),p=(0,o.useThree)((({gl:e})=>e)),f=(0,o.useThree)((({scene:e})=>e)),m=(0,o.useThree)((({invalidate:e})=>e)),g=i.useRef(),v=i.useRef(),A=i.useRef(null),[y]=i.useState((()=>new s.Scene)),x=i.useRef(!1),b=i.useRef(0),w=i.useRef(new s.Vector3(0,0,0)),_=i.useCallback((e=>{x.current=!0,(d||l)&&(w.current=(null==d?void 0:d.target)||(null==l?void 0:l())),b.current=h.position.distanceTo(Ls),Ps.copy(h.quaternion),Ds.copy(e).multiplyScalar(b.current).add(Ls),Bs.lookAt(Ds),Fs.copy(Bs.quaternion),m()}),[d,h,l,m]);i.useEffect((()=>(f.background&&(g.current=f.background,f.background=null,y.background=g.current),()=>{g.current&&(f.background=g.current)})),[]),(0,o.useFrame)(((e,t)=>{if(A.current&&v.current){var r;if(x.current)if(Ps.angleTo(Fs)<.01)x.current=!1;else{const e=t*Is;Ps.rotateTowards(Fs,e),h.position.set(0,0,1).applyQuaternion(Ps).multiplyScalar(b.current).add(w.current),h.up.set(0,1,0).applyQuaternion(Ps).normalize(),h.quaternion.copy(Ps),a?a():d&&d.update(),m()}Rs.copy(h.matrix).invert(),null==(r=v.current)||r.quaternion.setFromRotationMatrix(Rs),n&&(p.autoClear=!1),p.clearDepth(),p.render(y,A.current)}}),r);const E=Ms(A),S=i.useMemo((()=>({tweenCamera:_,raycast:E})),[_]),[M,T]=t,C=e.endsWith("-left")?-u.width/2+M:u.width/2-M,I=e.startsWith("top-")?u.height/2-T:-u.height/2+T;return(0,o.createPortal)(i.createElement(Ts.Provider,{value:S},i.createElement(is,{ref:A,position:[0,0,200]}),i.createElement("group",{ref:v,position:[C,I,0]},c)),y)},Ns="#f0f0f0",ks="#999",Os="black",Gs="black",zs=["Right","Left","Top","Bottom","Front","Back"],Vs=e=>new s.Vector3(...e).multiplyScalar(.38),Hs=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(Vs),Qs=[.25,.25,.25],js=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(Vs),Ws=js.map((e=>e.toArray().map((e=>0==e?.5:.25)))),Xs=({hover:e,index:t,font:r="20px Inter var, Arial, sans-serif",faces:n=zs,color:a=Ns,hoverColor:l=ks,textColor:c=Os,strokeColor:u=Gs,opacity:h=1})=>{const d=(0,o.useThree)((e=>e.gl)),p=i.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const i=e.getContext("2d");return i.fillStyle=a,i.fillRect(0,0,e.width,e.height),i.strokeStyle=u,i.strokeRect(0,0,e.width,e.height),i.font=r,i.textAlign="center",i.fillStyle=c,i.fillText(n[t].toUpperCase(),64,76),new s.CanvasTexture(e)}),[t,n,r,a,c,u]);return i.createElement("meshLambertMaterial",{map:p,"map-anisotropy":d.capabilities.getMaxAnisotropy()||1,attachArray:"material",color:e?l:"white",transparent:!0,opacity:h})},Ys=e=>{const{tweenCamera:t,raycast:r}=Cs(),[a,s]=i.useState(null);return i.createElement("mesh",{raycast:r,onPointerOut:e=>{e.stopPropagation(),s(null)},onPointerMove:e=>{e.stopPropagation(),s(Math.floor(e.faceIndex/2))},onClick:e.onClick||(e=>{e.stopPropagation(),t(e.face.normal)})},[...Array(6)].map(((t,r)=>i.createElement(Xs,n({key:r,index:r,hover:a===r},e)))),i.createElement("boxGeometry",null))},qs=({onClick:e,dimensions:t,position:r,hoverColor:n=ks})=>{const{tweenCamera:a,raycast:s}=Cs(),[o,l]=i.useState(!1);return i.createElement("mesh",{scale:1.01,position:r,raycast:s,onPointerOver:e=>{e.stopPropagation(),l(!0)},onPointerOut:e=>{e.stopPropagation(),l(!1)},onClick:e||(e=>{e.stopPropagation(),a(r)})},i.createElement("meshBasicMaterial",{color:o?n:"white",transparent:!0,opacity:.6,visible:o}),i.createElement("boxGeometry",{args:t}))},Ks=e=>i.createElement("group",{scale:[60,60,60]},i.createElement(Ys,e),js.map(((t,r)=>i.createElement(qs,n({key:r,position:t,dimensions:Ws[r]},e)))),Hs.map(((t,r)=>i.createElement(qs,n({key:r,position:t,dimensions:Qs},e)))),i.createElement("ambientLight",{intensity:.5}),i.createElement("pointLight",{position:[10,10,10],intensity:.5}));function Js({scale:e=[.8,.05,.05],color:t,rotation:r}){return i.createElement("group",{rotation:r},i.createElement("mesh",{position:[.4,0,0]},i.createElement("boxGeometry",{args:e}),i.createElement("meshBasicMaterial",{color:t,toneMapped:!1})))}function Zs({onClick:e,font:t,disabled:r,arcStyle:a,label:l,labelColor:c,axisHeadScale:u=1,...h}){const d=(0,o.useThree)((e=>e.gl)),p=i.useMemo((()=>{const e=document.createElement("canvas");e.width=64,e.height=64;const r=e.getContext("2d");return r.beginPath(),r.arc(32,32,16,0,2*Math.PI),r.closePath(),r.fillStyle=a,r.fill(),l&&(r.font=t,r.textAlign="center",r.fillStyle=c,r.fillText(l,32,41)),new s.CanvasTexture(e)}),[a,l,c,t]),[f,m]=i.useState(!1),g=(l?1:.75)*(f?1.2:1)*u;return i.createElement("sprite",n({scale:g,onPointerOver:r?void 0:e=>{e.stopPropagation(),m(!0)},onPointerOut:r?void 0:e||(e=>{e.stopPropagation(),m(!1)})},h),i.createElement("spriteMaterial",{map:p,"map-anisotropy":d.capabilities.getMaxAnisotropy()||1,alphaTest:.3,opacity:l?1:.75,toneMapped:!1}))}const $s=({hideNegativeAxes:e,hideAxisHeads:t,disabled:r,font:a="18px Inter var, Arial, sans-serif",axisColors:s=["#ff3653","#0adb50","#2c8fdf"],axisHeadScale:o=1,axisScale:l,labels:c=["X","Y","Z"],labelColor:u="#000",onClick:h,...d})=>{const[p,f,m]=s,{tweenCamera:g,raycast:v}=Cs(),A={font:a,disabled:r,labelColor:u,raycast:v,onClick:h,axisHeadScale:o,onPointerDown:r?void 0:e=>{g(e.object.position),e.stopPropagation()}};return i.createElement("group",n({scale:40},d),i.createElement(Js,{color:p,rotation:[0,0,0],scale:l}),i.createElement(Js,{color:f,rotation:[0,0,Math.PI/2],scale:l}),i.createElement(Js,{color:m,rotation:[0,-Math.PI/2,0],scale:l}),!t&&i.createElement(i.Fragment,null,i.createElement(Zs,n({arcStyle:p,position:[1,0,0],label:c[0]},A)),i.createElement(Zs,n({arcStyle:f,position:[0,1,0],label:c[1]},A)),i.createElement(Zs,n({arcStyle:m,position:[0,0,1],label:c[2]},A)),!e&&i.createElement(i.Fragment,null,i.createElement(Zs,n({arcStyle:p,position:[-1,0,0]},A)),i.createElement(Zs,n({arcStyle:f,position:[0,-1,0]},A)),i.createElement(Zs,n({arcStyle:m,position:[0,0,-1]},A)))),i.createElement("ambientLight",{intensity:.5}),i.createElement("pointLight",{position:[10,10,10],intensity:.5}))};function eo(e,{path:t}){const[r]=(0,o.useLoader)(s.CubeTextureLoader,[e],(e=>e.setPath(t)));return r}eo.preload=(e,{path:t})=>o.useLoader.preload(s.CubeTextureLoader,[e],(e=>e.setPath(t)));var to=r(43953);function ro(e){return(0,o.useLoader)(to.y,e)}ro.preload=e=>o.useLoader.preload(to.y,e),ro.clear=e=>o.useLoader.clear(to.y,e);var no=r(44976),io=r(46295),ao=r(17607);let so=null;function oo(e,t,r){return n=>{r&&r(n),e&&(so||(so=new no._),so.setDecoderPath("string"==typeof e?e:"https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),n.setDRACOLoader(so)),t&&n.setMeshoptDecoder("function"==typeof io.z?(0,io.z)():io.z)}}function lo(e,t=!0,r=!0,n){return(0,o.useLoader)(ao.E,e,oo(t,r,n))}lo.preload=(e,t=!0,r=!0,n)=>o.useLoader.preload(ao.E,e,oo(t,r,n)),lo.clear=e=>o.useLoader.clear(ao.E,e);var co=r(28934);const uo="https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master";function ho(e,t=`${uo}/basis/`){const r=(0,o.useThree)((e=>e.gl)),n=(0,o.useLoader)(co.a,ka(e)?Object.values(e):e,(e=>{e.detectSupport(r),e.setTranscoderPath(t)}));if((0,i.useEffect)((()=>{(Array.isArray(n)?n:[n]).forEach(r.initTexture)}),[r,n]),ka(e)){const t=Object.keys(e),r={};return t.forEach((e=>Object.assign(r,{[e]:n[t.indexOf(e)]}))),r}return n}ho.preload=(e,t=`${uo}/basis/`)=>o.useLoader.preload(co.a,e,(e=>{e.setTranscoderPath(t)})),ho.clear=e=>o.useLoader.clear(co.a,e);var po=r(73466),fo=r.n(po);function mo(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function go({showPanel:e=0,className:t,parent:r}){const n=function(e,t=[],r){const[n,a]=i.useState();return i.useLayoutEffect((()=>{const t=e();return a(t),mo(r,t),()=>mo(r,null)}),t),n}((()=>new(fo())),[]);return i.useEffect((()=>{if(n){const i=r&&r.current||document.body;n.showPanel(e),null==i||i.appendChild(n.dom),t&&n.dom.classList.add(...t.split(" ").filter((e=>e)));const a=(0,o.addEffect)((()=>n.begin())),s=(0,o.addAfterEffect)((()=>n.end()));return()=>{null==i||i.removeChild(n.dom),a(),s()}}}),[r,n,t,e]),null}function vo(e,t,r){const{gl:n,size:a}=(0,o.useThree)(),l=i.useMemo((()=>n.getPixelRatio()),[n]),c="number"==typeof e?e:a.width*l,u="number"==typeof t?t:a.height*l,h=("number"==typeof e?r:e)||{},{samples:d,...p}=h,f=i.useMemo((()=>{let e;return e=new s.WebGLRenderTarget(c,u,{minFilter:s.LinearFilter,magFilter:s.LinearFilter,encoding:n.outputEncoding,type:s.HalfFloatType,...p}),e.samples=d,e}),[]);return i.useLayoutEffect((()=>{f.setSize(c,u),d&&(f.samples=d)}),[d,f,c,u]),i.useEffect((()=>()=>f.dispose()),[]),f}function Ao({size:e=256,frames:t=1/0}={}){const r=(0,o.useThree)((e=>e.viewport.dpr)),{width:n,height:a}=(0,o.useThree)((e=>e.size)),l=e||n*r,c=e||a*r,u=i.useMemo((()=>{const e=new s.DepthTexture(l,c);return e.format=s.DepthFormat,e.type=s.UnsignedShortType,{depthTexture:e}}),[l,c]);let h=0;const d=vo(l,c,u);return(0,o.useFrame)((e=>{(t===1/0||he.viewport)),i=t*(n.aspect>e/t?n.width/e:n.height/t);return[e*(n.aspect>e/t?n.width/e:n.height/t)*r,i*r,1]}function xo(e,t,r,n){return new(r||(r=Promise))((function(i,a){function s(e){try{l(n.next(e))}catch(e){a(e)}}function o(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}l((n=n.apply(e,t||[])).next())}))}const bo=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function wo(e){return e.toLowerCase().replace(/^angle ?\((.+)\)*$/,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const _o="undefined"==typeof window,Eo=(()=>{if(_o)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,n=/(iphone|ipod|ipad)/i.test(e),i="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:i,isMobile:/android/i.test(e)||n||i,isSafari12:/Version\/12.+Safari/.test(e)}})();const So=[],Mo=[];function To(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,i=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-i);)n--,i--;let a,s=0;for(;sc?l>c?c+1:l:l>o?o+1:l;return c}function Co(e){return null!=e}class Io extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const Bo=({mobileTiers:e=[0,15,30,60],desktopTiers:t=[0,15,30,60],override:r={},glContext:n,failIfMajorPerformanceCaveat:i=!1,benchmarksURL:a="https://unpkg.com/detect-gpu@4.0.50/dist/benchmarks"}={})=>xo(void 0,void 0,void 0,(function*(){const s={};if(_o)return{tier:0,type:"SSR"};const{isIpad:o=!!(null==Eo?void 0:Eo.isIpad),isMobile:l=!!(null==Eo?void 0:Eo.isMobile),screenSize:c=window.screen,loadBenchmarks:u=(e=>xo(void 0,void 0,void 0,(function*(){const t=yield fetch(`${a}/${e}`).then((e=>e.json()));if(parseInt(t.shift().split(".")[0],10)<4)throw new Io("Detect GPU benchmark data is out of date. Please update to version 4x");return t})))}=r;let{renderer:h}=r;const d=(e,t,r,n,i)=>({device:i,fps:n,gpu:r,isMobile:l,tier:e,type:t});let p,f="";if(h)h=wo(h),p=[h];else{const e=n||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),i=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=i?i:void 0}(null==Eo?void 0:Eo.isSafari12,i);if(!e)return d(0,"WEBGL_UNSUPPORTED");const t=e.getExtension("WEBGL_debug_renderer_info");if(t&&(h=e.getParameter(t.UNMASKED_RENDERER_WEBGL)),!h)return d(1,"FALLBACK");f=h,h=wo(h),p=function(e,t,r){return"apple gpu"===t?function(e,t,r){if(!r)return[t];const n=function(e){const t=e.createShader(35633),r=e.createShader(35632),n=e.createProgram();if(!(r&&t&&n))return;e.shaderSource(t,"\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n "),e.shaderSource(r,"\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n "),e.compileShader(t),e.compileShader(r),e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),e.detachShader(n,t),e.detachShader(n,r),e.deleteShader(t),e.deleteShader(r),e.useProgram(n);const i=e.createBuffer();e.bindBuffer(34962,i),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const a=e.getAttribLocation(n,"aPosition");e.vertexAttribPointer(a,3,5126,!1,0,0),e.enableVertexAttribArray(a),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const s=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,s),e.deleteProgram(n),e.deleteBuffer(i),s.join("")}(e),i="801621810",a="8016218135",s="80162181161",o=(null==Eo?void 0:Eo.isIpad)?[["a7",s,12],["a8",a,15],["a8x",a,15],["a9",a,15],["a9x",a,15],["a10",a,15],["a10x",a,15],["a12",i,15],["a12x",i,15],["a12z",i,15],["a14",i,15],["m1",i,15]]:[["a7",s,12],["a8",a,12],["a9",a,15],["a10",a,15],["a11",i,15],["a12",i,15],["a13",i,15],["a14",i,15]];let l;return"80162181255"===n?l=o.filter((([,,e])=>e>=14)):(l=o.filter((([,e])=>e===n)),l.length||(l=o)),l.map((([e])=>`apple ${e} gpu`))}(e,t,r):[t]}(e,h,l)}const m=(yield Promise.all(p.map((function(e){var t;return xo(this,void 0,void 0,(function*(){const r=(e=>{const t=l?["adreno","apple","mali-t","mali","nvidia","powervr"]:["intel","apple","amd","radeon","nvidia","geforce"];for(const r of t)if(e.includes(r))return r})(e);if(!r)return;const n=`${l?"m":"d"}-${r}${o?"-ipad":""}.json`,i=s[n]=null!==(t=s[n])&&void 0!==t?t:u(n);let a;try{a=yield i}catch(r){if(r instanceof Io)throw r;return}const h=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(e);let d=a.filter((([,e])=>e===h));d.length||(d=a.filter((([t])=>t.includes(e))));const p=d.length;if(0===p)return;let f,[m,,,g]=p>1?d.map((t=>[t,To(e,t[0])])).sort((([,e],[,t])=>e-t))[0][0]:d[0],v=Number.MAX_VALUE;const{devicePixelRatio:A}=window,y=c.width*A*c.height*A;for(const e of g){const[t,r]=e,n=t*r,i=Math.abs(y-n);ie===r?t-n:e-r));if(!m.length){const e=bo.find((e=>h.includes(e)));return e?d(0,"BLOCKLISTED",e):d(1,"FALLBACK",`${h} (${f})`)}const[,g,v,A]=m[0];if(-1===g)return d(0,"BLOCKLISTED",v,g,A);const y=l?e:t;let x=0;for(let e=0;e=y[e]&&(x=e);return d(x,"BENCHMARK",v,g,A)})),Ro=e=>Ca((()=>Bo(e)),["useDetectGPU"]);function Po(e,t,...r){const n=i.useRef(),a=(0,o.useThree)((e=>e.scene));return i.useEffect((()=>(e&&t&&null!=e&&e.current&&(n.current=new t(e.current,...r),n.current&&a.add(n.current)),!e&&n.current&&a.remove(n.current),()=>{n.current&&a.remove(n.current)})),[a,t,e,r]),(0,o.useFrame)((()=>{var e;null!=(e=n.current)&&e.update&&n.current.update()})),n}const Fo=new s.Vector3,Lo=new s.Vector3,Do=new s.Vector3,Uo=new s.Vector2,No=new s.Vector2,ko=new s.Vector2,Oo=new s.Vector3;function Go(e,t,r,n,i,a,o){Fo.fromBufferAttribute(t,n),Lo.fromBufferAttribute(t,i),Do.fromBufferAttribute(t,a);const l=function(e,t,r,n,i,a){let o;return o=a===s.BackSide?e.intersectTriangle(n,r,t,!0,i):e.intersectTriangle(t,r,n,a!==s.DoubleSide,i),null===o?null:{distance:e.origin.distanceTo(i),point:i.clone()}}(e,Fo,Lo,Do,Oo,o);if(l){r&&(Uo.fromBufferAttribute(r,n),No.fromBufferAttribute(r,i),ko.fromBufferAttribute(r,a),l.uv=s.Triangle.getUV(Oo,Fo,Lo,Do,Uo,No,ko,new s.Vector2));const e={a:n,b:i,c:a,normal:new s.Vector3,materialIndex:0};s.Triangle.getNormal(Fo,Lo,Do,e.normal),l.face=e,l.faceIndex=n}return l}function zo(e,t,r,n,i){const a=3*n,s=e.index.getX(a),o=e.index.getX(a+1),l=e.index.getX(a+2),c=Go(r,e.attributes.position,e.attributes.uv,s,o,l,t);return c?(c.faceIndex=n,i&&i.push(c),c):null}function Vo(e,t,r){return null===e?null:(e.point.applyMatrix4(t.matrixWorld),e.distance=e.point.distanceTo(r.ray.origin),e.object=t,e.distancer.far?null:e)}const Ho=1.25,Qo=65535,jo=Math.pow(2,-24);class Wo{constructor(){}}function Xo(e,t,r){return r.min.x=t[e],r.min.y=t[e+1],r.min.z=t[e+2],r.max.x=t[e+3],r.max.y=t[e+4],r.max.z=t[e+5],r}function Yo(e){let t=-1,r=-1/0;for(let n=0;n<3;n++){const i=e[n+3]-e[n];i>r&&(r=i,t=n)}return t}function qo(e,t){t.set(e)}function Ko(e,t,r){let n,i;for(let a=0;a<3;a++){const s=a+3;n=e[a],i=t[a],r[a]=ni?n:i}}function Jo(e,t,r){for(let n=0;n<3;n++){const i=t[e+2*n],a=t[e+2*n+1],s=i-a,o=i+a;sr[n+3]&&(r[n+3]=o)}}function Zo(e){const t=e[3]-e[0],r=e[4]-e[1],n=e[5]-e[2];return 2*(t*r+r*n+n*t)}function $o(e,t,r,n,i=null){let a=1/0,s=1/0,o=1/0,l=-1/0,c=-1/0,u=-1/0,h=1/0,d=1/0,p=1/0,f=-1/0,m=-1/0,g=-1/0;const v=null!==i;for(let A=6*t,y=6*(t+r);Al&&(l=i),v&&tf&&(f=t);const y=e[A+2],x=e[A+3],b=y-x,w=y+x;bc&&(c=w),v&&ym&&(m=y);const _=e[A+4],E=e[A+5],S=_-E,M=_+E;Su&&(u=M),v&&_g&&(g=_)}n[0]=a,n[1]=s,n[2]=o,n[3]=l,n[4]=c,n[5]=u,v&&(i[0]=h,i[1]=d,i[2]=p,i[3]=f,i[4]=m,i[5]=g)}const el=32,tl=(e,t)=>e.candidate-t.candidate,rl=new Array(el).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),nl=new Float32Array(6);function il(e,t){function r(e){p&&p(e/f)}function n(t,i,s,p=null,f=0){if(!m&&f>=c&&(m=!0,u&&(console.warn(`MeshBVH: Max depth of ${c} reached when generating BVH. Consider increasing maxDepth.`),console.warn(e))),s<=h||f>=c)return r(i+s),t.offset=i,t.count=s,t;const g=function(e,t,r,n,i,a){let s=-1,o=0;if(0===a)s=Yo(t),-1!==s&&(o=(t[s]+t[s+3])/2);else if(1===a)s=Yo(e),-1!==s&&(o=function(e,t,r,n){let i=0;for(let a=t,s=t+r;a=a.candidate?Jo(i,r,a.rightCacheBounds):(Jo(i,r,a.leftCacheBounds),a.count++)}}for(let r=0;r=el&&(t=31);const a=rl[t];a.count++,Jo(i,r,a.bounds)}const t=rl[31];qo(t.bounds,t.rightCacheBounds);for(let e=30;e>=0;e--){const t=rl[e],r=rl[e+1];Ko(t.bounds,r.rightCacheBounds,t.rightCacheBounds)}let d=0;for(let r=0;r<31;r++){const t=rl[r],n=t.count,c=t.bounds,u=rl[r+1].rightCacheBounds;0!==n&&(0===d?qo(c,nl):Ko(c,nl,nl)),d+=n;let h=0,p=0;0!==d&&(h=Zo(nl)/a);const f=i-d;0!==f&&(p=Zo(u)/a);const m=1+Ho*(h*d+p*f);m=o;)s--;if(!(a65535?new Uint32Array(new n(4*r)):new Uint16Array(new n(2*r)),e.setIndex(new s.BufferAttribute(i,1));for(let e=0;em&&(m=l),c>m&&(m=c);const g=(m-h)/2,v=2*n;a[i+v+0]=h+g,a[i+v+1]=g+(Math.abs(h)+g)*jo,ht[n+3]&&(t[n+3]=m)}}return a}(e,i),l=e.index.array,c=t.maxDepth,u=t.verbose,h=t.maxLeafTris,d=t.strategy,p=t.onProgress,f=e.index.count/3;let m=!1;const g=[],v=function(e){if(!e.groups||!e.groups.length)return[{offset:0,count:e.index.count/3}];const t=[],r=new Set;for(const i of e.groups)r.add(i.start),r.add(i.start+i.count);const n=Array.from(r.values()).sort(((e,t)=>e-t));for(let i=0;io&&(o=t);const r=e[u+2];rl&&(l=r);const n=e[u+4];nc&&(c=n)}n[0]=i,n[1]=a,n[2]=s,n[3]=o,n[4]=l,n[5]=c}(o,e.offset,e.count,a),n(t,e.offset,e.count,a),g.push(t)}else for(let s of v){const e=new Wo;e.boundingData=new Float32Array(6),$o(o,s.offset,s.count,e.boundingData,a),n(e,s.offset,s.count,a),g.push(e)}return g}class al{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let r=1/0,n=-1/0;for(let i=0,a=e.length;in?a:n}this.min=r,this.max=n}setFromPoints(e,t){let r=1/0,n=-1/0;for(let i=0,a=t.length;in?s:n}this.min=r,this.max=n}isSeparated(e){return this.min>e.max||e.min>this.max}}al.prototype.setFromBox=function(){const e=new s.Vector3;return function(t,r){const n=r.min,i=r.max;let a=1/0,s=-1/0;for(let o=0;o<=1;o++)for(let r=0;r<=1;r++)for(let l=0;l<=1;l++){e.x=n.x*o+i.x*(1-o),e.y=n.y*r+i.y*(1-r),e.z=n.z*l+i.z*(1-l);const c=t.dot(e);a=Math.min(c,a),s=Math.max(c,s)}this.min=a,this.max=s}}();!function(){const e=new al}();const sl=function(){const e=new s.Vector3,t=new s.Vector3,r=new s.Vector3;return function(n,i,a){const s=n.start,o=e,l=i.start,c=t;r.subVectors(s,l),e.subVectors(n.end,n.start),t.subVectors(i.end,i.start);const u=r.dot(c),h=c.dot(o),d=c.dot(c),p=r.dot(o),f=o.dot(o)*d-h*h;let m,g;m=0!==f?(u*h-p*d)/f:0,g=(u+m*h)/d,a.x=m,a.y=g}}(),ol=function(){const e=new s.Vector2,t=new s.Vector3,r=new s.Vector3;return function(n,i,a,s){sl(n,i,e);let o=e.x,l=e.y;if(o>=0&&o<=1&&l>=0&&l<=1)return n.at(o,a),void i.at(l,s);if(o>=0&&o<=1)return l<0?i.at(0,s):i.at(1,s),void n.closestPointToPoint(s,!0,a);if(l>=0&&l<=1)return o<0?n.at(0,a):n.at(1,a),void i.closestPointToPoint(a,!0,s);{let e,c;e=o<0?n.start:n.end,c=l<0?i.start:i.end;const u=t,h=r;return n.closestPointToPoint(c,!0,t),i.closestPointToPoint(e,!0,r),u.distanceToSquared(c)<=h.distanceToSquared(e)?(a.copy(u),void s.copy(c)):(a.copy(e),void s.copy(h))}}}(),ll=function(){const e=new s.Vector3,t=new s.Vector3,r=new s.Plane,n=new s.Line3;return function(i,a){const{radius:s,center:o}=i,{a:l,b:c,c:u}=a;n.start=l,n.end=c;if(n.closestPointToPoint(o,!0,e).distanceTo(o)<=s)return!0;n.start=l,n.end=u;if(n.closestPointToPoint(o,!0,e).distanceTo(o)<=s)return!0;n.start=c,n.end=u;if(n.closestPointToPoint(o,!0,e).distanceTo(o)<=s)return!0;const h=a.getPlane(r);if(Math.abs(h.distanceToPoint(o))<=s){const e=h.projectPoint(o,t);if(a.containsPoint(e))return!0}return!1}}();function cl(e){return Math.abs(e)<1e-15}class ul extends s.Triangle{constructor(...e){super(...e),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new s.Vector3)),this.satBounds=new Array(4).fill().map((()=>new al)),this.points=[this.a,this.b,this.c],this.sphere=new s.Sphere,this.plane=new s.Plane,this.needsUpdate=!0}intersectsSphere(e){return ll(e,this)}update(){const e=this.a,t=this.b,r=this.c,n=this.points,i=this.satAxes,a=this.satBounds,s=i[0],o=a[0];this.getNormal(s),o.setFromPoints(s,n);const l=i[1],c=a[1];l.subVectors(e,t),c.setFromPoints(l,n);const u=i[2],h=a[2];u.subVectors(t,r),h.setFromPoints(u,n);const d=i[3],p=a[3];d.subVectors(r,e),p.setFromPoints(d,n),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(s,e),this.needsUpdate=!1}}ul.prototype.closestPointToSegment=function(){const e=new s.Vector3,t=new s.Vector3,r=new s.Line3;return function(n,i=null,a=null){const{start:s,end:o}=n,l=this.points;let c,u=1/0;for(let h=0;h<3;h++){const s=(h+1)%3;r.start.copy(l[h]),r.end.copy(l[s]),ol(r,n,e,t),c=e.distanceToSquared(t),c1-1e-10){const e=this.satBounds,o=this.satAxes;r[0]=s.a,r[1]=s.b,r[2]=s.c;for(let t=0;t<4;t++){const i=e[t],a=o[t];if(n.setFromPoints(a,r),i.isSeparated(n))return!1}const l=s.satBounds,c=s.satAxes;t[0]=this.a,t[1]=this.b,t[2]=this.c;for(let r=0;r<4;r++){const e=l[r],i=c[r];if(n.setFromPoints(i,t),e.isSeparated(n))return!1}for(let s=0;s<4;s++){const e=o[s];for(let s=0;s<4;s++){const o=c[s];if(a.crossVectors(e,o),n.setFromPoints(a,t),i.setFromPoints(a,r),n.isSeparated(i))return!1}}return p&&(f||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),p.start.set(0,0,0),p.end.set(0,0,0)),!0}{const e=this.points;let t=!1,r=0;for(let s=0;s<3;s++){const n=e[s],i=e[(s+1)%3];u.start.copy(n),u.end.copy(i),u.delta(o);const a=t?h.start:h.end,l=cl(g.distanceToPoint(n));if(cl(g.normal.dot(o))&&l){h.copy(u),r=2;break}if((g.intersectLine(u,a)||l)&&!cl(a.distanceTo(i))){if(r++,t)break;t=!0}}if(1===r&&s.containsPoint(h.end))return p&&(p.start.copy(h.end),p.end.copy(h.end)),!0;if(2!==r)return!1;const n=s.points;let i=!1,a=0;for(let s=0;s<3;s++){const e=n[s],t=n[(s+1)%3];u.start.copy(e),u.end.copy(t),u.delta(l);const r=i?d.start:d.end,o=cl(m.distanceToPoint(e));if(cl(m.normal.dot(l))&&o){d.copy(u),a=2;break}if((m.intersectLine(u,r)||o)&&!cl(r.distanceTo(t))){if(a++,i)break;i=!0}}if(1===a&&this.containsPoint(d.end))return p&&(p.start.copy(d.end),p.end.copy(d.end)),!0;if(2!==a)return!1;if(h.delta(o),d.delta(l),o.dot(l)<0){let e=d.start;d.start=d.end,d.end=e}const f=h.start.dot(o),v=h.end.dot(o),A=d.start.dot(o),y=d.end.dot(o),x=v0?p.start.copy(h.start):p.start.copy(d.start),c.subVectors(h.end,d.end),c.dot(o)<0?p.end.copy(h.end):p.end.copy(d.end)),!0)}}}(),ul.prototype.distanceToPoint=function(){const e=new s.Vector3;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),ul.prototype.distanceToTriangle=function(){const e=new s.Vector3,t=new s.Vector3,r=["a","b","c"],n=new s.Line3,i=new s.Line3;return function(a,s=null,o=null){const l=s||o?n:null;if(this.intersectsTriangle(a,l))return(s||o)&&(s&&l.getCenter(s),o&&l.getCenter(o)),0;let c=1/0;for(let t=0;t<3;t++){let n;const i=r[t],l=a[i];this.closestPointToPoint(l,e),n=l.distanceToSquared(e),nnew s.Vector3)),this.satAxes=new Array(3).fill().map((()=>new s.Vector3)),this.satBounds=new Array(3).fill().map((()=>new al)),this.alignedSatBounds=new Array(3).fill().map((()=>new al)),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),r&&this.matrix.copy(r)}set(e,t,r){this.min.copy(e),this.max.copy(t),this.matrix.copy(r),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}function dl(e,t,r,n){const i=e.a,a=e.b,s=e.c;let o=t,l=t+1,c=t+2;r&&(o=r.getX(t),l=r.getX(t+1),c=r.getX(t+2)),i.x=n.getX(o),i.y=n.getY(o),i.z=n.getZ(o),a.x=n.getX(l),a.y=n.getY(l),a.z=n.getZ(l),s.x=n.getX(c),s.y=n.getY(c),s.z=n.getZ(c)}function pl(e,t,r,n,i,a,s){const o=r.index,l=r.attributes.position;for(let c=e,u=t+e;cnew s.Line3)),r=new Array(12).fill().map((()=>new s.Line3)),n=new s.Vector3,i=new s.Vector3;return function(a,s=0,o=null,l=null){if(this.needsUpdate&&this.update(),this.intersectsBox(a))return(o||l)&&(a.getCenter(i),this.closestPointToPoint(i,n),a.closestPointToPoint(n,i),o&&o.copy(n),l&&l.copy(i)),0;const c=s*s,u=a.min,h=a.max,d=this.points;let p=1/0;for(let e=0;e<8;e++){const t=d[e];i.copy(t).clamp(u,h);const r=t.distanceToSquared(i);if(r=0;let c,u;l?(c=Al(e),u=yl(e,o)):(c=yl(e,o),u=Al(e));const h=Tl(c,a,n,bl)?El(c,t,r,n):null;if(h){const e=h.point[s];if(l?e<=a[u+i]:e>=a[u+i+3])return h}const d=Tl(u,a,n,bl)?El(u,t,r,n):null;return h&&d?h.distance<=d.distance?h:d:h||d||null}}const Sl=function(){let e,t;const r=[],n=new fl((()=>new s.Box3));return function(...a){e=n.getPrimitive(),t=n.getPrimitive(),r.push(e,t);const s=i(...a);n.releasePrimitive(e),n.releasePrimitive(t),r.pop(),r.pop();const o=r.length;return o>0&&(t=r[o-1],e=r[o-2]),s};function i(r,n,a,s,o=null,l=0,c=0){function u(e){let t=2*e,r=Rl,n=Pl;for(;!ml(t,r);)t=2*(e=Al(e));return gl(e,n)}function h(e){let t=2*e,r=Rl,n=Pl;for(;!ml(t,r);)t=2*(e=yl(e,n));return gl(e,n)+vl(t,r)}let d=2*r,p=Bl,f=Rl,m=Pl;if(ml(d,f)){const t=gl(r,m),n=vl(d,f);return Xo(r,p,e),s(t,n,!1,c,l+r,e)}{const d=Al(r),g=yl(r,m);let v,A,y,x,b=d,w=g;if(o&&(y=e,x=t,Xo(b,p,y),Xo(w,p,x),v=o(y),A=o(x),Ai.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(c),e.b.applyMatrix4(c),e.c.applyMatrix4(c),e.needsUpdate=!0;for(let r=3*v,n=3*(A+v);rnew ul));class Yl{static serialize(e,t={}){if(t.isBufferGeometry)return console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature."),Yl.serialize(arguments[0],{cloneBuffers:void 0===arguments[2]||arguments[2]});t={cloneBuffers:!0,...t};const r=e.geometry,n=e._roots,i=r.getIndex();let a;return a=t.cloneBuffers?{roots:n.map((e=>e.slice())),index:i.array.slice()}:{roots:n,index:i.array},a}static deserialize(e,t,r={}){if("boolean"==typeof r)return console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature."),Yl.deserialize(arguments[0],arguments[1],{setIndex:void 0===arguments[2]||arguments[2]});r={setIndex:!0,...r};const{index:n,roots:i}=e,a=new Yl(t,{...r,[Dl]:!0});if(a._roots=i,r.setIndex){const r=t.getIndex();if(null===r){const r=new s.BufferAttribute(e.index,1,!1);t.setIndex(r)}else r.array!==n&&(r.array.set(n),r.needsUpdate=!0)}return a}constructor(e,t={}){if(!e.isBufferGeometry)throw new Error("MeshBVH: Only BufferGeometries are supported.");if(e.index&&e.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.");if((t=Object.assign({strategy:0,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,[Dl]:!1},t)).useSharedArrayBuffer&&"undefined"==typeof SharedArrayBuffer)throw new Error("MeshBVH: SharedArrayBuffer is not available.");this._roots=null,t[Dl]||(this._roots=function(e,t){const r=il(e,t);let n,i,a;const s=[],o=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let u=0;uMath.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return i[r+6]=o/4,o=c(o,a),i[r+7]=s,o}}}(e,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new s.Box3))),this.geometry=e}refit(e=null){e&&Array.isArray(e)&&(e=new Set(e));const t=this.geometry,r=t.index.array,n=t.attributes.position;let i,a,s,o,l=0;const c=this._roots;for(let h=0,d=c.length;hh&&(h=a),sd&&(d=s),op&&(p=o)}return(o[t+0]!==i||o[t+1]!==l||o[t+2]!==u||o[t+3]!==h||o[t+4]!==d||o[t+5]!==p)&&(o[t+0]=i,o[t+1]=l,o[t+2]=u,o[t+3]=h,o[t+4]=d,o[t+5]=p,!0)}{const r=t+8,n=a[t+6],s=r+i,c=n+i;let h=l,d=!1,p=!1;e?h||(d=e.has(s),p=e.has(c),h=!d&&!p):(d=!0,p=!0);const f=h||p;let m=!1;(h||d)&&(m=u(r,i,h));let g=!1;f&&(g=u(n,i,h));const v=m||g;if(v)for(let e=0;e<3;e++){const i=r+e,a=n+e,s=o[i],l=o[i+3],c=o[a],u=o[a+3];o[t+e]=su?l:u}return v}}}traverse(e,t=0){const r=this._roots[t],n=new Uint32Array(r),i=new Uint16Array(r);!function t(a,s=0){const o=2*a,l=i[o+15]===Qo;if(l){const t=n[a+6],c=i[o+14];e(s,l,new Float32Array(r,4*a,6),t,c)}else{const i=a+8,o=n[a+6],c=n[a+7];e(s,l,new Float32Array(r,4*a,6),c)||(t(i,s+1),t(o,s+1))}}(0)}raycast(e,t=s.FrontSide){const r=this._roots,n=this.geometry,i=[],a=t.isMaterial,o=Array.isArray(t),l=n.groups,c=a?t.side:t;for(let s=0,u=r.length;s{const a=3*r;return e(t,a,a+1,a+2,n,i)}}e={boundsTraverseOrder:r,intersectsBounds:e,intersectsTriangle:t,intersectsRange:null},console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}const i=Xl.getPrimitive();let{boundsTraverseOrder:a,intersectsBounds:s,intersectsRange:o,intersectsTriangle:l}=e;if(o&&l){const e=o;o=(t,r,a,s,o)=>!!e(t,r,a,s,o)||pl(t,r,n,l,a,s,i)}else o||(o=l?(e,t,r,a)=>pl(e,t,n,l,r,a,i):(e,t,r)=>r);let c=!1,u=0;for(const h of this._roots){if(Fl(h),c=Sl(0,n,s,o,a,u),Ll(),c)break;u+=h.byteLength}return Xl.releasePrimitive(i),c}bvhcast(e,t,r){let{intersectsRanges:n,intersectsTriangles:i}=r;const a=this.geometry.index,s=this.geometry.attributes.position,o=e.geometry.index,l=e.geometry.attributes.position;kl.copy(t).invert();const c=Xl.getPrimitive(),u=Xl.getPrimitive();if(i){function d(e,r,n,h,d,p,f,m){for(let g=n,v=n+h;gNl.intersectsBox(e),intersectsRange:(t,r,i,a,s,o)=>(Ul.copy(o),Ul.applyMatrix4(kl),e.shapecast({intersectsBounds:e=>Ul.intersectsBox(e),intersectsRange:(e,i,o,l,c)=>n(t,r,e,i,a,s,l,c)}))});return Xl.releasePrimitive(c),Xl.releasePrimitive(u),h}intersectsBox(e,t){return Ol.set(e.min,e.max,t),Ol.needsUpdate=!0,this.shapecast({intersectsBounds:e=>Ol.intersectsBox(e),intersectsTriangle:e=>Ol.intersectsTriangle(e)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,r={},n={},i=0,a=1/0){e.boundingBox||e.computeBoundingBox(),Ol.set(e.boundingBox.min,e.boundingBox.max,t),Ol.needsUpdate=!0;const s=this.geometry,o=s.attributes.position,l=s.index,c=e.attributes.position,u=e.index,h=Xl.getPrimitive(),d=Xl.getPrimitive();let p=Vl,f=Hl,m=null,g=null;n&&(m=Ql,g=jl);let v=1/0,A=null,y=null;return kl.copy(t).invert(),Gl.matrix.copy(kl),this.shapecast({boundsTraverseOrder:e=>Ol.distanceToBox(e),intersectsBounds:(e,t,r)=>r{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:e=>Gl.distanceToBox(e),intersectsBounds:(e,t,r)=>r{for(let s=3*e,x=3*(e+a);s(zl.copy(e).clamp(t.min,t.max),zl.distanceToSquared(e)),intersectsBounds:(e,t,r)=>r{t.closestPointToPoint(e,zl);const n=e.distanceToSquared(zl);return n{Xo(0,new Float32Array(t),Wl),e.union(Wl)})),e}}const ql=new s.Ray,Kl=new s.Matrix4,Jl=s.Mesh.prototype.raycast;function Zl(e,t){if(this.geometry.boundsTree){if(void 0===this.material)return;Kl.copy(this.matrixWorld).invert(),ql.copy(e.ray).applyMatrix4(Kl);const r=this.geometry.boundsTree;if(!0===e.firstHitOnly){const n=Vo(r.raycastFirst(ql,this.material),this,e);n&&t.push(n)}else{const n=r.raycast(ql,this.material);for(let r=0,i=n.length;r{if(e.current){e.current.raycast=Zl;const r=e.current.geometry;return r.computeBoundsTree=$l,r.disposeBoundsTree=ec,r.computeBoundsTree(t),()=>{r.boundsTree&&r.disposeBoundsTree()}}}),[e,t])}function rc(...e){const t=i.useRef([]);return t.current=e.map((e=>i.useContext(e))),i.useMemo((()=>({children:r})=>e.reduceRight(((e,r,n)=>i.createElement(r.Provider,{value:t.current[n],children:e})),r)),[])}function nc(e,t){const r=i.useRef(),[n]=i.useState((()=>t?t instanceof s.Object3D?{current:t}:t:r)),[a]=i.useState((()=>new s.AnimationMixer(void 0))),l=i.useRef({}),[c]=i.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(n.current)return l.current[e.name]||(l.current[e.name]=a.clipAction(e,n.current))}}))),{ref:n,clips:e,actions:t,names:e.map((e=>e.name)),mixer:a}}));return(0,o.useFrame)(((e,t)=>a.update(t))),i.useEffect((()=>{const e=n.current;return()=>{l.current={},Object.values(c.actions).forEach((t=>{e&&a.uncacheAction(t,e)}))}}),[e]),c}function ic(e){const t=i.useRef(null),r=i.useRef(!1),n=i.useRef(!1);return i.useEffect((()=>{const i=t.current;if(i){const t=(0,o.addEffect)((()=>(r.current=!1,!0))),a=i.onBeforeRender;i.onBeforeRender=()=>r.current=!0;const s=(0,o.addAfterEffect)((()=>(r.current!==n.current&&e(n.current=r.current),!0)));return()=>{i.onBeforeRender=a,t(),s()}}}),[]),t}function ac(e=new s.Vector3,t=new s.Vector3){const[r]=i.useState((()=>({position:new s.Vector3,size:new s.Vector3})));(0,o.applyProps)(r,{position:e,size:t});const n=i.useRef(null),a=i.useMemo((()=>({ref:n,onBeforeCompile:e=>function(e,t,r){e.defines.BOX_PROJECTED_ENV_MAP=!0,e.uniforms.envMapPosition={value:t},e.uniforms.envMapSize={value:r},e.vertexShader=`\n varying vec3 vWorldPosition;\n ${e.vertexShader.replace("#include ","\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n #ifdef BOX_PROJECTED_ENV_MAP\n vWorldPosition = worldPosition.xyz;\n #endif\n#endif\n")}`,e.fragmentShader=`\n \n#ifdef BOX_PROJECTED_ENV_MAP\n uniform vec3 envMapSize;\n uniform vec3 envMapPosition;\n varying vec3 vWorldPosition;\n \n vec3 parallaxCorrectNormal( vec3 v, vec3 cubeSize, vec3 cubePos ) {\n vec3 nDir = normalize( v );\n vec3 rbmax = ( .5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbmin = ( -.5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbminmax;\n rbminmax.x = ( nDir.x > 0. ) ? rbmax.x : rbmin.x;\n rbminmax.y = ( nDir.y > 0. ) ? rbmax.y : rbmin.y;\n rbminmax.z = ( nDir.z > 0. ) ? rbmax.z : rbmin.z;\n float correction = min( min( rbminmax.x, rbminmax.y ), rbminmax.z );\n vec3 boxIntersection = vWorldPosition + nDir * correction; \n return boxIntersection - cubePos;\n }\n#endif\n\n ${e.fragmentShader.replace("#include ",s.ShaderChunk.envmap_physical_pars_fragment).replace("vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );","vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n \n#ifdef BOX_PROJECTED_ENV_MAP\n worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );\n#endif\n\n ").replace("reflectVec = inverseTransformDirection( reflectVec, viewMatrix );","reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n \n#ifdef BOX_PROJECTED_ENV_MAP\n reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );\n#endif\n\n ")}`}(e,r.position,r.size),customProgramCacheKey:()=>JSON.stringify(r.position.toArray())+JSON.stringify(r.size.toArray())})),[...r.position.toArray(),...r.size.toArray()]);return i.useLayoutEffect((()=>{n.current.needsUpdate=!0}),[r]),a}var sc=r(53615);const oc=i.forwardRef((({children:e,curve:t},r)=>{const[n]=i.useState((()=>new s.Scene)),[a,l]=i.useState(),c=i.useRef();return i.useEffect((()=>{c.current=new sc.Zw(n.children[0]),l(c.current.object3D)}),[e]),i.useEffect((()=>{var e;t&&(null==(e=c.current)||e.updateCurve(0,t))}),[t]),i.useImperativeHandle(r,(()=>({moveAlongCurve:e=>{var t;null==(t=c.current)||t.moveAlongCurve(e)}}))),i.createElement(i.Fragment,null,(0,o.createPortal)(e,n),a&&i.createElement("primitive",{object:a}))}));class lc extends s.MeshPhysicalMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._distort={value:.4},this._radius={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader=`\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include ","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")}get time(){return this._time.value}set time(e){this._time.value=e}get distort(){return this._distort.value}set distort(e){this._distort.value=e}get radius(){return this._radius.value}set radius(e){this._radius.value=e}}const cc=i.forwardRef((({speed:e=1,...t},r)=>{const[a]=i.useState((()=>new lc));return(0,o.useFrame)((t=>a&&(a.time=t.clock.getElapsedTime()*e))),i.createElement("primitive",n({dispose:void 0,object:a,ref:r,attach:"material"},t))}));class uc extends s.MeshStandardMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._factor={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.factor=this._factor,e.vertexShader=`\n uniform float time;\n uniform float factor;\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include ","float theta = sin( time + position.y ) / 2.0 * factor;\n float c = cos( theta );\n float s = sin( theta );\n mat3 m = mat3( c, 0, s, 0, 1, 0, -s, 0, c );\n vec3 transformed = vec3( position ) * m;\n vNormal = vNormal * m;")}get time(){return this._time.value}set time(e){this._time.value=e}get factor(){return this._factor.value}set factor(e){this._factor.value=e}}const hc=i.forwardRef((({speed:e=1,...t},r)=>{const[a]=i.useState((()=>new uc));return(0,o.useFrame)((t=>a&&(a.time=t.clock.getElapsedTime()*e))),i.createElement("primitive",n({dispose:void 0,object:a,ref:r,attach:"material"},t))}));class dc extends s.ShaderMaterial{constructor(e=new s.Vector2){super({uniforms:{inputBuffer:new s.Uniform(null),depthBuffer:new s.Uniform(null),resolution:new s.Uniform(new s.Vector2),texelSize:new s.Uniform(new s.Vector2),halfTexelSize:new s.Uniform(new s.Vector2),kernel:new s.Uniform(0),scale:new s.Uniform(1),cameraNear:new s.Uniform(0),cameraFar:new s.Uniform(1),minDepthThreshold:new s.Uniform(0),maxDepthThreshold:new s.Uniform(1),depthScale:new s.Uniform(0),depthToBlurRatioBias:new s.Uniform(.25)},fragmentShader:"#include \n #include \n uniform sampler2D inputBuffer;\n uniform sampler2D depthBuffer;\n uniform float cameraNear;\n uniform float cameraFar;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec2 vUv;\n varying vec2 vUv0;\n varying vec2 vUv1;\n varying vec2 vUv2;\n varying vec2 vUv3;\n\n void main() {\n float depthFactor = 0.0;\n \n #ifdef USE_DEPTH\n vec4 depth = texture2D(depthBuffer, vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0, min(1.0, depthFactor + 0.25));\n #endif\n \n vec4 sum = texture2D(inputBuffer, mix(vUv0, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv1, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv2, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv3, vUv, depthFactor));\n gl_FragColor = sum * 0.25 ;\n\n #include \n #include \n #include \n }",vertexShader:"uniform vec2 texelSize;\n uniform vec2 halfTexelSize;\n uniform float kernel;\n uniform float scale;\n varying vec2 vUv;\n varying vec2 vUv0;\n varying vec2 vUv1;\n varying vec2 vUv2;\n varying vec2 vUv3;\n\n void main() {\n vec2 uv = position.xy * 0.5 + 0.5;\n vUv = uv;\n\n vec2 dUv = (texelSize * vec2(kernel) + halfTexelSize) * scale;\n vUv0 = vec2(uv.x - dUv.x, uv.y + dUv.y);\n vUv1 = vec2(uv.x + dUv.x, uv.y + dUv.y);\n vUv2 = vec2(uv.x + dUv.x, uv.y - dUv.y);\n vUv3 = vec2(uv.x - dUv.x, uv.y - dUv.y);\n\n gl_Position = vec4(position.xy, 1.0, 1.0);\n }",blending:s.NoBlending,depthWrite:!1,depthTest:!1}),this.toneMapped=!1,this.setTexelSize(e.x,e.y),this.kernel=new Float32Array([0,1,2,2,3])}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t),this.uniforms.halfTexelSize.value.set(e,t).multiplyScalar(.5)}setResolution(e){this.uniforms.resolution.value.copy(e)}}class pc{constructor({gl:e,resolution:t,width:r=500,height:n=500,minDepthThreshold:i=0,maxDepthThreshold:a=1,depthScale:o=0,depthToBlurRatioBias:l=.25}){this.renderToScreen=!1,this.renderTargetA=new s.WebGLRenderTarget(t,t,{minFilter:s.LinearFilter,magFilter:s.LinearFilter,stencilBuffer:!1,depthBuffer:!1,encoding:e.outputEncoding}),this.renderTargetB=this.renderTargetA.clone(),this.convolutionMaterial=new dc,this.convolutionMaterial.setTexelSize(1/r,1/n),this.convolutionMaterial.setResolution(new s.Vector2(r,n)),this.scene=new s.Scene,this.camera=new s.Camera,this.convolutionMaterial.uniforms.minDepthThreshold.value=i,this.convolutionMaterial.uniforms.maxDepthThreshold.value=a,this.convolutionMaterial.uniforms.depthScale.value=o,this.convolutionMaterial.uniforms.depthToBlurRatioBias.value=l,this.convolutionMaterial.defines.USE_DEPTH=o>0;const c=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),u=new Float32Array([0,0,2,0,0,2]),h=new s.BufferGeometry;h.setAttribute("position",new s.BufferAttribute(c,3)),h.setAttribute("uv",new s.BufferAttribute(u,2)),this.screen=new s.Mesh(h,this.convolutionMaterial),this.screen.frustumCulled=!1,this.scene.add(this.screen)}render(e,t,r){const n=this.scene,i=this.camera,a=this.renderTargetA,s=this.renderTargetB;let o=this.convolutionMaterial,l=o.uniforms;l.depthBuffer.value=t.depthTexture;const c=o.kernel;let u,h,d,p=t;for(h=0,d=c.length-1;h","#include \n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader=`\n uniform sampler2D tDiffuse;\n uniform sampler2D tDiffuseBlur;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform bool hasBlur;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float mixContrast;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include ","#include \n \n float distortionFactor = 0.0;\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n vec4 new_vUv = my_vUv;\n new_vUv.x += distortionFactor;\n new_vUv.y += distortionFactor;\n\n vec4 base = texture2DProj(tDiffuse, new_vUv);\n vec4 blur = texture2DProj(tDiffuseBlur, new_vUv);\n \n vec4 merge = base;\n \n #ifdef USE_NORMALMAP\n vec2 normal_uv = vec2(0.0);\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n vec3 my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n vec3 coord = new_vUv.xyz / new_vUv.w;\n normal_uv = coord.xy + coord.z * my_normal.xz * 0.05;\n vec4 base_normal = texture2D(tDiffuse, normal_uv);\n vec4 blur_normal = texture2D(tDiffuseBlur, normal_uv);\n merge = base_normal;\n blur = blur_normal;\n #endif\n\n float depthFactor = 0.0001;\n float blurFactor = 0.0;\n\n #ifdef USE_DEPTH\n vec4 depth = texture2DProj(tDepth, new_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor));\n\n #ifdef USE_BLUR\n blur = blur * min(1.0, depthFactor + depthToBlurRatioBias);\n merge = merge * min(1.0, depthFactor + 0.5);\n #else\n merge = merge * depthFactor;\n #endif\n \n #endif\n\n float reflectorRoughnessFactor = roughness;\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n \n #ifdef USE_BLUR\n blurFactor = min(1.0, mixBlur * reflectorRoughnessFactor);\n merge = mix(merge, blur, blurFactor);\n #endif\n\n vec4 newMerge = vec4(0.0, 0.0, 0.0, 1.0);\n newMerge.r = (merge.r - 0.5) * mixContrast + 0.5;\n newMerge.g = (merge.g - 0.5) * mixContrast + 0.5;\n newMerge.b = (merge.b - 0.5) * mixContrast + 0.5;\n\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);\n ")}get tDiffuse(){return this._tDiffuse.value}set tDiffuse(e){this._tDiffuse.value=e}get tDepth(){return this._tDepth.value}set tDepth(e){this._tDepth.value=e}get distortionMap(){return this._distortionMap.value}set distortionMap(e){this._distortionMap.value=e}get tDiffuseBlur(){return this._tDiffuseBlur.value}set tDiffuseBlur(e){this._tDiffuseBlur.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get hasBlur(){return this._hasBlur.value}set hasBlur(e){this._hasBlur.value=e}get mirror(){return this._mirror.value}set mirror(e){this._mirror.value=e}get mixBlur(){return this._mixBlur.value}set mixBlur(e){this._mixBlur.value=e}get mixStrength(){return this._blurStrength.value}set mixStrength(e){this._blurStrength.value=e}get minDepthThreshold(){return this._minDepthThreshold.value}set minDepthThreshold(e){this._minDepthThreshold.value=e}get maxDepthThreshold(){return this._maxDepthThreshold.value}set maxDepthThreshold(e){this._maxDepthThreshold.value=e}get depthScale(){return this._depthScale.value}set depthScale(e){this._depthScale.value=e}get depthToBlurRatioBias(){return this._depthToBlurRatioBias.value}set depthToBlurRatioBias(e){this._depthToBlurRatioBias.value=e}get distortion(){return this._distortion.value}set distortion(e){this._distortion.value=e}get mixContrast(){return this._mixContrast.value}set mixContrast(e){this._mixContrast.value=e}}(0,o.extend)({MeshReflectorMaterialImpl:fc});const mc=i.forwardRef((({mixBlur:e=0,mixStrength:t=1,resolution:r=256,blur:a=[0,0],minDepthThreshold:l=.9,maxDepthThreshold:c=1,depthScale:u=0,depthToBlurRatioBias:h=.25,mirror:d=0,distortion:p=1,mixContrast:f=1,distortionMap:m,reflectorOffset:g=0,...v},A)=>{const y=(0,o.useThree)((({gl:e})=>e)),x=(0,o.useThree)((({camera:e})=>e)),b=(0,o.useThree)((({scene:e})=>e)),w=(a=Array.isArray(a)?a:[a,a])[0]+a[1]>0,_=i.useRef(null),[E]=i.useState((()=>new s.Plane)),[S]=i.useState((()=>new s.Vector3)),[T]=i.useState((()=>new s.Vector3)),[C]=i.useState((()=>new s.Vector3)),[I]=i.useState((()=>new s.Matrix4)),[B]=i.useState((()=>new s.Vector3(0,0,-1))),[R]=i.useState((()=>new s.Vector4)),[P]=i.useState((()=>new s.Vector3)),[F]=i.useState((()=>new s.Vector3)),[L]=i.useState((()=>new s.Vector4)),[D]=i.useState((()=>new s.Matrix4)),[U]=i.useState((()=>new s.PerspectiveCamera)),N=i.useCallback((()=>{var e;const t=_.current.parent||(null==(e=_.current)?void 0:e.__r3f.parent);if(!t)return;if(T.setFromMatrixPosition(t.matrixWorld),C.setFromMatrixPosition(x.matrixWorld),I.extractRotation(t.matrixWorld),S.set(0,0,1),S.applyMatrix4(I),T.addScaledVector(S,g),P.subVectors(T,C),P.dot(S)>0)return;P.reflect(S).negate(),P.add(T),I.extractRotation(x.matrixWorld),B.set(0,0,-1),B.applyMatrix4(I),B.add(C),F.subVectors(T,B),F.reflect(S).negate(),F.add(T),U.position.copy(P),U.up.set(0,1,0),U.up.applyMatrix4(I),U.up.reflect(S),U.lookAt(F),U.far=x.far,U.updateMatrixWorld(),U.projectionMatrix.copy(x.projectionMatrix),D.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),D.multiply(U.projectionMatrix),D.multiply(U.matrixWorldInverse),D.multiply(t.matrixWorld),E.setFromNormalAndCoplanarPoint(S,T),E.applyMatrix4(U.matrixWorldInverse),R.set(E.normal.x,E.normal.y,E.normal.z,E.constant);const r=U.projectionMatrix;L.x=(Math.sign(R.x)+r.elements[8])/r.elements[0],L.y=(Math.sign(R.y)+r.elements[9])/r.elements[5],L.z=-1,L.w=(1+r.elements[10])/r.elements[14],R.multiplyScalar(2/R.dot(L)),r.elements[2]=R.x,r.elements[6]=R.y,r.elements[10]=R.z+1,r.elements[14]=R.w}),[x,g]),[k,O,G,z]=i.useMemo((()=>{const n={minFilter:s.LinearFilter,magFilter:s.LinearFilter,encoding:y.outputEncoding,type:s.HalfFloatType},i=new s.WebGLRenderTarget(r,r,n);i.depthBuffer=!0,i.depthTexture=new s.DepthTexture(r,r),i.depthTexture.format=s.DepthFormat,i.depthTexture.type=s.UnsignedShortType;const o=new s.WebGLRenderTarget(r,r,n);return[i,o,new pc({gl:y,resolution:r,width:a[0],height:a[1],minDepthThreshold:l,maxDepthThreshold:c,depthScale:u,depthToBlurRatioBias:h}),{mirror:d,textureMatrix:D,mixBlur:e,tDiffuse:i.texture,tDepth:i.depthTexture,tDiffuseBlur:o.texture,hasBlur:w,mixStrength:t,minDepthThreshold:l,maxDepthThreshold:c,depthScale:u,depthToBlurRatioBias:h,transparent:!0,distortion:p,distortionMap:m,mixContrast:f,"defines-USE_BLUR":w?"":void 0,"defines-USE_DEPTH":u>0?"":void 0,"defines-USE_DISTORTION":m?"":void 0}]}),[y,a,D,r,d,w,e,t,l,c,u,h,p,m,f]);return(0,o.useFrame)((()=>{var e;const t=_.current.parent||(null==(e=_.current)?void 0:e.__r3f.parent);if(!t)return;t.visible=!1;const r=y.xr.enabled,n=y.shadowMap.autoUpdate;N(),y.xr.enabled=!1,y.shadowMap.autoUpdate=!1,y.setRenderTarget(k),y.state.buffers.depth.setMask(!0),y.autoClear||y.clear(),y.render(b,U),w&&G.render(y,k,O),y.xr.enabled=r,y.shadowMap.autoUpdate=n,t.visible=!0,y.setRenderTarget(null)})),i.createElement("meshReflectorMaterialImpl",n({attach:"material",key:"key"+z["defines-USE_BLUR"]+z["defines-USE_DEPTH"]+z["defines-USE_DISTORTION"],ref:M([_,A])},z,v))}));class gc extends s.PointsMaterial{constructor(e){super(e),this.onBeforeCompile=e=>{e.fragmentShader=e.fragmentShader.replace("#include ","\n #include \n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r); \n float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);\n gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );\n ")}}}const vc=i.forwardRef(((e,t)=>{const[r]=i.useState((()=>new gc(null)));return i.createElement("primitive",n({},e,{object:r,ref:t,attach:"material"}))}));let Ac=!1;const yc=e=>{if(!Ac){Ac=!0;let t=s.ShaderChunk.shadowmap_pars_fragment;t=t.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({frustum:e=3.75,size:t=.005,near:r=9.5,samples:n=17,rings:i=11}={})=>`#define LIGHT_WORLD_SIZE ${t}\n#define LIGHT_FRUSTUM_WIDTH ${e}\n#define LIGHT_SIZE_UV (LIGHT_WORLD_SIZE / LIGHT_FRUSTUM_WIDTH)\n#define NEAR_PLANE ${r}\n\n#define NUM_SAMPLES ${n}\n#define NUM_RINGS ${i}\n#define BLOCKER_SEARCH_NUM_SAMPLES NUM_SAMPLES\n#define PCF_NUM_SAMPLES NUM_SAMPLES\n\nvec2 poissonDisk[NUM_SAMPLES];\n\nvoid initPoissonSamples(const in vec2 randomSeed) {\n float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);\n float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);\n float angle = rand(randomSeed) * PI2;\n float radius = INV_NUM_SAMPLES;\n float radiusStep = radius;\n for (int i = 0; i < NUM_SAMPLES; i++) {\n poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);\n radius += radiusStep;\n angle += ANGLE_STEP;\n }\n}\n\nfloat penumbraSize(const in float zReceiver, const in float zBlocker) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\n\nfloat findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver) {\n float searchRadius = LIGHT_SIZE_UV * (zReceiver - NEAR_PLANE) / zReceiver;\n float blockerDepthSum = 0.0;\n int numBlockers = 0;\n for (int i = 0; i < BLOCKER_SEARCH_NUM_SAMPLES; i++) {\n float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));\n if (shadowMapDepth < zReceiver) {\n blockerDepthSum += shadowMapDepth;\n numBlockers++;\n }\n }\n if (numBlockers == 0) return -1.0;\n return blockerDepthSum / float(numBlockers);\n}\n\nfloat PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {\n float sum = 0.0;\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[ i ] * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[ i ].yx * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n return sum / (2.0 * float(PCF_NUM_SAMPLES));\n}\n\nfloat PCSS(sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n initPoissonSamples(uv);\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);\n if (avgBlockerDepth == -1.0) return 1.0;\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n float filterRadius = penumbraRatio * LIGHT_SIZE_UV * NEAR_PLANE / zReceiver;\n return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);\n}`)({...e})),t=t.replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),s.ShaderChunk.shadowmap_pars_fragment=t}};function xc(e){const t=e+"BufferGeometry";return i.forwardRef((({args:e,children:r,...a},s)=>i.createElement("mesh",n({ref:s},a),i.createElement(t,{attach:"geometry",args:e}),r)))}const bc=xc("box"),wc=xc("circle"),_c=xc("cone"),Ec=xc("cylinder"),Sc=xc("sphere"),Mc=xc("plane"),Tc=xc("tube"),Cc=xc("torus"),Ic=xc("torusKnot"),Bc=xc("tetrahedron"),Rc=xc("ring"),Pc=xc("polyhedron"),Fc=xc("icosahedron"),Lc=xc("octahedron"),Dc=xc("dodecahedron"),Uc=xc("extrude"),Nc=xc("lathe"),kc=1e-5;const Oc=i.forwardRef((function({args:[e=1,t=1,r=1]=[],radius:a=.05,steps:o=1,smoothness:l=4,children:c,...u},h){const d=i.useMemo((()=>function(e,t,r){const n=new s.Shape,i=r-kc;return n.absarc(kc,kc,kc,-Math.PI/2,-Math.PI,!0),n.absarc(kc,t-2*i,kc,Math.PI,Math.PI/2,!0),n.absarc(e-2*i,t-2*i,kc,Math.PI/2,0,!0),n.absarc(e-2*i,kc,kc,0,-Math.PI/2,!0),n}(e,t,a)),[e,t,a]),p=i.useMemo((()=>({depth:r-2*a,bevelEnabled:!0,bevelSegments:2*l,steps:o,bevelSize:a-kc,bevelThickness:a,curveSegments:l})),[r,a,l]),f=i.useRef();return i.useLayoutEffect((()=>{f.current&&f.current.center()}),[d,p]),i.createElement("mesh",n({ref:h},u),i.createElement("extrudeBufferGeometry",{attach:"geometry",ref:f,args:[d,p]}),c)}));function Gc(){const e=new s.BufferGeometry,t=new Float32Array([-1,-1,3,-1,-1,3]);return e.setAttribute("position",new s.BufferAttribute(t,2)),e}const zc=i.forwardRef((function({children:e,...t},r){const a=i.useMemo(Gc,[]);return i.createElement("mesh",n({ref:r,geometry:a,frustumCulled:!1},t),e)})),Vc=i.forwardRef((function({children:e,alignTop:t,...r},a){const o=i.useRef(null),l=i.useRef(null);return i.useLayoutEffect((()=>{o.current.position.set(0,0,0),o.current.updateWorldMatrix(!0,!0);const e=(new s.Box3).setFromObject(l.current),r=new s.Vector3,n=new s.Sphere,i=e.max.y-e.min.y;e.getCenter(r),e.getBoundingSphere(n),o.current.position.set(-r.x,-r.y+(t?i/2:0),-r.z)}),[e]),i.createElement("group",n({ref:a},r),i.createElement("group",{ref:o},i.createElement("group",{ref:l},e)))})),Hc=e=>e&&e.isOrthographicCamera,Qc=i.createContext(null);function jc({children:e,damping:t=6,fit:r,clip:n,observe:a,margin:l=1.2,eps:c=.01,onFit:u}){const h=i.useRef(null),{camera:d,invalidate:p,size:f,controls:m}=(0,o.useThree)(),g=i.useRef(u);function v(e,t){return Math.abs(e.x-t.x)({animating:!1,focus:new s.Vector3,camera:new s.Vector3,zoom:1}))),[x]=i.useState((()=>({focus:new s.Vector3,camera:new s.Vector3,zoom:1}))),[b]=i.useState((()=>new s.Box3)),w=i.useMemo((()=>{function e(){const e=b.getSize(new s.Vector3),t=b.getCenter(new s.Vector3),r=Math.max(e.x,e.y,e.z),n=Hc(d)?4*r:r/(2*Math.atan(Math.PI*d.fov/360)),i=Hc(d)?4*r:n/d.aspect,a=l*Math.max(n,i);return{box:b,size:e,center:t,distance:a}}return{getSize:e,refresh(t){if((r=t)&&r.isBox3)b.copy(t);else{const e=t||h.current;e.updateWorldMatrix(!0,!0),b.setFromObject(e)}var r;if(b.isEmpty()){const e=d.position.length()||10;b.setFromCenterAndSize(new s.Vector3,new s.Vector3(e,e,e))}if("OrthographicTrackballControls"===(null==m?void 0:m.constructor.name)){const{distance:t}=e(),r=d.position.clone().sub(m.target).normalize().multiplyScalar(t),n=m.target.clone().add(r);d.position.copy(n)}return this},clip(){const{distance:t}=e();return m&&(m.maxDistance=10*t),d.near=t/100,d.far=100*t,d.updateProjectionMatrix(),m&&m.update(),p(),this},fit(){y.camera.copy(d.position),m&&y.focus.copy(m.target);const{center:r,distance:n}=e(),i=r.clone().sub(d.position).normalize().multiplyScalar(n);if(x.camera.copy(r).sub(i),x.focus.copy(r),Hc(d)){y.zoom=d.zoom;let e=0,n=0;const i=[new s.Vector3(b.min.x,b.min.y,b.min.z),new s.Vector3(b.min.x,b.max.y,b.min.z),new s.Vector3(b.min.x,b.min.y,b.max.z),new s.Vector3(b.min.x,b.max.y,b.max.z),new s.Vector3(b.max.x,b.max.y,b.max.z),new s.Vector3(b.max.x,b.max.y,b.min.z),new s.Vector3(b.max.x,b.min.y,b.max.z),new s.Vector3(b.max.x,b.min.y,b.min.z)];r.applyMatrix4(d.matrixWorldInverse);for(const t of i)t.applyMatrix4(d.matrixWorldInverse),e=Math.max(e,Math.abs(t.y-r.y)),n=Math.max(n,Math.abs(t.x-r.x));e*=2,n*=2;const a=(d.top-d.bottom)/e,o=(d.right-d.left)/n;x.zoom=Math.min(a,o)/l,t||(d.zoom=x.zoom,d.updateProjectionMatrix())}return t?y.animating=!0:(d.position.copy(x.camera),d.lookAt(x.focus),m&&(m.target.copy(x.focus),m.update())),g.current&&g.current(this.getSize()),p(),this}}}),[b,d,m,l,t,p]);i.useLayoutEffect((()=>{if(m){const e=()=>y.animating=!1;return m.addEventListener("start",e),()=>m.removeEventListener("start",e)}}),[m]);const _=i.useRef(0);return i.useLayoutEffect((()=>{(a||0==_.current++)&&(w.refresh(),r&&w.fit(),n&&w.clip())}),[f,n,r,a]),(0,o.useFrame)(((e,r)=>{if(y.animating){if(A(y.focus,x.focus,t,r),A(y.camera,x.camera,t,r),y.zoom=s.MathUtils.damp(y.zoom,x.zoom,t,r),d.position.copy(y.camera),Hc(d)&&(d.zoom=y.zoom,d.updateProjectionMatrix()),m?(m.target.copy(y.focus),m.update()):d.lookAt(y.focus),p(),Hc(d)&&!(Math.abs(y.zoom-x.zoom){const p=(0,o.useThree)((e=>e.camera)),f=(0,o.useThree)((e=>e.controls)),m=i.useRef(e),g=i.useRef(p.rotation.clone()),[v]=i.useState((()=>new Xc.L)),[A]=i.useState((()=>new Xc.L)),[y]=i.useState((()=>new Xc.L)),x=()=>{(m.current<0||m.current>1)&&(m.current=m.current<0?0:1)};return i.useImperativeHandle(d,(()=>({getIntensity:()=>m.current,setIntensity:e=>{m.current=e,x()}})),[]),i.useEffect((()=>{const e=f||(null==h?void 0:h.current),t=()=>{g.current=p.rotation.clone()};return null==e||e.addEventListener("change",t),()=>{null==e||e.removeEventListener("change",t)}}),[h,f]),(0,o.useFrame)((({clock:e},i)=>{const o=Math.pow(m.current,2),h=n*o*v.noise(e.elapsedTime*l,1),d=a*o*A.noise(e.elapsedTime*c,1),f=s*o*y.noise(e.elapsedTime*u,1);p.rotation.set(g.current.x+d,g.current.y+h,g.current.z+f),t&&m.current>0&&(m.current-=r*i,x())})),null})),qc=i.forwardRef((({children:e,speed:t=1,rotationIntensity:r=1,floatIntensity:n=1,...a},s)=>{const l=i.useRef(null),c=i.useRef(1e4*Math.random());return(0,o.useFrame)((e=>{const i=c.current+e.clock.getElapsedTime();l.current.rotation.x=Math.cos(i/4*t)/8*r,l.current.rotation.y=Math.sin(i/4*t)/8*r,l.current.rotation.z=Math.sin(i/4*t)/20*r,l.current.position.y=Math.sin(i/4*t)/10*n})),i.createElement("group",a,i.createElement("group",{ref:M([l,s])},e))}));var Kc=r(8197);const Jc={sunset:"venice/venice_sunset_1k.hdr",dawn:"kiara/kiara_1_dawn_1k.hdr",night:"dikhololo/dikhololo_night_1k.hdr",warehouse:"empty-wharehouse/empty_warehouse_01_1k.hdr",forest:"forrest-slope/forest_slope_1k.hdr",apartment:"lebombo/lebombo_1k.hdr",studio:"studio-small-3/studio_small_03_1k.hdr",city:"potsdamer-platz/potsdamer_platz_1k.hdr",park:"rooitou/rooitou_park_1k.hdr",lobby:"st-fagans/st_fagans_interior_1k.hdr"},Zc=e=>{return(t=e).current&&t.current.isScene?e.current:e;var t};function $c(e){return e.map?i.createElement(eu,e):e.children?i.createElement(tu,e):i.createElement(ru,e)}function eu({scene:e,background:t=!1,map:r}){const n=(0,o.useThree)((e=>e.scene));return i.useLayoutEffect((()=>{if(r){const i=Zc(e||n),a=i.background,s=i.environment;return"only"!==t&&(i.environment=r),t&&(i.background=r),()=>{"only"!==t&&(i.environment=s),t&&(i.background=a)}}}),[e,r]),null}function tu({children:e,near:t=1,far:r=1e3,resolution:n=256,frames:a=1,background:l=!1,scene:c,files:u,path:h,preset:d,extensions:p}){const f=(0,o.useThree)((e=>e.gl)),m=(0,o.useThree)((e=>e.scene)),g=i.useRef(null),[v]=i.useState((()=>new s.Scene)),A=i.useMemo((()=>{const e=new s.WebGLCubeRenderTarget(n);return e.texture.type=s.HalfFloatType,e}),[n]);i.useLayoutEffect((()=>{1===a&&g.current.update(f,v);const e=Zc(c||m),t=e.background,r=e.environment;return"only"!==l&&(e.environment=A.texture),l&&(e.background=A.texture),()=>{"only"!==l&&(e.environment=r),l&&(e.background=t)}}),[e,c]);let y=1;return(0,o.useFrame)((()=>{(a===1/0||ye.scene)),u=Array.isArray(t),h=u?s.CubeTextureLoader:Kc.x,d=(0,o.useLoader)(h,u?[t]:t,(e=>{e.setPath(r),null==e.setDataType||e.setDataType(s.FloatType),l&&l(e)})),p=u?d[0]:d;return p.mapping=u?s.CubeReflectionMapping:s.EquirectangularReflectionMapping,i.useLayoutEffect((()=>{const t=Zc(a||c),r=t.background,n=t.environment;return"only"!==e&&(t.environment=p),e&&(t.background=p),()=>{"only"!==e&&(t.environment=n),e&&(t.background=r)}}),[p,e,a]),null}var nu=r(78466),iu=r(37312);const au=i.forwardRef((({scale:e,frames:t=1/0,opacity:r=1,width:a=1,height:l=1,blur:c=1,far:u=10,resolution:h=256,smooth:d=!0,color:p="#000000",...f},m)=>{const g=(0,o.useThree)((({scene:e})=>e)),v=(0,o.useThree)((({gl:e})=>e)),A=i.useRef(null);a*=Array.isArray(e)?e[0]:e||1,l*=Array.isArray(e)?e[1]:e||1;const[y,x,b,w,_,E,S]=i.useMemo((()=>{const e=new s.WebGLRenderTarget(h,h),t=new s.WebGLRenderTarget(h,h);t.texture.generateMipmaps=e.texture.generateMipmaps=!1;const r=new s.PlaneBufferGeometry(a,l).rotateX(Math.PI/2),n=new s.Mesh(r),i=new s.MeshDepthMaterial;i.depthTest=i.depthWrite=!1,i.onBeforeCompile=e=>{e.uniforms={...e.uniforms,ucolor:{value:new s.Color(p).convertSRGBToLinear()}},e.fragmentShader=e.fragmentShader.replace("void main() {","uniform vec3 ucolor;\n void main() {\n "),e.fragmentShader=e.fragmentShader.replace("vec4( vec3( 1.0 - fragCoordZ ), opacity );","vec4( ucolor, ( 1.0 - fragCoordZ ) * 1.0 );")};const o=new s.ShaderMaterial(nu.P),c=new s.ShaderMaterial(iu.Z);return c.depthTest=o.depthTest=!1,[e,r,i,n,o,c,t]}),[h,a,l,e]),M=i.useCallback((e=>{w.visible=!0,w.material=_,_.uniforms.tDiffuse.value=y.texture,_.uniforms.h.value=1*e/256,v.setRenderTarget(S),v.render(w,A.current),w.material=E,E.uniforms.tDiffuse.value=S.texture,E.uniforms.v.value=1*e/256,v.setRenderTarget(y),v.render(w,A.current),w.visible=!1}),[]);let T=0;return(0,o.useFrame)((()=>{if(A.current&&(t===1/0||Te.camera)),g=(0,o.useThree)((e=>e.controls)),v=i.useRef(null),A=i.useRef(null),[{radius:y,width:x,height:b},w]=i.useState({radius:0,width:0,height:0});return i.useLayoutEffect((()=>{v.current.position.set(0,0,0),v.current.updateWorldMatrix(!0,!0);const e=(new s.Box3).setFromObject(A.current),t=new s.Vector3,r=new s.Sphere,n=e.max.y-e.min.y,i=e.max.x-e.min.x;e.getCenter(t),e.getBoundingSphere(r),w({radius:r.radius,width:i,height:n}),v.current.position.set(-t.x,-t.y+n/2,-t.z)}),[e]),i.useLayoutEffect((()=>{if(a){const e=y/(b>x?1.5:2.5);m.position.set(0,.5*y,2.5*y),m.near=.1,m.far=Math.max(5e3,4*y),m.lookAt(0,e,0);const r=g||(null==t?void 0:t.current);r&&(r.target.set(0,e,0),r.update())}}),[g,y,b,x,a]),i.createElement("group",p,i.createElement("group",{ref:v},i.createElement("group",{ref:A},e)),d&&i.createElement(au,n({scale:2*y,far:y/2},d)),l&&i.createElement($c,{preset:l}),i.createElement("ambientLight",{intensity:c/3}),i.createElement("spotLight",{penumbra:1,position:[f.main[0]*y,f.main[1]*y,f.main[2]*y],intensity:2*c,castShadow:r,"shadow-bias":h}),i.createElement("pointLight",{position:[f.fill[0]*y,f.fill[1]*y,f.fill[2]*y],intensity:c}))}const lu=e=>0===e?0:Math.pow(2,10*e-10);function cu({children:e,floor:t=.25,segments:r=20,receiveShadow:n,...a}){const s=i.useRef(null);return i.useLayoutEffect((()=>{let e=0;const n=r/r/2,i=s.current.attributes.position;for(let a=0;a{const c=i.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const n=e.getContext("2d"),i=n.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return i.addColorStop(t,new s.Color(r).getStyle()),i.addColorStop(1,"rgba(0,0,0,0)"),n.fillStyle=i,n.fillRect(0,0,e.width,e.height),e}),[r,t]);return i.createElement("mesh",n({ref:l},o),i.createElement("planeBufferGeometry",{attach:"geometry",args:[1,1]}),i.createElement("meshBasicMaterial",{attach:"material",transparent:!0,opacity:a,fog:e},i.createElement("canvasTexture",{attach:"map",args:[c]})))}));(0,o.extend)({MeshReflectorMaterial:fc});const hu=i.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:r=256,blur:a=[0,0],args:l=[1,1],minDepthThreshold:c=.9,maxDepthThreshold:u=1,depthScale:h=0,depthToBlurRatioBias:d=.25,mirror:p=0,children:f,debug:m=0,distortion:g=1,mixContrast:v=1,distortionMap:A,...y},x)=>{i.useEffect((()=>{console.warn("Reflector has been deprecated and will be removed next major. Replace it with !")}),[]);const b=(0,o.useThree)((({gl:e})=>e)),w=(0,o.useThree)((({camera:e})=>e)),_=(0,o.useThree)((({scene:e})=>e)),E=(a=Array.isArray(a)?a:[a,a])[0]+a[1]>0,S=i.useRef(null),[T]=i.useState((()=>new s.Plane)),[C]=i.useState((()=>new s.Vector3)),[I]=i.useState((()=>new s.Vector3)),[B]=i.useState((()=>new s.Vector3)),[R]=i.useState((()=>new s.Matrix4)),[P]=i.useState((()=>new s.Vector3(0,0,-1))),[F]=i.useState((()=>new s.Vector4)),[L]=i.useState((()=>new s.Vector3)),[D]=i.useState((()=>new s.Vector3)),[U]=i.useState((()=>new s.Vector4)),[N]=i.useState((()=>new s.Matrix4)),[k]=i.useState((()=>new s.PerspectiveCamera)),O=i.useCallback((()=>{if(I.setFromMatrixPosition(S.current.matrixWorld),B.setFromMatrixPosition(w.matrixWorld),R.extractRotation(S.current.matrixWorld),C.set(0,0,1),C.applyMatrix4(R),L.subVectors(I,B),L.dot(C)>0)return;L.reflect(C).negate(),L.add(I),R.extractRotation(w.matrixWorld),P.set(0,0,-1),P.applyMatrix4(R),P.add(B),D.subVectors(I,P),D.reflect(C).negate(),D.add(I),k.position.copy(L),k.up.set(0,1,0),k.up.applyMatrix4(R),k.up.reflect(C),k.lookAt(D),k.far=w.far,k.updateMatrixWorld(),k.projectionMatrix.copy(w.projectionMatrix),N.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),N.multiply(k.projectionMatrix),N.multiply(k.matrixWorldInverse),N.multiply(S.current.matrixWorld),T.setFromNormalAndCoplanarPoint(C,I),T.applyMatrix4(k.matrixWorldInverse),F.set(T.normal.x,T.normal.y,T.normal.z,T.constant);const e=k.projectionMatrix;U.x=(Math.sign(F.x)+e.elements[8])/e.elements[0],U.y=(Math.sign(F.y)+e.elements[9])/e.elements[5],U.z=-1,U.w=(1+e.elements[10])/e.elements[14],F.multiplyScalar(2/F.dot(U)),e.elements[2]=F.x,e.elements[6]=F.y,e.elements[10]=F.z+1,e.elements[14]=F.w}),[]),[G,z,V,H]=i.useMemo((()=>{const n={minFilter:s.LinearFilter,magFilter:s.LinearFilter,encoding:b.outputEncoding},i=new s.WebGLRenderTarget(r,r,n);i.depthBuffer=!0,i.depthTexture=new s.DepthTexture(r,r),i.depthTexture.format=s.DepthFormat,i.depthTexture.type=s.UnsignedShortType;const o=new s.WebGLRenderTarget(r,r,n);return[i,o,new pc({gl:b,resolution:r,width:a[0],height:a[1],minDepthThreshold:c,maxDepthThreshold:u,depthScale:h,depthToBlurRatioBias:d}),{mirror:p,textureMatrix:N,mixBlur:e,tDiffuse:i.texture,tDepth:i.depthTexture,tDiffuseBlur:o.texture,hasBlur:E,mixStrength:t,minDepthThreshold:c,maxDepthThreshold:u,depthScale:h,depthToBlurRatioBias:d,transparent:!0,debug:m,distortion:g,distortionMap:A,mixContrast:v,"defines-USE_BLUR":E?"":void 0,"defines-USE_DEPTH":h>0?"":void 0,"defines-USE_DISTORTION":A?"":void 0}]}),[b,a,N,r,p,E,e,t,c,u,h,d,m,g,A,v]);return(0,o.useFrame)((()=>{if(null==S||!S.current)return;S.current.visible=!1;const e=b.xr.enabled,t=b.shadowMap.autoUpdate;O(),b.xr.enabled=!1,b.shadowMap.autoUpdate=!1,b.setRenderTarget(G),b.state.buffers.depth.setMask(!0),b.autoClear||b.clear(),b.render(_,k),E&&V.render(b,G,z),b.xr.enabled=e,b.shadowMap.autoUpdate=t,S.current.visible=!0,b.setRenderTarget(null)})),i.createElement("mesh",n({ref:M([S,x])},y),i.createElement("planeBufferGeometry",{args:l}),f?f("meshReflectorMaterial",H):i.createElement("meshReflectorMaterial",H))}));class du extends s.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},opacity:{value:1},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new s.Vector3(0,0,0)},lightColor:{value:new s.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new s.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation; \n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include \n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n uniform float opacity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity * opacity);\n\n #include \n\t #include \n }"})}}const pu=new s.Vector3,fu=i.forwardRef((({opacity:e=1,radiusTop:t,radiusBottom:r,depthBuffer:a,color:l="white",distance:c=5,angle:u=.15,attenuation:h=5,anglePower:d=5,...p},f)=>{const m=i.useRef(null),g=(0,o.useThree)((e=>e.size)),v=(0,o.useThree)((e=>e.camera)),A=(0,o.useThree)((e=>e.viewport.dpr)),[y]=i.useState((()=>new du));t=void 0===t?.1:t,r=void 0===r?7*u:r,(0,o.useFrame)((()=>{y.uniforms.spotPosition.value.copy(m.current.getWorldPosition(pu)),m.current.lookAt(m.current.parent.target.getWorldPosition(pu))}));const x=i.useMemo((()=>{const e=new s.CylinderGeometry(t,r,c,128,64,!0);return e.applyMatrix4((new s.Matrix4).makeTranslation(0,-c/2,0)),e.applyMatrix4((new s.Matrix4).makeRotationX(-Math.PI/2)),e}),[u,c,t,r]);return i.createElement("spotLight",n({ref:f,angle:u,color:l,distance:c},p),i.createElement("mesh",{ref:m,geometry:x,raycast:()=>null},i.createElement("primitive",{object:y,attach:"material","uniforms-opacity-value":e,"uniforms-lightColor-value":l,"uniforms-attenuation-value":h,"uniforms-anglePower-value":d,"uniforms-depth-value":a,"uniforms-cameraNear-value":v.near,"uniforms-cameraFar-value":v.far,"uniforms-resolution-value":a?[g.width*A,g.height*A]:[0,0]})))})),mu=i.forwardRef((({args:e,map:t,toneMapped:r=!1,color:a="white",form:l="rect",intensity:c=1,scale:u=1,target:h,children:d,...p},f)=>{const m=i.useRef(null);return i.useLayoutEffect((()=>{d||p.material||((0,o.applyProps)(m.current.material,{color:a}),m.current.material.color.multiplyScalar(c))}),[a,c,d,p.material]),i.useLayoutEffect((()=>{h&&m.current.lookAt(Array.isArray(h)?new s.Vector3(...h):h)}),[h]),u=Array.isArray(u)&&2===u.length?[u[0],u[1],1]:u,i.createElement("mesh",n({ref:M([m,f]),scale:u},p),"circle"===l?i.createElement("ringGeometry",{args:[0,1,64]}):"ring"===l?i.createElement("ringGeometry",{args:[.5,1,64]}):"rect"===l?i.createElement("planeGeometry",null):i.createElement(l,{args:e}),d||(p.material?null:i.createElement("meshBasicMaterial",{toneMapped:r,map:t,side:s.DoubleSide})))}));var gu=r(48756);function vu(e,t,r=new s.Vector3){const n=Math.PI*(e-.5),i=2*Math.PI*(t-.5);return r.x=Math.cos(i),r.y=Math.sin(n),r.z=Math.sin(i),r}const Au=i.forwardRef((({inclination:e=.6,azimuth:t=.1,distance:r=1e3,mieCoefficient:a=.005,mieDirectionalG:o=.8,rayleigh:l=.5,turbidity:c=10,sunPosition:u=vu(e,t),...h},d)=>{const p=i.useMemo((()=>(new s.Vector3).setScalar(r)),[r]),[f]=i.useState((()=>new gu.q));return i.createElement("primitive",n({dispose:void 0,object:f,ref:d,"material-uniforms-mieCoefficient-value":a,"material-uniforms-mieDirectionalG-value":o,"material-uniforms-rayleigh-value":l,"material-uniforms-sunPosition-value":u,"material-uniforms-turbidity-value":c,scale:p},h))}));class yu extends s.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(mvPosition.x + 2.0 * time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:"\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n\n #include \n\t #include \n }"})}}const xu=e=>(new s.Vector3).setFromSpherical(new s.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),bu=i.forwardRef((({radius:e=100,depth:t=50,count:r=5e3,saturation:n=0,factor:a=4,fade:l=!1},c)=>{const u=i.useRef(),[h,d,p]=i.useMemo((()=>{const i=[],o=[],l=Array.from({length:r},(()=>(.5+.5*Math.random())*a)),c=new s.Color;let u=e+t;const h=t/r;for(let e=0;eu.current&&(u.current.uniforms.time.value=e.clock.getElapsedTime())));const[f]=i.useState((()=>new yu));return i.createElement("points",{ref:c},i.createElement("bufferGeometry",{attach:"geometry"},i.createElement("bufferAttribute",{attachObject:["attributes","position"],args:[h,3]}),i.createElement("bufferAttribute",{attachObject:["attributes","color"],args:[d,3]}),i.createElement("bufferAttribute",{attachObject:["attributes","size"],args:[p,1]})),i.createElement("primitive",{dispose:void 0,ref:u,object:f,attach:"material",blending:s.AdditiveBlending,"uniforms-fade-value":l,transparent:!0,vertexColors:!0}))}));function wu({opacity:e=.5,speed:t=.4,width:r=10,depth:n=1.5,segments:a=20,texture:s="https://rawcdn.githack.com/pmndrs/drei-assets/9225a9f1fbd449d9411125c2f419b843d0308c9f/cloud.png",color:l="#ffffff",depthTest:c=!0,...u}){const h=i.useRef(),d=Oa(s),p=i.useMemo((()=>[...new Array(a)].map(((e,n)=>({x:r/2-Math.random()*r,y:r/2-Math.random()*r,scale:.4+Math.sin((n+1)/a*Math.PI)*(10*(.2+Math.random())),density:Math.max(.2,Math.random()),rotation:Math.max(.002,.005*Math.random())*t})))),[r,a,t]);return(0,o.useFrame)((e=>{var t;return null==(t=h.current)?void 0:t.children.forEach(((t,r)=>{t.children[0].rotation.z+=p[r].rotation,t.children[0].scale.setScalar(p[r].scale+(1+Math.sin(e.clock.getElapsedTime()/10))/2*r/10)}))})),i.createElement("group",u,i.createElement("group",{position:[0,0,a/2*n],ref:h},p.map((({x:t,y:r,scale:a,density:s},o)=>i.createElement(yi,{key:o,position:[t,r,-o*n]},i.createElement(Mc,{scale:a,rotation:[0,0,0]},i.createElement("meshStandardMaterial",{map:d,transparent:!0,opacity:a/6*s*e,depthTest:c,color:l})))))))}function _u(e=0,t=1024){const r=Ca((()=>fetch("https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/matcaps.json").then((e=>e.json()))),["matcapList"]),n=r[0],a=i.useMemo((()=>Object.keys(r).length),[]),s=`${i.useMemo((()=>"string"==typeof e?e:"number"==typeof e?r[e]:null),[e])||n}${function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(t)}.png`,o=`https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/${t}/${s}`;return[Oa(o),o,a]}function Eu(e=0,t={}){const{repeat:r=[1,1],anisotropy:n=1,offset:a=[0,0]}=t,o=Ca((()=>fetch("https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/normals/normals.json").then((e=>e.json()))),["normalsList"]),l=i.useMemo((()=>Object.keys(o).length),[]),c=o[0],u=`https://rawcdn.githack.com/pmndrs/drei-assets/7a3104997e1576f83472829815b00880d88b32fb/normals/${o[e]||c}`,h=Oa(u);return i.useLayoutEffect((()=>{h&&(h.wrapS=h.wrapT=s.RepeatWrapping,h.repeat=new s.Vector2(r[0],r[1]),h.offset=new s.Vector2(a[0],a[1]),h.anisotropy=n)}),[h,n,r,a]),[h,u,l]}const Su=new s.Matrix4,Mu=new s.Matrix4,Tu=[],Cu=new s.Mesh;class Iu extends s.Group{constructor(){super(),this.color=new s.Color("white"),this.instance={current:void 0},this.instanceKey={current:void 0}}get geometry(){var e;return null==(e=this.instance.current)?void 0:e.geometry}raycast(e,t){const r=this.instance.current;if(!r)return;if(!r.geometry||!r.material)return;Cu.geometry=r.geometry;const n=r.matrixWorld;let i=r.userData.instances.indexOf(this.instanceKey);if(!(-1===i||i>r.count)){r.getMatrixAt(i,Su),Mu.multiplyMatrices(n,Su),Cu.matrixWorld=Mu,Cu.raycast(e,Tu);for(let e=0,r=Tu.length;e{const c=i.useRef(null),[u,h]=i.useState([]),[[d,p,f]]=i.useState((()=>[new Float32Array(3*r),Float32Array.from({length:3*r},(()=>1)),Float32Array.from({length:r},(()=>1))]));i.useLayoutEffect((()=>{c.current.geometry.drawRange.count=Math.min(r,void 0!==t?t:r,u.length)}),[u,t]),i.useEffect((()=>{c.current.geometry.attributes.position.needsUpdate=!0})),(0,o.useFrame)((()=>{for(c.current.updateMatrix(),c.current.updateMatrixWorld(),Fu.copy(c.current.matrixWorld).invert(),Bu=0;Bu{const e={};for(Bu=0;Bu({...e,[t]:e=>{var r,n,i;const a=null==(r=u[e.index])?void 0:r.current;return null==a||null==(n=a.__r3f)||null==(i=n.handlers)?void 0:i[t]({...e,object:a})}})),{})}),[e,u]),g=i.useMemo((()=>({subscribe:e=>(h((t=>[...t,e])),()=>h((t=>t.filter((t=>t.current!==e.current)))))})),[]);return i.createElement("points",n({matrixAutoUpdate:!1,ref:M([l,c])},m,a),i.createElement("bufferGeometry",null,i.createElement("bufferAttribute",{attachObject:["attributes","position"],count:d.length/3,array:d,itemSize:3,usage:s.DynamicDrawUsage}),i.createElement("bufferAttribute",{attachObject:["attributes","color"],count:p.length/3,array:p,itemSize:3,usage:s.DynamicDrawUsage}),i.createElement("bufferAttribute",{attachObject:["attributes","size"],count:f.length,array:f,itemSize:1,usage:s.DynamicDrawUsage})),i.createElement(Pu.Provider,{value:g},e))})),Uu=i.forwardRef((({children:e,...t},r)=>{i.useMemo((()=>(0,o.extend)({Position:Iu})),[]);const a=i.useRef(),{subscribe:s}=i.useContext(Pu);return i.useLayoutEffect((()=>s(a)),[]),i.createElement("position",n({ref:M([r,a])},t),e)})),Nu=i.forwardRef((({children:e,positions:t,colors:r,sizes:a,stride:l=3,...c},u)=>{const h=i.useRef(null);return(0,o.useFrame)((()=>{const e=h.current.geometry.attributes;e.position.needsUpdate=!0,r&&(e.color.needsUpdate=!0),a&&(e.size.needsUpdate=!0)})),i.createElement("points",n({ref:M([u,h])},c),i.createElement("bufferGeometry",null,i.createElement("bufferAttribute",{attachObject:["attributes","position"],count:t.length/l,array:t,itemSize:l,usage:s.DynamicDrawUsage}),r&&i.createElement("bufferAttribute",{attachObject:["attributes","color"],count:r.length/l,array:r,itemSize:3,usage:s.DynamicDrawUsage}),a&&i.createElement("bufferAttribute",{attachObject:["attributes","size"],count:a.length/l,array:a,itemSize:1,usage:s.DynamicDrawUsage})),e)})),ku=i.forwardRef(((e,t)=>e.positions instanceof Float32Array?i.createElement(Nu,n({},e,{ref:t})):i.createElement(Du,n({},e,{ref:t}))));var Ou=r(45697),Gu=r.n(Ou);function zu(e){return Vu(e.children,e.components)}function Vu(e,t,r){if(r=r||[],!t[0])return e(r);function n(n){return Vu(e,t.slice(1),r.concat([n]))}return"function"==typeof t[0]?t[0]({results:r,render:n}):(0,i.cloneElement)(t[0],{children:n})}let Hu,Qu;zu.propTypes={children:Gu().func.isRequired,components:Gu().arrayOf(Gu().oneOfType([Gu().element,Gu().func])).isRequired};const ju=i.createContext(null),Wu=new s.Matrix4,Xu=new s.Matrix4,Yu=new s.Matrix4;new s.Color;const qu=new s.Vector3,Ku=new s.Quaternion,Ju=new s.Vector3,Zu=i.forwardRef((({context:e,children:t,...r},a)=>{i.useMemo((()=>(0,o.extend)({Position:Iu})),[]);const s=i.useRef(),{subscribe:l,getParent:c}=i.useContext(e||ju);return i.useLayoutEffect((()=>l(s)),[]),i.createElement("position",n({instance:c(),instanceKey:s,ref:M([a,s])},r),t)})),$u=i.forwardRef((({children:e,range:t,limit:r=1e3,frames:a=1/0,...l},c)=>{const[{context:u,instance:h}]=i.useState((()=>{const e=i.createContext(null);return{context:e,instance:i.forwardRef(((t,r)=>i.createElement(Zu,n({context:e},t,{ref:r}))))}})),d=i.useRef(null),[p,f]=i.useState([]),[[m,g]]=i.useState((()=>{const e=new Float32Array(16*r);for(Hu=0;Hu1)))]}));i.useLayoutEffect((()=>{d.current.count=d.current.instanceMatrix.updateRange.count=d.current.instanceColor.updateRange.count=Math.min(r,void 0!==t?t:r,p.length)}),[p,t]),i.useEffect((()=>{d.current.instanceMatrix.needsUpdate=!0}));let v=0;(0,o.useFrame)((()=>{if(a===1/0||v({getParent:()=>d,subscribe:e=>(f((t=>[...t,e])),()=>f((t=>t.filter((t=>t.current!==e.current)))))})),[]);return i.createElement("instancedMesh",n({userData:{instances:p},matrixAutoUpdate:!1,ref:M([c,d]),args:[null,null,0],raycast:()=>null},l),i.createElement("instancedBufferAttribute",{attach:"instanceMatrix",count:m.length/16,array:m,itemSize:16,usage:s.DynamicDrawUsage}),i.createElement("instancedBufferAttribute",{attach:"instanceColor",count:g.length/3,array:g,itemSize:3,usage:s.DynamicDrawUsage}),"function"==typeof e?i.createElement(u.Provider,{value:A},e(h)):i.createElement(ju.Provider,{value:A},e))}));function eh({meshes:e,children:t,...r}){const a=Array.isArray(e);if(!a)for(const n of Object.keys(e))e[n].isMesh||delete e[n];return i.createElement(zu,{components:(a?e:Object.values(e)).map((({geometry:e,material:t})=>i.createElement($u,n({key:e.uuid,geometry:e,material:t},r))))},(r=>a?t(...r):t(Object.keys(e).filter((t=>e[t].isMesh)).reduce(((e,t,n)=>({...e,[t]:r[n]})),{}))))}var th=r(3415);const rh=i.createContext(null),nh=e=>e instanceof s.Vector3?e.toArray():e,ih=i.forwardRef(((e,t)=>{const{limit:r=1e3,lineWidth:a=1,children:l,...c}=e,[u,h]=i.useState([]),[d]=i.useState((()=>new xi.w)),[p]=i.useState((()=>new bi.Y)),[f]=i.useState((()=>new th.z)),[m]=i.useState((()=>new s.Vector2(512,512))),[g]=i.useState((()=>Array(6*r).fill(0))),[v]=i.useState((()=>Array(6*r).fill(0))),A=i.useMemo((()=>({subscribe:e=>(h((t=>[...t,e])),()=>h((t=>t.filter((t=>t.current!==e.current)))))})),[]);return(0,o.useFrame)((()=>{for(let i=0;i{const r=i.useContext(rh);if(!r)throw"Segment must used inside Segments component.";const a=i.useRef();return i.useMemo((()=>(0,o.extend)({SegmentObject:ah})),[]),i.useLayoutEffect((()=>r.subscribe(a)),[]),i.createElement("segmentObject",n({ref:M([a,t])},e))})),oh=i.forwardRef((({children:e,distances:t,...r},a)=>{const s=i.useRef(null);return i.useLayoutEffect((()=>{const{current:e}=s;e.levels.length=0,e.children.forEach(((r,n)=>e.levels.push({object:r,distance:t[n]})))})),(0,o.useFrame)((e=>{var t;return null==(t=s.current)?void 0:t.update(e.camera)})),i.createElement("lOD",n({ref:M([s,a])},r),e)}));function lh({all:e,scene:t,camera:r}){const n=(0,o.useThree)((({gl:e})=>e)),a=(0,o.useThree)((({camera:e})=>e)),l=(0,o.useThree)((({scene:e})=>e));return i.useLayoutEffect((()=>{const i=[];e&&(t||l).traverse((e=>{!1===e.visible&&(i.push(e),e.visible=!0)})),n.compile(t||l,r||a);const o=new s.WebGLCubeRenderTarget(128);new s.CubeCamera(.01,1e5,o).update(n,t||l),o.dispose(),i.forEach((e=>e.visible=!1))}),[]),null}function ch(){const e=(0,o.useThree)((e=>e.gl));return(0,i.useEffect)((()=>(e.shadowMap.autoUpdate=!1,e.shadowMap.needsUpdate=!0,()=>{e.shadowMap.autoUpdate=e.shadowMap.needsUpdate=!0})),[e.shadowMap]),null}const uh=new s.Matrix4,hh=new s.Ray,dh=new s.Sphere,ph=new s.Vector3;function fh(e,t){const r=this.geometry,n=this.material,i=this.matrixWorld;void 0!==n&&(null===r.boundingSphere&&r.computeBoundingSphere(),dh.copy(r.boundingSphere),dh.applyMatrix4(i),!1!==e.ray.intersectsSphere(dh)&&(uh.copy(i).invert(),hh.copy(e.ray).applyMatrix4(uh),null!==r.boundingBox&&null===hh.intersectBox(r.boundingBox,ph)||t.push({distance:ph.distanceTo(e.ray.origin),point:ph.clone(),object:this})))}function mh({pixelated:e}){const t=(0,o.useThree)((e=>e.gl)),r=(0,o.useThree)((e=>e.internal.active)),n=(0,o.useThree)((e=>e.performance.current)),a=(0,o.useThree)((e=>e.viewport.initialDpr)),s=(0,o.useThree)((e=>e.setDpr));return i.useEffect((()=>{const n=t.domElement;return()=>{r&&s(a),e&&n&&(n.style.imageRendering="auto")}}),[]),i.useEffect((()=>{s(n*a),e&&t.domElement&&(t.domElement.style.imageRendering=1===n?"auto":"pixelated")}),[n]),null}function gh(){const e=(0,o.useThree)((e=>e.get)),t=(0,o.useThree)((e=>e.performance.current));return i.useEffect((()=>{const t=e().raycaster.enabled;return()=>{e().raycaster.enabled=t}}),[]),i.useEffect((()=>{e().raycaster.enabled=1===t}),[t]),null}},64232:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Canvas:()=>K,ReactThreeFiber:()=>w,_roots:()=>ne,act:()=>pe,addAfterEffect:()=>V,addEffect:()=>z,addTail:()=>H,advance:()=>se,applyProps:()=>le,context:()=>D,createPortal:()=>me,dispose:()=>de,events:()=>W,extend:()=>P,invalidate:()=>ae,reconciler:()=>oe,render:()=>ce,unmountComponentAtNode:()=>he,useFrame:()=>Z,useGraph:()=>ee,useLoader:()=>re,useThree:()=>J});var n=r(99477),i=r(67294),a=r(14671),s=r(60374),o=r(76525),l=r.n(o),c=r(63840),u=r(64063),h=r.n(u);const d=[];function p(e,t,r,n=0,i=!1){for(const s of t)if(h()(r,s.args)){if(i)return;if(s.error)throw s.error;if(s.response)return s.response;throw s.promise}const a={args:r,promise:e(...r).then((e=>a.response=null==e||e)).catch((e=>a.error=null!=e?e:"unknown error")).then((()=>{n>0&&setTimeout((()=>{const e=t.indexOf(a);-1!==e&&t.splice(e,1)}),n)}))};if(t.push(a),!i)throw a.promise}function f(e,...t){if(void 0===t||0===t.length)e.splice(0,e.length);else{const r=e.find((e=>h()(t,e.args)));if(r){const t=e.indexOf(r);-1!==t&&e.splice(t,1)}}}function m(e,...t){return p(e,d,t,m.lifespan)}m.lifespan=0,m.clear=(...e)=>f(d,...e),m.preload=(e,...t)=>{p(e,d,t,m.lifespan,!0)},m.peek=(...e)=>{var t;return null==(t=d.find((t=>h()(e,t.args))))?void 0:t.response};var g=r(20296),v=r.n(g);function A(e){let{debounce:t,scroll:r,polyfill:n,offsetSize:a}=void 0===e?{debounce:0,scroll:!1,offsetSize:!1}:e;const s=n||("undefined"==typeof window?class{}:window.ResizeObserver);if(!s)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[o,l]=(0,i.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),c=(0,i.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),u=t?"number"==typeof t?t:t.scroll:null,h=t?"number"==typeof t?t:t.resize:null,d=(0,i.useRef)(!1);(0,i.useEffect)((()=>(d.current=!0,()=>{d.current=!1})));const[p,f,m]=(0,i.useMemo)((()=>{const e=()=>{if(!c.current.element)return;const{left:e,top:t,width:r,height:n,bottom:i,right:s,x:o,y:u}=c.current.element.getBoundingClientRect(),h={left:e,top:t,width:r,height:n,bottom:i,right:s,x:o,y:u};c.current.element instanceof HTMLElement&&a&&(h.height=c.current.element.offsetHeight,h.width=c.current.element.offsetWidth),Object.freeze(h),d.current&&!b(c.current.lastBounds,h)&&l(c.current.lastBounds=h)};return[e,h?v()(e,h):e,u?v()(e,u):e]}),[l,a,u,h]);function g(){c.current.scrollContainers&&(c.current.scrollContainers.forEach((e=>e.removeEventListener("scroll",m,!0))),c.current.scrollContainers=null),c.current.resizeObserver&&(c.current.resizeObserver.disconnect(),c.current.resizeObserver=null)}function A(){c.current.element&&(c.current.resizeObserver=new s(m),c.current.resizeObserver.observe(c.current.element),r&&c.current.scrollContainers&&c.current.scrollContainers.forEach((e=>e.addEventListener("scroll",m,{capture:!0,passive:!0}))))}var x,w,_;return x=m,w=Boolean(r),(0,i.useEffect)((()=>{if(w){const e=x;return window.addEventListener("scroll",e,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",e,!0)}}}),[x,w]),_=f,(0,i.useEffect)((()=>{const e=_;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[_]),(0,i.useEffect)((()=>{g(),A()}),[r,m,f]),(0,i.useEffect)((()=>g),[]),[e=>{e&&e!==c.current.element&&(g(),c.current.element=e,c.current.scrollContainers=y(e),A())},o,p]}function y(e){const t=[];if(!e||e===document.body)return t;const{overflow:r,overflowX:n,overflowY:i}=window.getComputedStyle(e);return[r,n,i].some((e=>"auto"===e||"scroll"===e))&&t.push(e),[...t,...y(e.parentElement)]}const x=["x","y","top","bottom","left","right","width","height"],b=(e,t)=>x.every((r=>e[r]===t[r]));var w=Object.freeze({__proto__:null});const _={obj:e=>e===Object(e)&&!_.arr(e)&&"function"!=typeof e,fun:e=>"function"==typeof e,str:e=>"string"==typeof e,num:e=>"number"==typeof e,und:e=>void 0===e,arr:e=>Array.isArray(e),equ(e,t){if(typeof e!=typeof t||!!e!=!!t)return!1;if(_.str(e)||_.num(e)||_.obj(e))return e===t;if(_.arr(e)&&e==t)return!0;let r;for(r in e)if(!(r in t))return!1;for(r in t)if(e[r]!==t[r])return!1;return!_.und(r)||e===t}};function E(e){return(e.eventObject||e.object).uuid+"/"+e.index}function S(e){const t=new n.Vector3;function r(t){const{internal:r}=e.getState(),n=t.offsetX-r.initialClick[0],i=t.offsetY-r.initialClick[1];return Math.round(Math.sqrt(n*n+i*i))}function i(e){return e.filter((e=>["Move","Over","Enter","Out","Leave"].some((t=>{var r;return null==(r=e.__r3f.handlers)?void 0:r["onPointer"+t]}))))}function a(t){const{internal:r}=e.getState();Array.from(r.hovered.values()).forEach((e=>{if(!t.length||!t.find((t=>t.object===e.object&&t.index===e.index))){const n=e.eventObject.__r3f.handlers;if(r.hovered.delete(E(e)),n){const r={...e,intersections:t||[]};null==n.onPointerOut||n.onPointerOut(r),null==n.onPointerLeave||n.onPointerLeave(r)}}}))}function s(e,t){t.forEach((t=>{var r;return null==(r=t.__r3f.handlers)||null==r.onPointerMissed?void 0:r.onPointerMissed(e)}))}return{handlePointer:n=>{switch(n){case"onPointerLeave":case"onPointerCancel":return()=>a([]);case"onLostPointerCapture":return t=>{"pointerId"in t&&e.getState().internal.capturedMap.delete(t.pointerId),a([])}}return o=>{const{onPointerMissed:l,internal:c}=e.getState();!function(t){var r;const n=e.getState(),{raycaster:i,mouse:a,camera:s,size:o}=n,{offsetX:l,offsetY:c}=null!=(r=null==i.computeOffsets?void 0:i.computeOffsets(t,n))?r:t,{width:u,height:h}=o;a.set(l/u*2-1,-c/h*2+1),i.setFromCamera(a,s)}(o);const u="onPointerMove"===n,h=function(t,r){const{internal:n}=e.getState();return"pointerId"in r&&n.capturedMap.has(r.pointerId)&&t.push(...n.capturedMap.get(r.pointerId).values()),t}(function(t){const r=e.getState(),{raycaster:n,internal:i}=r;if(!n.enabled)return[];const a=new Set,s=[],o=t?t(i.interaction):i.interaction;let l=n.intersectObjects(o,!0).filter((e=>{const t=E(e);return!a.has(t)&&(a.add(t),!0)}));n.filter&&(l=n.filter(l,r));for(const e of l){let t=e.object;for(;t;){var c;(null==(c=t.__r3f)?void 0:c.handlers)&&s.push({...e,eventObject:t}),t=t.parent}}return s}(u?i:void 0),o);u&&a(h),function(n,i,s){const{raycaster:o,mouse:l,camera:c,internal:u}=e.getState();if(n.length){const e=t.set(l.x,l.y,0).unproject(c),h="click"===i.type?r(i):0,d=e=>i.target.releasePointerCapture(e),p={stopped:!1};for(const t of n){const r=e=>{var r,n;return null!=(r=null==(n=u.capturedMap.get(e))?void 0:n.has(t.eventObject))&&r},f=e=>{u.capturedMap.has(e)?u.capturedMap.get(e).set(t.eventObject,t):u.capturedMap.set(e,new Map([[t.eventObject,t]])),i.target.setPointerCapture(e)};let m={};for(let e in Object.getPrototypeOf(i)){let t=i[e];"function"!=typeof t&&(m[e]=t)}let g={...t,...m,spaceX:l.x,spaceY:l.y,intersections:n,stopped:p.stopped,delta:h,unprojectedPoint:e,ray:o.ray,camera:c,stopPropagation:()=>{const e="pointerId"in i&&u.capturedMap.get(i.pointerId);(!e||e.has(t.eventObject))&&(g.stopped=p.stopped=!0,u.hovered.size&&Array.from(u.hovered.values()).find((e=>e.eventObject===t.eventObject)))&&a([...n.slice(0,n.indexOf(t)),t])},target:{hasPointerCapture:r,setPointerCapture:f,releasePointerCapture:d},currentTarget:{hasPointerCapture:r,setPointerCapture:f,releasePointerCapture:d},sourceEvent:i,nativeEvent:i};if(s(g),!0===p.stopped)break}}}(h,o,(e=>{const t=e.eventObject,r=t.__r3f.handlers;if(r)if(u){if(r.onPointerOver||r.onPointerEnter||r.onPointerOut||r.onPointerLeave){const t=E(e),n=c.hovered.get(t);n?n.stopped&&e.stopPropagation():(c.hovered.set(t,e),null==r.onPointerOver||r.onPointerOver(e),null==r.onPointerEnter||r.onPointerEnter(e))}null==r.onPointerMove||r.onPointerMove(e)}else{const i=null==r?void 0:r[n];i&&("onClick"!==n&&"onContextMenu"!==n&&"onDoubleClick"!==n||c.initialHits.includes(t))&&(i(e),s(o,c.interaction.filter((e=>e!==t))))}})),"onPointerDown"===n&&(c.initialClick=[o.offsetX,o.offsetY],c.initialHits=h.map((e=>e.eventObject))),"onClick"!==n&&"onContextMenu"!==n&&"onDoubleClick"!==n||h.length||r(o)<=2&&(s(o,c.interaction),l&&l(o))}}}}const M=e=>e&&!!e.getState,T=(e,t)=>{var r,n;return{root:M(e)?e:null!=(r=null==(n=e.__r3f)?void 0:n.root)?r:t.__r3f.root,container:M(e)?e.getState().scene:e}},C="__default",I={},B=["children","key","ref"];let R={},P=e=>{R={...R,...e}};function F(e,t){const r=e;return(null!=t&&t.instance||!r.__r3f)&&(r.__r3f={root:null,memoizedProps:{},objects:[],...t}),e}const L=e=>e&&e.isOrthographicCamera,D=i.createContext(null);function U(e,t){const r=t.length;return t.push(e),()=>{t.splice(r,1)}}let N,k=[],O=[],G=[];const z=e=>U(e,k),V=e=>U(e,O),H=e=>U(e,G);function Q(e,t){for(N=0;N({...e,[r]:t(r)})),{}),connect:t=>{var n;const{set:i,events:a}=e.getState();null==a.disconnect||a.disconnect(),i((e=>({events:{...e.events,connected:t}}))),Object.entries(null!=(n=null==a?void 0:a.handlers)?n:[]).forEach((([e,n])=>{const[i,a]=r[e];t.addEventListener(i,n,{passive:a})}))},disconnect:()=>{const{set:t,events:n}=e.getState();var i;n.connected&&(Object.entries(null!=(i=n.handlers)?i:[]).forEach((([e,t])=>{if(n&&n.connected instanceof HTMLElement){const[i]=r[e];n.connected.removeEventListener(i,t)}})),t((e=>({events:{...e.events,connected:!1}}))))}}}const X="undefined"!=typeof window?i.useLayoutEffect:i.useEffect;function Y({set:e}){return X((()=>(e(new Promise((()=>null))),()=>e(!1))),[]),null}class q extends i.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}function K({children:e,fallback:t,tabIndex:r,resize:n,id:a,style:s,className:o,events:l,...c}){const[u,h]=A({scroll:!0,debounce:{scroll:50,resize:0},...n}),d=i.useRef(null),[p,f]=i.useState(!1),[m,g]=i.useState(!1);if(p)throw p;if(m)throw m;return X((()=>{h.width>0&&h.height>0&&ce(i.createElement(q,{set:g},i.createElement(i.Suspense,{fallback:i.createElement(Y,{set:f})},e)),d.current,{...c,size:h,events:l||W})}),[h,e]),X((()=>{const e=d.current;return()=>he(e)}),[]),i.createElement("div",{ref:u,id:a,className:o,tabIndex:r,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",...s}},i.createElement("canvas",{ref:d,style:{display:"block"}},t))}function J(e=(e=>e),t){const r=i.useContext(D);if(!r)throw"R3F hooks can only be used within the Canvas component!";return r(e,t)}function Z(e,t=0){const{subscribe:r}=i.useContext(D).getState().internal,n=i.useRef(e);return i.useLayoutEffect((()=>{n.current=e}),[e]),i.useLayoutEffect((()=>{const e=r(n,t);return()=>e()}),[t,r]),null}function $(e){const t={nodes:{},materials:{}};return e&&e.traverse((e=>{e.name&&(t.nodes[e.name]=e),e.material&&!t.materials[e.material.name]&&(t.materials[e.material.name]=e.material)})),t}function ee(e){return i.useMemo((()=>$(e)),[e])}function te(e,t){return function(r,...n){const i=new r;return e&&e(i),Promise.all(n.map((e=>new Promise(((r,n)=>i.load(e,(e=>{e.scene&&Object.assign(e,$(e.scene)),r(e)}),t,(t=>n(`Could not load ${e}: ${t.message}`))))))))}}function re(e,t,r,n){const i=Array.isArray(t)?t:[t],a=m(te(r,n),e,...i);return Array.isArray(t)?a:a[0]}q.getDerivedStateFromError=()=>({error:!0}),re.preload=function(e,t,r){const n=Array.isArray(t)?t:[t];return m.preload(te(r),e,...n)};const ne=new Map,ie=["legacy","blocking","concurrent"],{invalidate:ae,advance:se}=function(e){let t,r=!1;function n(i){if(r=!0,t=0,Q(k,i),e.forEach((e=>{const r=e.store.getState();r.internal.active&&("always"===r.frameloop||r.internal.frames>0)&&(t+=j(i,r))})),Q(O,i),t>0)return requestAnimationFrame(n);Q(G,i),r=!1}return{loop:n,invalidate:function t(i){if(!i)return e.forEach((e=>t(e.store.getState())));!i.vr&&i.internal.active&&"never"!==i.frameloop&&(i.internal.frames=Math.min(60,i.internal.frames+1),r||(r=!0,requestAnimationFrame(n)))},advance:function(t,r=!0,n){r&&Q(k,t),n?j(t,n):e.forEach((e=>j(t,e.store.getState()))),r&&Q(O,t)}}}(ne),{reconciler:oe,applyProps:le}=function(e){function t(e,t,a={},s=!1){var o,l,c;const u=null!=(o=null==e?void 0:e.__r3f)?o:{},h=u.root,d=null!=(l=null==h||null==h.getState?void 0:h.getState())?l:{},p=[],f=[],m={};let g=0;Object.entries(t).forEach((([e,t])=>{-1===B.indexOf(e)&&(m[e]=t)})),u.memoizedProps&&u.memoizedProps.args&&(m.args=u.memoizedProps.args),u.memoizedProps&&u.memoizedProps.attach&&(m.attach=u.memoizedProps.attach),e.__r3f&&(e.__r3f.memoizedProps=m);let v=Object.keys(t);for(g=0;g-1&&delete x[v[g]];const b=Object.entries(x);for(g=0;g0){if(b.forEach((([t,i])=>{if(!f.includes(t)){let a=e,s=a[t];if(t.includes("-")){const r=t.split("-");if(s=r.reduce(((e,t)=>e[t]),e),!s||!s.set){const[n,...i]=r.reverse();a=i.reverse().reduce(((e,t)=>e[t]),e),t=n}}if(i===C+"remove")if(s&&s.constructor)i=new s.constructor(m.args);else if(a.constructor){const e=new a.constructor(a.__r3f.memoizedProps.args);i=e[s],e.dispose&&e.dispose()}else i=0;if(s&&s.set&&(s.copy||s instanceof n.Layers)){if(Array.isArray(i))s.fromArray?s.fromArray(i):s.set(...i);else if(s.copy&&i&&i.constructor&&s.constructor.name===i.constructor.name)s.copy(i);else if(void 0!==i){const e=s instanceof n.Color;!e&&s.setScalar?s.setScalar(i):s instanceof n.Layers&&i instanceof n.Layers?s.mask=i.mask:s.set(i),!d.linear&&e&&s.convertSRGBToLinear()}}else a[t]=i,!d.linear&&a[t]instanceof n.Texture&&(a[t].encoding=n.sRGBEncoding);r(e)}})),s&&h&&e.raycast&&u.handlers){u.handlers=void 0;const t=d.internal.interaction.indexOf(e);t>-1&&d.internal.interaction.splice(t,1)}f.length&&(s&&h&&e.raycast&&d.internal.interaction.push(e),u.handlers=f.reduce(((e,r)=>({...e,[r]:t[r]})),{})),e.parent&&i(e)}}function r(e){var t,r;const n=null==(t=e.__r3f)||null==(r=t.root)||null==r.getState?void 0:r.getState();n&&0===n.internal.frames&&n.invalidate()}function i(e){null==e.onUpdate||e.onUpdate(e)}function a(e,{args:r=[],...i},a,s,o){let l,c=`${e[0].toUpperCase()}${e.slice(1)}`;if(!M(a)&&o){const e=t=>t.return?e(t.return):t.stateNode&&t.stateNode.containerInfo;a=e(o)}if(!a||!M(a))throw`No valid root for ${c}!`;if("primitive"===e){if(void 0===i.object)throw"Primitives without 'object' are invalid!";l=F(i.object,{root:a,instance:!0})}else{const e=R[c]||n[c];if(!e)throw`${c} is not part of the THREE namespace! Did you forget to extend? See: https://github.com/pmndrs/react-three-fiber/blob/master/markdown/api.md#using-3rd-party-objects-declaratively`;const t=_.arr(r);l=F(t?new e(...r):new e(r),{root:a,memoizedProps:{args:t&&0===r.length?null:r}})}return c.endsWith("Geometry")?i={attach:"geometry",...i}:c.endsWith("Material")&&(i={attach:"material",...i}),t(l,i,{}),l}function s(e,t){let n=!1;t&&(t.attachArray?(_.arr(e[t.attachArray])||(e[t.attachArray]=[]),e[t.attachArray].push(t)):t.attachObject?(_.obj(e[t.attachObject[0]])||(e[t.attachObject[0]]={}),e[t.attachObject[0]][t.attachObject[1]]=t):t.attach&&!_.fun(t.attach)?e[t.attach]=t:t.isObject3D&&(e.add(t),n=!0),n||(e.__r3f.objects.push(t),t.parent=e),i(t),r(t))}function o(e,t,n){let a=!1;if(t){if(t.attachArray){const r=e[t.attachArray];_.arr(r)||(e[t.attachArray]=[]),r.splice(r.indexOf(n),0,t)}else{if(t.attachObject||t.attach&&!_.fun(t.attach))return a=!0,s(e,t);if(t.isObject3D){t.parent=e,t.dispatchEvent({type:"added"});const r=e.children.filter((e=>e!==t)),i=r.indexOf(n);e.children=[...r.slice(0,i),t,...r.slice(i)],a=!0}}a||(e.__r3f.objects.push(t),t.parent=e),i(t),r(t)}}function u(e,t,r=!1){e&&[...e].forEach((e=>h(t,e,r)))}function h(e,t,n){if(t){var i;if(e.__r3f.objects){const r=e.__r3f.objects.length;e.__r3f.objects=e.__r3f.objects.filter((e=>e!==t));e.__r3f.objects.lengthe!==t));else if(t.attachObject)delete e[t.attachObject[0]][t.attachObject[1]];else if(t.attach&&!_.fun(t.attach))e[t.attach]=null;else if(t.isObject3D){var a;e.remove(t),null!=(a=t.__r3f)&&a.root&&function(e,t){const{internal:r}=e.getState();r.interaction=r.interaction.filter((e=>e!==t)),r.initialHits=r.initialHits.filter((e=>e!==t)),r.hovered.forEach(((e,n)=>{e.eventObject!==t&&e.object!==t||r.hovered.delete(n)}))}(t.__r3f.root,t)}const o=null==(i=t.__r3f)?void 0:i.instance,l=void 0===n?null!==t.dispose&&!o:n;var s;if(!o)u(null==(s=t.__r3f)?void 0:s.objects,t,l),u(t.children,t,l);t.__r3f&&(delete t.__r3f.root,delete t.__r3f.objects,delete t.__r3f.handlers,delete t.__r3f.memoizedProps,o||delete t.__r3f),l&&t.dispose&&"Scene"!==t.type&&(0,c.unstable_runWithPriority)(c.unstable_IdlePriority,(()=>t.dispose())),r(e)}}function d(e,t,r,n){const i=e.parent;if(!i)return;const o=a(t,r,e.__r3f.root);e.children&&(e.children.forEach((e=>s(o,e))),e.children=[]),e.__r3f.objects.forEach((e=>s(o,e))),e.__r3f.objects=[],h(i,e),s(i,o),[n,n.alternate].forEach((e=>{null!==e&&(e.stateNode=o,e.ref&&("function"==typeof e.ref?e.ref(o):e.ref.current=o))}))}return{reconciler:l()({now:c.unstable_now,createInstance:a,removeChild:h,appendChild:s,appendInitialChild:s,insertBefore:o,warnsIfNotActing:!0,supportsMutation:!0,isPrimaryRenderer:!1,scheduleTimeout:_.fun(setTimeout)?setTimeout:void 0,cancelTimeout:_.fun(clearTimeout)?clearTimeout:void 0,setTimeout:_.fun(setTimeout)?setTimeout:void 0,clearTimeout:_.fun(clearTimeout)?clearTimeout:void 0,noTimeout:-1,appendChildToContainer:(e,t)=>{const{container:r,root:n}=T(e,t);r.__r3f.root=n,s(r,t)},removeChildFromContainer:(e,t)=>{const{container:r}=T(e,t);h(r,t)},insertInContainerBefore:(e,t,r)=>{const{container:n}=T(e,t);o(n,t,r)},commitUpdate(e,r,n,i,a,s){if(e.__r3f.instance&&a.object&&a.object!==e)d(e,n,a,s);else{const{args:r=[],...o}=a,{args:l=[],...c}=i;r.some(((e,t)=>_.obj(e)?Object.entries(e).some((([e,r])=>r!==l[t][e])):e!==l[t]))?d(e,n,a,s):t(e,o,c,!0)}},hideInstance(e){e.isObject3D&&(e.visible=!1,r(e))},unhideInstance(e,t){(e.isObject3D&&null==t.visible||t.visible)&&(e.visible=!0,r(e))},hideTextInstance(){throw new Error("Text is not allowed in the R3F tree.")},getPublicInstance:e=>e,getRootHostContext:e=>I,getChildHostContext:e=>I,createTextInstance(){},finalizeInitialChildren:e=>!!e.__r3f.handlers,commitMount(e){e.raycast&&e.__r3f.handlers&&e.__r3f.root.getState().internal.interaction.push(e)},prepareUpdate:()=>I,shouldDeprioritizeSubtree:()=>!1,prepareForCommit:()=>null,preparePortalMount(...e){},resetAfterCommit(){},shouldSetTextContent:()=>!1,clearContainer:()=>!1}),applyProps:t}}();function ce(e,t,{gl:r,size:o,mode:l=ie[1],events:c,onCreated:u,...h}={}){var d,p,f,m,g;o||(o={width:null!=(p=null==(f=t.parentElement)?void 0:f.clientWidth)?p:0,height:null!=(m=null==(g=t.parentElement)?void 0:g.clientHeight)?m:0});let v=ne.get(t),A=null==v?void 0:v.fiber,y=null==v?void 0:v.store,x=null==(d=y)?void 0:d.getState();if(A&&x){const e=x.internal.lastProps;void 0===h.dpr||_.equ(e.dpr,h.dpr)||x.setDpr(h.dpr),void 0===o||_.equ(e.size,o)||x.setSize(o.width,o.height);h.linear!==e.linear&&(he(t),A=void 0)}if(!A){const e=((e,t)=>{return(r=e)&&r.render?e:new n.WebGLRenderer({powerPreference:"high-performance",canvas:t,antialias:!0,alpha:!0,...e});var r})(r,t);h.vr&&(e.xr.enabled=!0,e.setAnimationLoop((e=>se(e,!0)))),y=((e,t,r,i)=>{const{gl:o,size:l,shadows:c=!1,linear:u=!1,flat:h=!1,vr:d=!1,orthographic:p=!1,frameloop:f="always",dpr:m=1,performance:g,clock:v=new n.Clock,raycaster:A,camera:y,onPointerMissed:x}=i;c&&(o.shadowMap.enabled=!0,"object"==typeof c?Object.assign(o.shadowMap,c):o.shadowMap.type=n.PCFSoftShadowMap),u||(h||(o.toneMapping=n.ACESFilmicToneMapping),o.outputEncoding=n.sRGBEncoding),"never"===f&&(v.stop(),v.elapsedTime=0);const b=(0,a.Z)(((a,s)=>{const l=new n.Raycaster,{params:c,...b}=A||{};e(l,{enabled:!0,...b,params:{...l.params,...c}},{});const w=y instanceof n.Camera,_=w?y:p?new n.OrthographicCamera(0,0,0,0,.1,1e3):new n.PerspectiveCamera(75,0,.1,1e3);function E(e){return Array.isArray(e)?Math.min(Math.max(e[0],window.devicePixelRatio),e[1]):e}w||(_.position.z=5,y&&e(_,y,{}),_.lookAt(0,0,0));const S=E(m),M=new n.Vector3,T=new n.Vector3;function C(e=s().camera,t=T,r=s().size){const{width:n,height:i}=r,a=n/i,o=e.getWorldPosition(M).distanceTo(t);if(L(e))return{width:n/e.zoom,height:i/e.zoom,factor:1,distance:o,aspect:a};{const t=e.fov*Math.PI/180,r=2*Math.tan(t/2)*o,s=r*(n/i);return{width:s,height:r,factor:n/s,distance:o,aspect:a}}}let I;const B=e=>a((t=>({performance:{...t.performance,current:e}})));return{gl:o,set:a,get:s,invalidate:()=>t(s()),advance:(e,t)=>r(e,t,s()),linear:u,flat:h,scene:F(new n.Scene),camera:_,raycaster:l,clock:v,mouse:new n.Vector2,vr:d,frameloop:f,onPointerMissed:x,performance:{current:1,min:.5,max:1,debounce:200,...g,regress:()=>{const e=s();I&&clearTimeout(I),e.performance.current!==e.performance.min&&B(e.performance.min),I=setTimeout((()=>B(s().performance.max)),e.performance.debounce)}},size:{width:0,height:0},viewport:{initialDpr:S,dpr:S,width:0,height:0,aspect:0,distance:0,factor:0,getCurrentViewport:C},setSize:(e,t)=>{const r={width:e,height:t};a((e=>({size:r,viewport:{...e.viewport,...C(_,T,r)}})))},setDpr:e=>a((t=>({viewport:{...t.viewport,dpr:E(e)}}))),events:{connected:!1},internal:{active:!1,priority:0,frames:0,lastProps:i,interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(e,t=0)=>(a((({internal:r})=>({internal:{...r,priority:r.priority+(t?1:0),subscribers:[...r.subscribers,{ref:e,priority:t}].sort(((e,t)=>e.priority-t.priority))}}))),()=>{a((({internal:r})=>({internal:{...r,priority:r.priority-(t?1:0),subscribers:r.subscribers.filter((t=>t.ref!==e))}})))})}}}));b.subscribe((()=>{const{camera:e,size:t,viewport:r,internal:i}=b.getState();i.lastProps.camera instanceof n.Camera||(L(e)?(e.left=t.width/-2,e.right=t.width/2,e.top=t.height/2,e.bottom=t.height/-2):e.aspect=t.width/t.height,e.updateProjectionMatrix(),e.updateMatrixWorld()),o.setPixelRatio(r.dpr),o.setSize(t.width,t.height)}),(e=>[e.viewport.dpr,e.size]),s.Z);const w=b.getState();return l&&w.setSize(l.width,l.height),b.subscribe((e=>t(e))),b})(le,ae,se,{gl:e,size:o,...h});const i=y.getState();i.get,A=oe.createContainer(y,ie.indexOf(l),!1,null),ne.set(t,{fiber:A,store:y}),c&&i.set({events:c(y)})}if(y&&A)return oe.updateContainer(i.createElement(ue,{store:y,element:e,onCreated:u,target:t}),A,null,(()=>{})),y;throw"Error creating root!"}function ue({store:e,element:t,onCreated:r,target:n}){return i.useEffect((()=>{const t=e.getState();t.set((e=>({internal:{...e.internal,active:!0}}))),null==t.events.connect||t.events.connect(n),r&&r(t)}),[]),i.createElement(D.Provider,{value:e},t)}function he(e,t){const r=ne.get(e),n=null==r?void 0:r.fiber;if(n){const i=null==r?void 0:r.store.getState();i&&(i.internal.active=!1),oe.updateContainer(null,n,null,(()=>{i&&setTimeout((()=>{var r,n,a;null==i.events.disconnect||i.events.disconnect(),null==(r=i.gl)||null==(n=r.renderLists)||null==n.dispose||n.dispose(),null==(a=i.gl)||null==a.forceContextLoss||a.forceContextLoss(),de(i),ne.delete(e),t&&t(e)}),500)}))}}function de(e){e.dispose&&"Scene"!==e.type&&e.dispose();for(const n in e){var t,r;null==(t=(r=n).dispose)||t.call(r),delete e[n]}}const pe=oe.act,fe=_.fun(Symbol)&&Symbol.for?Symbol.for("react.portal"):60106;function me(e,t,r,n=null){return{$$typeof:fe,key:null==n?null:""+n,children:e,containerInfo:F(t),implementation:r}}oe.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:"17.0.2"})},40417:(e,t,r)=>{"use strict";t._b=t.H7=t.LK=t.Kv=t.Mf=t.SE=t.N$=t.oI=t.$9=t.pT=t.fK=t.ej=t.hI=t.Wx=t.Sj=t.r3=t.ue=t.ZW=t.z5=t.Oq=t.P7=t.bS=t.N7=t.Hs=t.dV=t.oC=t.vA=t.ol=t.l$=t.sd=t.dK=t.V3=t.Bw=t.hW=t._o=t.b4=t.nu=t.wd=t.q4=void 0;var n=r(97657);Object.defineProperty(t,"q4",{enumerable:!0,get:function(){return n.VERSION}});var i=r(81183);Object.defineProperty(t,"wd",{enumerable:!0,get:function(){return i.CstParser}}),Object.defineProperty(t,"nu",{enumerable:!0,get:function(){return i.EmbeddedActionsParser}}),Object.defineProperty(t,"b4",{enumerable:!0,get:function(){return i.ParserDefinitionErrorType}}),Object.defineProperty(t,"_o",{enumerable:!0,get:function(){return i.EMPTY_ALT}});var a=r(88200);Object.defineProperty(t,"hW",{enumerable:!0,get:function(){return a.Lexer}}),Object.defineProperty(t,"Bw",{enumerable:!0,get:function(){return a.LexerDefinitionErrorType}});var s=r(58980);Object.defineProperty(t,"V3",{enumerable:!0,get:function(){return s.createToken}}),Object.defineProperty(t,"dK",{enumerable:!0,get:function(){return s.createTokenInstance}}),Object.defineProperty(t,"sd",{enumerable:!0,get:function(){return s.EOF}}),Object.defineProperty(t,"l$",{enumerable:!0,get:function(){return s.tokenLabel}}),Object.defineProperty(t,"ol",{enumerable:!0,get:function(){return s.tokenMatcher}}),Object.defineProperty(t,"vA",{enumerable:!0,get:function(){return s.tokenName}});var o=r(63670);Object.defineProperty(t,"oC",{enumerable:!0,get:function(){return o.getLookaheadPaths}});var l=r(3449);Object.defineProperty(t,"dV",{enumerable:!0,get:function(){return l.LLkLookaheadStrategy}});var c=r(27621);Object.defineProperty(t,"Hs",{enumerable:!0,get:function(){return c.defaultParserErrorProvider}});var u=r(34400);Object.defineProperty(t,"N7",{enumerable:!0,get:function(){return u.EarlyExitException}}),Object.defineProperty(t,"bS",{enumerable:!0,get:function(){return u.isRecognitionException}}),Object.defineProperty(t,"P7",{enumerable:!0,get:function(){return u.MismatchedTokenException}}),Object.defineProperty(t,"Oq",{enumerable:!0,get:function(){return u.NotAllInputParsedException}}),Object.defineProperty(t,"z5",{enumerable:!0,get:function(){return u.NoViableAltException}});var h=r(58232);Object.defineProperty(t,"ZW",{enumerable:!0,get:function(){return h.defaultLexerErrorProvider}});var d=r(93062);Object.defineProperty(t,"ue",{enumerable:!0,get:function(){return d.Alternation}}),Object.defineProperty(t,"r3",{enumerable:!0,get:function(){return d.Alternative}}),Object.defineProperty(t,"Sj",{enumerable:!0,get:function(){return d.NonTerminal}}),Object.defineProperty(t,"Wx",{enumerable:!0,get:function(){return d.Option}}),Object.defineProperty(t,"hI",{enumerable:!0,get:function(){return d.Repetition}}),Object.defineProperty(t,"ej",{enumerable:!0,get:function(){return d.RepetitionMandatory}}),Object.defineProperty(t,"fK",{enumerable:!0,get:function(){return d.RepetitionMandatoryWithSeparator}}),Object.defineProperty(t,"pT",{enumerable:!0,get:function(){return d.RepetitionWithSeparator}}),Object.defineProperty(t,"$9",{enumerable:!0,get:function(){return d.Rule}}),Object.defineProperty(t,"oI",{enumerable:!0,get:function(){return d.Terminal}});var p=r(93062);Object.defineProperty(t,"N$",{enumerable:!0,get:function(){return p.serializeGrammar}}),Object.defineProperty(t,"SE",{enumerable:!0,get:function(){return p.serializeProduction}}),Object.defineProperty(t,"Mf",{enumerable:!0,get:function(){return p.GAstVisitor}});var f=r(82688);Object.defineProperty(t,"Kv",{enumerable:!0,get:function(){return f.generateCstDts}}),t.LK=function(){console.warn("The clearCache function was 'soft' removed from the Chevrotain API.\n\t It performs no action other than printing this message.\n\t Please avoid using it as it will be completely removed in the future")};var m=r(77141);Object.defineProperty(t,"H7",{enumerable:!0,get:function(){return m.createSyntaxDiagramsCode}});var g=function(){throw new Error("The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead.\t\nSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0")};t._b=g},77141:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSyntaxDiagramsCode=void 0;var n=r(97657);t.createSyntaxDiagramsCode=function(e,t){var r=void 0===t?{}:t,i=r.resourceBase,a=void 0===i?"https://unpkg.com/chevrotain@".concat(n.VERSION,"/diagrams/"):i,s=r.css,o=void 0===s?"https://unpkg.com/chevrotain@".concat(n.VERSION,"/diagrams/diagrams.css"):s;return'\n\x3c!-- This is a generated file --\x3e\n\n\n\n\n'+"\n\n")+"\n

Join the community

Welcome to the Nomos Community!

Join us as we build a novel blockchain layer ideal for a network state. Be the first to receive our latest news, access documentation, and celebrate with us as we get closer to realising the Logos network state.

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}

Join the community

Welcome to the Nomos Community!

Join us as we build a novel blockchain layer ideal for a network state. Be the first to receive our latest news, access documentation, and celebrate with us as we get closer to realising the Logos network state.

+ + \ No newline at end of file diff --git a/icons/discord-filled-dark.svg b/icons/discord-filled-dark.svg new file mode 100644 index 0000000..e30aa64 --- /dev/null +++ b/icons/discord-filled-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/discord-filled-white.svg b/icons/discord-filled-white.svg new file mode 100644 index 0000000..764a11e --- /dev/null +++ b/icons/discord-filled-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/play.svg b/icons/play.svg new file mode 100644 index 0000000..c422149 --- /dev/null +++ b/icons/play.svg @@ -0,0 +1,4 @@ + + + + diff --git a/index.html b/index.html index 11eddfb..ee2e091 100644 --- a/index.html +++ b/index.html @@ -4,9 +4,9 @@ A Resilient, Privacy-preserving, and Censorship-resistant blockchain for Network States | Nomos - - - + + +
@@ -14,10 +14,10 @@ .lsd-dropdown--error ) .lsd-dropdown__trigger:hover .lsd-dropdown__option-label,.lsd-dropdown:not(.lsd-dropdown--disabled):not( .lsd-dropdown--error - ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}

A Resilient, Privacy-preserving, and Censorship-resistant blockchain for Network States

Nomos addresses the need of a consensus layer specifically designed with the requirements of Network States in mind.

alt

Core values

1

Resiliency

A resilient network protects its most valuable nodes by making the nodes with high concentration of stake indistinguishable from the rest - cleverly concealing their outsized contribution among the set of all nodes.

2

Censorship resistant

Nomos provides the foundation for protocols that adhere to the principles of plausible deniability, allowing nodes to contribute to the system without making political or preferential choices - by making transactions invisible.

3

Sovereignty

Infrastructure for digital communities must provide the right environment for new ideas to flourish. Sovereignty, at its core, is the ability for communities to define their own rules.

4

Interconnected

While Nomos prioritizes sovereignty, it also values heavily the interconnection of communities. Careful balancing of these two forces is essential for the success of every single collective.

Logos Collective

Nomos is the blockchain layer of the Logos technology stack. Logos is a grassroots movement, building the infrastructure for trust-minimised, corruption-resistant governing services and social institutions for peaceful people worldwide.

Learn more about our ambitious vision.

Development Roadmap

2024 Q1 & Q2
01

Full specification of the base layer

2024 Q3
02

Testnet base layer implementation

2024 Q4
03

Full specification of the coordination layer

2025 Q1 & Q2
04

Testnet coordination layer implementation

2025 Q3
05

Mainnet base plus coordination layer launch

2025 Q4
06

Specification and implementation of execution zones

Want to get involved with Nomos? + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}

A Resilient, Privacy-preserving, and Censorship-resistant blockchain for Network States

Nomos addresses the need of a consensus layer specifically designed with the requirements of Network States in mind.

alt

Core values

1

Resiliency

A resilient network protects its most valuable nodes by making the nodes with high concentration of stake indistinguishable from the rest - cleverly concealing their outsized contribution among the set of all nodes.

2

Censorship resistant

Nomos provides the foundation for protocols that adhere to the principles of plausible deniability, allowing nodes to contribute to the system without making political or preferential choices - by making transactions invisible.

3

Sovereignty

Infrastructure for digital communities must provide the right environment for new ideas to flourish. Sovereignty, at its core, is the ability for communities to define their own rules.

4

Interconnected

While Nomos prioritizes sovereignty, it also values heavily the interconnection of communities. Careful balancing of these two forces is essential for the success of every single collective.

Logos Collective

Nomos is the blockchain layer of the Logos technology stack. Logos is a grassroots movement, building the infrastructure for trust-minimised, corruption-resistant governing services and social institutions for peaceful people worldwide.

Learn more about our ambitious vision.

Development Roadmap

2024 Q1 & Q2
01

Full specification of the base layer

2024 Q3
02

Testnet base layer implementation

2024 Q4
03

Full specification of the coordination layer

2025 Q1 & Q2
04

Testnet coordination layer implementation

2025 Q3
05

Mainnet base plus coordination layer launch

2025 Q4
06

Specification and implementation of execution zones

Want to get involved with Nomos? Join the Discord community.

Subscribe -to our newsletter

- - +to our newsletter
+ + \ No newline at end of file diff --git a/join-us/index.html b/join-us/index.html index 3a16f85..469aec8 100644 --- a/join-us/index.html +++ b/join-us/index.html @@ -1,21 +1,21 @@ - + -Join Us | Nomos - - - - +Join Us | Nomos + + + +
- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));} + + \ No newline at end of file diff --git a/privacy-policy/index.html b/privacy-policy/index.html index 8577712..73e9dde 100644 --- a/privacy-policy/index.html +++ b/privacy-policy/index.html @@ -1,21 +1,21 @@ - + -Privacy Policy | Nomos - - - - +Privacy Policy | Nomos + + + +

Privacy Policy

Last updated: 9 February 2024

This Privacy Policy is intended to inform users of our approach to privacy in respect of this website ("Website"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.

1) Who we are

For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at

Logos Collective Association
c/o PST Consulting GmbH
Baarerstrasse 10
6300 Zug
Switzerland

Whenever we refer to “Logos”, “we” or other similar references, we are referring to the Logos Collective Association.

2) We limit the collection and processing of personal data from your use of the Website

We aim to limit the collection and collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable privacy legislation. We will not collect or process any personal data that we don’t need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose.

In this regard, we collect and process the following personal data from your use of the Website:

  • IP address: As part of such use of the Website and from our use of Fathom Analytics, we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time.

  • Collection of email addresses: We collect your email address and first name (or if preferred, your pseudonym), on our website for the purpose of sending you information in relation to the project (s) on this website concerning technical and non-technical content and updates, as well as potentially invitations to project related events. Your email address is securely stored on our self-hosted servers, and we have implemented measures to protect such personal data by securing it with appropriate technical and organisational measures. We will not share such personal data to third parties without your consent, except as required by law. We will only collect and process your email address, first name and if applicable, your pseudonym on the basis of you providing your consent for us to do so. If you wish to stop receiving our email communications, you can do so by clicking the "unsubscribe" link in the emails you receive from us.

  • Fathom Analytics: We note that we make use of Fathom Analytics, which you can read more about here: https://usefathom.com/. In short, Fathom Analytics is an alternative to Google Analytics, that doesn’t compromise visitor privacy for data. Fathom Analytics collects trends and insights, not personal details about specific website visitors. Fathom Analytics offers simple traffic insights such as top pages, top referrers, bounce rate, and average time people spend on a site.

3) Third party processing of personal data

In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply.

We would however like to draw your attention to the following:

  • Youtube: The Website may embed videos from Youtube, a service provided by Google LLC, using Youtube’s privacy-enhanced mode. When you interact with such videos, Youtube may place cookies on your personal device. The cookies do not directly identify individual users and YouTube will not store information to personalise your experience unless you are logged in to a Google account. We do not have any control over these cookies set by Youtube and it is recommended that you review YouTube’s embedding videos information page.

4) Security measures we take in respect of the Website

As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us.

5) Exporting data outside the European Union and Switzerland

We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable privacy legislation.

6) Your choices and rights

As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant privacy legislation, you have the right to:

  • Ask us to correct or update your personal data (where reasonably possible);

  • Ask us to remove your personal data from our systems;

  • Ask us for a copy of your personal data, which may also be transferred to another data controller at your request;

  • Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn’t affect the validity of such processing activities before you have withdrawn your consent;

  • Object to the processing of your personal data; and

  • File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully.

On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites.

8) This Privacy Policy might change

We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website.

9) Contact information

To the extent that you have any questions about the Privacy Policy, please contact us at legal@free.technology.

This document is licensed under CC-BY-SA.

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}

Privacy Policy

Last updated: 9 February 2024

This Privacy Policy is intended to inform users of our approach to privacy in respect of this website ("Website"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.

1) Who we are

For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at

Logos Collective Association
c/o PST Consulting GmbH
Baarerstrasse 10
6300 Zug
Switzerland

Whenever we refer to “Logos”, “we” or other similar references, we are referring to the Logos Collective Association.

2) We limit the collection and processing of personal data from your use of the Website

We aim to limit the collection and collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable privacy legislation. We will not collect or process any personal data that we don’t need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose.

In this regard, we collect and process the following personal data from your use of the Website:

  • IP address: As part of such use of the Website and from our use of Fathom Analytics, we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time.

  • Collection of email addresses: We collect your email address and first name (or if preferred, your pseudonym), on our website for the purpose of sending you information in relation to the project (s) on this website concerning technical and non-technical content and updates, as well as potentially invitations to project related events. Your email address is securely stored on our self-hosted servers, and we have implemented measures to protect such personal data by securing it with appropriate technical and organisational measures. We will not share such personal data to third parties without your consent, except as required by law. We will only collect and process your email address, first name and if applicable, your pseudonym on the basis of you providing your consent for us to do so. If you wish to stop receiving our email communications, you can do so by clicking the "unsubscribe" link in the emails you receive from us.

  • Fathom Analytics: We note that we make use of Fathom Analytics, which you can read more about here: https://usefathom.com/. In short, Fathom Analytics is an alternative to Google Analytics, that doesn’t compromise visitor privacy for data. Fathom Analytics collects trends and insights, not personal details about specific website visitors. Fathom Analytics offers simple traffic insights such as top pages, top referrers, bounce rate, and average time people spend on a site.

3) Third party processing of personal data

In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply.

We would however like to draw your attention to the following:

  • Youtube: The Website may embed videos from Youtube, a service provided by Google LLC, using Youtube’s privacy-enhanced mode. When you interact with such videos, Youtube may place cookies on your personal device. The cookies do not directly identify individual users and YouTube will not store information to personalise your experience unless you are logged in to a Google account. We do not have any control over these cookies set by Youtube and it is recommended that you review YouTube’s embedding videos information page.

4) Security measures we take in respect of the Website

As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us.

5) Exporting data outside the European Union and Switzerland

We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable privacy legislation.

6) Your choices and rights

As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant privacy legislation, you have the right to:

  • Ask us to correct or update your personal data (where reasonably possible);

  • Ask us to remove your personal data from our systems;

  • Ask us for a copy of your personal data, which may also be transferred to another data controller at your request;

  • Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn’t affect the validity of such processing activities before you have withdrawn your consent;

  • Object to the processing of your personal data; and

  • File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully.

On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites.

8) This Privacy Policy might change

We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website.

9) Contact information

To the extent that you have any questions about the Privacy Policy, please contact us at legal@free.technology.

This document is licensed under CC-BY-SA.

+ + \ No newline at end of file diff --git a/search-index.json b/search-index.json index 5b384c6..92a42ba 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"Development roadmap","u":"/about/roadmap","b":["About Nomos"]},{"i":3,"t":"About Nomos","u":"/about/","b":["About Nomos"]},{"i":11,"t":"Join the community","u":"/community","b":["Community"]},{"i":13,"t":"Current job openings","u":"/join-us","b":["Join Us"]},{"i":15,"t":"Description and architecture","u":"/about/architect","b":["About Nomos"]},{"i":21,"t":"Privacy Policy","u":"/privacy-policy","b":[]},{"i":41,"t":"Terms of Use","u":"/terms","b":[]},{"i":65,"t":"Core contributors","u":"/about/team","b":["About Nomos"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,1.792,1,1.792]],["t/3",[2,2.252]],["t/11",[3,1.792,4,1.792]],["t/13",[5,1.487,6,1.487,7,1.487]],["t/15",[8,1.792,9,1.792]],["t/21",[10,1.792,11,1.792]],["t/41",[12,1.792,13,1.792]],["t/65",[14,1.792,15,1.792]]],"invertedIndex":[["architectur",{"_index":9,"t":{"15":{"position":[[16,12]]}}}],["commun",{"_index":4,"t":{"11":{"position":[[9,9]]}}}],["contributor",{"_index":15,"t":{"65":{"position":[[5,12]]}}}],["core",{"_index":14,"t":{"65":{"position":[[0,4]]}}}],["current",{"_index":5,"t":{"13":{"position":[[0,7]]}}}],["descript",{"_index":8,"t":{"15":{"position":[[0,11]]}}}],["develop",{"_index":0,"t":{"1":{"position":[[0,11]]}}}],["job",{"_index":6,"t":{"13":{"position":[[8,3]]}}}],["join",{"_index":3,"t":{"11":{"position":[[0,4]]}}}],["nomo",{"_index":2,"t":{"3":{"position":[[6,5]]}}}],["open",{"_index":7,"t":{"13":{"position":[[12,8]]}}}],["polici",{"_index":11,"t":{"21":{"position":[[8,6]]}}}],["privaci",{"_index":10,"t":{"21":{"position":[[0,7]]}}}],["roadmap",{"_index":1,"t":{"1":{"position":[[12,7]]}}}],["term",{"_index":12,"t":{"41":{"position":[[0,5]]}}}],["us",{"_index":13,"t":{"41":{"position":[[9,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":5,"t":"Network-level resiliency, network-level sovereignty","u":"/about/","h":"#network-level-resiliency-network-level-sovereignty","p":3},{"i":7,"t":"Consent of the governed","u":"/about/","h":"#consent-of-the-governed","p":3},{"i":9,"t":"History","u":"/about/","h":"#history","p":3},{"i":17,"t":"Design space","u":"/about/architect","h":"#design-space","p":15},{"i":19,"t":"Network architecture","u":"/about/architect","h":"#network-architecture","p":15},{"i":23,"t":"1) Who we are","u":"/privacy-policy","h":"#1-who-we-are","p":21},{"i":25,"t":"2) We limit the collection and processing of personal data from your use of the Website","u":"/privacy-policy","h":"#2-we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website","p":21},{"i":27,"t":"3) Third party processing of personal data","u":"/privacy-policy","h":"#3-third-party-processing-of-personal-data","p":21},{"i":29,"t":"4) Security measures we take in respect of the Website","u":"/privacy-policy","h":"#4-security-measures-we-take-in-respect-of-the-website","p":21},{"i":31,"t":"5) Exporting data outside the European Union and Switzerland","u":"/privacy-policy","h":"#5-exporting-data-outside-the-european-union-and-switzerland","p":21},{"i":33,"t":"6) Your choices and rights","u":"/privacy-policy","h":"#6-your-choices-and-rights","p":21},{"i":35,"t":"7) Third party links","u":"/privacy-policy","h":"#7-third-party-links","p":21},{"i":37,"t":"8) This Privacy Policy might change","u":"/privacy-policy","h":"#8-this-privacy-policy-might-change","p":21},{"i":39,"t":"9) Contact information","u":"/privacy-policy","h":"#9-contact-information","p":21},{"i":43,"t":"1) Who we are","u":"/terms","h":"#1-who-we-are","p":41},{"i":45,"t":"2) Disclaimers","u":"/terms","h":"#2-disclaimers","p":41},{"i":47,"t":"3) Forward looking statements","u":"/terms","h":"#3-forward-looking-statements","p":41},{"i":49,"t":"4) Intellectual property rights","u":"/terms","h":"#4-intellectual-property-rights","p":41},{"i":51,"t":"5) Third-party website links","u":"/terms","h":"#5-third-party-website-links","p":41},{"i":53,"t":"6) Limitation of liability","u":"/terms","h":"#6-limitation-of-liability","p":41},{"i":55,"t":"7) Indemnity","u":"/terms","h":"#7-indemnity","p":41},{"i":57,"t":"8) Modifications","u":"/terms","h":"#8-modifications","p":41},{"i":59,"t":"9) Governing law","u":"/terms","h":"#9-governing-law","p":41},{"i":61,"t":"10) Disputes","u":"/terms","h":"#10-disputes","p":41},{"i":63,"t":"11) About these Website Terms of Use","u":"/terms","h":"#11-about-these-website-terms-of-use","p":41}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/5",[0,2.675,1,3.259,2,2.201,3,2.201]],["t/7",[4,3.453,5,2.835]],["t/9",[6,4.027]],["t/17",[7,3.453,8,3.453]],["t/19",[0,2.835,9,3.453]],["t/23",[10,3.305]],["t/25",[11,1.529,12,1.529,13,1.863,14,1.529,15,1.529,16,1.31,17,1.529,18,1.145]],["t/27",[14,1.807,15,1.807,16,1.547,19,1.807,20,1.547,21,1.547]],["t/29",[18,1.353,22,1.807,23,2.201,24,2.201,25,2.201,26,2.201]],["t/31",[16,1.418,27,1.656,28,2.018,29,2.018,30,2.018,31,2.018,32,2.018]],["t/33",[33,2.482,34,3.023,35,2.482]],["t/35",[20,1.89,21,1.89,36,2.207,37,2.207]],["t/37",[38,2.207,39,2.688,40,2.688,41,2.688]],["t/39",[42,2.482,43,3.023,44,3.023]],["t/43",[10,3.305]],["t/45",[11,2.835,45,3.453]],["t/47",[19,2.207,46,2.688,47,2.688,48,2.688]],["t/49",[22,2.207,35,2.207,49,2.688,50,2.688]],["t/51",[18,1.488,20,1.701,21,1.701,27,1.987,37,1.987]],["t/53",[12,2.482,33,2.482,51,3.023]],["t/55",[36,2.835,52,3.453]],["t/57",[38,2.835,53,3.453]],["t/59",[5,2.482,42,2.482,54,3.023]],["t/61",[55,3.453,56,3.453]],["t/63",[17,2.207,18,1.653,57,2.688,58,2.688]]],"invertedIndex":[["1",{"_index":10,"t":{"23":{"position":[[0,2]]},"43":{"position":[[0,2]]}}}],["10",{"_index":55,"t":{"61":{"position":[[0,3]]}}}],["11",{"_index":57,"t":{"63":{"position":[[0,3]]}}}],["2",{"_index":11,"t":{"25":{"position":[[0,2]]},"45":{"position":[[0,2]]}}}],["3",{"_index":19,"t":{"27":{"position":[[0,2]]},"47":{"position":[[0,2]]}}}],["4",{"_index":22,"t":{"29":{"position":[[0,2]]},"49":{"position":[[0,2]]}}}],["5",{"_index":27,"t":{"31":{"position":[[0,2]]},"51":{"position":[[0,2]]}}}],["6",{"_index":33,"t":{"33":{"position":[[0,2]]},"53":{"position":[[0,2]]}}}],["7",{"_index":36,"t":{"35":{"position":[[0,2]]},"55":{"position":[[0,2]]}}}],["8",{"_index":38,"t":{"37":{"position":[[0,2]]},"57":{"position":[[0,2]]}}}],["9",{"_index":42,"t":{"39":{"position":[[0,2]]},"59":{"position":[[0,2]]}}}],["architectur",{"_index":9,"t":{"19":{"position":[[8,12]]}}}],["chang",{"_index":41,"t":{"37":{"position":[[29,6]]}}}],["choic",{"_index":34,"t":{"33":{"position":[[8,7]]}}}],["collect",{"_index":13,"t":{"25":{"position":[[16,10]]}}}],["consent",{"_index":4,"t":{"7":{"position":[[0,7]]}}}],["contact",{"_index":43,"t":{"39":{"position":[[3,7]]}}}],["data",{"_index":16,"t":{"25":{"position":[[54,4]]},"27":{"position":[[38,4]]},"31":{"position":[[13,4]]}}}],["design",{"_index":7,"t":{"17":{"position":[[0,6]]}}}],["disclaim",{"_index":45,"t":{"45":{"position":[[3,11]]}}}],["disput",{"_index":56,"t":{"61":{"position":[[4,8]]}}}],["european",{"_index":30,"t":{"31":{"position":[[30,8]]}}}],["export",{"_index":28,"t":{"31":{"position":[[3,9]]}}}],["forward",{"_index":46,"t":{"47":{"position":[[3,7]]}}}],["govern",{"_index":5,"t":{"7":{"position":[[15,8]]},"59":{"position":[[3,9]]}}}],["histori",{"_index":6,"t":{"9":{"position":[[0,7]]}}}],["indemn",{"_index":52,"t":{"55":{"position":[[3,9]]}}}],["inform",{"_index":44,"t":{"39":{"position":[[11,11]]}}}],["intellectu",{"_index":49,"t":{"49":{"position":[[3,12]]}}}],["law",{"_index":54,"t":{"59":{"position":[[13,3]]}}}],["level",{"_index":1,"t":{"5":{"position":[[8,5],[34,5]]}}}],["liabil",{"_index":51,"t":{"53":{"position":[[17,9]]}}}],["limit",{"_index":12,"t":{"25":{"position":[[6,5]]},"53":{"position":[[3,10]]}}}],["link",{"_index":37,"t":{"35":{"position":[[15,5]]},"51":{"position":[[23,5]]}}}],["look",{"_index":47,"t":{"47":{"position":[[11,7]]}}}],["measur",{"_index":24,"t":{"29":{"position":[[12,8]]}}}],["modif",{"_index":53,"t":{"57":{"position":[[3,13]]}}}],["network",{"_index":0,"t":{"5":{"position":[[0,7],[26,7]]},"19":{"position":[[0,7]]}}}],["outsid",{"_index":29,"t":{"31":{"position":[[18,7]]}}}],["parti",{"_index":21,"t":{"27":{"position":[[9,5]]},"35":{"position":[[9,5]]},"51":{"position":[[9,5]]}}}],["person",{"_index":15,"t":{"25":{"position":[[45,8]]},"27":{"position":[[29,8]]}}}],["polici",{"_index":40,"t":{"37":{"position":[[16,6]]}}}],["privaci",{"_index":39,"t":{"37":{"position":[[8,7]]}}}],["process",{"_index":14,"t":{"25":{"position":[[31,10]]},"27":{"position":[[15,10]]}}}],["properti",{"_index":50,"t":{"49":{"position":[[16,8]]}}}],["resili",{"_index":2,"t":{"5":{"position":[[14,11]]}}}],["respect",{"_index":26,"t":{"29":{"position":[[32,7]]}}}],["right",{"_index":35,"t":{"33":{"position":[[20,6]]},"49":{"position":[[25,6]]}}}],["secur",{"_index":23,"t":{"29":{"position":[[3,8]]}}}],["sovereignti",{"_index":3,"t":{"5":{"position":[[40,11]]}}}],["space",{"_index":8,"t":{"17":{"position":[[7,5]]}}}],["statement",{"_index":48,"t":{"47":{"position":[[19,10]]}}}],["switzerland",{"_index":32,"t":{"31":{"position":[[49,11]]}}}],["take",{"_index":25,"t":{"29":{"position":[[24,4]]}}}],["term",{"_index":58,"t":{"63":{"position":[[24,5]]}}}],["third",{"_index":20,"t":{"27":{"position":[[3,5]]},"35":{"position":[[3,5]]},"51":{"position":[[3,5]]}}}],["union",{"_index":31,"t":{"31":{"position":[[39,5]]}}}],["us",{"_index":17,"t":{"25":{"position":[[69,3]]},"63":{"position":[[33,3]]}}}],["websit",{"_index":18,"t":{"25":{"position":[[80,7]]},"29":{"position":[[47,7]]},"51":{"position":[[15,7]]},"63":{"position":[[16,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"At this early stage of Nomos' development, the team is primarily focused on implementing the network's consensus protocol, Carnot. As the consensus protocol is so foundational to the rest of the project, it must precede other development areas. Alongside Carnot, Nomos' contributors are working on defining the network architecture, which will also influence future roadmap items. After defining the network architecture and implementing the consensus protocol, we can establish further milestones both above and below the consensus protocol. Above the consensus layer will be the network's data model and execution environments, which will enable advanced functionality. Below will be P2P networking and peer discovery, which must be built or integrated while maintaining privacy and performance.","s":"Development roadmap","u":"/about/roadmap","h":"","p":1},{"i":4,"t":"Nomos is an innovative blockchain platform designed to address the critical requirements of the network state. It aims to provide developers with secure, flexible, and scalable infrastructure for building a wide range of applications while respecting the privacy and sovereignty of its users. Nomos serves as the trustless agreement layer of the Logos tech stack. Alongside the communications layer, Waku, and the storage layer, Codex, it is one of the Logos Collective's foundational projects. We believe that blockchain technology has the potential to lay the foundations of a fairer, less corruptible and, ultimately, freer society. However, its most successful implementations to date fall short of achieving this.","s":"About Nomos","u":"/about/","h":"","p":3},{"i":6,"t":"We seek to maximize the antifragility of our network. It should be unstoppable and incorruptible, with security layers focused on deterring bad actors. Not only will Nomos support good nodes, it will protect and reward them. This type of antifragility is needed to power the self-sovereign virtual territories and network states of tomorrow. Decentralised, impregnable governance is the key to securing the future. We believe that absolute transparency massively limits the scope of the technology's adoption, and therefore its revolutionary potential. We cannot expect individuals to voluntarily exit the current system into one in which their every interaction (both financial and social) is forever available for the entire world to see. When we buy a coffee, for example, there is no need for the seller to see our salary, other purchase history, or political leanings.","s":"Network-level resiliency, network-level sovereignty","u":"/about/","h":"#network-level-resiliency-network-level-sovereignty","p":3},{"i":8,"t":"Furthermore, we believe consent to be a critical element of any governance system. We find the nation-state's claims of governance via implied consent to be extremely contrived. And we believe blockchain-based systems represent an improvement because every on-chain action is voluntary and requires an individual to digitally sign, therefore, providing explicit consent. While this is certainly a step in the right direction, it does not go far enough. If an individual no longer aligns with the on-chain institutions of which they were once a part, today's blockchains offer a means of exiting the system to recreate something new. However, the cost to do so successfully can be prohibitively expensive. There have been numerous occasions in history where an on-chain community has been divided on some issue, resulting in a hard fork that creates two independent chains. In such situations, both networks suffer in terms of their overall security, making them more vulnerable to external attacks. Nomos leverages a novel architecture to avoid this situation. We believe that a simple disagreement over a community's path forward should not threaten the existence of either party. The Nomos network enables the creation of numerous semi-autonomous execution zones that share the main network's security while retaining the freedom to follow their own rulesets, and eventually become fully independent if they so choose.","s":"Consent of the governed","u":"/about/","h":"#consent-of-the-governed","p":3},{"i":10,"t":"Work on Nomos began among a small subgroup of Status core contributors in June, 2021. The network takes its name from the ancient Greek concept of law, while alluding to the protection of its users’ autonomy. Nomos was first announced as a core Logos project in June 2023.","s":"History","u":"/about/","h":"#history","p":3},{"i":12,"t":"Welcome to the Nomos Community! Join us as we build a novel blockchain layer ideal for a network state. Be the first to receive our latest news, access documentation, and celebrate with us as we get closer to realising the Logos network state. Follow us on X Join the community on Discord Contribute to Github","s":"Join the community","u":"/community","h":"","p":11},{"i":14,"t":"Nomos Applied Network Researcher Remote (Worldwide) Zero Knowledge Proof Researcher Remote (Worldwide)","s":"Current job openings","u":"/join-us","h":"","p":13},{"i":16,"t":"Nomos was designed to serve as the trustless agreements layer for emerging network states, providing a key piece of infrastructure to the Logos tech stack. We believe that such a network must maintain the following properties: Maximum decentralisation: Nomos is designed to place minimum resource demands on validators, ensuring that those without access to powerful hardware can participate. With the network maximally accessible, greater numbers of users can join as full peers, strengthening Nomos from a security perspective. Modular Architecture: We focus on implementing a modular architecture that decouples consensus and data availability from state execution and verification. This decoupling allows for maximum scalability for our blockchain technology, facilitating agile experiments in governance. Isolated performance trade-offs: Nomos will provide a means for customizable execution environments called Nomos Zones in which trade-offs can be made to achieve performance enhancements such as high transaction throughput. High Network Resiliency: Nomos puts an emphasis on mechanisms to protect the network from sophisticated and targeted attacks. The system identifies and targets risky nodes to ensure the strength of the network while supporting hundreds of thousands of nodes in the process, ensuring uncompromised resiliency.","s":"Description and architecture","u":"/about/architect","h":"","p":15},{"i":18,"t":"To achieve the above, Nomos is developing an underexplored area in the design space between Ethereum, Cosmos, Polkadot, and newer systems like Celestia and Anoma. Ethereum pioneered the concept of a blockchain network capable of smart contract execution, ushering in an ongoing era of monetary and organisational experimentation. Yet, it is vulnerable to various centralising forces. Furthermore, while its rollup-centric approach to scaling has the potential for decentralisation, most rollups today rely on centralised sequencers, and inter-rollup communication presents its own complications. While Nomos is inspired by Ethereum in many ways, these limitations make Ethereum ill-suited for our vision of a network of network states. App-chain ecosystems like Cosmos and Polkadot offer an alternative architecture but introduce their own challenges. Examples include bootstrapping sufficient participants to ensure the economic security of multiple independent chains, and addressing the asynchronous nature of cross-chain protocols. While Polkadot's shared security model offers something of a solution, the network fails to enable easy, permissionless participation and its parachains cannot be considered fully sovereign. Meanwhile, Anoma's fractal approach to scaling maintains decentralisation while providing flexibility and customizability closer to our vision for Nomos. However, the approach is still to be tested widely by real-world applications, which will surely produce its own challenges. Finally, Nomos implements insights from Celestia's architecture in its approach to communication, sovereignty, and scalability.","s":"Design space","u":"/about/architect","h":"#design-space","p":15},{"i":20,"t":"Nomos consists of three layers—the Base Layer, Coordination Layer, and Execution Zones. Each has a specific role that contributes to the system's functionality and performance. Base Layer Nomos' Base Layer focuses exclusively on consensus, data availability, and decentralisation, with the goal of ensuring stability, security, and scalability for the rest of the network. No execution or validation is performed at the Base Layer, as functions requiring access to state cannot be as reliably decentralised as consensus and data availability. The Carnot consensus protocol is crucial to ensuring high performance as the network scales from a few validators to tens of thousands. A forthcoming paper covers Carnot in greater detail. Alongside ensuring maximum decentralisation, the Base Layer also strives to make data availability scalable. It achieves this by: Reducing the amount of computation validators need by minimising or eliminating block execution or verification from the Base Layer. Reducing the amount of data light clients need to download through Data Availability Sampling. Reducing data redundancy in the network via sharding techniques that decouple data stored on the blockchain from the data that a single node needs to process and store. Coordination Layer Above the Base Layer is the Coordination Layer. The Coordination Layer's aim is to support functions common across all Execution Zones. To ensure maximum decentralisation, these functions are kept to the bare minimum, since everything on the Coordination Layer must be downloaded and verified by all validators. The Coordination Layer provides the following functions only: Verification of ZK proofs: The Coordination Layer's ability to verify ZK proofs facilitates powerful bridging capabilities, including private deposits and withdrawals between the Coordination Layer and Execution Zones, inter-Execution Zone private transfers, and generalised use cases. Message passing between Execution Zones: The Coordination Layer enables Execution Zones to communicate asynchronously with each other. Such messaging is a powerful feature but not entirely trustless—as detailed in the forthcoming Nomos whitepaper. Special operations, such as those relating to the creation of new Execution Zones: Initially, these special operations are limited to initiating new Execution Zones and the creation of a new zone's genesis block. Censorship resistance: Censorship resistance is an emergent property of the above features, enabling any user to \"exit\" an execution zone by submitting transactions to the Coordination Layer directly. This is particularly powerful in the event that an Execution Zone attempts to censor a user's actions. Execution Zones The Base and Coordination Layers support a third layer of Execution Zones. Execution Zones provide the following properties: Share liquidity with the entire Nomos network. Configurable latency reduction. Configurable throughput increases. Adaptability to specific applications and use cases. Execution Zones are most easily thought of as virtual sidechains that share the same global data availability space. Transactions associated with an Execution Zone are only processed by that zone's validators. However, unlike traditional sidechains, all applications on Nomos share the same blockchain, and data availability is uniformly ensured by the global Nomos network. This architecture makes Execution Zones more powerful than traditional sidechains as they: Use trust-minimised bridging for communication. Can access each other's transactions securely. Share liquidity across the network. Enable improved security via restaking. Execution Zones exist to satisfy a wide range of application requirements that may demand far greater performance characteristics than what a highly decentralised, monolithic blockchain can achieve before hitting scaling limits. Such applications are often willing to make compromises in terms of security or decentralisation to achieve higher performance. By combining the elastic consensus algorithm Carnot with a restaking mechanism and flexible execution models, Nomos grants a high degree of Execution Zone adaptability.","s":"Network architecture","u":"/about/architect","h":"#network-architecture","p":15},{"i":22,"t":"On this page Last updated: 9 February 2024 This Privacy Policy is intended to inform users of our approach to privacy in respect of this website (\"Website\"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.","s":"Privacy Policy","u":"/privacy-policy","h":"","p":21},{"i":24,"t":"For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at Logos Collective Association c/o PST Consulting GmbH Baarerstrasse 10 6300 Zug Switzerland Whenever we refer to “Logos”, “we” or other similar references, we are referring to the Logos Collective Association.","s":"1) Who we are","u":"/privacy-policy","h":"#1-who-we-are","p":21},{"i":26,"t":"We aim to limit the collection and collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable privacy legislation. We will not collect or process any personal data that we don’t need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose. In this regard, we collect and process the following personal data from your use of the Website: IP address: As part of such use of the Website and from our use of Fathom Analytics, we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time. Collection of email addresses: We collect your email address and first name (or if preferred, your pseudonym), on our website for the purpose of sending you information in relation to the project (s) on this website concerning technical and non-technical content and updates, as well as potentially invitations to project related events. Your email address is securely stored on our self-hosted servers, and we have implemented measures to protect such personal data by securing it with appropriate technical and organisational measures. We will not share such personal data to third parties without your consent, except as required by law. We will only collect and process your email address, first name and if applicable, your pseudonym on the basis of you providing your consent for us to do so. If you wish to stop receiving our email communications, you can do so by clicking the \"unsubscribe\" link in the emails you receive from us. Fathom Analytics: We note that we make use of Fathom Analytics, which you can read more about here: https://usefathom.com/. In short, Fathom Analytics is an alternative to Google Analytics, that doesn’t compromise visitor privacy for data. Fathom Analytics collects trends and insights, not personal details about specific website visitors. Fathom Analytics offers simple traffic insights such as top pages, top referrers, bounce rate, and average time people spend on a site.","s":"2) We limit the collection and processing of personal data from your use of the Website","u":"/privacy-policy","h":"#2-we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website","p":21},{"i":28,"t":"In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply. We would however like to draw your attention to the following: Youtube: The Website may embed videos from Youtube, a service provided by Google LLC, using Youtube’s privacy-enhanced mode. When you interact with such videos, Youtube may place cookies on your personal device. The cookies do not directly identify individual users and YouTube will not store information to personalise your experience unless you are logged in to a Google account. We do not have any control over these cookies set by Youtube and it is recommended that you review YouTube’s embedding videos information page.","s":"3) Third party processing of personal data","u":"/privacy-policy","h":"#3-third-party-processing-of-personal-data","p":21},{"i":30,"t":"As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us.","s":"4) Security measures we take in respect of the Website","u":"/privacy-policy","h":"#4-security-measures-we-take-in-respect-of-the-website","p":21},{"i":32,"t":"We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable privacy legislation.","s":"5) Exporting data outside the European Union and Switzerland","u":"/privacy-policy","h":"#5-exporting-data-outside-the-european-union-and-switzerland","p":21},{"i":34,"t":"As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant privacy legislation, you have the right to: Ask us to correct or update your personal data (where reasonably possible); Ask us to remove your personal data from our systems; Ask us for a copy of your personal data, which may also be transferred to another data controller at your request; Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn’t affect the validity of such processing activities before you have withdrawn your consent; Object to the processing of your personal data; and File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully.","s":"6) Your choices and rights","u":"/privacy-policy","h":"#6-your-choices-and-rights","p":21},{"i":36,"t":"On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites.","s":"7) Third party links","u":"/privacy-policy","h":"#7-third-party-links","p":21},{"i":38,"t":"We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website.","s":"8) This Privacy Policy might change","u":"/privacy-policy","h":"#8-this-privacy-policy-might-change","p":21},{"i":40,"t":"To the extent that you have any questions about the Privacy Policy, please contact us at legal@free.technology. This document is licensed under CC-BY-SA.","s":"9) Contact information","u":"/privacy-policy","h":"#9-contact-information","p":21},{"i":42,"t":"On this page Last updated: 14 February 2024 These website terms of use ('Website Terms of Use') are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website. It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use. If you do not agree with these Website Terms of Use, you must not access or use the Website.","s":"Terms of Use","u":"/terms","h":"","p":41},{"i":44,"t":"For the purposes of these Website Terms of Use, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at: Logos Collective Association c/o PST Consulting GmbH Baarerstrasse 10 6300 Zug Switzerland Whenever we refer to “Logos”, “we”, “us” or any other similar references, we are referring to the Logos Collective Association.","s":"1) Who we are","u":"/terms","h":"#1-who-we-are","p":41},{"i":46,"t":"The Website is provided by us on an ‘as is’ basis and you use the Website at your own sole discretion and risk. We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site.These disclaimers will apply to the maximum extent permitted by applicable law. We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws. The content herein or as accessible through this website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein. The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such. Nothing in this Website should be construed by you as an offer to buy or sell, or soliciting any offer to buy or sell any tokens or any security.","s":"2) Disclaimers","u":"/terms","h":"#2-disclaimers","p":41},{"i":48,"t":"The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general. The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what’s presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website. While we aim to update our website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion.","s":"3) Forward looking statements","u":"/terms","h":"#3-forward-looking-statements","p":41},{"i":50,"t":"The Website and its contents are made available under Creative Commons Attribution 4.0 International license (CC-BY 4.0). In essence this licence allows users to copy, modify and distribute the content in any format for any purpose, including commercial use, subject to certain requirements such as attributing us. For the full terms of this licence, please refer to the following website: https://creativecommons.org/licenses/by/4.0/.","s":"4) Intellectual property rights","u":"/terms","h":"#4-intellectual-property-rights","p":41},{"i":52,"t":"To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, Status does not represent or imply that it endorses or supports such third party websites or content therein, or that it believes such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites.","s":"5) Third-party website links","u":"/terms","h":"#5-third-party-website-links","p":41},{"i":54,"t":"We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law.","s":"6) Limitation of liability","u":"/terms","h":"#6-limitation-of-liability","p":41},{"i":56,"t":"You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys’ fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use.","s":"7) Indemnity","u":"/terms","h":"#7-indemnity","p":41},{"i":58,"t":"We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website.","s":"8) Modifications","u":"/terms","h":"#8-modifications","p":41},{"i":60,"t":"Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions.","s":"9) Governing law","u":"/terms","h":"#9-governing-law","p":41},{"i":62,"t":"In these terms, “dispute” has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website. We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions. If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking. If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers’ Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration. Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us.","s":"10) Disputes","u":"/terms","h":"#10-disputes","p":41},{"i":64,"t":"These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website. The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use. If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them. If you have any specific questions about these Website Terms of Use, please contact us at legal@free.technology. This document is licensed under CC-BY-SA.","s":"11) About these Website Terms of Use","u":"/terms","h":"#11-about-these-website-terms-of-use","p":41},{"i":66,"t":"Building Nomos is a team of passionate and experienced blockchain developers and researchers. Alongside Nomos' project lead is a team of researchers and developers with experience as software engineers both within and beyond the web3 ecosystem, and in academia. At this stage of development, the group of contributors working on Nomos is small, meaning it has a loose, fluid structure. As more contributors join to work on the network, we expect to revise the structure detailed here. Nomos is keen to work with other contributors. If you share our passion for decentralisation, individual sovereignty and privacy, we'd love to hear from you. As an open-source project, we also welcome community contributions. Please check out our Github repo here. Work with us","s":"Core contributors","u":"/about/team","h":"","p":65}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,3.3,1,2.404,2,1.548,3,2.602,4,2.76,5,3.3,6,2.404,7,2.363,8,3.728,9,4.113,10,3.938,11,3.728,12,2.76,13,2.76,14,1.598,15,3.3,16,2.76,17,2.138,18,2.404,19,2.404,20,3.728,21,1.753,22,2.602,23,3.3,24,2.404,25,2.76,26,3.3,27,3.3,28,2.76,29,3.3,30,1.926,31,2.888,32,4.457,33,1.749,34,1.348,35,2.404,36,1.926,37,2.404,38,2.138,39,3.3,40,1.926,41,3.3,42,2.76,43,3.3,44,3.3,45,3.3,46,2.138,47,0.977,48,2.404]],["t/4",[2,1.572,3,1.97,7,1.79,12,3.785,14,1.635,17,2.187,21,1.172,33,2.707,47,0.999,49,3.376,50,2.192,51,3.376,52,2.459,53,1.97,54,2.823,55,1.79,56,1.79,57,2.187,58,1.271,59,1.379,60,2.459,61,2.187,62,2.823,63,2.459,64,2.459,65,2.823,66,1.499,67,1.79,68,2.459,69,1.499,70,2.823,71,2.823,72,2.459,73,2.399,74,2.823,75,2.823,76,1.499,77,3.376,78,3.376,79,3.376,80,2.187,81,3.376,82,1.635,83,2.459,84,1.97,85,3.376,86,3.376,87,3.376,88,3.376,89,3.376,90,3.376,91,3.376,92,3.376,93,3.376,94,3.376,95,2.823,96,2.187]],["t/6",[2,1.109,6,2.326,21,1.514,24,2.326,30,1.863,33,1.693,56,1.693,59,1.781,80,2.069,82,1.546,84,1.863,97,2.67,98,2.67,99,4.359,100,3.193,101,3.193,102,3.193,103,3.193,104,3.193,105,2.069,106,3.193,107,2.326,108,1.693,109,3.193,110,3.193,111,3.175,112,2.326,113,2.67,114,2.67,115,2.67,116,3.193,117,3.193,118,1.863,119,3.193,120,1.693,121,2.67,122,3.193,123,3.193,124,3.193,125,1.109,126,3.193,127,3.193,128,3.193,129,2.326,130,3.193,131,2.069,132,2.069,133,3.193,134,2.326,135,2.67,136,1.863,137,2.67,138,2.67,139,3.193,140,3.193,141,1.863,142,2.326,143,2.67,144,4.359,145,2.67,146,3.193,147,2.67,148,3.193,149,3.193,150,3.193,151,2.67,152,3.193,153,3.193]],["t/8",[2,1.266,8,2.074,21,1.266,22,1.448,30,1.448,36,1.448,38,1.607,50,1.765,54,2.074,55,1.315,58,0.934,59,1.489,76,1.102,82,2.092,120,1.932,129,1.807,132,2.361,134,1.807,136,2.521,151,2.074,154,2.074,155,3.147,156,2.48,157,2.48,158,2.48,159,2.48,160,1.448,161,1.807,162,1.807,163,2.48,164,2.48,165,1.607,166,2.074,167,2.074,168,3.982,169,1.807,170,2.48,171,2.48,172,2.48,173,2.48,174,2.48,175,2.48,176,1.448,177,2.48,178,2.48,179,2.074,180,2.48,181,2.48,182,2.48,183,2.074,184,2.48,185,1.448,186,2.48,187,1.607,188,1.201,189,2.48,190,2.074,191,1.448,192,1.807,193,2.48,194,2.48,195,2.074,196,3.644,197,2.48,198,2.48,199,2.48,200,1.607,201,2.48,202,2.48,203,2.074,204,2.48,205,2.655,206,0.677,207,3.644,208,2.48,209,0.795,210,2.48,211,1.201,212,1.607,213,2.074,214,2.48,215,2.074,216,2.48,217,2.074,218,2.48,219,2.074,220,2.48,221,1.448,222,2.48,223,2.48,224,2.074,225,2.48,226,2.074,227,1.201,228,2.074,229,2.48,230,2.48,231,1.807,232,1.448,233,2.48,234,2.48,235,2.48,236,1.102,237,2.48,238,2.48,239,2.48,240,2.074,241,2.48]],["t/10",[2,1.808,14,2.03,18,3.054,19,3.054,21,1.456,69,1.862,73,2.222,108,2.222,242,4.192,243,3.506,244,4.192,245,3.506,246,5.206,247,5.206,248,4.192,249,3.506,250,3.506,251,4.192,252,4.192,253,3.506,254,2.222,255,4.192,256,4.192,257,2.716,258,4.192,259,4.192]],["t/12",[2,1.446,21,1.8,33,2.207,50,2.016,56,2.748,63,3.032,73,2.207,76,2.302,191,2.429,217,3.481,236,1.849,257,2.697,260,3.481,261,3.776,262,4.162,263,3.032,264,4.162,265,2.016,266,3.032,267,4.162,268,3.481,269,4.162,270,4.162,271,4.162,272,3.032,273,3.481]],["t/14",[2,1.656,21,1.656,274,2.783,275,4.707,276,5.628,277,5.628,278,4.769,279,4.769,280,3.988]],["t/16",[2,1.845,7,1.321,9,1.815,21,1.845,22,2.134,33,1.321,34,1.018,36,2.134,37,1.815,42,2.083,46,1.614,48,2.663,50,1.206,52,2.663,56,1.938,58,1.376,59,1.018,61,1.614,62,2.083,69,1.106,70,2.083,71,2.083,72,1.815,73,1.321,74,2.083,75,2.083,82,1.206,83,1.815,96,1.614,98,2.083,105,1.614,107,2.663,108,1.321,112,1.815,118,1.454,120,1.321,121,2.083,136,1.454,141,1.454,188,1.206,206,0.998,215,2.083,231,1.815,236,1.106,261,1.815,265,1.77,281,2.083,282,2.491,283,1.815,284,2.369,285,1.614,286,2.083,287,2.491,288,2.083,289,1.815,290,2.528,291,1.815,292,1.106,293,2.491,294,1.815,295,2.083,296,2.491,297,1.815,298,2.491,299,2.491,300,3.656,301,2.491,302,3.057,303,2.083,304,2.083,305,2.083,306,2.491,307,1.815,308,2.491,309,3.656,310,3.656,311,2.083,312,2.491,313,1.815,314,1.815,315,2.663,316,2.083,317,2.083,318,3.656,319,2.491,320,2.491,321,2.083,322,2.491,323,3.656,324,1.614,325,2.491,326,2.491,327,2.083,328,2.083,329,1.206,330,2.491]],["t/18",[2,1.599,3,1.351,7,1.227,10,1.686,16,1.936,21,1.599,22,2.021,31,1.5,35,1.686,36,1.351,38,1.5,46,1.5,50,1.121,52,1.686,53,1.351,56,1.227,58,0.871,59,1.415,60,1.686,61,1.5,64,1.686,66,1.028,68,1.686,76,1.538,84,1.351,96,1.5,114,1.936,118,2.021,125,0.804,136,1.351,143,1.936,147,1.936,154,1.936,168,3.469,187,2.243,190,1.936,205,1.686,211,1.121,213,1.936,232,1.351,240,1.936,253,1.936,268,1.936,290,1.351,294,2.522,311,1.936,331,2.315,332,1.936,333,1.351,334,4.603,335,3.462,336,3.462,337,2.315,338,2.315,339,2.315,340,2.315,341,1.936,342,2.315,343,1.686,344,2.315,345,2.315,346,2.315,347,2.315,348,1.936,349,2.315,350,2.315,351,3.462,352,1.686,353,4.148,354,2.315,355,3.354,356,2.896,357,2.315,358,1.936,359,2.315,360,1.936,361,1.686,362,2.315,363,2.315,364,2.315,365,1.686,366,2.315,367,2.315,368,3.462,369,2.315,370,1.936,371,1.936,372,2.315,373,3.462,374,0.946,375,2.315,376,2.315,377,2.315,378,2.315,379,1.936,380,1.936,381,2.315,382,2.315,383,2.315,384,1.936,385,2.315,386,2.315,387,2.315,388,1.936,389,2.315,390,2.315,391,2.315,392,1.936,393,2.315,394,2.315,395,2.315,396,2.315,397,1.936,398,1.936,399,2.315]],["t/20",[2,1.401,6,0.846,9,2.245,10,0.846,11,2.177,13,0.971,17,0.752,21,1.311,22,0.678,31,1.287,33,2.824,34,1.881,35,0.846,36,3.248,38,1.687,40,2.021,48,2.523,50,1.26,55,1.053,56,0.615,57,0.752,58,0.748,59,1.259,60,0.846,61,1.287,64,0.846,65,0.971,66,1.369,69,0.516,76,0.882,96,1.687,105,1.287,107,0.846,111,1.896,112,2.245,115,0.971,118,2.203,125,0.69,134,0.846,141,2.203,142,1.447,161,1.447,165,2.756,167,0.971,169,0.846,179,0.971,191,1.519,206,0.711,209,0.372,211,1.26,212,0.752,226,0.971,228,1.661,231,3.929,232,1.798,236,0.882,265,0.962,272,0.846,280,1.661,281,0.971,283,1.447,284,1.287,286,0.971,288,0.971,289,2.523,290,2.021,291,0.846,295,1.661,302,0.971,303,1.661,305,0.971,315,1.447,316,2.177,317,0.971,321,0.971,328,0.971,329,0.962,332,0.971,333,1.159,341,0.971,356,1.661,360,0.971,374,0.474,379,0.971,400,0.971,401,1.161,402,1.161,403,4.746,404,2.177,405,1.159,406,1.161,407,1.161,408,1.161,409,1.161,410,1.161,411,0.846,412,1.161,413,1.161,414,1.161,415,1.986,416,1.161,417,0.971,418,1.287,419,1.161,420,2.603,421,1.661,422,1.161,423,1.986,424,1.161,425,1.986,426,1.161,427,1.161,428,1.986,429,0.678,430,1.161,431,1.161,432,1.161,433,1.161,434,1.447,435,1.161,436,1.986,437,0.971,438,0.971,439,1.161,440,1.161,441,1.986,442,1.986,443,1.161,444,1.986,445,1.986,446,1.161,447,0.971,448,0.971,449,1.161,450,0.603,451,1.986,452,1.986,453,1.161,454,1.447,455,1.161,456,1.161,457,1.661,458,1.986,459,0.562,460,1.986,461,1.986,462,1.161,463,1.986,464,1.986,465,0.846,466,0.971,467,1.161,468,0.752,469,1.161,470,1.161,471,1.161,472,0.678,473,1.986,474,1.986,475,1.161,476,1.161,477,1.161,478,1.986,479,1.161,480,1.161,481,2.603,482,1.661,483,1.986,484,0.846,485,0.971,486,1.986,487,1.161,488,1.161,489,1.161,490,1.986,491,1.161,492,1.161,493,1.161,494,1.161,495,0.846,496,1.161,497,1.161,498,0.971,499,1.161,500,1.161,501,1.161,502,1.161,503,1.161,504,0.971]],["t/22",[47,1.714,67,2.339,69,1.96,274,2.575,355,3.214,505,2.859,506,3.69,507,2.575,508,4.412,509,3.69,510,3.69,511,2.386,512,3.69,513,2.137,514,1.129,515,2.859,516,4.412]],["t/24",[34,1.588,47,1.151,53,2.269,73,3.055,329,1.883,484,3.984,511,1.727,517,2.269,518,3.363,519,2.061,520,2.519,521,2.519,522,3.251,523,3.251,524,3.251,525,3.617,526,2.269,527,3.251,528,3.251,529,3.251,530,3.251,531,3.251,532,3.251,533,3.251,534,3.251,535,2.519,536,3.251,537,3.192,538,3.251]],["t/26",[7,0.978,14,1.408,34,2.093,40,1.076,47,0.86,53,2.99,55,0.978,57,1.195,58,0.694,59,1.47,66,1.291,69,0.819,76,0.819,84,1.076,95,1.542,108,0.978,111,2.118,113,1.542,125,0.64,155,2.118,185,1.076,187,1.195,206,1.214,211,0.893,212,1.195,219,1.542,221,1.076,227,0.893,232,1.076,236,0.819,250,2.431,254,0.978,257,1.884,263,2.118,290,1.076,292,0.819,314,1.343,324,1.195,329,2.394,348,1.542,365,1.343,371,1.542,398,2.431,405,1.697,418,1.195,421,1.542,434,2.976,450,0.946,459,1.408,468,1.195,472,1.076,498,1.542,505,1.195,507,1.076,513,0.893,514,0.964,515,1.195,517,2.101,518,3.077,519,2.716,526,1.076,539,1.195,540,2.431,541,1.076,542,1.343,543,1.844,544,2.101,545,1.844,546,4.085,547,4.722,548,4.943,549,1.844,550,1.844,551,1.844,552,3.416,553,3.01,554,4.722,555,1.542,556,2.907,557,1.542,558,1.844,559,1.542,560,1.343,561,0.694,562,1.542,563,1.844,564,1.844,565,1.844,566,1.542,567,1.844,568,1.844,569,1.844,570,1.844,571,1.844,572,1.195,573,1.542,574,1.542,575,1.542,576,1.844,577,1.542,578,1.542,579,2.907,580,1.844,581,1.844,582,2.907,583,1.844,584,1.844,585,1.844,586,1.844,587,1.844,588,1.844,589,1.343]],["t/28",[34,1.723,47,1.248,58,1.588,67,1.614,69,1.352,125,1.057,132,1.973,137,3.528,200,1.973,206,1.152,211,1.474,221,1.777,227,2.043,236,1.352,274,1.777,285,1.973,307,2.218,314,2.218,324,1.973,329,1.474,434,2.218,450,0.977,454,3.073,466,2.546,472,2.462,505,1.973,511,1.352,513,2.043,514,0.823,518,2.462,519,2.566,520,1.973,539,2.733,561,1.588,577,3.528,590,3.044,591,1.777,592,3.044,593,3.044,594,5.488,595,3.044,596,4.048,597,2.546,598,3.044,599,4.218,600,3.044,601,4.84,602,3.044,603,3.044,604,3.044,605,3.044,606,3.044,607,2.546,608,3.044,609,2.546,610,3.044]],["t/30",[7,2.411,34,2.235,46,2.947,59,2.235,206,1.242,249,3.803,355,3.313,465,3.313,513,2.203,514,0.887,519,2.411,553,3.803,611,3.803,612,4.548,613,4.548,614,4.548]],["t/32",[34,2.324,47,1.34,55,1.79,58,1.704,66,1.499,108,2.892,188,1.635,206,1.236,227,1.635,285,2.187,290,1.97,329,1.635,405,1.97,450,0.782,465,2.459,468,2.933,482,2.823,485,2.823,519,3.016,535,3.535,542,2.459,615,2.823,616,3.376,617,4.526,618,5.106,619,4.526,620,3.376,621,3.376,622,3.376,623,2.823,624,3.376,625,2.823,626,3.785,627,3.376,628,2.823,629,3.376,630,3.376,631,3.376,632,3.376,633,3.376]],["t/34",[34,2.479,47,1.226,67,1.573,82,1.437,108,1.573,125,1.031,136,1.732,155,3.765,165,1.923,176,2.419,206,0.81,289,2.162,329,2.856,392,2.482,447,2.482,448,2.482,495,2.162,507,1.732,511,1.318,513,1.437,518,2.419,519,3.127,520,1.923,521,1.923,539,1.923,542,2.162,578,2.482,634,2.968,635,2.968,636,3.019,637,2.968,638,2.968,639,2.968,640,2.162,641,5.169,642,2.968,643,2.482,644,2.968,645,2.482,646,2.968,647,2.968,648,3.479,649,3.466,650,2.968,651,2.968,652,2.482,653,2.968,654,2.968,655,2.968,656,2.968,657,2.968]],["t/36",[47,1.316,129,3.238,205,3.238,227,2.814,472,3.392,511,1.974,514,1.133,561,1.673,572,2.88,589,3.238,648,3.238,658,4.445,659,4.445,660,2.356,661,3.717]],["t/38",[47,1.597,185,2.594,191,2.594,292,1.974,511,2.397,514,1.052,544,2.594,662,2.88,663,3.717,664,2.88,665,2.356,666,3.238,667,3.717,668,3.238,669,2.88,670,3.717,671,3.238,672,3.717]],["t/40",[47,1.411,266,3.474,511,2.118,541,2.783,591,2.783,665,2.528,673,3.988,674,3.988,675,3.988,676,3.474,677,3.474,678,3.988]],["t/42",[40,2.169,120,1.97,188,1.8,209,1.882,265,2.335,374,1.518,450,1.454,495,2.707,505,2.408,506,3.108,507,2.169,509,3.108,510,3.108,514,1.234,561,1.399,574,3.108,660,1.97,679,3.716,680,3.716,681,2.707,682,3.716,683,4.822,684,3.108,685,3.108]],["t/44",[53,2.331,73,3.085,209,1.28,450,0.925,484,4.034,514,0.779,517,2.331,518,3.232,521,2.587,522,3.34,523,3.34,524,3.34,525,3.679,526,2.331,527,3.34,528,3.34,529,3.34,530,3.34,531,3.34,532,3.34,533,3.34,534,3.34,535,2.587,536,3.34,537,3.232,538,3.34]],["t/46",[14,1.13,24,1.7,58,0.878,59,0.953,66,1.547,125,0.81,131,1.512,138,1.951,141,2.033,145,2.913,160,1.362,162,2.537,176,1.362,187,2.257,203,1.951,206,0.951,211,1.687,254,1.846,265,2.018,274,1.362,283,1.7,284,1.512,292,1.036,313,1.7,343,1.7,358,1.951,361,1.7,374,0.953,388,2.913,411,1.7,429,1.362,450,0.965,459,1.687,512,1.951,513,2.018,514,1.101,517,2.033,526,2.432,540,2.913,559,1.951,560,1.7,561,1.74,566,1.951,572,1.512,589,1.7,591,1.362,615,1.951,625,1.951,626,1.951,660,1.237,671,1.7,681,2.537,685,1.951,686,3.036,687,2.913,688,1.7,689,3.483,690,3.485,691,2.333,692,3.483,693,2.333,694,2.333,695,2.333,696,2.333,697,2.333,698,1.951,699,2.333,700,2.913,701,1.951,702,1.951,703,2.333,704,2.333,705,2.333,706,1.951,707,2.333,708,1.951,709,2.333,710,3.367,711,2.333,712,2.333,713,1.7,714,2.333,715,2.333,716,2.913,717,2.333,718,1.951,719,1.951,720,2.333,721,2.333,722,2.333,723,2.333,724,2.333,725,2.333,726,3.483,727,2.333,728,1.951]],["t/48",[1,1.886,3,2.585,14,2.145,25,2.166,31,1.678,37,1.886,40,1.511,57,1.678,83,1.886,131,1.678,135,2.166,165,2.437,200,1.678,206,0.707,224,3.703,265,1.821,285,1.678,292,1.15,315,2.74,361,1.886,374,1.809,404,2.166,405,1.511,411,2.74,418,1.678,429,2.195,450,0.6,454,1.886,459,1.254,504,3.145,507,1.511,513,2.145,514,1.006,544,1.511,552,3.145,611,2.166,660,1.373,664,1.678,668,2.74,681,3.226,686,1.886,687,2.166,688,2.74,701,3.145,702,2.166,710,2.74,718,3.145,719,3.145,728,2.166,729,4.428,730,5.161,731,2.589,732,2.589,733,2.589,734,2.589,735,3.761,736,2.589,737,3.703,738,3.761,739,2.589,740,2.166,741,2.589,742,2.589,743,2.589,744,3.761,745,2.589,746,2.589,747,2.589,748,2.589,749,2.166,750,2.589,751,2.589,752,2.589,753,2.589,754,2.589,755,2.589]],["t/50",[55,2.075,69,1.738,141,2.284,206,1.069,209,1.255,236,1.738,297,2.851,304,3.273,313,2.851,374,1.599,437,3.273,450,0.907,514,0.972,517,2.284,537,2.284,539,2.536,541,2.284,561,1.877,645,3.273,662,2.536,665,2.075,676,2.851,677,2.851,737,3.273,756,3.914,757,4.985,758,4.985,759,3.273,760,3.914,761,4.985,762,3.914,763,3.914,764,3.914,765,3.914]],["t/52",[47,0.935,58,1.189,82,1.53,105,2.047,120,1.674,162,2.301,166,2.641,206,1.568,209,1.013,221,1.844,227,2.942,245,2.641,265,2.095,291,2.301,374,1.29,429,2.525,450,1.143,472,3.545,511,1.403,514,1.22,520,2.047,560,2.301,561,1.629,572,2.804,591,1.844,648,3.152,660,1.674,686,2.301,688,2.301,740,2.641,749,2.641,766,3.158,767,4.327,768,3.158,769,2.641]],["t/54",[66,1.562,80,2.279,125,1.615,160,2.053,192,2.562,206,1.27,209,1.127,254,1.864,274,2.053,284,2.279,327,2.941,343,2.562,365,2.562,450,1.077,457,2.941,459,1.703,468,2.279,514,1.081,526,2.053,541,2.053,561,1.324,591,2.053,597,2.941,636,2.562,661,4.358,706,2.941,769,2.941,770,2.562,771,3.517,772,3.517,773,3.517,774,3.517,775,3.517,776,3.517,777,3.517,778,3.517,779,3.517,780,3.517,781,3.89,782,2.562,783,3.517,784,3.517,785,3.517,786,3.517,787,3.517,788,3.517,789,3.517]],["t/56",[125,1.51,160,2.537,195,3.635,209,1.394,292,1.931,374,2.175,450,1.233,459,2.105,514,1.122,561,1.636,698,3.635,713,3.166,781,3.635,782,3.166,790,4.347,791,4.347,792,4.347,793,3.635,794,4.347,795,3.635]],["t/58",[185,2.556,191,2.556,209,1.714,292,1.945,450,1.239,514,1.172,544,2.556,660,2.321,662,2.837,663,3.662,664,2.837,666,3.19,667,3.662,668,3.19,669,2.837,670,3.662,671,3.19,672,3.662]],["t/60",[120,2.449,209,1.481,254,2.928,292,2.052,333,2.696,450,1.07,514,0.901,515,2.993,716,3.863,796,3.863,797,3.863,798,3.863,799,3.863,800,4.619,801,3.863]],["t/62",[28,1.651,66,0.877,67,1.046,76,0.877,80,1.987,82,0.956,84,1.152,97,1.651,125,1.065,160,2.679,161,1.438,169,1.438,176,2.194,183,1.651,188,0.956,192,1.438,200,1.279,206,0.837,209,0.983,211,1.485,221,1.152,227,0.956,236,0.877,254,1.046,257,1.279,263,1.438,294,1.438,333,1.152,352,1.438,374,1.253,380,1.651,397,1.651,400,1.651,429,1.152,438,1.651,450,0.871,459,0.956,514,0.827,521,1.279,525,1.438,535,1.279,537,1.79,544,1.79,555,1.651,557,1.651,561,0.743,562,1.651,573,1.651,596,1.651,607,1.651,609,1.651,623,1.651,628,1.651,636,1.438,640,1.438,643,2.564,652,1.651,664,1.987,665,1.046,669,1.987,684,1.651,708,1.651,710,1.438,713,1.438,759,2.564,770,1.438,782,1.438,793,2.564,795,2.564,796,3.144,797,4.502,798,2.564,799,4.878,802,1.974,803,2.564,804,1.974,805,3.066,806,1.974,807,1.974,808,4.239,809,1.974,810,3.144,811,1.974,812,1.974,813,1.974,814,1.974,815,1.974,816,3.066,817,1.974,818,1.974,819,1.651,820,1.974,821,1.974,822,1.974,823,2.564,824,1.974,825,1.974,826,1.974,827,1.974,828,1.974,829,1.974,830,3.066,831,3.76,832,1.974,833,1.974,834,1.974,835,1.974,836,1.974,837,1.974,838,1.974,839,1.974,840,1.974,841,1.974,842,1.974,843,1.974,844,1.974,845,1.974,846,1.974,847,1.974,848,1.974,849,1.974,850,1.974,851,1.974,852,1.974,853,1.974,854,1.974]],["t/64",[20,2.572,30,1.795,67,1.631,72,3.095,125,1.068,142,2.241,176,1.795,185,2.48,188,1.49,209,1.872,266,2.241,297,2.241,324,1.993,333,1.795,352,2.241,384,2.572,405,1.795,417,2.572,450,1.353,514,1.178,515,1.993,537,1.795,541,1.795,649,2.572,662,1.993,665,1.631,669,1.993,673,2.572,674,2.572,675,2.572,676,2.241,677,2.241,678,2.572,690,2.572,700,2.572,770,2.241,801,2.572,803,3.553,810,2.572,819,2.572,855,3.076,856,3.076,857,3.076,858,3.076,859,3.076,860,3.076,861,3.076,862,3.076,863,3.076,864,3.076,865,3.076,866,3.076,867,3.076,868,3.076,869,4.249,870,3.076]],["t/66",[1,2.351,2,1.861,3,2.913,4,3.672,14,2.127,17,2.091,18,3.636,19,3.902,21,1.121,30,1.884,47,0.955,50,1.563,63,2.351,68,2.351,76,1.434,118,1.884,131,2.091,132,2.091,188,1.563,212,2.091,232,1.884,243,2.699,260,2.699,261,2.351,272,2.351,273,2.699,275,3.672,307,2.351,370,2.699,418,2.091,575,3.672,640,2.351,665,1.711,666,2.351,823,2.699,871,4.391,872,3.228,873,3.228,874,3.228,875,3.228,876,3.228,877,3.228,878,3.228,879,3.228,880,3.228,881,3.228,882,4.391,883,3.228,884,3.228,885,3.228,886,3.228,887,3.228,888,3.228,889,3.228,890,3.228]]],"invertedIndex":[["10",{"_index":533,"t":{"24":{"position":[[305,2]]},"44":{"position":[[246,2]]}}}],["100",{"_index":788,"t":{"54":{"position":[[528,3]]}}}],["14",{"_index":679,"t":{"42":{"position":[[27,2]]}}}],["2021",{"_index":248,"t":{"10":{"position":[[80,5]]}}}],["2023",{"_index":259,"t":{"10":{"position":[[267,5]]}}}],["2024",{"_index":510,"t":{"22":{"position":[[38,4]]},"42":{"position":[[39,4]]}}}],["4.0",{"_index":758,"t":{"50":{"position":[[83,3],[116,5]]}}}],["60",{"_index":825,"t":{"62":{"position":[[1068,4]]}}}],["6300",{"_index":534,"t":{"24":{"position":[[308,4]]},"44":{"position":[[249,4]]}}}],["9",{"_index":508,"t":{"22":{"position":[[27,1]]}}}],["abil",{"_index":443,"t":{"20":{"position":[[1704,7]]}}}],["abov",{"_index":31,"t":{"2":{"position":[[503,5],[543,5]]},"18":{"position":[[15,6]]},"20":{"position":[[1278,5],[2475,5]]},"48":{"position":[[1073,6]]}}}],["absolut",{"_index":122,"t":{"6":{"position":[[431,8]]}}}],["academia",{"_index":878,"t":{"66":{"position":[[252,9]]}}}],["access",{"_index":265,"t":{"12":{"position":[[145,6]]},"16":{"position":[[348,6],[420,11]]},"20":{"position":[[455,6],[3529,6]]},"42":{"position":[[149,6],[519,6]]},"46":{"position":[[773,11],[845,6],[1007,10]]},"48":{"position":[[451,10],[1163,10]]},"52":{"position":[[563,8],[600,6]]}}}],["accord",{"_index":830,"t":{"62":{"position":[[1290,10],[1937,10]]}}}],["account",{"_index":606,"t":{"28":{"position":[[752,8]]}}}],["accur",{"_index":749,"t":{"48":{"position":[[872,9]]},"52":{"position":[[399,9]]}}}],["accuraci",{"_index":702,"t":{"46":{"position":[[421,9]]},"48":{"position":[[941,9]]}}}],["achiev",{"_index":96,"t":{"4":{"position":[[703,9]]},"16":{"position":[[964,7]]},"18":{"position":[[3,7]]},"20":{"position":[[844,8],[3838,7],[3977,7]]}}}],["action",{"_index":169,"t":{"8":{"position":[[266,6]]},"20":{"position":[[2694,8]]},"62":{"position":[[2234,6]]}}}],["activ",{"_index":648,"t":{"34":{"position":[[646,10],[687,10],[780,10]]},"36":{"position":[[209,10]]},"52":{"position":[[524,10],[717,10]]}}}],["actor",{"_index":104,"t":{"6":{"position":[[144,7]]}}}],["actual",{"_index":742,"t":{"48":{"position":[[695,6]]}}}],["adapt",{"_index":478,"t":{"20":{"position":[[2958,12],[4160,13]]}}}],["addit",{"_index":590,"t":{"28":{"position":[[3,8]]}}}],["address",{"_index":53,"t":{"4":{"position":[[55,7]]},"18":{"position":[[975,10]]},"24":{"position":[[227,7]]},"26":{"position":[[552,8],[661,7],[768,9],[874,7],[933,10],[966,7],[1262,7],[1598,8]]},"44":{"position":[[167,7]]}}}],["adequ",{"_index":621,"t":{"32":{"position":[[288,8]]}}}],["administ",{"_index":828,"t":{"62":{"position":[[1227,12]]}}}],["administr",{"_index":845,"t":{"62":{"position":[[1891,14]]}}}],["adopt",{"_index":128,"t":{"6":{"position":[[500,9]]}}}],["advanc",{"_index":39,"t":{"2":{"position":[[648,8]]}}}],["advic",{"_index":722,"t":{"46":{"position":[[1586,6]]}}}],["advis",{"_index":785,"t":{"54":{"position":[[412,7]]}}}],["affect",{"_index":649,"t":{"34":{"position":[[668,7],[741,6]]},"64":{"position":[[412,6]]}}}],["against",{"_index":793,"t":{"56":{"position":[[53,7]]},"62":{"position":[[102,7],[2276,7]]}}}],["aggreg",{"_index":786,"t":{"54":{"position":[[474,9]]}}}],["agil",{"_index":306,"t":{"16":{"position":[[777,5]]}}}],["agre",{"_index":683,"t":{"42":{"position":[[390,6],[467,5]]}}}],["agreement",{"_index":72,"t":{"4":{"position":[[323,9]]},"16":{"position":[[45,10]]},"64":{"position":[[44,9],[155,11]]}}}],["aim",{"_index":57,"t":{"4":{"position":[[114,4]]},"20":{"position":[[1351,3]]},"26":{"position":[[3,3]]},"48":{"position":[[1205,3]]}}}],["algorithm",{"_index":502,"t":{"20":{"position":[[4040,9]]}}}],["align",{"_index":182,"t":{"8":{"position":[[480,6]]}}}],["allow",{"_index":304,"t":{"16":{"position":[[702,6]]},"50":{"position":[[146,6]]}}}],["allud",{"_index":255,"t":{"10":{"position":[[158,8]]}}}],["alongsid",{"_index":17,"t":{"2":{"position":[[245,9]]},"4":{"position":[[364,9]]},"20":{"position":[[732,9]]},"66":{"position":[[94,9]]}}}],["altern",{"_index":371,"t":{"18":{"position":[[791,11]]},"26":{"position":[[2009,11]]}}}],["alway",{"_index":631,"t":{"32":{"position":[[662,6]]}}}],["amend",{"_index":754,"t":{"48":{"position":[[1347,7]]}}}],["amic",{"_index":817,"t":{"62":{"position":[[755,8]]}}}],["amount",{"_index":421,"t":{"20":{"position":[[875,6],[1008,6]]},"26":{"position":[[403,6]]}}}],["analyt",{"_index":548,"t":{"26":{"position":[[623,10],[1859,10],[1905,10],[1993,9],[2031,10],[2099,9],[2200,9]]}}}],["ancient",{"_index":251,"t":{"10":{"position":[[122,7]]}}}],["announc",{"_index":258,"t":{"10":{"position":[[225,9]]}}}],["anoma",{"_index":339,"t":{"18":{"position":[[156,6]]}}}],["anoma'",{"_index":390,"t":{"18":{"position":[[1238,7]]}}}],["anoth",{"_index":646,"t":{"34":{"position":[[509,7]]}}}],["antifragil",{"_index":99,"t":{"6":{"position":[[24,13],[238,13]]}}}],["app",{"_index":369,"t":{"18":{"position":[[736,3]]}}}],["appli",{"_index":274,"t":{"14":{"position":[[6,7]]},"22":{"position":[[227,7]]},"28":{"position":[[309,6]]},"46":{"position":[[656,5]]},"54":{"position":[[587,5]]}}}],["applic",{"_index":66,"t":{"4":{"position":[[221,12]]},"18":{"position":[[1446,13]]},"20":{"position":[[2983,12],[3265,12],[3697,11],[3882,12]]},"26":{"position":[[226,10],[1625,11]]},"32":{"position":[[694,10]]},"46":{"position":[[697,10],[959,10]]},"54":{"position":[[628,10]]},"62":{"position":[[2017,10]]}}}],["approach",{"_index":355,"t":{"18":{"position":[[422,8],[1254,8],[1394,8],[1577,8]]},"22":{"position":[[98,8]]},"30":{"position":[[13,9]]}}}],["appropri",{"_index":566,"t":{"26":{"position":[[1400,11]]},"46":{"position":[[806,11]]}}}],["arbitr",{"_index":799,"t":{"60":{"position":[[102,12]]},"62":{"position":[[260,11],[427,11],[549,11],[1215,11],[1263,11],[1339,11],[1447,8],[1499,11],[1656,11],[1781,11],[1860,12],[1910,10],[1986,12],[2264,11]]}}}],["architectur",{"_index":22,"t":{"2":{"position":[[319,13],[408,12]]},"8":{"position":[[1023,12]]},"16":{"position":[[538,13],[587,12]]},"18":{"position":[[803,12],[1557,12]]},"20":{"position":[[3391,12]]}}}],["area",{"_index":16,"t":{"2":{"position":[[238,6]]},"18":{"position":[[59,4]]}}}],["aris",{"_index":782,"t":{"54":{"position":[[251,7]]},"56":{"position":[[130,7]]},"62":{"position":[[690,7]]}}}],["aros",{"_index":850,"t":{"62":{"position":[[2110,5]]}}}],["ask",{"_index":641,"t":{"34":{"position":[[305,3],[381,3],[435,3],[623,5]]}}}],["associ",{"_index":484,"t":{"20":{"position":[[3141,10]]},"24":{"position":[[152,12],[255,11],[434,12]]},"44":{"position":[[92,12],[196,11],[385,12]]}}}],["assumpt",{"_index":733,"t":{"48":{"position":[[118,11]]}}}],["asynchron",{"_index":379,"t":{"18":{"position":[[990,12]]},"20":{"position":[[2041,14]]}}}],["attack",{"_index":215,"t":{"8":{"position":[[990,8]]},"16":{"position":[[1151,8]]}}}],["attempt",{"_index":469,"t":{"20":{"position":[[2666,8]]}}}],["attent",{"_index":593,"t":{"28":{"position":[[351,9]]}}}],["attorney",{"_index":794,"t":{"56":{"position":[[113,10]]}}}],["attribut",{"_index":757,"t":{"50":{"position":[[71,11],[299,11]]}}}],["autonom",{"_index":230,"t":{"8":{"position":[[1238,10]]}}}],["autonomi",{"_index":256,"t":{"10":{"position":[[199,9]]}}}],["avail",{"_index":141,"t":{"6":{"position":[[702,9]]},"16":{"position":[[634,12]]},"20":{"position":[[245,13],[529,13],[818,12],[1067,12],[3108,12],[3323,12]]},"46":{"position":[[478,12],[1062,9]]},"50":{"position":[[38,9]]}}}],["averag",{"_index":586,"t":{"26":{"position":[[2292,7]]}}}],["avoid",{"_index":218,"t":{"8":{"position":[[1039,5]]}}}],["award",{"_index":813,"t":{"62":{"position":[[561,5]]}}}],["baarerstrass",{"_index":532,"t":{"24":{"position":[[291,13]]},"44":{"position":[[232,13]]}}}],["bad",{"_index":103,"t":{"6":{"position":[[140,3]]}}}],["bare",{"_index":439,"t":{"20":{"position":[[1482,4]]}}}],["base",{"_index":165,"t":{"8":{"position":[[204,5]]},"20":{"position":[[35,4],[177,4],[195,4],[420,4],[781,4],[983,4],[1288,4],[2723,4]]},"34":{"position":[[707,5]]},"48":{"position":[[65,5],[590,5]]}}}],["basi",{"_index":540,"t":{"26":{"position":[[205,5],[1659,5]]},"46":{"position":[[44,5],[1177,5]]}}}],["be",{"_index":832,"t":{"62":{"position":[[1364,5]]}}}],["bear",{"_index":750,"t":{"48":{"position":[[910,4]]}}}],["becom",{"_index":239,"t":{"8":{"position":[[1377,6]]}}}],["befor",{"_index":495,"t":{"20":{"position":[[3846,6]]},"34":{"position":[[791,6]]},"42":{"position":[[316,6]]}}}],["began",{"_index":242,"t":{"10":{"position":[[14,5]]}}}],["believ",{"_index":82,"t":{"4":{"position":[[498,7]]},"6":{"position":[[418,7]]},"8":{"position":[[16,7],[185,7],[1064,7]]},"16":{"position":[[159,7]]},"34":{"position":[[978,7]]},"52":{"position":[[338,8]]},"62":{"position":[[294,7]]}}}],["below",{"_index":32,"t":{"2":{"position":[[513,5],[672,5]]}}}],["between",{"_index":333,"t":{"18":{"position":[[84,7]]},"20":{"position":[[1819,7],[1954,7]]},"60":{"position":[[62,7]]},"62":{"position":[[1714,7]]},"64":{"position":[[54,7]]}}}],["beyond",{"_index":876,"t":{"66":{"position":[[218,6]]}}}],["bind",{"_index":712,"t":{"46":{"position":[[1214,7]]}}}],["block",{"_index":425,"t":{"20":{"position":[[942,5],[2392,6]]}}}],["blockchain",{"_index":50,"t":{"4":{"position":[[23,10],[511,10]]},"8":{"position":[[193,10],[558,11]]},"12":{"position":[[60,10]]},"16":{"position":[[741,10]]},"18":{"position":[[199,10]]},"20":{"position":[[1187,10],[3302,11],[3823,10]]},"66":{"position":[[55,10]]}}}],["bootstrap",{"_index":375,"t":{"18":{"position":[[869,13]]}}}],["both",{"_index":30,"t":{"2":{"position":[[498,4]]},"6":{"position":[[663,5]]},"8":{"position":[[893,4]]},"64":{"position":[[199,4]]},"66":{"position":[[202,4]]}}}],["bounc",{"_index":584,"t":{"26":{"position":[[2275,6]]}}}],["bound",{"_index":684,"t":{"42":{"position":[[403,5]]},"62":{"position":[[404,5]]}}}],["bridg",{"_index":444,"t":{"20":{"position":[[1753,8],[3497,8]]}}}],["briefli",{"_index":549,"t":{"26":{"position":[[637,7]]}}}],["bring",{"_index":848,"t":{"62":{"position":[[2061,5]]}}}],["broadest",{"_index":802,"t":{"62":{"position":[[34,8]]}}}],["build",{"_index":63,"t":{"4":{"position":[[196,8]]},"12":{"position":[[46,5]]},"66":{"position":[[0,8]]}}}],["built",{"_index":44,"t":{"2":{"position":[[735,5]]}}}],["buy",{"_index":145,"t":{"6":{"position":[[749,3]]},"46":{"position":[[1694,3],[1734,3]]}}}],["c/o",{"_index":528,"t":{"24":{"position":[[267,3]]},"44":{"position":[[208,3]]}}}],["calendar",{"_index":826,"t":{"62":{"position":[[1073,8]]}}}],["call",{"_index":312,"t":{"16":{"position":[[910,6]]}}}],["capabl",{"_index":341,"t":{"18":{"position":[[218,7]]},"20":{"position":[[1762,13]]}}}],["caption",{"_index":860,"t":{"64":{"position":[[255,8]]}}}],["carefulli",{"_index":682,"t":{"42":{"position":[[306,9]]}}}],["carnot",{"_index":11,"t":{"2":{"position":[[123,7],[255,7]]},"20":{"position":[[547,6],[706,6],[4050,6]]}}}],["case",{"_index":451,"t":{"20":{"position":[[1931,6],[3004,6]]}}}],["cc",{"_index":677,"t":{"40":{"position":[[144,2]]},"50":{"position":[[109,3]]},"64":{"position":[[957,2]]}}}],["celebr",{"_index":267,"t":{"12":{"position":[[171,9]]}}}],["celestia",{"_index":338,"t":{"18":{"position":[[143,8]]}}}],["celestia'",{"_index":399,"t":{"18":{"position":[[1546,10]]}}}],["censor",{"_index":470,"t":{"20":{"position":[[2678,6]]}}}],["censorship",{"_index":463,"t":{"20":{"position":[[2399,10],[2422,10]]}}}],["centralis",{"_index":351,"t":{"18":{"position":[[363,12],[509,11]]}}}],["centric",{"_index":354,"t":{"18":{"position":[[414,7]]}}}],["certain",{"_index":539,"t":{"26":{"position":[[133,7]]},"28":{"position":[[152,7],[183,7]]},"34":{"position":[[145,7]]},"50":{"position":[[270,7]]}}}],["certainli",{"_index":174,"t":{"8":{"position":[[385,9]]}}}],["chain",{"_index":168,"t":{"8":{"position":[[260,5],[499,5],[763,5],[865,7]]},"18":{"position":[[740,5],[963,7],[1019,5]]}}}],["challeng",{"_index":373,"t":{"18":{"position":[[840,11],[1494,11]]}}}],["chamber",{"_index":829,"t":{"62":{"position":[[1253,9]]}}}],["chang",{"_index":668,"t":{"38":{"position":[[135,8]]},"48":{"position":[[583,6],[1329,6]]},"58":{"position":[[161,8]]}}}],["characterist",{"_index":492,"t":{"20":{"position":[[3762,15]]}}}],["check",{"_index":666,"t":{"38":{"position":[[96,5]]},"58":{"position":[[119,8]]},"66":{"position":[[718,5]]}}}],["choic",{"_index":638,"t":{"34":{"position":[[153,7]]}}}],["choos",{"_index":241,"t":{"8":{"position":[[1413,7]]}}}],["claim",{"_index":160,"t":{"8":{"position":[[110,6]]},"46":{"position":[[724,6]]},"54":{"position":[[503,6]]},"56":{"position":[[73,7]]},"62":{"position":[[87,5],[939,5],[2071,6],[2104,5],[2176,6]]}}}],["class",{"_index":852,"t":{"62":{"position":[[2228,5]]}}}],["classwid",{"_index":854,"t":{"62":{"position":[[2254,9]]}}}],["claus",{"_index":628,"t":{"32":{"position":[[459,7]]},"62":{"position":[[439,7]]}}}],["click",{"_index":570,"t":{"26":{"position":[[1785,8]]}}}],["client",{"_index":427,"t":{"20":{"position":[[1029,7]]}}}],["closer",{"_index":268,"t":{"12":{"position":[[199,6]]},"18":{"position":[[1349,6]]}}}],["codex",{"_index":79,"t":{"4":{"position":[[429,6]]}}}],["coffe",{"_index":146,"t":{"6":{"position":[[755,7]]}}}],["collect",{"_index":518,"t":{"24":{"position":[[48,10],[141,10],[244,10],[423,10]]},"26":{"position":[[20,10],[35,10],[113,7],[270,7],[471,7],[913,10],[947,7],[1567,7],[2109,8]]},"28":{"position":[[31,10],[78,7]]},"34":{"position":[[50,10],[216,7]]},"44":{"position":[[81,10],[185,10],[374,10]]}}}],["collective'",{"_index":81,"t":{"4":{"position":[[459,12]]}}}],["combin",{"_index":500,"t":{"20":{"position":[[4008,9]]}}}],["come",{"_index":658,"t":{"36":{"position":[[25,4]]}}}],["commerci",{"_index":764,"t":{"50":{"position":[[243,10]]}}}],["commiss",{"_index":624,"t":{"32":{"position":[[358,11]]}}}],["commission",{"_index":655,"t":{"34":{"position":[[949,12]]}}}],["commit",{"_index":711,"t":{"46":{"position":[[1200,10]]}}}],["common",{"_index":437,"t":{"20":{"position":[[1379,6]]},"50":{"position":[[63,7]]}}}],["commun",{"_index":76,"t":{"4":{"position":[[378,14]]},"8":{"position":[[769,9]]},"12":{"position":[[21,10],[268,9]]},"18":{"position":[[550,13],[1589,14]]},"20":{"position":[[2029,11],[3510,14]]},"26":{"position":[[1752,15]]},"62":{"position":[[1699,14]]},"66":{"position":[[686,9]]}}}],["community'",{"_index":222,"t":{"8":{"position":[[1106,11]]}}}],["complaint",{"_index":653,"t":{"34":{"position":[[890,9]]}}}],["complet",{"_index":701,"t":{"46":{"position":[[407,13]]},"48":{"position":[[894,8],[966,12]]}}}],["compli",{"_index":685,"t":{"42":{"position":[[413,6]]},"46":{"position":[[940,9]]}}}],["compliant",{"_index":707,"t":{"46":{"position":[[793,9]]}}}],["complic",{"_index":362,"t":{"18":{"position":[[581,14]]}}}],["compromis",{"_index":498,"t":{"20":{"position":[[3921,11]]},"26":{"position":[[2055,10]]}}}],["comput",{"_index":422,"t":{"20":{"position":[[885,11]]}}}],["concept",{"_index":253,"t":{"10":{"position":[[136,7]]},"18":{"position":[[186,7]]}}}],["concern",{"_index":559,"t":{"26":{"position":[[1129,10]]},"46":{"position":[[392,10]]}}}],["condit",{"_index":740,"t":{"48":{"position":[[627,11]]},"52":{"position":[[92,11]]}}}],["conduct",{"_index":835,"t":{"62":{"position":[[1556,9]]}}}],["confer",{"_index":836,"t":{"62":{"position":[[1576,10]]}}}],["confidenti",{"_index":841,"t":{"62":{"position":[[1747,13]]}}}],["configur",{"_index":474,"t":{"20":{"position":[[2891,12],[2923,12]]}}}],["conflict",{"_index":800,"t":{"60":{"position":[[133,8]]}}}],["conform",{"_index":633,"t":{"32":{"position":[[678,10]]}}}],["connect",{"_index":783,"t":{"54":{"position":[[279,9]]}}}],["consensu",{"_index":9,"t":{"2":{"position":[[103,9],[138,9],[442,9],[523,9],[553,9]]},"16":{"position":[[615,9]]},"20":{"position":[[229,10],[510,9],[554,9],[4030,9]]}}}],["consent",{"_index":155,"t":{"8":{"position":[[24,7],[143,7],[362,8]]},"26":{"position":[[1518,8],[1687,7]]},"34":{"position":[[564,7],[611,7],[721,7],[822,8]]}}}],["consequenti",{"_index":780,"t":{"54":{"position":[[217,13]]}}}],["consid",{"_index":388,"t":{"18":{"position":[[1199,10]]},"46":{"position":[[1122,10],[1273,10]]}}}],["consist",{"_index":400,"t":{"20":{"position":[[6,8]]},"62":{"position":[[1641,7]]}}}],["constitut",{"_index":720,"t":{"46":{"position":[[1543,10]]}}}],["constru",{"_index":725,"t":{"46":{"position":[[1662,9]]}}}],["consult",{"_index":530,"t":{"24":{"position":[[275,10]]},"44":{"position":[[216,10]]}}}],["contact",{"_index":674,"t":{"40":{"position":[[75,7]]},"64":{"position":[[888,7]]}}}],["contain",{"_index":681,"t":{"42":{"position":[[221,9]]},"46":{"position":[[1287,7],[1517,9]]},"48":{"position":[[21,7],[815,9],[994,9]]}}}],["contemporan",{"_index":857,"t":{"64":{"position":[[123,15]]}}}],["content",{"_index":561,"t":{"26":{"position":[[1168,7]]},"28":{"position":[[191,8],[249,7]]},"36":{"position":[[197,7]]},"42":{"position":[[195,7]]},"46":{"position":[[522,7],[589,7],[762,7],[986,7]]},"50":{"position":[[20,8],[194,7]]},"52":{"position":[[310,7],[377,7]]},"54":{"position":[[339,7]]},"56":{"position":[[186,7]]},"62":{"position":[[198,7]]}}}],["contract",{"_index":343,"t":{"18":{"position":[[235,8]]},"46":{"position":[[1190,9]]},"54":{"position":[[44,9]]}}}],["contractu",{"_index":627,"t":{"32":{"position":[[447,11]]}}}],["contribut",{"_index":272,"t":{"12":{"position":[[289,10]]},"20":{"position":[[118,11]]},"66":{"position":[[696,14]]}}}],["contributor",{"_index":18,"t":{"2":{"position":[[270,12]]},"10":{"position":[[58,12]]},"66":{"position":[[305,12],[394,12],[518,13]]}}}],["contriv",{"_index":164,"t":{"8":{"position":[[167,10]]}}}],["control",{"_index":520,"t":{"24":{"position":[[96,11]]},"28":{"position":[[780,7]]},"34":{"position":[[522,10]]},"52":{"position":[[443,7]]}}}],["controversi",{"_index":804,"t":{"62":{"position":[[113,11]]}}}],["cooki",{"_index":601,"t":{"28":{"position":[[558,7],[595,7],[799,7]]}}}],["coordin",{"_index":403,"t":{"20":{"position":[[47,12],[1259,12],[1306,12],[1330,12],[1520,12],[1594,12],[1683,12],[1831,12],[1983,12],[2571,12],[2732,12]]}}}],["copi",{"_index":645,"t":{"34":{"position":[[448,4]]},"50":{"position":[[162,5]]}}}],["core",{"_index":246,"t":{"10":{"position":[[53,4],[240,4]]}}}],["correct",{"_index":642,"t":{"34":{"position":[[315,7]]}}}],["corrupt",{"_index":88,"t":{"4":{"position":[[592,11]]}}}],["cosmo",{"_index":335,"t":{"18":{"position":[[102,7],[762,6]]}}}],["cost",{"_index":192,"t":{"8":{"position":[[646,4]]},"54":{"position":[[141,4]]},"62":{"position":[[373,4]]}}}],["countri",{"_index":620,"t":{"32":{"position":[[248,9]]}}}],["court",{"_index":798,"t":{"60":{"position":[[93,5]]},"62":{"position":[[530,5],[1488,6]]}}}],["cover",{"_index":417,"t":{"20":{"position":[[699,6]]},"64":{"position":[[27,5]]}}}],["creat",{"_index":203,"t":{"8":{"position":[[841,7]]},"46":{"position":[[1136,8]]}}}],["creation",{"_index":228,"t":{"8":{"position":[[1212,8]]},"20":{"position":[[2236,8],[2359,8]]}}}],["creativ",{"_index":756,"t":{"50":{"position":[[54,8]]}}}],["critic",{"_index":54,"t":{"4":{"position":[[67,8]]},"8":{"position":[[40,8]]}}}],["cross",{"_index":381,"t":{"18":{"position":[[1013,5]]}}}],["crucial",{"_index":412,"t":{"20":{"position":[[576,7]]}}}],["current",{"_index":135,"t":{"6":{"position":[[606,7]]},"48":{"position":[[74,7]]}}}],["customiz",{"_index":311,"t":{"16":{"position":[[874,12]]},"18":{"position":[[1333,15]]}}}],["damag",{"_index":781,"t":{"54":{"position":[[231,7],[447,8]]},"56":{"position":[[81,7]]}}}],["data",{"_index":34,"t":{"2":{"position":[[591,4]]},"16":{"position":[[629,4]]},"20":{"position":[[240,4],[524,4],[813,4],[1018,4],[1062,4],[1099,4],[1168,4],[1207,4],[3103,4],[3318,4]]},"24":{"position":[[86,4]]},"26":{"position":[[73,4],[150,4],[302,4],[361,5],[514,4],[1375,4],[1483,4],[2086,5]]},"28":{"position":[[54,5],[106,4]]},"30":{"position":[[31,4],[165,4]]},"32":{"position":[[50,4],[134,4],[217,4],[491,4],[609,4]]},"34":{"position":[[93,4],[199,4],[347,4],[412,4],[470,5],[517,4],[597,4],[873,5],[917,4],[1005,4]]}}}],["date",{"_index":93,"t":{"4":{"position":[[684,4]]}}}],["day",{"_index":827,"t":{"62":{"position":[[1082,4]]}}}],["decentralis",{"_index":118,"t":{"6":{"position":[[342,14]]},"16":{"position":[[235,17]]},"18":{"position":[[464,17],[1284,16]]},"20":{"position":[[263,17],[493,13],[759,17],[1432,17],[3797,14],[3957,16]]},"66":{"position":[[561,17]]}}}],["decis",{"_index":834,"t":{"62":{"position":[[1456,8]]}}}],["decoupl",{"_index":302,"t":{"16":{"position":[[605,9],[691,10]]},"20":{"position":[[1159,8]]}}}],["deem",{"_index":623,"t":{"32":{"position":[[320,6]]},"62":{"position":[[1396,6]]}}}],["defin",{"_index":20,"t":{"2":{"position":[[298,8],[387,8]]},"64":{"position":[[378,7]]}}}],["degre",{"_index":504,"t":{"20":{"position":[[4135,6]]},"48":{"position":[[505,6],[1032,6]]}}}],["demand",{"_index":288,"t":{"16":{"position":[[297,7]]},"20":{"position":[[3731,6]]}}}],["deposit",{"_index":446,"t":{"20":{"position":[[1794,8]]}}}],["describ",{"_index":719,"t":{"46":{"position":[[1483,9]]},"48":{"position":[[1063,9],[1131,9]]}}}],["descript",{"_index":736,"t":{"48":{"position":[[289,13]]}}}],["design",{"_index":52,"t":{"4":{"position":[[43,8]]},"16":{"position":[[10,8],[262,8]]},"18":{"position":[[71,6]]}}}],["detail",{"_index":418,"t":{"20":{"position":[[724,7],[2140,8]]},"26":{"position":[[2152,7]]},"48":{"position":[[313,8]]},"66":{"position":[[470,8]]}}}],["deter",{"_index":102,"t":{"6":{"position":[[130,9]]}}}],["develop",{"_index":3,"t":{"2":{"position":[[30,12],[226,11]]},"4":{"position":[[130,10]]},"18":{"position":[[31,10]]},"48":{"position":[[353,11],[649,13],[702,11]]},"66":{"position":[[66,10],[153,10],[279,12]]}}}],["devic",{"_index":602,"t":{"28":{"position":[[583,7]]}}}],["digit",{"_index":171,"t":{"8":{"position":[[316,9]]}}}],["direct",{"_index":177,"t":{"8":{"position":[[415,10]]}}}],["directli",{"_index":466,"t":{"20":{"position":[[2590,9]]},"28":{"position":[[610,8]]}}}],["disagr",{"_index":220,"t":{"8":{"position":[[1086,12]]}}}],["disclaim",{"_index":689,"t":{"46":{"position":[[115,8],[639,11]]}}}],["discord",{"_index":271,"t":{"12":{"position":[[281,7]]}}}],["discoveri",{"_index":43,"t":{"2":{"position":[[710,10]]}}}],["discret",{"_index":687,"t":{"46":{"position":[[91,10],[894,10]]},"48":{"position":[[1415,11]]}}}],["disput",{"_index":797,"t":{"60":{"position":[[53,8]]},"62":{"position":[[16,9],[338,8],[682,7],[828,8],[880,7],[922,8],[1047,7],[1118,8],[1141,7]]}}}],["distribut",{"_index":762,"t":{"50":{"position":[[179,10]]}}}],["divid",{"_index":198,"t":{"8":{"position":[[788,7]]}}}],["document",{"_index":266,"t":{"12":{"position":[[152,14]]},"40":{"position":[[117,8]]},"64":{"position":[[930,8]]}}}],["doesn’t",{"_index":578,"t":{"26":{"position":[[2047,7]]},"34":{"position":[[733,7]]}}}],["domicil",{"_index":527,"t":{"24":{"position":[[218,8]]},"44":{"position":[[158,8]]}}}],["don’t",{"_index":543,"t":{"26":{"position":[[315,5]]}}}],["download",{"_index":428,"t":{"20":{"position":[[1045,8],[1547,10]]}}}],["draw",{"_index":592,"t":{"28":{"position":[[341,4]]}}}],["each",{"_index":404,"t":{"20":{"position":[[88,4],[2061,4],[3536,4]]},"48":{"position":[[1303,4]]}}}],["earli",{"_index":0,"t":{"2":{"position":[[8,5]]}}}],["easi",{"_index":385,"t":{"18":{"position":[[1135,5]]}}}],["easili",{"_index":479,"t":{"20":{"position":[[3036,6]]}}}],["econom",{"_index":377,"t":{"18":{"position":[[921,8]]}}}],["ecosystem",{"_index":370,"t":{"18":{"position":[[746,10]]},"66":{"position":[[234,10]]}}}],["effect",{"_index":669,"t":{"38":{"position":[[175,9]]},"58":{"position":[[207,9]]},"62":{"position":[[359,9],[378,9]]},"64":{"position":[[681,7]]}}}],["effort",{"_index":816,"t":{"62":{"position":[[733,7],[782,7]]}}}],["elast",{"_index":501,"t":{"20":{"position":[[4022,7]]}}}],["element",{"_index":156,"t":{"8":{"position":[[49,7]]}}}],["elimin",{"_index":424,"t":{"20":{"position":[[930,11]]}}}],["email",{"_index":554,"t":{"26":{"position":[[927,5],[960,5],[1256,5],[1592,5],[1746,5],[1824,6]]}}}],["emb",{"_index":595,"t":{"28":{"position":[[404,5]]}}}],["embed",{"_index":610,"t":{"28":{"position":[[870,9]]}}}],["emerg",{"_index":281,"t":{"16":{"position":[[66,8]]},"20":{"position":[[2450,8]]}}}],["emphasi",{"_index":320,"t":{"16":{"position":[[1073,8]]}}}],["enabl",{"_index":38,"t":{"2":{"position":[[641,6]]},"8":{"position":[[1200,7]]},"18":{"position":[[1128,6]]},"20":{"position":[[2002,7],[2491,8],[3608,6]]}}}],["endors",{"_index":766,"t":{"52":{"position":[[260,8]]}}}],["enforc",{"_index":803,"t":{"62":{"position":[[51,11],[1472,8]]},"64":{"position":[[703,7],[798,7]]}}}],["engin",{"_index":875,"t":{"66":{"position":[[192,9]]}}}],["english",{"_index":843,"t":{"62":{"position":[[1804,8]]}}}],["enhanc",{"_index":314,"t":{"16":{"position":[[984,12]]},"26":{"position":[[820,7]]},"28":{"position":[[489,8]]}}}],["enough",{"_index":180,"t":{"8":{"position":[[445,7]]}}}],["ensur",{"_index":290,"t":{"16":{"position":[[320,8],[1209,6],[1308,8]]},"18":{"position":[[910,6]]},"20":{"position":[[298,8],[587,8],[742,8],[1417,6],[3349,7]]},"26":{"position":[[781,6]]},"32":{"position":[[470,6]]}}}],["enter",{"_index":680,"t":{"42":{"position":[[100,7]]}}}],["entir",{"_index":142,"t":{"6":{"position":[[720,6]]},"20":{"position":[[2118,8],[2869,6]]},"64":{"position":[[37,6]]}}}],["entiti",{"_index":522,"t":{"24":{"position":[[121,6]]},"44":{"position":[[61,6]]}}}],["environ",{"_index":37,"t":{"2":{"position":[[616,13]]},"16":{"position":[[897,12]]},"48":{"position":[[678,12]]}}}],["equit",{"_index":773,"t":{"54":{"position":[[102,9]]}}}],["era",{"_index":346,"t":{"18":{"position":[[278,3]]}}}],["essenc",{"_index":760,"t":{"50":{"position":[[125,7]]}}}],["establish",{"_index":27,"t":{"2":{"position":[[469,9]]}}}],["estim",{"_index":731,"t":{"48":{"position":[[96,10]]}}}],["ethereum",{"_index":334,"t":{"18":{"position":[[92,9],[163,8],[623,8],[669,8]]}}}],["eur",{"_index":787,"t":{"54":{"position":[[524,3]]}}}],["euro",{"_index":789,"t":{"54":{"position":[[545,7]]}}}],["europ",{"_index":629,"t":{"32":{"position":[[558,7]]}}}],["european",{"_index":618,"t":{"32":{"position":[[161,8],[349,8],[626,8]]}}}],["even",{"_index":784,"t":{"54":{"position":[[391,4]]}}}],["event",{"_index":468,"t":{"20":{"position":[[2637,5]]},"26":{"position":[[1243,7]]},"32":{"position":[[99,5],[573,6]]},"54":{"position":[[463,6]]}}}],["eventu",{"_index":238,"t":{"8":{"position":[[1366,10]]}}}],["everyth",{"_index":440,"t":{"20":{"position":[[1502,10]]}}}],["exampl",{"_index":147,"t":{"6":{"position":[[767,8]]},"18":{"position":[[852,8]]}}}],["except",{"_index":567,"t":{"26":{"position":[[1527,6]]}}}],["exclus",{"_index":408,"t":{"20":{"position":[[214,11]]}}}],["execut",{"_index":36,"t":{"2":{"position":[[606,9]]},"8":{"position":[[1249,9]]},"16":{"position":[[658,9],[887,9]]},"18":{"position":[[244,10]]},"20":{"position":[[71,9],[376,9],[948,9],[1397,9],[1854,9],[1877,9],[1962,9],[2010,9],[2252,9],[2335,9],[2522,9],[2651,9],[2703,9],[2777,9],[2794,9],[3011,9],[3160,9],[3410,9],[3648,9],[4097,9],[4145,9]]}}}],["exist",{"_index":226,"t":{"8":{"position":[[1155,9]]},"20":{"position":[[3664,5]]}}}],["exit",{"_index":134,"t":{"6":{"position":[[597,4]]},"8":{"position":[[587,7]]},"20":{"position":[[2512,6]]}}}],["expand",{"_index":864,"t":{"64":{"position":[[394,7]]}}}],["expect",{"_index":131,"t":{"6":{"position":[[563,6]]},"46":{"position":[[1149,12]]},"48":{"position":[[82,13]]},"66":{"position":[[439,6]]}}}],["expens",{"_index":195,"t":{"8":{"position":[[694,10]]},"56":{"position":[[93,9]]}}}],["experi",{"_index":307,"t":{"16":{"position":[[783,11]]},"28":{"position":[[704,10]]},"66":{"position":[[169,10]]}}}],["experienc",{"_index":872,"t":{"66":{"position":[[43,11]]}}}],["experiment",{"_index":349,"t":{"18":{"position":[[313,16]]}}}],["explain",{"_index":634,"t":{"34":{"position":[[3,9]]}}}],["explicit",{"_index":173,"t":{"8":{"position":[[353,8]]}}}],["export",{"_index":616,"t":{"32":{"position":[[113,6]]}}}],["express",{"_index":692,"t":{"46":{"position":[[152,7],[1374,7]]}}}],["extent",{"_index":591,"t":{"28":{"position":[[207,6]]},"40":{"position":[[7,6]]},"46":{"position":[[677,6]]},"52":{"position":[[7,6]]},"54":{"position":[[608,6]]}}}],["extern",{"_index":214,"t":{"8":{"position":[[981,8]]}}}],["extrem",{"_index":163,"t":{"8":{"position":[[157,9]]}}}],["facilit",{"_index":305,"t":{"16":{"position":[[764,12]]},"20":{"position":[[1732,11]]}}}],["fail",{"_index":384,"t":{"18":{"position":[[1119,5]]},"64":{"position":[[695,4]]}}}],["fairer",{"_index":86,"t":{"4":{"position":[[579,7]]}}}],["fall",{"_index":94,"t":{"4":{"position":[[689,4]]}}}],["far",{"_index":179,"t":{"8":{"position":[[441,3]]},"20":{"position":[[3738,3]]}}}],["fathom",{"_index":547,"t":{"26":{"position":[[616,6],[1852,6],[1898,6],[1986,6],[2092,6],[2193,6]]}}}],["fdpic",{"_index":656,"t":{"34":{"position":[[962,8]]}}}],["featur",{"_index":454,"t":{"20":{"position":[[2102,7],[2481,9]]},"28":{"position":[[160,8],[260,9]]},"48":{"position":[[339,9]]}}}],["februari",{"_index":509,"t":{"22":{"position":[[29,8]]},"42":{"position":[[30,8]]}}}],["feder",{"_index":654,"t":{"34":{"position":[[909,7]]}}}],["fee",{"_index":795,"t":{"56":{"position":[[124,5]]},"62":{"position":[[1837,4],[1921,4]]}}}],["few",{"_index":413,"t":{"20":{"position":[[642,3]]}}}],["file",{"_index":652,"t":{"34":{"position":[[883,4]]},"62":{"position":[[1883,7]]}}}],["final",{"_index":397,"t":{"18":{"position":[[1506,8]]},"62":{"position":[[1173,7]]}}}],["financi",{"_index":138,"t":{"6":{"position":[[669,9]]},"46":{"position":[[1554,10]]}}}],["find",{"_index":157,"t":{"8":{"position":[[86,4]]}}}],["first",{"_index":257,"t":{"10":{"position":[[219,5]]},"12":{"position":[[111,5]]},"26":{"position":[[978,5],[1607,5]]},"62":{"position":[[707,5]]}}}],["fit",{"_index":694,"t":{"46":{"position":[[236,7]]}}}],["flexibl",{"_index":60,"t":{"4":{"position":[[154,9]]},"18":{"position":[[1317,11]]},"20":{"position":[[4088,8]]}}}],["fluid",{"_index":881,"t":{"66":{"position":[[369,5]]}}}],["focu",{"_index":301,"t":{"16":{"position":[[555,5]]}}}],["focus",{"_index":6,"t":{"2":{"position":[[65,7]]},"6":{"position":[[119,7]]},"20":{"position":[[206,7]]}}}],["follow",{"_index":236,"t":{"8":{"position":[[1335,6]]},"12":{"position":[[244,6]]},"16":{"position":[[205,9]]},"20":{"position":[[1626,9],[2822,9]]},"26":{"position":[[495,9]]},"28":{"position":[[368,10]]},"50":{"position":[[371,9]]},"62":{"position":[[417,9]]}}}],["forc",{"_index":352,"t":{"18":{"position":[[376,7]]},"62":{"position":[[1373,6]]},"64":{"position":[[671,5]]}}}],["forecast",{"_index":732,"t":{"48":{"position":[[107,10]]}}}],["forev",{"_index":140,"t":{"6":{"position":[[694,7]]}}}],["fork",{"_index":202,"t":{"8":{"position":[[831,4]]}}}],["form",{"_index":626,"t":{"32":{"position":[[399,5],[438,5]]},"46":{"position":[[1165,7]]}}}],["format",{"_index":763,"t":{"50":{"position":[[209,6]]}}}],["forthcom",{"_index":415,"t":{"20":{"position":[[681,11],[2156,11]]}}}],["forward",{"_index":224,"t":{"8":{"position":[[1123,7]]},"48":{"position":[[29,7],[205,7],[541,7]]}}}],["foundat",{"_index":12,"t":{"2":{"position":[[163,12]]},"4":{"position":[[472,12],[562,11]]}}}],["fractal",{"_index":391,"t":{"18":{"position":[[1246,7]]}}}],["freedom",{"_index":235,"t":{"8":{"position":[[1324,7]]}}}],["freer",{"_index":90,"t":{"4":{"position":[[621,5]]}}}],["full",{"_index":297,"t":{"16":{"position":[[469,4]]},"50":{"position":[[323,4]]},"64":{"position":[[666,4]]}}}],["fulli",{"_index":240,"t":{"8":{"position":[[1384,5]]},"18":{"position":[[1210,5]]}}}],["function",{"_index":40,"t":{"2":{"position":[[657,14]]},"20":{"position":[[146,13],[435,9],[1369,9],[1456,9],[1636,9]]},"26":{"position":[[802,13]]},"42":{"position":[[207,13]]},"48":{"position":[[322,16]]}}}],["further",{"_index":28,"t":{"2":{"position":[[479,7]]},"62":{"position":[[1026,7]]}}}],["furthermor",{"_index":154,"t":{"8":{"position":[[0,12]]},"18":{"position":[[384,12]]}}}],["futur",{"_index":24,"t":{"2":{"position":[[359,6]]},"6":{"position":[[407,7]]},"46":{"position":[[1436,6]]}}}],["gener",{"_index":611,"t":{"30":{"position":[[5,7]]},"48":{"position":[[192,8]]}}}],["generalis",{"_index":449,"t":{"20":{"position":[[1915,11]]}}}],["genesi",{"_index":462,"t":{"20":{"position":[[2384,7]]}}}],["github",{"_index":273,"t":{"12":{"position":[[303,6]]},"66":{"position":[[732,6]]}}}],["global",{"_index":483,"t":{"20":{"position":[[3096,6],[3364,6]]}}}],["gmbh",{"_index":531,"t":{"24":{"position":[[286,4]]},"44":{"position":[[227,4]]}}}],["go",{"_index":178,"t":{"8":{"position":[[438,2]]}}}],["goal",{"_index":409,"t":{"20":{"position":[[290,4]]}}}],["good",{"_index":106,"t":{"6":{"position":[[180,4]]}}}],["googl",{"_index":577,"t":{"26":{"position":[[2024,6]]},"28":{"position":[[453,6],[745,6]]}}}],["govern",{"_index":120,"t":{"6":{"position":[[369,10]]},"8":{"position":[[64,10],[120,10]]},"16":{"position":[[798,11]]},"42":{"position":[[137,6]]},"52":{"position":[[132,6]]},"60":{"position":[[10,7]]}}}],["grant",{"_index":503,"t":{"20":{"position":[[4121,6]]}}}],["greater",{"_index":295,"t":{"16":{"position":[[432,7]]},"20":{"position":[[716,7],[3742,7]]}}}],["greek",{"_index":252,"t":{"10":{"position":[[130,5]]}}}],["group",{"_index":879,"t":{"66":{"position":[[296,5]]}}}],["guarante",{"_index":715,"t":{"46":{"position":[[1355,10]]}}}],["hard",{"_index":201,"t":{"8":{"position":[[826,4]]}}}],["hardwar",{"_index":293,"t":{"16":{"position":[[367,8]]}}}],["harm",{"_index":768,"t":{"52":{"position":[[423,8]]}}}],["harmless",{"_index":792,"t":{"56":{"position":[[35,8]]}}}],["head",{"_index":861,"t":{"64":{"position":[[268,8]]}}}],["hear",{"_index":887,"t":{"66":{"position":[[628,4]]}}}],["heard",{"_index":811,"t":{"62":{"position":[[495,5]]}}}],["held",{"_index":770,"t":{"54":{"position":[[15,4]]},"62":{"position":[[1519,4]]},"64":{"position":[[532,4]]}}}],["here",{"_index":575,"t":{"26":{"position":[[1946,5]]},"66":{"position":[[479,5],[744,5]]}}}],["herein",{"_index":710,"t":{"46":{"position":[[994,6],[1257,6],[1493,7],[1527,6]]},"48":{"position":[[825,6],[1004,7]]},"62":{"position":[[1422,6]]}}}],["high",{"_index":315,"t":{"16":{"position":[[1005,4],[1034,4]]},"20":{"position":[[596,4],[4130,4]]},"48":{"position":[[500,4],[1027,4]]}}}],["higher",{"_index":499,"t":{"20":{"position":[[3985,6]]}}}],["highli",{"_index":493,"t":{"20":{"position":[[3790,6]]}}}],["histori",{"_index":151,"t":{"6":{"position":[[842,8]]},"8":{"position":[[743,7]]}}}],["hit",{"_index":496,"t":{"20":{"position":[[3853,7]]}}}],["hold",{"_index":791,"t":{"56":{"position":[[27,4]]}}}],["host",{"_index":564,"t":{"26":{"position":[[1301,6]]}}}],["https://creativecommons.org/licenses/by/4.0",{"_index":765,"t":{"50":{"position":[[390,45]]}}}],["https://usefathom.com",{"_index":576,"t":{"26":{"position":[[1952,23]]}}}],["hundr",{"_index":327,"t":{"16":{"position":[[1261,8]]},"54":{"position":[[537,7]]}}}],["ideal",{"_index":262,"t":{"12":{"position":[[77,5]]}}}],["identifi",{"_index":324,"t":{"16":{"position":[[1171,10]]},"26":{"position":[[691,11]]},"28":{"position":[[619,8]]},"64":{"position":[[277,11]]}}}],["ii",{"_index":820,"t":{"62":{"position":[[965,4]]}}}],["ill",{"_index":366,"t":{"18":{"position":[[678,3]]}}}],["immedi",{"_index":670,"t":{"38":{"position":[[185,11]]},"58":{"position":[[217,11]]}}}],["implement",{"_index":7,"t":{"2":{"position":[[76,12],[425,12]]},"4":{"position":[[665,15]]},"16":{"position":[[564,12]]},"18":{"position":[[1521,10]]},"26":{"position":[[1329,11]]},"30":{"position":[[67,11]]}}}],["impli",{"_index":162,"t":{"8":{"position":[[135,7]]},"46":{"position":[[163,8],[1385,7]]},"52":{"position":[[246,5]]}}}],["impregn",{"_index":119,"t":{"6":{"position":[[357,11]]}}}],["improv",{"_index":167,"t":{"8":{"position":[[231,11]]},"20":{"position":[[3615,8]]}}}],["incident",{"_index":779,"t":{"54":{"position":[[202,11]]}}}],["includ",{"_index":374,"t":{"18":{"position":[[861,7]]},"20":{"position":[[1776,9]]},"42":{"position":[[181,9]]},"46":{"position":[[172,9]]},"48":{"position":[[243,7],[727,9],[1259,9]]},"50":{"position":[[233,9]]},"52":{"position":[[104,9]]},"56":{"position":[[103,9],[210,9]]},"62":{"position":[[74,8],[1873,9]]}}}],["incorpor",{"_index":833,"t":{"62":{"position":[[1409,12]]}}}],["incorrupt",{"_index":101,"t":{"6":{"position":[[83,14]]}}}],["increas",{"_index":477,"t":{"20":{"position":[[2947,10]]}}}],["indemnifi",{"_index":790,"t":{"56":{"position":[[10,9]]}}}],["independ",{"_index":205,"t":{"8":{"position":[[853,11],[1390,11]]},"18":{"position":[[951,11]]},"36":{"position":[[110,11]]}}}],["indic",{"_index":545,"t":{"26":{"position":[[433,9]]}}}],["individu",{"_index":132,"t":{"6":{"position":[[570,11]]},"8":{"position":[[302,10],[459,10]]},"28":{"position":[[628,10]]},"66":{"position":[[579,10]]}}}],["industri",{"_index":734,"t":{"48":{"position":[[168,8]]}}}],["influenc",{"_index":23,"t":{"2":{"position":[[349,9]]}}}],["inform",{"_index":513,"t":{"22":{"position":[[78,6]]},"26":{"position":[[1070,11]]},"28":{"position":[[672,11],[887,11]]},"30":{"position":[[191,11]]},"34":{"position":[[937,11]]},"46":{"position":[[1076,13],[1245,11],[1505,11]]},"48":{"position":[[803,11],[982,11],[1246,12]]}}}],["infrastructur",{"_index":62,"t":{"4":{"position":[[177,14]]},"16":{"position":[[116,14]]}}}],["infring",{"_index":696,"t":{"46":{"position":[[278,12]]}}}],["initi",{"_index":460,"t":{"20":{"position":[[2269,10],[2320,10]]}}}],["innov",{"_index":49,"t":{"4":{"position":[[12,10]]}}}],["insight",{"_index":398,"t":{"18":{"position":[[1532,8]]},"26":{"position":[[2129,9],[2232,8]]}}}],["inspir",{"_index":363,"t":{"18":{"position":[[611,8]]}}}],["institut",{"_index":183,"t":{"8":{"position":[[505,12]]},"62":{"position":[[1275,11]]}}}],["integr",{"_index":45,"t":{"2":{"position":[[744,10]]}}}],["intellectu",{"_index":697,"t":{"46":{"position":[[294,12]]}}}],["intend",{"_index":512,"t":{"22":{"position":[[66,8]]},"46":{"position":[[1042,8]]}}}],["inter",{"_index":360,"t":{"18":{"position":[[537,5]]},"20":{"position":[[1871,5]]}}}],["interact",{"_index":137,"t":{"6":{"position":[[651,11]]},"28":{"position":[[218,8],[513,8]]}}}],["interest",{"_index":551,"t":{"26":{"position":[[737,8]]}}}],["intern",{"_index":759,"t":{"50":{"position":[[87,13]]},"62":{"position":[[1325,13],[1972,13]]}}}],["interpret",{"_index":865,"t":{"64":{"position":[[423,14]]}}}],["introduc",{"_index":372,"t":{"18":{"position":[[820,9]]}}}],["invalid",{"_index":866,"t":{"64":{"position":[[537,7]]}}}],["invit",{"_index":563,"t":{"26":{"position":[[1212,11]]}}}],["ip",{"_index":546,"t":{"26":{"position":[[549,2],[658,2],[765,2],[871,2]]}}}],["isol",{"_index":308,"t":{"16":{"position":[[810,8]]}}}],["issu",{"_index":199,"t":{"8":{"position":[[804,6]]}}}],["item",{"_index":26,"t":{"2":{"position":[[374,6]]}}}],["join",{"_index":261,"t":{"12":{"position":[[32,4],[259,4]]},"16":{"position":[[461,4]]},"66":{"position":[[407,4]]}}}],["judg",{"_index":812,"t":{"62":{"position":[[506,6]]}}}],["june",{"_index":247,"t":{"10":{"position":[[74,5],[262,4]]}}}],["juri",{"_index":814,"t":{"62":{"position":[[615,4]]}}}],["jurisdict",{"_index":708,"t":{"46":{"position":[[826,13]]},"62":{"position":[[650,14]]}}}],["keen",{"_index":884,"t":{"66":{"position":[[494,4]]}}}],["kept",{"_index":438,"t":{"20":{"position":[[1470,4]]},"62":{"position":[[1742,4]]}}}],["key",{"_index":121,"t":{"6":{"position":[[387,3]]},"16":{"position":[[103,3]]}}}],["kind",{"_index":691,"t":{"46":{"position":[[146,5]]}}}],["knowledg",{"_index":279,"t":{"14":{"position":[[57,9]]}}}],["known",{"_index":851,"t":{"62":{"position":[[2160,5]]}}}],["laid",{"_index":639,"t":{"34":{"position":[[240,4]]}}}],["languag",{"_index":842,"t":{"62":{"position":[[1765,8]]}}}],["last",{"_index":506,"t":{"22":{"position":[[13,4]]},"42":{"position":[[13,4]]}}}],["latenc",{"_index":475,"t":{"20":{"position":[[2904,7]]}}}],["latest",{"_index":264,"t":{"12":{"position":[[132,6]]}}}],["law",{"_index":254,"t":{"10":{"position":[[147,4]]},"26":{"position":[[1549,4]]},"46":{"position":[[708,4],[976,5]]},"54":{"position":[[639,4]]},"60":{"position":[[6,3],[145,4]]},"62":{"position":[[66,3]]}}}],["lawsuit",{"_index":853,"t":{"62":{"position":[[2241,7]]}}}],["lay",{"_index":85,"t":{"4":{"position":[[554,3]]}}}],["layer",{"_index":33,"t":{"2":{"position":[[563,5]]},"4":{"position":[[333,5],[393,6],[422,6]]},"6":{"position":[[112,6]]},"12":{"position":[[71,5]]},"16":{"position":[[56,5]]},"20":{"position":[[40,6],[60,6],[182,5],[200,5],[425,6],[786,5],[988,6],[1272,5],[1293,5],[1319,6],[1533,5],[1607,5],[1844,5],[1996,5],[2584,5],[2745,6],[2768,5]]}}}],["layer'",{"_index":436,"t":{"20":{"position":[[1343,7],[1696,7]]}}}],["layers—th",{"_index":402,"t":{"20":{"position":[[24,10]]}}}],["lead",{"_index":873,"t":{"66":{"position":[[119,4]]}}}],["lean",{"_index":153,"t":{"6":{"position":[[864,9]]}}}],["legal",{"_index":526,"t":{"24":{"position":[[212,5]]},"26":{"position":[[199,5]]},"44":{"position":[[152,5]]},"46":{"position":[[431,9],[785,7],[1565,6]]},"54":{"position":[[93,5]]}}}],["legal@free.technolog",{"_index":675,"t":{"40":{"position":[[89,22]]},"64":{"position":[[902,22]]}}}],["legisl",{"_index":542,"t":{"26":{"position":[[245,12]]},"32":{"position":[[713,12]]},"34":{"position":[[269,12]]}}}],["legitim",{"_index":550,"t":{"26":{"position":[[726,10]]}}}],["less",{"_index":87,"t":{"4":{"position":[[587,4]]}}}],["level",{"_index":622,"t":{"32":{"position":[[297,5]]}}}],["leverag",{"_index":216,"t":{"8":{"position":[[1005,9]]}}}],["liabil",{"_index":661,"t":{"36":{"position":[[179,9]]},"54":{"position":[[73,10],[484,9],[572,9]]}}}],["liabl",{"_index":769,"t":{"52":{"position":[[498,6]]},"54":{"position":[[20,6]]}}}],["licenc",{"_index":761,"t":{"50":{"position":[[138,7],[342,8]]}}}],["licens",{"_index":676,"t":{"40":{"position":[[129,8]]},"50":{"position":[[101,7]]},"64":{"position":[[942,8]]}}}],["light",{"_index":426,"t":{"20":{"position":[[1023,5]]}}}],["limit",{"_index":125,"t":{"6":{"position":[[463,6]]},"18":{"position":[[652,11]]},"20":{"position":[[2309,7],[3869,7]]},"26":{"position":[[10,5]]},"28":{"position":[[19,7]]},"34":{"position":[[40,5]]},"46":{"position":[[190,10]]},"54":{"position":[[513,7],[558,10]]},"56":{"position":[[228,10]]},"62":{"position":[[570,8],[2039,12]]},"64":{"position":[[402,6]]}}}],["link",{"_index":572,"t":{"26":{"position":[[1812,4]]},"36":{"position":[[37,5]]},"46":{"position":[[613,6]]},"52":{"position":[[39,5],[182,7]]}}}],["liquid",{"_index":473,"t":{"20":{"position":[[2850,9],[3578,9]]}}}],["litig",{"_index":805,"t":{"62":{"position":[[277,10],[474,10]]}}}],["llc",{"_index":598,"t":{"28":{"position":[[460,4]]}}}],["local",{"_index":709,"t":{"46":{"position":[[970,5]]}}}],["log",{"_index":605,"t":{"28":{"position":[[730,6]]}}}],["logo",{"_index":73,"t":{"4":{"position":[[346,5],[453,5]]},"10":{"position":[[245,5]]},"12":{"position":[[223,5]]},"16":{"position":[[138,5]]},"24":{"position":[[135,5],[238,5],[350,8],[417,5]]},"44":{"position":[[75,5],[179,5],[291,8],[368,5]]}}}],["longer",{"_index":181,"t":{"8":{"position":[[473,6]]}}}],["look",{"_index":729,"t":{"48":{"position":[[37,7],[213,7],[549,7]]}}}],["loos",{"_index":880,"t":{"66":{"position":[[362,6]]}}}],["lost",{"_index":775,"t":{"54":{"position":[[127,4]]}}}],["love",{"_index":886,"t":{"66":{"position":[[620,4]]}}}],["made",{"_index":313,"t":{"16":{"position":[[956,4]]},"46":{"position":[[1057,4]]},"50":{"position":[[33,4]]}}}],["main",{"_index":233,"t":{"8":{"position":[[1280,4]]}}}],["maintain",{"_index":46,"t":{"2":{"position":[[761,11]]},"16":{"position":[[192,8]]},"18":{"position":[[1274,9]]},"30":{"position":[[128,8]]}}}],["make",{"_index":211,"t":{"8":{"position":[[950,6]]},"18":{"position":[[664,4]]},"20":{"position":[[808,4],[3404,5],[3916,4]]},"26":{"position":[[1886,4]]},"28":{"position":[[138,6]]},"46":{"position":[[367,4],[716,4]]},"62":{"position":[[97,4],[953,7]]}}}],["mani",{"_index":364,"t":{"18":{"position":[[635,4]]}}}],["manner",{"_index":809,"t":{"62":{"position":[[388,7]]}}}],["market",{"_index":735,"t":{"48":{"position":[[181,7],[620,6]]}}}],["massiv",{"_index":124,"t":{"6":{"position":[[453,9]]}}}],["matter",{"_index":718,"t":{"46":{"position":[[1475,7]]},"48":{"position":[[437,7],[1123,7]]}}}],["maxim",{"_index":98,"t":{"6":{"position":[[11,8]]},"16":{"position":[[410,9]]}}}],["maximum",{"_index":284,"t":{"16":{"position":[[227,7],[713,7]]},"20":{"position":[[751,7],[1424,7]]},"46":{"position":[[669,7]]},"54":{"position":[[600,7]]}}}],["mean",{"_index":188,"t":{"8":{"position":[[578,5]]},"16":{"position":[[864,5]]},"32":{"position":[[197,5]]},"42":{"position":[[375,5]]},"62":{"position":[[43,7]]},"64":{"position":[[760,4]]},"66":{"position":[[345,7]]}}}],["meanwhil",{"_index":389,"t":{"18":{"position":[[1227,10]]}}}],["measur",{"_index":553,"t":{"26":{"position":[[841,8],[1341,8],[1441,9]]},"30":{"position":[[101,8]]}}}],["mechan",{"_index":321,"t":{"16":{"position":[[1085,10]]},"20":{"position":[[4074,9]]}}}],["meet",{"_index":806,"t":{"62":{"position":[[305,5]]}}}],["merchant",{"_index":693,"t":{"46":{"position":[[219,16]]}}}],["messag",{"_index":452,"t":{"20":{"position":[[1938,7],[2078,9]]}}}],["method",{"_index":838,"t":{"62":{"position":[[1602,7]]}}}],["mileston",{"_index":29,"t":{"2":{"position":[[487,10]]}}}],["minimis",{"_index":423,"t":{"20":{"position":[[916,10],[3487,9]]}}}],["minimum",{"_index":286,"t":{"16":{"position":[[280,7]]},"20":{"position":[[1487,8]]}}}],["mode",{"_index":600,"t":{"28":{"position":[[498,5]]}}}],["model",{"_index":35,"t":{"2":{"position":[[596,5]]},"18":{"position":[[1069,5]]},"20":{"position":[[4107,7]]}}}],["modifi",{"_index":662,"t":{"38":{"position":[[7,6]]},"50":{"position":[[168,6]]},"58":{"position":[[7,6]]},"64":{"position":[[386,7]]}}}],["modular",{"_index":300,"t":{"16":{"position":[[530,7],[579,7]]}}}],["monetari",{"_index":347,"t":{"18":{"position":[[285,8]]}}}],["monolith",{"_index":494,"t":{"20":{"position":[[3812,10]]}}}],["more",{"_index":212,"t":{"8":{"position":[[962,4]]},"20":{"position":[[3426,4]]},"26":{"position":[[1935,4]]},"66":{"position":[[389,4]]}}}],["multipl",{"_index":378,"t":{"18":{"position":[[942,8]]}}}],["name",{"_index":250,"t":{"10":{"position":[[108,4]]},"26":{"position":[[984,4],[1613,4]]}}}],["nation",{"_index":158,"t":{"8":{"position":[[95,6]]}}}],["natur",{"_index":380,"t":{"18":{"position":[[1003,6]]},"62":{"position":[[908,6]]}}}],["need",{"_index":111,"t":{"6":{"position":[[255,6],[788,4]]},"20":{"position":[[908,4],[1037,4],[1231,5]]},"26":{"position":[[321,4],[418,6]]}}}],["neglig",{"_index":771,"t":{"54":{"position":[[54,11]]}}}],["network",{"_index":21,"t":{"2":{"position":[[311,7],[400,7],[690,10]]},"4":{"position":[[96,7]]},"6":{"position":[[45,8],[314,7]]},"8":{"position":[[898,8],[1192,7]]},"10":{"position":[[90,7]]},"12":{"position":[[89,7],[229,7]]},"14":{"position":[[14,7]]},"16":{"position":[[75,7],[179,7],[402,7],[1039,7],[1111,7],[1236,7]]},"18":{"position":[[210,7],[709,7],[720,7],[1111,7]]},"20":{"position":[[364,8],[620,7],[1122,7],[2882,8],[3377,8],[3599,8]]},"66":{"position":[[427,8]]}}}],["network'",{"_index":8,"t":{"2":{"position":[[93,9],[581,9]]},"8":{"position":[[1285,9]]}}}],["new",{"_index":191,"t":{"8":{"position":[[628,4]]},"12":{"position":[[139,5]]},"20":{"position":[[2248,3],[2331,3],[2373,3]]},"38":{"position":[[148,3]]},"58":{"position":[[174,3]]}}}],["newer",{"_index":337,"t":{"18":{"position":[[124,5]]}}}],["node",{"_index":107,"t":{"6":{"position":[[185,6]]},"16":{"position":[[1200,5],[1286,5]]},"20":{"position":[[1226,4]]}}}],["nomo",{"_index":2,"t":{"2":{"position":[[23,6],[263,6]]},"4":{"position":[[0,5],[293,5]]},"6":{"position":[[166,5]]},"8":{"position":[[999,5],[1186,5]]},"10":{"position":[[8,5],[209,5]]},"12":{"position":[[15,5]]},"14":{"position":[[0,5]]},"16":{"position":[[0,5],[253,5],[495,5],[843,5],[917,5],[1059,5]]},"18":{"position":[[22,5],[602,5],[1374,6],[1515,5]]},"20":{"position":[[0,5],[188,6],[2168,5],[2876,5],[3281,5],[3371,5],[4115,5]]},"66":{"position":[[9,5],[104,6],[329,5],[485,5]]}}}],["non",{"_index":560,"t":{"26":{"position":[[1154,3]]},"46":{"position":[[274,3]]},"52":{"position":[[419,3]]}}}],["nonetheless",{"_index":637,"t":{"34":{"position":[[117,12]]}}}],["note",{"_index":573,"t":{"26":{"position":[[1873,4]]},"62":{"position":[[520,4]]}}}],["noth",{"_index":724,"t":{"46":{"position":[[1628,7]]}}}],["notic",{"_index":664,"t":{"38":{"position":[[81,7]]},"48":{"position":[[1392,6]]},"58":{"position":[[87,7]]},"62":{"position":[[870,6],[1108,6]]}}}],["novel",{"_index":217,"t":{"8":{"position":[[1017,5]]},"12":{"position":[[54,5]]}}}],["number",{"_index":296,"t":{"16":{"position":[[440,7]]}}}],["numer",{"_index":196,"t":{"8":{"position":[[721,8],[1224,8]]}}}],["object",{"_index":651,"t":{"34":{"position":[[831,6]]}}}],["oblig",{"_index":615,"t":{"32":{"position":[[7,7]]},"46":{"position":[[1222,10]]}}}],["occas",{"_index":197,"t":{"8":{"position":[[730,9]]}}}],["occur",{"_index":632,"t":{"32":{"position":[[669,5]]}}}],["off",{"_index":310,"t":{"16":{"position":[[837,5],[944,4]]}}}],["offer",{"_index":187,"t":{"8":{"position":[[570,5]]},"18":{"position":[[782,5],[1075,6]]},"26":{"position":[[2210,6]]},"46":{"position":[[1685,5],[1725,5]]}}}],["offic",{"_index":524,"t":{"24":{"position":[[190,6]]},"44":{"position":[[130,6]]}}}],["on",{"_index":80,"t":{"4":{"position":[[442,3]]},"6":{"position":[[626,3]]},"54":{"position":[[532,4]]},"62":{"position":[[1652,3],[2085,3]]}}}],["onc",{"_index":184,"t":{"8":{"position":[[537,4]]}}}],["ongo",{"_index":345,"t":{"18":{"position":[[270,7]]}}}],["open",{"_index":888,"t":{"66":{"position":[[649,4]]}}}],["oper",{"_index":458,"t":{"20":{"position":[[2194,11],[2294,10]]}}}],["oral",{"_index":859,"t":{"64":{"position":[[216,5]]}}}],["order",{"_index":743,"t":{"48":{"position":[[741,5]]}}}],["organis",{"_index":348,"t":{"18":{"position":[[298,14]]},"26":{"position":[[1426,14]]}}}],["other'",{"_index":489,"t":{"20":{"position":[[3541,7]]}}}],["otherwis",{"_index":625,"t":{"32":{"position":[[370,10]]},"46":{"position":[[549,9]]}}}],["out",{"_index":640,"t":{"34":{"position":[[245,3]]},"62":{"position":[[896,3]]},"66":{"position":[[724,3]]}}}],["outsid",{"_index":617,"t":{"32":{"position":[[149,7],[614,7]]}}}],["over",{"_index":221,"t":{"8":{"position":[[1099,4]]},"26":{"position":[[902,4]]},"28":{"position":[[788,4]]},"52":{"position":[[451,4]]},"62":{"position":[[272,4]]}}}],["overal",{"_index":210,"t":{"8":{"position":[[932,7]]}}}],["p2p",{"_index":41,"t":{"2":{"position":[[686,3]]}}}],["page",{"_index":505,"t":{"22":{"position":[[8,4]]},"26":{"position":[[2253,6]]},"28":{"position":[[899,5]]},"42":{"position":[[8,4]]}}}],["paper",{"_index":416,"t":{"20":{"position":[[693,5]]}}}],["parachain",{"_index":387,"t":{"18":{"position":[[1178,10]]}}}],["part",{"_index":185,"t":{"8":{"position":[[544,5]]},"26":{"position":[[564,4]]},"38":{"position":[[29,4]]},"58":{"position":[[29,4]]},"64":{"position":[[494,4],[568,4]]}}}],["parti",{"_index":227,"t":{"8":{"position":[[1175,6]]},"26":{"position":[[1497,7]]},"28":{"position":[[66,7],[243,5]]},"32":{"position":[[264,7]]},"36":{"position":[[52,5],[80,5],[235,5]]},"52":{"position":[[56,5],[163,5],[201,5],[292,5],[358,5],[467,5],[548,5],[618,5],[742,5]]},"62":{"position":[[1726,7]]}}}],["particip",{"_index":294,"t":{"16":{"position":[[380,12]]},"18":{"position":[[894,12],[1156,13]]},"62":{"position":[[2211,11]]}}}],["particular",{"_index":695,"t":{"46":{"position":[[250,10]]}}}],["particularli",{"_index":467,"t":{"20":{"position":[[2608,12]]}}}],["pass",{"_index":453,"t":{"20":{"position":[[1946,7]]}}}],["passion",{"_index":871,"t":{"66":{"position":[[28,10],[549,7]]}}}],["past",{"_index":717,"t":{"46":{"position":[[1415,5]]}}}],["path",{"_index":223,"t":{"8":{"position":[[1118,4]]}}}],["payment",{"_index":844,"t":{"62":{"position":[[1813,7]]}}}],["peer",{"_index":42,"t":{"2":{"position":[[705,4]]},"16":{"position":[[474,6]]}}}],["peopl",{"_index":587,"t":{"26":{"position":[[2305,6]]}}}],["perform",{"_index":48,"t":{"2":{"position":[[785,12]]},"16":{"position":[[819,11],[972,11]]},"20":{"position":[[164,12],[403,9],[601,11],[3750,11],[3992,12]]}}}],["period",{"_index":667,"t":{"38":{"position":[[114,12]]},"58":{"position":[[140,12]]}}}],["permissionless",{"_index":386,"t":{"18":{"position":[[1141,14]]}}}],["permit",{"_index":706,"t":{"46":{"position":[[684,9]]},"54":{"position":[[615,9]]}}}],["person",{"_index":519,"t":{"24":{"position":[[77,8]]},"26":{"position":[[64,8],[141,8],[293,8],[352,8],[505,8],[1366,8],[1474,8],[2143,8]]},"28":{"position":[[45,8],[97,8],[574,8]]},"30":{"position":[[156,8]]},"32":{"position":[[41,8],[125,8],[208,8],[482,8],[600,8]]},"34":{"position":[[84,8],[190,8],[338,8],[403,8],[461,8],[588,8],[864,8],[996,8]]}}}],["personalis",{"_index":603,"t":{"28":{"position":[[687,11]]}}}],["perspect",{"_index":299,"t":{"16":{"position":[[517,12]]}}}],["piec",{"_index":282,"t":{"16":{"position":[[107,5]]}}}],["pioneer",{"_index":340,"t":{"18":{"position":[[172,9]]}}}],["place",{"_index":285,"t":{"16":{"position":[[274,5]]},"28":{"position":[[552,5]]},"32":{"position":[[142,6]]},"48":{"position":[[1095,5]]}}}],["platform",{"_index":51,"t":{"4":{"position":[[34,8]]}}}],["pleas",{"_index":665,"t":{"38":{"position":[[89,6]]},"40":{"position":[[68,6]]},"50":{"position":[[351,6]]},"62":{"position":[[513,6]]},"64":{"position":[[881,6]]},"66":{"position":[[711,6]]}}}],["polici",{"_index":511,"t":{"22":{"position":[[56,6],[220,6]]},"24":{"position":[[33,6]]},"28":{"position":[[295,8]]},"34":{"position":[[29,7]]},"36":{"position":[[130,9]]},"38":{"position":[[50,6],[160,6]]},"40":{"position":[[60,7]]},"52":{"position":[[122,9]]}}}],["polit",{"_index":152,"t":{"6":{"position":[[854,9]]}}}],["polkadot",{"_index":336,"t":{"18":{"position":[[110,9],[773,8]]}}}],["polkadot'",{"_index":382,"t":{"18":{"position":[[1042,10]]}}}],["portion",{"_index":870,"t":{"64":{"position":[[642,8]]}}}],["possibl",{"_index":636,"t":{"34":{"position":[[107,9],[370,10]]},"54":{"position":[[427,11]]},"62":{"position":[[1613,9]]}}}],["post",{"_index":672,"t":{"38":{"position":[[206,7]]},"58":{"position":[[238,7]]}}}],["potenti",{"_index":84,"t":{"4":{"position":[[541,9]]},"6":{"position":[[542,10]]},"18":{"position":[[450,9]]},"26":{"position":[[1200,11]]},"62":{"position":[[670,11]]}}}],["power",{"_index":112,"t":{"6":{"position":[[265,5]]},"16":{"position":[[358,8]]},"20":{"position":[[1744,8],[2093,8],[2621,8],[3431,8]]}}}],["preced",{"_index":15,"t":{"2":{"position":[[212,7]]}}}],["prefer",{"_index":555,"t":{"26":{"position":[[996,10]]},"62":{"position":[[253,6]]}}}],["present",{"_index":361,"t":{"18":{"position":[[564,8]]},"46":{"position":[[1421,7]]},"48":{"position":[[788,10]]}}}],["primarili",{"_index":5,"t":{"2":{"position":[[55,9]]}}}],["principl",{"_index":807,"t":{"62":{"position":[[315,9]]}}}],["prior",{"_index":856,"t":{"64":{"position":[[113,5]]}}}],["privaci",{"_index":47,"t":{"2":{"position":[[773,7]]},"4":{"position":[[255,7]]},"22":{"position":[[48,7],[110,7],[212,7]]},"24":{"position":[[25,7]]},"26":{"position":[[237,7],[2074,7]]},"28":{"position":[[287,7],[481,7]]},"32":{"position":[[30,7],[705,7]]},"34":{"position":[[21,7],[261,7]]},"36":{"position":[[122,7]]},"38":{"position":[[42,7],[152,7]]},"40":{"position":[[52,7]]},"52":{"position":[[114,7]]},"66":{"position":[[606,8]]}}}],["privat",{"_index":445,"t":{"20":{"position":[[1786,7],[1892,7]]}}}],["proceed",{"_index":840,"t":{"62":{"position":[[1676,11]]}}}],["process",{"_index":329,"t":{"16":{"position":[[1299,8]]},"20":{"position":[[1240,7],[3184,9]]},"24":{"position":[[63,10]]},"26":{"position":[[50,10],[125,7],[281,7],[483,7],[645,7],[749,10],[1579,7]]},"28":{"position":[[89,7]]},"32":{"position":[[235,9]]},"34":{"position":[[65,10],[228,8],[575,7],[635,10],[676,10],[769,10],[845,10],[1019,9]]}}}],["procur",{"_index":777,"t":{"54":{"position":[[149,11]]}}}],["produc",{"_index":396,"t":{"18":{"position":[[1478,7]]}}}],["profit",{"_index":776,"t":{"54":{"position":[[132,8]]}}}],["prohibit",{"_index":194,"t":{"8":{"position":[[680,13]]}}}],["project",{"_index":14,"t":{"2":{"position":[[195,8]]},"4":{"position":[[485,9]]},"10":{"position":[[251,7]]},"26":{"position":[[1101,7],[1227,7]]},"46":{"position":[[1462,8]]},"48":{"position":[[134,11],[281,7],[386,9]]},"66":{"position":[[111,7],[661,8]]}}}],["promis",{"_index":714,"t":{"46":{"position":[[1318,8]]}}}],["proof",{"_index":280,"t":{"14":{"position":[[67,5]]},"20":{"position":[[1671,7],[1725,6]]}}}],["properti",{"_index":283,"t":{"16":{"position":[[215,11]]},"20":{"position":[[2459,8],[2832,11]]},"46":{"position":[[307,8]]}}}],["protect",{"_index":108,"t":{"6":{"position":[[200,7]]},"10":{"position":[[174,10]]},"16":{"position":[[1099,7]]},"26":{"position":[[1353,7]]},"32":{"position":[[18,7],[306,10],[408,12],[517,10]]},"34":{"position":[[922,10]]}}}],["protocol",{"_index":10,"t":{"2":{"position":[[113,9],[148,8],[452,9],[533,9]]},"18":{"position":[[1025,10]]},"20":{"position":[[564,8]]}}}],["provid",{"_index":58,"t":{"4":{"position":[[122,7]]},"8":{"position":[[343,9]]},"16":{"position":[[91,9],[854,7]]},"18":{"position":[[1307,9]]},"20":{"position":[[1613,8],[2810,7]]},"26":{"position":[[1672,9]]},"28":{"position":[[175,7],[441,8]]},"32":{"position":[[277,7],[499,8]]},"46":{"position":[[15,8]]},"52":{"position":[[26,8]]}}}],["provis",{"_index":801,"t":{"60":{"position":[[150,11]]},"64":{"position":[[445,10]]}}}],["pseudonym",{"_index":556,"t":{"26":{"position":[[1012,11],[1642,9]]}}}],["pst",{"_index":529,"t":{"24":{"position":[[271,3]]},"44":{"position":[[212,3]]}}}],["purchas",{"_index":150,"t":{"6":{"position":[[833,8]]}}}],["purport",{"_index":748,"t":{"48":{"position":[[858,7]]}}}],["purpos",{"_index":517,"t":{"24":{"position":[[8,8]]},"26":{"position":[[168,8],[443,8],[1047,7]]},"44":{"position":[[8,8]]},"46":{"position":[[261,8],[1090,8]]},"50":{"position":[[224,8]]}}}],["put",{"_index":319,"t":{"16":{"position":[[1065,4]]}}}],["question",{"_index":673,"t":{"40":{"position":[[32,9]]},"64":{"position":[[837,9]]}}}],["rang",{"_index":65,"t":{"4":{"position":[[212,5]]},"20":{"position":[[3688,5]]}}}],["rate",{"_index":585,"t":{"26":{"position":[[2282,5]]}}}],["read",{"_index":574,"t":{"26":{"position":[[1930,4]]},"42":{"position":[[276,4]]}}}],["real",{"_index":394,"t":{"18":{"position":[[1435,4]]}}}],["realis",{"_index":269,"t":{"12":{"position":[[209,9]]}}}],["reason",{"_index":643,"t":{"34":{"position":[[359,10]]},"62":{"position":[[722,10],[2149,10]]}}}],["receiv",{"_index":263,"t":{"12":{"position":[[120,7]]},"26":{"position":[[1732,9],[1835,7]]},"62":{"position":[[1093,9]]}}}],["recommend",{"_index":608,"t":{"28":{"position":[[832,11]]}}}],["recreat",{"_index":189,"t":{"8":{"position":[[609,8]]}}}],["reduc",{"_index":420,"t":{"20":{"position":[[862,8],[995,8],[1090,8]]}}}],["reduct",{"_index":476,"t":{"20":{"position":[[2912,10]]}}}],["redund",{"_index":431,"t":{"20":{"position":[[1104,10]]}}}],["refer",{"_index":537,"t":{"24":{"position":[[341,5],[381,11],[400,9]]},"44":{"position":[[282,5],[332,11],[351,9]]},"50":{"position":[[358,5]]},"62":{"position":[[1157,8],[1432,10]]},"64":{"position":[[352,9]]}}}],["referr",{"_index":583,"t":{"26":{"position":[[2264,10]]}}}],["regard",{"_index":515,"t":{"22":{"position":[[166,7]]},"26":{"position":[[460,7]]},"60":{"position":[[123,6]]},"64":{"position":[[73,9]]}}}],["regardless",{"_index":846,"t":{"62":{"position":[[1999,10]]}}}],["regist",{"_index":523,"t":{"24":{"position":[[179,10]]},"44":{"position":[[119,10]]}}}],["regularli",{"_index":753,"t":{"48":{"position":[[1231,10]]}}}],["regulatori",{"_index":741,"t":{"48":{"position":[[667,10]]}}}],["relat",{"_index":459,"t":{"20":{"position":[[2220,8]]},"26":{"position":[[1085,8],[1235,7]]},"46":{"position":[[559,8],[1446,8]]},"48":{"position":[[421,7]]},"54":{"position":[[239,7]]},"56":{"position":[[146,7]]},"62":{"position":[[141,8]]}}}],["relev",{"_index":521,"t":{"24":{"position":[[112,8]]},"34":{"position":[[252,8]]},"44":{"position":[[52,8]]},"62":{"position":[[1828,8]]}}}],["reli",{"_index":358,"t":{"18":{"position":[[501,4]]},"46":{"position":[[1301,6]]}}}],["reliabl",{"_index":411,"t":{"20":{"position":[[484,8]]},"46":{"position":[[450,12]]},"48":{"position":[[882,8],[951,11]]}}}],["relianc",{"_index":752,"t":{"48":{"position":[[1107,8]]}}}],["remain",{"_index":869,"t":{"64":{"position":[[632,9],[656,6]]}}}],["remedi",{"_index":821,"t":{"62":{"position":[[974,6]]}}}],["remot",{"_index":276,"t":{"14":{"position":[[33,6],[84,6]]}}}],["remov",{"_index":644,"t":{"34":{"position":[[391,6]]}}}],["replac",{"_index":663,"t":{"38":{"position":[[17,7]]},"58":{"position":[[17,7]]}}}],["repo",{"_index":890,"t":{"66":{"position":[[739,4]]}}}],["repres",{"_index":166,"t":{"8":{"position":[[218,9]]},"52":{"position":[[233,9]]}}}],["represent",{"_index":700,"t":{"46":{"position":[[376,15],[1327,15]]},"64":{"position":[[167,15]]}}}],["request",{"_index":647,"t":{"34":{"position":[[541,8]]}}}],["requir",{"_index":55,"t":{"4":{"position":[[76,12]]},"8":{"position":[[290,8]]},"20":{"position":[[445,9],[3709,12]]},"26":{"position":[[1537,8]]},"32":{"position":[[531,8]]},"50":{"position":[[278,12]]}}}],["research",{"_index":275,"t":{"14":{"position":[[22,10],[73,10]]},"66":{"position":[[81,12],[137,11]]}}}],["resili",{"_index":318,"t":{"16":{"position":[[1047,11],[1331,11]]}}}],["resist",{"_index":464,"t":{"20":{"position":[[2410,11],[2433,10]]}}}],["resolut",{"_index":818,"t":{"62":{"position":[[809,10]]}}}],["resolv",{"_index":808,"t":{"62":{"position":[[328,9],[744,7],[1034,7],[1181,8]]}}}],["resourc",{"_index":287,"t":{"16":{"position":[[288,8]]}}}],["respect",{"_index":67,"t":{"4":{"position":[[240,10]]},"22":{"position":[[121,7]]},"28":{"position":[[276,10]]},"34":{"position":[[175,7]]},"62":{"position":[[1845,7]]},"64":{"position":[[227,7]]}}}],["respons",{"_index":660,"t":{"36":{"position":[[161,14]]},"42":{"position":[[258,14]]},"46":{"position":[[924,11]]},"48":{"position":[[918,14]]},"52":{"position":[[696,11]]},"58":{"position":[[103,11]]}}}],["rest",{"_index":13,"t":{"2":{"position":[[183,4]]},"20":{"position":[[352,4]]}}}],["restak",{"_index":490,"t":{"20":{"position":[[3637,10],[4064,9]]}}}],["result",{"_index":200,"t":{"8":{"position":[[811,9]]},"28":{"position":[[116,6]]},"48":{"position":[[718,8]]},"62":{"position":[[797,6]]}}}],["retain",{"_index":234,"t":{"8":{"position":[[1310,9]]}}}],["review",{"_index":609,"t":{"28":{"position":[[853,6]]},"62":{"position":[[536,6]]}}}],["revis",{"_index":883,"t":{"66":{"position":[[449,6]]}}}],["revolutionari",{"_index":130,"t":{"6":{"position":[[528,13]]}}}],["reward",{"_index":109,"t":{"6":{"position":[[212,6]]}}}],["right",{"_index":176,"t":{"8":{"position":[[409,5]]},"34":{"position":[[165,6],[295,5]]},"46":{"position":[[338,7]]},"62":{"position":[[465,5],[603,6],[2202,5]]},"64":{"position":[[789,5]]}}}],["risk",{"_index":688,"t":{"46":{"position":[[106,5]]},"48":{"position":[[515,4],[1042,4]]},"52":{"position":[[672,4]]}}}],["riski",{"_index":325,"t":{"16":{"position":[[1194,5]]}}}],["roadmap",{"_index":25,"t":{"2":{"position":[[366,7]]},"48":{"position":[[272,8]]}}}],["role",{"_index":406,"t":{"20":{"position":[[108,4]]}}}],["rollup",{"_index":353,"t":{"18":{"position":[[407,6],[487,7],[543,6]]}}}],["rule",{"_index":831,"t":{"62":{"position":[[1316,5],[1386,5],[1963,5]]}}}],["ruleset",{"_index":237,"t":{"8":{"position":[[1352,9]]}}}],["s",{"_index":558,"t":{"26":{"position":[[1109,3]]}}}],["sa",{"_index":678,"t":{"40":{"position":[[150,3]]},"64":{"position":[[963,3]]}}}],["safeti",{"_index":614,"t":{"30":{"position":[[141,6]]}}}],["salari",{"_index":149,"t":{"6":{"position":[[819,7]]}}}],["same",{"_index":482,"t":{"20":{"position":[[3091,4],[3297,4]]},"32":{"position":[[512,4]]}}}],["sampl",{"_index":430,"t":{"20":{"position":[[1080,9]]}}}],["satisfi",{"_index":491,"t":{"20":{"position":[[3673,7]]}}}],["scalabl",{"_index":61,"t":{"4":{"position":[[168,8]]},"16":{"position":[[721,11]]},"18":{"position":[[1621,12]]},"20":{"position":[[332,11],[831,9]]}}}],["scale",{"_index":356,"t":{"18":{"position":[[434,7],[1266,7]]},"20":{"position":[[628,6],[3861,7]]}}}],["scope",{"_index":126,"t":{"6":{"position":[[474,5]]}}}],["section",{"_index":862,"t":{"64":{"position":[[289,8]]}}}],["secur",{"_index":59,"t":{"4":{"position":[[146,7]]},"6":{"position":[[103,8],[394,8]]},"8":{"position":[[940,9],[1295,8]]},"16":{"position":[[508,8]]},"18":{"position":[[930,8],[1060,8]]},"20":{"position":[[318,9],[3562,9],[3624,8],[3945,8]]},"26":{"position":[[832,8],[1273,8],[1383,8]]},"30":{"position":[[36,8],[92,8]]},"46":{"position":[[1764,9]]}}}],["see",{"_index":144,"t":{"6":{"position":[[736,4],[811,3]]}}}],["seek",{"_index":97,"t":{"6":{"position":[[3,4]]},"62":{"position":[[989,8]]}}}],["self",{"_index":113,"t":{"6":{"position":[[275,4]]},"26":{"position":[[1296,4]]}}}],["sell",{"_index":726,"t":{"46":{"position":[[1701,5],[1741,4]]}}}],["seller",{"_index":148,"t":{"6":{"position":[[801,6]]}}}],["semi",{"_index":229,"t":{"8":{"position":[[1233,4]]}}}],["send",{"_index":557,"t":{"26":{"position":[[1058,7]]},"62":{"position":[[852,4]]}}}],["separ",{"_index":659,"t":{"36":{"position":[[97,8]]}}}],["sequenc",{"_index":359,"t":{"18":{"position":[[521,11]]}}}],["serious",{"_index":612,"t":{"30":{"position":[[45,9]]}}}],["serv",{"_index":70,"t":{"4":{"position":[[299,6]]},"16":{"position":[[22,5]]}}}],["server",{"_index":565,"t":{"26":{"position":[[1308,8]]}}}],["servic",{"_index":597,"t":{"28":{"position":[[433,7]]},"54":{"position":[[176,9]]}}}],["set",{"_index":607,"t":{"28":{"position":[[807,3]]},"62":{"position":[[888,7]]}}}],["sever",{"_index":868,"t":{"64":{"position":[[581,9]]}}}],["shall",{"_index":713,"t":{"46":{"position":[[1264,5]]},"56":{"position":[[4,5]]},"62":{"position":[[841,5]]}}}],["shard",{"_index":432,"t":{"20":{"position":[[1134,8]]}}}],["share",{"_index":232,"t":{"8":{"position":[[1270,5]]},"18":{"position":[[1053,6]]},"20":{"position":[[2844,5],[3081,5],[3287,5],[3572,5]]},"26":{"position":[[1463,5]]},"66":{"position":[[539,5]]}}}],["short",{"_index":95,"t":{"4":{"position":[[694,5]]},"26":{"position":[[1979,6]]}}}],["sidechain",{"_index":481,"t":{"20":{"position":[[3065,10],[3249,11],[3457,10]]}}}],["sign",{"_index":172,"t":{"8":{"position":[[326,5]]}}}],["similar",{"_index":538,"t":{"24":{"position":[[373,7]]},"44":{"position":[[324,7]]}}}],["simpl",{"_index":219,"t":{"8":{"position":[[1079,6]]},"26":{"position":[[2217,6]]}}}],["singl",{"_index":435,"t":{"20":{"position":[[1219,6]]}}}],["site",{"_index":589,"t":{"26":{"position":[[2323,5]]},"36":{"position":[[86,5]]},"46":{"position":[[607,5]]}}}],["site.thes",{"_index":705,"t":{"46":{"position":[[628,10]]}}}],["situat",{"_index":207,"t":{"8":{"position":[[881,11],[1050,10]]}}}],["sixti",{"_index":824,"t":{"62":{"position":[[1062,5]]}}}],["small",{"_index":243,"t":{"10":{"position":[[28,5]]},"66":{"position":[[338,6]]}}}],["smart",{"_index":342,"t":{"18":{"position":[[229,5]]}}}],["social",{"_index":139,"t":{"6":{"position":[[683,7]]}}}],["societi",{"_index":91,"t":{"4":{"position":[[627,8]]}}}],["softwar",{"_index":874,"t":{"66":{"position":[[183,8]]}}}],["sole",{"_index":686,"t":{"46":{"position":[[86,4],[889,4],[917,6]]},"48":{"position":[[1410,4]]},"52":{"position":[[689,6]]}}}],["solicit",{"_index":727,"t":{"46":{"position":[[1710,10]]}}}],["solut",{"_index":383,"t":{"18":{"position":[[1097,9]]}}}],["someth",{"_index":190,"t":{"8":{"position":[[618,9]]},"18":{"position":[[1082,9]]}}}],["sophist",{"_index":322,"t":{"16":{"position":[[1124,13]]}}}],["sourc",{"_index":889,"t":{"66":{"position":[[654,6]]}}}],["sovereign",{"_index":114,"t":{"6":{"position":[[280,9]]},"18":{"position":[[1216,10]]}}}],["sovereignti",{"_index":68,"t":{"4":{"position":[[267,11]]},"18":{"position":[[1604,12]]},"66":{"position":[[590,11]]}}}],["space",{"_index":332,"t":{"18":{"position":[[78,5]]},"20":{"position":[[3121,6]]}}}],["special",{"_index":457,"t":{"20":{"position":[[2186,7],[2286,7]]},"54":{"position":[[193,8]]}}}],["specif",{"_index":405,"t":{"20":{"position":[[99,8],[2974,8]]},"26":{"position":[[159,8],[2166,8]]},"32":{"position":[[429,8]]},"48":{"position":[[1290,9]]},"64":{"position":[[828,8]]}}}],["spend",{"_index":588,"t":{"26":{"position":[[2312,5]]}}}],["stabil",{"_index":410,"t":{"20":{"position":[[307,10]]}}}],["stack",{"_index":75,"t":{"4":{"position":[[357,6]]},"16":{"position":[[149,6]]}}}],["stage",{"_index":1,"t":{"2":{"position":[[14,5]]},"48":{"position":[[1308,6]]},"66":{"position":[[270,5]]}}}],["state",{"_index":56,"t":{"4":{"position":[[104,6]]},"6":{"position":[[322,6]]},"12":{"position":[[97,6],[237,6]]},"16":{"position":[[83,7],[652,5]]},"18":{"position":[[728,7]]},"20":{"position":[[465,5]]}}}],["state'",{"_index":159,"t":{"8":{"position":[[102,7]]}}}],["statement",{"_index":730,"t":{"48":{"position":[[45,10],[221,11],[251,10],[410,10],[557,10]]}}}],["statu",{"_index":245,"t":{"10":{"position":[[46,6]]},"52":{"position":[[217,6]]}}}],["statut",{"_index":847,"t":{"62":{"position":[[2028,7]]}}}],["step",{"_index":175,"t":{"8":{"position":[[397,4]]}}}],["still",{"_index":392,"t":{"18":{"position":[[1406,5]]},"34":{"position":[[134,5]]}}}],["stop",{"_index":569,"t":{"26":{"position":[[1727,4]]}}}],["storag",{"_index":78,"t":{"4":{"position":[[414,7]]}}}],["store",{"_index":434,"t":{"20":{"position":[[1173,6],[1252,6]]},"26":{"position":[[342,5],[380,5],[889,6],[1282,6]]},"28":{"position":[[666,5]]}}}],["strength",{"_index":326,"t":{"16":{"position":[[1220,8]]}}}],["strengthen",{"_index":298,"t":{"16":{"position":[[481,13]]}}}],["strict",{"_index":772,"t":{"54":{"position":[[66,6]]}}}],["strive",{"_index":419,"t":{"20":{"position":[[797,7]]}}}],["structur",{"_index":882,"t":{"66":{"position":[[375,10],[460,9]]}}}],["subgroup",{"_index":244,"t":{"10":{"position":[[34,8]]}}}],["subject",{"_index":737,"t":{"48":{"position":[[487,7],[572,7],[1318,7]]},"50":{"position":[[259,7]]}}}],["submit",{"_index":465,"t":{"20":{"position":[[2540,10]]},"30":{"position":[[179,6]]},"32":{"position":[[73,9]]}}}],["subsect",{"_index":863,"t":{"64":{"position":[[302,11]]}}}],["substitut",{"_index":778,"t":{"54":{"position":[[165,10]]}}}],["success",{"_index":92,"t":{"4":{"position":[[654,10]]}}}],["successfulli",{"_index":193,"t":{"8":{"position":[[660,12]]}}}],["such",{"_index":206,"t":{"8":{"position":[[876,4]]},"16":{"position":[[172,4],[997,4]]},"20":{"position":[[2073,4],[2206,4],[3877,4]]},"26":{"position":[[572,4],[760,4],[1361,4],[1469,4],[2241,4]]},"28":{"position":[[232,4],[527,4]]},"30":{"position":[[186,4]]},"32":{"position":[[421,4],[477,4]]},"34":{"position":[[764,4]]},"46":{"position":[[584,4],[1622,5]]},"48":{"position":[[432,4]]},"50":{"position":[[291,4]]},"52":{"position":[[190,4],[281,4],[347,4],[456,4],[607,4],[731,4]]},"54":{"position":[[442,4],[498,4]]},"62":{"position":[[823,4],[1136,4]]}}}],["suffer",{"_index":208,"t":{"8":{"position":[[907,6]]}}}],["suffici",{"_index":376,"t":{"18":{"position":[[883,10]]}}}],["suit",{"_index":367,"t":{"18":{"position":[[682,6]]}}}],["suitabl",{"_index":704,"t":{"46":{"position":[[463,11]]}}}],["summari",{"_index":747,"t":{"48":{"position":[[837,7]]}}}],["supersed",{"_index":855,"t":{"64":{"position":[[99,9]]}}}],["supplement",{"_index":755,"t":{"48":{"position":[[1358,12]]}}}],["support",{"_index":105,"t":{"6":{"position":[[172,7]]},"16":{"position":[[1250,10]]},"20":{"position":[[1361,7],[2752,7]]},"52":{"position":[[272,8]]}}}],["sure",{"_index":395,"t":{"18":{"position":[[1471,6]]}}}],["swiss",{"_index":796,"t":{"60":{"position":[[0,5]]},"62":{"position":[[1247,5],[1310,5],[1957,5]]}}}],["switzerland",{"_index":535,"t":{"24":{"position":[[317,11]]},"32":{"position":[[179,12],[330,11],[543,11],[645,11]]},"44":{"position":[[258,11]]},"62":{"position":[[1532,12]]}}}],["system",{"_index":136,"t":{"6":{"position":[[614,6]]},"8":{"position":[[75,7],[210,7],[599,6]]},"16":{"position":[[1164,6]]},"18":{"position":[[130,7]]},"34":{"position":[[426,8]]}}}],["system'",{"_index":407,"t":{"20":{"position":[[137,8]]}}}],["take",{"_index":249,"t":{"10":{"position":[[98,5]]},"30":{"position":[[26,4]]}}}],["target",{"_index":323,"t":{"16":{"position":[[1142,8],[1186,7]]}}}],["tax",{"_index":721,"t":{"46":{"position":[[1572,4]]}}}],["team",{"_index":4,"t":{"2":{"position":[[47,4]]},"66":{"position":[[20,4],[129,4]]}}}],["tech",{"_index":74,"t":{"4":{"position":[[352,4]]},"16":{"position":[[144,4]]}}}],["technic",{"_index":552,"t":{"26":{"position":[[792,9],[1140,9],[1158,9],[1412,9]]},"48":{"position":[[303,9],[639,9]]}}}],["techniqu",{"_index":433,"t":{"20":{"position":[[1143,10]]}}}],["technolog",{"_index":83,"t":{"4":{"position":[[522,10]]},"16":{"position":[[752,11]]},"48":{"position":[[156,11]]}}}],["technology'",{"_index":127,"t":{"6":{"position":[[487,12]]}}}],["ten",{"_index":414,"t":{"20":{"position":[[660,4]]}}}],["term",{"_index":209,"t":{"8":{"position":[[917,5]]},"20":{"position":[[3936,5]]},"42":{"position":[[58,5],[81,5],[293,5],[439,5],[492,5]]},"44":{"position":[[34,5]]},"50":{"position":[[328,5]]},"52":{"position":[[82,5]]},"54":{"position":[[308,5]]},"56":{"position":[[271,5]]},"58":{"position":[[50,5],[186,5]]},"60":{"position":[[32,5]]},"62":{"position":[[9,6],[167,5]]},"64":{"position":[[14,5],[331,5],[473,5],[516,5],[610,5],[732,5],[867,5]]}}}],["territori",{"_index":116,"t":{"6":{"position":[[298,11]]}}}],["test",{"_index":393,"t":{"18":{"position":[[1418,6]]}}}],["theori",{"_index":774,"t":{"54":{"position":[[112,6]]}}}],["therefor",{"_index":129,"t":{"6":{"position":[[514,9]]},"8":{"position":[[332,10]]},"36":{"position":[[143,9]]}}}],["therein",{"_index":767,"t":{"52":{"position":[[318,8],[385,7]]}}}],["thing",{"_index":739,"t":{"48":{"position":[[612,7]]}}}],["third",{"_index":472,"t":{"20":{"position":[[2762,5]]},"26":{"position":[[1491,5]]},"28":{"position":[[60,5],[237,5]]},"36":{"position":[[46,5],[74,5],[229,5]]},"52":{"position":[[50,5],[157,5],[195,5],[286,5],[352,5],[461,5],[542,5],[612,5],[736,5]]}}}],["those",{"_index":291,"t":{"16":{"position":[[334,5]]},"20":{"position":[[2214,5]]},"52":{"position":[[151,5]]}}}],["thought",{"_index":480,"t":{"20":{"position":[[3043,7]]}}}],["thousand",{"_index":328,"t":{"16":{"position":[[1273,9]]},"20":{"position":[[668,10]]}}}],["threaten",{"_index":225,"t":{"8":{"position":[[1142,8]]}}}],["three",{"_index":401,"t":{"20":{"position":[[18,5]]}}}],["through",{"_index":429,"t":{"20":{"position":[[1054,7]]},"46":{"position":[[1018,7]]},"48":{"position":[[462,7],[1174,7]]},"52":{"position":[[572,7],[633,7]]},"62":{"position":[[1204,7]]}}}],["throughput",{"_index":317,"t":{"16":{"position":[[1022,11]]},"20":{"position":[[2936,10]]}}}],["time",{"_index":544,"t":{"26":{"position":[[413,4],[907,5],[2300,4]]},"38":{"position":[[64,4]]},"48":{"position":[[1378,5]]},"58":{"position":[[70,4]]},"62":{"position":[[1359,4],[2123,4]]}}}],["timelin",{"_index":744,"t":{"48":{"position":[[755,9],[1273,8]]}}}],["today",{"_index":357,"t":{"18":{"position":[[495,5]]}}}],["today'",{"_index":186,"t":{"8":{"position":[[550,7]]}}}],["token",{"_index":728,"t":{"46":{"position":[[1750,6]]},"48":{"position":[[376,6]]}}}],["tomorrow",{"_index":117,"t":{"6":{"position":[[332,9]]}}}],["top",{"_index":582,"t":{"26":{"position":[[2249,3],[2260,3]]}}}],["trade",{"_index":309,"t":{"16":{"position":[[831,5],[938,5]]}}}],["tradit",{"_index":486,"t":{"20":{"position":[[3237,11],[3445,11]]}}}],["traffic",{"_index":581,"t":{"26":{"position":[[2224,7]]}}}],["transact",{"_index":316,"t":{"16":{"position":[[1010,11]]},"20":{"position":[[2551,12],[3128,12],[3549,12]]}}}],["transfer",{"_index":448,"t":{"20":{"position":[[1900,10]]},"34":{"position":[[494,11]]}}}],["transmiss",{"_index":630,"t":{"32":{"position":[[584,12]]}}}],["transpar",{"_index":123,"t":{"6":{"position":[[440,12]]}}}],["treat",{"_index":723,"t":{"46":{"position":[[1611,7]]}}}],["trend",{"_index":580,"t":{"26":{"position":[[2118,6]]}}}],["trial",{"_index":815,"t":{"62":{"position":[[620,5]]}}}],["tribun",{"_index":839,"t":{"62":{"position":[[1627,8]]}}}],["trust",{"_index":488,"t":{"20":{"position":[[3481,5]]}}}],["trustless",{"_index":71,"t":{"4":{"position":[[313,9]]},"16":{"position":[[35,9]]}}}],["trustless—a",{"_index":455,"t":{"20":{"position":[[2127,12]]}}}],["two",{"_index":204,"t":{"8":{"position":[[849,3]]}}}],["type",{"_index":110,"t":{"6":{"position":[[230,4]]}}}],["ultim",{"_index":89,"t":{"4":{"position":[[609,11]]}}}],["unabl",{"_index":822,"t":{"62":{"position":[[1016,6]]}}}],["uncertainti",{"_index":738,"t":{"48":{"position":[[524,12],[1051,11]]}}}],["uncompromis",{"_index":330,"t":{"16":{"position":[[1317,13]]}}}],["under",{"_index":541,"t":{"26":{"position":[[220,5]]},"40":{"position":[[138,5]]},"50":{"position":[[48,5]]},"54":{"position":[[34,5]]},"64":{"position":[[951,5]]}}}],["underexplor",{"_index":331,"t":{"18":{"position":[[45,13]]}}}],["understand",{"_index":858,"t":{"64":{"position":[[139,15]]}}}],["undu",{"_index":751,"t":{"48":{"position":[[1101,5]]}}}],["unenforc",{"_index":867,"t":{"64":{"position":[[548,14]]}}}],["uniformli",{"_index":487,"t":{"20":{"position":[[3339,9]]}}}],["union",{"_index":619,"t":{"32":{"position":[[170,5],[635,5]]}}}],["unlawfulli",{"_index":657,"t":{"34":{"position":[[1029,11]]}}}],["unless",{"_index":604,"t":{"28":{"position":[[715,6]]}}}],["unlik",{"_index":485,"t":{"20":{"position":[[3230,6]]},"32":{"position":[[90,8]]}}}],["unstopp",{"_index":100,"t":{"6":{"position":[[67,11]]}}}],["unsubscrib",{"_index":571,"t":{"26":{"position":[[1798,13]]}}}],["updat",{"_index":507,"t":{"22":{"position":[[18,8]]},"26":{"position":[[1180,8]]},"34":{"position":[[326,6]]},"42":{"position":[[18,8]]},"48":{"position":[[1212,6]]}}}],["upon",{"_index":671,"t":{"38":{"position":[[197,4]]},"46":{"position":[[1308,4]]},"58":{"position":[[229,4]]}}}],["us",{"_index":450,"t":{"20":{"position":[[1927,3],[3000,3],[3477,3]]},"26":{"position":[[529,3],[577,3],[609,3],[1891,3]]},"28":{"position":[[145,3],[465,5]]},"32":{"position":[[389,3]]},"42":{"position":[[67,3],[90,5],[160,3],[302,3],[328,3],[356,3],[448,4],[501,4],[529,3]]},"44":{"position":[[43,4]]},"46":{"position":[[58,3],[498,3],[855,3]]},"48":{"position":[[369,3]]},"50":{"position":[[254,4]]},"52":{"position":[[144,3],[409,6],[514,3]]},"54":{"position":[[317,4],[371,3]]},"56":{"position":[[162,3],[280,4]]},"58":{"position":[[59,3],[195,3]]},"60":{"position":[[41,3]]},"62":{"position":[[176,4],[230,3],[713,3]]},"64":{"position":[[23,3],[340,3],[482,4],[525,3],[619,4],[741,4],[876,4]]}}}],["user",{"_index":69,"t":{"4":{"position":[[286,6]]},"10":{"position":[[192,6]]},"16":{"position":[[451,5]]},"20":{"position":[[2504,4]]},"22":{"position":[[85,5]]},"26":{"position":[[83,5]]},"28":{"position":[[639,5]]},"50":{"position":[[153,5]]}}}],["user'",{"_index":471,"t":{"20":{"position":[[2687,6]]}}}],["usher",{"_index":344,"t":{"18":{"position":[[255,8]]}}}],["util",{"_index":703,"t":{"46":{"position":[[441,8]]}}}],["valid",{"_index":289,"t":{"16":{"position":[[308,11]]},"20":{"position":[[389,10],[646,10],[897,10],[1578,11],[3209,11]]},"34":{"position":[[752,8]]}}}],["vari",{"_index":745,"t":{"48":{"position":[[771,4]]}}}],["varieti",{"_index":613,"t":{"30":{"position":[[81,7]]}}}],["variou",{"_index":350,"t":{"18":{"position":[[355,7]]}}}],["verif",{"_index":303,"t":{"16":{"position":[[672,13]]},"20":{"position":[[961,12],[1652,12]]}}}],["verifi",{"_index":441,"t":{"20":{"position":[[1562,8],[1715,6]]}}}],["via",{"_index":161,"t":{"8":{"position":[[131,3]]},"20":{"position":[[1130,3],[3633,3]]},"62":{"position":[[1566,3]]}}}],["video",{"_index":596,"t":{"28":{"position":[[410,6],[532,7],[880,6]]},"62":{"position":[[1570,5]]}}}],["violat",{"_index":698,"t":{"46":{"position":[[325,9]]},"56":{"position":[[244,9]]}}}],["virtual",{"_index":115,"t":{"6":{"position":[[290,7]]},"20":{"position":[[3057,7]]}}}],["virtual/onlin",{"_index":837,"t":{"62":{"position":[[1587,14]]}}}],["vision",{"_index":368,"t":{"18":{"position":[[697,6],[1363,6]]}}}],["visit",{"_index":516,"t":{"22":{"position":[[185,8]]}}}],["visitor",{"_index":579,"t":{"26":{"position":[[2066,7],[2183,9]]}}}],["voluntari",{"_index":170,"t":{"8":{"position":[[276,9]]}}}],["voluntarili",{"_index":133,"t":{"6":{"position":[[585,11]]}}}],["vulner",{"_index":213,"t":{"8":{"position":[[967,10]]},"18":{"position":[[341,10]]}}}],["waiv",{"_index":810,"t":{"62":{"position":[[453,6],[588,5],[2192,5]]},"64":{"position":[[778,6]]}}}],["waku",{"_index":77,"t":{"4":{"position":[[400,5]]}}}],["warrant",{"_index":699,"t":{"46":{"position":[[356,7]]}}}],["warranti",{"_index":690,"t":{"46":{"position":[[128,10],[205,10],[1343,8]]},"64":{"position":[[187,11]]}}}],["way",{"_index":365,"t":{"18":{"position":[[640,5]]},"26":{"position":[[684,3]]},"54":{"position":[[275,3]]}}}],["we'd",{"_index":885,"t":{"66":{"position":[[615,4]]}}}],["web3",{"_index":877,"t":{"66":{"position":[[229,4]]}}}],["websit",{"_index":514,"t":{"22":{"position":[[137,7],[145,12],[198,8]]},"26":{"position":[[96,8],[540,8],[588,7],[857,8],[1031,7],[1121,7],[2175,7]]},"28":{"position":[[130,7],[392,7]]},"30":{"position":[[117,7]]},"36":{"position":[[8,8],[58,9],[241,9]]},"38":{"position":[[106,7],[221,8]]},"42":{"position":[[50,7],[71,9],[172,8],[238,8],[285,7],[339,7],[367,7],[431,7],[484,7],[537,8]]},"44":{"position":[[26,7]]},"46":{"position":[[4,7],[66,7],[509,8],[538,7],[575,8],[740,7],[866,7],[1031,7],[1644,7]]},"48":{"position":[[4,7],[475,7],[1149,7],[1187,8],[1223,7]]},"50":{"position":[[4,7],[381,8]]},"52":{"position":[[18,7],[62,8],[169,9],[207,9],[298,8],[364,8],[473,8],[554,8],[584,8],[624,8],[645,8],[748,9]]},"54":{"position":[[300,7],[326,8],[354,8],[382,8]]},"56":{"position":[[173,8],[201,8],[263,7]]},"58":{"position":[[42,7],[132,7],[178,7],[253,8]]},"60":{"position":[[24,7]]},"62":{"position":[[159,7],[185,8],[213,8],[241,8]]},"64":{"position":[[6,7],[87,7],[242,8],[323,7],[465,7],[508,7],[602,7],[724,7],[859,7]]}}}],["welcom",{"_index":260,"t":{"12":{"position":[[0,7]]},"66":{"position":[[678,7]]}}}],["well",{"_index":562,"t":{"26":{"position":[[1192,4]]},"62":{"position":[[1691,4]]}}}],["what’",{"_index":746,"t":{"48":{"position":[[781,6]]}}}],["whenev",{"_index":536,"t":{"24":{"position":[[329,8]]},"44":{"position":[[270,8]]}}}],["wherev",{"_index":635,"t":{"34":{"position":[[98,8]]}}}],["whether",{"_index":716,"t":{"46":{"position":[[1366,7],[1397,7]]},"60":{"position":[[82,7]]}}}],["whitepap",{"_index":456,"t":{"20":{"position":[[2174,11]]}}}],["wide",{"_index":64,"t":{"4":{"position":[[207,4]]},"18":{"position":[[1425,6]]},"20":{"position":[[3683,4]]}}}],["will",{"_index":497,"t":{"20":{"position":[[3905,7]]}}}],["wish",{"_index":568,"t":{"26":{"position":[[1719,4]]}}}],["withdraw",{"_index":447,"t":{"20":{"position":[[1807,11]]},"34":{"position":[[550,8]]}}}],["withdrawn",{"_index":650,"t":{"34":{"position":[[807,9]]}}}],["within",{"_index":823,"t":{"62":{"position":[[1055,6],[2078,6]]},"66":{"position":[[207,6]]}}}],["without",{"_index":292,"t":{"16":{"position":[[340,7]]},"26":{"position":[[1505,7]]},"38":{"position":[[73,7]]},"46":{"position":[[182,7]]},"48":{"position":[[1384,7]]},"56":{"position":[[220,7]]},"58":{"position":[[79,7]]},"60":{"position":[[115,7]]}}}],["work",{"_index":19,"t":{"2":{"position":[[287,7]]},"10":{"position":[[0,4]]},"66":{"position":[[318,7],[415,4],[502,4],[750,4]]}}}],["world",{"_index":143,"t":{"6":{"position":[[727,5]]},"18":{"position":[[1440,5]]}}}],["worldwid",{"_index":277,"t":{"14":{"position":[[40,11],[91,11]]}}}],["written",{"_index":819,"t":{"62":{"position":[[862,7]]},"64":{"position":[[204,7]]}}}],["x",{"_index":270,"t":{"12":{"position":[[257,1]]}}}],["year",{"_index":849,"t":{"62":{"position":[[2089,4]]}}}],["youtub",{"_index":594,"t":{"28":{"position":[[379,8],[422,8],[540,7],[649,7],[814,7]]}}}],["youtube’",{"_index":599,"t":{"28":{"position":[[471,9],[860,9]]}}}],["zero",{"_index":278,"t":{"14":{"position":[[52,4]]}}}],["zk",{"_index":442,"t":{"20":{"position":[[1668,2],[1722,2]]}}}],["zone",{"_index":231,"t":{"8":{"position":[[1259,5]]},"16":{"position":[[923,5]]},"20":{"position":[[81,6],[1407,6],[1864,6],[1887,4],[1972,6],[2020,5],[2262,6],[2345,5],[2532,4],[2661,4],[2713,5],[2787,6],[2804,5],[3021,5],[3170,4],[3420,5],[3658,5],[4155,4]]}}}],["zone'",{"_index":461,"t":{"20":{"position":[[2377,6],[3202,6]]}}}],["zug",{"_index":525,"t":{"24":{"position":[[200,3],[313,3]]},"44":{"position":[[140,3],[254,3]]},"62":{"position":[[1527,4]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file +[{"documents":[{"i":1,"t":"Core contributors","u":"/about/team","b":["About Nomos"]},{"i":3,"t":"About Nomos","u":"/about/","b":["About Nomos"]},{"i":11,"t":"Description and architecture","u":"/about/architect","b":["About Nomos"]},{"i":17,"t":"Current job openings","u":"/join-us","b":["Join Us"]},{"i":19,"t":"Development roadmap","u":"/about/roadmap","b":["About Nomos"]},{"i":21,"t":"Join the community","u":"/community","b":["Community"]},{"i":23,"t":"Security","u":"/security","b":[]},{"i":25,"t":"Privacy Policy","u":"/privacy-policy","b":[]},{"i":45,"t":"Terms of Use","u":"/terms","b":[]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,1.853,1,1.853]],["t/3",[2,2.349]],["t/11",[3,1.853,4,1.853]],["t/17",[5,1.529,6,1.529,7,1.529]],["t/19",[8,1.853,9,1.853]],["t/21",[10,1.853,11,1.853]],["t/23",[12,2.349]],["t/25",[13,1.853,14,1.853]],["t/45",[15,1.853,16,1.853]]],"invertedIndex":[["architectur",{"_index":4,"t":{"11":{"position":[[16,12]]}}}],["commun",{"_index":11,"t":{"21":{"position":[[9,9]]}}}],["contributor",{"_index":1,"t":{"1":{"position":[[5,12]]}}}],["core",{"_index":0,"t":{"1":{"position":[[0,4]]}}}],["current",{"_index":5,"t":{"17":{"position":[[0,7]]}}}],["descript",{"_index":3,"t":{"11":{"position":[[0,11]]}}}],["develop",{"_index":8,"t":{"19":{"position":[[0,11]]}}}],["job",{"_index":6,"t":{"17":{"position":[[8,3]]}}}],["join",{"_index":10,"t":{"21":{"position":[[0,4]]}}}],["nomo",{"_index":2,"t":{"3":{"position":[[6,5]]}}}],["open",{"_index":7,"t":{"17":{"position":[[12,8]]}}}],["polici",{"_index":14,"t":{"25":{"position":[[8,6]]}}}],["privaci",{"_index":13,"t":{"25":{"position":[[0,7]]}}}],["roadmap",{"_index":9,"t":{"19":{"position":[[12,7]]}}}],["secur",{"_index":12,"t":{"23":{"position":[[0,8]]}}}],["term",{"_index":15,"t":{"45":{"position":[[0,5]]}}}],["us",{"_index":16,"t":{"45":{"position":[[9,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":5,"t":"Network-level resiliency, network-level sovereignty","u":"/about/","h":"#network-level-resiliency-network-level-sovereignty","p":3},{"i":7,"t":"Consent of the governed","u":"/about/","h":"#consent-of-the-governed","p":3},{"i":9,"t":"History","u":"/about/","h":"#history","p":3},{"i":13,"t":"Design space","u":"/about/architect","h":"#design-space","p":11},{"i":15,"t":"Network architecture","u":"/about/architect","h":"#network-architecture","p":11},{"i":27,"t":"1) Who we are","u":"/privacy-policy","h":"#1-who-we-are","p":25},{"i":29,"t":"2) We limit the collection and processing of personal data from your use of the Website","u":"/privacy-policy","h":"#2-we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website","p":25},{"i":31,"t":"3) Third party processing of personal data","u":"/privacy-policy","h":"#3-third-party-processing-of-personal-data","p":25},{"i":33,"t":"4) Security measures we take in respect of the Website","u":"/privacy-policy","h":"#4-security-measures-we-take-in-respect-of-the-website","p":25},{"i":35,"t":"5) Exporting data outside the European Union and Switzerland","u":"/privacy-policy","h":"#5-exporting-data-outside-the-european-union-and-switzerland","p":25},{"i":37,"t":"6) Your choices and rights","u":"/privacy-policy","h":"#6-your-choices-and-rights","p":25},{"i":39,"t":"7) Third party links","u":"/privacy-policy","h":"#7-third-party-links","p":25},{"i":41,"t":"8) This Privacy Policy might change","u":"/privacy-policy","h":"#8-this-privacy-policy-might-change","p":25},{"i":43,"t":"9) Contact information","u":"/privacy-policy","h":"#9-contact-information","p":25},{"i":47,"t":"1) Who we are","u":"/terms","h":"#1-who-we-are","p":45},{"i":49,"t":"2) Disclaimers","u":"/terms","h":"#2-disclaimers","p":45},{"i":51,"t":"3) Forward looking statements","u":"/terms","h":"#3-forward-looking-statements","p":45},{"i":53,"t":"4) Intellectual property rights","u":"/terms","h":"#4-intellectual-property-rights","p":45},{"i":55,"t":"5) Third-party website links","u":"/terms","h":"#5-third-party-website-links","p":45},{"i":57,"t":"6) Limitation of liability","u":"/terms","h":"#6-limitation-of-liability","p":45},{"i":59,"t":"7) Indemnity","u":"/terms","h":"#7-indemnity","p":45},{"i":61,"t":"8) Modifications","u":"/terms","h":"#8-modifications","p":45},{"i":63,"t":"9) Governing law","u":"/terms","h":"#9-governing-law","p":45},{"i":65,"t":"10) Disputes","u":"/terms","h":"#10-disputes","p":45},{"i":67,"t":"11) About these Website Terms of Use","u":"/terms","h":"#11-about-these-website-terms-of-use","p":45}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/5",[0,2.675,1,3.259,2,2.201,3,2.201]],["t/7",[4,3.453,5,2.835]],["t/9",[6,4.027]],["t/13",[7,3.453,8,3.453]],["t/15",[0,2.835,9,3.453]],["t/27",[10,3.305]],["t/29",[11,1.529,12,1.529,13,1.863,14,1.529,15,1.529,16,1.31,17,1.529,18,1.145]],["t/31",[14,1.807,15,1.807,16,1.547,19,1.807,20,1.547,21,1.547]],["t/33",[18,1.353,22,1.807,23,2.201,24,2.201,25,2.201,26,2.201]],["t/35",[16,1.418,27,1.656,28,2.018,29,2.018,30,2.018,31,2.018,32,2.018]],["t/37",[33,2.482,34,3.023,35,2.482]],["t/39",[20,1.89,21,1.89,36,2.207,37,2.207]],["t/41",[38,2.207,39,2.688,40,2.688,41,2.688]],["t/43",[42,2.482,43,3.023,44,3.023]],["t/47",[10,3.305]],["t/49",[11,2.835,45,3.453]],["t/51",[19,2.207,46,2.688,47,2.688,48,2.688]],["t/53",[22,2.207,35,2.207,49,2.688,50,2.688]],["t/55",[18,1.488,20,1.701,21,1.701,27,1.987,37,1.987]],["t/57",[12,2.482,33,2.482,51,3.023]],["t/59",[36,2.835,52,3.453]],["t/61",[38,2.835,53,3.453]],["t/63",[5,2.482,42,2.482,54,3.023]],["t/65",[55,3.453,56,3.453]],["t/67",[17,2.207,18,1.653,57,2.688,58,2.688]]],"invertedIndex":[["1",{"_index":10,"t":{"27":{"position":[[0,2]]},"47":{"position":[[0,2]]}}}],["10",{"_index":55,"t":{"65":{"position":[[0,3]]}}}],["11",{"_index":57,"t":{"67":{"position":[[0,3]]}}}],["2",{"_index":11,"t":{"29":{"position":[[0,2]]},"49":{"position":[[0,2]]}}}],["3",{"_index":19,"t":{"31":{"position":[[0,2]]},"51":{"position":[[0,2]]}}}],["4",{"_index":22,"t":{"33":{"position":[[0,2]]},"53":{"position":[[0,2]]}}}],["5",{"_index":27,"t":{"35":{"position":[[0,2]]},"55":{"position":[[0,2]]}}}],["6",{"_index":33,"t":{"37":{"position":[[0,2]]},"57":{"position":[[0,2]]}}}],["7",{"_index":36,"t":{"39":{"position":[[0,2]]},"59":{"position":[[0,2]]}}}],["8",{"_index":38,"t":{"41":{"position":[[0,2]]},"61":{"position":[[0,2]]}}}],["9",{"_index":42,"t":{"43":{"position":[[0,2]]},"63":{"position":[[0,2]]}}}],["architectur",{"_index":9,"t":{"15":{"position":[[8,12]]}}}],["chang",{"_index":41,"t":{"41":{"position":[[29,6]]}}}],["choic",{"_index":34,"t":{"37":{"position":[[8,7]]}}}],["collect",{"_index":13,"t":{"29":{"position":[[16,10]]}}}],["consent",{"_index":4,"t":{"7":{"position":[[0,7]]}}}],["contact",{"_index":43,"t":{"43":{"position":[[3,7]]}}}],["data",{"_index":16,"t":{"29":{"position":[[54,4]]},"31":{"position":[[38,4]]},"35":{"position":[[13,4]]}}}],["design",{"_index":7,"t":{"13":{"position":[[0,6]]}}}],["disclaim",{"_index":45,"t":{"49":{"position":[[3,11]]}}}],["disput",{"_index":56,"t":{"65":{"position":[[4,8]]}}}],["european",{"_index":30,"t":{"35":{"position":[[30,8]]}}}],["export",{"_index":28,"t":{"35":{"position":[[3,9]]}}}],["forward",{"_index":46,"t":{"51":{"position":[[3,7]]}}}],["govern",{"_index":5,"t":{"7":{"position":[[15,8]]},"63":{"position":[[3,9]]}}}],["histori",{"_index":6,"t":{"9":{"position":[[0,7]]}}}],["indemn",{"_index":52,"t":{"59":{"position":[[3,9]]}}}],["inform",{"_index":44,"t":{"43":{"position":[[11,11]]}}}],["intellectu",{"_index":49,"t":{"53":{"position":[[3,12]]}}}],["law",{"_index":54,"t":{"63":{"position":[[13,3]]}}}],["level",{"_index":1,"t":{"5":{"position":[[8,5],[34,5]]}}}],["liabil",{"_index":51,"t":{"57":{"position":[[17,9]]}}}],["limit",{"_index":12,"t":{"29":{"position":[[6,5]]},"57":{"position":[[3,10]]}}}],["link",{"_index":37,"t":{"39":{"position":[[15,5]]},"55":{"position":[[23,5]]}}}],["look",{"_index":47,"t":{"51":{"position":[[11,7]]}}}],["measur",{"_index":24,"t":{"33":{"position":[[12,8]]}}}],["modif",{"_index":53,"t":{"61":{"position":[[3,13]]}}}],["network",{"_index":0,"t":{"5":{"position":[[0,7],[26,7]]},"15":{"position":[[0,7]]}}}],["outsid",{"_index":29,"t":{"35":{"position":[[18,7]]}}}],["parti",{"_index":21,"t":{"31":{"position":[[9,5]]},"39":{"position":[[9,5]]},"55":{"position":[[9,5]]}}}],["person",{"_index":15,"t":{"29":{"position":[[45,8]]},"31":{"position":[[29,8]]}}}],["polici",{"_index":40,"t":{"41":{"position":[[16,6]]}}}],["privaci",{"_index":39,"t":{"41":{"position":[[8,7]]}}}],["process",{"_index":14,"t":{"29":{"position":[[31,10]]},"31":{"position":[[15,10]]}}}],["properti",{"_index":50,"t":{"53":{"position":[[16,8]]}}}],["resili",{"_index":2,"t":{"5":{"position":[[14,11]]}}}],["respect",{"_index":26,"t":{"33":{"position":[[32,7]]}}}],["right",{"_index":35,"t":{"37":{"position":[[20,6]]},"53":{"position":[[25,6]]}}}],["secur",{"_index":23,"t":{"33":{"position":[[3,8]]}}}],["sovereignti",{"_index":3,"t":{"5":{"position":[[40,11]]}}}],["space",{"_index":8,"t":{"13":{"position":[[7,5]]}}}],["statement",{"_index":48,"t":{"51":{"position":[[19,10]]}}}],["switzerland",{"_index":32,"t":{"35":{"position":[[49,11]]}}}],["take",{"_index":25,"t":{"33":{"position":[[24,4]]}}}],["term",{"_index":58,"t":{"67":{"position":[[24,5]]}}}],["third",{"_index":20,"t":{"31":{"position":[[3,5]]},"39":{"position":[[3,5]]},"55":{"position":[[3,5]]}}}],["union",{"_index":31,"t":{"35":{"position":[[39,5]]}}}],["us",{"_index":17,"t":{"29":{"position":[[69,3]]},"67":{"position":[[33,3]]}}}],["websit",{"_index":18,"t":{"29":{"position":[[80,7]]},"33":{"position":[[47,7]]},"55":{"position":[[15,7]]},"67":{"position":[[16,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"Building Nomos is a team of passionate and experienced blockchain developers and researchers. Alongside Nomos' project lead is a team of researchers and developers with experience as software engineers both within and beyond the web3 ecosystem, and in academia. At this stage of development, the group of contributors working on Nomos is small, meaning it has a loose, fluid structure. As more contributors join to work on the network, we expect to revise the structure detailed here. Nomos is keen to work with other contributors. If you share our passion for decentralisation, individual sovereignty and privacy, we'd love to hear from you. As an open-source project, we also welcome community contributions. Please check out our Github repo here. Work with us","s":"Core contributors","u":"/about/team","h":"","p":1},{"i":4,"t":"Nomos is an innovative blockchain platform designed to address the critical requirements of the network state. It aims to provide developers with secure, flexible, and scalable infrastructure for building a wide range of applications while respecting the privacy and sovereignty of its users. Nomos serves as the trustless agreement layer of the Logos tech stack. Alongside the communications layer, Waku, and the storage layer, Codex, it is one of the Logos Collective's foundational projects. We believe that blockchain technology has the potential to lay the foundations of a fairer, less corruptible and, ultimately, freer society. However, its most successful implementations to date fall short of achieving this.","s":"About Nomos","u":"/about/","h":"","p":3},{"i":6,"t":"We seek to maximize the antifragility of our network. It should be unstoppable and incorruptible, with security layers focused on deterring bad actors. Not only will Nomos support good nodes, it will protect and reward them. This type of antifragility is needed to power the self-sovereign virtual territories and network states of tomorrow. Decentralised, impregnable governance is the key to securing the future. We believe that absolute transparency massively limits the scope of the technology's adoption, and therefore its revolutionary potential. We cannot expect individuals to voluntarily exit the current system into one in which their every interaction (both financial and social) is forever available for the entire world to see. When we buy a coffee, for example, there is no need for the seller to see our salary, other purchase history, or political leanings.","s":"Network-level resiliency, network-level sovereignty","u":"/about/","h":"#network-level-resiliency-network-level-sovereignty","p":3},{"i":8,"t":"Furthermore, we believe consent to be a critical element of any governance system. We find the nation-state's claims of governance via implied consent to be extremely contrived. And we believe blockchain-based systems represent an improvement because every on-chain action is voluntary and requires an individual to digitally sign, therefore, providing explicit consent. While this is certainly a step in the right direction, it does not go far enough. If an individual no longer aligns with the on-chain institutions of which they were once a part, today's blockchains offer a means of exiting the system to recreate something new. However, the cost to do so successfully can be prohibitively expensive. There have been numerous occasions in history where an on-chain community has been divided on some issue, resulting in a hard fork that creates two independent chains. In such situations, both networks suffer in terms of their overall security, making them more vulnerable to external attacks. Nomos leverages a novel architecture to avoid this situation. We believe that a simple disagreement over a community's path forward should not threaten the existence of either party. The Nomos network enables the creation of numerous semi-autonomous execution zones that share the main network's security while retaining the freedom to follow their own rulesets, and eventually become fully independent if they so choose.","s":"Consent of the governed","u":"/about/","h":"#consent-of-the-governed","p":3},{"i":10,"t":"Work on Nomos began among a small subgroup of Status core contributors in June, 2021. The network takes its name from the ancient Greek concept of law, while alluding to the protection of its users’ autonomy. Nomos was first announced as a core Logos project in June 2023.","s":"History","u":"/about/","h":"#history","p":3},{"i":12,"t":"Nomos was designed to serve as the trustless agreements layer for emerging network states, providing a key piece of infrastructure to the Logos tech stack. We believe that such a network must maintain the following properties: Maximum decentralisation: Nomos is designed to place minimum resource demands on validators, ensuring that those without access to powerful hardware can participate. With the network maximally accessible, greater numbers of users can join as full peers, strengthening Nomos from a security perspective. Modular Architecture: We focus on implementing a modular architecture that decouples consensus and data availability from state execution and verification. This decoupling allows for maximum scalability for our blockchain technology, facilitating agile experiments in governance. Isolated performance trade-offs: Nomos will provide a means for customizable execution environments called Nomos Zones in which trade-offs can be made to achieve performance enhancements such as high transaction throughput. High Network Resiliency: Nomos puts an emphasis on mechanisms to protect the network from sophisticated and targeted attacks. The system identifies and targets risky nodes to ensure the strength of the network while supporting hundreds of thousands of nodes in the process, ensuring uncompromised resiliency.","s":"Description and architecture","u":"/about/architect","h":"","p":11},{"i":14,"t":"To achieve the above, Nomos is developing an underexplored area in the design space between Ethereum, Cosmos, Polkadot, and newer systems like Celestia and Anoma. Ethereum pioneered the concept of a blockchain network capable of smart contract execution, ushering in an ongoing era of monetary and organisational experimentation. Yet, it is vulnerable to various centralising forces. Furthermore, while its rollup-centric approach to scaling has the potential for decentralisation, most rollups today rely on centralised sequencers, and inter-rollup communication presents its own complications. While Nomos is inspired by Ethereum in many ways, these limitations make Ethereum ill-suited for our vision of a network of network states. App-chain ecosystems like Cosmos and Polkadot offer an alternative architecture but introduce their own challenges. Examples include bootstrapping sufficient participants to ensure the economic security of multiple independent chains, and addressing the asynchronous nature of cross-chain protocols. While Polkadot's shared security model offers something of a solution, the network fails to enable easy, permissionless participation and its parachains cannot be considered fully sovereign. Meanwhile, Anoma's fractal approach to scaling maintains decentralisation while providing flexibility and customizability closer to our vision for Nomos. However, the approach is still to be tested widely by real-world applications, which will surely produce its own challenges. Finally, Nomos implements insights from Celestia's architecture in its approach to communication, sovereignty, and scalability.","s":"Design space","u":"/about/architect","h":"#design-space","p":11},{"i":16,"t":"Nomos consists of three layers—the Base Layer, Coordination Layer, and Execution Zones. Each has a specific role that contributes to the system's functionality and performance. Base Layer Nomos' Base Layer focuses exclusively on consensus, data availability, and decentralisation, with the goal of ensuring stability, security, and scalability for the rest of the network. No execution or validation is performed at the Base Layer, as functions requiring access to state cannot be as reliably decentralised as consensus and data availability. The Carnot consensus protocol is crucial to ensuring high performance as the network scales from a few validators to tens of thousands. A forthcoming paper covers Carnot in greater detail. Alongside ensuring maximum decentralisation, the Base Layer also strives to make data availability scalable. It achieves this by: Reducing the amount of computation validators need by minimising or eliminating block execution or verification from the Base Layer. Reducing the amount of data light clients need to download through Data Availability Sampling. Reducing data redundancy in the network via sharding techniques that decouple data stored on the blockchain from the data that a single node needs to process and store. Coordination Layer Above the Base Layer is the Coordination Layer. The Coordination Layer's aim is to support functions common across all Execution Zones. To ensure maximum decentralisation, these functions are kept to the bare minimum, since everything on the Coordination Layer must be downloaded and verified by all validators. The Coordination Layer provides the following functions only: Verification of ZK proofs: The Coordination Layer's ability to verify ZK proofs facilitates powerful bridging capabilities, including private deposits and withdrawals between the Coordination Layer and Execution Zones, inter-Execution Zone private transfers, and generalised use cases. Message passing between Execution Zones: The Coordination Layer enables Execution Zones to communicate asynchronously with each other. Such messaging is a powerful feature but not entirely trustless—as detailed in the forthcoming Nomos whitepaper. Special operations, such as those relating to the creation of new Execution Zones: Initially, these special operations are limited to initiating new Execution Zones and the creation of a new zone's genesis block. Censorship resistance: Censorship resistance is an emergent property of the above features, enabling any user to \"exit\" an execution zone by submitting transactions to the Coordination Layer directly. This is particularly powerful in the event that an Execution Zone attempts to censor a user's actions. Execution Zones The Base and Coordination Layers support a third layer of Execution Zones. Execution Zones provide the following properties: Share liquidity with the entire Nomos network. Configurable latency reduction. Configurable throughput increases. Adaptability to specific applications and use cases. Execution Zones are most easily thought of as virtual sidechains that share the same global data availability space. Transactions associated with an Execution Zone are only processed by that zone's validators. However, unlike traditional sidechains, all applications on Nomos share the same blockchain, and data availability is uniformly ensured by the global Nomos network. This architecture makes Execution Zones more powerful than traditional sidechains as they: Use trust-minimised bridging for communication. Can access each other's transactions securely. Share liquidity across the network. Enable improved security via restaking. Execution Zones exist to satisfy a wide range of application requirements that may demand far greater performance characteristics than what a highly decentralised, monolithic blockchain can achieve before hitting scaling limits. Such applications are often willing to make compromises in terms of security or decentralisation to achieve higher performance. By combining the elastic consensus algorithm Carnot with a restaking mechanism and flexible execution models, Nomos grants a high degree of Execution Zone adaptability.","s":"Network architecture","u":"/about/architect","h":"#network-architecture","p":11},{"i":18,"t":"Nomos Applied Network Researcher Remote (Worldwide) Zero Knowledge Proof Researcher Remote (Worldwide)","s":"Current job openings","u":"/join-us","h":"","p":17},{"i":20,"t":"At this early stage of Nomos' development, the team is primarily focused on implementing the network's consensus protocol, Carnot. As the consensus protocol is so foundational to the rest of the project, it must precede other development areas. Alongside Carnot, Nomos' contributors are working on defining the network architecture, which will also influence future roadmap items. After defining the network architecture and implementing the consensus protocol, we can establish further milestones both above and below the consensus protocol. Above the consensus layer will be the network's data model and execution environments, which will enable advanced functionality. Below will be P2P networking and peer discovery, which must be built or integrated while maintaining privacy and performance.","s":"Development roadmap","u":"/about/roadmap","h":"","p":19},{"i":22,"t":"Welcome to the Nomos Community! Join us as we build a novel blockchain layer ideal for a network state. Be the first to receive our latest news, access documentation, and celebrate with us as we get closer to realising the Logos network state. Follow us on X Join the community on Discord Contribute to Github","s":"Join the community","u":"/community","h":"","p":21},{"i":24,"t":"We take security seriously at Nomos and across the Institute of Free Technology and its affiliates. Please report any security incidents via security@free.technology. Please report any discovered vulnerabilities in our bounty programme at HackenProof to help ensure our protocols and software remain secure.","s":"Security","u":"/security","h":"","p":23},{"i":26,"t":"On this page Last updated: 9 February 2024 This Privacy Policy is intended to inform users of our approach to privacy in respect of this website (\"Website\"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.","s":"Privacy Policy","u":"/privacy-policy","h":"","p":25},{"i":28,"t":"For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at Logos Collective Association c/o PST Consulting GmbH Baarerstrasse 10 6300 Zug Switzerland Whenever we refer to “Logos”, “we” or other similar references, we are referring to the Logos Collective Association.","s":"1) Who we are","u":"/privacy-policy","h":"#1-who-we-are","p":25},{"i":30,"t":"We aim to limit the collection and collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable privacy legislation. We will not collect or process any personal data that we don’t need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose. In this regard, we collect and process the following personal data from your use of the Website: IP address: As part of such use of the Website and from our use of Fathom Analytics, we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time. Collection of email addresses: We collect your email address and first name (or if preferred, your pseudonym), on our website for the purpose of sending you information in relation to the project (s) on this website concerning technical and non-technical content and updates, as well as potentially invitations to project related events. Your email address is securely stored on our self-hosted servers, and we have implemented measures to protect such personal data by securing it with appropriate technical and organisational measures. We will not share such personal data to third parties without your consent, except as required by law. We will only collect and process your email address, first name and if applicable, your pseudonym on the basis of you providing your consent for us to do so. If you wish to stop receiving our email communications, you can do so by clicking the \"unsubscribe\" link in the emails you receive from us. Fathom Analytics: We note that we make use of Fathom Analytics, which you can read more about here: https://usefathom.com/. In short, Fathom Analytics is an alternative to Google Analytics, that doesn’t compromise visitor privacy for data. Fathom Analytics collects trends and insights, not personal details about specific website visitors. Fathom Analytics offers simple traffic insights such as top pages, top referrers, bounce rate, and average time people spend on a site.","s":"2) We limit the collection and processing of personal data from your use of the Website","u":"/privacy-policy","h":"#2-we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website","p":25},{"i":32,"t":"In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply. We would however like to draw your attention to the following: Youtube: The Website may embed videos from Youtube, a service provided by Google LLC, using Youtube’s privacy-enhanced mode. When you interact with such videos, Youtube may place cookies on your personal device. The cookies do not directly identify individual users and YouTube will not store information to personalise your experience unless you are logged in to a Google account. We do not have any control over these cookies set by Youtube and it is recommended that you review YouTube’s embedding videos information page.","s":"3) Third party processing of personal data","u":"/privacy-policy","h":"#3-third-party-processing-of-personal-data","p":25},{"i":34,"t":"As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us.","s":"4) Security measures we take in respect of the Website","u":"/privacy-policy","h":"#4-security-measures-we-take-in-respect-of-the-website","p":25},{"i":36,"t":"We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable privacy legislation.","s":"5) Exporting data outside the European Union and Switzerland","u":"/privacy-policy","h":"#5-exporting-data-outside-the-european-union-and-switzerland","p":25},{"i":38,"t":"As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant privacy legislation, you have the right to: Ask us to correct or update your personal data (where reasonably possible); Ask us to remove your personal data from our systems; Ask us for a copy of your personal data, which may also be transferred to another data controller at your request; Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn’t affect the validity of such processing activities before you have withdrawn your consent; Object to the processing of your personal data; and File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully.","s":"6) Your choices and rights","u":"/privacy-policy","h":"#6-your-choices-and-rights","p":25},{"i":40,"t":"On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites.","s":"7) Third party links","u":"/privacy-policy","h":"#7-third-party-links","p":25},{"i":42,"t":"We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website.","s":"8) This Privacy Policy might change","u":"/privacy-policy","h":"#8-this-privacy-policy-might-change","p":25},{"i":44,"t":"To the extent that you have any questions about the Privacy Policy, please contact us at legal@free.technology. This document is licensed under CC-BY-SA.","s":"9) Contact information","u":"/privacy-policy","h":"#9-contact-information","p":25},{"i":46,"t":"On this page Last updated: 14 February 2024 These website terms of use ('Website Terms of Use') are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website. It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use. If you do not agree with these Website Terms of Use, you must not access or use the Website.","s":"Terms of Use","u":"/terms","h":"","p":45},{"i":48,"t":"For the purposes of these Website Terms of Use, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at: Logos Collective Association c/o PST Consulting GmbH Baarerstrasse 10 6300 Zug Switzerland Whenever we refer to “Logos”, “we”, “us” or any other similar references, we are referring to the Logos Collective Association.","s":"1) Who we are","u":"/terms","h":"#1-who-we-are","p":45},{"i":50,"t":"The Website is provided by us on an ‘as is’ basis and you use the Website at your own sole discretion and risk. We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site.These disclaimers will apply to the maximum extent permitted by applicable law. We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws. The content herein or as accessible through this website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein. The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such. Nothing in this Website should be construed by you as an offer to buy or sell, or soliciting any offer to buy or sell any tokens or any security.","s":"2) Disclaimers","u":"/terms","h":"#2-disclaimers","p":45},{"i":52,"t":"The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general. The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what’s presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website. While we aim to update our website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion.","s":"3) Forward looking statements","u":"/terms","h":"#3-forward-looking-statements","p":45},{"i":54,"t":"The Website and its contents are made available under Creative Commons Attribution 4.0 International license (CC-BY 4.0). In essence this licence allows users to copy, modify and distribute the content in any format for any purpose, including commercial use, subject to certain requirements such as attributing us. For the full terms of this licence, please refer to the following website: https://creativecommons.org/licenses/by/4.0/.","s":"4) Intellectual property rights","u":"/terms","h":"#4-intellectual-property-rights","p":45},{"i":56,"t":"To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, Status does not represent or imply that it endorses or supports such third party websites or content therein, or that it believes such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites.","s":"5) Third-party website links","u":"/terms","h":"#5-third-party-website-links","p":45},{"i":58,"t":"We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law.","s":"6) Limitation of liability","u":"/terms","h":"#6-limitation-of-liability","p":45},{"i":60,"t":"You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys’ fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use.","s":"7) Indemnity","u":"/terms","h":"#7-indemnity","p":45},{"i":62,"t":"We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website.","s":"8) Modifications","u":"/terms","h":"#8-modifications","p":45},{"i":64,"t":"Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions.","s":"9) Governing law","u":"/terms","h":"#9-governing-law","p":45},{"i":66,"t":"In these terms, “dispute” has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website. We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions. If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking. If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers’ Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration. Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us.","s":"10) Disputes","u":"/terms","h":"#10-disputes","p":45},{"i":68,"t":"These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website. The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use. If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them. If you have any specific questions about these Website Terms of Use, please contact us at legal@free.technology. This document is licensed under CC-BY-SA.","s":"11) About these Website Terms of Use","u":"/terms","h":"#11-about-these-website-terms-of-use","p":45}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,2.363,1,1.762,2,3.694,3,4.409,4,3.233,5,1.581,6,2.948,7,3.694,8,2.105,9,2.156,10,3.233,11,2.363,12,2.709,13,3.233,14,1.899,15,2.709,16,3.233,17,3.233,18,2.709,19,3.233,20,2.363,21,3.233,22,3.668,23,3.94,24,2.709,25,1.581,26,3.233,27,3.233,28,4.409,29,2.105,30,2.363,31,1.142,32,2.105,33,3.233,34,2.105,35,3.694,36,3.233,37,1.899,38,1.899,39,2.105,40,2.363,41,0.978,42,3.233,43,3.233,44,3.233,45,3.233,46,3.233,47,2.709,48,1.453,49,2.363,50,1.581,51,2.363,52,2.363,53,2.709,54,3.233]],["t/4",[0,2.473,1,1.486,5,2.223,6,1.988,8,2.203,9,1.654,31,1.195,40,2.473,41,1.023,48,1.52,55,3.383,56,3.383,57,2.473,58,1.988,59,2.834,60,1.808,61,1.808,62,2.203,63,1.293,64,1.293,65,2.473,66,2.203,67,2.834,68,2.473,69,2.834,70,1.52,71,1.808,72,1.52,73,2.834,74,2.834,75,2.473,76,2.745,77,2.43,78,2.834,79,2.834,80,3.383,81,3.383,82,3.383,83,2.203,84,3.383,85,3.809,86,1.654,87,2.203,88,1.988,89,3.383,90,3.383,91,3.383,92,3.383,93,3.383,94,3.383,95,3.383,96,3.383,97,1.808,98,3.383,99,3.383,100,2.834,101,2.203]],["t/6",[1,1.045,14,1.879,31,1.546,32,2.082,38,1.879,39,2.082,61,1.709,64,1.673,76,1.709,83,2.082,86,1.564,88,1.879,102,2.679,103,2.679,104,4.376,105,3.198,106,3.198,107,2.337,108,3.198,109,3.198,110,3.198,111,2.082,112,3.198,113,2.337,114,1.709,115,3.198,116,3.198,117,3.199,118,2.337,119,2.679,120,2.679,121,2.679,122,3.198,123,3.198,124,3.198,125,1.709,126,2.679,127,2.337,128,3.198,129,3.198,130,3.198,131,1.13,132,3.198,133,3.198,134,3.198,135,2.337,136,3.198,137,3.198,138,2.337,139,2.679,140,1.879,141,2.679,142,2.679,143,3.198,144,3.198,145,1.879,146,2.337,147,2.679,148,4.376,149,2.679,150,3.198,151,2.679,152,3.198,153,3.198,154,3.198,155,2.679,156,3.198,157,3.198]],["t/8",[1,1.193,5,1.785,14,1.456,25,1.212,29,1.614,31,1.29,37,1.456,39,2.377,48,1.113,59,2.076,60,1.324,63,0.947,64,1.395,86,2.12,125,1.951,135,1.811,138,1.811,140,2.546,155,2.076,158,2.076,159,3.168,160,2.478,161,2.478,162,2.478,163,2.478,164,1.456,165,1.614,166,1.811,167,2.478,168,2.478,169,1.614,170,2.076,171,2.076,172,4.006,173,1.811,174,2.478,175,2.478,176,2.478,177,2.478,178,2.478,179,2.478,180,1.456,181,2.478,182,2.478,183,2.076,184,2.478,185,2.478,186,2.478,187,1.811,188,2.478,189,1.456,190,2.478,191,1.614,192,2.478,193,2.076,194,1.456,195,1.811,196,2.478,197,2.478,198,2.076,199,3.65,200,2.478,201,2.478,202,2.478,203,1.614,204,2.478,205,2.478,206,2.076,207,2.478,208,2.668,209,0.693,210,3.65,211,2.478,212,0.81,213,2.478,214,1.212,215,1.811,216,2.478,217,2.076,218,2.478,219,2.076,220,1.456,221,2.478,222,2.076,223,2.478,224,1.456,225,2.478,226,2.478,227,2.076,228,2.478,229,2.076,230,1.212,231,1.614,232,2.076,233,2.478,234,2.478,235,1.456,236,1.811,237,2.478,238,2.076,239,2.478,240,2.478,241,1.113,242,2.478,243,2.478,244,2.478,245,2.076,246,2.478]],["t/10",[1,1.713,9,2.061,22,3.08,23,3.08,24,3.531,31,1.489,72,1.893,77,2.252,114,2.252,247,4.214,248,4.214,249,3.531,250,5.241,251,5.241,252,4.214,253,3.08,254,3.531,255,4.214,256,4.214,257,3.531,258,2.252,259,4.214,260,4.214,261,2.744,262,4.214,263,4.214]],["t/12",[1,1.746,5,1.217,11,1.819,25,1.217,30,1.819,31,1.887,38,1.462,57,2.677,61,1.957,63,1.4,64,0.951,66,1.62,67,2.085,72,1.118,73,2.085,74,2.085,75,1.819,76,1.33,77,1.33,78,2.085,79,2.085,86,1.217,87,1.62,97,1.33,101,1.62,103,2.085,111,1.62,113,2.677,114,1.33,118,1.819,125,1.33,126,2.085,140,1.462,145,1.462,209,1.024,217,2.085,220,2.151,235,2.151,236,1.819,241,1.118,264,2.085,265,2.488,266,1.62,267,1.819,268,2.385,269,1.62,270,2.085,271,2.488,272,2.085,273,1.819,274,2.322,275,1.819,276,1.118,277,1.791,278,2.488,279,1.819,280,2.085,281,2.488,282,1.819,283,2.085,284,2.488,285,2.488,286,3.662,287,2.488,288,3.068,289,1.819,290,1.03,291,2.085,292,2.085,293,2.085,294,2.488,295,2.488,296,2.677,297,3.662,298,3.662,299,2.085,300,1.819,301,2.488,302,1.819,303,1.819,304,2.677,305,2.085,306,2.085,307,3.662,308,2.488,309,2.488,310,2.085,311,2.488,312,3.662,313,1.62,314,2.488,315,2.488,316,2.085,317,2.085,318,1.217,319,2.488]],["t/14",[1,1.51,5,1.13,6,1.358,18,1.936,31,1.633,37,1.358,38,2.036,40,1.689,48,1.557,57,1.689,58,1.358,61,1.235,63,0.883,64,1.325,65,1.689,66,1.505,68,1.689,70,1.038,88,1.358,97,1.235,101,1.505,120,1.936,131,0.817,140,1.358,147,1.936,151,1.936,158,1.936,172,3.484,191,2.257,193,1.936,208,1.689,214,1.13,215,1.689,220,2.036,231,1.505,235,1.358,245,1.936,257,1.936,266,1.505,274,1.235,279,2.534,299,1.936,320,1.505,321,2.311,322,1.936,323,1.936,324,1.358,325,4.621,326,3.466,327,3.466,328,2.311,329,2.311,330,2.311,331,2.311,332,1.936,333,2.311,334,1.689,335,2.311,336,2.311,337,2.311,338,2.311,339,1.936,340,2.311,341,2.311,342,3.466,343,1.689,344,4.159,345,2.311,346,3.378,347,2.904,348,2.311,349,1.936,350,2.311,351,1.936,352,1.689,353,2.311,354,2.311,355,2.311,356,1.689,357,2.311,358,2.311,359,3.466,360,2.311,361,1.936,362,2.311,363,3.466,364,0.957,365,2.311,366,2.311,367,2.311,368,2.311,369,1.936,370,1.936,371,2.311,372,1.505,373,2.311,374,1.689,375,2.311,376,1.936,377,2.311,378,2.311,379,2.311,380,1.936,381,2.311,382,2.311,383,2.311,384,1.936,385,1.936,386,2.311,387,2.311,388,2.311,389,2.311,390,1.936,391,1.936,392,2.311]],["t/16",[1,1.321,5,1.27,8,0.752,29,0.752,31,1.335,34,1.289,37,1.809,38,2.22,48,0.889,49,0.844,60,1.058,61,0.617,62,0.752,63,0.756,64,1.177,65,0.844,66,1.289,68,0.844,69,0.967,70,1.383,72,0.519,76,2.862,101,1.691,107,0.844,111,1.289,113,0.844,117,1.899,118,2.25,121,0.967,131,0.699,138,0.844,145,2.22,146,1.447,165,1.289,169,2.776,171,0.967,173,0.844,183,0.967,194,1.526,209,0.727,212,0.377,214,1.27,220,0.678,229,0.967,231,1.691,232,1.658,235,3.288,236,3.964,241,0.889,264,0.967,267,1.447,268,1.289,270,0.967,272,0.967,273,2.532,274,1.851,275,0.844,277,0.968,280,1.658,288,0.967,289,2.25,290,1.912,291,1.658,293,0.967,296,2.532,304,1.447,305,2.176,306,0.967,310,0.967,317,0.967,318,0.968,320,1.289,323,0.967,324,1.163,332,0.967,347,1.658,351,0.967,364,0.478,369,0.967,372,0.752,374,0.844,393,0.967,394,1.154,395,1.154,396,4.763,397,2.176,398,1.163,399,1.154,400,1.154,401,2.035,402,1.154,403,1.154,404,1.154,405,0.967,406,0.844,407,2.176,408,1.154,409,1.154,410,1.154,411,1.979,412,1.154,413,0.967,414,1.154,415,2.597,416,1.658,417,1.154,418,1.979,419,1.154,420,1.979,421,1.154,422,1.154,423,1.979,424,0.678,425,1.154,426,1.154,427,1.154,428,1.154,429,1.447,430,1.154,431,1.979,432,0.967,433,0.967,434,1.154,435,1.154,436,1.979,437,1.979,438,1.658,439,1.154,440,1.979,441,1.979,442,1.154,443,0.967,444,0.967,445,1.154,446,0.62,447,1.979,448,1.979,449,1.154,450,1.447,451,1.154,452,1.154,453,1.658,454,1.979,455,0.564,456,1.979,457,1.979,458,1.154,459,1.979,460,1.979,461,0.844,462,0.967,463,1.154,464,0.752,465,1.154,466,1.154,467,1.154,468,0.678,469,1.979,470,1.979,471,1.154,472,1.154,473,1.154,474,1.979,475,1.154,476,1.154,477,2.597,478,1.658,479,1.979,480,0.844,481,0.967,482,1.979,483,1.154,484,1.154,485,1.154,486,1.979,487,1.154,488,1.154,489,1.154,490,1.154,491,0.844,492,1.154,493,1.154,494,0.967,495,1.154,496,1.154,497,1.154,498,1.154,499,1.154,500,0.967]],["t/18",[1,1.57,7,4.754,31,1.697,438,4.025,501,2.822,502,5.674,503,5.674,504,4.804,505,4.804]],["t/20",[1,1.463,2,2.77,6,2.63,8,2.153,9,1.617,14,1.943,20,2.417,22,2.417,23,2.417,31,1.793,41,1,76,1.767,85,2.77,97,2.393,107,2.417,127,2.417,220,2.63,231,2.153,235,1.943,238,3.751,266,2.153,283,2.77,289,4.155,290,1.369,296,2.417,300,2.417,320,2.915,322,2.77,372,3.542,374,2.417,401,1.943,405,2.77,407,3.751,506,3.306,507,3.306,508,3.306,509,3.751,510,3.306,511,2.77,512,3.306,513,3.306,514,2.77,515,3.306,516,4.477,517,3.306,518,3.306,519,3.306,520,3.306,521,3.306]],["t/22",[0,3.058,1,1.368,5,2.046,30,3.814,31,1.844,47,3.505,48,2.344,49,3.058,53,3.505,61,2.789,76,2.236,77,2.236,194,2.458,219,3.505,241,1.88,261,2.725,277,2.046,384,3.505,522,4.184,523,3.058,524,4.184,525,3.058,526,4.184,527,4.184,528,4.184,529,4.184]],["t/24",[1,1.398,12,3.582,50,2.586,64,2.195,87,2.784,165,2.784,187,3.126,215,3.126,253,3.126,274,2.285,372,2.784,530,3.582,531,4.276,532,4.276,533,5.288,534,4.276,535,4.276,536,4.276,537,4.276,538,4.276,539,4.276,540,4.276,541,3.582]],["t/26",[41,1.766,71,2.372,72,1.994,346,3.244,501,2.608,542,2.89,543,3.719,544,2.608,545,4.438,546,3.719,547,3.719,548,2.431,549,3.719,550,2.171,551,1.182,552,2.89,553,4.438]],["t/28",[41,1.181,58,2.294,77,3.103,290,1.616,318,1.909,480,4.026,548,1.754,554,2.294,555,3.41,556,2.086,557,2.542,558,2.542,559,3.271,560,3.271,561,3.271,562,3.651,563,2.294,564,3.271,565,3.271,566,3.271,567,3.271,568,3.271,569,3.271,570,3.271,571,3.271,572,2.542,573,3.271,574,3.235,575,3.271]],["t/30",[9,1.421,29,1.197,34,1.197,35,1.54,37,1.08,41,0.879,48,0.826,58,3.024,60,0.982,62,1.197,63,0.702,64,1.377,70,1.305,72,0.826,88,1.08,97,0.982,100,1.54,114,0.982,117,2.124,119,1.54,131,0.649,159,2.124,189,1.08,191,1.197,209,1.247,214,0.899,222,1.54,224,1.08,230,0.899,241,0.826,254,2.434,258,0.982,261,1.892,274,0.982,276,0.826,290,2.131,303,1.343,313,1.197,318,2.428,339,1.54,356,1.343,361,1.54,391,2.434,398,1.707,401,1.08,416,1.54,429,2.993,446,0.977,455,1.421,464,1.197,468,1.08,494,1.54,523,2.124,542,1.197,544,1.08,550,0.899,551,1.005,552,1.197,554,2.117,555,3.113,556,2.751,563,1.08,576,1.197,577,2.434,578,1.08,579,1.343,580,1.838,581,2.117,582,1.838,583,4.094,584,4.741,585,4.965,586,1.838,587,1.838,588,1.838,589,3.43,590,3.018,591,4.741,592,1.54,593,2.905,594,1.54,595,1.838,596,1.54,597,1.343,598,0.702,599,1.54,600,1.838,601,1.838,602,1.838,603,1.54,604,1.838,605,1.838,606,1.838,607,1.838,608,1.838,609,1.197,610,1.54,611,1.54,612,1.838,613,1.54,614,1.54,615,2.905,616,1.838,617,1.838,618,2.905,619,1.838,620,1.838,621,1.838,622,1.838,623,1.838,624,1.838,625,1.343]],["t/32",[11,2.228,39,1.984,41,1.28,63,1.618,71,1.629,72,1.369,131,1.077,141,3.547,203,1.984,209,1.184,214,1.49,224,1.79,230,2.07,241,1.369,269,1.984,290,1.753,303,2.228,313,1.984,318,1.49,429,2.228,446,1.011,450,3.094,462,2.553,468,2.487,501,1.79,542,1.984,548,1.369,550,2.07,551,0.857,555,2.487,556,2.6,557,1.984,576,2.757,598,1.618,613,3.547,626,3.047,627,1.79,628,3.047,629,3.047,630,5.523,631,3.047,632,4.075,633,2.553,634,3.047,635,4.233,636,3.047,637,4.864,638,3.047,639,3.047,640,3.047,641,3.047,642,3.047,643,2.553,644,3.047,645,2.553,646,3.047]],["t/34",[64,2.107,97,2.447,209,1.281,253,3.346,266,2.981,290,2.283,346,3.346,461,3.346,530,3.835,550,2.239,551,0.927,556,2.447,590,3.835,647,3.835,648,4.578,649,4.578]],["t/36",[25,1.654,41,1.375,60,1.808,63,1.738,70,1.52,114,2.935,209,1.272,230,1.654,269,2.203,274,1.808,290,2.372,318,1.654,398,1.988,446,0.808,461,2.473,464,2.961,478,2.834,481,2.834,556,3.062,572,3.576,579,2.473,650,2.834,651,3.383,652,4.547,653,5.135,654,4.547,655,3.383,656,3.383,657,3.383,658,2.834,659,3.383,660,2.834,661,3.809,662,3.383,663,2.834,664,3.383,665,3.383,666,3.383,667,3.383,668,3.383]],["t/38",[41,1.257,52,2.171,71,1.587,86,1.452,114,1.587,131,1.049,140,1.745,159,3.799,169,1.934,180,2.443,209,0.831,273,2.171,290,2.531,318,2.905,385,2.488,443,2.488,444,2.488,491,2.171,544,1.745,548,1.334,550,1.452,555,2.443,556,3.175,557,1.934,558,1.934,576,1.934,579,2.171,614,2.488,669,2.97,670,2.97,671,3.039,672,2.97,673,2.97,674,2.97,675,5.197,676,2.97,677,2.488,678,2.97,679,2.488,680,2.97,681,2.97,682,3.507,683,3.483,684,2.97,685,2.97,686,2.488,687,2.97,688,2.97,689,2.97,690,2.97,691,2.97]],["t/40",[41,1.353,135,3.269,208,3.269,230,2.864,468,3.441,548,2.009,551,1.186,598,1.709,609,2.913,625,3.269,682,3.269,692,4.472,693,4.472,694,2.39,695,3.747]],["t/42",[41,1.644,50,2.187,51,3.269,189,2.628,194,2.628,276,2.009,548,2.443,551,1.1,581,2.628,696,2.913,697,3.747,698,2.913,699,3.747,700,3.269,701,2.913,702,3.747,703,3.269,704,3.747]],["t/44",[41,1.453,50,2.349,525,3.512,548,2.158,578,2.822,627,2.822,705,4.025,706,4.025,707,4.025,708,3.512,709,3.512,710,4.025]],["t/46",[25,1.824,125,1.993,212,1.933,277,2.371,364,1.544,401,2.191,446,1.51,491,2.726,542,2.428,543,3.124,544,2.191,546,3.124,547,3.124,551,1.292,598,1.425,611,3.124,694,1.993,711,3.729,712,3.729,713,2.726,714,3.729,715,4.849,716,3.124,717,3.124]],["t/48",[58,2.357,77,3.134,212,1.311,446,0.958,480,4.077,551,0.812,554,2.357,555,3.277,558,2.612,559,3.361,560,3.361,561,3.361,562,3.714,563,2.357,564,3.361,565,3.361,566,3.361,567,3.361,568,3.361,569,3.361,570,3.361,571,3.361,572,2.612,573,3.361,574,3.277,575,3.361]],["t/50",[9,1.139,32,1.517,63,0.89,64,0.89,70,1.567,127,1.703,131,0.823,142,1.952,145,2.049,149,2.921,164,1.369,166,2.549,180,1.369,191,2.271,206,1.952,209,0.975,214,1.705,258,1.864,267,1.703,268,1.517,276,1.047,277,2.044,302,1.703,334,1.703,349,1.952,352,1.703,364,0.964,380,2.921,406,1.703,424,1.369,446,0.998,455,1.705,501,1.369,549,1.952,550,2.044,551,1.15,554,2.049,563,2.455,577,2.921,596,1.952,597,1.703,598,1.773,603,1.952,609,1.517,625,1.703,627,1.369,650,1.952,660,1.952,661,1.952,694,1.245,703,1.703,713,2.549,717,1.952,718,3.055,719,2.921,720,1.703,721,3.487,722,3.501,723,2.329,724,3.487,725,2.329,726,2.329,727,2.329,728,2.329,729,2.329,730,1.952,731,2.329,732,2.921,733,1.952,734,1.952,735,2.329,736,2.329,737,2.329,738,1.952,739,2.329,740,1.952,741,2.329,742,3.391,743,2.329,744,2.329,745,1.703,746,2.329,747,2.329,748,2.921,749,2.329,750,1.952,751,1.952,752,2.329,753,2.329,754,2.329,755,2.329,756,2.329,757,2.329,758,3.487,759,2.329,760,1.952]],["t/52",[6,2.611,9,2.173,20,1.892,32,1.685,34,1.685,62,1.685,87,1.685,139,2.168,169,2.454,203,1.685,209,0.724,227,3.723,269,1.685,276,1.163,277,1.843,300,1.892,304,2.755,320,1.685,352,1.892,364,1.84,397,2.168,398,1.52,401,1.52,406,2.755,424,2.214,446,0.618,450,1.892,455,1.266,500,3.157,511,2.168,544,1.52,550,2.173,551,1.05,581,1.52,589,3.157,647,2.168,694,1.383,698,1.685,700,2.755,713,3.249,718,1.892,719,2.168,720,2.755,733,3.157,734,2.168,742,2.755,750,3.157,751,3.157,760,2.168,761,4.444,762,5.189,763,2.588,764,2.588,765,2.588,766,2.588,767,3.768,768,2.588,769,3.723,770,3.768,771,2.588,772,2.168,773,2.588,774,2.588,775,2.588,776,3.768,777,2.588,778,2.588,779,2.588,780,2.588,781,2.168,782,2.588,783,2.588,784,2.588,785,2.588,786,2.588,787,2.588]],["t/54",[50,1.922,60,2.101,72,1.766,145,2.309,209,1.099,212,1.285,241,1.766,282,2.873,292,3.293,302,2.873,364,1.627,432,3.293,446,0.938,551,1.015,554,2.309,574,2.309,576,2.559,578,2.309,598,1.917,679,3.293,696,2.559,708,2.873,709,2.873,769,3.293,788,3.93,789,5.016,790,5.016,791,3.293,792,3.93,793,5.016,794,3.93,795,3.93,796,3.93,797,3.93]],["t/56",[41,0.957,63,1.209,86,1.547,111,2.06,125,1.691,166,2.312,170,2.65,209,1.618,212,1.034,224,1.858,230,2.993,249,2.65,275,2.312,277,2.124,364,1.309,424,2.552,446,1.184,468,3.596,548,1.421,551,1.276,557,2.06,597,2.312,598,1.66,609,2.829,627,1.858,682,3.175,694,1.691,718,2.312,720,2.312,772,2.65,781,2.65,798,3.163,799,4.343,800,3.163,801,2.65]],["t/58",[70,1.584,83,2.296,131,1.652,164,2.072,195,2.578,209,1.308,212,1.153,258,1.885,268,2.296,316,2.954,334,2.578,356,2.578,446,1.116,453,2.954,455,1.724,464,2.296,501,2.072,551,1.13,563,2.072,578,2.072,598,1.348,627,2.072,633,2.954,671,2.578,695,4.393,738,2.954,801,2.954,802,2.578,803,3.526,804,3.526,805,3.526,806,3.526,807,3.526,808,3.526,809,3.526,810,3.526,811,3.526,812,3.526,813,3.916,814,2.578,815,3.526,816,3.526,817,3.526,818,3.526,819,3.526,820,3.526,821,3.526]],["t/60",[131,1.545,164,2.569,198,3.663,212,1.429,276,1.964,364,2.22,446,1.28,455,2.138,551,1.174,598,1.671,730,3.663,745,3.196,813,3.663,814,3.196,822,4.372,823,4.372,824,4.372,825,3.663,826,4.372,827,3.663]],["t/62",[51,3.22,189,2.588,194,2.588,212,1.761,276,1.979,446,1.286,551,1.227,581,2.588,694,2.354,696,2.869,697,3.69,698,2.869,699,3.69,700,3.22,701,2.869,702,3.69,703,3.22,704,3.69]],["t/64",[125,2.486,212,1.52,258,2.975,276,2.09,324,2.732,446,1.11,551,0.941,552,3.029,748,3.896,828,3.896,829,3.896,830,3.896,831,3.896,832,4.651,833,3.896]],["t/66",[15,2.568,25,0.962,48,0.884,50,0.962,52,1.439,70,0.884,71,1.052,83,1.996,86,0.962,88,1.156,102,1.649,131,1.083,164,2.707,165,1.282,173,1.439,180,2.212,187,1.439,195,1.439,203,1.282,209,0.858,212,1.002,214,1.499,224,1.156,230,0.962,241,0.884,258,1.052,261,1.282,279,1.439,324,1.156,343,1.439,364,1.269,370,1.649,390,1.649,393,1.649,424,1.156,433,1.649,446,0.899,455,0.962,514,1.649,523,1.439,551,0.86,558,1.282,562,1.439,572,1.282,574,1.801,581,1.801,592,1.649,594,1.649,598,0.752,599,1.649,610,1.649,632,1.649,643,1.649,645,1.649,658,1.649,663,1.649,671,1.439,677,2.568,686,1.649,698,1.996,701,1.996,716,1.649,740,1.649,742,1.439,745,1.439,791,2.568,802,1.439,814,1.439,825,2.568,827,2.568,828,3.155,829,4.535,830,2.568,831,4.92,834,1.968,835,2.568,836,1.968,837,3.065,838,1.968,839,1.968,840,4.25,841,1.968,842,3.155,843,1.968,844,1.968,845,1.968,846,1.968,847,1.968,848,3.065,849,1.968,850,1.968,851,1.649,852,1.968,853,1.968,854,1.968,855,1.968,856,1.968,857,1.968,858,1.968,859,1.968,860,1.968,861,3.065,862,3.765,863,1.968,864,1.968,865,1.968,866,1.968,867,1.968,868,1.968,869,1.968,870,1.968,871,1.968,872,1.968,873,1.968,874,1.968,875,1.968,876,1.968,877,1.968,878,1.968,879,1.968,880,1.968,881,1.968,882,1.968,883,1.968,884,1.968,885,1.968]],["t/68",[14,1.809,25,1.506,50,1.506,71,1.646,75,3.117,131,1.088,146,2.251,180,1.809,189,2.505,212,1.922,282,2.251,313,2.005,324,1.809,343,2.251,376,2.58,398,1.809,413,2.58,446,1.404,509,2.58,525,2.251,541,3.573,551,1.232,552,2.005,574,1.809,578,1.809,683,2.58,696,2.005,701,2.005,705,2.58,706,2.58,707,2.58,708,2.251,709,2.251,710,2.58,722,2.58,732,2.58,802,2.251,833,2.58,835,3.573,842,2.58,851,2.58,886,3.079,887,3.079,888,3.079,889,3.079,890,3.079,891,3.079,892,3.079,893,3.079,894,3.079,895,3.079,896,3.079,897,3.079,898,3.079,899,3.079,900,3.079]]],"invertedIndex":[["10",{"_index":570,"t":{"28":{"position":[[305,2]]},"48":{"position":[[246,2]]}}}],["100",{"_index":820,"t":{"58":{"position":[[528,3]]}}}],["14",{"_index":711,"t":{"46":{"position":[[27,2]]}}}],["2021",{"_index":252,"t":{"10":{"position":[[80,5]]}}}],["2023",{"_index":263,"t":{"10":{"position":[[267,5]]}}}],["2024",{"_index":547,"t":{"26":{"position":[[38,4]]},"46":{"position":[[39,4]]}}}],["4.0",{"_index":790,"t":{"54":{"position":[[83,3],[116,5]]}}}],["60",{"_index":856,"t":{"66":{"position":[[1068,4]]}}}],["6300",{"_index":571,"t":{"28":{"position":[[308,4]]},"48":{"position":[[249,4]]}}}],["9",{"_index":545,"t":{"26":{"position":[[27,1]]}}}],["abil",{"_index":439,"t":{"16":{"position":[[1704,7]]}}}],["abov",{"_index":320,"t":{"14":{"position":[[15,6]]},"16":{"position":[[1278,5],[2475,5]]},"20":{"position":[[503,5],[543,5]]},"52":{"position":[[1073,6]]}}}],["absolut",{"_index":128,"t":{"6":{"position":[[431,8]]}}}],["academia",{"_index":19,"t":{"2":{"position":[[252,9]]}}}],["access",{"_index":277,"t":{"12":{"position":[[348,6],[420,11]]},"16":{"position":[[455,6],[3529,6]]},"22":{"position":[[145,6]]},"46":{"position":[[149,6],[519,6]]},"50":{"position":[[773,11],[845,6],[1007,10]]},"52":{"position":[[451,10],[1163,10]]},"56":{"position":[[563,8],[600,6]]}}}],["accord",{"_index":861,"t":{"66":{"position":[[1290,10],[1937,10]]}}}],["account",{"_index":642,"t":{"32":{"position":[[752,8]]}}}],["accur",{"_index":781,"t":{"52":{"position":[[872,9]]},"56":{"position":[[399,9]]}}}],["accuraci",{"_index":734,"t":{"50":{"position":[[421,9]]},"52":{"position":[[941,9]]}}}],["achiev",{"_index":101,"t":{"4":{"position":[[703,9]]},"12":{"position":[[964,7]]},"14":{"position":[[3,7]]},"16":{"position":[[844,8],[3838,7],[3977,7]]}}}],["action",{"_index":173,"t":{"8":{"position":[[266,6]]},"16":{"position":[[2694,8]]},"66":{"position":[[2234,6]]}}}],["activ",{"_index":682,"t":{"38":{"position":[[646,10],[687,10],[780,10]]},"40":{"position":[[209,10]]},"56":{"position":[[524,10],[717,10]]}}}],["actor",{"_index":110,"t":{"6":{"position":[[144,7]]}}}],["actual",{"_index":774,"t":{"52":{"position":[[695,6]]}}}],["adapt",{"_index":474,"t":{"16":{"position":[[2958,12],[4160,13]]}}}],["addit",{"_index":626,"t":{"32":{"position":[[3,8]]}}}],["address",{"_index":58,"t":{"4":{"position":[[55,7]]},"14":{"position":[[975,10]]},"28":{"position":[[227,7]]},"30":{"position":[[552,8],[661,7],[768,9],[874,7],[933,10],[966,7],[1262,7],[1598,8]]},"48":{"position":[[167,7]]}}}],["adequ",{"_index":656,"t":{"36":{"position":[[288,8]]}}}],["administ",{"_index":859,"t":{"66":{"position":[[1227,12]]}}}],["administr",{"_index":876,"t":{"66":{"position":[[1891,14]]}}}],["adopt",{"_index":134,"t":{"6":{"position":[[500,9]]}}}],["advanc",{"_index":517,"t":{"20":{"position":[[648,8]]}}}],["advic",{"_index":754,"t":{"50":{"position":[[1586,6]]}}}],["advis",{"_index":817,"t":{"58":{"position":[[412,7]]}}}],["affect",{"_index":683,"t":{"38":{"position":[[668,7],[741,6]]},"68":{"position":[[412,6]]}}}],["affili",{"_index":532,"t":{"24":{"position":[[88,11]]}}}],["against",{"_index":825,"t":{"60":{"position":[[53,7]]},"66":{"position":[[102,7],[2276,7]]}}}],["aggreg",{"_index":818,"t":{"58":{"position":[[474,9]]}}}],["agil",{"_index":294,"t":{"12":{"position":[[777,5]]}}}],["agre",{"_index":715,"t":{"46":{"position":[[390,6],[467,5]]}}}],["agreement",{"_index":75,"t":{"4":{"position":[[323,9]]},"12":{"position":[[45,10]]},"68":{"position":[[44,9],[155,11]]}}}],["aim",{"_index":62,"t":{"4":{"position":[[114,4]]},"16":{"position":[[1351,3]]},"30":{"position":[[3,3]]},"52":{"position":[[1205,3]]}}}],["algorithm",{"_index":498,"t":{"16":{"position":[[4040,9]]}}}],["align",{"_index":186,"t":{"8":{"position":[[480,6]]}}}],["allow",{"_index":292,"t":{"12":{"position":[[702,6]]},"54":{"position":[[146,6]]}}}],["allud",{"_index":259,"t":{"10":{"position":[[158,8]]}}}],["alongsid",{"_index":8,"t":{"2":{"position":[[94,9]]},"4":{"position":[[364,9]]},"16":{"position":[[732,9]]},"20":{"position":[[245,9]]}}}],["altern",{"_index":361,"t":{"14":{"position":[[791,11]]},"30":{"position":[[2009,11]]}}}],["alway",{"_index":666,"t":{"36":{"position":[[662,6]]}}}],["amend",{"_index":786,"t":{"52":{"position":[[1347,7]]}}}],["amic",{"_index":849,"t":{"66":{"position":[[755,8]]}}}],["amount",{"_index":416,"t":{"16":{"position":[[875,6],[1008,6]]},"30":{"position":[[403,6]]}}}],["analyt",{"_index":585,"t":{"30":{"position":[[623,10],[1859,10],[1905,10],[1993,9],[2031,10],[2099,9],[2200,9]]}}}],["ancient",{"_index":255,"t":{"10":{"position":[[122,7]]}}}],["announc",{"_index":262,"t":{"10":{"position":[[225,9]]}}}],["anoma",{"_index":330,"t":{"14":{"position":[[156,6]]}}}],["anoma'",{"_index":382,"t":{"14":{"position":[[1238,7]]}}}],["anoth",{"_index":680,"t":{"38":{"position":[[509,7]]}}}],["antifragil",{"_index":104,"t":{"6":{"position":[[24,13],[238,13]]}}}],["app",{"_index":360,"t":{"14":{"position":[[736,3]]}}}],["appli",{"_index":501,"t":{"18":{"position":[[6,7]]},"26":{"position":[[227,7]]},"32":{"position":[[309,6]]},"50":{"position":[[656,5]]},"58":{"position":[[587,5]]}}}],["applic",{"_index":70,"t":{"4":{"position":[[221,12]]},"14":{"position":[[1446,13]]},"16":{"position":[[2983,12],[3265,12],[3697,11],[3882,12]]},"30":{"position":[[226,10],[1625,11]]},"36":{"position":[[694,10]]},"50":{"position":[[697,10],[959,10]]},"58":{"position":[[628,10]]},"66":{"position":[[2017,10]]}}}],["approach",{"_index":346,"t":{"14":{"position":[[422,8],[1254,8],[1394,8],[1577,8]]},"26":{"position":[[98,8]]},"34":{"position":[[13,9]]}}}],["appropri",{"_index":603,"t":{"30":{"position":[[1400,11]]},"50":{"position":[[806,11]]}}}],["arbitr",{"_index":831,"t":{"64":{"position":[[102,12]]},"66":{"position":[[260,11],[427,11],[549,11],[1215,11],[1263,11],[1339,11],[1447,8],[1499,11],[1656,11],[1781,11],[1860,12],[1910,10],[1986,12],[2264,11]]}}}],["architectur",{"_index":220,"t":{"8":{"position":[[1023,12]]},"12":{"position":[[538,13],[587,12]]},"14":{"position":[[803,12],[1557,12]]},"16":{"position":[[3391,12]]},"20":{"position":[[319,13],[408,12]]}}}],["area",{"_index":322,"t":{"14":{"position":[[59,4]]},"20":{"position":[[238,6]]}}}],["aris",{"_index":814,"t":{"58":{"position":[[251,7]]},"60":{"position":[[130,7]]},"66":{"position":[[690,7]]}}}],["aros",{"_index":881,"t":{"66":{"position":[[2110,5]]}}}],["ask",{"_index":675,"t":{"38":{"position":[[305,3],[381,3],[435,3],[623,5]]}}}],["associ",{"_index":480,"t":{"16":{"position":[[3141,10]]},"28":{"position":[[152,12],[255,11],[434,12]]},"48":{"position":[[92,12],[196,11],[385,12]]}}}],["assumpt",{"_index":765,"t":{"52":{"position":[[118,11]]}}}],["asynchron",{"_index":369,"t":{"14":{"position":[[990,12]]},"16":{"position":[[2041,14]]}}}],["attack",{"_index":217,"t":{"8":{"position":[[990,8]]},"12":{"position":[[1151,8]]}}}],["attempt",{"_index":465,"t":{"16":{"position":[[2666,8]]}}}],["attent",{"_index":629,"t":{"32":{"position":[[351,9]]}}}],["attorney",{"_index":826,"t":{"60":{"position":[[113,10]]}}}],["attribut",{"_index":789,"t":{"54":{"position":[[71,11],[299,11]]}}}],["autonom",{"_index":234,"t":{"8":{"position":[[1238,10]]}}}],["autonomi",{"_index":260,"t":{"10":{"position":[[199,9]]}}}],["avail",{"_index":145,"t":{"6":{"position":[[702,9]]},"12":{"position":[[634,12]]},"16":{"position":[[245,13],[529,13],[818,12],[1067,12],[3108,12],[3323,12]]},"50":{"position":[[478,12],[1062,9]]},"54":{"position":[[38,9]]}}}],["averag",{"_index":622,"t":{"30":{"position":[[2292,7]]}}}],["avoid",{"_index":221,"t":{"8":{"position":[[1039,5]]}}}],["award",{"_index":845,"t":{"66":{"position":[[561,5]]}}}],["baarerstrass",{"_index":569,"t":{"28":{"position":[[291,13]]},"48":{"position":[[232,13]]}}}],["bad",{"_index":109,"t":{"6":{"position":[[140,3]]}}}],["bare",{"_index":434,"t":{"16":{"position":[[1482,4]]}}}],["base",{"_index":169,"t":{"8":{"position":[[204,5]]},"16":{"position":[[35,4],[177,4],[195,4],[420,4],[781,4],[983,4],[1288,4],[2723,4]]},"38":{"position":[[707,5]]},"52":{"position":[[65,5],[590,5]]}}}],["basi",{"_index":577,"t":{"30":{"position":[[205,5],[1659,5]]},"50":{"position":[[44,5],[1177,5]]}}}],["be",{"_index":863,"t":{"66":{"position":[[1364,5]]}}}],["bear",{"_index":782,"t":{"52":{"position":[[910,4]]}}}],["becom",{"_index":244,"t":{"8":{"position":[[1377,6]]}}}],["befor",{"_index":491,"t":{"16":{"position":[[3846,6]]},"38":{"position":[[791,6]]},"46":{"position":[[316,6]]}}}],["began",{"_index":247,"t":{"10":{"position":[[14,5]]}}}],["believ",{"_index":86,"t":{"4":{"position":[[498,7]]},"6":{"position":[[418,7]]},"8":{"position":[[16,7],[185,7],[1064,7]]},"12":{"position":[[159,7]]},"38":{"position":[[978,7]]},"56":{"position":[[338,8]]},"66":{"position":[[294,7]]}}}],["below",{"_index":516,"t":{"20":{"position":[[513,5],[672,5]]}}}],["between",{"_index":324,"t":{"14":{"position":[[84,7]]},"16":{"position":[[1819,7],[1954,7]]},"64":{"position":[[62,7]]},"66":{"position":[[1714,7]]},"68":{"position":[[54,7]]}}}],["beyond",{"_index":16,"t":{"2":{"position":[[218,6]]}}}],["bind",{"_index":744,"t":{"50":{"position":[[1214,7]]}}}],["block",{"_index":420,"t":{"16":{"position":[[942,5],[2392,6]]}}}],["blockchain",{"_index":5,"t":{"2":{"position":[[55,10]]},"4":{"position":[[23,10],[511,10]]},"8":{"position":[[193,10],[558,11]]},"12":{"position":[[741,10]]},"14":{"position":[[199,10]]},"16":{"position":[[1187,10],[3302,11],[3823,10]]},"22":{"position":[[60,10]]}}}],["bootstrap",{"_index":365,"t":{"14":{"position":[[869,13]]}}}],["both",{"_index":14,"t":{"2":{"position":[[202,4]]},"6":{"position":[[663,5]]},"8":{"position":[[893,4]]},"20":{"position":[[498,4]]},"68":{"position":[[199,4]]}}}],["bounc",{"_index":620,"t":{"30":{"position":[[2275,6]]}}}],["bound",{"_index":716,"t":{"46":{"position":[[403,5]]},"66":{"position":[[404,5]]}}}],["bounti",{"_index":537,"t":{"24":{"position":[[219,6]]}}}],["bridg",{"_index":440,"t":{"16":{"position":[[1753,8],[3497,8]]}}}],["briefli",{"_index":586,"t":{"30":{"position":[[637,7]]}}}],["bring",{"_index":879,"t":{"66":{"position":[[2061,5]]}}}],["broadest",{"_index":834,"t":{"66":{"position":[[34,8]]}}}],["build",{"_index":0,"t":{"2":{"position":[[0,8]]},"4":{"position":[[196,8]]},"22":{"position":[[46,5]]}}}],["built",{"_index":520,"t":{"20":{"position":[[735,5]]}}}],["buy",{"_index":149,"t":{"6":{"position":[[749,3]]},"50":{"position":[[1694,3],[1734,3]]}}}],["c/o",{"_index":565,"t":{"28":{"position":[[267,3]]},"48":{"position":[[208,3]]}}}],["calendar",{"_index":857,"t":{"66":{"position":[[1073,8]]}}}],["call",{"_index":301,"t":{"12":{"position":[[910,6]]}}}],["capabl",{"_index":332,"t":{"14":{"position":[[218,7]]},"16":{"position":[[1762,13]]}}}],["caption",{"_index":891,"t":{"68":{"position":[[255,8]]}}}],["carefulli",{"_index":714,"t":{"46":{"position":[[306,9]]}}}],["carnot",{"_index":407,"t":{"16":{"position":[[547,6],[706,6],[4050,6]]},"20":{"position":[[123,7],[255,7]]}}}],["case",{"_index":447,"t":{"16":{"position":[[1931,6],[3004,6]]}}}],["cc",{"_index":709,"t":{"44":{"position":[[144,2]]},"54":{"position":[[109,3]]},"68":{"position":[[957,2]]}}}],["celebr",{"_index":526,"t":{"22":{"position":[[171,9]]}}}],["celestia",{"_index":329,"t":{"14":{"position":[[143,8]]}}}],["celestia'",{"_index":392,"t":{"14":{"position":[[1546,10]]}}}],["censor",{"_index":466,"t":{"16":{"position":[[2678,6]]}}}],["censorship",{"_index":459,"t":{"16":{"position":[[2399,10],[2422,10]]}}}],["centralis",{"_index":342,"t":{"14":{"position":[[363,12],[509,11]]}}}],["centric",{"_index":345,"t":{"14":{"position":[[414,7]]}}}],["certain",{"_index":576,"t":{"30":{"position":[[133,7]]},"32":{"position":[[152,7],[183,7]]},"38":{"position":[[145,7]]},"54":{"position":[[270,7]]}}}],["certainli",{"_index":178,"t":{"8":{"position":[[385,9]]}}}],["chain",{"_index":172,"t":{"8":{"position":[[260,5],[499,5],[763,5],[865,7]]},"14":{"position":[[740,5],[963,7],[1019,5]]}}}],["challeng",{"_index":363,"t":{"14":{"position":[[840,11],[1494,11]]}}}],["chamber",{"_index":860,"t":{"66":{"position":[[1253,9]]}}}],["chang",{"_index":700,"t":{"42":{"position":[[135,8]]},"52":{"position":[[583,6],[1329,6]]},"62":{"position":[[161,8]]}}}],["characterist",{"_index":488,"t":{"16":{"position":[[3762,15]]}}}],["check",{"_index":51,"t":{"2":{"position":[[718,5]]},"42":{"position":[[96,5]]},"62":{"position":[[119,8]]}}}],["choic",{"_index":673,"t":{"38":{"position":[[153,7]]}}}],["choos",{"_index":246,"t":{"8":{"position":[[1413,7]]}}}],["claim",{"_index":164,"t":{"8":{"position":[[110,6]]},"50":{"position":[[724,6]]},"58":{"position":[[503,6]]},"60":{"position":[[73,7]]},"66":{"position":[[87,5],[939,5],[2071,6],[2104,5],[2176,6]]}}}],["class",{"_index":883,"t":{"66":{"position":[[2228,5]]}}}],["classwid",{"_index":885,"t":{"66":{"position":[[2254,9]]}}}],["claus",{"_index":663,"t":{"36":{"position":[[459,7]]},"66":{"position":[[439,7]]}}}],["click",{"_index":607,"t":{"30":{"position":[[1785,8]]}}}],["client",{"_index":422,"t":{"16":{"position":[[1029,7]]}}}],["closer",{"_index":384,"t":{"14":{"position":[[1349,6]]},"22":{"position":[[199,6]]}}}],["codex",{"_index":82,"t":{"4":{"position":[[429,6]]}}}],["coffe",{"_index":150,"t":{"6":{"position":[[755,7]]}}}],["collect",{"_index":555,"t":{"28":{"position":[[48,10],[141,10],[244,10],[423,10]]},"30":{"position":[[20,10],[35,10],[113,7],[270,7],[471,7],[913,10],[947,7],[1567,7],[2109,8]]},"32":{"position":[[31,10],[78,7]]},"38":{"position":[[50,10],[216,7]]},"48":{"position":[[81,10],[185,10],[374,10]]}}}],["collective'",{"_index":84,"t":{"4":{"position":[[459,12]]}}}],["combin",{"_index":496,"t":{"16":{"position":[[4008,9]]}}}],["come",{"_index":692,"t":{"40":{"position":[[25,4]]}}}],["commerci",{"_index":796,"t":{"54":{"position":[[243,10]]}}}],["commiss",{"_index":659,"t":{"36":{"position":[[358,11]]}}}],["commission",{"_index":689,"t":{"38":{"position":[[949,12]]}}}],["commit",{"_index":743,"t":{"50":{"position":[[1200,10]]}}}],["common",{"_index":432,"t":{"16":{"position":[[1379,6]]},"54":{"position":[[63,7]]}}}],["commun",{"_index":48,"t":{"2":{"position":[[686,9]]},"4":{"position":[[378,14]]},"8":{"position":[[769,9]]},"14":{"position":[[550,13],[1589,14]]},"16":{"position":[[2029,11],[3510,14]]},"22":{"position":[[21,10],[268,9]]},"30":{"position":[[1752,15]]},"66":{"position":[[1699,14]]}}}],["community'",{"_index":225,"t":{"8":{"position":[[1106,11]]}}}],["complaint",{"_index":687,"t":{"38":{"position":[[890,9]]}}}],["complet",{"_index":733,"t":{"50":{"position":[[407,13]]},"52":{"position":[[894,8],[966,12]]}}}],["compli",{"_index":717,"t":{"46":{"position":[[413,6]]},"50":{"position":[[940,9]]}}}],["compliant",{"_index":739,"t":{"50":{"position":[[793,9]]}}}],["complic",{"_index":353,"t":{"14":{"position":[[581,14]]}}}],["compromis",{"_index":494,"t":{"16":{"position":[[3921,11]]},"30":{"position":[[2055,10]]}}}],["comput",{"_index":417,"t":{"16":{"position":[[885,11]]}}}],["concept",{"_index":257,"t":{"10":{"position":[[136,7]]},"14":{"position":[[186,7]]}}}],["concern",{"_index":596,"t":{"30":{"position":[[1129,10]]},"50":{"position":[[392,10]]}}}],["condit",{"_index":772,"t":{"52":{"position":[[627,11]]},"56":{"position":[[92,11]]}}}],["conduct",{"_index":866,"t":{"66":{"position":[[1556,9]]}}}],["confer",{"_index":867,"t":{"66":{"position":[[1576,10]]}}}],["confidenti",{"_index":872,"t":{"66":{"position":[[1747,13]]}}}],["configur",{"_index":470,"t":{"16":{"position":[[2891,12],[2923,12]]}}}],["conflict",{"_index":832,"t":{"64":{"position":[[133,8]]}}}],["conform",{"_index":668,"t":{"36":{"position":[[678,10]]}}}],["connect",{"_index":815,"t":{"58":{"position":[[279,9]]}}}],["consensu",{"_index":289,"t":{"12":{"position":[[615,9]]},"16":{"position":[[229,10],[510,9],[554,9],[4030,9]]},"20":{"position":[[103,9],[138,9],[442,9],[523,9],[553,9]]}}}],["consent",{"_index":159,"t":{"8":{"position":[[24,7],[143,7],[362,8]]},"30":{"position":[[1518,8],[1687,7]]},"38":{"position":[[564,7],[611,7],[721,7],[822,8]]}}}],["consequenti",{"_index":812,"t":{"58":{"position":[[217,13]]}}}],["consid",{"_index":380,"t":{"14":{"position":[[1199,10]]},"50":{"position":[[1122,10],[1273,10]]}}}],["consist",{"_index":393,"t":{"16":{"position":[[6,8]]},"66":{"position":[[1641,7]]}}}],["constitut",{"_index":752,"t":{"50":{"position":[[1543,10]]}}}],["constru",{"_index":757,"t":{"50":{"position":[[1662,9]]}}}],["consult",{"_index":567,"t":{"28":{"position":[[275,10]]},"48":{"position":[[216,10]]}}}],["contact",{"_index":706,"t":{"44":{"position":[[75,7]]},"68":{"position":[[888,7]]}}}],["contain",{"_index":713,"t":{"46":{"position":[[221,9]]},"50":{"position":[[1287,7],[1517,9]]},"52":{"position":[[21,7],[815,9],[994,9]]}}}],["contemporan",{"_index":888,"t":{"68":{"position":[[123,15]]}}}],["content",{"_index":598,"t":{"30":{"position":[[1168,7]]},"32":{"position":[[191,8],[249,7]]},"40":{"position":[[197,7]]},"46":{"position":[[195,7]]},"50":{"position":[[522,7],[589,7],[762,7],[986,7]]},"54":{"position":[[20,8],[194,7]]},"56":{"position":[[310,7],[377,7]]},"58":{"position":[[339,7]]},"60":{"position":[[186,7]]},"66":{"position":[[198,7]]}}}],["contract",{"_index":334,"t":{"14":{"position":[[235,8]]},"50":{"position":[[1190,9]]},"58":{"position":[[44,9]]}}}],["contractu",{"_index":662,"t":{"36":{"position":[[447,11]]}}}],["contribut",{"_index":49,"t":{"2":{"position":[[696,14]]},"16":{"position":[[118,11]]},"22":{"position":[[289,10]]}}}],["contributor",{"_index":22,"t":{"2":{"position":[[305,12],[394,12],[518,13]]},"10":{"position":[[58,12]]},"20":{"position":[[270,12]]}}}],["contriv",{"_index":168,"t":{"8":{"position":[[167,10]]}}}],["control",{"_index":557,"t":{"28":{"position":[[96,11]]},"32":{"position":[[780,7]]},"38":{"position":[[522,10]]},"56":{"position":[[443,7]]}}}],["controversi",{"_index":836,"t":{"66":{"position":[[113,11]]}}}],["cooki",{"_index":637,"t":{"32":{"position":[[558,7],[595,7],[799,7]]}}}],["coordin",{"_index":396,"t":{"16":{"position":[[47,12],[1259,12],[1306,12],[1330,12],[1520,12],[1594,12],[1683,12],[1831,12],[1983,12],[2571,12],[2732,12]]}}}],["copi",{"_index":679,"t":{"38":{"position":[[448,4]]},"54":{"position":[[162,5]]}}}],["core",{"_index":250,"t":{"10":{"position":[[53,4],[240,4]]}}}],["correct",{"_index":676,"t":{"38":{"position":[[315,7]]}}}],["corrupt",{"_index":92,"t":{"4":{"position":[[592,11]]}}}],["cosmo",{"_index":326,"t":{"14":{"position":[[102,7],[762,6]]}}}],["cost",{"_index":195,"t":{"8":{"position":[[646,4]]},"58":{"position":[[141,4]]},"66":{"position":[[373,4]]}}}],["countri",{"_index":655,"t":{"36":{"position":[[248,9]]}}}],["court",{"_index":830,"t":{"64":{"position":[[93,5]]},"66":{"position":[[530,5],[1488,6]]}}}],["cover",{"_index":413,"t":{"16":{"position":[[699,6]]},"68":{"position":[[27,5]]}}}],["creat",{"_index":206,"t":{"8":{"position":[[841,7]]},"50":{"position":[[1136,8]]}}}],["creation",{"_index":232,"t":{"8":{"position":[[1212,8]]},"16":{"position":[[2236,8],[2359,8]]}}}],["creativ",{"_index":788,"t":{"54":{"position":[[54,8]]}}}],["critic",{"_index":59,"t":{"4":{"position":[[67,8]]},"8":{"position":[[40,8]]}}}],["cross",{"_index":371,"t":{"14":{"position":[[1013,5]]}}}],["crucial",{"_index":408,"t":{"16":{"position":[[576,7]]}}}],["current",{"_index":139,"t":{"6":{"position":[[606,7]]},"52":{"position":[[74,7]]}}}],["customiz",{"_index":299,"t":{"12":{"position":[[874,12]]},"14":{"position":[[1333,15]]}}}],["damag",{"_index":813,"t":{"58":{"position":[[231,7],[447,8]]},"60":{"position":[[81,7]]}}}],["data",{"_index":290,"t":{"12":{"position":[[629,4]]},"16":{"position":[[240,4],[524,4],[813,4],[1018,4],[1062,4],[1099,4],[1168,4],[1207,4],[3103,4],[3318,4]]},"20":{"position":[[591,4]]},"28":{"position":[[86,4]]},"30":{"position":[[73,4],[150,4],[302,4],[361,5],[514,4],[1375,4],[1483,4],[2086,5]]},"32":{"position":[[54,5],[106,4]]},"34":{"position":[[31,4],[165,4]]},"36":{"position":[[50,4],[134,4],[217,4],[491,4],[609,4]]},"38":{"position":[[93,4],[199,4],[347,4],[412,4],[470,5],[517,4],[597,4],[873,5],[917,4],[1005,4]]}}}],["date",{"_index":98,"t":{"4":{"position":[[684,4]]}}}],["day",{"_index":858,"t":{"66":{"position":[[1082,4]]}}}],["decentralis",{"_index":38,"t":{"2":{"position":[[561,17]]},"6":{"position":[[342,14]]},"12":{"position":[[235,17]]},"14":{"position":[[464,17],[1284,16]]},"16":{"position":[[263,17],[493,13],[759,17],[1432,17],[3797,14],[3957,16]]}}}],["decis",{"_index":865,"t":{"66":{"position":[[1456,8]]}}}],["decoupl",{"_index":288,"t":{"12":{"position":[[605,9],[691,10]]},"16":{"position":[[1159,8]]}}}],["deem",{"_index":658,"t":{"36":{"position":[[320,6]]},"66":{"position":[[1396,6]]}}}],["defin",{"_index":509,"t":{"20":{"position":[[298,8],[387,8]]},"68":{"position":[[378,7]]}}}],["degre",{"_index":500,"t":{"16":{"position":[[4135,6]]},"52":{"position":[[505,6],[1032,6]]}}}],["demand",{"_index":272,"t":{"12":{"position":[[297,7]]},"16":{"position":[[3731,6]]}}}],["deposit",{"_index":442,"t":{"16":{"position":[[1794,8]]}}}],["describ",{"_index":751,"t":{"50":{"position":[[1483,9]]},"52":{"position":[[1063,9],[1131,9]]}}}],["descript",{"_index":768,"t":{"52":{"position":[[289,13]]}}}],["design",{"_index":57,"t":{"4":{"position":[[43,8]]},"12":{"position":[[10,8],[262,8]]},"14":{"position":[[71,6]]}}}],["detail",{"_index":34,"t":{"2":{"position":[[470,8]]},"16":{"position":[[724,7],[2140,8]]},"30":{"position":[[2152,7]]},"52":{"position":[[313,8]]}}}],["deter",{"_index":108,"t":{"6":{"position":[[130,9]]}}}],["develop",{"_index":6,"t":{"2":{"position":[[66,10],[153,10],[279,12]]},"4":{"position":[[130,10]]},"14":{"position":[[31,10]]},"20":{"position":[[30,12],[226,11]]},"52":{"position":[[353,11],[649,13],[702,11]]}}}],["devic",{"_index":638,"t":{"32":{"position":[[583,7]]}}}],["digit",{"_index":175,"t":{"8":{"position":[[316,9]]}}}],["direct",{"_index":181,"t":{"8":{"position":[[415,10]]}}}],["directli",{"_index":462,"t":{"16":{"position":[[2590,9]]},"32":{"position":[[610,8]]}}}],["disagr",{"_index":223,"t":{"8":{"position":[[1086,12]]}}}],["disclaim",{"_index":721,"t":{"50":{"position":[[115,8],[639,11]]}}}],["discord",{"_index":529,"t":{"22":{"position":[[281,7]]}}}],["discov",{"_index":536,"t":{"24":{"position":[[185,10]]}}}],["discoveri",{"_index":519,"t":{"20":{"position":[[710,10]]}}}],["discret",{"_index":719,"t":{"50":{"position":[[91,10],[894,10]]},"52":{"position":[[1415,11]]}}}],["disput",{"_index":829,"t":{"64":{"position":[[53,8]]},"66":{"position":[[16,9],[338,8],[682,7],[828,8],[880,7],[922,8],[1047,7],[1118,8],[1141,7]]}}}],["distribut",{"_index":794,"t":{"54":{"position":[[179,10]]}}}],["divid",{"_index":201,"t":{"8":{"position":[[788,7]]}}}],["document",{"_index":525,"t":{"22":{"position":[[152,14]]},"44":{"position":[[117,8]]},"68":{"position":[[930,8]]}}}],["doesn’t",{"_index":614,"t":{"30":{"position":[[2047,7]]},"38":{"position":[[733,7]]}}}],["domicil",{"_index":564,"t":{"28":{"position":[[218,8]]},"48":{"position":[[158,8]]}}}],["don’t",{"_index":580,"t":{"30":{"position":[[315,5]]}}}],["download",{"_index":423,"t":{"16":{"position":[[1045,8],[1547,10]]}}}],["draw",{"_index":628,"t":{"32":{"position":[[341,4]]}}}],["each",{"_index":397,"t":{"16":{"position":[[88,4],[2061,4],[3536,4]]},"52":{"position":[[1303,4]]}}}],["earli",{"_index":506,"t":{"20":{"position":[[8,5]]}}}],["easi",{"_index":377,"t":{"14":{"position":[[1135,5]]}}}],["easili",{"_index":475,"t":{"16":{"position":[[3036,6]]}}}],["econom",{"_index":367,"t":{"14":{"position":[[921,8]]}}}],["ecosystem",{"_index":18,"t":{"2":{"position":[[234,10]]},"14":{"position":[[746,10]]}}}],["effect",{"_index":701,"t":{"42":{"position":[[175,9]]},"62":{"position":[[207,9]]},"66":{"position":[[359,9],[378,9]]},"68":{"position":[[681,7]]}}}],["effort",{"_index":848,"t":{"66":{"position":[[733,7],[782,7]]}}}],["elast",{"_index":497,"t":{"16":{"position":[[4022,7]]}}}],["element",{"_index":160,"t":{"8":{"position":[[49,7]]}}}],["elimin",{"_index":419,"t":{"16":{"position":[[930,11]]}}}],["email",{"_index":591,"t":{"30":{"position":[[927,5],[960,5],[1256,5],[1592,5],[1746,5],[1824,6]]}}}],["emb",{"_index":631,"t":{"32":{"position":[[404,5]]}}}],["embed",{"_index":646,"t":{"32":{"position":[[870,9]]}}}],["emerg",{"_index":264,"t":{"12":{"position":[[66,8]]},"16":{"position":[[2450,8]]}}}],["emphasi",{"_index":309,"t":{"12":{"position":[[1073,8]]}}}],["enabl",{"_index":231,"t":{"8":{"position":[[1200,7]]},"14":{"position":[[1128,6]]},"16":{"position":[[2002,7],[2491,8],[3608,6]]},"20":{"position":[[641,6]]}}}],["endors",{"_index":798,"t":{"56":{"position":[[260,8]]}}}],["enforc",{"_index":835,"t":{"66":{"position":[[51,11],[1472,8]]},"68":{"position":[[703,7],[798,7]]}}}],["engin",{"_index":13,"t":{"2":{"position":[[192,9]]}}}],["english",{"_index":874,"t":{"66":{"position":[[1804,8]]}}}],["enhanc",{"_index":303,"t":{"12":{"position":[[984,12]]},"30":{"position":[[820,7]]},"32":{"position":[[489,8]]}}}],["enough",{"_index":184,"t":{"8":{"position":[[445,7]]}}}],["ensur",{"_index":274,"t":{"12":{"position":[[320,8],[1209,6],[1308,8]]},"14":{"position":[[910,6]]},"16":{"position":[[298,8],[587,8],[742,8],[1417,6],[3349,7]]},"24":{"position":[[259,6]]},"30":{"position":[[781,6]]},"36":{"position":[[470,6]]}}}],["enter",{"_index":712,"t":{"46":{"position":[[100,7]]}}}],["entir",{"_index":146,"t":{"6":{"position":[[720,6]]},"16":{"position":[[2118,8],[2869,6]]},"68":{"position":[[37,6]]}}}],["entiti",{"_index":559,"t":{"28":{"position":[[121,6]]},"48":{"position":[[61,6]]}}}],["environ",{"_index":300,"t":{"12":{"position":[[897,12]]},"20":{"position":[[616,13]]},"52":{"position":[[678,12]]}}}],["equit",{"_index":805,"t":{"58":{"position":[[102,9]]}}}],["era",{"_index":337,"t":{"14":{"position":[[278,3]]}}}],["essenc",{"_index":792,"t":{"54":{"position":[[125,7]]}}}],["establish",{"_index":513,"t":{"20":{"position":[[469,9]]}}}],["estim",{"_index":763,"t":{"52":{"position":[[96,10]]}}}],["ethereum",{"_index":325,"t":{"14":{"position":[[92,9],[163,8],[623,8],[669,8]]}}}],["eur",{"_index":819,"t":{"58":{"position":[[524,3]]}}}],["euro",{"_index":821,"t":{"58":{"position":[[545,7]]}}}],["europ",{"_index":664,"t":{"36":{"position":[[558,7]]}}}],["european",{"_index":653,"t":{"36":{"position":[[161,8],[349,8],[626,8]]}}}],["even",{"_index":816,"t":{"58":{"position":[[391,4]]}}}],["event",{"_index":464,"t":{"16":{"position":[[2637,5]]},"30":{"position":[[1243,7]]},"36":{"position":[[99,5],[573,6]]},"58":{"position":[[463,6]]}}}],["eventu",{"_index":243,"t":{"8":{"position":[[1366,10]]}}}],["everyth",{"_index":435,"t":{"16":{"position":[[1502,10]]}}}],["exampl",{"_index":151,"t":{"6":{"position":[[767,8]]},"14":{"position":[[852,8]]}}}],["except",{"_index":604,"t":{"30":{"position":[[1527,6]]}}}],["exclus",{"_index":402,"t":{"16":{"position":[[214,11]]}}}],["execut",{"_index":235,"t":{"8":{"position":[[1249,9]]},"12":{"position":[[658,9],[887,9]]},"14":{"position":[[244,10]]},"16":{"position":[[71,9],[376,9],[948,9],[1397,9],[1854,9],[1877,9],[1962,9],[2010,9],[2252,9],[2335,9],[2522,9],[2651,9],[2703,9],[2777,9],[2794,9],[3011,9],[3160,9],[3410,9],[3648,9],[4097,9],[4145,9]]},"20":{"position":[[606,9]]}}}],["exist",{"_index":229,"t":{"8":{"position":[[1155,9]]},"16":{"position":[[3664,5]]}}}],["exit",{"_index":138,"t":{"6":{"position":[[597,4]]},"8":{"position":[[587,7]]},"16":{"position":[[2512,6]]}}}],["expand",{"_index":895,"t":{"68":{"position":[[394,7]]}}}],["expect",{"_index":32,"t":{"2":{"position":[[439,6]]},"6":{"position":[[563,6]]},"50":{"position":[[1149,12]]},"52":{"position":[[82,13]]}}}],["expens",{"_index":198,"t":{"8":{"position":[[694,10]]},"60":{"position":[[93,9]]}}}],["experi",{"_index":11,"t":{"2":{"position":[[169,10]]},"12":{"position":[[783,11]]},"32":{"position":[[704,10]]}}}],["experienc",{"_index":4,"t":{"2":{"position":[[43,11]]}}}],["experiment",{"_index":340,"t":{"14":{"position":[[313,16]]}}}],["explain",{"_index":669,"t":{"38":{"position":[[3,9]]}}}],["explicit",{"_index":177,"t":{"8":{"position":[[353,8]]}}}],["export",{"_index":651,"t":{"36":{"position":[[113,6]]}}}],["express",{"_index":724,"t":{"50":{"position":[[152,7],[1374,7]]}}}],["extent",{"_index":627,"t":{"32":{"position":[[207,6]]},"44":{"position":[[7,6]]},"50":{"position":[[677,6]]},"56":{"position":[[7,6]]},"58":{"position":[[608,6]]}}}],["extern",{"_index":216,"t":{"8":{"position":[[981,8]]}}}],["extrem",{"_index":167,"t":{"8":{"position":[[157,9]]}}}],["facilit",{"_index":293,"t":{"12":{"position":[[764,12]]},"16":{"position":[[1732,11]]}}}],["fail",{"_index":376,"t":{"14":{"position":[[1119,5]]},"68":{"position":[[695,4]]}}}],["fairer",{"_index":90,"t":{"4":{"position":[[579,7]]}}}],["fall",{"_index":99,"t":{"4":{"position":[[689,4]]}}}],["far",{"_index":183,"t":{"8":{"position":[[441,3]]},"16":{"position":[[3738,3]]}}}],["fathom",{"_index":584,"t":{"30":{"position":[[616,6],[1852,6],[1898,6],[1986,6],[2092,6],[2193,6]]}}}],["fdpic",{"_index":690,"t":{"38":{"position":[[962,8]]}}}],["featur",{"_index":450,"t":{"16":{"position":[[2102,7],[2481,9]]},"32":{"position":[[160,8],[260,9]]},"52":{"position":[[339,9]]}}}],["februari",{"_index":546,"t":{"26":{"position":[[29,8]]},"46":{"position":[[30,8]]}}}],["feder",{"_index":688,"t":{"38":{"position":[[909,7]]}}}],["fee",{"_index":827,"t":{"60":{"position":[[124,5]]},"66":{"position":[[1837,4],[1921,4]]}}}],["few",{"_index":409,"t":{"16":{"position":[[642,3]]}}}],["file",{"_index":686,"t":{"38":{"position":[[883,4]]},"66":{"position":[[1883,7]]}}}],["final",{"_index":390,"t":{"14":{"position":[[1506,8]]},"66":{"position":[[1173,7]]}}}],["financi",{"_index":142,"t":{"6":{"position":[[669,9]]},"50":{"position":[[1554,10]]}}}],["find",{"_index":161,"t":{"8":{"position":[[86,4]]}}}],["first",{"_index":261,"t":{"10":{"position":[[219,5]]},"22":{"position":[[111,5]]},"30":{"position":[[978,5],[1607,5]]},"66":{"position":[[707,5]]}}}],["fit",{"_index":726,"t":{"50":{"position":[[236,7]]}}}],["flexibl",{"_index":65,"t":{"4":{"position":[[154,9]]},"14":{"position":[[1317,11]]},"16":{"position":[[4088,8]]}}}],["fluid",{"_index":27,"t":{"2":{"position":[[369,5]]}}}],["focu",{"_index":287,"t":{"12":{"position":[[555,5]]}}}],["focus",{"_index":107,"t":{"6":{"position":[[119,7]]},"16":{"position":[[206,7]]},"20":{"position":[[65,7]]}}}],["follow",{"_index":241,"t":{"8":{"position":[[1335,6]]},"12":{"position":[[205,9]]},"16":{"position":[[1626,9],[2822,9]]},"22":{"position":[[244,6]]},"30":{"position":[[495,9]]},"32":{"position":[[368,10]]},"54":{"position":[[371,9]]},"66":{"position":[[417,9]]}}}],["forc",{"_index":343,"t":{"14":{"position":[[376,7]]},"66":{"position":[[1373,6]]},"68":{"position":[[671,5]]}}}],["forecast",{"_index":764,"t":{"52":{"position":[[107,10]]}}}],["forev",{"_index":144,"t":{"6":{"position":[[694,7]]}}}],["fork",{"_index":205,"t":{"8":{"position":[[831,4]]}}}],["form",{"_index":661,"t":{"36":{"position":[[399,5],[438,5]]},"50":{"position":[[1165,7]]}}}],["format",{"_index":795,"t":{"54":{"position":[[209,6]]}}}],["forthcom",{"_index":411,"t":{"16":{"position":[[681,11],[2156,11]]}}}],["forward",{"_index":227,"t":{"8":{"position":[[1123,7]]},"52":{"position":[[29,7],[205,7],[541,7]]}}}],["foundat",{"_index":85,"t":{"4":{"position":[[472,12],[562,11]]},"20":{"position":[[163,12]]}}}],["fractal",{"_index":383,"t":{"14":{"position":[[1246,7]]}}}],["free",{"_index":531,"t":{"24":{"position":[[64,4]]}}}],["freedom",{"_index":240,"t":{"8":{"position":[[1324,7]]}}}],["freer",{"_index":94,"t":{"4":{"position":[[621,5]]}}}],["full",{"_index":282,"t":{"12":{"position":[[469,4]]},"54":{"position":[[323,4]]},"68":{"position":[[666,4]]}}}],["fulli",{"_index":245,"t":{"8":{"position":[[1384,5]]},"14":{"position":[[1210,5]]}}}],["function",{"_index":401,"t":{"16":{"position":[[146,13],[435,9],[1369,9],[1456,9],[1636,9]]},"20":{"position":[[657,14]]},"30":{"position":[[802,13]]},"46":{"position":[[207,13]]},"52":{"position":[[322,16]]}}}],["further",{"_index":514,"t":{"20":{"position":[[479,7]]},"66":{"position":[[1026,7]]}}}],["furthermor",{"_index":158,"t":{"8":{"position":[[0,12]]},"14":{"position":[[384,12]]}}}],["futur",{"_index":127,"t":{"6":{"position":[[407,7]]},"20":{"position":[[359,6]]},"50":{"position":[[1436,6]]}}}],["gener",{"_index":647,"t":{"34":{"position":[[5,7]]},"52":{"position":[[192,8]]}}}],["generalis",{"_index":445,"t":{"16":{"position":[[1915,11]]}}}],["genesi",{"_index":458,"t":{"16":{"position":[[2384,7]]}}}],["github",{"_index":53,"t":{"2":{"position":[[732,6]]},"22":{"position":[[303,6]]}}}],["global",{"_index":479,"t":{"16":{"position":[[3096,6],[3364,6]]}}}],["gmbh",{"_index":568,"t":{"28":{"position":[[286,4]]},"48":{"position":[[227,4]]}}}],["go",{"_index":182,"t":{"8":{"position":[[438,2]]}}}],["goal",{"_index":403,"t":{"16":{"position":[[290,4]]}}}],["good",{"_index":112,"t":{"6":{"position":[[180,4]]}}}],["googl",{"_index":613,"t":{"30":{"position":[[2024,6]]},"32":{"position":[[453,6],[745,6]]}}}],["govern",{"_index":125,"t":{"6":{"position":[[369,10]]},"8":{"position":[[64,10],[120,10]]},"12":{"position":[[798,11]]},"46":{"position":[[137,6]]},"56":{"position":[[132,6]]},"64":{"position":[[10,7]]}}}],["grant",{"_index":499,"t":{"16":{"position":[[4121,6]]}}}],["greater",{"_index":280,"t":{"12":{"position":[[432,7]]},"16":{"position":[[716,7],[3742,7]]}}}],["greek",{"_index":256,"t":{"10":{"position":[[130,5]]}}}],["group",{"_index":21,"t":{"2":{"position":[[296,5]]}}}],["guarante",{"_index":747,"t":{"50":{"position":[[1355,10]]}}}],["hackenproof",{"_index":539,"t":{"24":{"position":[[239,11]]}}}],["hard",{"_index":204,"t":{"8":{"position":[[826,4]]}}}],["hardwar",{"_index":278,"t":{"12":{"position":[[367,8]]}}}],["harm",{"_index":800,"t":{"56":{"position":[[423,8]]}}}],["harmless",{"_index":824,"t":{"60":{"position":[[35,8]]}}}],["head",{"_index":892,"t":{"68":{"position":[[268,8]]}}}],["hear",{"_index":44,"t":{"2":{"position":[[628,4]]}}}],["heard",{"_index":843,"t":{"66":{"position":[[495,5]]}}}],["held",{"_index":802,"t":{"58":{"position":[[15,4]]},"66":{"position":[[1519,4]]},"68":{"position":[[532,4]]}}}],["help",{"_index":540,"t":{"24":{"position":[[254,4]]}}}],["here",{"_index":35,"t":{"2":{"position":[[479,5],[744,5]]},"30":{"position":[[1946,5]]}}}],["herein",{"_index":742,"t":{"50":{"position":[[994,6],[1257,6],[1493,7],[1527,6]]},"52":{"position":[[825,6],[1004,7]]},"66":{"position":[[1422,6]]}}}],["high",{"_index":304,"t":{"12":{"position":[[1005,4],[1034,4]]},"16":{"position":[[596,4],[4130,4]]},"52":{"position":[[500,4],[1027,4]]}}}],["higher",{"_index":495,"t":{"16":{"position":[[3985,6]]}}}],["highli",{"_index":489,"t":{"16":{"position":[[3790,6]]}}}],["histori",{"_index":155,"t":{"6":{"position":[[842,8]]},"8":{"position":[[743,7]]}}}],["hit",{"_index":492,"t":{"16":{"position":[[3853,7]]}}}],["hold",{"_index":823,"t":{"60":{"position":[[27,4]]}}}],["host",{"_index":601,"t":{"30":{"position":[[1301,6]]}}}],["https://creativecommons.org/licenses/by/4.0",{"_index":797,"t":{"54":{"position":[[390,45]]}}}],["https://usefathom.com",{"_index":612,"t":{"30":{"position":[[1952,23]]}}}],["hundr",{"_index":316,"t":{"12":{"position":[[1261,8]]},"58":{"position":[[537,7]]}}}],["ideal",{"_index":522,"t":{"22":{"position":[[77,5]]}}}],["identifi",{"_index":313,"t":{"12":{"position":[[1171,10]]},"30":{"position":[[691,11]]},"32":{"position":[[619,8]]},"68":{"position":[[277,11]]}}}],["ii",{"_index":852,"t":{"66":{"position":[[965,4]]}}}],["ill",{"_index":357,"t":{"14":{"position":[[678,3]]}}}],["immedi",{"_index":702,"t":{"42":{"position":[[185,11]]},"62":{"position":[[217,11]]}}}],["implement",{"_index":97,"t":{"4":{"position":[[665,15]]},"12":{"position":[[564,12]]},"14":{"position":[[1521,10]]},"20":{"position":[[76,12],[425,12]]},"30":{"position":[[1329,11]]},"34":{"position":[[67,11]]}}}],["impli",{"_index":166,"t":{"8":{"position":[[135,7]]},"50":{"position":[[163,8],[1385,7]]},"56":{"position":[[246,5]]}}}],["impregn",{"_index":124,"t":{"6":{"position":[[357,11]]}}}],["improv",{"_index":171,"t":{"8":{"position":[[231,11]]},"16":{"position":[[3615,8]]}}}],["incid",{"_index":534,"t":{"24":{"position":[[127,9]]}}}],["incident",{"_index":811,"t":{"58":{"position":[[202,11]]}}}],["includ",{"_index":364,"t":{"14":{"position":[[861,7]]},"16":{"position":[[1776,9]]},"46":{"position":[[181,9]]},"50":{"position":[[172,9]]},"52":{"position":[[243,7],[727,9],[1259,9]]},"54":{"position":[[233,9]]},"56":{"position":[[104,9]]},"60":{"position":[[103,9],[210,9]]},"66":{"position":[[74,8],[1873,9]]}}}],["incorpor",{"_index":864,"t":{"66":{"position":[[1409,12]]}}}],["incorrupt",{"_index":106,"t":{"6":{"position":[[83,14]]}}}],["increas",{"_index":473,"t":{"16":{"position":[[2947,10]]}}}],["indemnifi",{"_index":822,"t":{"60":{"position":[[10,9]]}}}],["independ",{"_index":208,"t":{"8":{"position":[[853,11],[1390,11]]},"14":{"position":[[951,11]]},"40":{"position":[[110,11]]}}}],["indic",{"_index":582,"t":{"30":{"position":[[433,9]]}}}],["individu",{"_index":39,"t":{"2":{"position":[[579,10]]},"6":{"position":[[570,11]]},"8":{"position":[[302,10],[459,10]]},"32":{"position":[[628,10]]}}}],["industri",{"_index":766,"t":{"52":{"position":[[168,8]]}}}],["influenc",{"_index":510,"t":{"20":{"position":[[349,9]]}}}],["inform",{"_index":550,"t":{"26":{"position":[[78,6]]},"30":{"position":[[1070,11]]},"32":{"position":[[672,11],[887,11]]},"34":{"position":[[191,11]]},"38":{"position":[[937,11]]},"50":{"position":[[1076,13],[1245,11],[1505,11]]},"52":{"position":[[803,11],[982,11],[1246,12]]}}}],["infrastructur",{"_index":67,"t":{"4":{"position":[[177,14]]},"12":{"position":[[116,14]]}}}],["infring",{"_index":728,"t":{"50":{"position":[[278,12]]}}}],["initi",{"_index":456,"t":{"16":{"position":[[2269,10],[2320,10]]}}}],["innov",{"_index":55,"t":{"4":{"position":[[12,10]]}}}],["insight",{"_index":391,"t":{"14":{"position":[[1532,8]]},"30":{"position":[[2129,9],[2232,8]]}}}],["inspir",{"_index":354,"t":{"14":{"position":[[611,8]]}}}],["institut",{"_index":187,"t":{"8":{"position":[[505,12]]},"24":{"position":[[51,9]]},"66":{"position":[[1275,11]]}}}],["integr",{"_index":521,"t":{"20":{"position":[[744,10]]}}}],["intellectu",{"_index":729,"t":{"50":{"position":[[294,12]]}}}],["intend",{"_index":549,"t":{"26":{"position":[[66,8]]},"50":{"position":[[1042,8]]}}}],["inter",{"_index":351,"t":{"14":{"position":[[537,5]]},"16":{"position":[[1871,5]]}}}],["interact",{"_index":141,"t":{"6":{"position":[[651,11]]},"32":{"position":[[218,8],[513,8]]}}}],["interest",{"_index":588,"t":{"30":{"position":[[737,8]]}}}],["intern",{"_index":791,"t":{"54":{"position":[[87,13]]},"66":{"position":[[1325,13],[1972,13]]}}}],["interpret",{"_index":896,"t":{"68":{"position":[[423,14]]}}}],["introduc",{"_index":362,"t":{"14":{"position":[[820,9]]}}}],["invalid",{"_index":897,"t":{"68":{"position":[[537,7]]}}}],["invit",{"_index":600,"t":{"30":{"position":[[1212,11]]}}}],["ip",{"_index":583,"t":{"30":{"position":[[549,2],[658,2],[765,2],[871,2]]}}}],["isol",{"_index":295,"t":{"12":{"position":[[810,8]]}}}],["issu",{"_index":202,"t":{"8":{"position":[[804,6]]}}}],["item",{"_index":512,"t":{"20":{"position":[[374,6]]}}}],["join",{"_index":30,"t":{"2":{"position":[[407,4]]},"12":{"position":[[461,4]]},"22":{"position":[[32,4],[259,4]]}}}],["judg",{"_index":844,"t":{"66":{"position":[[506,6]]}}}],["june",{"_index":251,"t":{"10":{"position":[[74,5],[262,4]]}}}],["juri",{"_index":846,"t":{"66":{"position":[[615,4]]}}}],["jurisdict",{"_index":740,"t":{"50":{"position":[[826,13]]},"66":{"position":[[650,14]]}}}],["keen",{"_index":36,"t":{"2":{"position":[[494,4]]}}}],["kept",{"_index":433,"t":{"16":{"position":[[1470,4]]},"66":{"position":[[1742,4]]}}}],["key",{"_index":126,"t":{"6":{"position":[[387,3]]},"12":{"position":[[103,3]]}}}],["kind",{"_index":723,"t":{"50":{"position":[[146,5]]}}}],["knowledg",{"_index":505,"t":{"18":{"position":[[57,9]]}}}],["known",{"_index":882,"t":{"66":{"position":[[2160,5]]}}}],["laid",{"_index":674,"t":{"38":{"position":[[240,4]]}}}],["languag",{"_index":873,"t":{"66":{"position":[[1765,8]]}}}],["last",{"_index":543,"t":{"26":{"position":[[13,4]]},"46":{"position":[[13,4]]}}}],["latenc",{"_index":471,"t":{"16":{"position":[[2904,7]]}}}],["latest",{"_index":524,"t":{"22":{"position":[[132,6]]}}}],["law",{"_index":258,"t":{"10":{"position":[[147,4]]},"30":{"position":[[1549,4]]},"50":{"position":[[708,4],[976,5]]},"58":{"position":[[639,4]]},"64":{"position":[[6,3],[145,4]]},"66":{"position":[[66,3]]}}}],["lawsuit",{"_index":884,"t":{"66":{"position":[[2241,7]]}}}],["lay",{"_index":89,"t":{"4":{"position":[[554,3]]}}}],["layer",{"_index":76,"t":{"4":{"position":[[333,5],[393,6],[422,6]]},"6":{"position":[[112,6]]},"12":{"position":[[56,5]]},"16":{"position":[[40,6],[60,6],[182,5],[200,5],[425,6],[786,5],[988,6],[1272,5],[1293,5],[1319,6],[1533,5],[1607,5],[1844,5],[1996,5],[2584,5],[2745,6],[2768,5]]},"20":{"position":[[563,5]]},"22":{"position":[[71,5]]}}}],["layer'",{"_index":431,"t":{"16":{"position":[[1343,7],[1696,7]]}}}],["layers—th",{"_index":395,"t":{"16":{"position":[[24,10]]}}}],["lead",{"_index":10,"t":{"2":{"position":[[119,4]]}}}],["lean",{"_index":157,"t":{"6":{"position":[[864,9]]}}}],["legal",{"_index":563,"t":{"28":{"position":[[212,5]]},"30":{"position":[[199,5]]},"48":{"position":[[152,5]]},"50":{"position":[[431,9],[785,7],[1565,6]]},"58":{"position":[[93,5]]}}}],["legal@free.technolog",{"_index":707,"t":{"44":{"position":[[89,22]]},"68":{"position":[[902,22]]}}}],["legisl",{"_index":579,"t":{"30":{"position":[[245,12]]},"36":{"position":[[713,12]]},"38":{"position":[[269,12]]}}}],["legitim",{"_index":587,"t":{"30":{"position":[[726,10]]}}}],["less",{"_index":91,"t":{"4":{"position":[[587,4]]}}}],["level",{"_index":657,"t":{"36":{"position":[[297,5]]}}}],["leverag",{"_index":218,"t":{"8":{"position":[[1005,9]]}}}],["liabil",{"_index":695,"t":{"40":{"position":[[179,9]]},"58":{"position":[[73,10],[484,9],[572,9]]}}}],["liabl",{"_index":801,"t":{"56":{"position":[[498,6]]},"58":{"position":[[20,6]]}}}],["licenc",{"_index":793,"t":{"54":{"position":[[138,7],[342,8]]}}}],["licens",{"_index":708,"t":{"44":{"position":[[129,8]]},"54":{"position":[[101,7]]},"68":{"position":[[942,8]]}}}],["light",{"_index":421,"t":{"16":{"position":[[1023,5]]}}}],["limit",{"_index":131,"t":{"6":{"position":[[463,6]]},"14":{"position":[[652,11]]},"16":{"position":[[2309,7],[3869,7]]},"30":{"position":[[10,5]]},"32":{"position":[[19,7]]},"38":{"position":[[40,5]]},"50":{"position":[[190,10]]},"58":{"position":[[513,7],[558,10]]},"60":{"position":[[228,10]]},"66":{"position":[[570,8],[2039,12]]},"68":{"position":[[402,6]]}}}],["link",{"_index":609,"t":{"30":{"position":[[1812,4]]},"40":{"position":[[37,5]]},"50":{"position":[[613,6]]},"56":{"position":[[39,5],[182,7]]}}}],["liquid",{"_index":469,"t":{"16":{"position":[[2850,9],[3578,9]]}}}],["litig",{"_index":837,"t":{"66":{"position":[[277,10],[474,10]]}}}],["llc",{"_index":634,"t":{"32":{"position":[[460,4]]}}}],["local",{"_index":741,"t":{"50":{"position":[[970,5]]}}}],["log",{"_index":641,"t":{"32":{"position":[[730,6]]}}}],["logo",{"_index":77,"t":{"4":{"position":[[346,5],[453,5]]},"10":{"position":[[245,5]]},"12":{"position":[[138,5]]},"22":{"position":[[223,5]]},"28":{"position":[[135,5],[238,5],[350,8],[417,5]]},"48":{"position":[[75,5],[179,5],[291,8],[368,5]]}}}],["longer",{"_index":185,"t":{"8":{"position":[[473,6]]}}}],["look",{"_index":761,"t":{"52":{"position":[[37,7],[213,7],[549,7]]}}}],["loos",{"_index":26,"t":{"2":{"position":[[362,6]]}}}],["lost",{"_index":807,"t":{"58":{"position":[[127,4]]}}}],["love",{"_index":43,"t":{"2":{"position":[[620,4]]}}}],["made",{"_index":302,"t":{"12":{"position":[[956,4]]},"50":{"position":[[1057,4]]},"54":{"position":[[33,4]]}}}],["main",{"_index":237,"t":{"8":{"position":[[1280,4]]}}}],["maintain",{"_index":266,"t":{"12":{"position":[[192,8]]},"14":{"position":[[1274,9]]},"20":{"position":[[761,11]]},"34":{"position":[[128,8]]}}}],["make",{"_index":214,"t":{"8":{"position":[[950,6]]},"14":{"position":[[664,4]]},"16":{"position":[[808,4],[3404,5],[3916,4]]},"30":{"position":[[1886,4]]},"32":{"position":[[138,6]]},"50":{"position":[[367,4],[716,4]]},"66":{"position":[[97,4],[953,7]]}}}],["mani",{"_index":355,"t":{"14":{"position":[[635,4]]}}}],["manner",{"_index":841,"t":{"66":{"position":[[388,7]]}}}],["market",{"_index":767,"t":{"52":{"position":[[181,7],[620,6]]}}}],["massiv",{"_index":130,"t":{"6":{"position":[[453,9]]}}}],["matter",{"_index":750,"t":{"50":{"position":[[1475,7]]},"52":{"position":[[437,7],[1123,7]]}}}],["maxim",{"_index":103,"t":{"6":{"position":[[11,8]]},"12":{"position":[[410,9]]}}}],["maximum",{"_index":268,"t":{"12":{"position":[[227,7],[713,7]]},"16":{"position":[[751,7],[1424,7]]},"50":{"position":[[669,7]]},"58":{"position":[[600,7]]}}}],["mean",{"_index":25,"t":{"2":{"position":[[345,7]]},"8":{"position":[[578,5]]},"12":{"position":[[864,5]]},"36":{"position":[[197,5]]},"46":{"position":[[375,5]]},"66":{"position":[[43,7]]},"68":{"position":[[760,4]]}}}],["meanwhil",{"_index":381,"t":{"14":{"position":[[1227,10]]}}}],["measur",{"_index":590,"t":{"30":{"position":[[841,8],[1341,8],[1441,9]]},"34":{"position":[[101,8]]}}}],["mechan",{"_index":310,"t":{"12":{"position":[[1085,10]]},"16":{"position":[[4074,9]]}}}],["meet",{"_index":838,"t":{"66":{"position":[[305,5]]}}}],["merchant",{"_index":725,"t":{"50":{"position":[[219,16]]}}}],["messag",{"_index":448,"t":{"16":{"position":[[1938,7],[2078,9]]}}}],["method",{"_index":869,"t":{"66":{"position":[[1602,7]]}}}],["mileston",{"_index":515,"t":{"20":{"position":[[487,10]]}}}],["minimis",{"_index":418,"t":{"16":{"position":[[916,10],[3487,9]]}}}],["minimum",{"_index":270,"t":{"12":{"position":[[280,7]]},"16":{"position":[[1487,8]]}}}],["mode",{"_index":636,"t":{"32":{"position":[[498,5]]}}}],["model",{"_index":374,"t":{"14":{"position":[[1069,5]]},"16":{"position":[[4107,7]]},"20":{"position":[[596,5]]}}}],["modifi",{"_index":696,"t":{"42":{"position":[[7,6]]},"54":{"position":[[168,6]]},"62":{"position":[[7,6]]},"68":{"position":[[386,7]]}}}],["modular",{"_index":286,"t":{"12":{"position":[[530,7],[579,7]]}}}],["monetari",{"_index":338,"t":{"14":{"position":[[285,8]]}}}],["monolith",{"_index":490,"t":{"16":{"position":[[3812,10]]}}}],["more",{"_index":29,"t":{"2":{"position":[[389,4]]},"8":{"position":[[962,4]]},"16":{"position":[[3426,4]]},"30":{"position":[[1935,4]]}}}],["multipl",{"_index":368,"t":{"14":{"position":[[942,8]]}}}],["name",{"_index":254,"t":{"10":{"position":[[108,4]]},"30":{"position":[[984,4],[1613,4]]}}}],["nation",{"_index":162,"t":{"8":{"position":[[95,6]]}}}],["natur",{"_index":370,"t":{"14":{"position":[[1003,6]]},"66":{"position":[[908,6]]}}}],["need",{"_index":117,"t":{"6":{"position":[[255,6],[788,4]]},"16":{"position":[[908,4],[1037,4],[1231,5]]},"30":{"position":[[321,4],[418,6]]}}}],["neglig",{"_index":803,"t":{"58":{"position":[[54,11]]}}}],["network",{"_index":31,"t":{"2":{"position":[[427,8]]},"4":{"position":[[96,7]]},"6":{"position":[[45,8],[314,7]]},"8":{"position":[[898,8],[1192,7]]},"10":{"position":[[90,7]]},"12":{"position":[[75,7],[179,7],[402,7],[1039,7],[1111,7],[1236,7]]},"14":{"position":[[210,7],[709,7],[720,7],[1111,7]]},"16":{"position":[[364,8],[620,7],[1122,7],[2882,8],[3377,8],[3599,8]]},"18":{"position":[[14,7]]},"20":{"position":[[311,7],[400,7],[690,10]]},"22":{"position":[[89,7],[229,7]]}}}],["network'",{"_index":238,"t":{"8":{"position":[[1285,9]]},"20":{"position":[[93,9],[581,9]]}}}],["new",{"_index":194,"t":{"8":{"position":[[628,4]]},"16":{"position":[[2248,3],[2331,3],[2373,3]]},"22":{"position":[[139,5]]},"42":{"position":[[148,3]]},"62":{"position":[[174,3]]}}}],["newer",{"_index":328,"t":{"14":{"position":[[124,5]]}}}],["node",{"_index":113,"t":{"6":{"position":[[185,6]]},"12":{"position":[[1200,5],[1286,5]]},"16":{"position":[[1226,4]]}}}],["nomo",{"_index":1,"t":{"2":{"position":[[9,5],[104,6],[329,5],[485,5]]},"4":{"position":[[0,5],[293,5]]},"6":{"position":[[166,5]]},"8":{"position":[[999,5],[1186,5]]},"10":{"position":[[8,5],[209,5]]},"12":{"position":[[0,5],[253,5],[495,5],[843,5],[917,5],[1059,5]]},"14":{"position":[[22,5],[602,5],[1374,6],[1515,5]]},"16":{"position":[[0,5],[188,6],[2168,5],[2876,5],[3281,5],[3371,5],[4115,5]]},"18":{"position":[[0,5]]},"20":{"position":[[23,6],[263,6]]},"22":{"position":[[15,5]]},"24":{"position":[[30,5]]}}}],["non",{"_index":597,"t":{"30":{"position":[[1154,3]]},"50":{"position":[[274,3]]},"56":{"position":[[419,3]]}}}],["nonetheless",{"_index":672,"t":{"38":{"position":[[117,12]]}}}],["note",{"_index":610,"t":{"30":{"position":[[1873,4]]},"66":{"position":[[520,4]]}}}],["noth",{"_index":756,"t":{"50":{"position":[[1628,7]]}}}],["notic",{"_index":698,"t":{"42":{"position":[[81,7]]},"52":{"position":[[1392,6]]},"62":{"position":[[87,7]]},"66":{"position":[[870,6],[1108,6]]}}}],["novel",{"_index":219,"t":{"8":{"position":[[1017,5]]},"22":{"position":[[54,5]]}}}],["number",{"_index":281,"t":{"12":{"position":[[440,7]]}}}],["numer",{"_index":199,"t":{"8":{"position":[[721,8],[1224,8]]}}}],["object",{"_index":685,"t":{"38":{"position":[[831,6]]}}}],["oblig",{"_index":650,"t":{"36":{"position":[[7,7]]},"50":{"position":[[1222,10]]}}}],["occas",{"_index":200,"t":{"8":{"position":[[730,9]]}}}],["occur",{"_index":667,"t":{"36":{"position":[[669,5]]}}}],["off",{"_index":298,"t":{"12":{"position":[[837,5],[944,4]]}}}],["offer",{"_index":191,"t":{"8":{"position":[[570,5]]},"14":{"position":[[782,5],[1075,6]]},"30":{"position":[[2210,6]]},"50":{"position":[[1685,5],[1725,5]]}}}],["offic",{"_index":561,"t":{"28":{"position":[[190,6]]},"48":{"position":[[130,6]]}}}],["on",{"_index":83,"t":{"4":{"position":[[442,3]]},"6":{"position":[[626,3]]},"58":{"position":[[532,4]]},"66":{"position":[[1652,3],[2085,3]]}}}],["onc",{"_index":188,"t":{"8":{"position":[[537,4]]}}}],["ongo",{"_index":336,"t":{"14":{"position":[[270,7]]}}}],["open",{"_index":45,"t":{"2":{"position":[[649,4]]}}}],["oper",{"_index":454,"t":{"16":{"position":[[2194,11],[2294,10]]}}}],["oral",{"_index":890,"t":{"68":{"position":[[216,5]]}}}],["order",{"_index":775,"t":{"52":{"position":[[741,5]]}}}],["organis",{"_index":339,"t":{"14":{"position":[[298,14]]},"30":{"position":[[1426,14]]}}}],["other'",{"_index":485,"t":{"16":{"position":[[3541,7]]}}}],["otherwis",{"_index":660,"t":{"36":{"position":[[370,10]]},"50":{"position":[[549,9]]}}}],["out",{"_index":52,"t":{"2":{"position":[[724,3]]},"38":{"position":[[245,3]]},"66":{"position":[[896,3]]}}}],["outsid",{"_index":652,"t":{"36":{"position":[[149,7],[614,7]]}}}],["over",{"_index":224,"t":{"8":{"position":[[1099,4]]},"30":{"position":[[902,4]]},"32":{"position":[[788,4]]},"56":{"position":[[451,4]]},"66":{"position":[[272,4]]}}}],["overal",{"_index":213,"t":{"8":{"position":[[932,7]]}}}],["p2p",{"_index":518,"t":{"20":{"position":[[686,3]]}}}],["page",{"_index":542,"t":{"26":{"position":[[8,4]]},"30":{"position":[[2253,6]]},"32":{"position":[[899,5]]},"46":{"position":[[8,4]]}}}],["paper",{"_index":412,"t":{"16":{"position":[[693,5]]}}}],["parachain",{"_index":379,"t":{"14":{"position":[[1178,10]]}}}],["part",{"_index":189,"t":{"8":{"position":[[544,5]]},"30":{"position":[[564,4]]},"42":{"position":[[29,4]]},"62":{"position":[[29,4]]},"68":{"position":[[494,4],[568,4]]}}}],["parti",{"_index":230,"t":{"8":{"position":[[1175,6]]},"30":{"position":[[1497,7]]},"32":{"position":[[66,7],[243,5]]},"36":{"position":[[264,7]]},"40":{"position":[[52,5],[80,5],[235,5]]},"56":{"position":[[56,5],[163,5],[201,5],[292,5],[358,5],[467,5],[548,5],[618,5],[742,5]]},"66":{"position":[[1726,7]]}}}],["particip",{"_index":279,"t":{"12":{"position":[[380,12]]},"14":{"position":[[894,12],[1156,13]]},"66":{"position":[[2211,11]]}}}],["particular",{"_index":727,"t":{"50":{"position":[[250,10]]}}}],["particularli",{"_index":463,"t":{"16":{"position":[[2608,12]]}}}],["pass",{"_index":449,"t":{"16":{"position":[[1946,7]]}}}],["passion",{"_index":3,"t":{"2":{"position":[[28,10],[549,7]]}}}],["past",{"_index":749,"t":{"50":{"position":[[1415,5]]}}}],["path",{"_index":226,"t":{"8":{"position":[[1118,4]]}}}],["payment",{"_index":875,"t":{"66":{"position":[[1813,7]]}}}],["peer",{"_index":283,"t":{"12":{"position":[[474,6]]},"20":{"position":[[705,4]]}}}],["peopl",{"_index":623,"t":{"30":{"position":[[2305,6]]}}}],["perform",{"_index":296,"t":{"12":{"position":[[819,11],[972,11]]},"16":{"position":[[164,12],[403,9],[601,11],[3750,11],[3992,12]]},"20":{"position":[[785,12]]}}}],["period",{"_index":699,"t":{"42":{"position":[[114,12]]},"62":{"position":[[140,12]]}}}],["permissionless",{"_index":378,"t":{"14":{"position":[[1141,14]]}}}],["permit",{"_index":738,"t":{"50":{"position":[[684,9]]},"58":{"position":[[615,9]]}}}],["person",{"_index":556,"t":{"28":{"position":[[77,8]]},"30":{"position":[[64,8],[141,8],[293,8],[352,8],[505,8],[1366,8],[1474,8],[2143,8]]},"32":{"position":[[45,8],[97,8],[574,8]]},"34":{"position":[[156,8]]},"36":{"position":[[41,8],[125,8],[208,8],[482,8],[600,8]]},"38":{"position":[[84,8],[190,8],[338,8],[403,8],[461,8],[588,8],[864,8],[996,8]]}}}],["personalis",{"_index":639,"t":{"32":{"position":[[687,11]]}}}],["perspect",{"_index":285,"t":{"12":{"position":[[517,12]]}}}],["piec",{"_index":265,"t":{"12":{"position":[[107,5]]}}}],["pioneer",{"_index":331,"t":{"14":{"position":[[172,9]]}}}],["place",{"_index":269,"t":{"12":{"position":[[274,5]]},"32":{"position":[[552,5]]},"36":{"position":[[142,6]]},"52":{"position":[[1095,5]]}}}],["platform",{"_index":56,"t":{"4":{"position":[[34,8]]}}}],["pleas",{"_index":50,"t":{"2":{"position":[[711,6]]},"24":{"position":[[100,6],[167,6]]},"42":{"position":[[89,6]]},"44":{"position":[[68,6]]},"54":{"position":[[351,6]]},"66":{"position":[[513,6]]},"68":{"position":[[881,6]]}}}],["polici",{"_index":548,"t":{"26":{"position":[[56,6],[220,6]]},"28":{"position":[[33,6]]},"32":{"position":[[295,8]]},"38":{"position":[[29,7]]},"40":{"position":[[130,9]]},"42":{"position":[[50,6],[160,6]]},"44":{"position":[[60,7]]},"56":{"position":[[122,9]]}}}],["polit",{"_index":156,"t":{"6":{"position":[[854,9]]}}}],["polkadot",{"_index":327,"t":{"14":{"position":[[110,9],[773,8]]}}}],["polkadot'",{"_index":373,"t":{"14":{"position":[[1042,10]]}}}],["portion",{"_index":900,"t":{"68":{"position":[[642,8]]}}}],["possibl",{"_index":671,"t":{"38":{"position":[[107,9],[370,10]]},"58":{"position":[[427,11]]},"66":{"position":[[1613,9]]}}}],["post",{"_index":704,"t":{"42":{"position":[[206,7]]},"62":{"position":[[238,7]]}}}],["potenti",{"_index":88,"t":{"4":{"position":[[541,9]]},"6":{"position":[[542,10]]},"14":{"position":[[450,9]]},"30":{"position":[[1200,11]]},"66":{"position":[[670,11]]}}}],["power",{"_index":118,"t":{"6":{"position":[[265,5]]},"12":{"position":[[358,8]]},"16":{"position":[[1744,8],[2093,8],[2621,8],[3431,8]]}}}],["preced",{"_index":508,"t":{"20":{"position":[[212,7]]}}}],["prefer",{"_index":592,"t":{"30":{"position":[[996,10]]},"66":{"position":[[253,6]]}}}],["present",{"_index":352,"t":{"14":{"position":[[564,8]]},"50":{"position":[[1421,7]]},"52":{"position":[[788,10]]}}}],["primarili",{"_index":507,"t":{"20":{"position":[[55,9]]}}}],["principl",{"_index":839,"t":{"66":{"position":[[315,9]]}}}],["prior",{"_index":887,"t":{"68":{"position":[[113,5]]}}}],["privaci",{"_index":41,"t":{"2":{"position":[[606,8]]},"4":{"position":[[255,7]]},"20":{"position":[[773,7]]},"26":{"position":[[48,7],[110,7],[212,7]]},"28":{"position":[[25,7]]},"30":{"position":[[237,7],[2074,7]]},"32":{"position":[[287,7],[481,7]]},"36":{"position":[[30,7],[705,7]]},"38":{"position":[[21,7],[261,7]]},"40":{"position":[[122,7]]},"42":{"position":[[42,7],[152,7]]},"44":{"position":[[52,7]]},"56":{"position":[[114,7]]}}}],["privat",{"_index":441,"t":{"16":{"position":[[1786,7],[1892,7]]}}}],["proceed",{"_index":871,"t":{"66":{"position":[[1676,11]]}}}],["process",{"_index":318,"t":{"12":{"position":[[1299,8]]},"16":{"position":[[1240,7],[3184,9]]},"28":{"position":[[63,10]]},"30":{"position":[[50,10],[125,7],[281,7],[483,7],[645,7],[749,10],[1579,7]]},"32":{"position":[[89,7]]},"36":{"position":[[235,9]]},"38":{"position":[[65,10],[228,8],[575,7],[635,10],[676,10],[769,10],[845,10],[1019,9]]}}}],["procur",{"_index":809,"t":{"58":{"position":[[149,11]]}}}],["produc",{"_index":389,"t":{"14":{"position":[[1478,7]]}}}],["profit",{"_index":808,"t":{"58":{"position":[[132,8]]}}}],["programm",{"_index":538,"t":{"24":{"position":[[226,9]]}}}],["prohibit",{"_index":197,"t":{"8":{"position":[[680,13]]}}}],["project",{"_index":9,"t":{"2":{"position":[[111,7],[661,8]]},"4":{"position":[[485,9]]},"10":{"position":[[251,7]]},"20":{"position":[[195,8]]},"30":{"position":[[1101,7],[1227,7]]},"50":{"position":[[1462,8]]},"52":{"position":[[134,11],[281,7],[386,9]]}}}],["promis",{"_index":746,"t":{"50":{"position":[[1318,8]]}}}],["proof",{"_index":438,"t":{"16":{"position":[[1671,7],[1725,6]]},"18":{"position":[[67,5]]}}}],["properti",{"_index":267,"t":{"12":{"position":[[215,11]]},"16":{"position":[[2459,8],[2832,11]]},"50":{"position":[[307,8]]}}}],["protect",{"_index":114,"t":{"6":{"position":[[200,7]]},"10":{"position":[[174,10]]},"12":{"position":[[1099,7]]},"30":{"position":[[1353,7]]},"36":{"position":[[18,7],[306,10],[408,12],[517,10]]},"38":{"position":[[922,10]]}}}],["protocol",{"_index":372,"t":{"14":{"position":[[1025,10]]},"16":{"position":[[564,8]]},"20":{"position":[[113,9],[148,8],[452,9],[533,9]]},"24":{"position":[[270,9]]}}}],["provid",{"_index":63,"t":{"4":{"position":[[122,7]]},"8":{"position":[[343,9]]},"12":{"position":[[91,9],[854,7]]},"14":{"position":[[1307,9]]},"16":{"position":[[1613,8],[2810,7]]},"30":{"position":[[1672,9]]},"32":{"position":[[175,7],[441,8]]},"36":{"position":[[277,7],[499,8]]},"50":{"position":[[15,8]]},"56":{"position":[[26,8]]}}}],["provis",{"_index":833,"t":{"64":{"position":[[150,11]]},"68":{"position":[[445,10]]}}}],["pseudonym",{"_index":593,"t":{"30":{"position":[[1012,11],[1642,9]]}}}],["pst",{"_index":566,"t":{"28":{"position":[[271,3]]},"48":{"position":[[212,3]]}}}],["purchas",{"_index":154,"t":{"6":{"position":[[833,8]]}}}],["purport",{"_index":780,"t":{"52":{"position":[[858,7]]}}}],["purpos",{"_index":554,"t":{"28":{"position":[[8,8]]},"30":{"position":[[168,8],[443,8],[1047,7]]},"48":{"position":[[8,8]]},"50":{"position":[[261,8],[1090,8]]},"54":{"position":[[224,8]]}}}],["put",{"_index":308,"t":{"12":{"position":[[1065,4]]}}}],["question",{"_index":705,"t":{"44":{"position":[[32,9]]},"68":{"position":[[837,9]]}}}],["rang",{"_index":69,"t":{"4":{"position":[[212,5]]},"16":{"position":[[3688,5]]}}}],["rate",{"_index":621,"t":{"30":{"position":[[2282,5]]}}}],["read",{"_index":611,"t":{"30":{"position":[[1930,4]]},"46":{"position":[[276,4]]}}}],["real",{"_index":387,"t":{"14":{"position":[[1435,4]]}}}],["realis",{"_index":527,"t":{"22":{"position":[[209,9]]}}}],["reason",{"_index":677,"t":{"38":{"position":[[359,10]]},"66":{"position":[[722,10],[2149,10]]}}}],["receiv",{"_index":523,"t":{"22":{"position":[[120,7]]},"30":{"position":[[1732,9],[1835,7]]},"66":{"position":[[1093,9]]}}}],["recommend",{"_index":644,"t":{"32":{"position":[[832,11]]}}}],["recreat",{"_index":192,"t":{"8":{"position":[[609,8]]}}}],["reduc",{"_index":415,"t":{"16":{"position":[[862,8],[995,8],[1090,8]]}}}],["reduct",{"_index":472,"t":{"16":{"position":[[2912,10]]}}}],["redund",{"_index":426,"t":{"16":{"position":[[1104,10]]}}}],["refer",{"_index":574,"t":{"28":{"position":[[341,5],[381,11],[400,9]]},"48":{"position":[[282,5],[332,11],[351,9]]},"54":{"position":[[358,5]]},"66":{"position":[[1157,8],[1432,10]]},"68":{"position":[[352,9]]}}}],["referr",{"_index":619,"t":{"30":{"position":[[2264,10]]}}}],["regard",{"_index":552,"t":{"26":{"position":[[166,7]]},"30":{"position":[[460,7]]},"64":{"position":[[123,6]]},"68":{"position":[[73,9]]}}}],["regardless",{"_index":877,"t":{"66":{"position":[[1999,10]]}}}],["regist",{"_index":560,"t":{"28":{"position":[[179,10]]},"48":{"position":[[119,10]]}}}],["regularli",{"_index":785,"t":{"52":{"position":[[1231,10]]}}}],["regulatori",{"_index":773,"t":{"52":{"position":[[667,10]]}}}],["relat",{"_index":455,"t":{"16":{"position":[[2220,8]]},"30":{"position":[[1085,8],[1235,7]]},"50":{"position":[[559,8],[1446,8]]},"52":{"position":[[421,7]]},"58":{"position":[[239,7]]},"60":{"position":[[146,7]]},"66":{"position":[[141,8]]}}}],["relev",{"_index":558,"t":{"28":{"position":[[112,8]]},"38":{"position":[[252,8]]},"48":{"position":[[52,8]]},"66":{"position":[[1828,8]]}}}],["reli",{"_index":349,"t":{"14":{"position":[[501,4]]},"50":{"position":[[1301,6]]}}}],["reliabl",{"_index":406,"t":{"16":{"position":[[484,8]]},"50":{"position":[[450,12]]},"52":{"position":[[882,8],[951,11]]}}}],["relianc",{"_index":784,"t":{"52":{"position":[[1107,8]]}}}],["remain",{"_index":541,"t":{"24":{"position":[[293,6]]},"68":{"position":[[632,9],[656,6]]}}}],["remedi",{"_index":853,"t":{"66":{"position":[[974,6]]}}}],["remot",{"_index":502,"t":{"18":{"position":[[33,6],[84,6]]}}}],["remov",{"_index":678,"t":{"38":{"position":[[391,6]]}}}],["replac",{"_index":697,"t":{"42":{"position":[[17,7]]},"62":{"position":[[17,7]]}}}],["repo",{"_index":54,"t":{"2":{"position":[[739,4]]}}}],["report",{"_index":533,"t":{"24":{"position":[[107,6],[174,6]]}}}],["repres",{"_index":170,"t":{"8":{"position":[[218,9]]},"56":{"position":[[233,9]]}}}],["represent",{"_index":732,"t":{"50":{"position":[[376,15],[1327,15]]},"68":{"position":[[167,15]]}}}],["request",{"_index":681,"t":{"38":{"position":[[541,8]]}}}],["requir",{"_index":60,"t":{"4":{"position":[[76,12]]},"8":{"position":[[290,8]]},"16":{"position":[[445,9],[3709,12]]},"30":{"position":[[1537,8]]},"36":{"position":[[531,8]]},"54":{"position":[[278,12]]}}}],["research",{"_index":7,"t":{"2":{"position":[[81,12],[137,11]]},"18":{"position":[[22,10],[73,10]]}}}],["resili",{"_index":307,"t":{"12":{"position":[[1047,11],[1331,11]]}}}],["resist",{"_index":460,"t":{"16":{"position":[[2410,11],[2433,10]]}}}],["resolut",{"_index":850,"t":{"66":{"position":[[809,10]]}}}],["resolv",{"_index":840,"t":{"66":{"position":[[328,9],[744,7],[1034,7],[1181,8]]}}}],["resourc",{"_index":271,"t":{"12":{"position":[[288,8]]}}}],["respect",{"_index":71,"t":{"4":{"position":[[240,10]]},"26":{"position":[[121,7]]},"32":{"position":[[276,10]]},"38":{"position":[[175,7]]},"66":{"position":[[1845,7]]},"68":{"position":[[227,7]]}}}],["respons",{"_index":694,"t":{"40":{"position":[[161,14]]},"46":{"position":[[258,14]]},"50":{"position":[[924,11]]},"52":{"position":[[918,14]]},"56":{"position":[[696,11]]},"62":{"position":[[103,11]]}}}],["rest",{"_index":405,"t":{"16":{"position":[[352,4]]},"20":{"position":[[183,4]]}}}],["restak",{"_index":486,"t":{"16":{"position":[[3637,10],[4064,9]]}}}],["result",{"_index":203,"t":{"8":{"position":[[811,9]]},"32":{"position":[[116,6]]},"52":{"position":[[718,8]]},"66":{"position":[[797,6]]}}}],["retain",{"_index":239,"t":{"8":{"position":[[1310,9]]}}}],["review",{"_index":645,"t":{"32":{"position":[[853,6]]},"66":{"position":[[536,6]]}}}],["revis",{"_index":33,"t":{"2":{"position":[[449,6]]}}}],["revolutionari",{"_index":136,"t":{"6":{"position":[[528,13]]}}}],["reward",{"_index":115,"t":{"6":{"position":[[212,6]]}}}],["right",{"_index":180,"t":{"8":{"position":[[409,5]]},"38":{"position":[[165,6],[295,5]]},"50":{"position":[[338,7]]},"66":{"position":[[465,5],[603,6],[2202,5]]},"68":{"position":[[789,5]]}}}],["risk",{"_index":720,"t":{"50":{"position":[[106,5]]},"52":{"position":[[515,4],[1042,4]]},"56":{"position":[[672,4]]}}}],["riski",{"_index":314,"t":{"12":{"position":[[1194,5]]}}}],["roadmap",{"_index":511,"t":{"20":{"position":[[366,7]]},"52":{"position":[[272,8]]}}}],["role",{"_index":399,"t":{"16":{"position":[[108,4]]}}}],["rollup",{"_index":344,"t":{"14":{"position":[[407,6],[487,7],[543,6]]}}}],["rule",{"_index":862,"t":{"66":{"position":[[1316,5],[1386,5],[1963,5]]}}}],["ruleset",{"_index":242,"t":{"8":{"position":[[1352,9]]}}}],["s",{"_index":595,"t":{"30":{"position":[[1109,3]]}}}],["sa",{"_index":710,"t":{"44":{"position":[[150,3]]},"68":{"position":[[963,3]]}}}],["safeti",{"_index":649,"t":{"34":{"position":[[141,6]]}}}],["salari",{"_index":153,"t":{"6":{"position":[[819,7]]}}}],["same",{"_index":478,"t":{"16":{"position":[[3091,4],[3297,4]]},"36":{"position":[[512,4]]}}}],["sampl",{"_index":425,"t":{"16":{"position":[[1080,9]]}}}],["satisfi",{"_index":487,"t":{"16":{"position":[[3673,7]]}}}],["scalabl",{"_index":66,"t":{"4":{"position":[[168,8]]},"12":{"position":[[721,11]]},"14":{"position":[[1621,12]]},"16":{"position":[[332,11],[831,9]]}}}],["scale",{"_index":347,"t":{"14":{"position":[[434,7],[1266,7]]},"16":{"position":[[628,6],[3861,7]]}}}],["scope",{"_index":132,"t":{"6":{"position":[[474,5]]}}}],["section",{"_index":893,"t":{"68":{"position":[[289,8]]}}}],["secur",{"_index":64,"t":{"4":{"position":[[146,7]]},"6":{"position":[[103,8],[394,8]]},"8":{"position":[[940,9],[1295,8]]},"12":{"position":[[508,8]]},"14":{"position":[[930,8],[1060,8]]},"16":{"position":[[318,9],[3562,9],[3624,8],[3945,8]]},"24":{"position":[[8,8],[118,8],[300,7]]},"30":{"position":[[832,8],[1273,8],[1383,8]]},"34":{"position":[[36,8],[92,8]]},"50":{"position":[[1764,9]]}}}],["security@free.technolog",{"_index":535,"t":{"24":{"position":[[141,25]]}}}],["see",{"_index":148,"t":{"6":{"position":[[736,4],[811,3]]}}}],["seek",{"_index":102,"t":{"6":{"position":[[3,4]]},"66":{"position":[[989,8]]}}}],["self",{"_index":119,"t":{"6":{"position":[[275,4]]},"30":{"position":[[1296,4]]}}}],["sell",{"_index":758,"t":{"50":{"position":[[1701,5],[1741,4]]}}}],["seller",{"_index":152,"t":{"6":{"position":[[801,6]]}}}],["semi",{"_index":233,"t":{"8":{"position":[[1233,4]]}}}],["send",{"_index":594,"t":{"30":{"position":[[1058,7]]},"66":{"position":[[852,4]]}}}],["separ",{"_index":693,"t":{"40":{"position":[[97,8]]}}}],["sequenc",{"_index":350,"t":{"14":{"position":[[521,11]]}}}],["serious",{"_index":530,"t":{"24":{"position":[[17,9]]},"34":{"position":[[45,9]]}}}],["serv",{"_index":73,"t":{"4":{"position":[[299,6]]},"12":{"position":[[22,5]]}}}],["server",{"_index":602,"t":{"30":{"position":[[1308,8]]}}}],["servic",{"_index":633,"t":{"32":{"position":[[433,7]]},"58":{"position":[[176,9]]}}}],["set",{"_index":643,"t":{"32":{"position":[[807,3]]},"66":{"position":[[888,7]]}}}],["sever",{"_index":899,"t":{"68":{"position":[[581,9]]}}}],["shall",{"_index":745,"t":{"50":{"position":[[1264,5]]},"60":{"position":[[4,5]]},"66":{"position":[[841,5]]}}}],["shard",{"_index":427,"t":{"16":{"position":[[1134,8]]}}}],["share",{"_index":37,"t":{"2":{"position":[[539,5]]},"8":{"position":[[1270,5]]},"14":{"position":[[1053,6]]},"16":{"position":[[2844,5],[3081,5],[3287,5],[3572,5]]},"30":{"position":[[1463,5]]}}}],["short",{"_index":100,"t":{"4":{"position":[[694,5]]},"30":{"position":[[1979,6]]}}}],["sidechain",{"_index":477,"t":{"16":{"position":[[3065,10],[3249,11],[3457,10]]}}}],["sign",{"_index":176,"t":{"8":{"position":[[326,5]]}}}],["similar",{"_index":575,"t":{"28":{"position":[[373,7]]},"48":{"position":[[324,7]]}}}],["simpl",{"_index":222,"t":{"8":{"position":[[1079,6]]},"30":{"position":[[2217,6]]}}}],["singl",{"_index":430,"t":{"16":{"position":[[1219,6]]}}}],["site",{"_index":625,"t":{"30":{"position":[[2323,5]]},"40":{"position":[[86,5]]},"50":{"position":[[607,5]]}}}],["site.thes",{"_index":737,"t":{"50":{"position":[[628,10]]}}}],["situat",{"_index":210,"t":{"8":{"position":[[881,11],[1050,10]]}}}],["sixti",{"_index":855,"t":{"66":{"position":[[1062,5]]}}}],["small",{"_index":24,"t":{"2":{"position":[[338,6]]},"10":{"position":[[28,5]]}}}],["smart",{"_index":333,"t":{"14":{"position":[[229,5]]}}}],["social",{"_index":143,"t":{"6":{"position":[[683,7]]}}}],["societi",{"_index":95,"t":{"4":{"position":[[627,8]]}}}],["softwar",{"_index":12,"t":{"2":{"position":[[183,8]]},"24":{"position":[[284,8]]}}}],["sole",{"_index":718,"t":{"50":{"position":[[86,4],[889,4],[917,6]]},"52":{"position":[[1410,4]]},"56":{"position":[[689,6]]}}}],["solicit",{"_index":759,"t":{"50":{"position":[[1710,10]]}}}],["solut",{"_index":375,"t":{"14":{"position":[[1097,9]]}}}],["someth",{"_index":193,"t":{"8":{"position":[[618,9]]},"14":{"position":[[1082,9]]}}}],["sophist",{"_index":311,"t":{"12":{"position":[[1124,13]]}}}],["sourc",{"_index":46,"t":{"2":{"position":[[654,6]]}}}],["sovereign",{"_index":120,"t":{"6":{"position":[[280,9]]},"14":{"position":[[1216,10]]}}}],["sovereignti",{"_index":40,"t":{"2":{"position":[[590,11]]},"4":{"position":[[267,11]]},"14":{"position":[[1604,12]]}}}],["space",{"_index":323,"t":{"14":{"position":[[78,5]]},"16":{"position":[[3121,6]]}}}],["special",{"_index":453,"t":{"16":{"position":[[2186,7],[2286,7]]},"58":{"position":[[193,8]]}}}],["specif",{"_index":398,"t":{"16":{"position":[[99,8],[2974,8]]},"30":{"position":[[159,8],[2166,8]]},"36":{"position":[[429,8]]},"52":{"position":[[1290,9]]},"68":{"position":[[828,8]]}}}],["spend",{"_index":624,"t":{"30":{"position":[[2312,5]]}}}],["stabil",{"_index":404,"t":{"16":{"position":[[307,10]]}}}],["stack",{"_index":79,"t":{"4":{"position":[[357,6]]},"12":{"position":[[149,6]]}}}],["stage",{"_index":20,"t":{"2":{"position":[[270,5]]},"20":{"position":[[14,5]]},"52":{"position":[[1308,6]]}}}],["state",{"_index":61,"t":{"4":{"position":[[104,6]]},"6":{"position":[[322,6]]},"12":{"position":[[83,7],[652,5]]},"14":{"position":[[728,7]]},"16":{"position":[[465,5]]},"22":{"position":[[97,6],[237,6]]}}}],["state'",{"_index":163,"t":{"8":{"position":[[102,7]]}}}],["statement",{"_index":762,"t":{"52":{"position":[[45,10],[221,11],[251,10],[410,10],[557,10]]}}}],["statu",{"_index":249,"t":{"10":{"position":[[46,6]]},"56":{"position":[[217,6]]}}}],["statut",{"_index":878,"t":{"66":{"position":[[2028,7]]}}}],["step",{"_index":179,"t":{"8":{"position":[[397,4]]}}}],["still",{"_index":385,"t":{"14":{"position":[[1406,5]]},"38":{"position":[[134,5]]}}}],["stop",{"_index":606,"t":{"30":{"position":[[1727,4]]}}}],["storag",{"_index":81,"t":{"4":{"position":[[414,7]]}}}],["store",{"_index":429,"t":{"16":{"position":[[1173,6],[1252,6]]},"30":{"position":[[342,5],[380,5],[889,6],[1282,6]]},"32":{"position":[[666,5]]}}}],["strength",{"_index":315,"t":{"12":{"position":[[1220,8]]}}}],["strengthen",{"_index":284,"t":{"12":{"position":[[481,13]]}}}],["strict",{"_index":804,"t":{"58":{"position":[[66,6]]}}}],["strive",{"_index":414,"t":{"16":{"position":[[797,7]]}}}],["structur",{"_index":28,"t":{"2":{"position":[[375,10],[460,9]]}}}],["subgroup",{"_index":248,"t":{"10":{"position":[[34,8]]}}}],["subject",{"_index":769,"t":{"52":{"position":[[487,7],[572,7],[1318,7]]},"54":{"position":[[259,7]]}}}],["submit",{"_index":461,"t":{"16":{"position":[[2540,10]]},"34":{"position":[[179,6]]},"36":{"position":[[73,9]]}}}],["subsect",{"_index":894,"t":{"68":{"position":[[302,11]]}}}],["substitut",{"_index":810,"t":{"58":{"position":[[165,10]]}}}],["success",{"_index":96,"t":{"4":{"position":[[654,10]]}}}],["successfulli",{"_index":196,"t":{"8":{"position":[[660,12]]}}}],["such",{"_index":209,"t":{"8":{"position":[[876,4]]},"12":{"position":[[172,4],[997,4]]},"16":{"position":[[2073,4],[2206,4],[3877,4]]},"30":{"position":[[572,4],[760,4],[1361,4],[1469,4],[2241,4]]},"32":{"position":[[232,4],[527,4]]},"34":{"position":[[186,4]]},"36":{"position":[[421,4],[477,4]]},"38":{"position":[[764,4]]},"50":{"position":[[584,4],[1622,5]]},"52":{"position":[[432,4]]},"54":{"position":[[291,4]]},"56":{"position":[[190,4],[281,4],[347,4],[456,4],[607,4],[731,4]]},"58":{"position":[[442,4],[498,4]]},"66":{"position":[[823,4],[1136,4]]}}}],["suffer",{"_index":211,"t":{"8":{"position":[[907,6]]}}}],["suffici",{"_index":366,"t":{"14":{"position":[[883,10]]}}}],["suit",{"_index":358,"t":{"14":{"position":[[682,6]]}}}],["suitabl",{"_index":736,"t":{"50":{"position":[[463,11]]}}}],["summari",{"_index":779,"t":{"52":{"position":[[837,7]]}}}],["supersed",{"_index":886,"t":{"68":{"position":[[99,9]]}}}],["supplement",{"_index":787,"t":{"52":{"position":[[1358,12]]}}}],["support",{"_index":111,"t":{"6":{"position":[[172,7]]},"12":{"position":[[1250,10]]},"16":{"position":[[1361,7],[2752,7]]},"56":{"position":[[272,8]]}}}],["sure",{"_index":388,"t":{"14":{"position":[[1471,6]]}}}],["swiss",{"_index":828,"t":{"64":{"position":[[0,5]]},"66":{"position":[[1247,5],[1310,5],[1957,5]]}}}],["switzerland",{"_index":572,"t":{"28":{"position":[[317,11]]},"36":{"position":[[179,12],[330,11],[543,11],[645,11]]},"48":{"position":[[258,11]]},"66":{"position":[[1532,12]]}}}],["system",{"_index":140,"t":{"6":{"position":[[614,6]]},"8":{"position":[[75,7],[210,7],[599,6]]},"12":{"position":[[1164,6]]},"14":{"position":[[130,7]]},"38":{"position":[[426,8]]}}}],["system'",{"_index":400,"t":{"16":{"position":[[137,8]]}}}],["take",{"_index":253,"t":{"10":{"position":[[98,5]]},"24":{"position":[[3,4]]},"34":{"position":[[26,4]]}}}],["target",{"_index":312,"t":{"12":{"position":[[1142,8],[1186,7]]}}}],["tax",{"_index":753,"t":{"50":{"position":[[1572,4]]}}}],["team",{"_index":2,"t":{"2":{"position":[[20,4],[129,4]]},"20":{"position":[[47,4]]}}}],["tech",{"_index":78,"t":{"4":{"position":[[352,4]]},"12":{"position":[[144,4]]}}}],["technic",{"_index":589,"t":{"30":{"position":[[792,9],[1140,9],[1158,9],[1412,9]]},"52":{"position":[[303,9],[639,9]]}}}],["techniqu",{"_index":428,"t":{"16":{"position":[[1143,10]]}}}],["technolog",{"_index":87,"t":{"4":{"position":[[522,10]]},"12":{"position":[[752,11]]},"24":{"position":[[69,10]]},"52":{"position":[[156,11]]}}}],["technology'",{"_index":133,"t":{"6":{"position":[[487,12]]}}}],["ten",{"_index":410,"t":{"16":{"position":[[660,4]]}}}],["term",{"_index":212,"t":{"8":{"position":[[917,5]]},"16":{"position":[[3936,5]]},"46":{"position":[[58,5],[81,5],[293,5],[439,5],[492,5]]},"48":{"position":[[34,5]]},"54":{"position":[[328,5]]},"56":{"position":[[82,5]]},"58":{"position":[[308,5]]},"60":{"position":[[271,5]]},"62":{"position":[[50,5],[186,5]]},"64":{"position":[[32,5]]},"66":{"position":[[9,6],[167,5]]},"68":{"position":[[14,5],[331,5],[473,5],[516,5],[610,5],[732,5],[867,5]]}}}],["territori",{"_index":122,"t":{"6":{"position":[[298,11]]}}}],["test",{"_index":386,"t":{"14":{"position":[[1418,6]]}}}],["theori",{"_index":806,"t":{"58":{"position":[[112,6]]}}}],["therefor",{"_index":135,"t":{"6":{"position":[[514,9]]},"8":{"position":[[332,10]]},"40":{"position":[[143,9]]}}}],["therein",{"_index":799,"t":{"56":{"position":[[318,8],[385,7]]}}}],["thing",{"_index":771,"t":{"52":{"position":[[612,7]]}}}],["third",{"_index":468,"t":{"16":{"position":[[2762,5]]},"30":{"position":[[1491,5]]},"32":{"position":[[60,5],[237,5]]},"40":{"position":[[46,5],[74,5],[229,5]]},"56":{"position":[[50,5],[157,5],[195,5],[286,5],[352,5],[461,5],[542,5],[612,5],[736,5]]}}}],["those",{"_index":275,"t":{"12":{"position":[[334,5]]},"16":{"position":[[2214,5]]},"56":{"position":[[151,5]]}}}],["thought",{"_index":476,"t":{"16":{"position":[[3043,7]]}}}],["thousand",{"_index":317,"t":{"12":{"position":[[1273,9]]},"16":{"position":[[668,10]]}}}],["threaten",{"_index":228,"t":{"8":{"position":[[1142,8]]}}}],["three",{"_index":394,"t":{"16":{"position":[[18,5]]}}}],["through",{"_index":424,"t":{"16":{"position":[[1054,7]]},"50":{"position":[[1018,7]]},"52":{"position":[[462,7],[1174,7]]},"56":{"position":[[572,7],[633,7]]},"66":{"position":[[1204,7]]}}}],["throughput",{"_index":306,"t":{"12":{"position":[[1022,11]]},"16":{"position":[[2936,10]]}}}],["time",{"_index":581,"t":{"30":{"position":[[413,4],[907,5],[2300,4]]},"42":{"position":[[64,4]]},"52":{"position":[[1378,5]]},"62":{"position":[[70,4]]},"66":{"position":[[1359,4],[2123,4]]}}}],["timelin",{"_index":776,"t":{"52":{"position":[[755,9],[1273,8]]}}}],["today",{"_index":348,"t":{"14":{"position":[[495,5]]}}}],["today'",{"_index":190,"t":{"8":{"position":[[550,7]]}}}],["token",{"_index":760,"t":{"50":{"position":[[1750,6]]},"52":{"position":[[376,6]]}}}],["tomorrow",{"_index":123,"t":{"6":{"position":[[332,9]]}}}],["top",{"_index":618,"t":{"30":{"position":[[2249,3],[2260,3]]}}}],["trade",{"_index":297,"t":{"12":{"position":[[831,5],[938,5]]}}}],["tradit",{"_index":482,"t":{"16":{"position":[[3237,11],[3445,11]]}}}],["traffic",{"_index":617,"t":{"30":{"position":[[2224,7]]}}}],["transact",{"_index":305,"t":{"12":{"position":[[1010,11]]},"16":{"position":[[2551,12],[3128,12],[3549,12]]}}}],["transfer",{"_index":444,"t":{"16":{"position":[[1900,10]]},"38":{"position":[[494,11]]}}}],["transmiss",{"_index":665,"t":{"36":{"position":[[584,12]]}}}],["transpar",{"_index":129,"t":{"6":{"position":[[440,12]]}}}],["treat",{"_index":755,"t":{"50":{"position":[[1611,7]]}}}],["trend",{"_index":616,"t":{"30":{"position":[[2118,6]]}}}],["trial",{"_index":847,"t":{"66":{"position":[[620,5]]}}}],["tribun",{"_index":870,"t":{"66":{"position":[[1627,8]]}}}],["trust",{"_index":484,"t":{"16":{"position":[[3481,5]]}}}],["trustless",{"_index":74,"t":{"4":{"position":[[313,9]]},"12":{"position":[[35,9]]}}}],["trustless—a",{"_index":451,"t":{"16":{"position":[[2127,12]]}}}],["two",{"_index":207,"t":{"8":{"position":[[849,3]]}}}],["type",{"_index":116,"t":{"6":{"position":[[230,4]]}}}],["ultim",{"_index":93,"t":{"4":{"position":[[609,11]]}}}],["unabl",{"_index":854,"t":{"66":{"position":[[1016,6]]}}}],["uncertainti",{"_index":770,"t":{"52":{"position":[[524,12],[1051,11]]}}}],["uncompromis",{"_index":319,"t":{"12":{"position":[[1317,13]]}}}],["under",{"_index":578,"t":{"30":{"position":[[220,5]]},"44":{"position":[[138,5]]},"54":{"position":[[48,5]]},"58":{"position":[[34,5]]},"68":{"position":[[951,5]]}}}],["underexplor",{"_index":321,"t":{"14":{"position":[[45,13]]}}}],["understand",{"_index":889,"t":{"68":{"position":[[139,15]]}}}],["undu",{"_index":783,"t":{"52":{"position":[[1101,5]]}}}],["unenforc",{"_index":898,"t":{"68":{"position":[[548,14]]}}}],["uniformli",{"_index":483,"t":{"16":{"position":[[3339,9]]}}}],["union",{"_index":654,"t":{"36":{"position":[[170,5],[635,5]]}}}],["unlawfulli",{"_index":691,"t":{"38":{"position":[[1029,11]]}}}],["unless",{"_index":640,"t":{"32":{"position":[[715,6]]}}}],["unlik",{"_index":481,"t":{"16":{"position":[[3230,6]]},"36":{"position":[[90,8]]}}}],["unstopp",{"_index":105,"t":{"6":{"position":[[67,11]]}}}],["unsubscrib",{"_index":608,"t":{"30":{"position":[[1798,13]]}}}],["updat",{"_index":544,"t":{"26":{"position":[[18,8]]},"30":{"position":[[1180,8]]},"38":{"position":[[326,6]]},"46":{"position":[[18,8]]},"52":{"position":[[1212,6]]}}}],["upon",{"_index":703,"t":{"42":{"position":[[197,4]]},"50":{"position":[[1308,4]]},"62":{"position":[[229,4]]}}}],["us",{"_index":446,"t":{"16":{"position":[[1927,3],[3000,3],[3477,3]]},"30":{"position":[[529,3],[577,3],[609,3],[1891,3]]},"32":{"position":[[145,3],[465,5]]},"36":{"position":[[389,3]]},"46":{"position":[[67,3],[90,5],[160,3],[302,3],[328,3],[356,3],[448,4],[501,4],[529,3]]},"48":{"position":[[43,4]]},"50":{"position":[[58,3],[498,3],[855,3]]},"52":{"position":[[369,3]]},"54":{"position":[[254,4]]},"56":{"position":[[144,3],[409,6],[514,3]]},"58":{"position":[[317,4],[371,3]]},"60":{"position":[[162,3],[280,4]]},"62":{"position":[[59,3],[195,3]]},"64":{"position":[[41,3]]},"66":{"position":[[176,4],[230,3],[713,3]]},"68":{"position":[[23,3],[340,3],[482,4],[525,3],[619,4],[741,4],[876,4]]}}}],["user",{"_index":72,"t":{"4":{"position":[[286,6]]},"10":{"position":[[192,6]]},"12":{"position":[[451,5]]},"16":{"position":[[2504,4]]},"26":{"position":[[85,5]]},"30":{"position":[[83,5]]},"32":{"position":[[639,5]]},"54":{"position":[[153,5]]}}}],["user'",{"_index":467,"t":{"16":{"position":[[2687,6]]}}}],["usher",{"_index":335,"t":{"14":{"position":[[255,8]]}}}],["util",{"_index":735,"t":{"50":{"position":[[441,8]]}}}],["valid",{"_index":273,"t":{"12":{"position":[[308,11]]},"16":{"position":[[389,10],[646,10],[897,10],[1578,11],[3209,11]]},"38":{"position":[[752,8]]}}}],["vari",{"_index":777,"t":{"52":{"position":[[771,4]]}}}],["varieti",{"_index":648,"t":{"34":{"position":[[81,7]]}}}],["variou",{"_index":341,"t":{"14":{"position":[[355,7]]}}}],["verif",{"_index":291,"t":{"12":{"position":[[672,13]]},"16":{"position":[[961,12],[1652,12]]}}}],["verifi",{"_index":436,"t":{"16":{"position":[[1562,8],[1715,6]]}}}],["via",{"_index":165,"t":{"8":{"position":[[131,3]]},"16":{"position":[[1130,3],[3633,3]]},"24":{"position":[[137,3]]},"66":{"position":[[1566,3]]}}}],["video",{"_index":632,"t":{"32":{"position":[[410,6],[532,7],[880,6]]},"66":{"position":[[1570,5]]}}}],["violat",{"_index":730,"t":{"50":{"position":[[325,9]]},"60":{"position":[[244,9]]}}}],["virtual",{"_index":121,"t":{"6":{"position":[[290,7]]},"16":{"position":[[3057,7]]}}}],["virtual/onlin",{"_index":868,"t":{"66":{"position":[[1587,14]]}}}],["vision",{"_index":359,"t":{"14":{"position":[[697,6],[1363,6]]}}}],["visit",{"_index":553,"t":{"26":{"position":[[185,8]]}}}],["visitor",{"_index":615,"t":{"30":{"position":[[2066,7],[2183,9]]}}}],["voluntari",{"_index":174,"t":{"8":{"position":[[276,9]]}}}],["voluntarili",{"_index":137,"t":{"6":{"position":[[585,11]]}}}],["vulner",{"_index":215,"t":{"8":{"position":[[967,10]]},"14":{"position":[[341,10]]},"24":{"position":[[196,15]]}}}],["waiv",{"_index":842,"t":{"66":{"position":[[453,6],[588,5],[2192,5]]},"68":{"position":[[778,6]]}}}],["waku",{"_index":80,"t":{"4":{"position":[[400,5]]}}}],["warrant",{"_index":731,"t":{"50":{"position":[[356,7]]}}}],["warranti",{"_index":722,"t":{"50":{"position":[[128,10],[205,10],[1343,8]]},"68":{"position":[[187,11]]}}}],["way",{"_index":356,"t":{"14":{"position":[[640,5]]},"30":{"position":[[684,3]]},"58":{"position":[[275,3]]}}}],["we'd",{"_index":42,"t":{"2":{"position":[[615,4]]}}}],["web3",{"_index":17,"t":{"2":{"position":[[229,4]]}}}],["websit",{"_index":551,"t":{"26":{"position":[[137,7],[145,12],[198,8]]},"30":{"position":[[96,8],[540,8],[588,7],[857,8],[1031,7],[1121,7],[2175,7]]},"32":{"position":[[130,7],[392,7]]},"34":{"position":[[117,7]]},"40":{"position":[[8,8],[58,9],[241,9]]},"42":{"position":[[106,7],[221,8]]},"46":{"position":[[50,7],[71,9],[172,8],[238,8],[285,7],[339,7],[367,7],[431,7],[484,7],[537,8]]},"48":{"position":[[26,7]]},"50":{"position":[[4,7],[66,7],[509,8],[538,7],[575,8],[740,7],[866,7],[1031,7],[1644,7]]},"52":{"position":[[4,7],[475,7],[1149,7],[1187,8],[1223,7]]},"54":{"position":[[4,7],[381,8]]},"56":{"position":[[18,7],[62,8],[169,9],[207,9],[298,8],[364,8],[473,8],[554,8],[584,8],[624,8],[645,8],[748,9]]},"58":{"position":[[300,7],[326,8],[354,8],[382,8]]},"60":{"position":[[173,8],[201,8],[263,7]]},"62":{"position":[[42,7],[132,7],[178,7],[253,8]]},"64":{"position":[[24,7]]},"66":{"position":[[159,7],[185,8],[213,8],[241,8]]},"68":{"position":[[6,7],[87,7],[242,8],[323,7],[465,7],[508,7],[602,7],[724,7],[859,7]]}}}],["welcom",{"_index":47,"t":{"2":{"position":[[678,7]]},"22":{"position":[[0,7]]}}}],["well",{"_index":599,"t":{"30":{"position":[[1192,4]]},"66":{"position":[[1691,4]]}}}],["what’",{"_index":778,"t":{"52":{"position":[[781,6]]}}}],["whenev",{"_index":573,"t":{"28":{"position":[[329,8]]},"48":{"position":[[270,8]]}}}],["wherev",{"_index":670,"t":{"38":{"position":[[98,8]]}}}],["whether",{"_index":748,"t":{"50":{"position":[[1366,7],[1397,7]]},"64":{"position":[[82,7]]}}}],["whitepap",{"_index":452,"t":{"16":{"position":[[2174,11]]}}}],["wide",{"_index":68,"t":{"4":{"position":[[207,4]]},"14":{"position":[[1425,6]]},"16":{"position":[[3683,4]]}}}],["will",{"_index":493,"t":{"16":{"position":[[3905,7]]}}}],["wish",{"_index":605,"t":{"30":{"position":[[1719,4]]}}}],["withdraw",{"_index":443,"t":{"16":{"position":[[1807,11]]},"38":{"position":[[550,8]]}}}],["withdrawn",{"_index":684,"t":{"38":{"position":[[807,9]]}}}],["within",{"_index":15,"t":{"2":{"position":[[207,6]]},"66":{"position":[[1055,6],[2078,6]]}}}],["without",{"_index":276,"t":{"12":{"position":[[340,7]]},"30":{"position":[[1505,7]]},"42":{"position":[[73,7]]},"50":{"position":[[182,7]]},"52":{"position":[[1384,7]]},"60":{"position":[[220,7]]},"62":{"position":[[79,7]]},"64":{"position":[[115,7]]}}}],["work",{"_index":23,"t":{"2":{"position":[[318,7],[415,4],[502,4],[750,4]]},"10":{"position":[[0,4]]},"20":{"position":[[287,7]]}}}],["world",{"_index":147,"t":{"6":{"position":[[727,5]]},"14":{"position":[[1440,5]]}}}],["worldwid",{"_index":503,"t":{"18":{"position":[[40,11],[91,11]]}}}],["written",{"_index":851,"t":{"66":{"position":[[862,7]]},"68":{"position":[[204,7]]}}}],["x",{"_index":528,"t":{"22":{"position":[[257,1]]}}}],["year",{"_index":880,"t":{"66":{"position":[[2089,4]]}}}],["youtub",{"_index":630,"t":{"32":{"position":[[379,8],[422,8],[540,7],[649,7],[814,7]]}}}],["youtube’",{"_index":635,"t":{"32":{"position":[[471,9],[860,9]]}}}],["zero",{"_index":504,"t":{"18":{"position":[[52,4]]}}}],["zk",{"_index":437,"t":{"16":{"position":[[1668,2],[1722,2]]}}}],["zone",{"_index":236,"t":{"8":{"position":[[1259,5]]},"12":{"position":[[923,5]]},"16":{"position":[[81,6],[1407,6],[1864,6],[1887,4],[1972,6],[2020,5],[2262,6],[2345,5],[2532,4],[2661,4],[2713,5],[2787,6],[2804,5],[3021,5],[3170,4],[3420,5],[3658,5],[4155,4]]}}}],["zone'",{"_index":457,"t":{"16":{"position":[[2377,6],[3202,6]]}}}],["zug",{"_index":562,"t":{"28":{"position":[[200,3],[313,3]]},"48":{"position":[[140,3],[254,3]]},"66":{"position":[[1527,4]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file diff --git a/security/index.html b/security/index.html new file mode 100644 index 0000000..d6d205b --- /dev/null +++ b/security/index.html @@ -0,0 +1,21 @@ + + + + + +Security | Nomos + + + + + +
+
+ + + + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index cd4deb2..afe7deb 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://nomos.tech/about/weekly0.5https://nomos.tech/about/architectweekly0.5https://nomos.tech/about/roadmapweekly0.5https://nomos.tech/about/teamweekly0.5https://nomos.tech/weekly0.5https://nomos.tech/communityweekly0.5https://nomos.tech/join-usweekly0.5https://nomos.tech/privacy-policyweekly0.5https://nomos.tech/termsweekly0.5 \ No newline at end of file +https://nomos.tech/about/weekly0.5https://nomos.tech/about/architectweekly0.5https://nomos.tech/about/roadmapweekly0.5https://nomos.tech/about/teamweekly0.5https://nomos.tech/weekly0.5https://nomos.tech/communityweekly0.5https://nomos.tech/join-usweekly0.5https://nomos.tech/privacy-policyweekly0.5https://nomos.tech/securityweekly0.5https://nomos.tech/termsweekly0.5 \ No newline at end of file diff --git a/terms/index.html b/terms/index.html index 9831e54..87c90ba 100644 --- a/terms/index.html +++ b/terms/index.html @@ -1,21 +1,21 @@ - + -Terms of Use | Nomos - - - - +Terms of Use | Nomos + + + +

Terms of Use

Last updated: 14 February 2024

These website terms of use ('Website Terms of Use') are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website.

It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use.

If you do not agree with these Website Terms of Use, you must not access or use the Website.

1) Who we are

For the purposes of these Website Terms of Use, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at:

Logos Collective Association
c/o PST Consulting GmbH
Baarerstrasse 10
6300 Zug
Switzerland

Whenever we refer to “Logos”, “we”, “us” or any other similar references, we are referring to the Logos Collective Association.

2) Disclaimers

The Website is provided by us on an ‘as is’ basis and you use the Website at your own sole discretion and risk.

We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site.These disclaimers will apply to the maximum extent permitted by applicable law.

We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws.

The content herein or as accessible through this website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein.

The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such.

Nothing in this Website should be construed by you as an offer to buy or sell, or soliciting any offer to buy or sell any tokens or any security.

3) Forward looking statements

The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general.

The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what’s presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website.

While we aim to update our website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion.

4) Intellectual property rights

The Website and its contents are made available under Creative Commons Attribution 4.0 International license (CC-BY 4.0). In essence this licence allows users to copy, modify and distribute the content in any format for any purpose, including commercial use, subject to certain requirements such as attributing us. For the full terms of this licence, please refer to the following website: https://creativecommons.org/licenses/by/4.0/.

To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, Status does not represent or imply that it endorses or supports such third party websites or content therein, or that it believes such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites.

6) Limitation of liability

We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law.

7) Indemnity

You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys’ fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use.

8) Modifications

We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website.

9) Governing law

Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions.

10) Disputes

In these terms, “dispute” has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website.

We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions.

If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking.

If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers’ Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration.

Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us.

11) About these Website Terms of Use

These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website.

The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use.

If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them.

If you have any specific questions about these Website Terms of Use, please contact us at legal@free.technology.

This document is licensed under CC-BY-SA.

- - + ) .lsd-dropdown__trigger:focus .lsd-dropdown__option-label{-webkit-text-decoration:underline;text-decoration:underline;}.lsd-dropdown__label{display:block;}.lsd-dropdown__button-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.lsd-dropdown__trigger{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;border:none;cursor:pointer;background:none;}.lsd-dropdown__trigger:focus{outline:none;}.lsd-dropdown__option-label{cursor:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.lsd-dropdown__icons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;gap:8px;}.lsd-dropdown__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.lsd-dropdown__supporting-text{margin:6px 14px;}.lsd-dropdown--error .lsd-dropdown__option-label{-webkit-text-decoration:line-through;text-decoration:line-through;}.lsd-dropdown--disabled{opacity:0.34;cursor:initial;}.lsd-dropdown--large{width:208px;}.lsd-dropdown--large.lsd-dropdown--error{width:230px;}.lsd-dropdown--large .lsd-dropdown__label{margin:0 0 6px 18px;}.lsd-dropdown--large .lsd-dropdown__button-container{height:40px;}.lsd-dropdown--large .lsd-dropdown__trigger{padding:10px 0px 10px 18px;}.lsd-dropdown--large .lsd-dropdown__icons{padding:0px 14px;}.lsd-dropdown--medium{width:188px;}.lsd-dropdown--medium.lsd-dropdown--error{width:210px;}.lsd-dropdown--medium .lsd-dropdown__label{margin:0 0 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__button-container{height:32px;}.lsd-dropdown--medium .lsd-dropdown__trigger{padding:6px 0px 6px 14px;}.lsd-dropdown--medium .lsd-dropdown__icons{padding:0px 12px;}.lsd-dropdown--small{width:164px;}.lsd-dropdown--small.lsd-dropdown--error{width:186px;}.lsd-dropdown--small .lsd-dropdown__label{margin:0 0 6px 12px;}.lsd-dropdown--small .lsd-dropdown__button-container{height:28px;}.lsd-dropdown--small .lsd-dropdown__trigger{padding:6px 0px 6px 12px;}.lsd-dropdown--small .lsd-dropdown__icons{padding:0px 10px;}.lsd-dropdown--outlined .lsd-dropdown__button-container{border:1px solid rgb(var(--lsd-border-primary));}.lsd-dropdown--underlined .lsd-dropdown__button-container{border:1px solid transparent;border-bottom:1px solid rgb(var(--lsd-border-primary));}

Terms of Use

Last updated: 14 February 2024

These website terms of use ('Website Terms of Use') are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website.

It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use.

If you do not agree with these Website Terms of Use, you must not access or use the Website.

1) Who we are

For the purposes of these Website Terms of Use, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at:

Logos Collective Association
c/o PST Consulting GmbH
Baarerstrasse 10
6300 Zug
Switzerland

Whenever we refer to “Logos”, “we”, “us” or any other similar references, we are referring to the Logos Collective Association.

2) Disclaimers

The Website is provided by us on an ‘as is’ basis and you use the Website at your own sole discretion and risk.

We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site.These disclaimers will apply to the maximum extent permitted by applicable law.

We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws.

The content herein or as accessible through this website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein.

The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such.

Nothing in this Website should be construed by you as an offer to buy or sell, or soliciting any offer to buy or sell any tokens or any security.

3) Forward looking statements

The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general.

The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what’s presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website.

While we aim to update our website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion.

4) Intellectual property rights

The Website and its contents are made available under Creative Commons Attribution 4.0 International license (CC-BY 4.0). In essence this licence allows users to copy, modify and distribute the content in any format for any purpose, including commercial use, subject to certain requirements such as attributing us. For the full terms of this licence, please refer to the following website: https://creativecommons.org/licenses/by/4.0/.

To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, Status does not represent or imply that it endorses or supports such third party websites or content therein, or that it believes such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites.

6) Limitation of liability

We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law.

7) Indemnity

You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys’ fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use.

8) Modifications

We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website.

9) Governing law

Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions.

10) Disputes

In these terms, “dispute” has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website.

We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions.

If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking.

If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers’ Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration.

Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us.

11) About these Website Terms of Use

These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website.

The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use.

If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them.

If you have any specific questions about these Website Terms of Use, please contact us at legal@free.technology.

This document is licensed under CC-BY-SA.

+ + \ No newline at end of file