pax_global_header00006660000000000000000000000064145711310230014507gustar00rootroot0000000000000052 comment=7778357cf9a684b06aaada11788ac1cd796dc5b8 aHash-0.8.11/000077500000000000000000000000001457113102300126225ustar00rootroot00000000000000aHash-0.8.11/.github/000077500000000000000000000000001457113102300141625ustar00rootroot00000000000000aHash-0.8.11/.github/workflows/000077500000000000000000000000001457113102300162175ustar00rootroot00000000000000aHash-0.8.11/.github/workflows/rust.yml000066400000000000000000000123001457113102300177330ustar00rootroot00000000000000name: Rust on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install latest stable uses: dtolnay/rust-toolchain@master with: toolchain: stable components: clippy - name: check nostd run: cargo check --no-default-features - name: test nostd run: cargo test --no-default-features - name: check constrandom run: cargo check --no-default-features --features compile-time-rng - name: test constrandom run: cargo test --no-default-features --features compile-time-rng - name: check fixed-seed run: cargo check --no-default-features --features std - name: check run: cargo check - name: test run: cargo test nightly: name: nightly runs-on: ubuntu-latest env: RUSTFLAGS: -C target-cpu=native steps: - uses: actions/checkout@v4 - name: Install latest nightly uses: dtolnay/rust-toolchain@master with: toolchain: nightly components: clippy - name: check nightly run: cargo check -Z msrv-policy - name: test nightly run: cargo test - name: check serde run: cargo check --features serde - name: test serde run: cargo test --features serde linux_arm7: name: Linux ARMv7 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: armv7-unknown-linux-gnueabihf - run: cargo check --target armv7-unknown-linux-gnueabihf - name: Install 1.72.0 uses: dtolnay/rust-toolchain@master with: toolchain: 1.72.0 targets: armv7-unknown-linux-gnueabihf - run: cargo +1.72.0 check --target armv7-unknown-linux-gnueabihf aarch64-apple-darwin: name: Aarch64 Apple Darwin runs-on: macos-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: aarch64-apple-darwin - run: cargo check --target aarch64-apple-darwin - run: cargo test - run: cargo test --no-default-features --features compile-time-rng - name: Install 1.72.0 uses: dtolnay/rust-toolchain@master with: toolchain: 1.72.0 targets: aarch64-apple-darwin - run: cargo +1.72.0 check --target aarch64-apple-darwin i686-unknown-linux-gnu: name: Linux i686 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: i686-unknown-linux-gnu - name: Install cross compile tools run: sudo apt-get install -y gcc-multilib libc6-i386 libc6-dev-i386 - run: cargo check --target i686-unknown-linux-gnu - run: cargo test --target i686-unknown-linux-gnu - name: check constrandom run: cargo check --no-default-features --features compile-time-rng --target i686-unknown-linux-gnu - name: Install 1.72.0 uses: dtolnay/rust-toolchain@master with: toolchain: 1.72.0 targets: i686-unknown-linux-gnu - run: cargo +1.72.0 check --target i686-unknown-linux-gnu - name: check constrandom run: cargo +1.72.0 check --no-default-features --features compile-time-rng --target i686-unknown-linux-gnu x86_64-unknown-linux-gnu: name: Linux x86_64 runs-on: ubuntu-latest env: RUSTFLAGS: -C target-cpu=skylake -C target-feature=+aes steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: nightly targets: x86_64-unknown-linux-gnu - run: cargo check --target x86_64-unknown-linux-gnu - run: cargo test --target x86_64-unknown-linux-gnu - name: check constrandom run: cargo check --no-default-features --features compile-time-rng --target x86_64-unknown-linux-gnu - name: Install 1.72.0 uses: dtolnay/rust-toolchain@master with: toolchain: 1.72.0 - run: cargo +1.72.0 check --target x86_64-unknown-linux-gnu - name: check constrandom run: cargo +1.72.0 check --no-default-features --features compile-time-rng --target x86_64-unknown-linux-gnu thumbv6m: name: thumbv6m runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: thumbv6m-none-eabi - run: cargo check --target thumbv6m-none-eabi --no-default-features wasm32-unknown-unknown: name: wasm runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: wasm32-unknown-unknown - run: cargo check --target wasm32-unknown-unknown --no-default-features no_std: name: no-std build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: nightly - run: cargo build --manifest-path=no_std_test/Cargo.tomlaHash-0.8.11/.gitignore000066400000000000000000000000311457113102300146040ustar00rootroot00000000000000.idea/ Cargo.lock target aHash-0.8.11/Cargo.toml000066400000000000000000000055541457113102300145630ustar00rootroot00000000000000[package] name = "ahash" version = "0.8.10" authors = ["Tom Kaitchuck "] license = "MIT OR Apache-2.0" description = "A non-cryptographic hash function using AES-NI for high performance" documentation = "https://docs.rs/ahash" repository = "https://github.com/tkaitchuck/ahash" keywords = ["hash", "hasher", "hashmap", "aes", "no-std"] categories = ["algorithms", "data-structures", "no-std"] edition = "2018" readme = "README.md" build = "./build.rs" exclude = ["/smhasher", "/benchmark_tools"] rust-version = "1.60.0" [lib] name = "ahash" path = "src/lib.rs" test = true doctest = true bench = true doc = true [features] default = ["std", "runtime-rng"] # Enabling this will enable `AHashMap` and `AHashSet`. std = [] # Runtime random key generation using getrandom. runtime-rng = ["getrandom"] # This is an alternative to runtime key generation which does compile time key generation if runtime-rng is not available. # (If runtime-rng is enabled this does nothing.) # If this is on (and runtime-rng is off) it implies the produced binary will not be identical. # If this is disabled and runtime-rng is unavailable constant keys are used. compile-time-rng = ["const-random"] # Do not use any random number generator (either at compile time or runtime) # If either runtime-rng or compile-time-rng are enabled this does nothing. no-rng = [] # in case this is being used on an architecture lacking core::sync::atomic::AtomicUsize and friends atomic-polyfill = [ "dep:atomic-polyfill", "once_cell/atomic-polyfill"] # Nightly-only support for AES intrinsics on 32-bit ARM nightly-arm-aes = [] [[bench]] name = "ahash" path = "tests/bench.rs" harness = false [[bench]] name = "map" path = "tests/map_tests.rs" harness = false [profile.test] opt-level = 2 lto = 'fat' [profile.release] opt-level = 3 debug = false lto = 'fat' debug-assertions = false codegen-units = 1 [profile.bench] opt-level = 3 debug = false lto = 'fat' debug-assertions = false codegen-units = 1 [build-dependencies] version_check = "0.9.4" [dependencies] const-random = { version = "0.1.17", optional = true } serde = { version = "1.0.117", optional = true } cfg-if = "1.0" atomic-polyfill = { version="1.0.1", optional=true} getrandom = { version = "0.2.7", optional = true } zerocopy = { version = "0.7.31", default-features = false, features = ["simd"] } [target.'cfg(not(all(target_arch = "arm", target_os = "none")))'.dependencies] once_cell = { version = "1.18.0", default-features = false, features = ["alloc"] } [dev-dependencies] no-panic = "0.1.10" criterion = {version = "0.3.2", features = ["html_reports"] } seahash = "4.0" fnv = "1.0.5" fxhash = "0.2.1" hex = "0.4.2" rand = "0.8.5" pcg-mwc = "0.2.1" serde_json = "1.0.59" hashbrown = "0.14.3" smallvec = "1.13.1" [package.metadata.docs.rs] rustc-args = ["-C", "target-feature=+aes"] rustdoc-args = ["-C", "target-feature=+aes"] features = ["std"] aHash-0.8.11/FAQ.md000066400000000000000000000220241457113102300135530ustar00rootroot00000000000000## How does aHash prevent DOS attacks AHash is designed to [prevent an adversary that does not know the key from being able to create hash collisions or partial collisions.](https://github.com/tkaitchuck/aHash/wiki/How-aHash-is-resists-DOS-attacks) If you are a cryptographer and would like to help review aHash's algorithm, please post a comment [here](https://github.com/tkaitchuck/aHash/issues/11). In short, this is achieved by ensuring that: * aHash is designed to [resist differential crypto analysis](https://github.com/tkaitchuck/aHash/wiki/How-aHash-is-resists-DOS-attacks#differential-analysis). Meaning it should not be possible to devise a scheme to "cancel" out a modification of the internal state from a block of input via some corresponding change in a subsequent block of input. * This is achieved by not performing any "premixing" - This reversible mixing gave previous hashes such as murmurhash confidence in their quality, but could be undone by a deliberate attack. * Before it is used each chunk of input is "masked" such as by xoring it with an unpredictable value. * aHash obeys the '[strict avalanche criterion](https://en.wikipedia.org/wiki/Avalanche_effect#Strict_avalanche_criterion)': Each bit of input has the potential to flip every bit of the output. * Similarly, each bit in the key can affect every bit in the output. * Input bits never effect just one, or a very few, bits in intermediate state. This is specifically designed to prevent the sort of [differential attacks launched by the sipHash authors](https://emboss.github.io/blog/2012/12/14/breaking-murmur-hash-flooding-dos-reloaded/) which cancel previous inputs. * The `finish` call at the end of the hash is designed to not expose individual bits of the internal state. * For example in the main algorithm 256bits of state and 256bits of keys are reduced to 64 total bits using 3 rounds of AES encryption. Reversing this is more than non-trivial. Most of the information is by definition gone, and any given bit of the internal state is fully diffused across the output. * In both aHash and its fallback the internal state is divided into two halves which are updated by two unrelated techniques using the same input. - This means that if there is a way to attack one of them it likely won't be able to attack both of them at the same time. * It is deliberately difficult to 'chain' collisions. (This has been the major technique used to weaponize attacks on other hash functions) More details are available on [the wiki](https://github.com/tkaitchuck/aHash/wiki/How-aHash-is-resists-DOS-attacks). ## Why not use a cryptographic hash in a hashmap. Cryptographic hashes are designed to make is nearly impossible to find two items that collide when the attacker has full control over the input. This has several implications: * They are very difficult to construct, and have to go to a lot of effort to ensure that collisions are not possible. * They have no notion of a 'key'. Rather, they are fully deterministic and provide exactly one hash for a given input. For a HashMap the requirements are different. * Speed is very important, especially for short inputs. Often the key for a HashMap is a single `u32` or similar, and to be effective the bucket that it should be hashed to needs to be computed in just a few CPU cycles. * A hashmap does not need to provide a hard and fast guarantee that no two inputs will ever collide. Hence, hashCodes are not 256bits but are just 64 or 32 bits in length. Often the first thing done with the hashcode is to truncate it further to compute which among a few buckets should be used for a key. * Here collisions are expected, and a cheap to deal with provided there is no systematic way to generated huge numbers of values that all go to the same bucket. * This also means that unlike a cryptographic hash partial collisions matter. It doesn't do a hashmap any good to produce a unique 256bit hash if the lower 12 bits are all the same. This means that even a provably irreversible hash would not offer protection from a DOS attack in a hashmap because an attacker can easily just brute force the bottom N bits. From a cryptography point of view, a hashmap needs something closer to a block cypher. Where the input can be quickly mixed in a way that cannot be reversed without knowing a key. ## Why isn't aHash cryptographically secure It is not designed to be. Attempting to use aHash as a secure hash will likely fail to hold up for several reasons: 1. aHash relies on random keys which are assumed to not be observable by an attacker. For a cryptographic hash all inputs can be seen and controlled by the attacker. 2. aHash has not yet gone through peer review, which is a pre-requisite for security critical algorithms. 3. Because aHash uses reduced rounds of AES as opposed to the standard of 10. Things like the SQUARE attack apply to part of the internal state. (These are mitigated by other means to prevent producing collections, but would be a problem in other contexts). 4. Like any cypher based hash, it will show certain statistical deviations from truly random output when comparing a (VERY) large number of hashes. (By definition cyphers have fewer collisions than truly random data.) There are efforts to build a secure hash function that uses AES-NI for acceleration, but aHash is not one of them. ## How is aHash so fast AHash uses a number of tricks. One trick is taking advantage of specialization. If aHash is compiled on nightly it will take advantage of specialized hash implementations for strings, slices, and primitives. Another is taking advantage of hardware instructions. When it is available aHash uses AES rounds using the AES-NI instruction. AES-NI is very fast (on an intel i7-6700 it is as fast as a 64 bit multiplication.) and handles 16 bytes of input at a time, while being a very strong permutation. This is obviously much faster than most standard approaches to hashing, and does a better job of scrambling data than most non-secure hashes. On an intel i7-6700 compiled on nightly Rust with flags `-C opt-level=3 -C target-cpu=native -C codegen-units=1`: | Input | SipHash 1-3 time | FnvHash time|FxHash time| aHash time| aHash Fallback* | |----------------|-----------|-----------|-----------|-----------|---------------| | u8 | 9.3271 ns | 0.808 ns | **0.594 ns** | 0.7704 ns | 0.7664 ns | | u16 | 9.5139 ns | 0.803 ns | **0.594 ns** | 0.7653 ns | 0.7704 ns | | u32 | 9.1196 ns | 1.4424 ns | **0.594 ns** | 0.7637 ns | 0.7712 ns | | u64 | 10.854 ns | 3.0484 ns | **0.628 ns** | 0.7788 ns | 0.7888 ns | | u128 | 12.465 ns | 7.0728 ns | 0.799 ns | **0.6174 ns** | 0.6250 ns | | 1 byte string | 11.745 ns | 2.4743 ns | 2.4000 ns | **1.4921 ns** | 1.5861 ns | | 3 byte string | 12.066 ns | 3.5221 ns | 2.9253 ns | **1.4745 ns** | 1.8518 ns | | 4 byte string | 11.634 ns | 4.0770 ns | 1.8818 ns | **1.5206 ns** | 1.8924 ns | | 7 byte string | 14.762 ns | 5.9780 ns | 3.2282 ns | **1.5207 ns** | 1.8933 ns | | 8 byte string | 13.442 ns | 4.0535 ns | 2.9422 ns | **1.6262 ns** | 1.8929 ns | | 15 byte string | 16.880 ns | 8.3434 ns | 4.6070 ns | **1.6265 ns** | 1.7965 ns | | 16 byte string | 15.155 ns | 7.5796 ns | 3.2619 ns | **1.6262 ns** | 1.8011 ns | | 24 byte string | 16.521 ns | 12.492 ns | 3.5424 ns | **1.6266 ns** | 2.8311 ns | | 68 byte string | 24.598 ns | 50.715 ns | 5.8312 ns | **4.8282 ns** | 5.4824 ns | | 132 byte string| 39.224 ns | 119.96 ns | 11.777 ns | **6.5087 ns** | 9.1459 ns | |1024 byte string| 254.00 ns | 1087.3 ns | 156.41 ns | **25.402 ns** | 54.566 ns | * Fallback refers to the algorithm aHash would use if AES instructions are unavailable. For reference a hash that does nothing (not even reads the input data takes) **0.520 ns**. So that represents the fastest possible time. As you can see above aHash like `FxHash` provides a large speedup over `SipHash-1-3` which is already nearly twice as fast as `SipHash-2-4`. Rust's HashMap by default uses `SipHash-1-3` because faster hash functions such as `FxHash` are predictable and vulnerable to denial of service attacks. While `aHash` has both very strong scrambling and very high performance. AHash performs well when dealing with large inputs because aHash reads 8 or 16 bytes at a time. (depending on availability of AES-NI) Because of this, and its optimized logic, `aHash` is able to outperform `FxHash` with strings. It also provides especially good performance dealing with unaligned input. (Notice the big performance gaps between 3 vs 4, 7 vs 8 and 15 vs 16 in `FxHash` above) ### Which CPUs can use the hardware acceleration Hardware AES instructions are built into Intel processors built after 2010 and AMD processors after 2012. It is also available on [many other CPUs](https://en.wikipedia.org/wiki/AES_instruction_set) should in eventually be able to get aHash to work. However, only X86 and X86-64 are the only supported architectures at the moment, as currently they are the only architectures for which Rust provides an intrinsic. aHash also uses `sse2` and `sse3` instructions. X86 processors that have `aesni` also have these instruction sets. aHash-0.8.11/LICENSE-APACHE000066400000000000000000000251371457113102300145560ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. aHash-0.8.11/LICENSE-MIT000066400000000000000000000020411457113102300142530ustar00rootroot00000000000000Copyright (c) 2018 Tom Kaitchuck Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. aHash-0.8.11/README.md000066400000000000000000000132461457113102300141070ustar00rootroot00000000000000# aHash ![Build Status](https://img.shields.io/github/actions/workflow/status/tkaitchuck/aHash/rust.yml?branch=master) ![Licence](https://img.shields.io/crates/l/ahash) ![Downloads](https://img.shields.io/crates/d/ahash) AHash is the [fastest](https://github.com/tkaitchuck/aHash/blob/master/compare/readme.md#Speed), [DOS resistant hash](https://github.com/tkaitchuck/aHash/wiki/How-aHash-is-resists-DOS-attacks) currently available in Rust. AHash is intended *exclusively* for use in in-memory hashmaps. AHash's output is of [high quality](https://github.com/tkaitchuck/aHash/blob/master/compare/readme.md#Quality) but aHash is **not** a cryptographically secure hash. ## Design Because AHash is a keyed hash, each map will produce completely different hashes, which cannot be predicted without knowing the keys. [This prevents DOS attacks where an attacker sends a large number of items whose hashes collide that get used as keys in a hashmap.](https://github.com/tkaitchuck/aHash/wiki/How-aHash-is-resists-DOS-attacks) This also avoids [accidentally quadratic behavior by reading from one map and writing to another.](https://accidentallyquadratic.tumblr.com/post/153545455987/rust-hash-iteration-reinsertion) ## Goals and Non-Goals AHash does *not* have a fixed standard for its output. This allows it to improve over time. For example, if any faster algorithm is found, aHash will be updated to incorporate the technique. Similarly, should any flaw in aHash's DOS resistance be found, aHash will be changed to correct the flaw. Because it does not have a fixed standard, different computers or computers on different versions of the code will observe different hash values. As such, aHash is not recommended for use other than in-memory maps. Specifically, aHash is not intended for network use or in applications which persist hashed values. (In these cases `HighwayHash` would be a better choice) Additionally, aHash is not intended to be cryptographically secure and should not be used as a MAC, or anywhere which requires a cryptographically secure hash. (In these cases `SHA-3` would be a better choice) ## Usage AHash is a drop in replacement for the default implementation of the `Hasher` trait. To construct a `HashMap` using aHash as its hasher do the following: ```rust use ahash::{AHasher, RandomState}; use std::collections::HashMap; let mut map: HashMap = HashMap::default(); map.insert(12, 34); ``` For convenience, wrappers called `AHashMap` and `AHashSet` are also provided. These do the same thing with slightly less typing. ```rust use ahash::AHashMap; let mut map: AHashMap = AHashMap::new(); map.insert(12, 34); map.insert(56, 78); ``` ## Flags The aHash package has the following flags: * `std`: This enables features which require the standard library. (On by default) This includes providing the utility classes `AHashMap` and `AHashSet`. * `serde`: Enables `serde` support for the utility classes `AHashMap` and `AHashSet`. * `runtime-rng`: To obtain a seed for Hashers will obtain randomness from the operating system. (On by default) This is done using the [getrandom](https://github.com/rust-random/getrandom) crate. * `compile-time-rng`: For OS targets without access to a random number generator, `compile-time-rng` provides an alternative. If `getrandom` is unavailable and `compile-time-rng` is enabled, aHash will generate random numbers at compile time and embed them in the binary. * `nightly-arm-aes`: To use AES instructions on 32-bit ARM, which requires nightly. This is not needed on AArch64. This allows for DOS resistance even if there is no random number generator available at runtime (assuming the compiled binary is not public). This makes the binary non-deterministic. (If non-determinism is a problem see [constrandom's documentation](https://github.com/tkaitchuck/constrandom#deterministic-builds)) If both `runtime-rng` and `compile-time-rng` are enabled the `runtime-rng` will take precedence and `compile-time-rng` will do nothing. If neither flag is set, seeds can be supplied by the application. [Multiple apis](https://docs.rs/ahash/latest/ahash/random_state/struct.RandomState.html) are available to do this. ## Comparison with other hashers A full comparison with other hashing algorithms can be found [here](https://github.com/tkaitchuck/aHash/blob/master/compare/readme.md) ![Hasher performance](https://docs.google.com/spreadsheets/d/e/2PACX-1vSK7Li2nS-Bur9arAYF9IfT37MP-ohAe1v19lZu5fd9MajI1fSveLAQZyEie4Ea9k5-SWHTff7nL2DW/pubchart?oid=1323618938&format=image) For a more representative performance comparison which includes the overhead of using a HashMap, see [HashBrown's benchmarks](https://github.com/rust-lang/hashbrown#performance) as HashBrown now uses aHash as its hasher by default. ## Hash quality AHash passes the full [SMHasher test suite](https://github.com/rurban/smhasher). The code to reproduce the result, and the full output [are checked into the repo](https://github.com/tkaitchuck/aHash/tree/master/smhasher). ## Additional FAQ A separate FAQ document is maintained [here](https://github.com/tkaitchuck/aHash/blob/master/FAQ.md). If you have questions not covered there, open an issue [here](https://github.com/tkaitchuck/aHash/issues). ## License Licensed under either of: * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option. ## Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. aHash-0.8.11/benchmark_tools/000077500000000000000000000000001457113102300157745ustar00rootroot00000000000000aHash-0.8.11/benchmark_tools/Cargo.toml000066400000000000000000000004601457113102300177240ustar00rootroot00000000000000[package] name = "aHash" version = "0.1.0" edition = "2018" publish = false description = "A tool for benchmarking hashing algorithms" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] once_cell = "1.8.0" byteorder = "1.4.3" ahash = "0.7.4"aHash-0.8.11/benchmark_tools/benchmark_tools.iml000066400000000000000000000007401457113102300216520ustar00rootroot00000000000000 aHash-0.8.11/benchmark_tools/src/000077500000000000000000000000001457113102300165635ustar00rootroot00000000000000aHash-0.8.11/benchmark_tools/src/data_reader.rs000066400000000000000000000032731457113102300213710ustar00rootroot00000000000000use std::fs::File; use std::hash::{BuildHasher, Hasher}; use std::io::{BufReader, BufRead, Error, Read}; use byteorder::{ReadBytesExt, LittleEndian}; pub fn test_hasher(input_file: File, builder: B) -> Result { let mut result: u64 = 0; let mut input = BufReader::new(input_file); let mut hasher = builder.build_hasher(); while input.has_data_left()? { let code = input.read_u8()?; match code { b'1' => { let i = input.read_u8()?; hasher.write_u8(i); } b'2' => { let i = input.read_u16::()?; hasher.write_u16(i); } b'4' => { let i = input.read_u32::()?; hasher.write_u32(i); } b'8' => { let i = input.read_u64::()?; hasher.write_u64(i); } b'B' => { let i = input.read_u128::()?; hasher.write_u128(i); } b'u' => { let i = input.read_u64::()?; hasher.write_usize(i as usize); } b's' => { let len = input.read_u32::()?; let mut slice = vec![0; len as usize]; input.read_exact(&mut slice[..])?; hasher.write(&slice[..]); } b'f' => { result = result.wrapping_add(hasher.finish()); hasher = builder.build_hasher(); } code => panic!("Unexpected code: {}", code) } } Ok(result) }aHash-0.8.11/benchmark_tools/src/main.rs000066400000000000000000000021161457113102300200550ustar00rootroot00000000000000#![feature(buf_read_has_data_left)] mod persisting_hasher; mod data_reader; use persisting_hasher::*; use data_reader::*; use std::collections::HashMap; use std::fs::File; use std::time::SystemTime; use std::alloc::System; fn capture_output_example() { let builder = PersistingHasherBuilder::default(); let mut map = HashMap::with_capacity_and_hasher(10, builder); map.insert(1, 2); map.insert(3, 4); let builder = PersistingHasherBuilder::default(); let mut map = HashMap::with_capacity_and_hasher(10, builder); map.insert("1", 2); map.insert("3", 4); PersistingHasherBuilder::default().flush(); } fn main() { // capture_output_example(); //Given a previously captured set of hashed data, time how long it takes using a different algorithm. let file = File::open("hash_output-295253").unwrap(); let rand = ahash::RandomState::new(); let start_time = SystemTime::now(); let result = test_hasher(file, rand).unwrap(); println!("Completed after {:?} with result: {:x}", SystemTime::now().duration_since(start_time).unwrap(), result) } aHash-0.8.11/benchmark_tools/src/persisting_hasher.rs000066400000000000000000000076731457113102300226670ustar00rootroot00000000000000use std::convert::TryInto; use std::fs::File; use std::hash::{Hasher, BuildHasher}; use std::io::{BufWriter, Write}; use std::sync::{Arc, Mutex}; use std::sync::atomic::{AtomicU64, Ordering}; use once_cell::sync::OnceCell; use std::process::id; static GLOBAL_COUNT: AtomicU64 = AtomicU64::new(0); static GLOBAL_OUT: OnceCell>>> = OnceCell::new(); pub struct PersistingHasherBuilder { id: u64, out: Arc>>, } impl PersistingHasherBuilder { pub fn flush(&self) { let mut guard = self.out.lock().unwrap(); guard.flush().unwrap(); } } impl Default for PersistingHasherBuilder { fn default() -> Self { PersistingHasherBuilder { id: GLOBAL_COUNT.fetch_add(1, Ordering::SeqCst), out: GLOBAL_OUT.get_or_init(|| Arc::new(Mutex::new(BufWriter::new(File::create( format!("hash_output-{}", id())).unwrap())))).clone(), } } } impl BuildHasher for PersistingHasherBuilder { type Hasher = PersistingHasher; fn build_hasher(&self) -> Self::Hasher { PersistingHasher { hash: self.id, out: self.out.clone(), } } } pub struct PersistingHasher { /// Used to compute a hash hash: u64, /// File to write data out to out: Arc>>, } impl PersistingHasher { fn add_to_hash(&mut self, i: u64) { self.hash = self .hash .rotate_right(31) .wrapping_add(i) .wrapping_mul(0xcfee444d8b59a89b); } } impl Hasher for PersistingHasher { fn finish(&self) -> u64 { let mut guard = self.out.lock().unwrap(); write!(guard, "f").unwrap(); self.hash } fn write(&mut self, mut bytes: &[u8]) { let read_u64 = |bytes: &[u8]| u64::from_ne_bytes(bytes[..8].try_into().unwrap()); while bytes.len() >= 8 { self.add_to_hash(read_u64(bytes)); bytes = &bytes[8..]; } if bytes.len() >= 4 { self.add_to_hash(u32::from_ne_bytes(bytes[..4].try_into().unwrap()) as u64); bytes = &bytes[4..]; } if bytes.len() >= 2 { self.add_to_hash(u16::from_ne_bytes(bytes[..2].try_into().unwrap()) as u64); bytes = &bytes[2..]; } if bytes.len() >= 1 { self.add_to_hash(bytes[0] as u64); } let mut guard = self.out.lock().unwrap(); write!(guard, "s").unwrap(); guard.write_all(&(bytes.len() as u32).to_le_bytes()).unwrap(); guard.write_all(bytes).unwrap(); } fn write_u8(&mut self, i: u8) { self.add_to_hash(i as u64); let mut guard = self.out.lock().unwrap(); write!(guard, "1").unwrap(); guard.write_all(&i.to_le_bytes()).unwrap(); } fn write_u16(&mut self, i: u16) { self.add_to_hash(i as u64); let mut guard = self.out.lock().unwrap(); write!(guard, "2").unwrap(); guard.write_all(&i.to_le_bytes()).unwrap(); } fn write_u32(&mut self, i: u32) { self.add_to_hash(i as u64); let mut guard = self.out.lock().unwrap(); write!(guard, "4").unwrap(); guard.write_all(&i.to_le_bytes()).unwrap(); } fn write_u64(&mut self, i: u64) { self.add_to_hash(i as u64); let mut guard = self.out.lock().unwrap(); write!(guard, "8").unwrap(); guard.write_all(&i.to_le_bytes()).unwrap(); } fn write_u128(&mut self, i: u128) { self.add_to_hash((i >> 64) as u64); self.add_to_hash(i as u64); let mut guard = self.out.lock().unwrap(); write!(guard, "B").unwrap(); guard.write_all(&i.to_le_bytes()).unwrap(); } fn write_usize(&mut self, i: usize) { self.add_to_hash(i as u64); let mut guard = self.out.lock().unwrap(); write!(guard, "u").unwrap(); guard.write_all(&(i as u64).to_le_bytes()).unwrap(); } }aHash-0.8.11/build.rs000066400000000000000000000012631457113102300142710ustar00rootroot00000000000000#![deny(warnings)] use std::env; fn main() { println!("cargo:rerun-if-changed=build.rs"); if let Some(true) = version_check::supports_feature("specialize") { println!("cargo:rustc-cfg=feature=\"specialize\""); } let arch = env::var("CARGO_CFG_TARGET_ARCH").expect("CARGO_CFG_TARGET_ARCH was not set"); if arch.eq_ignore_ascii_case("x86_64") || arch.eq_ignore_ascii_case("aarch64") || arch.eq_ignore_ascii_case("mips64") || arch.eq_ignore_ascii_case("powerpc64") || arch.eq_ignore_ascii_case("riscv64gc") || arch.eq_ignore_ascii_case("s390x") { println!("cargo:rustc-cfg=feature=\"folded_multiply\""); } } aHash-0.8.11/compare/000077500000000000000000000000001457113102300142505ustar00rootroot00000000000000aHash-0.8.11/compare/Cargo.toml000066400000000000000000000017221457113102300162020ustar00rootroot00000000000000[package] name = "ahash-compare" version = "0.0.1" authors = ["Tom Kaitchuck "] license = "MIT OR Apache-2.0" description = "A hash algorithm benchmark" documentation = "https://docs.rs/ahash" repository = "https://github.com/tkaitchuck/ahash" keywords = ["hash", "hashmap", "aes", "aes-ni", "no-std"] edition = "2018" readme = "README.md" [features] default = ["std"] std = ["ahash/std"] compile-time-rng = ["ahash/compile-time-rng"] [[bench]] name = "compare" path = "tests/compare.rs" harness = false [profile.bench] opt-level = 3 debug = false lto = 'fat' debug-assertions = false codegen-units = 1 [dependencies] ahash = { path = "../", default-features = false } pcg-mwc = "0.2.1" rand = "0.8.5" rand_core = "0.6.4" [dev-dependencies] criterion = "0.3.3" fnv = "1.0.7" fxhash = "0.2.1" farmhash = "1.1.5" highway = "1.1.0" metrohash = "1.0.6" siphasher = "1" t1ha = "0.1.0" wyhash = "0.5" xxhash-rust = {version = "0.8", features = ["xxh3"]} aHash-0.8.11/compare/Table.png000066400000000000000000010463711457113102300160210ustar00rootroot00000000000000PNG  IHDR zL sBITOtEXtSoftwaregnome-screenshot> IDATxh}C.yza0.t.t)#.~`Jܬ ntAS4U ۺ^pI$ .ɂJG> P ؇̗G~̙$L|$3;Glty!qwF7<Vz:`{kQvp` c $v(0ء@` c $v(0ء@`blVע\@!d>ڬ:R BVBalgh-Y6ҫR.޴da۰%&fcKt&&K&jK:6 .HsA*{ X/};MuIȼ.wCwM`l^ >ذ;550f2E1'1nڮ 3}ټ.J8~6[,v}M_=dn #Uz? 87*_9P?H&kRdC |Tyu|1w܊M. L H2 K5lmW}k i]~Ҵ欶orm0[&J6B0:3lZߚ7`ۤ#&c -' uC__GCgeIxĜ$Ȇؙ^d mv:4)N  [ Wmn:Pm۷d,lUZ%3LpŠE B+އO~Up˅F5,I-=N;6G>sj~~rnFjwKRS?>5L/.T[藝7ot`Gu>wr#c?&̙Lr]y O'N*7nO}fiA~dccnhS|2žҮ >W&u~U?<5oU9_E-lF<9<%iW %X&~o;;;?q G\cct~N_~Di lQݳWҙB6rѷЎQ6!e󣊽sb bMu,Q裏>O&_2LOEyra 7>cLXbVW|-C- Lit_M~Ik%e!rfuLI62V,7y݆#;ɧ|ŽͯOnԽPͷhUuAt|ɧt ⌀5`m#'gUʇ^f憾&ȿ?R4;?8lF7e|?O>tWwAKHO9v EOL7vLtm=8Xk:RuSC~ɧ ~"rq癀[鱿2C_^ }8>6Mz|65iϷ + krF/qP`S!H‹T}k*R?~5aX$wuDR}; S`"e_bό ~{lfԴ|dj>; = {֭Z݌ #i QvȿG#}vx3‡` ṙ$-ג;.ߕ_6fh|Rphב"Md}ִLO^s^ A985Y M@|K ;Q!ͼB܊P6dx=hE$ RK\EH/ͷ+!DW7S/z=z)~z!c>._f6S1Uw˨=imB!2?]ۀghś{yQ}=<5)3&*zЉK|߬#,~ lgV23T/ݒJ!YͲoƴbL? #9I>.Vᅫ<:5$XZiKM|ٕ]߮Ը-Y)zյlwf_`.jru hRd̂Pi~œ.%g; ȵDȩyoҴ~ȉ˼kRoSMV~e{G8klyQ G\Vc6y,vl$DE,|cj߉n)v59rK>HQi]̃ES4`_-ܯYhs!ǦoT(a^NkK'.dwLF+">rrgMǯrTuj; NZ< M&#JlF{m}ś^{ld齐~O +Gd>ȩtb;;;^<!Jȷ#'ar#l;VJ2VVSiC%M&v?{Ql)vujXݵ 3L!,s=<كƻb*ߧ',NW~/d^Kfn#v%+I+2{h+Dd)+]v{+!clo&!$GSxc'El=D e_YQnn(H A10t >~d7LSHo$#Lu3L+A0 أQSDuzjl}Wt, 13dIx-H+SvYTEQZQef+Y(!cʖP~/o%IF~ ʦgo~ ޖ_Je˃ΩP؄k4:"1B6ʹI=nIc&hFVS4}<♡+S&ZF"4zn%y!vr+e H2wm B –fEGF$z>s=cgYeGH,l=\@Ic*,D.B2:bp2? R(JQ3= ~EGEьJlBȯHZߴ>GסiP|uy&OVbol1f7M=H|?>~>ZrSm0d!ḩySDɴ1imK.[9K.GDRtsEgrʍ]g0O]ՇP/MW6șK>CL{Rm414ɹ=_J;~**!WEr7ZTyzkA(^74*tܐb`C (KYe~=݇jZ|֒10$[IZa~(ƈ3Dhm'% U?L , `nn{/.O9Kbgqȇt!LX18+!}s/WU9B.b cwaa?pm.to))}t{qOrGF)1/Qiyު"}ݥW\ UݦmfWV߀5ofH_06+c~~Zz#$M$1SLqO?s`╙_p(vGVf\3)@~]bm-k+[6<7C4k<3+ J]sx&YNBS,hFE=FsҒ<f58z%F{t'J>y3VkLkbC\Fo4d#50Nk ꄍIȐv^tW3?,yaƴcp9Ix"9 I '!D;c^)f7}h1-N'KޞTi֍ĜZZ"mX>{%-c̞kl: "GsWA+ߥ)AXjO%ZSyP{En GF.ivQ|Fq ، cr^ZZְ~j:x@sxy=u1닭1:ӥFp8E#;ILỉv jG֒ 35vrڽK}kǏ\ kBf(vVhQs|B|aƍ5U꫒OtuXM aFej3 V;Y󵘫>aW &VDAyo a,_#L^_6UbZgivEThxQ" ضҚtPoڣo2G'P-W:͇g]X&wGcqQuHsP7XFݢmݬc՚ձ6/Z{K_̒OzY8S=^ӅBxAl846 HVW߀ 2h0Rѳ#D Հ\qfsF3$VeD8弚r^›rR\.ϗ:Bvޥc11ƌInXY)+{l^fXY ;U,iBi/n6AӴ PbY|'hU>咗gϷiXVG0TEQ>,y'2!58gfwԥzLxıHeYɀ) q\"Ξ7x>5- `>|TWAE ?p}.#fM&5a_qBj֮-bun1HSMv4鱜0Գ xTi]Z_W6q Z&;E /guSlUnt[\B>)8IV;x'73uB5tN>Wav{-}3]˜|-)& @&͸X(Rƀ3n Jp֒c)X&+0YQFs˚5[4ﵕ{RCm5]%E&hsȇ5g+l"a^'K(ם'AA3jϡ֣&J}"d IDATI[&_{=>]~_|9m-( aQP54o<lu[s`P6?v.7Bqh`Ԉݨl\ (OKxmgZ)Ȝ0s\ڪggr䓪03QUךdio _FWeY};)xg`ǤAqB_3o܇|YI,ct(fTQ4U<*ō/EE2`A)'OTo!y T}z"|^\.Y_Q7cW$fg4cD,I kEZj{Udusur"{_lU*P;wjEi>=IXBQ8vTRpy~ʔn=7h 6fl=ހ?7jOڕ\\ z=j`_}7Mlnyaab޾>MƸu]NY֦1q!ĕlFvs|T]Ȩ /}0yW{é r8'[,!.6*=b!SJ* ]s34w#8ӨMgrJS⏎`QD[E4hyoI Mu3~WțlT'y)gK<{*!Z9KVxQ%O{IR+&]v{e| ].6?H;zDŠ{TR.+w9.N6D'Q 9!dy FȤ&ZlW2+V n/}'N%ؼ(=*Ͷ.Jy|sTjwNsꕈ%"gdc/xʳ3_O^%z4xӥWZl$++j&m>[3RVdY H.HTƷHڎ݅퍦eB)飁l0]*rWBI±ߢѷŷ)0o6$Kٷb yteӊEE RBG}@+M-dψ9/,ga\eSg}!)yK\z`Po7CW[e_fina*sM)cts廔%3`XX:B7,2$"$RCU'Bxpȁg~Jf ng#&v𜮕 Tθh@l+^Eȧ94trt0֞Z" eYەwS!x3W7(;}Bx7{} M5ijg.v~_;ڣpm$,K ]Ô?shIulȹhn!h'G bT 伌PB3DL;Cὕ.<şgfmahb4|@0?NhqZf }5ʴ KYQd ,ˢ|sFſ _F.C!95,Hs:26-Mo9Z-jƑ6Z>-7A$흭i+Z-; 6K.mqHD8+F_?F25(BkcirP ʌ3?zLZ aKߗ%=G߻KgWbGew](] غ^/\k`hAY-_l젃B{|>3pq=A)up QRN7;y]5iBd4]Ag=♱eSNZu7_=j$1EQṒVZ`yOwlbhUK6EJuG/aY a w2BHEˮQ-y)nlx-$ goG-XLu nбl$hđ>_e VFYUvڎPMBBc:ʚ_A|7A, hQAxf!&V(3 5g{L7,HQ!Lv{wq[.b<{:X*Y|𳓥}ݘ| ?|T:]aj{HSm@CN|)Ğ݌Q-N>3pr*&JD_%?M#p;46׽ Obf9UFI$B(?Mvjc¸}*jl&$HO34>9ٷ|"!#TNItTF6/ἇ>/<<5+5>s|hr6ݝFu0a~l9֞UqPa%Z#_h!&ͼ@kCA&`ܡE ,;ypAʑٚ,樇H!$ۥE+Kͩ&(J-peC[eq,8-B6zfl&rө_eb{BO"t- F("ǧ:1BUA`Q_!1_ fqV|c-(K:?|4c_ɦ-- bwcUPMjF[Bu,kv_%wB߳!>pK dձ} =QvZt7ٽx:{%sU FQ!~eEMߧ:B2%j3H6y`ෳȰҢm$h jbY<9Ov/09?nZp]/h~<h|y@9O6' k2= | >&|>W>!vpLͶT6-@u݄_jAR&#"OJfOmI@jRk|]3kF._03rRp#6qj ~,U0ZG16]~kf#^'霸t#&^A:J< ( Vt70񧮩k`_+d#_~>9t!s<v1VInվyZ%Z#_P5m5Z]U?&ʍ"9DU8=-8ҶF9\ɩ}! hg4jˢԼF7GLo<~-hJ';/+1t)v7\tU vnlHޒ3 p{d_ "Qކ1fYyc |@_?z? )xa:2[#QVh`vڍjĿa? ]ə V~eŧyɩӳ*ӄ芏=j- nʖ(bOFl~>Pwo+bqL9ܧcNNl(^6WzB]Di2c+A<ƙ+zĻw7kiƮjn>0}H(}?=7#s.hZlf<y^RS~/f HitPÆѓip$0y5Wۮ4m{i2f;2RQѩ # :rB^>-kFnɤ8foc_"GXB{,!TRb+ #ydE?7,D1D*OɒUXso !"͉K:l:l'8̰;;{gB(>5rZC#S_BؓP cC_G{-j -BbW\osIk6z UԚ ч=B!{Ju %6@>QF:K} jSh_REأ8Q up|`ʊo-͇"6}p~48zQaimz묁fU2j`C'K H4@} RF Bj!_'Z:6n4na'71)-Cr|TQۼ]f#{,/>UvhXZ6StQMp<:nE#9 *#^$·q#\GTD(vZ.eL}ڣai* zh &Jɢ("Yx}SSxRL:v[1[5 Iٷn,Ѭbz۷CIBi"[8mk cMS˜m3H_Aˠd3l!D4}vҴ6u-:ʁkS8Q^·Y!}3+{^sCH2SOGL۩g9];eD<{%A.8:SgeL:5P(c ;:^JddvX,Ųhk%p+VxbO${ؚXx?Sɧؓhn,S'O|3=oݵiu1ςL!-h[:SEq~yP3{UUo霎!q *>md?BH=}-6vMnЬ(E566C>\(LOa7xj.(G#BI#ʅa&niG7SKS'Sf:Zuhj=3=ߴFQ!Ǭ_*7:3/Zb?M}垊VmE&QM a2$%K3{_w R6R><9>Cɗ]#g$~hX4|֛6@+ؘó䌹qfᏤP!i{XV5 Be{:H"6r1Ԫ-@q fO5I0TA4lqZdCC3N $$3mL4n@45:FJ 7SKJƟ&RlcO-bS{iYq˥Ti+ VEd"@GS?.;;x5.Tfm Hk?)|(nlɕTځ~N 1_R:/ f7֢Ҝjy{Xtp)`읕{磌tGRӧjPN}?]gpޓPɲ9_!ǣrTUZ'JSFvA55gG} aJ J)(&)q\STKh6hV^ !<\72u>B.HFaIȏ3V]U~CSN?[y}):}X rsYzJ0CxDFyr'0~ nU* !K%/֩ mBiOHd@qC<Y+3S/O{~ᗘPZ>#L'VJw;Pp=R.!gwS5;BۣEaQ}t?ze~'gUak+Rn$RZP}>?xÄw8ytImHVVB{Lu_O^2TvLn!CH6ua˓ߌ}i&j DB6ü&'ȃG-j^Cz8Yk/mbX{Y~eiˏRIPcP4Edm̏"() E==uqɅjLJ ryۯZԐh!"^^ѽGٻSy81Wcm-v;YS]?V8El_cc*G,l5}uO戧|Rߟ?*UQjWM$ R B6zflJ[0٠×+Տq}5`pcFcaN'"=w3n0wϫ\91LI/FK=eҾ,CgE,'ԃ3#B)뮁a3mȱXXA4B3g)ƒY)S}C!w~o[&aIh& +~oJmW!0ynÑpf?h1H+gX& h ])};/, )BF#꥕(UE5@"m*Q?#Zy?oW6D}G%)KUq!YS|-*(SNܫs:^W`gN珯 N 4`cќ[:\| $׷$VH\<: xO ]x[S>L/qi41<"yȜa~NQ>R2캝|O|^5T<KGetefJ?h/֠,REYMS?TB|' FUEɚ$:r%n37͚.yɩk+Ke5n(F0?n*@>>tNK3l톤/wLH! M*MxliaKԧFKM pRO%u0YX.O.~#{>i}% 0SP:Ik;sͮ u*rϭ.<9z#eQ\NFg< 德fis aOfxi:ry9s<\y+,[:A]'&QbGܪ2< 39OjݳX%M=^Ox\򦇭-/W -fH8އ+XEcɱEvaU -J>tAWH;IETNQ1QTѕ-ڐ1ֱ.pP83QX^&yљ(TȷBENHӣ`Z#<|F TRݍUy_kҖxF<60cXkkH,zv6ofN-Lƶz8i=h}{h ˷cvNfn‘pVgu(gfL_`ʂ0Zm<م:Z]&O~J4pv:LHI{|'ڞDD ܘp9{vfѧiz#e*.=X0RSͮK>j2hcvo R/a(imksSO? bߡ"_- γ&ݍ)vp{+SՍ`a-afȀqx5jsJr?G~x^iW8h.L8?f]%a\"R,wpq}?Xq_bx~K1BIz! IDATc%).C7={> u.WzTx<ׯ P@djˢelwxOx=.]wD|)^[k>/?e`ƊҤ:[Nmx"\VVnK bqqLp(=Z f̴^5"9ׄ{=DlIv9O8Nђ`m\X?P=!┭L+J>~7jo N!j&u]h} c%>'ۍBF|Z>PrUQ2A4vpGܞ^q{}VS cKZU-TǷl+JvMbotEsjI#&;R㏉l4w%^mr"nZ9炞uv֌T.Vt{kt`mPVDɚ9iw">ܠ|XQrK5A@Po2(M;!'?ض@bM("'(r՗jvů) |hIu8=ǽMnN)m%jۍ9^#Cwh9+Vj$TUghb+*j֡9Y:j6ԯ'Bk2hczo R?a(J>yX4ft5gNi7Ugs<:cqhMG/;ĨY6yV a1aqݱfq1N+6Pcֽ\*I+Z.rŲlSxm,glRhO(Boxg4 rj%r \ݸ[D9NaE`ڄ16V} EcE{&euلNrl^SA+~o5Ɗ(J.ue ƣ&sOKԘ3Wť+.MNӎŒ$g9u3&)FRՖR8~{kN c%}UYƊ_yͣ 03S..UՎ 3ҶS3~&rE{,%EQ'3Q-s"+9k79E"=ޥ0VC:|ɭ<0=nfdY\(iWETeU\sqA1Σz] cEQĥQinf2(J.NlX0ww;i> c&򮷐4!a(3dKwHTE!:p((b,ޣCj& zUQONHųQa&B!a(JY8pwEQݬsXH*9mqXQe~/xYoM0VrF캥&%,=gyo|F^ ? &8zVa^[wA cQ-tXoU*SwxKd^M}T/ ]5Pt`z\UZTC. 8 fQnvr t0P۰$c},1^#k!<Tw ]Q֞qz|IZ0VMCzSA9M ^j6֍m+S4vy.,>3>,/^)y7];oyů鄱X-7%ι={puzfhH)-%ֲ1>ww: {њ#hA`sl؆0E3N/x'YTSme^YSAkd &45g4E 4 HQ5JVx%rra1ꕿE GRx'?ۙ~[OWۜlwӺߓfR/<e[SA;Y|'ZěoBw?ZTMNFv R+nf]t}Jy]vetӪl#+̋Nm/ o.jfR/;ݎ> 1Oڍ,d1'#g5k^,"U&F̭ igXMm?Mͼw9̰Ʊ# uG?hl&wl3Coi!HRIA 頣%UFs ww-ARυ*igzXzCNCb'2B!}2@>ծGZWb}U0܊\e Jll봨iBu}| d\~ן;p8Si1'::{uZܸ~0"Sx*4巑_^=x|-f v^ ͼ`v^N)xx?y!{Ayg(+;X73P`@qG#,U+.-o{6-)*K$8ɺԬN|ǩ}69Nj'<s\#D N o*?wmt;h'o^D4翓E2BV aa?ͳݳ7ӝw|!v=e nSHm4wz.~z&"#m:;){/KoͻMmBV SC\{{!"! v]rm{:k%I. L3;ؚHQn;7o">'*@XO@l@co-`6 NJRP a C1;͛n cM.ilp` c $v(0ء@` c $v()m`G!mtCM :REן2?mtCv $1;HP a C1;HP a C1a<񿾽CL F )tmv9vg]ٺUjֵumX6ʪ &%H DI{?k}?MWpu}B-Jt pq~I#oti!B! z> FGHïmN + H! #BnfBWy^NX0[rtyʥ7hu`f%$C]B!FyyL0= Q߯ Bנn^ƄEKrȥa/(L4A0Sqr<#(^a_|>"WȦ3AznDLHPBY?_M D,]<|jc__ y`ותBMNN`$EasCgO=C%ʻ΅`ځUWvM(ef K]BbzݙQLu#̤߲+}qظ7obW2R j9 e{nv|ZdͫƿGΠLB!ׄt?VwzGnqI7cuČ[cv?eq&4WZfN"U~)!GpYJ?hxqV;gwVkS}_kD#/ؖ(E>{m}'6;;23R =,7u7y2"Yjr4˕Wsp_+^n]WD#'B9*d!cy3tlWộW#:l$ cǭ7Vy׬ãInDT͆%PBUcr @X4Ҫa:]Ӗ5s6\?ڜkqaB4~NKYMi^Qi? \\ b?yB!7WwmJR7d8% Tu94@lmVh1&:iɎ>Zm~CZ??Kl-6߱-J1[狿:d骬=Mg$<̟l $"jӣZxm{=+ #ߠh͂'2`66Gu/}Ds6=,bH4+ Cz190kcܸ &Zxu];aBLp8-ff6PZpTfGf',P嬽pcIDwƐ?[oBD"^ h>N}rsfظoo@ l/ZMq7[uеӼohm܉stt:q7"PYlz9ln2B-Q`3N|}1pi%u;SL5 I["4`f]]sڭIiD&Q[ݕ=|x K-^! 47tvLF﹪1JUSFln8mqLr_3) tӛ+3)@L2tk=zmZ#82;N ;tzn6-i}:{m*}!^muvMe^lqxbsvPЇ́\.KEM->ܦLܞ@h| ,\v{\ڎ4[;\Z2T@l*6~1.$I}_VRе[*R=+s96f-m#Ɔ1R;6nz=wtI瀏IX+CrXg5{߳ڏV|>H2?I}s:WSR¤5Ij seB+ߔY._ݮ"I*.] ro^:k:Μ)zԾffMXhWy1'8v}WM}V YrL+l ^PۃL_+S-,K ksn(,>b8aR6o\a/C4o7ȥ"!.O7 BoM;)_{R3VЫ7_Ymp De-lPý3>&aU NJ*)[)EhץTg\m3"TYI V2n'Ww+7oΑHۼeNݧ\ ۮi$7R2J8q\E|OonSDXAQ}~T^q__ Hxwku}ki{+ IDAT sJ'^}~qrRcDQ%_ZrbX_sT|cU#/Zx# uL]JmRG_JC Ke F 0 Xm3j~dMde*0sYri\/FK`xe}(ekFyyCTx”@D0 a!?D. \HcW-o9s 0k-ws[ }Me=:63`"zZtm-:uY? _78y䎼i<("^QS?u5dXʿ{/KYGBunz^0wߨ7K޽g![Z0FWWѰ5ojB{k_2m<[6 g]WeyR8ؐ> vQoU`5ݻm !bş5΃Oݝ:.w$k291"I YsOeIM႓;CZZNhg7 fy-{Mrw.jJ=SͦY.WP6$i[𿔰ќs㶧YEVM>%')ʷw|[?Jv3IO/~`(2Wv>R cG y@ٖwzu͘eƒ_o)y?޷ X xGkUo8`ถ]o\OJȭ+(syܖγI(= $U9beԦuiS! 5J5|]u/ڽ⨓tkS_NH\WWSM\a:qE 22x!*FnsB5Ul#xiBl{OcӜf“NY<^z,x|y0"g&bpre[F0[¦G(ngl kzkԺhӸuJO fC 3_T4ʖDIKaڠ LJnARm?GE{Ҷ-o`W4Q4mٞ'\z4:zy0rukOq5ofϕ4/!5wEf2[vY D`k&3^" 5[݇漾I=h9Mm$-_L- `3W4=^^~szAKwK⠅iR'+X牆#=D&k,g.@$\Y5_0wT۸# 1w^~&ZQ:w/gv?[oؒ.' ~Rw d'w[}q:QTϮؑ@o1R+o Wl^BbM҆wןyW#:|01uwO1ۏcw6ا֥%AkOYىg3{WU]g x-mkL\Yj`]+NYx?:bWWV#!O[fښ\J| 3eMG7_\Ж ڷun9 }{rtN?| WJy(Z 4aCK?|5/.Z~/c_ج(4y3~-A}PBniҤĬMuLhIvYc U=5)f:񩭙yG/0k/gYM{Dx͂o޹>`r/-Yyhq4,>kgE0p^{lns. }j02M^8/ b>X'8; ގrb`vARej*\B?v @+;T7 ^~-Ɔ}pm6ITJJ>%E+eJܡ8t z(h1RqSZ  NxI[kO hźǵs.*gBuT/Ke*B/*?0Ys hΦMyt7ehe `k6ԬԠx磩j}Ѭ yRX0R'(/0RP0Z2v de"\{G$r ̹GVVaؾ:nuƘ?s7;Qw5w37aKڔu>~egmN`2ќ~m *rKcphɠ"qA5z/U=+(7=\0F n2Y@uW^ H5I(E!_ &A |fFZVe}>aD(Dإ{/@ihc}'YG_dnMuF)f|޳6F`Ӣ+`5'88UyTBؼ*,:wG >bu6mt%Y|7v$c!AtUT) Ngs}Av\gMgۂdsŏ9E/#3Yoq/W۽"2z|X&9I^@0^ m&8A&?X("X%b.xB B}YWXyU? q/D7:{mv^NpՅ@]wH]P*#ya_Je3N s5' aX2c /x"iC}l/ȼUff`/#߲-iW?2&\u{;{yKIY#M|eϴ$~eD},<-[5(֎k#,]#{x0>Jh1,?Wx4qLulȴqt>0}R\oQ{KrݒW;7L4pVllV΄FFF~a񁞜 cΑDh'sYq_^ӒpYDDڄcЬ3ug,`ꮵ@V:Te -,('1WH `Vb{6xMf1c VQw^fIOr?`[48mVKݥ9LtRҶu)Yo=j:g~5BMI2)s^ˏsNo^ǔF[{5,Em?0zsRUMG;^S_i $eyrNxadEzܨQ#غ+i)5Y,L 8DD-W568'@\< =_ĎM'ď^,H) Z;e3LoVxk"4<.S∨܈ /(E^@ދc55~`f|56+2f`O.fxY t+™U<(V' 3puݶkAnTJ&ރ10 aE(+}.Z^JLh]{/O,ׄ˯gTꀭ\B%\|fY< %Pן6 L^M7][/p ;ޚx)=š {C" / qxDX&N0^@,@xh"%OV3%Ƅ+.5PW5T4U%gfOL}ƿ($A5A_-E c1t(Ǒ]kO{8Gh3Bz/Gnb,K@-N]sTmV ~۾Ovj'o|Z1p k=XTƾ*=EDn;S[vUc@w`'h[LIW}2!dڂ2)[:mW=3g!i#xuvŃN߷?CD+/9YTT QP\jeqK/g#b x}xm f: 賺> (5K~)#UΪ-5?WwSM̭8j-?OBIHc|pљNBG}Ó1!Z^V`s6NN+` :?>d겣ul=cqxHc<]'Kْ}e/8JZuQ# oՖ%BPn.5wֹ NtQQ0 nCQ[ׯ_X;5[X]S~jYrɅAsOʰTMTzRIsTŗjl_~HuзF>?jiR DUt)s,_]Onؿl>ckdUK5Q+S xxBȍB}d, w|\,:d 0Df[>k:jZ3T7ɹ݃٩Ԉ!&DN5quݟhfls% 4Yw,o.:dhr ^y,e'.nGEB77j^ 8)mh1Fi] ) /S:6X3?48[xG S^3lXhYhR5Gt=6AX^_ "3+퉻6ffe6TVkltrl9Z$UFݗV1 íK xկxO>T*-H0{Zv cVԷl059/ ֖֖wIS[& !7o"Y]gryug ]JPH=;J&,F0pX*[ p3XŹs$ 3Akjx3!\97U|]^ٕ.z1 { h_~]:w%"7|jC_\5Wy[bI|ގ=,ؿ6<`T?v\ʪʏ*u=xG{;~Rےna !WHZ,.z)A;05 =DEQO}w)ᘰQ0qIJZzZ;z SVоh'5/%(e"tp;YPҼqn9#OuA+L {4ƌ@) 7E!7[n`yp:"EpP7e eS 7'^쿑x.%5acx$i'H7 `| SU<#|mJ˸S>eD{D3g;>Gys|SB|mB1{54SfRFHJ?,b'T %eHsIee[7CR)p.kcynT1!S  K' V[@fH9yr3c1Q1c_5# ͌Zkb5c^t6sHYG\D S1m‰S70S4ig74uV|Brs_3ɢQDZƶ?V`7jQPFQυe?^\qd@`Qd (ߊ歇^"֭+֏ S *X>gŀWߵ絙^P/{0j|k}B3,fE,Wx! eGjOoO1: şx`7;߈h1̎R2o)'̛Y2<|\rͷV *ڱ=s8I`004VO< Ihh`,D& ; >0q j& IDATW8X\ڳa[+Z qKZӝAIBW?LUEz8׸7o!א2nuRsSoPWԹ(֪Fwd"`w1cAg,$"vӣa{+}ne8Z\f γH Ttκ@X=Ok(5x6cEQr9`X2.|9}D,07>c=`䱏<9H{᫫>8wXS켉|H+a|@k cvrlԸp~S@%a`e]ջV怜 mxE"X3 6gR\I&¿:kuw9m_Wb7nweÒm,.4mL$,4,oKl`o+?% Ov+*!*dG+F] `bkccKS?7A :g1[`Ҩ,U,yers:{AQSy̝'B jm0!DI]~ȕ r4Wz*PeSRu=[YviOYgGwjO$+q2s2|D *H9Ȣ36>viXbMBN ΪIV_Es5"Bޟ;\7;lO>"af?1lxҿ* Y`6*t4"l(WIKq9Ί󥧢s]jixZ @pz=OѨo~dQW :~r(%EN2]C"v\nTWT4(U. VlK9WT4uOLf-fn r 0ֽ]\Mrì}tJ }ع zjlkUcɋWݸ'5yck;7t>rH|580Zu榪 eSK>–t~/5|Xd.c.V@GMFh9Xa/_lԌ6Ew`#L|29eWf,b`"&c5=\Zfeߘi%! 49'p-5{:FSUi~~l/m#R.]o~RT4J30*/_ԪYjް59bڹ./^ڋ=o굶~֟xeaM/~?;y6-O^k5g0;K_WkN\L*cQWUm%1RI?muZ+K1/x^E/4RV]7 &4G0.o5ߨ> g;#94|v(Nؠ}vs s%I[bBWzg\c.8cBU'դ>\IG]yR鏎ß+;g,^\1}K0puo/V@c-HVn{T;54[eK@# ɹK]?(7_,vN*~j~P[3{|c(ν[^1{K? S !7Hu6܆, &U*UֲwwKCO(Tw[_MLOН;;vXgݱt>WIRBnq"զܸXk @Z^x֘|ԃVcO?9.~neom>b^8k:]]@`sȥaWB*_kKgE r+;˪BRr#& ϝn9Ӣ6AKsV4)kSUIH\(/zϿ.:ŏ}QƯORDo\eҒ9S-ɒl=5T$צL5Bf.hEnZdC9R@p|[y*P-O86njI5=E^6Uf){eu $۶$M"+7C5m=S.z⒄P% ho+-F+ V.>ƍs/_%s oB(^LeԏTuV?pVqo_T}^38YQ=)}ŕZ?n*2}ZR5/گ<60貔G(ܤ]:^Y:^]}OJ!m^v(htʿ<*%ΐ*4AC c՟ڭrQaʜnhN4|1{PrV2ӟND,޺glPu!E^)6g>s=>} ڋ2B,w#*Y{g~LQn 0iq9C:'غ*KSf%X.bN}S1Ewq< V>.YuoG$*48HۜgD,k}ckm45m5Ip9@𸸳Cu{PʪeiFVW;-@Wk{`M'\uL\& ؇=5ƌfѓh{IJ">>ZԴKCr셯oTbu|^032\۳W-W*2ׯX]tz砩}{DR,MJC3<E@}Gdvf囡7{q?uY򼭙ߞ9ee+Oر-^[Є0oov|r7=R̞yg $/lMo@+?PKp1!_\Jj&OxdUEu7yXeJ'*ҴV-Hݡ[G^rPep6by2fą3#|yrWѿyyJ;QpZzҖ܅iM@b^Ӝ_q9s)Y)_׆MT ûKJD4NȗT|;NU<Ɍ2&U_Op[fEŧ$=yܴLfuy\ErՒWCfN Z:NXЊqs[:WW}6%qLo:Ιk?=2[vw\uI'Xu{nMz<c>8(Z6kQĚԧW9__N'4f ʶ#͖nVt91"YrU"fK3=sM3JzӺQ%$i/ sPo U,ylyX0n fk79 |puἓkMf θ}SƜfzOZtp:3&2%;ZL\ dy֟bg1;{\^A$Tȗ8czE*cnq|^kuc?ARIR'; !WklWP+ӽ&"x~`B"Gń%_֗j7/pY #8,9 ҵy͕''C(8co9 P4XLȃQ}첰.sF$R'i_)e<"'7Ie0݀1kh|^0ɹ_۳JqJFH(`LBcBt !d7b1!z n x{iEg/cȠ)!B!rQߜB!BcB,xIgіEB!BuF}sB![maMioy }62iCB!B>oN!r 1!䆳YVwچQnhA -!B!rk9!BȭƄ/8QAjP"$ $~$GE~G{!={!B!RU@ׁ2(_z;'<h2!S@W2(Qvi@![^GG}@Wt .Z2HQIaL!B!B!B!/4$d@.\rgS  tEiG4 "]B!]kAzZXBbAfB!B!B!B EcB!B!B!B(`L!B!B!B! !B!B!B!d1!B!B!B! R0&B!B!B!AƄB!B!B!2HQB!B!B!B) B!B!B!B Ż]2k5fCQuPB!B! 7kLI<^X,xD.B!w?NZF$% tm!w0vܴ촄YpNJoG%B8JƦf_:$d_ܽ lS3!}C|oۘ?BHo-rCq|_dPNeC]B\omhrf< ^TIź-o FfS[_ds_/c$=[_B!.'Zpײ֖=93^ !܍ L-FN)w4@ܢu ԁI!{Wl.`ȗt Yv |yqE'49>Ehsk_IG'-O|=zxۀT\1Uw(Ft7S~CE[WA!&,;Ǯ)|3-3饿m_o9TzDki_ 'L~0zb԰ܚmG>!2X`V?lW-Je, y!RABg|]s |32q>2SCBz&]6w)T¤?KvEYnM!BU|]`Ǎ̕mw8Z쀽Is g}A|4ƻW+OT 03smk* _2ܫu"eLۨs#kW0uZ\A9 O/b2__ܑYuuO#smyWخ8sXNT=䰻b@|u80 -[Ic=&Y|8?u9B!dnb6!ow:8TߖU&|fէi)od̀$@̽A%Bӕ%;5Z5zlKSgLbTUr^}S]_ b~||'@2ygJ4V~m{Ξ߾^ -FȝS83ByNX8\p[yɅ8s 6}=,⧣2[bDŴW!mh/^]|wJwUFf8mO={g'=8aatp1R] 8K_|endvOu #2Q#rg_3O%^3eq`~ѓ B!ۢSU[qACjUd<5{N ]A|֬4͘B!$>wm-* 'XקX@WH!YR\W-6wM ғr\5:gIL"tbeN 0&ppt_#\9_fsA;]Q7pMJՃ!SOrYOظSӺd,Mx.fx”nlrj{k5:rCgK _xI} ԧގܵ ,0`=e)Wmz3B!Bjkhcs͌4Ok X{U4Ш5@!U= ۸Q)VN5MO64%j*u Mh&dl/5`/5_bK!84[,v@1'cu8oF0eŌCguqsu'[eI/MtА&;-'qOX+xkilbbӂ\Mhvי60eb IDATW֕a+X`I.j}IrBun?[bDOϳ8;qiC;0T30g,m4;d wUPȃف& p鄄ۅ·bw;:( -̀3\Z.G9{K_kG]g3 $KqmNs֖{*r+u({&Sǥ>pca冬V0>&9k^ 43KO|\آ)ʮי ;ʲ-l]bÖ>j䆖#E`6P,36XF fG}sJj4d'jɏɄ k~jngdM֪t$aA[L՝;̗9lA~B@4.ss\4ϮZY`#RH/fv -}z|J#*̏O;_h5wtꠞE e|7tq &5&Vsȕ`U+;.1]KPǢ]̶r4FUsZ?5M4fq *r7>wC'woF}\k\ Kz2n ܳE5+_9iux7l=5n0*x±k]E[~ Z٬]ǻ~#_zvgqɹ/sVk>J |v`^:B!<7lr|rO˸-,L\MI׹9e [1ÂgLX(qid7?/Ѷ0ٳ'zWnpٵ LrQUMb ktL3"{"ZL YNۖYX.%=QexeY0do\^fs ŬYQ4'H,ȲN7}{^rwK[0hi248`.]={{'phn4d]l~tQvl>vdZU3l&mpYfϹ'ggD'ثw 3^^&y;u;o_[F3&8 KoR*h;iFB>#G't]5'^ e|bfP;#OT]|㗏u ,(fpU܇?Z\yeeFi[ ӓ/sc?dyx8X: fWm~f dfvMa²O`|\w{Qո8wRQ:]}lIGgY!o;:VIk `  |*b}~K< 0c9ٮڟ@/n8>͵FY[~=[2cQpϙv",gzҝh1[Ϯ<\KmǷi #k`}cҭ+g"`ݬZ=.AJ49pq ,JFEޛz |ݯ `x~k)R9yʺ'Bd틱7~|{e˵_ŲʋeUʒIK nU 5Ͽ̨V `Ƭ^ޭY;(Ӌ90%g{߷ؕXIM^ėyj9]6c6s߸NM@@4TlU1/Yc8K9ZmneD Ig5dU}T|Xc88W07?o2\my/^0Xzs3Sczm>;pU[nϜ879\ o!I:.{l4fs:+Je:%UVTKS/,koD|tfcT p]aξ&唌bD%tHmd2lCY5pHXB4\oҼ7~#1|xkU{Z?Sϟx%ގ 4ԞNC9Bq>n%oLe?@[?ݽ$CฤR .1>!w :;¯pGƄE2K)- ,0pI{ cFNQK;G2J9Z0wGdd#DgpdcE/KWoY{ 092w$NآX3],tGS>7ޚYL;laI϶/3_V/s_LMdNt=ە_[E?Vv]7i%?>ےl+JNl3hu%)+u#Nzi䊜L~L€--YJeiϰ];&)<@?)w_rž䊌 .h$2/M'UK6|\`U=sg[3֟ئOQ퇔L4i=\&Nݗ|mXԳUKؗ\Zp"d:9t4Pպ̨UW1Sۆ1OE[|y|[G=pOx琩]i-q}b߻ ?]XW /QyïdXe/aM宏fOG)ĸub(iG; wQ4;5N>W/"'Ŵ \7ϪPEh7רSr`R^YzvI# ;(i"<=zbٵVbS0}к"7McƧBpyiث|:n]͇M]!`sYyվvM;+cR'߻5'mTM^X|PdZ,¯Y<&V 8r9iY[5%/Bi@E!][;Q~6V;jhwb<yQ\MqF'',\lwdSEwn^ZkQ㷮v|X"sLݭn'M,Q>nQ5 O<>b_母gN,c2?2A6?0.T[TNGk6f߰/$~ 20j_ċF8>g;پ8{և?di3_GI[d)o|R->vwk 3bym+QM3_:'1*i+/ݚ$93j5~623He,ٹ]F9˶r`| 8EcDu]7O6pMju0?]?d1Vv5` jrDE.e :Bl=c ]Gq|Ҩ֖Z2"l)`*É`fOx>t&н,_|S^bpCC]>`@}qQfY'(Қʲw r6B'&=\}mAj+T9;b`t\cGGCҋȽUS]pcYZuiۂ! lXUkZi5G8gkN`.Bfl؍I aaphק5i1T)}>?}`}զC*ni ![?jsgF?-1Q&afCl% HN 9jeLbbPk3qhRnl;[E]< !OAߔtc}}>G,'2>h6ȿXG\3T~?OmGCu٫QnB]QIr$o6`p7q-M1u˅SuVpp3 :w#dkX7Ba#8@pFrP.'kNU;C{c} s5K0rRndת ?ʳ\[W2`dqF#>f|"ZRv04{HȈ 9T;nC⍟ /řV%p}\b@frгKk=0AFxSO:+~rN5=,e" NaOrlI4>s8DI]/8=,`ˏ:ΪqHz$s0Qnvry]fK(\)gX8=e=˲0r ,==BpFe`cd2 cԝmHj)p_R⍍ 68'eB1$2vEƲOv9H'>fK0~LvXU-F,Kpb{LTTـpwƂrCvC^u9XEhf-6ej-#!d7tPW3]W]#JM]b:7q \VLgNBH4R~į??If'^Mr6㜱̱UGO}|/ d7 7OB)xQ6N[΃7sL՝(VnD`0&(q"jrnV]ĉ|,QcI[hv)# @T0ӑx;+BL-;cipY7{h8 ܖ ځJE/lup-Gujk;m zU*M㭩!qOj&'vuyPp*`(`LKUzaQd0/YФ)Uu4'dL*bM1FB <b;u-WT=HbBO:S}$sz}aA/ l`|W.HPMySY}`6ݛЖom3fBc>!8`+_^w^:7ԾԇL,QߓxK|e47[vvĠYhQ^{VTM#+QZ D |S/@_o_/g\M&yڳqgunhۊsfVYYO@$`NXBycQ9({PsCmb ^s7nfk:g&=|ϡٶbAj)\) <@Vm6BȽ:<[c/na ?޻ !thoASRWV„G_5_|-P/ي*Oگ'BHGSq`3s=9׮l{{oʿ̭b|8Л'1>UyXѢ5 fu~Q33OL6eIQm7Om3mp󭚻6Kl?Plт?~Yurբ:Z:Z~?j΄ i㓺Ǣ #fTdC(xw2exOޮje{^c[Sp8Z.U]*f,bĒ1InGR.u?hФc&$m&S I'' IDAT[ƈ$gf428I L b8iT6?)c0n~BH&O\vzzY^u88Qw>~\mҗC0V- OZQ5o[MA B)9s v46on~%v.abbBa?]Rk aNh:;C.;QI޽݀+%9agQo3Z,[֔s[g5mHj;Y=m g׈ N PyF̑~D?gp9j,1 ͑IPPS E,=hB#;bG~`BuWm[/"q!9g4~fC(OXU;3i:k%#!wl~,{8y!i_T>a<^ۙ'+WO݌+:zTteCU 6oJi1tiR?`iT8Ry@orOUdP-]mgo:~.Z)Ơ-ݴ;%d锶)&6Z[P,T~[[:Asje &XsOX@01L !dc#^]d3P|cbػHxx$roo+PuxieJu2xyz+\ uWC|F}?!UW[蘎?[}D- g~AbB< gn-n>c ]LD؎9/om[nUZ0UQQ.NUݢGBIXX3:ez^HMjJpI"]!pS)Лϙ^# O#|RtX!9T`+Ӟ'8; ~8PBP{eFm͛jΜkF?VX!g~ݚJKߋEyp͹YjWOu}c&1Q&k  %^0'%eYs ̰E$&˴hBqbFϜ?pG vTs|: gѨջ);/#ޡ`74h)Fܺg"J.~ gƄ bIÃx٥fW[4Wj~pwp;jGsW4ns>ȗof;Ӌ[*.z`@2mg-wLɗg^ݘrgrFg̔uO^,vN 2765u5{8;5@<2&k>֝]49w\s86.Fx."֭_Uicӕu'Nଭ(F(f}*Z`'ʺXA"湼t%zϣ\uMHj;c1?ժ>5^$S8.X!`F|HIS`xD@ө:7Iʆ[un)yńo'18D˓ʲ nv H /5Mi`K|27mb1e+s]aOjs@$&f]^5爛o VL@;]g<i!|=6"ô|  ܾU8X+m>EFJF՞ge,D.iodk~OEeˊU(5P[ՇBRQ?*kۑťk47|k{G>wz턐{ť|S<&N`_};[u?۹ɊGG^f`|ߝ9_a%#p)z$n*/֝Q#yR(vǖ_saKۏI7=pϻNyWq`a7͌-3~!pMs^nsUk+wd[ gΈy8H1꒴ ZM[xWS:3 C|$)Y2]F>jk(7+W~m "}*J?~1_&_9eOx6. + )rkki2)wke_(Pl&k'{\ ڒ/d^k,Y>cwIF@|QGOzrLڕ+ۏ `w@>/Bq-w2P-˪vwE2dIgŹx# nl(Ϗo)i(9N:7UeF&K7"82~SUvġZ8`i0ǧ/ j?#kTޢ.g>gD-Jf/[ |͊0 Xk־L/Jz}rfĭ~C Ex@ @]4wmA&}aq}BKShQW\ ?7Wp~:@-4pdcw߮ ˆE ^}>Xz7_~TC&S;x *y*Ϗ<3/ޑ&}ׯnW|E zt) UG׫YՇ nˇKZEȓ3rvb i cb䊷B>ag44ԩlV'%恽RZpC葘'!dPc|u`5 Y)'>_ ~JŬ )Ȅ <8ugT|M }ao?a.:,Sh]vۅ^A>|~]_tXlrk W3*Ec~NaB/8X7}S%s}@҉hJ)[fΚ[[b+FHvӈq[WĭukN$lC3V[h([lm_Ţh$ۺ.RiǸAOE-`$%F2YV`DI7M!EUnf2#g'ntbß+?ٚ.ZC}P'c[/l5-!cHA >%uڌwC G'uYEKFL?9OxUSS+RuBs}r^@PprSUx%^t`i !dyoO.yP&qEFy?}ci<;!Yp_U<,`lPSwn}PW(o[k0]Ͻ37nr[H?)IF&بZ1Lz~# xq "cmS 3#iRZke9Ssw<*[%lᡴHEή+5UvLu-@);ZL.Rج1qGMg"%i3SOgksv=%,Vf|(0̪br˖(>cQ|EMqK5fuY$,(%ŒIA~BeQωpjL q&?<;}y̜p/!`5]6]04]q/~:y/?=8Z.7\44\o|tI~>eMo FhBvŚGIONԡºZc<:3cŌpQV/`Ғ "`6Jfջ) EۊArc.A[3!g#=_ff=1gS>+&uek>؜_3Vc&{0ʫM[ټy3_x{G;?fD$!ry@e%KC NSHh,0!w_ Pp57֗,S-trw)]=Tuh2;Z4Wx xШB&vmy|_I;09FA{(~; ߣ-{W'sPge94X7Bt#Ry65Zr3 xz:eUVS3CErT.fFc\nfJE^!¤@ %N՛U&C HYJs: Kngהt͌[޹EȽ艢@<W;jLJnVmM u%^.l`xxt/G5zrҤYM5.jҸ`BnfiYWW*IMF<_#&] !17PBcBtƄBMwme?LԼ?};F\qBH?cBԄB!B!Aa_Q0)ZL!rϣ1!B!B!ѐJ`fAB!klB!B!B݉3T~~dgΗժ9>w7-jH!2PB!B!A}NE}05O B!ۅƄB!B! n#9 {G E !B B!B!2,{,d+A!B}]B!B!B!B!ƄB!B!B!2HQB!B!B!B) B!B!B!B _KA .}Ձ!?1U "-!rz+n@!԰ V4ØB!B!B!B)^hH@ׁ2| f4 Aǁ!no]&u] Bth1!6ƄB!B!B!2HQB!B=9p\% JTT.j ^*b녶kGuӭU_mNm-eemgխ-JEE 4 LBI8r ?,99s>y          ~H              ~H              ~H              ~]Vedva   v]&xj֛Vf  t*;m6о>Bϻ]G]]Z, Ŵ],((G@w(cP[~vX,ݜ ]eDwAAFp+ueF\vKb3vvFA|kʗ`5W V3˺}BD֬q!fgVUh_*}Q:>~?u ]=K mE$ o^cI"8b zwMU@a=;/RHVao&sԬ_P)/=Rm(M.Xs/xWo0vUAm{Na#B7`~?TmO^1޶Ψ1+9WsoJc.qϚП2@sm\cū^`~  nz͂3G[ǟ1SW>9 $2}XЄ\:GVw\e)퓘~ٌߪvA`k7B%->>.wR )+;cԪO|-%;mּ7`5kVxBͲsB#ime;[D9?ۥ{:TϿ-$L1}&H(HY駭;rOZ`rBT0hPCӲTJzDt7Q6d:*S8یɌO\8>%Q˫*YFS51hнYӉ\tpYbDGnukzSi0:[jSfl}_${V<冪.IN~8lDl\"RSIKMV#8sb-QFf]2 fc2fM'Se\փ7~Xg2[ștȚy֩ᙣo@@䘈 hj/s\r.ScΤzV+Ӫ35;[uV=cbv7L.דVUgbh3.9Mv+-A|w]\z;R$k2u*Z^=^oqwm,KHYwh[>˱wjtʫݦqlNVWީվddԻi[seҩl:Ql6[XnÍeuNNf#ӨIFh,C^gT v^Nh a[z߮yС7h2.C^סhA5 Fy;rƎ.UQb1SvT]6r1.cV.2tU.bר.UרIgfPP)}ĩS.eje-QÏW_43}S7e/>x`E)?+sFSGA. R2ݜx'CѼo앖UTͿZ/v:kT}y{Q'~yGIH镼DoIx?;{A/_AW;>>^_RghVq_ԇ|ղU>oh~DTpz5b[2CejqGG$83 PM#b0/G.(I:4Y $SxN|$:qZg$A3aoMeJ"/(2p梺Ĥے)^W'=l/@ʸ6~Q|kP~AA NQjpx]Gвwęq,wڢ#rVw>u+;ysO\9Uo_Rƒ^49b j~e,ܑ\{11'DDh%N3g5;q+yBsiUӗ;ݥj񺣵{x7yijH>ukqGw曰#MXmWo9{dpmA;oPF|d^/K 4chU_,2ik\rv_/(Z~Kn|[m4/vrt޳Ii[KZ7- s{O5c2୼ѴMyd?#U*N,-vE.h0᧋ӟ/SXveMJ78v+HbJlʞG+2v @o·茥̹a՛o -TU]W9pFqf(5|VQ}'E3 ۜ`k+T:=& ;vW?EyItq1NL{Emk}Oe^#aN_D#v:!٭6s^53*w_WU )J ZnUNW>O}ur*$Nc_7G]]MK7j72_.R}|_.o&I'٩>c G윓; jʦC?mSRb)sv Y KE2Wsi|#?+k+5ZT2k# |7f+aû$CAe[3׼Z1{0 hjeje޻>fĩhGvˍctLG~ 'lnXUIm紛p\vtc׆\(PmP@_+7I6w'>U?7 OQ4,DZLc}ScY]"D#\bk]036ݽ]{V]9yu`Xӝw9qxV5`<޽W<1=%o3MZ_bdZR{i|koje̩mg :q7pĉOgD&=Lcc󡢋_41ʿF:|(A?4Ը VO'5鹅pVSUeMWWZYSgUI1 90|Zs 2֋CP`vSװ=sʏ,~sq瑶wnA.}hZVKpq2tZ;@d.wX$tZ:/w~# бW}\th0/POJܱhޚ(?_7:iEo+[Me/˸Iܦ%½xkr~-9x@P0VU*u+Cm͕v˗6~ƧnY5&![7`ꅶx58~Q^z|$/`zhn0o*Xʽ5#Z-|vgXVVq_Mmg7 < r-a^֩§pZ#/Q^~~3z:?-tFhA9j+9žI_6'+܏ڔEeR=P%Jgﱭ[.uF{iAbFMo7t?U4qx)=T<'GE;Z8u`?m ޮ՗Bxd.qܼ(˼S f_heԾڼpƒT*yi~NSڵUQٚ@-aqܭhx[(}a(Ȫ }OzTraZ7-vN8I86HBKk[0bD͸Y7HY,,9;UQ=o[9ccoa Qj >/F]-8"xfH+/w<i4@QqK?dh aa8.wGeS*}~^ءՃ@m'Om(҆731XO>`lP<{҂.wT9N.jS~jU }㘖9PoD"t]o+lW+˝ț6G8SW  }f-gDJbZ,YX"+];3{m<h{pBVopNyF*Xݻk#Z /HqPw, Ptݴ-IUVx}uOƔJCHKY/?YO{/z/ <锳u.^i~jA=য়L{E “iAoNx1eMԿ ͏iCA&֖#p7w@ܷee}gXRilk/U34"o :&zho?wdHXy/H71%d7(>Y{R"?6rwDiNʶNtR@W x[Z?kT4?8+ا WdPm_v <׬[K1:/8^q `ӞO;`ŒW 8}:WpoG(8kZʌqDPC׬[YEі'I>mOGzy>yOnps=\G-E'PPsu/pV1)H])r&͚R{wqJ'n{rZ mO@}[gvZNSYeX^Jg@)A<fjGnQvt8GqT(wò'|zi拎Y&uNS;/tĤ~/Z F%$[[yj '\2WڔC_jS3<}Zu FU_1EQ'TR^̭̌bopKY@}x +Kפ^B?_;x~Bo?7~O(^g.|1+c]#T7^9y$źzv^##|i' p泓@}am(SsiJy?Zq-m|w<8/3H4O#Y/F[["KN>a~7#trwkl,\@2-oՠУM}w<7W9]o߷%8ŧ=E@`~Ea^[fEKu!JrQ(UZ$1/Z )^&'kKȘVSzgŮ"LY0.i@?*PM$8ذ-n`.k~Hϣr }Dគ1ǭ ϰ]iٳsqQ f}ez<pvzgsjigdz:޺hXpRm"H#rԡ.5j.MW:is#Uoy黬 ڞ ͿS׳eǭ}I0*8NL|q\#v;|?%6YF.*dJ1ZJ*Gxn3oV )^<)>.Lĝ1}cLC̞8Ou|-xe_Kon;O˨ XroZi18wNtHt39p?+bHi:hثD7o.KLJp}uY=I Wl| }#1' ۇGkpj:cJN&g췞 多C_bao54"8oUqނKJ8N7sķ̱ɻ9 X7,$LŋN\sL>!6,d<]'n!QF{ )pT1?#B9%qA71A&W9ٱgύ 򹥩TYG9t3uN;8`ZYS#vlPҨo{-X872=.lf_kgƺ=Aw iN]Tutlۅ_o1huUMѡ'硑E^g|G~SW y͞.RQt|`)q(Y1y?HJlxĎVDA ѤEx4~J݊}t_$Dt-͕l|lki G`~ NWivYvr,za?Ni]]6sf3VlYmQy`;q,u=񞛨QZ-=g)ܺvNgզ6?~2>!+.:#2LHZgTEK;P vk Z*dYd+]ԁQwl±$k@4'>)_[YVb?EadТӾNGcƨrD+cm7>v&6{UTfj8xr1]b,*85BNWnipý" kYb6+nႮXr∴?$kxbN)J#';2+$î\:{MHa{+S +,t73!,ףx5u#ƚNJn{Z>Q/K,dZӿ>|&"67"AL~uc皶<"_[Ŷ~P,,OngjԀ<{Jhrb#_h>K,oS캺gMQjUXePV~uK_?h+re;[kL 9fFɻ&s` vᛚOO7nP]a{Zȝ+ ^ Jp,khhSGyx3%xvLhJb=cݞ ͿVg6)tKKKEZ&9j,V[lL:*9v1 {ve֩~:VPYذYWް<ʥ2[zx:wڣ?{լb JVnSB lec ,uWK--eZd8"ZupE,n"yue:u۽IxZ KwVNcoKaZ@8PK'}ᯪt&tU-nmF ٌ<\αOH޻k͎zS=] J,I \(Z:P>oO}yb|(g[JOIji1 zh UMKT`¬A{zc |ݲi 'M,4_iYѹ+3h D %YgnC!i%?u.ӗ,gXΑTS_MN8b4Y}q_"-f98{84، Z}YW]=mw\/ޙoǍ2>'꼜-|1^CK5ʴckvj$zme]U}GcQȫ4^ʙ' m /̪#F _a/Unv!#gO~g/Xj 6}ͯ %Wȭei;ʌ^M_{ m[js _4kjSJ/6lo(dTyip% ~WU0z-vX8㥙BH~0| ;tvu3*j{۟O{"#I[;ԥe nX]bۿZk\ObxBPS!˾JXc[)ㄼH_}FQI1%/g=Z8p˖X-^?lrz󣅛 7mηHOδȪFּ^ްBR C~skbO_o_64wcv|(ϔ)YytEE+}p_vk>u$| k8Ys%2#$3yvI B&g%'e f:.>{K1k)?Pb5+?9BVI~d7+sմ@;CQW fF_>g܋L?HSĢbC5Tִ"َnN%rudvS)؄؍@&+k:{r \WK7p:;XZR؉ okf}~BZqEQI";!dz &M.CYyM6-S[| k\YVY7o1O>9X3=&Ο;qi@Ok]㾢c-=v}ӻEu{ 06~p xb=vGO|"}Wkc뤛6Yoy^/-6SsS|?~0^xG vg HnmƃVOHCU[Za:ZCb#Anz]K[%ZtH4DwI^hy"-ǖUYy~? 2ob+Ys|vzᰃ\5~cg&0T;kt&@qY֔ewc&AHul1 .ynf}-[I$gLyP}I>>"ktw4|tE$uKR% //)~,mTEBJDh% y Y~F z(w,Q,QsXIe*Tk#3'r #Ƽrc#A3W8i7杳C+bG ^rF^Q_ IC Y,(@~\(sx!Dk3;0}v6 (W0Brv_TryۂC)*RH %qt]Z>w8xhMW4XeN4yO>7k;s)/Ac G8=)J歂^?|0N}ܚA٨n7:(5\q|i$>pm>soeFۋMSn'm;Q9}dWj9ڤg_. Sgo|cG@Z=ze]lhѸ/^2&`;*n4yNoju[k*ˑ=*|PM\DK=AwiOBg:;شUh7'X8(TlpO[c8Vg‘cN^ivMo߀kQj IYk+kdaB94ڀVu,[?h6MuIՌGM@Pt؊xgWhkFV*[mVʫj6I'$ ^/FԊMUƵ|EO<ȟMjX*6q/6dF'Rѽ4-W > cٻ&%# w@  jXQQWVݪ{bnݭmmev-ҭ+X (*XІ W9BB`&9 W_&3<3y;xJ턣ٜ;MocI^ƞl4'*$`MrM)4ZUg HyXNVwѻtq&}>K`WGMBr|&CEyUY`=Ţƪ|mP~EU+`|iNBlZ%Pݍu?N$H5+4Uw+-u;J{/Ov.lG2Mrگ.W*ebUiB1ܴZ[Ô"q3 %]yÃv8)X3vшVG Eaӟ8o'6˞);dBА!cc5 UR>a"?6BZͰ1m:5ʫ2dwbB FSU %#՞ iypT)'}"m#> C9g"'x@90s#'cNx®ѱ GoIL^xP;]4[FZcS!bľmMkT]$iBMNCS4= xfBzKsm ҟ:Vk x6;Odդ5 ɀKk(ȿ}!]aP[Lv켨)p$G3Zf.#'h6H6p͛Ռ R^WU[׉#- O9@8NU'f@v@.~s2^; { d=tNk2^^wε ju3ljޤN34^R'\}P>?Oo!fm_ݑB'6;W: g;k 1l6z3+_XUS5P[DN-m0]/oR<\Bk=p9v;@:A r\ۏUCbQ !m䵪-gNδ@0eD} sBd@%p7"/3f2y{0rtXVpx >S#b;h5䁊7@3Py{_eOc;FLm 97lSHjf}}A,saq7 bցlr2;U`kviL<"f sYJ-~+hsw(y鞴 jw.wC>\s 8FײcΘvNZd%@w0/'HܧR|1+#'zۂI_j: un&g[bb1mZ9i :"{\ Nh'm<}b@`^MgIA)Qf~+Dm3D$ۂ}(]$e^,*sU%̳}[KZڗo֝E.]N; Us1;#z);R<l7a}hv%:sx1 |vq3I%7)`Xp㍪=L^Ph yO+Kb'KV^7wfxj%o4t0&1>O:s.ѳ`>^vܦ ί(L#8n :G³o%pԮcE|eHٕISyez@SM4k =1gyJ.K&S"'g+4FۃPXkBUz?:xJ/LߎT~iecU_c@ԢQ㯌Đ yѪ?|]7Jw'XUdk:z {,*L^ ?߮#gFާuhkl`UNjs9׾V6_dA0SS^3_yCBg'jWy<~Wo2 (O:\h>y/z/a{b hdN̸۟GាD=c2z_}]ã~׫R=FГ=?U$Ԕ, =Qks,T|.8 Mx@qpڅ]%ȾVO1]U)Nzj"عcg}UT:/M$`1['7^Ѣ7q=`hS=m !wjrDOIKb ϸuKW;R=B<]liuVpW]}49Wý֙x}Fn;r%sj;fy J̟)uS)g(=xb#Ƨ!C#=8׈Y/VTkU+;F{UR7 ~I=DibCo8oBWn[#ľ&N>:~>5WbRvS KN5mc{dlwp*MjFf'e򨯯נQsqGXPcypg;# Aspv)gI\;bgǏ_rNJyCƧY&utZMbkgwM?N:BVJyCƧ?I}DJhRv#'HT5#>3(//tV>o0̍qNp^ya2lɊ5{4FXS{ݔ#\C呾߫3.@ qb o{jUFuV:;*|%"J6V:*l۫AO He eK#gt9nX:9rTw sMYdirȾ/9Um/M<+WiʇW$X!E`l;1JWFMNƉFCcwggl~%Z-XcFURj7lm&-ń9Ӄm=aK>l.NRR^R}Q׋wx |STZ8yN2OW !}oQrN"1XH^#;w~qV ڲsC=#{m\sS>hlӓCjN F)W}9hf[^>&QmotoH_[諨/͜LiE*W-XwNYC-WU-M(DEFY6h^7El'm ]D:m3VLvەE.rIސ0[*y'xP%,ҷ2%@"cGNxD4X5FڨYY@*]9lG W?giޛ,\ql|Ml^JBԬQc۹TzOۓ{c_eo,l$dC_959kP_ Q t3g+C8r6l4pS^]& Yc05 #rusz}"77gWe{ sތH#rUC&wʶWcϋrOɭp)FZc#o6pwʜn7-[R},ǥӯ7*F7>XWhX+ǩp`]d. 6 ;?&.kҗVqhێnX+Pֹz\oXskP_sȼz F'5j=<'c/WYH?5̿HZb {ɝR[|#.}zZ~(T>wCB!B5mN!ršZMƎHc%' Y qj +igx!5GB!BȽB![0f/AW0RzKOd~O{}|WB!}&\rBPۜB!vrOx?`\nwFh|3B]Ͻ?BnB݀JǛ$۝Bkr8 B!B!B!B=(`L!B!B!B!( B!B!B!B=ƄB!B!B!rbJnw!rշ9f!AM;#{{>T#o!XnwFH/T!m- IDAT{|sA-C# !B!B!B! t@'os>ȝ͈trJ!@!r =T K!6A# !B!B!B!EcB!B!B!BGQB!B!B!BQ0&B!B!B!{ !B!B!B!EcB!B!B!BGQB!B!B!BQ0&B!B!B!{ !B!B!B! ch<$ evgB!BިY'[?5U F#UxB!u:%wݙ! &ϋ\\M8$byk7'ݯݖm#902O/luf!nN 77ߣuyWUti+',IdZŌۑB!a0\4pt~uT:m&s+W^d(#vu ({kZC~2\_n쒱6y%m\=yt.UW ,u?طǍ¦%!. {GlH:u[>dOm фxFA!!f;~氷'N6&knft{'I}|'*kwǦˀkWgFuؗ+8sY3&d.]oK[8`"f-j5g,pzgV&{78n!2Y<(jbxTOTH/offF[%dj?n 垻DXg$&Ůf3ޤ4]䩃]hyB! wr׿l \E퉗*Ȣ/uFe=(]_\s/ğ-:C[(9B4c>i]k̵+$}g1*7&Zu%Tωij=k4/Z6ϻ9,HZ7GI h6/{$?g?ȩc믧[m( WsN}a—׫kq(&X7@qBo=-Z! /oKx$7.7{R,rOҏM^&/D'lhqdڢc\47͆sx x!=s Wp#USGr2)<$.T KB!)Jq@󯏍$vWQS ffNtlP\S%0A^m kxFebޘ[˱sk?^۵ߛ}!X:[;|ٌٳ}= Gl+Y;dآ mSe;D=MyaZԌN@]Յ#{]k4濿g}<,ZyϳFeJrP5j>Hqj9q#gKL鑗ϕ g $kG)i;R线;3"55E)IMeO+)ENT.QՕh*,$R@oas4^TH5UVVYH lM͡YBktkuNSRio9rs4sZʋ3hnTs_\o%1(ʱgufħ,IkHÇV.q!;o4FJ⎊aG^ORּ=*J)0vQ/ybԊYSbR Ub*ۗ"Q!k~?>n#cANDWEڽj'itW2A̰O*=ڙ.{~+o,`Ep󰰶4G_}hm618q\j;nnɗ<1"v[%:;j<@>]9+*%E=|靄&8x jc[s"WSwEG k/>?8`!ww:!r_U+4~&b$>c,rl ܇jW94CXWٞ*U7bwY2q##n`^bS7s3|ܼFu-?쳬L@ؼe&Y\cjn޽bqįWzٻ8\-g *CŌ.|+W==oQnvm>yѶ΋Υ;ZB<N}hb=>Wr6d--OHF.´gǴKwThBBUٻVVng &jPγ76o} 'cDm n/L/r|1_P]y*LX>0YO#|Avj\Pmf˙s|l%F, 1{>!}Z<1yS% Q[kٴ3e{ rsS#S"D%Ur3X[0Sm{ZKeX~,\Z레QGֽkg6Kl= S'=ĹM=X̂ p[`Iޝ}QF6"2f"aF7i.&sw܅䮒bU,j2sz{RWjrvIٹwǶF8Z-ue[uQWDWXhB;] y4#2#[;wv3 6oscfZj$W7a,iV>߱nXoW"W XY]A΂_u(FR{xec[pi=bONqN>'B`!7+l bxWoH;Z`HHx̣˳CQ,wj˚t#FE,Eӗ7w%mӉFv .`gU]lBM'Tp >l߲H-4Xe?m˽#wk?v',\=wcyj|e/g$[bG6,נ:~a M?ѱYР5@Y\W]y% $b ଚE%}7>a='6#Og?7QcmlU,ZsR4oלujkXs $bAwp f/FmD"H`̝É:\ނflI}=9jV$_hҿ ڪ]كtVpB9Kv-qsV y}HQ+3v?.y>k$b .dQ'=?')ZyJ57^ {<)BQnc)hҷ(-kf{mB*="cS#[TQTiѥ=6ô=?Jt/҉-)TRTQ8o 51!㦾^W9V u hF"7qɐv2=Gb5lMIP1bpԳO~u 80bx0Uk5E;<:bOu-!vv0lrՆuJ+P_3R~Enf\i3Nӽ𧋵Z/@ M8} +ZS3xymIdi|zkgm%s`Ď"q3gds<5(|ۢ/hqVVk\ٙkVM&ḟ|V'Z.Qı*[jKfxDy^fu%˚4S ރf\ڲ#m3K- [vQ9+TT/ NKȭ^6|ϗfIQ-.`\?9bcs_WCۻ7cvZ & l nߗ?UO~4gRcjlŚAkί.hWJ`y2tcݽGVڢž+ލ_9?v7Oo\fOm[l#fd+VWpbkm}yCq9mͳ)X2M)e奼aץ>mѶhz+E-i{_|xJ#`Qe+2 Y׶6oKXx-*!2w0jvfoPՙ*R=.W !=psߐ-="_Ualn.]},rN}abDw^TQԳWJ6!+)ϧh2Tkx8IˤNvm~Mlk*\-`PwEP1!>eeV4K.|,xXCo[5U][06'}4Q-"_ rsFj"UCCZэcYq]˹>?x RL|pM"86܍ͺ㹱}ݽOʚG.lɃ4' oI,TGxJTF҂f|^+{aTk9>*hضߍX2M"V)'l# c_ͨDnϏRVO(g.Q]n'vt3w&'|(h Qc2  [ҡC׭ & XU.|lZyCƇ$ͽ2θ!q}NsS=. w9DQgSg"s쉜QҰys"^o؀ŗaɫ:$,:˗.%OTr*mϨ<[kB~KMDaE IlII^b+r?0E:fAw, [Ը= џݓ_`詿^< 5ioei M_yob`BFbBv[+xkJ; tq =Ҳ[ajgL63ťH}[]=`䟦"^[Rd=>hib@(hm:C\+ZLʈ]Y $/:QNMPF pj7YVlT?R#WJa_1!275[7[LW=6|\LDʲ:8U"QMuwV=(? {-Z7O3czfN9`VZ :PG.7 jrh,ѭCe_^W f}~1>ypC`CƯ!vxN[YPFkD$@egj#¯O=| Ii{L4tۢq_gB<d/>1iOxt5un*-~j;Svw &.`zD]ƿ\φzr IDAT(#7L^x(Ν6%P.t1D ޛy5v%VKVʄ֭`"Xcmi''k3Φįx.v3m{gFZ1oO].eͻϘI GR+g*žٓVնO0$l]Y;<2W2#63%wuڑmq3R$n22Yl=35=:}ևG|w4ҋkva5k ̀V)[=/ΏY0iOS@驪:+x ̆Mu#~ɝ|\|%NE χ2o})ƕ׳³Ci:jBj<V%m̖/K>֭:}Sq(WHlSmibcys䣢vS^J@:r{IcqZ\M_2!}L]x !# kpv|"r> Ԫcw,ߐֲذQ1*xݿ%oks=IgϮoaLm) ۶eR'!ī:\U޾b(q1h%"$_bGID#_QH a֔OTp\9g+-bصsv/` έItS tjm:*n §'S*@Ф)qZ9*h|' 4}ƕg^6t+[B& ѤhO@0'jYۥْds"44h j /4ূRL k '7}vsNz%Z @4`pЫN~C!sC0 {zȥ.-=osE-"q}  q*m+ mGpg|rc/흮[Go7yyJ=?X'Us垳v޻*Ll[T^%Y`ʋ2>U,d7DSFtr&*mE̶ ⌌g]fFv3 J[U Mݼa΀ *]Ѱ ׿3sh]Xo7z_a)т߭Mxl#T{ ^NHzeRؿ.ߺ=JxIne=z+"FM#0Ri1%Bb_ 4!^ pJ=(Ȣ߿iJ$:u7nnzf.2Y&pGZ9Wmw0!lK0U*[goV@;uT~M%L}*毾?jlV.h9Vf<= :Bc/u~i~H\<_/w\J7LܼVfe긼W ~r ޑL8M=# ʢxI KݶP69;`Y'ϔΉ&F:3Bl\Q-$Ι74 B,h[5Nq[̗{d|uDH"KWJmrHFu7$^Ozs=?`Zd?]́klgC2eK&?W6`~@dY3,ڲ$\ny!FA)c iRF[AIsvjZcZ|C/`Tvߩ_{nw vy(5&@Yؓ\ 3Ǻng{o](Uwsqd{ž\kT8wìV;l= I[j8Oxp@p _'KՉ%b~?[|Ҁ`2?!i ( MAnf^SU:n07hп-9֪WMu櫏+z'yq\<ѬgR?Bk>e ^t_刵=5e,n׸?${,&*!6rY7/b@a:,xPoe+U n߹(q|gwmEY[sKLKo6*#j-(nb<͌ ~yypπGOrX% &ϓD %EOYيi:8bjWyv//v_g5VSf|YM)K<o_1Er{ i-eCXJ_Z~or'w_z||fao"_whЫ@c\7΁R;}_@IsYP͐ܰLaдՋ6׫}9ʲU'X@xFY;V*ݟ@.JVVwX@9s*)JJ'pTNd1c@vbgƚ J?TUMFvvu˱:;Y}bWz%/;h)I> PVGD!)E};Qj$A[ \LJ螓2 [Q Lz[]5`|"ßO_<ځdN_ь m?~:O;V^9sF ϕu2IWzLC1<0&r4 `u y*UꝹݚNKOJϜ3J{¬x#z*21+Ίo>^-:WVdj<̉tE;Sy U<¢WZcwOG,X5rFMN dڔ>1vެU_߮j5N5[:m-oЛ`䴅{?¢Lze=K`}dAH@c[߮Ogg"sOlU:7Aχu1yV*qsR:`ln=mKI# LMaQժ$GLPW-Kѧ,SI,â͉CwY.^̭HЕgeu EQc  fD( qAi;,ZC- > Q^sZ--8|ffˆd#&ÅMgvNl1husIV<%^|p֩u&xZoNnS%T9|^⥻5di7xw}rRbKKeU,sk8A ޠ \A~D݀=8!"B}"NسbC^=[`~|?݉ḄȢlPu\bN+nk4\nbMa6XN+m5[xX=rmmmޓFqEiRo4{di5 v#R'J(y`{̏w]ڟ1iWxJ<t4er )JZpn߮[R{>EfF! $%;566nɆc7%kl7w 4ܟ aS']Iv‘p- g $殺nȪptD OYֻ>.V&6up$:0PNƄapώݢ}+:<8k~OV0w&^ܛSvU*2V mncxʟN*ꈎ˸qipYġn^xZNWnQ}Iv/fcuM4?/:~ɌW+*>լ2# MKU7ͦ A IҤm(Y: {>jjctx.vimPkɋ `55ꆕݾV~F}?Ɨ:{|\WlL8} Y5g}tQAI!KJbKtl "67n!jZs-q4wX WFLZlI#7k5m=3 y.u~WV]q!~w̎  -9qnůsLGeKnIO-"W>Mj\aW8 ` `b 0w +L-ߐ驡D4] ``Wۙ,_q:&m;vU6ͪzgÓ ߺ('AH'pؒ1|HZ!BMdw{$gKJ#֜=t |ZuxH_:Z 6ҫ>~1\Ç'>5eu \] wtݠs9hjqB7Wzs VP]g}w c<,W~xT g`>K[^UYՁٓ~nj ]uG <O^H" xx{D4#@)hfsMYPT|ŎqYcծ3].Mfκ{H꽐yν3Gr~-zuwݬc/Ǧ7LYr}UYgY+`jWPxi|ӒâLċФ.n,Uy:fM{$I56ũN_P}\WmU]mUGNM [$2)hȐD/ͫ(:6蕛 X2!g] 't[՚ڼ ~5drm{$)Ջ+wGs[ڱIe_&5kIFGo{ aJR}2w[_g35"u<T44uB{NJc'K!8Ьλ4Vq${7jG%7>'N]*7^tj*?uIokSYtlKnjݒF?,)˺r@Y]_P >[6;SCl̗5&yvLl9!TCnaBcբ?t9LJ,=*Ֆ??6wUb#Hfl VrQWS_.aWnwCC;#7[mKoYĎn+ ػimLX2- `^?Is38 <%-~s0^ J'^C}''~H[= ;2j?yG+j5#ƥKYЬdž /g)'8yV[ӃAKoi6vՄr5Pl{z1#<ם832dQ<ՃuƄqAh7dyvZqb @,`˙=!tԑ.mkc!Z IDAT.hq+DYvmb}ֽh}ĀN54W^{zsis4EytӗmrxwLsJƪW *,IZꓴt`UN&4߬Zj5Er{+JZʱEe ƈ \s~Yξ\,p ]7-"B!Ц,ɵ~yEBz䤱x;w,'{d}WnUqNvB~nU*I7F^KR%/I:zl{1Ig+r:;z6;$-ju%힒H|t".2! A"Ku|:Y.0q);fHm22WpC[rʽ~<<5 ZUi \MW=إ.+6?X8w0 c6uv2|FxjX6OoUܬQ+V w<;zGrXMT*=0)uNa{)3U EiߡגD8eaTۂ̋mu[Z*bو!w3\VCMZOepfYk4 `$@Wuhw QI$k_z`}.\Er۲ͭJ'*[2 EX$vP"4ϵ^{q<=?HXSѧâCVQWԉ*vQ~WGYqc[O_<|;ygD-榒?j ?'XN⠘V38' f9>,ٯ;`bepQWi fb(oB&ume9 H%g1o%,$^6FFFg)2{ԶrMSx;bCmrpʖ6<` &bT?/~&V+ B/~6ؠm;B[R\rs 1uΞ;#%MKMlQnެC̀ &-uRbcDݟBShGJ4/!Vo ~4E,DNmXN=cI;!s}"wV~yR[Gl&6 94@EU1 ɴ1yJxH0ȪAZ|A}Y'^X` [wHcS ͘?(ލi\}MSzw}R[ű 8|aT۶_&]4ElӋ]xuuV9*+t0YR t15e0Z5MG܇9#`5JvsS^cwW fƺꄺAZ ME'$|bs}Q!YLL&uV.W0u(EȝA0f@gӱӊ hBx|\㻊  Wjo/oqq lLœ[]! U%v4l}+mpÈ?tO3 :#$+q!We?Z^v`ILccfIؐWkѡ} dQT+mPw^81#=z1g׻b_donҜ+};C΃{92O/] tsrwnN{!G` V/@w~@Dˤ޲/'Bɬg4v$Xu~lSC9 |HG1vFBONK^; OKFiiٻyk%3N[vBX$ gg _fÑ%)?8bd?Cճ3۪=be3SV^hw^yNHDzwɗ@,=w[dp\2MJBȰK+Q2QZ03ʂ<\ZL޳0u}% 0AAHO ^ﯴ3QcdT1쇇 =}|s"^\o~Z3lnOouS>S߯(s 5u٩+F:iuCv"j]'a(>kl;&fR˞lJWprW]Xەpe{7ftErgs :STr5!tf#'ؒT}7}W+6~9Gݾv[.hUXp<0RX; dR>*+JNY@6UwCv/u;9WefGeNK e4yUkCq-.SoVP^fϸ !+su$҈y\2 nTmTتgY2B,?LnU׍8C}޳Z}frs;?>ЭۣP8y5hnm_7\h=\?{Kow^3pJ\"7 WCUofnvCznS0ĜsqtT2bȿ>)XU% +3{†M) *^Z$=S|bU<]*pr{m:[oQ Y M1z6}vgTeuYJ@ m<>A`s_KQ_Z6ocMItي=Yi VFʒ?)ʃ/=Gشd ҇@\ |ʍа/r|Z29w'^tkNd5U/'|ꡫƢ\)x/rÓ-zu;R^VOVC |OE󹊭OΪNfVF <HߪV6l}îM_ƾZ/]=זIꦂ3@dj`mߵ{T}܏rO;\lZ(J0s%؊ȭ7їW<ɬV1D1zOL`}+5N(j0hX7Vv2`[M=雓=@]Θ.q]/} "aRЪ~m'}MM6n- Obg 剪z+}]Qx`|l2W~:U:u:Bz%L dΰP\g4)|_eC'Qxles7Nu`o(ӭζlֺ3ZyƖ֞ҙ"'pov_٢YM`n*^T^gCcٺDzMIfU27AwGBY xIՓd _'k288͝x]O2 -]xlwceSS}|`w\-xWJ iM n۾3n[;T:S?K`~f}c?|-(M C gNxB杜xc?>l:B`3.ߎ!9񪌞tՃg(]qq:?jkas~B=Yg4d{ }.:6x\pt%j ɿըx~; g?qc]% ɪjJ4/0&ʓ.YTuIϲ& ~{.g⎿4(Bڴ/wlyxEUobmdiQC嚲>as7NTGJ=xlS/d=qiҿWgURPV[lׄOuuSKR8'=w߶+KHI}Lʋ=H 2rբysv>Ҽʪ_W:K]z=;_G.U=$sjs9/L>rEǥee`{x{SmV8f\2cE3}rS69ql1|yÁj⵻eifatiV#V欓~ wKj+(45>waW$VZa J{ &w&CMO3nq[_hV; f,zFY:_[vL=.ԶFL]`&Mٰf4 ` M^41r_o_H.bUR\g4aCE[+N]kgy w%MYp"c]rlJqX1>򤧶Z7zF? T289N[_NЫNԴv_0wSIrTrB7u;OXIӋ -qQqAn|ז6\0tC(&|c!R\xgΧNc--BFQ[Οd3`ꨯ*i[8,}dstʜIȏ`oWk܌pq-vvW=qI/p>ժQ땕zZ!%-u ׏(;IO`h* O7)-,x'n~cYF^ys ޷y0[T͊r |;Sr"+9 .o/˴$kfEB7 3]UZBCoD!&Zԫ4IWwz섾B~D%\aaeQ',h; D;>~ qǣ 'Ύڎ6.»cgOS'\=_p'p]tV 8{x͝?,cJ(߸@*t ,zGLe`674U8;)k~LۜDe2gfus7x۳'y5$Q/GtmOJXf'gV7i/]cc u<|~Rܢg,. ,]Xխ5&x\!V~Uu̚>?C>`/׵(YYgj5C*zIn0[TV%3 U&KU_:CdﭰMzE \^^>v򢾱c9\]B~բl՘y"t`#*0X;8E+wgfD +Q5tvq B|C8Cia981bax܈xDٗҟRKk5'y f-Zz+7Xz ,M-M+M2WDșFn~kl[yKI0C(q] vKUfMo]ݧ_P[5ӶhϷ=#{ƙխ-v ~2o7f"Țq#[`2N{I{`6'2HSF.IcBȝzƄ Bn0&2f0:};.I@cB!(`L4w 1B!B!B`}GGpr,E !Bn{0&B!B!pO`|XC!ra B!B!!?k?T5*uV2߄B!w B!B!ri=^~,ֈB!(0&B!B! x0.‰wϟF !B0&B!B!'JB!fWB!B!B!BAcB!B!B!BCQB!B!B!BP0&B!B!B!;OԵ7; v*[E-7 &B$y*B!B!dh1!B!B!B!ܡ]B*ͮ!:Я/1 IDATrCtG!NjoyBB-0 cB!B!B!BCQB!B!B!BP0&B!B!B!; !B!B!B!EcB!B!B!BCQB!B!B!BP0&B!B!B!; !B!B!B!EcB!B!B!BC1׳pVSjdY \[Y*ȂI#-T@ ֣z^ѳRk*(Uer1jXM@ dB!zIaƹ {5 MVsu#Bȝcku.OUcYB;3nj` ׵۟Bmh37&m)/R9PΤk:Iv=13( }+0*su/A>Op#ؘ=>sE A ~/*^6%ٍ;]KI?bӸAFiBk<~WKJ455d[yDh򘳷oL8} Ws\y !_n#ჟg~T3V΋yI֯.UΓm[s(UsSI5T#,~p9!BFXQ Oӳ }[EV7mGJi,H1c !AMêP [ϫm3(Z|-xBߥymsŵߔV.޽l Bnz/rmk8?7뇘I-r|bl^)#ƺLr+IڊC+h6y峱CZgUQ ޅcn²1*ST@sywzI(`L!Zdª#:4|W ߵ#9uw#nʨۈ߃~j "\2ۉ[d4X>g%8fҷ7xEq68JHY}^c>vLĚ1w9*y˷u`m;-ìƠ:bIp 離럿QCLimj꼉'rq ~ ~` V'%"׬ۖ=E2F)Y!X=~,ɭfYJѰ.i5JEBYgǾfT(U47l׶&j+6pqFҌXTPЏJR+ |fJR#֯FiRhbTK:Å ڎa&\NQhj 5!ԨP6S++kr<{+/yƏ҉+?I?s,?nOSD򲲼A0c_Q!/%2#6Xʼnx#܆j~=g˵۩nh3N|.S$?`6Xunn0XZ'=NvةnFHMДh0nڙܲgaa4ωH04.pig'ߠxoHaut,I6˓A6ǹ3L7 Ul:ک7Lx2B|a 9܍8`T56d!Bk>pBedt{HE%[wz$Tw<[[Uwߡ"v#CEҝJ]η <Fضo9u~OҎBqn9O˼ Hyn7ϏJn۳-q!lWjng:, XxޒϔnQu'tew);=?];xe;Gmj.9?ȩ*&qrw/w_\Kv({-q1Iuww{sH Mݼ얄q9{=[NĒ]ͦd%5*rH5(N1wW3#|Z ^b͂z_Kkh뾊[eUoktv'#M~ANq.p_!Ȩɋ3EbYXX,>O' /il r x,3SAKW~fuebhO yQm?,ZyVFz<f?=zvT+2- ް?cɺthZ ŁsEq^_ԁ#z)8K<~3vӅ_)5vgA.>2<2WZp^ (6b86CHr< W!6,||QQYjM[+>b%=8mN*;Tj=7 I'L؛TaȸOMRaeW@sioʆVUنMp{Qɴq"s<=1k5FR,õ_mr[Pw!Jئ{őʏ:ԇ̀d>#I=fayؙ9˓>jfW & EKe\ ,-9&S2656;9kmM^/oO9a5YW=O=d{㾆47NHi)yQzI2k풟>GII,Ɯ# $)@%oW+> F,"tV5ƍJyS:\ S-t4ⶉS[&H҇$i sk72egw͗KɖU?jYx6"ksj??.7 %[3ZzzPNgd㾪ޡ}H2kiS2{#9?=$i==g%>!J^1W&RUryNG0uŏL+d5NICjɏ)ˑ>|f =SμJ;~T/EѢPުHgT-K5.ivr$ @u*e)eEye7$Q2,:VBW\xt}<\@W Kb=v ^?a Ʃ)F&Cxqvhwv7mn/O9TĨ]Em)fjmnkm7$% _ ޞzǞ,g{Fw?Yځّ+I mjz%6<Ϣ񏡂eS"Uo56X#}`bYNzM@,pVnNp’E0w;t>3 sGq5jx]osØ𙼇c9xJ۲ϽZiWJ p"a\IMS5%10 ^8S$I.blͧ5Bz~Cϩ=ůH\:8]Sɶi-piX}}ʶzۍ0V`}ꓕo*L5ЌͮYWOzI)I{LnnXyui}nv6\͠ݖ3f1ahyFf^<[V;Tz~COִWDޣvۣ5C`4vZy]l!-a]|#^ TݤM2oIpp|;7DdcV8>dtL+MʮgY%YLbT:jׇyT fMtjixey<ҏB6FV)~: 'us;?(R w^C[ 0{ P ts03cl{r ɨU_YXX K.4ԙk⦠Q'+V\6Aq`zͮrW%$l  Z4zWt`]Ĥ{f+c M=da?LGDt~϶fYk;$V CO %,}@h>`Vڢ}_r`@$顇uP彯!5r-~(j.j8ʔ(-Y'rBu {, %PzYyWeգR>g}tHCeEźm|R[e%)䪜ػ/@fnXb2.s%1|Pf}/:OM&="5)8 Im~* ͹%G:=U(3Kie %m<7/\J{@fq\~\iV<[lf_hDOH^WjhYM)V,n [1tu^!K7z#emHͶ6gkMk]3lubˮ9pD ;Ijm8SzTխ}_;*|Սڦ[ytb=4yH-f!{7a |f{qEp Dk}{gn+ $'l܀DX?`Hp'b}gF?n~;O1F7`Ǖ&|Dߣ`ܯj4, Kgu1*ucmn)7ϼ17vGJW־TwK p-KQbnrX8FJK>~Ջ3m48!v*\a+*RIZJ !ciLs/sGړVu .ܑ"ϟ2TV4Y=ap2Y']WdiӼK.[3?Y#+/j9/TI{~CLbEğ -u:iKɺĘۢ U@xX- [ pRTzH|Uقǟ;,,,vnF Jܡ){[CAe8`[!1}#cZ`y nU.?.Rn5@'x_P{4OQIn(;o'1qxdj aIFUG*O^^Jxq]qr\$/Y& sgEGꕢ@oI8Njy`zJOֹ؄7-^.p *+\V-fay8]՝{LxwD;sk(78 XoWoWYZWPcVUE#*:Ø Z\-q'}XInX}aueR3S]JOt?yIVv^ $|Uўʝr]Dz*[0?% [|V Gdn)9HTf=Qr1L]R*kD# _ݒ m=p-yPiTò3g"HzwF(yOI檋1G_|ɶ8*OR{%K*\P퇋_ ?KHp|li8 O~\4@rKP22uoZ I_*͎&]I سMMX*~O cC[ 7ԝ@ MY.4ܱYgp;VH0 ׁ.wſZ/_?^dUy+]>#>P-"_ :-qšҜ!3ɠd eʞɊf)KALneṓo+TTFK#"$DR^MTUi }tr $HcWێr BrGQn;MSɸ76t$򬜢x}9?Sf٧mycpg%.M:'kӘKΕ @3UȈP5W3 2I@BGUsٹ=G&sAIk_0}(Q2E)xvp^iym7Z#ԅ|z #TI,,S,=M6дjrIo#VG~[V7{pwp# GNZ:|?M׶w`?0rzM6l55 ˽28!}cFbQL _uŀeV}eI8 ZZާlf^0Pa:S[ͼ}0VUբb2kgM$a m_2|b祍hZ}+NЪԪ$>8X\4dښ_T4ujG|br?$iy\OĻk8p |B= Z)5 `j{m1~am`T zrkmmC8>,'.6$ҢeqP4N@`ſ s ʧZ!Ϳ 2:5_tO,F^DvFVꋍV(d9d7}8BE7#jnkdA0Žh%ܹ -o()GW%;C'rO%ߟ~hp--_8n䕸zREmv`aa" 󫎶tM+G^~1DnJ >EJuq͑t1?b?3n62M=d;sNJMv4+,xXze4qD]'}RPZlB%dRV>F@hX$D>:(^me6z: 2,406G,ݚ+//WSG憒+͹IT5- 1w15S\E}Ut b*gʖ<-kRdXX`f8izj V(tn(wIX1DڪZ,+WQBӥ2F<0bEB|vn])baaCbtӘKu,?vDD^M>MEh\ЁjZ =JXfC8r&"aa3v[9ǜDO=h+ `E%|z|t{ŕD܄e <җ*JݤؼWHn0j,/IփU?na2#r&ye>v~;Xc= Kn'my1@6 Au7$}7|¥UWWUeTz~1G=C+ع2s~q^B$aT5-7hdJR({N]Zic L?n6n8"11Dg Gx78,#âTH= z9~?=ʹ[c+c2,,, vnfwW=LٰtbA_o0,ӁXbtaɎ^X- QQ+[F17$5 ᘹ!'*>"jjv;{/z ũif}YX>ωo(mfkX~ NUsXljݍf@Ȃ[9aܲ۝I,RKIk.Q"%Iqلqtt'=3'Z\9J5:|JLGȐڋr-<%[u;AєS-CK>ҡ@C&͉b%q[:aҰ n|BZZ7Gej]iP8]`dhx$:ڈG,Z'FK)UTffJQpIqD(Rp^Xe~i^|+^Pf]gOO4@SXͣޮm}KTUqG%grD?4&Rrsb4CwjX$ّ 8ޓCՌ",2%P(:&Z숮N@ ?-ZxEP?N $*39}&i9#; Ç6t>uEʪĥmRjfY{6`ǥdWk? K埞 :ݭJ#g Y#Z[J+ʾ9cG,,[תֿsfE"k)+1;0@̞İ1;jQ0e)w- mw^dbܞVEu۟KۋS]ܙ2\ia)U#\;FĉGUn0Ͽ'P9g^] F NS9n"֊)! p$%G+AUBCԏDsEޓ'/0MڣA1m&nio9-6k5r,\tt]ߟߛ\26B 5gaayXs6.W[mwv\w`q"9Pz'^ɎX̤WUVpD?w\9Kǐ;{(V0]6,ۚ5oJ=ᇭ//V1fayxxؐrY[Z_"7v5P?Fo뢱`t_ypyC Ck{wGc+Sr2I{&#C&W Ϡ0>0. MZ['{])C)Ry[4/*)LHd UyrEV9qihmu[j))QRsriaLf9*0O?LlL:,:2SyRHJ U؜ VC J$h.*4#-V~xt| d4e.-24۟X~R-kpk^wA+4gpڍ6r8N1fL' |qei8WbRt~]]ŧ$Ą%ņ kգ M54}`nP҂)1QU9$oO\0i XʦfqR,7e-:ZsPw*hAҘԄEc節gaayXs82:5'{/ldžc]Cww9qNtq?}!ka]if7:kԎKFEyP}48T;_Vv pW ?ցy.&geaaO h拞#;"&6,Q1zGCp&C=gCNTzHy[ԕ˕҃ȐV+qttBht0s>K&И谀$H0kr)9PS%[]%@>}ewv2ăM]H.x={RXssEqV,*)ʕ@&K%#u=s]q?2"..*,̗I*YØG}]-Z ? ]nN}Tg(8rX`@OO@츙[z@y邖b#ʖr8.x%%GrLʌA헑Q EKehgGsgGsҫ!1'H>,,,Y,OOtq|Vݗ[KsWms,+?wY f贳Ö}viűV =ļȄ׮N6v{]SnÌWeaaay$h0p'&|#\uv8ݲt1tߍ>Ok[O}XX#N",YťFh";(-_l}Kuӿ+K'7xH|w,j WmJ|벁}kMC81Iݿ_P4}M55kV%>:lrs΢U;إХPYmH|Z7/D7;4ڽp@[N@NyyGy6u8@yy)5Mjj(muFd\B }< C !zipCx3f( u|]n\'L{7 vvTjF\1oT|misOMoW%zq8T v 'dҧK zeQQKc+xݡa> =d;ၛ NHy fJ"Œt~2$UWVor Y2DT:".Yg> sRGzyأ`WYVxB3b% Hrz "Smizg5cO |:1l8~%]b-?U""KʵZDêRN2>[-M}}ى]n4*grEاugd'b B&izL_)ׇj\./˫f>GQm\2?׎Yp t78{ 9Fܝ(-]zv0'2v񋱋6͍f7k݂/İRK׼`D0Xn\zM^)JHc@K-{``ߤFS:n_6S;2t9"RDc#M2pkǠ&YD,,,3@`?`cXe:<:opy+Ax _0q ܹ3bDhtfx$pS׶3¬=wCԣ/0mm6 Ao4ܩpR[&ncbh` rmV6] ezC_llI[*K+m;GNp1>Mf7m6+`7|V{͘`p۾?ǐ2.,ܱ)!#{8mRnDŽRqRqMuMi^KI,,,vn}Njp?ߊƋ=7* Y:^lD9 ~pZ_M;QuhC\P2r]qu\aB~7hr 7Z dy%pYX7nWm8> 8&[FmY)`L &wqLMlt1 _4|$v[ %NS.@D2"XDAa+n.gUЭ^Jyvg^4,>"'sN l}Ì2̞+g.*wp(GI@8%EZ[_7Y3Kɼ>J]u`W9;[,3oSZ}b{y xIJteBGY?W,p|çm10>~@SHmӦ'${尰|OFk?nYzi ^X wkRW@ҭOLo<霱固[tQc̈́ǢӷujYXX&"*&+V[[- 0f޽8QBf*yJsE s}`nSPN8 c'nRd KN sec.( [;7lm@^I=cCeoF7e1`PNu7D9pa@14qiÙcGʦq`h^P~s"Vw/_4)V;]Q`oI Gҏ >pχ{(LovH1 ˣ'8gk"u}MDImY)7 FU1O1U[uu 19?]*&J!+:2pː:5]$#5ה [ {VX5 ڒ9.wVJqI@fn2ypgSɳL@s^B=s$X檋JPni_4(š*BKIPJ 2^-Q*'nt˓WV| )9K52Tủ}$JqV6Q𩢻RA6 @Cg~E!]~wi#I1充;}?KUpYXX{ 755OO&WrR$V IDAT?R`Qv'6`E`i9s09%-Ӷ."ش[3Q;{hҍQQY5nmϼ`GmmOp5z{/Οp{(I"j vsɧź|c$x0+* JFf[!Z FI+3A=hfTu;LI39q@)JNh@Tf)ohNͤ?d DQJqvmq䒋Ltzz\I/,Y)U\MG4ánјeE;i[segt!y&ޯl<{^|~->5bO?jj[{dLK +lWF3WN8'nAl5 }/mѡ.euA5>\pX-v,,,w[~q"cWo޻{?[銴jv'^<ا-eE?ƭqzy:?%W_,,ѩK+ 6E_ *mal8qwz2ٚ r?K MTM09%`,=,,,vn}37vЧ1n;y+!& >_Y a`=mY%`#"vF݉=Ng4Nvd]43% ^7dKT?WYR,]7Y0,В.͏2=M~W$8 -SsZsUܠWJd@k ?>iȞ7ԌF4%2GI৊IZŹ'#o$?4OA369=/ {ݏdH]GvQAɎ f:/%ە0?̟hj({\٩9k/BU8 vh'Mk_.48p7npWlaj8҃nqC8+S7*OM~18֕ňQն:M,,, ^Ls˽9cOOC%[pa IB;gG=dyxVМF(9T.J,y#SƼǘNM=rQ2?4Dd%Ǟ+C&ڬ9q0sUfuץ$kI1~FL SskD\UΠG$۶K y f>ݳfݮ~n3LH|1xi(ٵ`;UDS> {d\ITtUr&Y.;oHIV̤t^*R]Dԥ},iMtW'D,̸U@DI,"5!?uvNy{(dM+ѣ`mzm5e_>irDr#e/cTU}t2Op%;)eaJ?|zaQ妺> A`{XOj20{gucΖvVǖQ#Q0|+e}@65]ı4@p s,,,3ܗӷi\AUU#Z+[6@߅s9U|kk<X:sd'С͋e;5}ˢd|~rדc/w~'?>*8OhG%RqȞR"ՙÉ!@*= U[s? keN5Y{ ޽|h~"Jm=y~<07T-4c"udەk7ԪU_g҄ t &xs{F`17Z/jhaܟqRF;Í10*SycJS7Kv!BRg߭ߜV}Gj' jS!?` M釭CvcOqQ2KE; N%UYmdF}2#QĂgaay`k%dj-~1Wg] fyZ(eG6ƃ‹Yx8qvF/߮1onM}bc2\19:j}5B?]`YX R2}85m&8|?I @GkKGQvc_>*60B'd 1e!%8+ֿ/?2@)S*[U0K :KRh_UѸѵDčmzk zBΒ]1qa$enh@Pk' r# /[ceRtBn#=cr%f WdNh}zz-rEjˌjw!4}#ʬhךv$*oi-Z"x1&kHxmZp9x-_u.g5e=ေ P7&!A=Ъ $m YO%4U^.z0a-Ĵ8sboW^ޡ #C[7 &TBmS -p֗u[wحF/iVw9oŦM/ݰ]cokzæ 2DM?q='6\/byGvn}Ž$o.5/ bv7˜)JjW8׋ TcD <[ɵ[WKi|}w3pY6M^ؙnu*_4tswti0՘7bdžExrI}TnՒ^GpYapGSLX1Kޑ+>ٽeY()c$oZ/ G)-G~[d%qڗh8u."ZxOYj( ДAh /#*7-q>j46VЖͮYpZMݲ%hG'H?)=ꎑLqҟ\TU?ק;pp@b&cZ>f 'ꛤ[am%msdҩ H6 : Ȍ \D$|G2Ǚ;sϾ#M/# 6\;1Q̞wV\h~Z )Ʊe#u'i g!\.uԹo&*8^[ՖjuFVz犔ϊ9o /]v2/3Ζ=;s܌USxv[KU駆 ݽfF.V3M0QvLc gly4_cKg-;ʭ[& 㧼5_7ĥpyG~w-y? Y_=#qV&G.OYkݨG㜙hp=O,wOXT0nOb -`5oRzm˲ݳ|oƿwfM%X;˙0oJ?=svy/{enveܙ7+哽owpu j{I1u'.Y4sC&0 `ihjh9gWy#Fҵ*+ \IgepM|-)zLXwKSUCSUCd?<;vz`ΆE!=_Z3>!~3gu%aQa3|dLrTH<07}IFD/4l⪦ mب?01*ukjpQ~K۲j-ݞ @m_5߄?vs\Z σ\~;$f0}aFwGvrMK&Lonlr>HILLtoNȨA42eOgޔ w=7*}[Fs Y>Ѱ'FBM?5p6|`UC?YoX>{<`LM+:"4H'˥zm8^EȜ'Milm敄! G+?spf};{*Y*KDWakuL- ֵ™sl@7rns 9l]AQC?J/*NVכ8X;@&U:1WV }۴kUKdg{5MLv~춖3 m?C {yc/hspus&pX$ik4ْ {K [G\lipʷgd^GlK&B Z|θ}~U竌vIF:Sxte0yF(8'?νZ!=g>= 7wҌF qq.4X~qhdroTg?X{īxy[KUgw;?T5;p&ȱ~ykO&40jfp h36yp8o5v&8fKK ޢZ~nF~>^cE}]ݞ2-5k&]݀|(͍Fف/ 4t츉ye,BnX| `8~f!Grd8 wMS 9mߕ8,AV!<"UAfGIlU*>!ZZwS"7g^enFj|nFiE)~^/Wrx䟵HNn?h_mƶ'>(#睹^uzr1!Ƅk  BH7/õWB@w`r qs#D&q_Y#[\9_Cءx9]#I\a,ِc;\b׸x `#"bpͩ @L -2/HIhq9Lu#4ZB!B5GmsB!0T/&眽%7 9bE?frOmXٓiPٺ,PL}MumV2f}9ڋrB!B! !Bn`&f_L\P߬SmPuyQekbMJ}?qqiە.JÕnJx>G`e'Rٍ {W6Llkx~B!B!FGmsB!0Mde+QǽQQKtf+f(Η_ Q$>m֚9W*@6h3ps1JM3; cbۊN)ܣRk:sʦD((dC~%>2"nB:q^Nz_bb5 "[DzR+B!B93DƸ_jB09!B w!7>#p_ ur;rg+__5BO!zhlݱ}Bp;04 B!B!B!2<(`L!B!B!B!7( B!B!B!B ƄB!B!B!r9{v@8[m<+;]B{#Bn#A5=B~zYR3E s=1ɍfB!B!B!B J0v̘.!""_6rr;iovBn B9Sח~F&kHh1!B!B!B!ܠ(`L!B!B!B!7( B!B!B!B ƄB!B!B!r1!B!B!B!ܠ(`L!B!B!B!7( B!B!B!B ƄB!B!B!r1!B!B!B!ܠ]_^[U9X_*g4B!Ÿkhij~͍MB_?QY% B3r}Q[jnY@wu窌v3ϰ"PoxBr!\݃0(7.u/,`&nN*ص(ѫ=34#B~^v]Qw3bW}µ)]~pt#dȸ\1+2 3W5 HVlVBDBY@ KSo/c'U9zrOWtl{V3e(1+cA Mr˜>%B /Z <}nn1g4 Χ_imکӜY<.h2yA \]/?_F*#OEhGYy;B5ӕYg=ygڏt坸ɘ$C&9Us`|4E7B!Wjp_(*h/1?T(ዧ8gNSミ]v0[B~5J|anya֚ܲVƄvs"I-f:fPYor~`މq>Yӯ]8uEN5\aor"_;q1Z W[LZ߫b=wdSƌ=/wq{ӯ+ w)jZf1պJRX]½[CUʤ.ww2J+^LMwrB! V* S;]WmSteSrOZj,KU}y* [EeA# Oh.\q[rarPW/m !w%<ԏ'[k2 ob|`{xK'4F<J[ɚ$^-AU*{{_G&2cX'{ޮr GYIU[)o_yhK*lʴ;u)S\,e{6/HB!BU<;V>c^Xtys_|o]eb퟿rx228G<]{e=g—tUZ) FϚ( ?Tbh_|XfK}&Nt4(p1=GLCmJ(Mk_Q I:=pf}VSєt2s TFy"I5kl:]k:rUG[cc˙FWyFstO77 xz*].hK z]%.T_-'@7ϻN\@ic1e6%d(YO!4u?V 2_©QQk|7*j4r>ާ,q#x (`<2t/o\2tn ľб~Pѕ u%ΟWli5nh2`ٸ3-B3 Fy>LCSUvW`:]kj;8CcәƖs6?@'\?m~-Icb@_p*2A9;+<a R߬j+=3/#_9)a]Z̨.RfMQ[k4Aט5FME?,2UWnԔuzBVd/sX]nҘ:59DZӝ b-)&URԷJy@(_uO޳s&l _ժ4jJJ^7ךel~}t UA C mQSiE25]_cVZt}޸y8F2+?73䚣18o4~owpu R'7ta/RY;)eEۊC2M`Ä&)VW荪" Ò@NƊ1zr5wPg X O>&w q ?JO8GuV,"]_ۙ2XuHzW⺍iIix!.Y7f&)ISz5P?],ff^l\컊2ӹcdk[:;Nr猉r!,^L.5coJуpfyb.1b`xX.kGAd$D㎄RN,]a/nl ~!*AՀ`e囷UaϮ zeOG*QS`r|x&l#l`/;zG]/_#J-ᴥcFEϜF`smu~we3]eF#,|ڏ]6)/@|'?SzgV 17͘S)KWxrxxD̻=-vE`d O6tO,!`J}|IwlʭuĨX_e5ROFDzLKLI) w"Rgpi2~uO s:~g櫟,~Qu?eei+fsǧ"fvbU(JX֙yk.]^{yc֗u;~[("]X[M*a3n0GQ%s'AH^_2k{=H{vF.v?)pU7ljpCb:?m>HҶO~eZ2N˺,{"5 O < IS]F[}#5YKi7lzo/ݛv9ȭTWvx!)MZ%Ox|9GYKWؙJOZ%OK߫(_ڝzW*Wuq\_sIDY ݞ<3|y[+:uѧybCnՕ+.\) ^Ν!ҳ *:OP@ܩ'{۪4eVWnm3[,sL 76;űo*S 9k竷,_\{Xme⸾X^pCZFIi?p+{r[Rm UXv^,g6sN4gӪe+#Պ,rά!kY;rRͲ0eXVqtk T)SifBz v Ԩ?<'vysV Yϝ4VSZF>^m_h%jK#u꺎>Fhn<@}z fk7[fmrؿQm,Pϫ/($;Ⴓl SoT7: {Ct,psOꋗENy.aᎉ9 ;`jNj,~5[xB5j_E\lF/+4+-ͭp%-K;sM/5 p,f嫻k7uX.ZsV'.iUF)FbiOU!kuFn Ɯhj_^smWmu; Vk5ܖnT'{* [*s]f~yԼTqw?Vr5Z9ؤ+0ϵfSQzM,31>HЋKq?V(rړ;bnOV7oZۓz0yun1 V3ZMV*Żuf`VsXh碔n=q {R ,ΰ bl&bH=\|wP) yUáVuO8ڼCeU:n1x^I"@|h`Xn\kzoOg?[1GXifgZ9%ZOvϭ~(:=ywҔ^gXbj3|X_/6h՞ͮ=[P:Oڵ%"@kwOPzYg@Gk~IȼM4"hڟQNzk.8Zڒ%ѿEX?.ܑO%) 3e;>X~p8m,TiJLS枖f!S)7*SV3Z,y]l)+fe39v{9. z.MMyET)+8hrc:ķEw;w$-q:`Yz ,8si^Ia.L-')gӈco.<1=gQSB:*Çoh勦.5 sۿ.Ϋn:|5﹛v:W`ɧ2ŏuપy'HE \TestVLhTu9Yk W s L?#+ ՘k7=!f﨩Zv 4wϑk򋷗mK“ç] 0}-qk'Cd> cGJ29[h*蘋}MٟϨSWnankr{Ío|v=+l{BȵGm;'(/vyJo5p$%.6wHg@"lʮ*{>=?-.X.auG˒_=Ss'6MǤjVTJy0) {ljNDUnÌZ &m(X=e4b4hqPpJyb55R- /n1@XEr~4hxɼ}^U΃{ r(ºlW2rc1 8ppeI a['pFc@ҧ3o@0:TGpB3\sټ @5ި*$Ljxd`dK +>!|Lg:!7w.<ҋ[&ԛ Ȩu]+bpYu9]B gLa#< JY{0Bu^|;fVeJq˷+8oCe ^dcFps4$K$ XDus 񼹽:}^6h1wI9YPqҶC6j(j|t.#}FGύQX txp^g`ǒF˗dž:p栋_>'Y%^{ԅjC]ФG qv91>AcV>27V]|ojy,?٧}53z ^ jZ.~7w̭='˧jd0ќl{BpuI$[2uȪqĄp\z":I#Q1+EOJt) 2}dIV[ݛХ隝]7K%Rg#biry<. yCh1qpiU@yEADV0o*D+yH쬯)R`@_*C闈anBfN bj ' IDAT/YV-Sw٭pWWu{g)f;aVרZ`mE%G0Ym{/*T4JG̀t^h7pVU~Z9<27r;{Z0.Y-äiVn)H~Ҁ4X$ 3}'ܞv[{H"{`5(w]c}~pS)@R/dC>Onx[s?Q*ȼ6St~QӾƚv9CۣDyQoU3(qF6}?f7o'K?pxbUԃb<%-ꊠWM t>LEcc]a>p7bV &*MyUW_N>^]/)_5Mp/;=EQ\RK̩ߎNG}eT__ȄEI[NSоR`ҞN [: w7.ucB!gspt* ^`r/M~&`|BtXR2y%ˣ~^o5ѴF{+W3/J" 2l]Xɻ#n?ysqQg<')u.}{l|QR>$bHfb2a*B?C4+ꅇ$)sTu ep1PM`dXpt9rJHyTit%s^ˬ*h K\F;󒒟܁3&wBL)7\ Lx_vjA[g1߫#D39/fn Ȯ>{|Iyf{<ijbCH,L⻿Ɏ&siRoKIv抶' j_c&oQ{*݃p]:0KZ3Mܣ>P!cr<m->W]0=kŒs>4Zג 㫘%B+U\Qu0ia -,|c0 gԯH3{V(TUg rtq IRl9myDE9w : ߎ/œ.N-qVQ!Fu "&>.y5;0YhwŨ eqUǏ+va:?C=?kh5|:{8;. >67fDX3֞!aD\\J#CBg9`3U!ęcS롼X %/v_UZy,# vmO.6y%.+i&3ߺKcBJeBp"u ]66(0[(W%u#Vv'ȁ?kRF;B7{ Y1>l00 dGUXaPć*Ӄ9K3w#$1cש[Cc;_cu:p{tczZ KKSWyKnS;&IYN$<}Pe<|ץݹ]-ٯ޴}QaN{"uł`uQeVD&1꼒h?y?zW5p "GZo5yߑP$ި>f0?98^x Tt^ߕP>/pv^7ꯠćzsVU`'F$}Ӭ>jx֌ͷwTwT}Y!0(%ofȰk抒 m%F;S.>Q4V7ۜ/ z.E,?lmǪ9`DPOwk6 !.@RR̪73!OδHWvJ`ġ}'ObNk P T=yy_uϗ.[V<)i6-E>Pgvyƹ.mnrݳXB:6ZU{+ڒu;۟M6xƺ#B-`;ό/|~2t~k;]rſ罣ZO=6c}ҌW-35_ wuK;fe4"3?RiD 'V?9}C|hgܢlo}w -^H ŀ>_Xgů F&?4{Up}XK vC.tG2[uO-nhtLqb}1TY613#.KMoll:]{P\a8VVܲ~!Ǎ`=J7T5BzB ͯGLDs>[:\]~x0.#]Aeٰ59.cu |#?,;`REzL*J%sm}pyqZ5xKDC~4IStT\[q$I`ҫ/f*9@EA"Y@_p*|(+NˤnT$ȩ<|^7=Bڕv9#bqhyo|^ޮګL\Gg5k?ooY/mvX*fN3ܹX(!&gש;+U<+bʍEա:.~͵fMPP\$n 1e4?ʀG +ng0:hAL 3; f1{/3v fpql@iMN#~m<,Yj{߻qɴЀ)۞2\m~]01qZZ5ϕeޞ6s֗uI5fEUD&'juWnXm  .k<2ƽo55:#;Bqoi17osl|x("}Y+7pF4`CUgV}a @:E ν}35rڬ\K⣝u^]FtB?fgLU|N x}Oڬ-Y'E<>VsKJ 6=dw`xdd<SA@C$c)H9& wT&*"{LԾFY{ԕAYwDy:Vg[6 <ə}c+fՆCV94 |E!P~-i7I<ܭ,Ьٴ:U5c9{ iXtjb~l}qqK]?QmYTvusϐJ#6oEyBȀXG/F#ggFUS s8E/(Bȕwo=`<-Z c~:ዎq_Oh( F0 YB#N^AQ&_vRu,5&&<9}6=l5^8iw5e)?;/ynddk4>|}t =2sktߓf?:S2c:Sca7>zjl}G0u ;fw_phg䗙{"0{cü]$%lX21*m_֢-I-W=!dP䑰L*f#BcY2[gIץ,*RPYԐtɯi38M7*' ^#L|"clf8U?-H x'ADػ k`-uٷY8r_ޒڗ :]+ઢžm;).9; uc\ \1uǭ0r/ @$QLb[uO[+mVVlmV@E 4X( DLB afx~K)HLfNb23|{>/:eJ?1ƽȄC&$?kΗ/jZ-eo6V]tK#&#Mm'&;>cuU/%Jpo;?<u"Hm)7%!zͥnKC(K~tyk?۩&?hY:3+/j|F:lPHUVjڸZ,uotXB4/a3y1c3>ќY]T9Wo18tjZʪ,3>/XZYY[\} h>Oo-}zifMlO7-*dwyj J^wge(<8Dn"R&N9uTEk+>ϳ&F:Ҵs'=3W 3#jo&ZgG GK~a -}OkpY6E4k!qB(oLH'>PsȂҽmP-[0"禆} w䴌"fdm|Pf V|"U&,("bGayP%;E:dZ}5 i897 X@3|?Mu r>bgyvy?)G Maŧ9, $13)ͭDD] $YCA=[qM⼷llYKZ2mhɫ9]_#[ w<~]|wJ8o/ Y`ɪpzܽc=}@XJB@ߕQ#<_~lGHΔGkxs֬5Y '=߭K|[7f@4덴#ɧXkۻd8lGi (fkޗzXo*hGg=ЗgݚGg~]q7P҇{"aٺ"-(m 5y@&eZKot88?4j.g}_^bht_}U.ޡx;@ߤH@Go`6(yx3؆z&Ƅܖj vxbW)d=q< q#?^4@u^7>H| ‚j` コYcUűV^[y4lJ證0.:0qwݞrQv$M\ ,Ѥ{ %F`1bz+BQ5&0B#z׌b2^x׸=q"-n+#tˠܴuCyGjF3qS]abY:zLmN+"n)DS$1 x˂G/(_l,7S 'P27luy&XT:ox--sK9͠9u?M3]ڃ}c hP_X0!ȎЇl7/CxuN 0~×VF/U$v5' μ`3OyC^ >?ކ3/}j,P˕-=5Gc1~R^qV y 𕥗{F]sk෥ɠ(\K#`i0’{xXGZQ.jlRu/Z٭1"{[9Cyu{;QK3܏,FF'4ߖ$A`9pK\dXΝV9T^v)/jht ,5TgT|W֮Nt^7n"-̦_̘.vKΉW4* nᾓ;'>ؔZ)~1^^X__Toq#_ gcb*4<3%}c*0dȷ_PڶYxyڑ/`j)`VgHSĝ}G u^C}N5S682o+ϩ<3Ő;k_$ZQ=!esԋ\mʴϲoYU=_ć}f[sv1;dRWe2(ƶ-0'>RgQaA`,,j-j՗8 xS -ꓽ-b(aox+#0V[ƴ S{&?5qJϬ);_+{mgnY (X=*O%'n=̲' {1ҰW$c<^,VRj$B!D|A7,&," fc_il\Og HnoSJM?:Ի3mOmUiy#N_h7L55`:R`f(E5A?K'[C ϝM 1~=}E_|Yŗ%. [tG I.1`5nƯ3s]w` RUvͥ?:3Vn@iږ˻smLh^k|sq>}cN0sϽyݙg=H1X#&c=Sek({LFM 6qYcCxyЙ;R_gSOlM/>esHkTjxX lOy7-9X2ޛL5KYxϛ =+_wF-15 =&z`Q?F.Q)ckNiGs7)yqOVK8u1ɓO&~v٧nAKЏ=)祋$]>/O+Yv)i-̀-{F]R_ ?_م.+uj&8)P龣j@@Pbt7׼I܂ߝJ7)"gGat'h*KqdK<sWд"7Ua&OsbOdؘz*ĺw)].kX3p{plǸ_-۟Mi {*yŦ=q˷HU־9>-EC++ߒs|Ӭz{E#[XKr k<N*n9NʜWX @bi6N ~8 ['9<+vТ޽;RCB3ٹ8FaX~J"b8FDQ;&`rrhKX' #^mڽ1륃N}{-{w5xϟDK2|,K's+:?F T\Z-]/+zMr=vag)W`7b|ʢ!M6upqp⊢&|cS+Nq'+~ub q[.)@0%̳=tHtFiRU#'p#w90`8#j[x/ğ/9ʱ?ɋR󸘐A,<åL\}pSߞ8coIb)8[}mtE[?نЅ-5s ڊʍ[ݢUw.K 'b=7=!%QeyR^S^%6~B&W3vyTM@dvg]g>CAZyESIQ:?څ&,~vLzn23}j{,čL/礞Hd?N>@s w eQoզԱ4rȂcl])7؍{'sP`Y`"ycDeHd$z!'fg&߿y3\ߡNez*"ۄ wߘp)rQ_L'-M+8< ֤4t_5v*ڤޢ8*_đTtK܅n~߁=,zSO9kJץ"lMmڦo#߬&ζJi$E0-q<(3|敧/<LеY7gmh!qK@Z\N VN۔RA15mf UQrx:z7]pw݊mݧ߯-^c&>*bKſ.:X/m;cq{={=1G;.$Ys|~t-پ1yǹ[] wl_>%ܚ5,}sg7yН#e/l^iKHCn^YԳ'()XN'z3{ӿ﷤ߞ=Qd:IlAYmvDMi;W_Z^~W8J}݄ЫuʎBE3}; Bzsl>pZy=:7wȸ>Qpؘ!o.AߛZPP&|Z@^?/LI+S|B}#MMJ>goh}?sԄzw{N_W6 E%1A O!{ HX-[rR2S0qI\ޟJ|B~?1Y'L3s>'U^o/kv]ļɀoJL勧-/r#ۋӌty=79-S9:KV- 72nT uϗsz;M^ΰU ǝKK.sOt'>chHyc_g;Xi=6$|qCѼeQOYmp;0w0:`.f+Xr{~3 {Zb`{AxMҁz>gRKYҕ;Ssݿ2{v{9CeHEXH./QҘv e)+#@R~,OqdWޱ]kDx8\(Q(Y"OYK; 2׆S=jBG Ƞhf8[k[/M]6/+kt?i\GN~_%t>{ P1Tk[[{g~ew€{ZkTYŌG>% 2￝0݃`i1\Զ2ŏǦ,Sb @4y)O'r3Tj M<gy;WMzXzB~o~[=6!}*?AO4>楅O`xK6.#bН9~c |=y,_g*%Iw\eo1ncy;-(5 e&=7o⺇ϥMd}1c=8Gw|.1ñ/I!$L18'nzКcVݏ\YacBb$ xK}YC9‚ymޖEZzϚ#. iZ39ͅ~#<__ /+Mݳpd{&9(՘1JQ;]0"aWDel5)J*Ɗ?fabv`9 uq Q SJյGKعBAzwŌc=v"0YzE^Yoa7; c#Ÿ p&كoUWҰ-{&asqQ fzoF{ϏN}>|`f;nðcrRNJDc}&ܺuJ=ܽ? eeTMbBnVSg&:+XiK֪ N`?cpאƗl"B~YxZPX3(uwa(+u f10]PرVYB:yi[66nh_[7[n4st+vvPnsmm9;]Xo1VjX`ءyPk`9 ]F{9I Nǭ+ɵk ,~Kͷ|zbعxzu=nn2aqKV| pw*5 !CA}[[e:̚!ru]7m+TFBO{/[R01G?:{M7AzUIgQ*uގQL&yȉnw Z7C( )^_;Woby[x!:^#u0[e J2Bq!M5U:r9:&>}&Ckcc.}ܺ߬fR6sq dcB/@-VTV F6.e䗄Ƅ  Bn'`|G0&n0/í ; 5+v/f@dP䘸z?5b$Z@![QSjX#Ǐ9suی~݆2|+.i/k^<{<<;PycY`xOsGnUۀ2X; IDATWV\Y~)O3f1D ?uvZѯ !۬W؁_=~'!z;wWsCߩ>z$rsA.-$ᄸd.۴_٦P]|+=/w՝f;b&h߮K`367.mयioVo?؃B!wNWXa#O(ɇN!txܚNϊ5m]ci.~rl9S(Ae:NV":rF𴈐!AWB!' g xwrOP4uhv)}dTY e'V<1vkq?F?0v$O!/J.B!9גf~9͞%2`gCzmne݄B!Py"3k\° WCA^Gٗ97gD `V>1.1MxRH'.E' w| rmao]BpAWbF8f9 yRe?qDk6i3z4WPZt@aF"`ܦQsO(`L!#l["vkB!w8ϐzTΞ;~@ E=sWݛ>5˃ .etr:E_S{yS|wxSg64fNa WyOf?b^&NcW+6#l_Ծ™-*t?N'n;'yx}3{{&E_kG>gK_}oa3o*5Y4&xЦ=[s nASBS!dٹaˮ5mo{ B!7E`ScPs(88|e-o!7-D/5J8rhh ۠T^ֳ7qRo' hh1u ?`Uk9;ػ;Bnb,2lnba_W N |u8t~3^dy܅3_tRM2(\ͅ^01IlWˏ?'z:-HّSXãx]ϡi?ƃ/Ÿ/LO_pދ3wO3^^p⫌ZNy3^3t dѫ8w/pg֨2 Nh$vurl1yGģ›,6MƤ.: ͬQd4 B'p ɨ6`\z'յ?r@@vE%j3ktF:i @uq 㢧ffdӳO. 3';tm65fNFbhTYk]$i3ktBWprs8Πjc$ AoP8'sAe Ҷ.̬QaH2zN6o?\]Siy+4oaXx{M߽N5!q7<1ceWpS= jx@g4.\3-/JQ3m5y܂h P+0wFDl:[9F0y/<0[xcXmVTp|=V̙+OfYs1+-{ߺomg?dM΅q5 zO>tDfpPvp9?)x?NW;:zDžfkZ̲B{M9%nLKx*k150S@eAˠp_Ƈ k 4~r<T*K^37j*>,(Pj4k 4͗!b6n]Pʬ-C%7딟+L]NױgG>K#p•[seSNd_ $F'֘uƶj3 `׬Nz58jv K+ggjoaјj~rAYb_!Y0)|`^P:j ]|\?CJS8Y]d몸Ƣ׿:y=zWK*\|cæ:P̿s϶A$=hp_g62>rv>;'SxlObv^DԘNaYsӔ SN1rn.,KN}!̫|C, WnV{;f%"tf&m(?RT_5iyB<ۼ=y=Q/ uU-_怲[!z=˱g3:./o[]}?D,˂+O~r)Yk{ĽE"ZF"eYcROɮZٹ=`<][[XmKkmy37?>a_sӫZ;j<2X890!w&NwxKo;zJGo`PW{ x%N gmf}fOݕ0'sw745,gٲdXGߕsg?=7QlМT|y|sqK:#撼g䍰sZد2DNk?*:O|%X TN~2=xUhب&xAܗMh+J:7YƱmꇦd9]i><\է9!X꛴Yo4ͪw:tEKnDv0A]~P{:u 5 mhjrD5(;fo%m/b!pۺkmPI-gINߙ%m .p=v'I2sU^"#Cb7OxM|(7 V~ O۷6.[d}Mh}=@,3yBHg!㣽@[Zu?\숎pr ~vڣ_^5; ӉMv?Ubk [{ mBn |Sh'e\GY76n@5v1@`dXܐfB~,u DoXի+-us~o{ìȕG֕ 3hx{kԔ]},?jnhڬRlc3|\JBl_\ILaoj/Bk!U*qwީ4=ŒcV͈b0=Qfإ,`-] ]bg}Lb4e\2I!n]!ps6fvEWkԋ7&,8Wb;ML6CvKX?(5meڣ\ܥį0ξsUK7sSNk`LOA0]:F8zYfͩm.vZu[q -fرyLp#}e8G0('Iz 2k dBeà2h(Aʺ ^ddsܬf¨]sڣ. `+VJ+@aesڣ=X/z_ BȰhq5f?欎[2),vVٜ-Wm- p]2TM8Ns1v=ZW-Jηzggv+-Td壿5Cuz`+*PX )LվsX{_˶^|d?(v/(4_<~Fؒ\^ptEK|$r1}Φ5if&%ۓ.gGSv :\sKs^@7|'nNi}]"Wh̸q`,jX"oA{Xi<㓷vϘQRQ yP;ט#ܿ:[yY^=^l#`nPT+mqEnFNZsuOqB/ZZ4GƸh'Z`Xj?rf9|s*]*aKE;ZZEڥnrY"Rb&ㄢflwNnCг_J'n; hVƠ< 0p ZEy psfO_,?ԩ ~1)Bȝ0F8A 1fl~YxSEv7^x Wa͒ٴ*_Qn=V+'0+Y#< D2 k1o8N4Ǖhfǭ9CUefNS 1cl,eJYzv[T4WE ÂE-'3[ (p-ƬVn"rU\v==(ᆢ$   qf43u}7 ;`VXR6@8) IDATy:]ӯkrg ,kԂG{2R 8z8nB0Z{۪ \7~iXx%ckC zpq,uBqķ#;/wW1*B7LM0LHtۥ%_|>KH=%}..v钨l>7QB~Kv 15Y_Ϫgd7*p-6(4MukCqa2uSW)G.MXߤ@N# !{Kj:s=5B}QO[~Қ|`ڲo(A徿GmݑVs鉂-9wu8Xc8]M/>l#y1_WA^S=N(k&lfMV31^KJi`5ە/ 9_M'=}xBj{1KA^xe^]ZhO(]6Q8P4bҏIB4'jpx-o|:%y@Vވ4V{ [?N/3|yLxEYSk\?'e,J-ΓV>^`pAh:E|=}reHTB[K2Hz^n0{m!r`ijJK`/Iח*dWع+!NPlyx3d_7M{w{2SRFdjg{HU gSϤ;#:mw1'{B---x|4.XJ*rL:͖^Z_(f'K u,6(/ >c/ 9!4tZmj,C}^2B_J:}[_]?˩|b.R^ ܑa^XQVug=ޜŁmG:]{ىӺgpso_#q^Cco'FJ1s&i-Z&YW"z`w0/^ >Au<+HŀQٛw=Q̘;`wGui!CkaQe q_6l+~o5yr7dzqo7e*/h.h,K(W_H1cB\/Wo.Y4L - wb0V{H1-V k@D7\5.=q^EQqypZ[a)_Ɠsy] Da m{?يVfn+;q؉,uו9eKF3XMl?+ It3#Y[}ޡQwڿG9 Ή0TWf)sO_T2.3/#"܍pq0578Lhr[Wvo.g6qѷ~ER ioBæ:jO3pg&p [iRƆTYѶ5"r5!c&T=o;>2 "n'ŸK2|[g{I]eM"x(L2 !ؚӅF+*ne+g/PwWG^u35$$($$Ns#´"}]qDBv!$wAZX[w@Ȣ13ңw<[_]H铚+7\*m|o㯅EtxJuƏsh-YM>Du2B{u*6Ysv8{L 0rrj l-z<j\]=iӣO_D`hҩk,*ݚ]g g6h@'E8<ܹܴݺ\tl5wN^,;Ȣu̒WfOv3<ն>qM{DMKD/s]N@3uuftvV[nHC]{N}fdCokY)\'=٫1ULjl,c5LR>UlA1KIj[N"ϞĉX1_ήpK UiE~h&QxNfo0 꾌muqآCurvwCهu#TV?&qKvI8`*3-^(EzY72#y<<@]|L%3| DC5(+ޣb^jVM9M?Igyj4VR񣅽#-S_cpG2BGܵ]*m7dhO{GaT.m25h#20svW|Cb2 ^V5a'0h5d͘_S" > [(Zt zW<w4f.ש'X4|XeMd:38y=5c^=CmSu9u](m{=̱9yEϙ>p>5/ h6gf"۷Uz,  4f H" >LF]EϢNiKY&)lf-TwOxU v(Dm.t\[KM-u=oUOY!~H}3~oc}%BO{#dgܬ#[73eUQ^<Μ?黛L''Z3rHZk2\nhXmRWOj:, }!!B}YRx pgzMi/ >4-< !"}ٖ.?~<ڏ\Vsd_l+,8/we=d|Q3kk<\]YMueA7e7@Qob7Ѭ\ G=zMAmFƺRy[m2wӓ߯IBbܩc`>]Rnw< Gj ;yNaآuKDS,Uح+muA7 ![g]>)`{QmDX*É}aoH"s*;FLueA]QW> fnp7hIjB^-;q<{P+.U-?aV^^a(ӯ:w\vvśuqۏb,/h[x?z6M?lݧPaD҇b.pc;d#RIĸ7`cŧЙK&;R(cp%N,R~b Nh1:ڶHuy~w; )Go1?iѤ4Xp#=Oy`xk:0֢KG8cNmwIrݸfFEE3p]EөALJ/8% hq8mھ/R{r?_5^S_Vo c}6^+i`hWئhkfG^fJ-XeO[q0cn.Fk$ (8iɞaGy]Yeg{;NzRXņ/\U?]"AnNhf6ooIBA$K9x֬uFi<y+^[v{d}YzwW"u&s_oR^mײr|]g>l<@MVw Nb.=Q~i%,})Jmֹ#k8h-h/ڜP޼}3iG?y< <AW5bD&Fui7Jʶux>t۲vÅg WKdzedQج~\Y+?o6[\j>cls X70^lT6ɱuℌtLnYM#۷!$~Yb`Qnݗl[YM_`Ez fm PQYdG5S';ƌ.iZ6Y2OVk ]?1lʇ N@1xo}|IQP]4)k5joJrW >ET)\W:[5l;CFYj'HDξ3f0d:ޫkgWh:+xcZI ץdnfQs0`YmHmB-AE"'lNމ]U7gW}îlr#wj>>VF` Ͽ߷l԰А^TƃG0Ly,W[ZI9 vem/.'س*g輻zsp7j)6dY'Ƨlo?3WKRVɌJ~#`+Jz+]}k&Kn/d/jR^Ly;FL2>cTTҎuat7Kȝѡ'tY=asgc8瓺mW;҆{9;7YZc wb&͸35~wC]ޗ޷PW.Fd8{6Ch#¦1%eի|>mg9^~c܇-L&!Z~AV^o;lh?dB[?w~ܪ=ís}o8KUŶ^ʒ//*qkq??fRh֜_)}wlO?VcmrPߛ|4" [>ﲇȃ3z+0eVu(7coYs8y7K+w޿[(VRo4ۺOL~gk>قr=P}qpS7 _Pciլeoll}\$y76wE7Uȕl4([ [$؀E,ͻ| /)A}HrM^M?16~%*r炩m=۟ #wkyQO|,[qPhNt53ږ<M"AaOwʊ?^Xİʲ­e[Hyr^Y_i4gf~ܖ{Wö-*(*c%(ZboaS?m|".DziCe u7kR'>j{W}"ҳ+R W!u y>y  &3qmlU# {zysYCV.kq>qafp¢hW]qZ͚-5O?>nڛK2x.J՛N)5 uC5:_Ԓn}ؗ]_gm'fO;o'<<*81J|u'u|^qQ*-R7 s) @B+f.27uK|QdE2Ya.zc{nui=jB0яg1 )+C:e_4:CfN~3]jYg\m4rm pv5wGkgArdՑf \=DB鳚Z/uF9! B!B!?r ϧ5_a#BMnAۖ?S%uf}eQ^佄!dq F t !B!B+rDpv EID"!>xVZYVUmXy BEȑ=ƄA5gF v&!B!BQs";2#DKGv6 !B!B!B!EcB!B!B!By@QB!B!B!BP0&B!B!B!ƍ!jrWhr@} T;#_;=B} vH v!E%0y cB!B!B!By@qF<B \/x,rϻ^A&BȝPQgrOP6wiE!wAC3 !B!B!B!EcB!B!B!By@QB!B!B!BP0&B!B!B! !B!B!B!EcB!B!B!By@QB!B!B!BP0&B!B!B! !B!B!B!t2E p~_%)T S^Qг້%L5deU Qq?Q+楾ܛ'aQbzB!+t,* Bs0G!{˔kM&G:ƝcV0|7nO7zcbx F T?!UkV()t~b_r?Ldcޕ)E'&Yo\F՗ n+~֐+YăiK\匞?e]dynPɊUUK7F, ,ʶ?7iKw˨ۿa٫ѝlAL*W r7E:˜{NY>NM!(F|>5=;aVJEz  }] BH_YU%52YoeXOɰ.~1jTQj]\ƈZf6,EIuYEo=]ƈ0Hg#8i'em.oN>bȢ y&B- D1C)v9-U5tzR(_<털)$*-g1])_gW0lWGE=v|@FϬ[DBy4,8^c[;un+ΏY8^cv't)R!~kv^]}L/%,|䐐2`RW.[&kmBza"/mKcxqB0f(5;F!Xfi\֞0G^`nH?Z{ƽI ڄ~' aZ餿4HSߎK%w-m˗%jCmͨq(+ȗ|V#>k6YNRܦܿSȘ֧$[aUq8ՊwxvG5=w3n97Zan;t&\46”\~m8!VUa{(3^X[#Ls>od'y!]g̑quEFa eK?OigPyJ+`*xAWw9$;Yy)K|=<.AWΏAE!<:gjK8DE:yㅌaL[6z([Bo~,BnO!>}KV)GEĽdDXQl[~QdlX7&wsq6>9Y's#u͆ = ;NƦ\dΈ[f\0k&=GMޖqcn7 LzC-b\p6g,?0z愸b!РOMڐ^0ũ+³o͟ՌOeO㓢sf_Y-bOSE]> Yc}Nz}`ڈ]b*-IܩTY9Mks-Z;iB[>瀩PL?z2͈pBBo,2$z}ȁ }TX,ydy?0g"M{zEhn[>U3%Z,yo?>RuG5ܚ^3Tny?3 8a}m7@ɿ_E96>/‡U_JW{*kc28Ogu5G[uFH@Vr.~5;>ѽb -LjȐ;ϓv{j ,,p-ImE)i (mU}m#S8^ĜgeFl#zYiFpd" 49ES=ޒ"nwW\?1n$b2W~0T7L6J\kԚn'we*5_*teZ7j5k7=em7Ui jS.ۤBQ+VmGշUPMQm/r!}-`]m-__ %*]#'#IiU_s0s~w Y&x.|r fM\|u|.>ZIzލ,7 IYao*;%=ǥmc1Q+߉ۃQO鞌lK|K^fsqo↤[oapT܆پPVЗO^zBŠaaTਲxɢޛ]/w$XWZ x|gBvA wK[u!3{ea]mCy \(ap\"~kwN(QBfު:GUe WS3 Yk2W|hl罇,PV#19tvډ}!/lW۔(Wa0"l! :xĕ党hPwIag9YC''k$ܼ=<ɹc'{ = _2-YGs, 8y@mϘ>u2irn>:FGRdV .ab`ɕ|{ Z`X5Wk a3>‡xdI PX!p Nzm\@۝^}(Ok>Ric{k/Ԫoܼ|Δ4&d0#M):Z{ᛐnғ%6í8#F͝lOǭ5Wkg#eWKnէ~QcB\5zUÀГ0`dWZ?Jl'Pf$L B%K}Ys+ ,РەqSʇ,%*  KU#M2y^)KewY/8e}֦eλ0 ˨eN=gyq Qo.gV^1_v.y3]ak }{JU(r&}퇿0dc:@1Y{`LtWRifztR3jGBupST߶fqBm#^.`E^*<͗kOrw~ܺ.o5خsD!s3o9\i6O/.jBKVRhe~.pn21ZSSeIΒYf$=;ͲIio Z,SVrFV?njU yYlsb!dWgJkFEָ:`8i]:\5}&쾖3spJƪ5"i$/~a.ZM[Yڶ3#T٢yeNsI*-ó'eӑ?e _,cۋExUgoVʘe.Udl|0*U#8ΦnkS©o98 Eqdۅ=?0Em'XoޑsLFUEv$bSo l7ǝeUFu:MG/X P?_Ώ4p+c%*#_.C~}]<^Y=mnn߿UW:lQ,¶雏oYr?{MvI ~N8{n9|F+~-7|KUux7SߨuR'FyyU{g2*l Mz铺3Ҋ^3]ܙw^y\p9ΰX4hkO֞^Y9l:/@%~sF57JՀs[5d=RdŇ 10uQ&"+*MLu&ƨyZgiL5`emXSu}ӭlObw-ڒ}Uf px 415:MաN{wߩU{} NP3u'8=IEM IDATHGf`ْ9)2py^lʜ\-| 8015&kuō7ƿ"tbۢ fZoQ]ywoi9 ̵ZXVmōo֩^|l}qB/ɃԾsmj5q3J[JÅU_5J!R-"ŗ}sd2K`Rh"&;!2XBUɤM:遍 |o[NK9Oς<9JUzTUp_.q[}FmǮL&WS=rV Yz[URVU 0k6o|Po[_;e9 j>g&b"ݱ&w˫nQ~WSՅ|zGZwޝӮ8K"w 8!+x?}12kZ0VĬ7r*#tC\騺x}=^7~ꓣp`-;wfsrL֋Ү7Y6qK?>xڤgF9VJ?5[%n|ܝmS:m4ř!q#ּ<eٗe/~p˄?w(BT7y+—eR\q1};}^xtö6F=)͗Z=×v9~xÏNl0_[\n#&aև/ ?_]/Z=gx';Ca K 7*Lx>Na4O}C[_zWH.lv@Ӽ@`1={ޣZ>qҼ- AYIS4×}$4^G^Mpu_u]/I;pܫ/oOڣŒаu/-صzqV>O~PhK!S3n{u`u 5n×.4o 24g_Q|{soJI gL@/ԲoɝiSi-E.N}7;OӵwT_+TnI+eD褍_d&pFƑ6ﵩs}WYWdmJ p_+ͺ5|ŽhƊ>HvWfNl W|ySmV:6&e3\3Y;#]spsl=]3;\VV4JSͷK{1Sk)V}HI'$䬚}hߞUQy8+Gf?U}8p=*)^՜i ە/ OE;"e"A*Vܻ&`fՑҮǧ/N=-JM`Yd81va**>ḧ́ xv,_Z]tɔz nܖ4%Sb}?*FtQ'6~MlpO /8Q|grk`aX.QVI4Xo"-u7#'u>uOz-?터IA& =%ޞÄnvu9S"I;npޒ,\Ӝ⋻0R=Ĺ ųMte0&0> W8ҵ7/U w'LM}?doU;5-~H 5뗄 7!!sN |Uf\{H0ƐmI_`>۶bSݦ<Յ⠘k,lU7Ri= FDZ!6٢oz!-6&E"Qr dvfobEEEWDV>clzcd ipYE8TY5Euo$wd[N]`O-pd] l&ծ )3Gf/KqRO쑴2?<9JG^S쟹˷9oO}?x/#u)OGvI R?Thy;*_ՔT]c'CrUdbEژ}1<̕UVY8iYRu vwEtU|Z7٨c<&lH I|~R1`hfER?@ .7ՊEL:gl㸒͊>9{QSipBef2W23tu,F0Z8(l˜{vvTO}GT;%Vz&CǢCME AY' ʲQ5ԩ JV\Vk+@ 7^^8e20|b/f;1bXPzҒlL}E_a&%MN mm7Ѥ~$@Obr1<ߘ^_ iּ-n*`B}W ̋+f-kUrQMmYÛ4CtW0l_ܶpe6yzu4?>}{=Ѥ^TfZjM_DI M ɟxV`/%2[TI]>7adxpef-O'02̍W%Sj('^ZM\6סިK>p/6H4Z O_yC&>ſ uٍErs#?qpҞ:,ͼk>M;q ̀4{Ӄ]o;wclHd\HdS`U٧TI1s:h`aj}PMmE.ef'em?M]ifL+ @\|"VVQQԛo\cj;1v"J'&MM3`㴧yss~q@z4\"?'!F0! 6nyW"V9>ԛrR7ďYovz)_]NVV,6pTۛNƶS{N^ṗHX9՝L]x FC.#<{}c5[kM嫹k6{[3gUG3T[@0 X2na{C^WX'O3Z Ψ.r[ 1yGxx:V>Is*>o$DkxcoA>VW~bDl~kjDmAʌ_uʝ+ZW0Vq\21ؑWy :JMa*x3ש*lLqyh1O59.A1LT_*s7XaѲرw:VTu]}FDqKƺ E)F:_ 698/_WQ.c]cB?KEh51gMuhА1xc l3/ѹn,oq#)U﮸0~Kh=n凾{̖i g=eƵҝe;[:lj]#]mAdv4#Z\(=a n Y5G @!kjkq n^bZaЗ76o>okgXk+x[ ʂn Z6̥{J#߄f榍[xPCr0($26$25ڜ/_ۗ=~#XV4[^LG/JUCiV"ŃXVBZ,tʕddP EwS$LO[l`q\r6rQX ϥqʌnWs0彑"ĥzy4*ʶ'TؕRhN#7?[LW=$Jף@|Q╼<ÎN?MHՑved]邌Mmķ8 Y7dS㒧% RSgk8ջϦMl~~C H&sen XA@ D(jV\ 5V(`lJ:.u紨{E9}Sg<ӵ"|Ql1JV/s<")[S6DAyؠA6тZ&x˞sX9`=ǎ9vȇk9_l/،wŤC>>mnzU=C}:~ 3|kx |X`čuu8Sد4Bnr'U 遭q]c!>ߦ)ҝ9t6q&jmYܡ YUc4ݙtC 0d zOۡT%Mt*!vkC=:` 9œ648篙-1&?`|CYh@;s8J M7څ+w9+Wj6nM_UWWМu1 ɺ>RC1u*UEy^B6u>uk<8Yu(':*pگ37\86~u=!gǦUk`^2@&u[?>}H;32b"m6mMwr @ ƃEBVTz WUunOxtʊP&!wL0fR[FNY`C%Q7=H"SW;NjU4؃(Q?!w2S3Ux-9{nL̛ >킂8k Ae)[,w0ʩeSDevxQ"?`T+6{Ǣ QM.?˫/:Dw(Л^#ecGΧƢP& ׮u8g #ts`ĈaXGw谖wkB/VVBk;K.j-jj+Bg}OxwkQהSU]nFߕɟ=$1gِC 0VctrQ^.OXm^n ]y|, `":ܱc;LT]y:eʦE#&cG"mDEGܕdI}Dsmݎ d,Xݾu)flۗNMֽpʃ*X|K{iY<{I.|@]V*ԅه rsAARYB[{#N#y+WWV1}xU㢸 U- 2«o4 5];B-huoMq81j7~a@YV,f_p1[G\myYl`Aqy6ix0„|0CK;dؕ G^Qcf1@,. bzxg ~jj ﱏ-[zAĴ.?1sܢ&:t(F39NB2/;q6|%ᒼzjC'+1>@}YA'!:SiԧKsS=$1VcQn,;ogpo6NuRyU]"\.*=$b_b1Mh(,[lG4  z~OxzhKua unehomeW/ݾbGa檊z`LH!lOv}@XԞ,[џOА.զ?q0fX8'd/̤5&i6:cNM( *\,!?L6#ƙE!5jd̸Io9 g64TαnGZG/RFG}υ퓎iU8]A۞jMb]S>(&Atq7 Tg(:>[3SdqqQ,6sekY!DsK\.ePto O)l64,Ȟݕ'WfK\'_YPRYC.C~,36rZ͂붽ql[cc"[F/toQv2@{qNił11kS s[*e. ig%HBHl՛:>>ݺGgsS~ٟF(koD 3x? R?780qV%#OsEY&eUZ'p'8XS@|Nk罯IٺB_^dt—/t87BN WӹQ&Q*$c>ggRzg}u+J䫪N{aE3|<FS_Tz kk&bb&ЁB=~Na)Ak~%~r5uTd0'.[N16$%e<R\Ͷ$,0UEߴٮ1HW7'-7Z`3͔mrtkQ)[G_]ZK28=aV^iv]-CR;X2_%E͉k._{4,-ڒj3P&m/t`hڣ>,mQo :jOkSg:I:&!5VZ0psgE[ҍ>SeZ{biwmզd+墇l9ծ_fɓ|uVfgpec5lY]gK[T#peR]kwO]fWT.w}ݬyM }ooJ8,ƾ{YQJz@WDV&Kb$}n ;&V }wkGm?5`#{6E pE?.~A,kE*,zcFn)zpig"bʷſWQs^{Xt4#fK {xyWgk叽7~,)ZCnt u{b3 @Y\Gh%˗)765&3_QlNHkx&\Qo~[gzo(?Ӌ42w>,6̓~xel/ <ʂ9Lb_Y!)!7ekٵ[N,Qsk~_?^'3vΨ{~H[hPX柧NZ0떺ge^vdUXWsv~zwSƄ& hPlԶ52yTP<)q96:yՃYOҡ4{ydNZ܏LZjWFmk5о?Z! Kz?qŦ,ϾS8MV4OUjM9֬,] }$3)NܐL,bm&FP(rGYI]ޑhZLԠm95PѮlY ;l5ضuǶsV yYO,rHD.ǜ*왥,m愍C? `0WeY})3&JA7sGpPtOWhx$~\IWe}9:G(Vש8͝LpތOyU x\Rڨ˞WP<jO40qv?*&Muuڃ'f:-%2ި.^փb1.뵺ؔUfsλ_&  Z={G31](rkE~[IܪbFþo̦¢'R"uuƏvѴɛ3o1kR~IpI=XB(Ba7z21e3πى!7=$jU ??SC}R]]n/MjjL;1'e TVN{|b_91GQ۞= 9fg-lpUsySҠQ/&[PؚE\ꎋl|{KV>hob%<ϟXPT0ԩ-gK, `<4ϠƄK ^d.s猇>^]Sv1x{ [j/W6ffP~ c(zނ{Y7U&rteӲW +sٴ~P8@ ?j#TYiSENJ_'=̽dMڙL܇8SV]ViM5+U,Xp~#2T꫍ɳ"8V}J*Ԛ8@$yAGvoNptt\n>Oj64+d<;ǐ%a<Rk6{Mx폿JhqWIS}PpRe &O>?LEPBɪz>goɄ&8@wW&017╫u-ה"Bzd[ Z9C|͑ѽ-yg5>m2 0ҐW;1"׳sޙ7 g4 : $Bd )+``R4T8\c9by]I}ޤ.xbQ)ܿ"ԥ%ЁИ@UwސWY90{Cގ]#tZ"UIk1M>mq[bʌ;C{7PNq#X3 u_TLq-JIy(mEbe:I}ޤY9@8,)̉1ͿB;dQ|GM vg+Ɵʌ<Fp},"f.Yes^?r|MU2㥪+0[2g߇ww%QL|Ɗ ۸JOeW,{쨔9'y1s [,"6kZwjsxVcdzyHrCו]1_WH1£:g0W$nsjK+\=0pT(o-TbP2q_zVk^ =d#DN{.f ,NoR]3Xb{\.6Um _X~exQWψ|dmKPQ܎[U-\;__4U[9]Ľf\]l?XkhOu**ƆM߷rq*?C8hӻb =c!!^h[/-fόm+@؃mTmI_r9`IﰩR'F;!8io؞~QjE M*JIl-'?_F>wfzuÞɭƄt BzS !tW7z;\A! Ns!P KYi6`ڕ~S%Z2q# zB!BH9!Bȝw т H.ﭔ M_׆s&em: +2d.U8iB!B!QߜB!Cɂķ6=xۥg3b?O'rV.(E%-ǍVB]^p!B!;oN!rdxbƖ| IDAT7,~%BJd/-GqRjqd;ߑo]jF26lբgB!B!7'Bj Z,p= QtΏut͹3HJ =b9!HhbR^)`t6 B>=ēZB!B!7QߜB!}]Ba' 느~MF w@_W[^q @P5BzC5+ N!~VU :_&wB!B!B!B !B!B!B!EcB!B!B!BCQB!B!B!BP(|@#\}]r :@m_u!w B\վ!r X?qH_W^E3 !B!B!B!%>@#\@!6>k"k zBiUPQՃ!;0&B!B!B!; !B!B!B!EcB!B!B!BCQB!B!B!BP0&B!B!B!; !B!B!B!EcB!B!B!BCQB!B!B!BP0&B!B!B!;+@SS_l,+ɥl_׆B!BzgeݚZSU9/G![]}uUVW{{s_kw 4Bi@[0Rcb3u6v/j@!ܹ8Iug=YW7FR !wxuN~j湜fC,bdsVDxt( 7Fݬ2oxG@IVv !3+Z_i,ш{άיm?M#Ƭx-FO\oBqGviUW[EKөKJo;gɼP9!B:{?;_g>osC 5_>kuTbO/{|㚂G6~uxOyri^/?L_%0?rþSCB:B!-xA-f= ^_gnve?mpeCC_>xVԻ8 = g>{G͢!M^WYYi g|M7EGAXx5Kf*77hI"؃e`T=Q&Hݩ4/O> Ҫn+fUk?:WVñ~tꐹO!6Vw۫r'TlsJ_ׂ.k?ɲ(:9mXyB!xş8bI'&OOUי+SG>voiwJ=B_9IV;$t䅔#.>>6N!10_UZ~5Fg>2}Xq—olr\3g6ۈm% i||ԭn8H.#L"8ؕV7_ <ȅ>x2D.l|\nw-zg/vg\P [-1TL/TB!Χ[ʘw#*,.zA7l[Qҿ:Jt<#Tq:aOўr6PDi'IƄOlGO8f% $$?.32_1RkֲuxM9)ʸC־=|oՒƄGaT82UϻpGdD~BKl@צjISܺ3ܡU#8w@._0Ο#Ur0^oXjBngw 9;R}#6i !0^Ku鼞OImiԪT"%p&ZU[L:)PqRJU3:\NL:ZJ8%H-5q'g6{e#jUaEyS}K*UWUv!thf-ftUn2:ޜXl蘴8/gSr?j9=q!'9F:q;˻alɾrMX54\Fd)W\u.;Lԧv-DjȮ(0^:]޹?vx;KMo!pI-[s.ks2jt,rUm]\+3^va̵U\M7} VKK\+j+ʌ8ܼWU_b]:=!oQ00vԩ,nv^_Y*+Q?P_wwqQ?eVXXeUH@x!XLr$M*I)IFzZxMH69IDD mIAYX+. .3ǂ",7 }Cgfeg}oʙ+ʵ~Mn(W?}4]V]\4Zrsl; f`1tpIg֏ ,X:bp05 G'g *e >}A߱7jqjoJMFڳv'.ڦFIطMGU`?vmXS}~̜A"M;6.ߢs=۶ڗsB}-8-bcRVlR4޶ޛR?yy9ʺ6ݘSHpښ-g;8!c}5O_LH{c>H&0/"ѷCWSѩlNwmS;>8WgnB!9[`("%d7UF#omp5snmc2r1vLG$Q7 6C`zKckFK%g$aU J~a^ 8HfRٶ7v7j@V\k\]`d d.=Ep60s9!+' ƆA3&>5BZBm/;yRyէFh\X'O[},o /|lP;dҴd8ZxrGF&͕'7VIyiuFy$d,U]e`7IӇb%[[Zydj._y"_:t(+xZ6#O}2!a7OnMc&'VdܑXvT3^>?C/]1ol)mNaailAT#/4"qpMʬk7xeq`Tn"?$Se._uԝFNgo_Syۗ=,rΨ.ڷhrvϲ"~QF9/?vX.dbi֙xkrZx."Xu9~Qn|~1kѱ/^..!,lfM;S:tRB4[A-=_pqs  Fg2ʺ"ɲES2TCG+FpN,z`2"G5[+_.(gczDD+U{SΛi_ymWOע޵}oT$-1E>vՎ2OHٺr.}qmN ;6m0?8cRpM%{֤|TozbڄQ>UWأ]bQu4sgWq$ZymFݴVdYէs2~Xtx}:ϱSxz޷W$F9^O| ƒmӳ,c2 sJt~bO!΀|FUܲr4vϊx+ZqPwT*5))'0ZM_x~|FĭOOG 8پ(WkP ~w[0nx* l/S ƀ !%ة݆,ԨɢggKꍀY掠.(DUڄT7=7SG}N BR{7rh-*`&ņv?B, }$Bh.O\v "Αq2UyZoIJƹpAwwhHo1i3]Z{w{xumjx0~^mߤ]rVY?y,-YYeQklj ™[.eK=nItc !w|W?whw#g=P0mwiJmH2b!J>T]潃W=dL:mձtUb~F"~0wZeaQeNzוz+D!яI_{NKA{X!1:lEuT "x+@2%z2M*o vU-b锞geVT8y&͛afDXM ~l0])KsE][sڣž3N3X(ԄNA)/Ϳ6` c4KyE'G}'8'{K֤Dmnڷ} 0dLD6.``}hY).S^&oպ.9𭧟|K# ^0/Pc2LQw(boHvkѦ60}MF\!w lؓT_=;iں!/B_h֬w &E~ KШ{/9ּksѾq[zᆡo|d.< @H!Z6!v')-YV~MEWqL(~N\\e~R"e֪{;R\j0n^;!ix O&WquWA@䝚:=%-=ݲkc /-n0tLjnIP# O e׺Bzku'F^Wɬo̕0`}4_;rV0~z[I&l*޸jj G-'97\fo֟~s?NpIzd9=bnK2sj+~SL'\2#i,[ 1Z]4 |Ci% & dJ'!u5VG?[2;Z 3)|{˗+d^]^i)p5XqN;;wGHS[3VxjkY[C$-Op<·}5aaBFQ$=/A~6j ׀ի'Z wsЗl14VlY*wG\=}^հ՞IM}?/Gɱ1WM,xSΡʚ{Ƚ0vFbEPNtR6756b~8aC|cc3nb͞)\<_Y~K#ILerԪ V5W5]wbTvSfGI򡈏4*]9|I1sb儶5cORY{7WRL&ve) !c:|@:c;~w& Oh .vp;6Y0d'f,lt^c;#/h.}8 9ӼK˚WjzΡ݆y"jG$I:ڜ6(eI^1yK]UC#b`">/+sgZ&ڧSL;pYۂl2WN}[sw\7oqIL,"^<%&"s^nPVmj gm)4i!T՛l^M0q<K?K9;68B7D02;K:c32 IDAT_{. Q̘SGlШ*O-עA"^[ 2_S̓ol܍ܑgu] sIYu&Չ ~|W.uD@\ԨSE]ּ2.:8s p\:-;~1l)%~ތ#y6k?UQ4Ur"kfH9Ł"3O,UkVN4mgNKiIx-07 ȯ$eQ6??ՙ]/6 ^<l(9[}ک/ɽg{pt''k1._䮫JվI|:{GxW}eO'&W, 괟Z6NnUJf̀_GP.7 l%H$ .q4 7כM{isʌ6?|g.U!aF;1'QoB׵ /cx =ċAV}@X؆eK cCgGEYf̰@eeY]oA}85ci;=U$ˮ=a)8#Od% mGz|U\5zP^VkX.:h5ͥNJ:'ϥ?譳ͭ]`*B^6x-+F%SWfþWߐJMtڵ&þ21wCˬ8;)qc]sB-br7] pݝ sBW[\uw`D0S &[m oqݲX,Wם ;++{, b=ī(m~3dryދeYV89ʦ[/}xf=lި>y";ݲ}B[; KBF+p[ś6 BS~?I\LyUTv@:kf*JFMRuG0g{az rG^Ԡ~e? ,by DЄ<_`4fdh6Zљ)abSY/kh-GO%{ݮamDbgxʯUzA,zɓ'*ᅍ M=X/Yz7o K]eO$<;`1=M8M_+l*u:1 HӽfTzZU^XEtǧxDyBXA}4zr5&jc"~Q| ^y4MuEY Wi_n~Cj>rlʤ~8+?c+8dgw0' ZHQz}N#:Jw[e3P\uGb~)ͨ*Kwovk{"NZ77s(2 J{=+b6,eS\øoQ@I=:NlZf+oٱieg$:cVHGҷK /o5ط6'>M1cB'rw8ykmX !MZsfu nP,*u3A!Bɇ pI~\E 5Z'@#rB*uUY59?N d2|o}xgRuHP) iO S,&kOSڣczVpR]wZoN=3φqddA_;{I[Z;[eC s kgn[51xxp }gw4^ҕVi5}Y &y ?/Ag{Tyho 6c8nnL*m%ݙ6;&BߥB^;gc!l'o);^#Cx31vi^?PČ޲?ezkKÁ_,Qɴr5YBGw\@tԩ.s^4)BX5y&I ٢Ǟ ~?ٛqpe== aFaGJ]&={htVYZ"AS*1j=4;wʳU#؟4<%}W~}bSQIBe{s@ Z*[!)Ip!d0j^Y[tpZqCDOG>8㩯wu|qXPpn~!peDםwD,sxLxՏa~ydݕQ;|=hͣ;8f-}Ee- 9IS#xZЛ`1k-"{ICU8%8 Hʱqk_e(\xaB>7{.NXg~U~#!>.k[Mk Nɲ[92kM ֻ$f` t&ͽ#hyf^~b?Z;rzn׆x$Kt,`WfbrfJZ\UHk4FjGg?ksBܗ[ik`Kń5vm>K_>!XpZ.l|0nr?G_vx4>ӥiG U5Wy\Hw$J) Dg\s<1,UE}Duַ]T PI0p,BpPbbOwו:W_\ٝ1ǔ{gs5Z]}bfo}QKCwn"gO >=xQ?ϸpg0hqJ{PﰛOL8h*Xb*niWrOf4 @\|߾ m}g_k7I$ :_Ei[=y?8gFA8p5O_\ǁj3g^o|p}R$qPz=kPrTihM702Am U+mv?U΄z{7Nj{ U}Mt&xxHCfq'0@{WVjmL坪ܓY>0/LI2W/dn*;pHoUL<^t !c j!o-G=?Ӟ̉+̫(wݡSh1V};I]gwER[~VE'^=YWL'cbɎ,K'撌2~ɽX3k5Ԅ&dB3L-uUmFxV=IC;v&0s^6sϯ<<ð4ŭ H__ !`}kJPS!#Ҡ-/*?5XQfA#K>m9+HVFα?NۏOm[HnbḒ IDATo`wތOͤelj%A )AhiVoV8[2GWM=q2N0zqg'&|A/<1Wؕqe>o;fFyAbMO,uIQ2,sT3_/Jޚk _$]M,qAS6'0/fљjtVH;ׯ%5#J"umLI1>6qw ZnyA3VAUrQYɣuv~Z;Ю7[6]旜1q#yJs~3V5r<%5y { 45*cӣ}Oؤ6߿9Jn4pz%B%gx@{^+ ZN'ߩ c;j)pD^؉n}#@w:@}C::TښڬVTgPi;8+tE=] 0?.suZs;]enxN۪k' 5@fjZ|WX ? sdb?>:Sk$rfןO9+ `S[ofD2ISvtFoY>+f8{ybnеX:qL1r !\ o>v4rVϫ/J?`A̷ɤ۵0R/O]|k_l5[gq,}*j˚$[qJUҢiZH܃eC噲˛[\X~2߻}#nJ;ngfZ.F' ~=c[& @.`L!׹cro1!ƄiiƄǭuil.AGV>qCqv CbB!B!B}/xp̊h1! !B!B![Ty xMAs !-hB!B!B!((+㭚M^}|3"h2! !B!B![tV{.҈$5"BGcB!B!dc$YB坌k{B!kdIq10 pvIQ8*B!ף1!B!r wB3ᤔ;] B!dN!B!B!B!ܧ(`L!B!B!B!) B!B!B!B}ƄB!B!B!rNׁr_w d vNW{;]B}-*B!B! cB!B!B!BO'Lu GD2q0gܝ!c^0A|+B?jBX͠+A!)t&aL!B!B!B!) B!B!B!B}ƄB!B!B!r1!B!B!B!ܧ(`L!B!B!B!) B!B!B!B}ƄB!B!B!r1!B!B!B!ܧ(`L!B!B!B!)-/wYn8gonWM*ulj؀0(otj#] [{+B u#DZyM~c臃kRU5r<+ 7'!B WtfSs e{~ۮ7i-9=d!r?:0q㨄su L6a#IߪaB!a9xBn49e^rE?;oIL "źfTU/;Di9;]sVd]|ΰ$e #;cMmޤP7^i4warń¢j7iv|S0?Eʕ F4@PER?Є{ݻ|B<v7J 3.BSmj R6o06l;ݵ1MyG)@څ?v!`$]7@6+aS׽×dm45Aʏūs %Z6V`Ց^ q/3wߋRǖ6mƽ5ՔOᓲ-kۜ>ה{['9wKvBli鯧'qϲdsKyJws]ϟbcQeSles߲5K!U gnHkR(b_zTu 3LuYk[K:!poYo3Ҭ'ÁҖ2Аmw?@1j?Xzm5!(9!3S  =Zu R g/3~Ie-=U_\_*F|́PQx7ʿdV% QCUi(lC?'/4\5yGs 6`W=6FN!h8`dyCo8Z 0yuʓ,훮=mz堿BG|2ĎfkЕ iahjh+F3f`Kh+JL:pj֪gM7H[kg[V|'vz@^S'Jchə f-}~jyXmG+( nZ{bo?]9 So=5nZ:Tibe=pn֚"?r6b-a?ڷ*{h]ǧ=72z--Y)d@x6\=7R4ԧ#lQ300l0d}300LQ$>CW@ĥ1=uU(c3PyJnTے \j˛nFSm 8˳e,X#"6T$_K$G}wUJ fpCaƚMJ-ݒFzҢ  2(C(5Sd;v@>Cҳ˲"ɘ'M R#>ci ]~yp}70ݔV*v}T}\MSj+;}:smVEx6dMTD|i n|gf76|^ bRv$ώ @*.\zo5[iW߾"w.5Øh>gUI&8mh:7Yka sihu=:SBn3V;ȲDϊ_-h7Կ½ G+5їp]c׷g~&w6$(qvZ!K_h{ 8&e}9ǟk1*T%:~]Wj%  ![/KM^AF0f````(.+Kth~&Mv$Gs5:F7ޗSS?#<sGLu5[=$O300jJocu2y;<䖟ۿ91j@-@iYGk wDqXTGgc`(ܱ E҆eYbⒿ%d&}<|l*f(t*kUW0;-6N`TʮSvqX4L6d熬r#8BQ#dܶD@IlQMv Oz; }њۚt7@@Q}dG= /9ʏx-:~ 8@NZ❡!Z4Bi^G4@D_UZHlĤ# yg? -8"x̖K>w$OOX}u\oĤe}z@"=`oR{=PuV9lR ٽXUfv|bu?  r૨^  wOy4ҲF@xLOY0E[\.κ+3H$mWn_YVUXP+s`5/(›)(~M`;wȏ@^dV ?m ƚbk(jѺaɨ7r҅@^O (J.˕f H%tIrD"4NjAR)tpĨQr# Q%?H$2,ѣO#HQDSH Jݜ0A.)H?# 928cʠR2^p"@6J) 6lIl!% qۓxd @y'pBk׵t:9Xtƶmwm| ~]y7UUG,ԡP0 b#L/fۉ<}AC |^8yC 0haTM;}ϰ{oS4sh;&pIelj$N*F[95~P8hFbNev"IzYhoJ/p> ZIxD>` H[|=H3SQ, U>q) mjh׵uiM &ը9Egщwvu(@̦ƶfҦk7('M^u=7L3X300t`)"m:|т+un+vSM=]-}NL| ji_gNצkb+c_~Xmc5;`]<ui'4PXQjl_mvv xơ9@߮1j>(D&NouCzxj^+Xs7?fBi"5|/_s1_tZcK}dx}M ;/jMF{[K5%9. b9Q 22_OرP=.,.a5iLٍG2eoNHBڶuEXH{(W ,2Ĕgd~s_9eW"g_:ΆSU?sˍ+(uC'0Z\oԐ kSg"I=,Ɏe)\dbe*LRgm=-RINh\Y# w}X(%E(1^$)P>@^92j[v@|lQf)ձ5A[+G*C3L8(Pmw?/sĭS];eB$2=xƲWzYzˮHZ.5 ̅}lI"R000$!g޷㱗C'u莗o ABO{)JFz+e!3XDADlRЎ=)vmDퟆa|x~&:{f]w@0RtzѠGفۺaH4{t2qd[ISBܷ}&&`k28Sjtkbvs][-y+Ӻ"E4+6|gYеEE)ً֞8wLm[]gMLx?\{{gcX;E{ y!U13{kW6Qf:?kLm7o]Bd".3iu>"hqhFsU͔M?`_/9&+g$-r-3"gv/(NQ,ĕ6'$`itH<$&V1+_P^,뾫>!iwGiD C.HknlpQГqr5R󤟃,]>.=╼1fխl} +=F?6'ۘ"}9rl a{__рK!.o=tn+P}>@[: !nHƇg(?fc_~ڂ577&Z\ ~`E'uPI#7/9LET9d/ 8);<5rەű;tk])Q̧_barC_^/@ɫj ^d@%تiҀetڤ`PiOJ=(`O2  IDATXZ$Ox HP0jʿX!i=U7d5I^]6E$i104y;cXQ Id?ҝEQJ#N>2m,R_`$IQ{ȩSSW vJUqdgEO}>dZ ?fKLbJ|cG$*Rh$/pdWS*M`K¨4lZ!n +l?]? A MP&k,=UcYH6Se)Cq4&%>t( BN$Zm7{/O~EZ rt3Q:S_R-z2`b٤<}``дjPMbłwId<mLvIC#G+@nZɜA9M˫gpGa^mWmz9N00)!on44Ԑ56:;\h@ߐ^)"G[j)MKSQo`SۄhHhfszlԅμ+-f}fe]@ҷ"bx{Qtg[뉓^8quK`Mu:*$?wk2麩%(m즍@]eXh3ͭͭ%ևG::Қm'ֶYLYWUnb 2:TsQG7DJU6O"!4_!ieY'+6[`6$Wdŕ1: fo#ॕ|YEcsߡۮvƒaeI5Жp =]z][T_!i~م!݀kE@j_]ŸIs3Rڦh 6D8<=F:k:,߶/ )hD73.(Ʈ!nvJ6i Bc_\6jnLo:L:maQgN_8z]sJbMZ"dF\S#/64#|> aK>Ok<<(-ӛ)zNao4C76_{r|gNZK- x;h]ska4Oc6}]>֖@4Ϫ̉x@js4XJ 1Dc_Vv,)"YM=WyEW*uT噪~300{Oop}6[FԊҀwb< ),Y)|M-vRL76uUIkvk?j䭫2XangzhS˅{QI$Mu@* Jzh` K+IWj+҂Ko"0_)\M͌9{pE?`V)O}F,E(Gdz@OQAU-憄o[_ݥ]^Gˏ7eӛ|]AqFQW߀V Bܬog[SAAu)/s~ƀY{eo |8#~v ߍ ;Js*&&4lΠ}'ˆk- ;#E@#XlTYx׭a'V&fIxnak$'%r $/4.}8|GFj.,,{R5\3 Jyp"bY,{$%GHȑ @P5y[cڜ.-mXZ-pl oXZ((<1cOX>D Mb(ı !E>vj{ {x,wk18 /:<{%8qo u8&v_)r&ɚ\(߲>-j`s7_mG Ɵ 諥go5TȬ,1 @V- }ogW~Ѽ{Gyݭj=h*/mtcg^^~h-Ɖp3o{Pni/ISyb3+opCޕ~}%Khj%vsOu2(}ߤ7&qceOoCrهܐywSZ T4əL`(+'zq=lIlnӽݦ*:oO_-f&%nЩN$5p\ph%Sc/ܽo @*hl7VaRmkjrrxBU-5]Rrlȍtܛc3Lu-s [MN3<'к[{Z:L`3C k-3"&hOMmg%=tAK>O_v X?7XŒz| d0@\M՟)x 7k̈zP3rq)ݭ;@1M|wB(VO`ņٞ׬Ǖ=4/#XpsXԵA=`їHLձ{Ò"K"fwp͕vjIuz8VƳ}߇3q^KV.|#̤ Bx*_ܥcm]]ii WL xncOtc!?n뎡EV wݬCcj VkԌ 0F9K0ۘy\ETYqd'@EGEE-ed>DGޖ"/,d?&>(3{prQ@],?P"M NܪNBR,HFI)Y_Z5 b2jgib+@V5]F?)ؖ %9yE_M_{cq߂pG)㲏ׯtDFb#9'$/4::**zQtܢ8Q8:h]֖a@ ^ޔ~y~;bCZȼř+GϨLJlOi>Qfe%=< Ҭp+}p Z crlL]&*(ӦֳjIo~l]md=o7wVXғ o7;I]XSY`s=I&U-hŅk%m̪W & G}񚽔eRjO_hn0l5wnjn؄g_AlP&5rOW/굠@٘n|y@[ 7r@oݼtmE\G49­K%}c)*^* "`ޠAL&|wjMifD&ٮғln^͇6-Q`mPP_YX Egh!dru/<.FDUKx<VF&Y<ګbMcgLva>7<"vavu.<ϑ,\o1=mIÁ.ay;n]#u/n Sڥl2Ö:-// ߇= c-p`?eq+ymTLb5;i{)S[lܑ\CRߖPfuzO@uzm;YǵSXm#K._VUi^=}fC-m^džz f,u#)| n5T־>;b8LX1b`m=x]B#slI=."CS\~PJ\D1f`o7oKzڏ*1znZeHa6Bnkwye/^>$?L}ux qHj`훇[ʎ}f8 bJ#) #I1Wn/#8A P*P$/E$im(ǧLR~\\" O5 ""ʷGύ{q'&AAD{ڦ+YHX`R֨Fܟt9j}7rPA ~w,ZS8w{j칩{5Wd_c 9} WD?"@?0*36} XO,??F>\V#mjT4R4yz`?O㳜ӯ}}Hd`` tT\qۿ6`}cԟ7.xh6]5 '^-xŮ};ltE^uBi,~ݲOGr\m 41jVgZhN oЧ{qLCO#ݽƇmqepp󛓮[N`u3N2'` ؋Q"I 3 fUQ٨s]ϛо#=Er]^0!ޚeƍ^|wtr=v0#edĨN ~/2%?1) 9pI=Z, 54м[ WrpVey9^uԝea oYz؁X߁.uwzmX9.HLie,͘ˬF0mxe5$꼣λӕQ'lX >9MS^MڇGUȮ~oNl aH^?O8)9/|מ:}UK ř4eQڿX{YzQR"wbzR!\*xԑ0?ujku/24^qE_Nى6+a][i2[DCt[2O+ŎkWt diŸNMgu3r#.@뻬}vJ7 {_Iʻ,Fgsӱc' XTӁ}\iqUkkT\;vO,!n#H=6 hn9I4U):d͇*O4;Ξ8{`͙ŝ7ǃXy7=sS| ~W t&>]Qzt&wy*F(/%վ/˕JmV/`(tav뵣Wl2딻a{|{azxN9000-<՗nn=02?TM:QZSCV@'R~!';'8*!8*-FUMv(hNgf%[猠DT~oaX&:.LZ)Ji,,r'I  rXfGᚨԜ}9_@|8Mqi۲68$5Caۑ$ȱ6 z$!葄YT8Myr s˶8"t@ z] IDATI.hSxdR׈3Sv2hUϷDٻ^U..V $=pۋ9 /mr1߃1}u;WtJ꫗M1+//<Ѓbɿ+R//UvuZK_QTPT ",@d``I@dOwݚuM^#}rɁW~}sk_~ɏ'F}W06IQ\BK)e``9S( g>W5?W)XHS,7Ѐ봧wmP[սBV~gؐ™ȭRQמkmV d68̌kxN8i%^XLMWzݎUmVOڭj;%nZm*}RЦw1.,,eH:L:}eAsbbRĵFZ׬=۬=[*e{>#%…pvo9XN)= yfs ,=2ގ۷G@zWdUf Ц^.IR~B g``O0{:`.—;מ8mB!Ig֨#›\ PϔZIݭtƬ5Z1@[DcboA|\A\``p#?#-Qi%C"ѕna \Fmz~!LlsJSm _2KsBT(Gr;cEa(X),hCv(ސ _mO5@$l0a>B\X"rA1L~J~~*92zAkAQ,p2 nˑSC 0JWmy /kFzO7Rs%C% SI]vDAʼnx:+(*nȎqp:sAې.-ը%?iԧ3KxE_Dtmei51#WBN7ZʶKJ>3hޜc_ f !<_8~q#(o:XSw1GwƼ[bFkF+(QI{nw_X\mh_SӺ涚:TV߰6u Ϝᠪay꾆i]T1&]Ѽ˺w{9?иeCּEZ_6k9ہ1m~p~Ф븤Jڪ 4,\"}SSzd300'cb},.lɝ\y|J5jImRmK?\8AEYute';:2Gi>v`o5߇0 #q[U*wlpd%+}mv8b>.bpR6I%9QA ۞QoC9@sCyp]TIen2(qߩg"spLe`"mSs#SzO/8BፕYszm1-k{h`q9 nCCg?t5͓u,E\F؜;8 ?W8>Qq CN R} !^@m475m;t"c``8@˯wvl%uBVs t)%BݠF_z TNaF]})So˸JĬ`fuk(R7:BAmToߒ#Y5Y7t id[er WܭXV]';w$&i5֓./Te~}-mS##FFZ Gj6uꏋ ky{ 7yiIa+m\3D&>OM"YR/aäl@O$e}`|WwuEf6ٵӝ&F1f`x |_^(қڔ?^`rGm't?f'V;ўw띣pӚM cV u/yXSTeIy"Pk|]uvo@1B\m000?^ _=[^bvTTm~QZډE7l5TB<KZ44|Oe``ڋeGn[}Q/wf- 8>HS7y[k"9w2+/4Ax̽}CÊ-ݝ1g/PMME=4@x[+|iÿVἯƘo3N}um&ߕ<{]R;Wl|_Ou`iRaIZaњvF1uze7zUez쌍VGve;\ָzyZNSܹi\OKNlذ`n~q-?iVil'WUۏwu U@}W}vuyhnWA5?xBk]PR40%p H0uɚ{ak6#WۓuZ၁53g\ie =Պ^R{>j̓;2GXi Xq*J),ABɚA!)ؐyRzCS/5/,H 'B1;\//Od [ݷ7l,sQKO]>f:) pRV9eR5y4MJ访-/22Ohuw^,HMry;dcxTU}BA Dv8N [UmvSme)Oflzs#v߾mFt?!kOTVY>x 8Ὴ\Q|k s#&A+GelIz 5+ ~/$hUw7]duf&gBR30ay3U";jA_g@xFSqzi# >A)b#8gN*QE3/AcVv ف!a/^|G>FZQp@Ɔ>ݿ |߿U=2-:(yQe^s t o)rJwV5)Y:Um4mk?g 7N E#' ґW;ߤ\,w`ƆQZh@FFܚ_` ^BSI8Uo0-ƱN^>q*Fp?amp#ZĎ U8Z$#OX:vR"l?xØhT_m[۹veh>.x1Z'ٞAfW.Y#NlzZD ظ J^F ?3iQR1q(2[IM[D|o׏7 Z ;Sx`8ѩk&eHJs튌?҉fMZ48`췒N5G0%\@:}S[k?c͜eV?sOQQ'ۓ^ N%?<XPnV{}u#6,0㳧'@f[ޕʶ>X u?3Kt^q*jj$nԤԘ4x8'\&)-Yrv[ _ئV4zP~GQ}闊 mFO 8ZhLaѳFhUW59I1"Ƶm; w K~ E|}\Gw sQUɲ;1mibm^yl7L_ L<W3.'r=fZO6SYcZkFN[u=3s-~hBaQaɪ?ͬiO?o1xX`$[+tGf1eCn]]%OlϰPo1oԖkVzO[=}!鳟LWY>B\ʴ-lOݹܳuff[~er2l.v^ q74Gߓ'*:g*g6;)bp;r.7vRH&WTȌ Ϙ37b w@[kKj@8'޺wV~oF}FI=VGMߠDBȐssfMou)ְAnznU6B t}ϲw翫tmz}e%[ez8 ͺsFXu/^ln\9n`ou0/%iA4 z)vo~p1~S͍f[B@ȫ+j_VSޣ|B}hi1?ywWN)n<ǪzSݟ>ǟ>^AܙX:9˪lsӗ>埻Sfi-,ZI!lM`|GK^8.|.m&`?/ޠoj[,z!*Pd;+jZrxKl͖Ck cɑKǟQI%O}>&+Mͦ*|ƈnn@KF[QQq~i'o0sX Oqdg暶jY:y̐Ww *aHL٥ ={#Cr,NcZ/}igR?wa{K!?K3߷~I}>duJFhiqVWmr1gF͸ͪ]io7}ibUJGl֫У"??^K7Ya 6BgR¼beheL̪{ޞkg ΨXV.\؞=墰41uKZr=nLF(='sOT65X JRV]V_-?&yoD~S|s XV]R\\5we s7 R*Uמ.l_#f/yw{cQ$oUm^mX\W-,7كh>(Cu0.iQP^X2gcdP<5ftēIJԜwZYtYo5psL~߾TwOx>B|k\7_56n#|gLͩsh !_~pY!r1{ 9㟐PggޝOIJiO}s 'C+o'8-G*6 UBA^zdzޚ1Ke_hȊ7;~nTnrm+܄<*}^R<(`lh*|ll<%O͙/nѧʅы~ɗ#%w\m9SDv܄^Tޔc%+*wɔYںo }>UU)k0'ŧ:9x<}i˻baWև3㷦Fb`}jsC3F^9%w|^[9!Rhn^՛+|2%! IDATf0,pܘ^i_o۸n\A6 ܃7d`w6 s\xȘ x+񍈾/zW˪b4dʟzmaxI(|Tz*=B6AÄ@lj apcJ# <_ {{B7zs3B݅@kru6~!!?L d3nM3m?aB,k<~ؾfP }C>I!)6wKƌ9އVZcLbTLKúM19`3Ul3p&y@$!?|KFmxO@hrtF)}i>/O‰N]vABQzSXK.`#"c:5ձn+Wk65YX0b0eD80j˴M,>q_rIz/w{[*jSkkX`>DžOzb] 0ryv$jMm/ SF˼n}m}pD_W,Vwzh[M( Vt ߕfU[,ҴlMU0nRItt?`[MDH?MlicB]b}b3^kX55. -r(ba~8*`j7BUV6U9bO@`-17]_tNgnjxDJʦ< wDxۅ$0 k<{j3Plg֛76 v;jao6v;A~65[+l 3L*st}Ao1F0B,ȻOK^g Bh6_bc|P/Ս:CK #HCeo-7VxKFoil2$xDO_۾Oh ?8\Ao6@ ti:Sw_* ǰJ #<Â<b!!!|\Y| 7_?IAK.1|IO_"tyv,`L4-ӟXɞ=KF] 7]M >Kj1!ƄjƄ҉7? uBH;ɣĬ^{6N}KCƬOx;$Z2i@8bt#%B!B !B-0~Tx'oْZ~KCsu?O![ xj_~F *gNA[&B!B!CB!J_і´Jպ7&XF>qΨO^/BW&.!B!B!B!{ƄB!B!B!򈢀1!B!B!B!<(`L!B!B!B!^e <>^<{]B/u!B!B!ZaL!B!B!B!(&x{]B#z"w.!3^He9PC!,yBȽB50y cB!B!B!ByDQB!B!B!BQ0&B!B!B!G !B!B!B!EcB!B!B!ByDQB!B!B!BQ0&B!B!B!G !B!B!B!EcB!B!B!ByD1?NcYFץ!B!g6yN|[]^֤1q|,^GNB4P{K*B5vD^ oQɬoE(ѭzӃ4˥tQߨ/Wn{ @!ƛ+,&{|F:!WW{ k3/t{ ~{š5 H6\@5,ΈD T>ݵ>8٠\:-o_6sf"|T9( /b˖ h{ۯ&|pW1@ Xh@ezzBqºz=S <:ytą+vOh!za^z<sǃvCwoG~k^]i im߸{Q2YWORUPFC˷<"מ-F1hy~=H!o:uN]uxsyS4% 3f,4Pq_ͩ05wxkg_>GQɌK5 \)zucpW {s5~w>To$1)w0_ݩRYDzxguNSv㣌,Hɩ+¥w=h.=09豄BC +J|z{)yv*#r#ӥCS¾8RΘGw,K??Ҹ+fR؃2d+>%Y6E18%"d@<)6!BʶtܭPpJW~q*3ۏn[ŕ3_^ߝ`_Un oL W'$!9BB+up/75f^WYAw9{ڳ{f{+NR1u֌UJV;2t1kW7jʳ{56D#uQYw |Q/RG݋B ųDSM!deԯ9M)h +{;JB!A㾽xLɉF1h4?wX~|]J m-ZSȽ<=SXN+ mpDOx)n8O?=]j.콉$2@XgXM:w/'$mi^_QJu<ޑ-XۯPs=[Ng;OŐujv<=`5s7i=j7Q@6&n͓ ^ƚⓛNiuͷ]}kT3 Ƹ[x<۞T:JLNŭ0;@~M)o=Չ3RBH_ɹ nKLǾ>#ݚsLX{V1oywO4_9@8+>ٳ,ڵ{j!&~l|5bX6G3ZC4yhbށQY)-<3ۭ">U۸7M_ꃍ+MnAg>&Eii{ 62x/FulMb_9k^ry>O6+)U9-܏W,Z<%ήC#F[KZ!Y2|r_L3UU=^~bSwX?|ĽxkщK_ל6?&d~ xv} !b ?G#,fϧ8x}.d=2b11!qNOߠ@l7X voVWSo&ⱱ)wcTw2wFv=zp |+1\t LI]ёM鲹L$FF&)$ݼ{1ɃgM,0KAUxOe ; w2PS. <&/gO[!]x}[Ν;M^|+N̈c^11P֧Y},j]͛Usz4F2_45K4yKQ?dXkl;YZadD$%:56ɷ)}K  nJܖ`羼ETa[zX6u喚]^kxycWȝv% K3lTp1oN s2@8N~f^3Vqd3и&꫚wT׉ʨD'<8[#s#3U-xfcx䦼[-#2+aYݔMW9@5iitfee*Wjrꚠn.p;sqPEQsܬ(8뼶CF"/bBT7k2z^kIb|Ԛ2dں*WM%|Ls+Gݮ]5x&FŽ5\_!K<vç陻 8A(|bƦj^St kpw%mF&7sY::ygׄ>El5o^83#y]e y7\yC??o(bo-C 8Ny֬[AaNʲ <`g2Wzu^ `$opf..,jK4 }Sv]7$"O/?[o:_3Pobf+kU!3'I (?k&U܄";gnX큜3:C6Ū!by豲YIoPlyvXF縄H6\&VZɺ<{sQ;*{ls&Qզr+6 XJCXyfGEw;Tc2W] `\JuGYϼvmd3UY*#0ai?ڭ|G ?_6;,~tN[fXq)u;X^΂?N6ڂo̼h,Mں>۩bҶB/lqJh1x؎u.e˶Ǖ!aGU4z1 [j `ӿ:\oҀgx*%'7$~ތJrfT z-1$J&vW_8X~2O>7!᫿=uy lU-.Rtk}yF5`akj`LT$!,x}EÊ.3H&3+)i'l7l;B"k@;cӮhFg(|Eb+_ִXsro M]tmto4o*<|D?/9]mEF~r<lΕ|Gs/ {z*BfBUba@b-R{y&+>\W-{31pD&mzn&\[%q!Qóv@ [1/6{2^HтDnןZfI3Z&w j4 s~[t~yx+&?!/?R]㧜5A0CTn[Ef"eo/+:vbF5o7}la%Q $ 3tud>>+Rqc;,+1~I csMf_טJW:Ҕ8Îh,8IDpӠ*zC~ZSr =Ւ3DqR?$m@\wbO3Wd \"' aX% 7٪+H욉avN+ݠWx)5suD=+gPd 8.JW~69F$`\p$Slz(Ȯz_0&w! \6w@{l9ҪSup{( kJ>Q[ezM|z=wN'W%E;R;ܶO?lb|b'gKҦh,}Q#Dڳse[g41Kt(Urp IDAT]v1#[-Z ;l}4{v:y`mr7,-[9w՞]`OͭFȃ=b .VlvrkW@Nn ^{%h1ᨐ1o$`MW7nxlwR';q8ʟ$P&;]ݠhH?7%)mɃk^Ly+Ru+[nQ^ ϶!K%ok Sۗ6(Ք} 2pS7s)*M~\~*D8% r`d^C#k1RGdn}?!>6h֧&(wD% >V >ᔡ֌ Zl>2`4ift7f)EjD={09.qc$ao>33i8ڼ^5f@>{j-lR L7dp2:%$l- >=F -Tڡ%m*Bm3ۢK?}LW2(zvSfibG\<1*qV)VkDIIsD0?ŚdO]*͹9Y等 0 CwT|Vw3ci@gGU-_SK2G5bR"KwϯI 5CRpߏ ^f:\E_z^MRҚ)QQQcCrw&>LAYafdʺ:Ā1̣,X䴤2(_nL̝2ܟk Yӵ2WmtP\s66+bD (Ж5"9N3ڿKi 4mDZ'9yYx~3{msh5i3Nc|ʼp)9=#ѝ#w~: tw@hLXtNSo+-dxp?٪ 8&$ʲ] >N63%Jyi/00BUàPx!8+YOSL^pBǔncO˧ƿ&tf:t)`Ly!E~KfCM,8rͼԀkϟC JjZdQ DAS?weRlT3#6j3Ιz9o=-O~Up?>G 2wFkQ0D2';&ugPzw̺zd|EӀ@8NVݙj>U2.c()\; !CM M,QZXs[mV֘@7N~1jU 5ٕ zP~ֱ߯MGJ# 櫺Bda]'<|v SR߈'SSD'?!β-]\qlIhŽ]zrmԙwlQaɾl߈wja (ƍq~)ihz]8p|YM=@'&d IȽ'l (2<>)8YS5X?0cNZ o8-ܭVgESR½v3Vɢ@4w^څ5z; S! sSXt5vN4j|Rw&>Lc[^=AVMHvMp &IbUfG_<JKt0͢-.s#X^77,kT;/H[WE1ꔥii fOW tbqA-5yICDTUVt/k5߹1bf )l]@" vG W/9;`NSKs㟷:Ę9O2cBYA?XϺz_YU'~R33ũA_U-KыO`cesӕ:2/d,?/<GE+?ӛ Ƒ=gZ ۞2w^6Uh|Mf~j [a \WPPɃ7h: r"c5!c2&Xu&k7xۦ1nI.ud0"ǰ|h>Rw JNNk֡#yݳUhܛq^I2 /פsus]0zotMi w\CqRLϵNJMsr7to7:IUQ1hX[GuXR:%zqřgXIs$'M UteB2'K* h-nao{l>jCCfݾnikkڏ{<̚xG#?fZrt)a~c&Eʆ;,!WU@3vŒ3Zgvx%3n 쩧Wfs{}|Ķ׵ f0A.Bgx0 a2WrDCuĎÍvkα+OՔڙ# R9]qF=0G*W{Ll|⊻ Yx'HnMɟΪsG/!"**=V +Ģj5\z cKk7䙺9FܨݕݕlR|$<!d q Svd@ ww6q470tɉUGrnZUǎ’&f&wyV 7MY9.S58 6DMnuw ΫߞwQn)NЎL^UI݅ !q'%o@}qE}'3R^g0IrD[0|%SM):QM|kW˯}y߸1KD% Dy(>; xq%үnͻRT_n~Sgx_<#U$BHWv_hx@;aתrNWEbMӳy4:;RH:?OTEe-lC,XtbaB뺼bG{n_awĶepfR:TtmCq{`m^bWgfo=,䴤A(wih84igW>}gficӦleٺܣrs_c-c#<|U{xH72dQIf|bYygjr*uyWjt,b)P^3=m T#j ٺ\k&uaן<>a ߎ\kܻ0uicB}+MF8pi?yQeJ \cCvG $<YWficir̀#1LKKN :;<|Ho˂ޱuqҊ.; Q[| pҤio3fM|(z=SR"_u 1h(%w/8fվk;Mm{ LҘV{lϖաN 28ϡMؘ-,DxK6/*lܤGxvGBwHEd⇀IMҌ2s3g?/`c=:E%,s}`K_ =b\L/{EMx<ӣKM>ʯ+f%^+%^M 3f~w@~meeIJ^]¦WQ+i~=u^qV,zͮcxn KܼbQ7sv^ަR7e䧌|!.kDo) FuW&#%O%OֲKśyՓ"Nm`r?F0hlO7s&d MܝWbue '{8nBv^ R`g29wpձ/oKXFeܻ*S笒펽f_-_DJ^E*|%x+Rq&oOGS<>]D rc pK L#t*³C[,&Iw3_1?fC|hD`zv11iKb3K3YRҦB纳ŕEiN_Ì+qجڳ2DzO#2!#iaL6\w;G$r0ͺltf1 M_{Z?$<̽~h¦cg,8?J]r;Kyc! !;wӣ*kRPڵ{sUFM\{-`їƧ8ۏ_5e _ȱج˭ =wݠv/ hyOE<PtMҨqTREkȀ&V*w #uoiL&A^z#r6]3|(_XssqXҔSb#{ٙ9i$jaDIܬȾ¡j @T&*FJ\wr{a7N^nȄrα(~k0/?QGQg4;=Z?HSaS,q`~ i1bתqQ]Y6m0Fxֱ|Ɩ:IUQsz>9;F ƄxR/ZaPܐN cGbT쬶W5-h!.[mMx*~/hܷHN>c\sg|uf'ɪf␧]Zٻλ%5<(XV( U'N;qvEZl+v?lIVI]g{vԉU SD 5<@9x?3A@E|_uss]\$^^q*^6C Leڒ6`dawn!KTOu5[2qU{Ѽ-NhEdœ-*p`Z]6J&d3=AwVo|0<@#RRɮ搇.8ʭ 2W%k?Mհd*U'>BNήD;m&4 tenRcU{/4\vuӠ˾LSRrjXH%:^9qn~2?As銋Q}7yok^x].]ܦTM}k.\:~zn, gN}4+"`×ņ˾y8B繧9'qI8*\]wJ5.|k.JSЪ5\sw`gB?*pБl6,dsKit1G קZ_)%~rk:cGBI>U#O&>=׹R,& IDATb[NWCY+yG?3n˿ @69FG/>N;#|#Ƹsjk-T7xI܎⬪9unV%Ԋs7;GL^]3MS[CoAsH)=;?e,ߛY=WXyɽzYIsNO *wWݖ{[%7ْ"hy]W~uN㺉Vj[R$&o.)B=a|/0ֶx?'Z^~7_aoRTs[Ofl+YtH{k4`t>&]׋u;nPz"Pv⡜OoOܖl <1?k`+.g\1[k3oerKA&#?!hdL,ڷ6ZNe%YHɾw3\)Sg%W0,w&JySDxјVn= ;j$[<#WwϪOȤ^2 ,c3[ڎIgn,4y+5ywo?T&8tUmAIB3ʛHrOZhQ'~,)3,+h!Bb53Zy)-k8cƁJIwy&O/ņőwjie/E9GK8AWQxrj) \酟5ه? \9eek؎Bb%+c[ dHgl=SYs3OH>^`Ԥ"*{9;s`,?2FZjufIT`\M^#tgU3/ςyi fG{QFծ<봚y5jr]o-_2%Cc{nޝ;y˽%&^gXOlઅc2pěykuc ]x 3 ^b#2ſYb檵j`Gǽz? Eq' Ac6ONNxWI-Wo֖ \JB j%|zwJO>1.?qf*4wcv5!t̒(儎'.;Vf׮^km1KF?rKBH'.%}ԅ &h}|KGw+ɤK:-8Sk46tW[K12uGl䛇2=PxE|=u,ι$^S, px__k}K_>;5cmm0no7OԻ;7EO0.]o&j ~ykK폑)b]dU>s?|M1EOL}Sqp?2նvΕwIBUQc ?/ʺb-e^ak&+w_Ka:e7g24,% -wF6Ms(3N٥;sB}j!a[gW916V~?w QGְxDŽ}X2*g;3ɷ}s2J]#ںrũSWl 'v[&jXyG<>eӬeeTk;8m !cyه74 h (!o>=}0KLiuWtU@N3&[reO ky|SM}H&Xr$GE{*jEz:XGC~1)ʧ}\~}08s%='>qc;ќA|FH;f* `=*j%[nzMcۓzhEXhʛz3uEvX_co&=}f7rD_ ߇hZ׻ `А;u{`1L 6X:zwnv@{Oܑrwx]M a=C|ݙяe`b㯋!C<:톯T5~^߽L5:wb^v]*0^rcM7ܳ_2__1WqS>W~G^RRcE^]S[R%v],,[Wg6՚*D,g' ](`L1BH_P}oԨKZHGY1E9!D%|3)wlU#rKg!".ăG,FbB!B!rJNU <@bBȽɖ{"C_9:NyLA{@*B!mk֗'2.:j'i9aB!B!r4EGV7U4rrHuYe%Uśk:\ Ƅ0^?F}^];t!B!BEM{ R}TlYsBULDXMVFȜ+%Q@ %?dWITC(`LpƯ)m/8$q2h@sD!B!Ba+>QTnC4Gr<[.}›+*ۿ.z AK" 4,`4 5O񠹨 !B!BA5i+*mD!NXW+ŵFL"G 990& 8|@gB!B!~=#*z3A!k|0u4}8!B!B!B!<(`L!B!B!B!( B!B!B!BƄB!B!B!b.]Ƚ! =t!a?`BUy]=! *ɃFB!B!B!B 1b@y \9{}i3B=Н!θ CB!=cAzԖB!JI%0ypcB!B!B!By@QB!B!B!BP0&B!B!B! !B!B!B!EcB!B!B!By@QB!B!B!BP0&B!B!B! !B!B!B!EcB!B!B!By@1gPk ǰTYPtf!~]Vk9aƨٛMŬUW9*ۙ Z=DZlb !_Q3P*$pb&@.ZWs`~R@fB!h,<k}3CH5V HDaW[k`yBDkVXЗݺqkӲHs2īw̝WÃ4SиԾHn` !̂\ۋCU1/''Qr,]'/4|~]P'B!Gr=o5GBZ}$Qt9iJ\qX.&4Gglhm 8򩁉zrN찎4w@2)|)U@6&b D=1a<I&ݑYxfm;$2՛3Ft\F^1 ;l\3՟g8-yfs^R܆fqI(\L!Q,HH\0Й <0J:e|Èb÷ŬgR 䦙 Pe`]C PlVG-R:#^Q#@$4=f>>~'4~2yM:-4"&f`rFȽktCd-\CZ鋕f%0;OYpQDtMFS+; kx"SD*{reY_%Eoep%جwx0a^(`L;6C @:okxU[r J-zGjȸݧR,)ΨH !B!U( \~tnu9LƁ9! r'6tmn*I gR6K,ݼSYY"nw6?kXEl;ssNamG&%zxÏ  Kƞ/׫-< =e\3:S(닾uc]f.kf P[3Rw+$8sVkJҞ9sVo8R¿7Oߜ٠79>>=m,`GҴhq id)R `JjAڬj_R/>zfM6c -Jz~iHdeLE3k+_ڋ+3.ojc#=_{Y tD2h+zҀQ!i;>BDTt}U5h6=`;C! ƊlR ZC}>4Q{jnd~>]Tנ%b-WU5Ig븹vX/^FCuI^n{LE۔!8ڬvrݫ6kFAn>+&I +ez0VN)L:ӒXipג^mIe5>3-ݝ=e'{ͭ8i2革n%Ijɉ-SC#]eJK65KWdh1Wz33[7UthdA|vo7kͭ6ĽXDW{Qsz IDATo:|O/{iO~x+Kya]`ߒ"Uws% fokiX5z\,ߝ[vtmɇtڣ?5!V?*_[^3l(ɏ.z,x+xt͜l_{.ly_c IdQKxɢT!/N1yʏ+<OYn+zL cgvZXԺ_W'/9ӳYz ߲=rISWZ?"dڙ! \?TˎQ0a3bztzx~J?[i4k -|:$jFMQ+@P;_j 3c>lA2؍qwn&͌xҦ읫A4dŒ%k_Gڴ(#M=mNS,}~=sdrL،%C[ƞ2NwM,zeR$uYaY3e?OGcY޲K w=7/8 z6eI:w{Od gܫezCε R";dp͏ِcpޤ1,ɲ\sE8PžC)9Wz8N %9Jr23J_:Kttm[ò,|JtV|YѶ96rvM^S+7#5*@Ro5k _o:ļp3ʎyWDɢѦWڃ&.YCXk O̖T@K*?xO+Ntږ(+d98Ù-/eeK;{ P޲ 9f6N{,uc9O7\6wZFS.5-KR_s %kwBh/;-^ vAe)rJ2zC-gn+dq[YwfPI=熐9FsE4MK S&usp oPnu6+gx4 Cn|W|7Z{9 1Xg˶-KzjǏ&jۣIꚿ)bPר>UtJpMĉ`04@`2Ump(l#`%xտn`wtqW ;87>=߀v:ſ9|>L?86O Cуo4]h;27]euv E_XYԕ.{.]˷/p |]1M+^WZ\]ְG"58c%Pwq.{˘r&'᪫1P/kv~9OLMث>DkW !pe+.N~/v$`5F9e曥ŮއFMΕ8 h#`UYyj:fhܖs0~1"6sƊw)iDx5m!vgw]ݿYcq"$~,5،Podٹ@%`B-ZKBlt9-0m^ULNg3$jJNd"WgmDD$$*%f˗)J&b$nbIom\첰3#Z:hjk0`3co3>*X[_؛r7 FfmvŜϨ:+؛S_8=ELXp/(g<5ky-bZHҮ(Kmԙa4yY{I().ΛwAl/|fm`S'fl)X+0ƞymF " .{|s?_MZg&aВ˺gbŌjTt(#֫?"nr5n/?= [7$mݚ1]ۯ^bplI|cAλO/ aK=oStxOde!^_vӅ#)1cX\Iꦿt9;6-LuV_gL:hOl3[VeKS.kv}qpe^Ku1AW]VK[c`Kg.evEEF5ug֖Qk/ݙZR섄 ԃt4pƵU bO}gM۫,q,ۡﰹ`sXXxy'_[y51T?vi"ܐ6:IщMׯ_nןݳ1Z0}2h(I,sFnaۏ즫&t!YQr; v2?lc~z5~ݤ><)fr2缵ؙ&L ]FVZV;!!@rP W9r#5dҗkM&ӅѣX 1dK,gM&\o2oZr-@yʜԍi V͟h:g?ap4dn)՟t+gw+3qϼXEd,`8~:I1sѵ8@:qM'/*VƊzOڟ{1ɺ ?ӾىSk=~8S_仔w49@<83-Eӱg?'Ӕ.MQQIbwO;qrW_Ŗ=tr|-uG_ŚNx!urp1 9?.цM'wGՋ׋g⮟`rh1Iw_^? 3ꅟ[U79)BTM"hN].:r9 x޲vb߇b߀5|튟`Cb8*srcHGǹ9 :agw+>QYt|\ 3)#%o :\ 0Q1'ZsnʓWk\}\&u^k)~b `~1W!",%uF7,dҕѾ}sy@/d>q*z|֡5 eŪҷV|m幵'cAS|den23B]e.n=D^S%db3d++~;J~Wc֍"zhƲܕ=QF_X/#&/kN\fVjIо'_^3[NU`ݹ$6RE̺Uo7r+ODy/V<blҕ v'׽]藹߭}LlZ; K69'0,hd2IC]`0bvBچh`|o~֜GrZr)FvlF~֜ɿ[<.nvKw{"N:>7. қpGsڵ٘HcOO mYMNIޝ{Ӳ58T JKz./3?1*fХHO圜smVU(F+ܴtZ0!'N7:G1m{YO`C>M H{ΆZ^߆E;{yLz|&@5#Zcnu*WKX(f(UwiB rBI W4W1砳M r>+xF&elP43Rռ*9;]-J܅{w%D7זұщm {rKYC H޳?yiBT1uiJfzB0h3RKn9/)Wjظ))ْA`l\۲HU :  6*ւzl=G Gm?E4!ABe_h@Xz-CNG>?@CU^t0g~m+И͋ K$q^D1(WVsIqg&|:=qNbN((k_o8/eP H.ޢ4(8=n`XX )GC5f~r&[y{^W|`6۳D +9}%Z~;n `|¯+|y5`'㧴,vS =>aק޹W2@:kꞵc-I >7tϟG:yV ;e3\OI4v2-xbK._vz&\ `/M!ثVu$_O=Ӆ$Qc+;}g.J Ik6鶕ڌ}(Cqm2u)l)x͎~9!Z_:; Q=ZFR3Q22Pr.g[tJ+ TN\v.w<XE k޻Ś͌vV)g5M$Qd/?庘E8Vg=>-u5#x}enxz}<ghx˥-oMF͘ @H|8,uhպg$A۟X"|j/W cE: Į,jJky^MLh#=f%BUBH6}sfkҔȥri5ryx5_"FzނU^+;gh_^> b~@Uv=eO FbLUgD:oU_fLcӖjc铖w\J$I)_ tM9ZS,I~rotY`LxζE9AB17<[TXċQĽ5|Aִp0u6ˢ )2|qRF'lh3WZ?-6%66-i*.&)Cgy`\. -/Z,>h٣a+N!]1E)sP> a y)''w*YիQ xVNk"Doؚnbe]M`FG謺}#nE?4&HG6pZuEYۮ"`1o%vʲgdY5_8m+I]dS4-, Yuȱqۃ]Zr.rrc^Y:ʜV[85_QvZ5KV]݋]8&v`Es҄Ϝ}S{\ƸI9UvG9GƮ]$+,3K1[#5O- $m窺<POyzɀ[vИV 2K xn1up0\,z]/+sM1)BkC~#`]ԵDMn}G\QKa9/ɀAƣE-# {ľ~?0Ciζw{sP&bS;LYW7] Sc&MM9}'M2׫-$SS);橩:Q#F;G#4t3DMѵ yq_ht{ dWugڏlk2Y&XϠZOIӣZOZsW9KymOtƂސ)*bMxċ. #%h,Uj79#jì)t%EyQ7mi$S'uMcrv~= 9WD?eMF@-?z&ȫJ_9Ed`0r_o U]v?F5k3ŹLPNcT@2:8,##'t~S ep7 ^|g]r vzs8i袸&&j`6逕*B'(6=WMY&BAK ȄMuv{,sަ/unP6\PvjR΍c4F=`a"Я HƸ^FsvR-$Nb#LsQK[c*Eg[ϱ KN]tNRqfW6""O ffcZ`E ͷK+\.g-ZeFDoݛSIP8=e y r5VV_ HGHE~2[co;pm8CCGK{bc_rr @d3Np䟩cO@9Kz`3vP͐ J+snpsN +6C/ 9Zz|㥙.&+=ooRF*&0E:.^rN:2VpXm' xřy /g]q1þ',V(\pG{lF^9Q kz#U֗bӒ9:EA .oJ!^T|etʟ~p<& ;{J]t:y=L/ͳ3<.c)i%V\B@,ifZ6w~$dh7xnCUVӀ;z ()`^p`6כ8W 1\ m_Ƒ^(kΚn:ge8 Lٻ'GSmMuu*UK/.pI\߁U(\w8 R<8iKn/ş]y䏍{zA:l;Fo% H>RRi櫷Ο貧S]+ =vTwN뀪 +\ dnw2 Zkfgj#*Z^Mg!qp/vtz ?)eOgnlq9feO#äқƤzzlqaɵƋs@W]lH7m+r *4jt?Ԩ?DˡQrK7=ܛn\x{]eSj렂ƚsnZ$>A"&(E){B]%;7k BpPLd4^tZPE9)T:˲Q.|0Q6vM;4 6rvxX= mCƿg.߰d %?묂qU1cGG S+4kp-.e!.b[>FkJc֧keA)r}hGH&5ڛ_jMX KNvXZұ$ұ"gGFϋYܲ> }:E--n54:y}̂vّΔ3qp`ק&LtOİ\w^KM2&j(`LH300@FsR?Ns(W^Jz]˺Mo9P*'z3-m!AAHsy|.<>,@cBiX8ǾKGY֩jm bYdZWq[m /M<K7D^0l:SuՙIãZ>Ir{hA%0-{*9m. K~Nx oKxe!d|1/)~ [;'R6byR>C², g<zpޕп1S[82~_Jz90Z7#;qsDȭBmΈThs0F0ݹgӑlh|Nhaݣ=j1^6FAHL+ϯvo5;xXrXI?꿑eAΛz9h}L' Ħ%х;33~c}N tm) T>@Q<cX!wseiâP0o*o0e!t'І@H֊T\K>L9 SMR-KNbr*S3FO9pBߨdn,oqyŶY@rEqkGαfGZٿPz2zzdaʜhTEg= F )RF8m0fK+{8O_^DHcBY0AW ՚5LʦM FFczoDž/s՞1>jܓ}njՏd+jP]S}NSd{XLźb3J 1Si'O:vMZ3\T)gE+% `Wi7jjGJנ-~6BXm**;]ˮ&lεyrs޶*!%sguiZ+uxnr1y?;9AeB Bۿ%=eϨW7n[z.7[o=Wo9oRo^jQں37)Կ!55q.޻dҘԩ#WO~ק ab>ֽy_v8k^&z0:&)8󳢎YI+S0ZϺA[c`"Sfz-dr,I)73. @KIW^]kΦk=UiɮzG:/;vNFd=vj~c)Ϥڧ#3Ӝ\M '.N_v67gsYJՑہ\g<<4?ka[VI ]U}{0byjf^jf޿6nZto=_}p WU)e gLХT߼xɥfϢeSd4°Pm}Εsvp&LnK=QNn|DQĆFK[6 O96.{ޒƌ:xO+\qA+΋Ylvwwkoi|Ԅ 6g]-%,ot: ]$-n`7vGƃvg瞢ˮFEy^tl=-O[}s$3e5KhԻZ =ӧ~|62l{LZMxs^!w{ eNUx9V@3+~P^jɌgR|#=T^#ݴ} i\u3-xUk{MNGcâP%]HO9GxzZLjjۜ&+LZ?kHHR$8lX|ǁHȻB|2jz@8K~i'1esvAna&rȅrjr wF%UOfj鮧&ӕ5LݔKH3sh2d"+$BcW1>BMzO؍ v`r99R&g>9"r;㻨q*VgZά37l s糀Xdc* //GV~\%1W*FCKz]~^O @mQwWڪk(9J1FNv~b*& 07ijƻ ҳaM.=?ij7arg&[a# On8ecQMc^֛Nv-O:"ELajӆEe?mm:eNn¨_' V'# M&様 }#}WOkvOpgW8g{{c`Sydd2g:49 9#bks))|ER;js>(&z+,5#{R|c??%+i0X_DcOYX0iw~s X|8m&:L0 [0Ks'KNht~v\/Mm7fffH@oW\xD@0Y ҼO{-Ya (6Z>S8/x͔ͻc!ڣqN"D Pw#NT];4ط?RT꩛戏N~ /Y9gNdJv]J!$$MNK_yhz 18]EFc1!,jsx~(P#bڳ?/n`|bs0uv-J Q%ӢU4 "';?:9M~RT,֛^$Pp6W=UOHge5;E29D>kn3g?<{a=ӧ@um.Eq\t\=rO'8avH ' 81IKӳk+ޱ1#1`` dDgl%:in'L V|Y1eȂo}Sk/}y!ؘEsd"T\Iуϳ u^l$iPezG\tvox Zk8wt>uǥv|U;nNJc#Lċ/Oee1t>zLgpal@_}DDczu"—zp|}g-͵ jqܪTo,iE;Q(:̚=ɞdWmLV,H}gZ6Jc|u3,M?/&<88ߐ !c#G!jȉ}N}@@X<9 tnӌXd[ jX#?_7xɍ[uu8nB&n9JypxK0rD_on^ɛr,|`h9Dymkp[sTKD$o,$YT vMɮa‘2Q3]戼yÙn7rzigh7pʥ?pk?{ `'HdM؜99KBݾ6`j{0gO,=lʅ*cn[SR]V7*-G\{'K,N_t@hPTߓ\O̍E65N,sqngǎ8lFlO5Y}Ė/Y|${_jן7bE- ag׫eJ淏}b*lkFSU.PܯLs1+@_泃/̢x"_EUnQvMW{޷yj [jLU=paͰԙ"5ʚby#CihJ2nY㩞ۻ}F}weXTIz1.!@8GS'C ^/Nkߣ3:sͼݒQz>ҿ;xl}54|~*N"F-*_o49@??\ wL_ǞAeg >L=Riʈ/&;9 <QŸĎ2qzQbp^>[pI??={tdwuluFޗTBnf{f]NzcgSe<abK:kdpE05z+ֿ]O5SOL Q<0jMQę/%٢ɇ ij$mdxVw+Trs)d6<{3.>DS8WrL_@q{6j`|{}f~GK$ϊ๖KFKʳܙ{hy{,!Ƥ+{[?r%=R^whoUq"ah<[Q忎mmXOgKzg'Q{g@œ?e~tcH'vc΁ݼڍJ>`{r_mH|-vsE"۵J|+굒Ӫ-Uq_^%X挂F{U%%r)}3Ar}hǏ+V%&,K%-f;VHZ?1Ys n6msr2Zqv>M|uz8@|re6C'z >,HG7,sYouzx@:3T".cS)Je%AUhl韟CŦorq H_Kp1̙7=ꂿ:;5oUn\& y{SɞzA#WɑRUr`az,[fnPT_H:uk bt==K*v:o`j;n]~P_@4i1{. w,z'SIo _~K*/^rEBY4;,a Yl+xei@tւS ޟc/>d|)3DS+n&0|v?)(3niF0⌎5k uJ`an Vw&LǷw˸5+}m52fG;K IDATm2?ia1,l3؝N`)I-8uvB RiaTBFuѩ1;/BU7 oH#n†L 8f(wT}p9R#C(50}/? Lx̉L>gyqe$+R3kJPԎӲia>!3cWpjB7xQ8jk7ƪ* #w|p鏬kF oҗˢ?H CrkFCOva"Ģ0vN4|&t7 U fHuZB]}i8,7In"iF,f..㟮9&6m_<1M~1I5BMiafx`461=1߫!v. c*)vsK,s:%V>0UܢvImE@\J,/z}U;ٽf{Okw<$sUo'ԍ!cp֡'SW rpYVz9wOB&U;b{aKrj_S]5hzgWYxV5ꅝGw?YTL U95{,te/v9#s YRPX4gpcQVWzFn:^Kz]NWgxK}ʝ~S{DJzΉg\u3d JCm i\::SfD_Yr@Xkk[[~҇UaYCӥAm6ùJ꜔͏5\|EFnDYAJ&e6V\n_]I>u7GtqžG NЪmnK߱3ٱo]t\z͡ )Osbdޫ*L8$(za gS&gi$O^h- W?}:]=-?X8֬XwoDD [ >>ɑw'$r]OZyGǟۻ8(8uy IAn"ڦSoSFF޷~{Oiם1p<++;S*e֝=ɱQDEl0]*~ΙFJ8x$n=cq$JTΝ <ήv¹!FOS: `oߺ!7mY`Y`zᖝj :6.3uzcQ {hD*37<rvKzű!\vcbIB;.5Ƹ!A9#1Snƾlg=' *0*2.h/;9' FIC#2EMK=6'ذ \")J=Μ.fH$A9b μt/،`C١b_/u = JfI3G{:{-6EJ/e4NxH>*?D`Gc_|䝋nAĽE/͏Cnv c"ةkt[{]&pZ(&|2L|bD 6\npnii3ߕ6mwC˦˂ȑksuZ,.00X6#B6#.Aþk\Gm[3*\vC'+gW{mk-̛>|w`Ak`fV  &O4LN#ӂi(kɵ֯N'~Sє!`L&:`L0n! ݏڜ; !{Ϭ{ oqw:`L!d3&B!B!BB3 *ńB!w= B!B!BAd|†'1FB!V1!B \;5dI !Gm!2Q%cjh= \ԄB! !2^[wfJB& js!q>q!B-nw!B!B!B!0&B!B!B!IƄB!B!B!2IQB!B!B!B&)ҥ]B$9owwM6BnF]B!c·w*@c)rP L&ZaL!B!B!B!DVIENDB`aHash-0.8.11/compare/readme.md000066400000000000000000000176401457113102300160370ustar00rootroot00000000000000# Comparison with other hashers [![Comparison chart](Table.png)](https://docs.google.com/spreadsheets/d/e/2PACX-1vSK7Li2nS-Bur9arAYF9IfT37MP-ohAe1v19lZu5fd9MajI1fSveLAQZyEie4Ea9k5-SWHTff7nL2DW/pubhtml?gid=0&single=true) ## Design AHash is designed *exclusively* for use in in-memory hashmaps. It does not have a fixed standard, but uses different algorithms depending on the availability of hardware instructions. Whenever possible aHash uses the [hardware AES instruction](https://en.wikipedia.org/wiki/AES_instruction_set) on X86 processors when it is available. If no specialized instructions are available, it falls back on an [algorithm based on multiplication](https://github.com/tkaitchuck/aHash/wiki/AHash-fallback-algorithm)). Because aHash does not have a fixed standard for its output, it can optimize its performance to a much greater extent than algorithms which don't have this flexibility. This is great for Hashmaps but makes aHash inappropriate for applications where a hash needs to be sent over the network, or persisted. ## Quality **AHash passes the full [SMHasher test suite](https://github.com/rurban/smhasher)** both with and without AES support. The output of the tests is checked into the [smhasher subdirectory](../smhasher). At **over 50GB/s** aHash is the fastest algorithm to pass the full test suite by more than a factor of 2. Even the fallback algorithm is in the top 5 in terms of throughput, beating out many other algorithms that rely on SSE and AVX instructions. ## Speed aHash is the fastest non-trivial hasher implementation in Rust. Below is a comparison with 10 other popular hashing algorithms. ![Hasher performance](https://docs.google.com/spreadsheets/d/e/2PACX-1vSK7Li2nS-Bur9arAYF9IfT37MP-ohAe1v19lZu5fd9MajI1fSveLAQZyEie4Ea9k5-SWHTff7nL2DW/pubchart?oid=1323618938&format=image) ## DOS resistance AHash provides DOS resistance by incorporating random keys into the hash. There is a full explanation [here](https://github.com/tkaitchuck/aHash/wiki/How-aHash-is-resists-DOS-attacks). If the `std` feature flag is enabled (On by default) it uses the `getrandom` crate to generate random seeds upon initialization. If `std` is disabled and the `compile-time-rng` flag is enabled instead it will use the `const-random` to generate random seeds at compile time and embed them into the application binary. If neither `std` or `compile-time-rng` flags are enabled aHash will fall back on using the numeric value of memory addresses as a source of randomness. This is somewhat strong if ALSR is turned on (it is by default in Rust) but for some platforms this is not available. As a result this should not be relied on. For this reason it is strongly recommended that if you disable `std` because you program needs to run in a `no-std` environment to enable the `compile-time-rng` feature flag. # Why use aHash over X ## SipHash For a hashmap: Because aHash nearly **10x** faster. SipHash is however useful in other contexts, such as for a HMAC, where aHash would be completely inappropriate. *SipHash-2-4* is designed to provide DOS attack resistance, and has no presently known attacks against this claim that doesn't involve learning bits of the key. SipHash is also available in the "1-3" variant which is about twice as fast as the standard version. The SipHash authors don't recommend using this variation when DOS attacks are a concern, but there are still no known practical DOS attacks against the algorithm. Rust has opted for the "1-3" version as the default in `std::collections::HashMap`, because the speed trade off of "2-4" was not worth it. As you can see in the graph above, aHash is **much** faster than even *SipHash-1-3*, and also provides DOS resistance. ## FxHash In terms of performance, aHash is faster than the FXhash for strings and byte arrays but not primitives. So it might seem like using Fxhash for hashmaps when the key is a primitive is a good idea. This is *not* the case. When FX hash is operating on a 4 or 8 byte input such as a u32 or a u64, it reduces to multiplying the input by a fixed constant. This is a bad hashing algorithm because it means that lower bits can never be influenced by any higher bit. In the context of a hashmap where the low order bits are used to determine which bucket to put an item in, this isn't any better than the identity function. Any keys that happen to end in the same bit pattern will all collide. Some examples of where this is likely to occur are: * Strings encoded in base64 * Null terminated strings (when working with C code) * Integers that have the lower bits as zeros. (IE any multiple of small power of 2, which isn't a rare pattern in computer programs.) * For example when taking lengths of data or locations in data it is common for values to have a multiple of 1024, if these were used as keys in a map they will collide and end up in the same bucket. Like any non-keyed hash FxHash can be attacked. But FxHash is so prone to this that you may find yourself doing it accidentally. For example, it is possible to [accidentally introduce quadratic behavior by reading from one map in iteration order and writing to another.](https://accidentallyquadratic.tumblr.com/post/153545455987/rust-hash-iteration-reinsertion) Fxhash flaws make sense when you understand it for what it is. It is a quick and dirty hash, nothing more. it was not published and promoted by its creator, it was **found**! Because it is error-prone, FxHash should never be used as a default. In specialized instances where the keys are understood it makes sense, but given that aHash is faster on almost any object, it's probably not worth it. ## FnvHash FnvHash is also a poor default. It only handles one byte at a time, so its performance really suffers with large inputs. It is also non-keyed so it is still subject to DOS attacks and [accidentally quadratic behavior.](https://accidentallyquadratic.tumblr.com/post/153545455987/rust-hash-iteration-reinsertion) ## MurmurHash, CityHash, MetroHash, FarmHash, and HighwayHash Murmur, City, Metro, Farm and Highway are all related, and appear to directly replace one another. They are all fine hashing algorithms, they do a good job of scrambling data, but they are all targeted at a different usecase. They are intended to work in distributed systems where the hash is expected to be the same over time and from one computer to the next, efficiently hashing large volumes of data. This is quite different from the needs of a Hasher used in a hashmap. In a map the typical value is under 10 bytes. None of these algorithms scale down to handle that small of data at a competitive time. What's more the restriction that they provide consistent output prevents them from taking advantage of different hardware capabilities on different CPUs. It makes sense for a hashmap to work differently on a phone than on a server, or in WASM. If you need to persist or transmit a hash of a file, then using one of these is probably a good idea. HighwayHash seems to be the preferred solution as it offers high throughput for large objects and is DOS resistant. ## t1ha and XXHash Like aHash, t1ha and XXHash are targeted at hashmaps and uses hardware instructions including AES for different platforms rather than having a single standard. Both are fast, but AHash is faster than either one, both with and without AES. This is particularly true of smaller inputs such as integers. T1ha's hashes do not pass the full of the SMHasher test suite. Neither XXHash nor T1ha explicitly claim DOS resistance, but both are keyed hashes, and do not have any obvious way to force collisions. As of this writing there doesn't appear to be a maintained crate implementing the latest version of t1ha. ## wyHash Similarly, wyHash is targeted at hashmaps. WyHash is quite fast, but is not DOS resistant. There are fixed strings which when encountered caused the internal state to reset. This makes wyHash trivial to attack. AHash outperforms wyHash across all input sizes, regardless of which CPU instructions are available. aHash-0.8.11/compare/resources/000077500000000000000000000000001457113102300162625ustar00rootroot00000000000000aHash-0.8.11/compare/resources/sheet.css000066400000000000000000052754301457113102300201240ustar00rootroot00000000000000a{text-decoration:none}a:link{color:#15c}a:visited{color:#61c}a:active{color:#d14836}a:hover{text-decoration:underline}.quantumIconsIcon{font-family:'Material Icons Extended';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-rendering:optimizeLegibility;text-transform:none;display:inline-block;word-wrap:normal;direction:ltr;font-feature-settings:'liga' 1;-webkit-font-smoothing:antialiased}html[dir="rtl"] .quantumIconsRtlIcon{-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.ac-renderer{font:normal 13px Arial,sans-serif;position:absolute;background:#fff;border:1px solid #666;-moz-box-shadow:2px 2px 2px rgba(102,102,102,.4);-webkit-box-shadow:2px 2px 2px rgba(102,102,102,.4);width:300px}.ac-row{cursor:pointer;padding:.4em}.ac-highlighted{font-weight:bold}.ac-active{background-color:#b2b4bf}.goog-inline-block{position:relative;display:-moz-inline-box;display:inline-block}* html .goog-inline-block{display:inline}*:first-child+html .goog-inline-block{display:inline}.jfk-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:default;font-size:11px;font-weight:bold;text-align:center;white-space:nowrap;margin-right:16px;height:27px;line-height:27px;min-width:54px;outline:0px;padding:0 8px}.jfk-button-hover{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1)}.jfk-button-selected{-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1)}.jfk-button .jfk-button-img{margin-top:-3px;vertical-align:middle}.jfk-button-label{margin-left:5px}.jfk-button-narrow{min-width:34px;padding:0}.jfk-button-collapse-left,.jfk-button-collapse-right{z-index:1}.jfk-button-collapse-left.jfk-button-disabled{z-index:0}.jfk-button-checked.jfk-button-collapse-left,.jfk-button-checked.jfk-button-collapse-right{z-index:2}.jfk-button-collapse-left:focus,.jfk-button-collapse-right:focus,.jfk-button-hover.jfk-button-collapse-left,.jfk-button-hover.jfk-button-collapse-right{z-index:3}.jfk-button-collapse-left{margin-left:-1px;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0}.jfk-button-collapse-right{margin-right:0px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-right-radius:0}.jfk-button.jfk-button-disabled:active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.jfk-button-action{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#4d90fe;background-image:-webkit-linear-gradient(top,#4d90fe,#4787ed);background-image:-moz-linear-gradient(top,#4d90fe,#4787ed);background-image:-ms-linear-gradient(top,#4d90fe,#4787ed);background-image:-o-linear-gradient(top,#4d90fe,#4787ed);background-image:linear-gradient(top,#4d90fe,#4787ed);border:1px solid #3079ed;color:#fff}.jfk-button-action.jfk-button-hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#357ae8;background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8);background-image:-moz-linear-gradient(top,#4d90fe,#357ae8);background-image:-ms-linear-gradient(top,#4d90fe,#357ae8);background-image:-o-linear-gradient(top,#4d90fe,#357ae8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2f5bb7;border-bottom-color:#2f5bb7}.jfk-button-action:focus{-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;border:1px solid #fff;border:rgba(0,0,0,0) solid 1px;outline:1px solid #4d90fe;outline:rgba(0,0,0,0) 0}.jfk-button-action.jfk-button-clear-outline{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:none}.jfk-button-action:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);background:#357ae8;border:1px solid #2f5bb7;border-top:1px solid #2f5bb7}.jfk-button-action.jfk-button-disabled{background:#4d90fe;filter:alpha(opacity=50);opacity:0.5}.jfk-button-contrast{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);color:#333;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1)}.jfk-button-contrast.jfk-button-hover,.jfk-button-contrast.jfk-button-clear-outline.jfk-button-hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #c6c6c6;color:#111}.jfk-button-contrast:active,.jfk-button-contrast.jfk-button-hover:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background:#f8f8f8}.jfk-button-contrast.jfk-button-selected,.jfk-button-contrast.jfk-button-clear-outline.jfk-button-selected{background-color:#eee;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #ccc;color:#333}.jfk-button-contrast.jfk-button-checked,.jfk-button-contrast.jfk-button-clear-outline.jfk-button-checked{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border:1px solid #ccc;color:#333}.jfk-button-contrast:focus{border:1px solid #4d90fe;outline:none}.jfk-button-contrast.jfk-button-clear-outline{border:1px solid #dcdcdc;outline:none}.jfk-button-contrast.jfk-button-disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8}.jfk-button-contrast .jfk-button-img{opacity:.70}.jfk-button-contrast.jfk-button-checked .jfk-button-img,.jfk-button-contrast.jfk-button-selected .jfk-button-img,.jfk-button-contrast.jfk-button-hover .jfk-button-img{opacity:0.9}.jfk-button-contrast.jfk-button-disabled .jfk-button-img{filter:alpha(opacity=33);opacity:0.333}.jfk-button-default{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#3d9400;background-image:-webkit-linear-gradient(top,#3d9400,#398a00);background-image:-moz-linear-gradient(top,#3d9400,#398a00);background-image:-ms-linear-gradient(top,#3d9400,#398a00);background-image:-o-linear-gradient(top,#3d9400,#398a00);background-image:linear-gradient(top,#3d9400,#398a00);border:1px solid #29691d;color:#fff;text-shadow:0px 1px rgba(0,0,0,0.1)}.jfk-button-default.jfk-button-hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#368200;background-image:-webkit-linear-gradient(top,#3d9400,#368200);background-image:-moz-linear-gradient(top,#3d9400,#368200);background-image:-ms-linear-gradient(top,#3d9400,#368200);background-image:-o-linear-gradient(top,#3d9400,#368200);background-image:linear-gradient(top,#3d9400,#368200);border:1px solid #2d6200;border-bottom:1px solid #2d6200;text-shadow:0px 1px rgba(0,0,0,0.3)}.jfk-button-default:focus{-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;border:1px solid #fff;border:rgba(0,0,0,0) solid 1px;outline:1px solid #3d9400;outline:rgba(0,0,0,0) 0}.jfk-button-default.jfk-button-clear-outline{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:none}.jfk-button-default:active{-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);background:#368200;border:1px solid #2d6200;border-top:1px solid #2d6200}.jfk-button-default.jfk-button-disabled{background:#3d9400;filter:alpha(opacity=50);opacity:0.5}.jfk-button-primary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#d14836;background-image:-webkit-linear-gradient(top,#dd4b39,#d14836);background-image:-moz-linear-gradient(top,#dd4b39,#d14836);background-image:-ms-linear-gradient(top,#dd4b39,#d14836);background-image:-o-linear-gradient(top,#dd4b39,#d14836);background-image:linear-gradient(top,#dd4b39,#d14836);border:1px solid transparent;color:#fff;text-shadow:0px 1px rgba(0,0,0,0.1);text-transform:uppercase}.jfk-button-primary.jfk-button-hover{-webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.2);-moz-box-shadow:0px 1px 1px rgba(0,0,0,0.2);box-shadow:0px 1px 1px rgba(0,0,0,0.2);background-color:#c53727;background-image:-webkit-linear-gradient(top,#dd4b39,#c53727);background-image:-moz-linear-gradient(top,#dd4b39,#c53727);background-image:-ms-linear-gradient(top,#dd4b39,#c53727);background-image:-o-linear-gradient(top,#dd4b39,#c53727);background-image:linear-gradient(top,#dd4b39,#c53727);border:1px solid #b0281a;border-bottom-color:#af301f}.jfk-button-primary:focus{-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;border:1px solid #fff;border:rgba(0,0,0,0) solid 1px;outline:1px solid #d14836;outline:rgba(0,0,0,0) 0}.jfk-button-primary.jfk-button-clear-outline{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:none}.jfk-button-primary:active{-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);background-color:#b0281a;background-image:-webkit-linear-gradient(top,#dd4b39,#b0281a);background-image:-moz-linear-gradient(top,#dd4b39,#b0281a);background-image:-ms-linear-gradient(top,#dd4b39,#b0281a);background-image:-o-linear-gradient(top,#dd4b39,#b0281a);background-image:linear-gradient(top,#dd4b39,#b0281a);border:1px solid #992a1b;border-top:1px solid #992a1b}.jfk-button-primary.jfk-button-disabled{background:#d14836;filter:alpha(opacity=50);opacity:0.5}.jfk-slideToggle{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-box-shadow:inset 0px 1px 2px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0px 1px 2px 0 rgba(0,0,0,.1);box-shadow:inset 0px 1px 2px 0 rgba(0,0,0,.1);background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border:1px solid #ccc;color:#666;font-weight:bold;height:27px;line-height:27px;margin-right:16px;outline:none;overflow:hidden;padding:0;position:relative;width:94px}.jfk-slideToggle-on,.jfk-slideToggle-off,.jfk-slideToggle-thumb{display:inline-block;text-align:center;text-transform:uppercase;width:47px}.jfk-slideToggle-on{-webkit-box-shadow:inset 0 1px 2px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 2px 0 rgba(0,0,0,.1);background-color:#398bf2;background-image:-webkit-linear-gradient(top,#3b93ff,#3689ee);background-image:-moz-linear-gradient(top,#3b93ff,#3689ee);background-image:-ms-linear-gradient(top,#3b93ff,#3689ee);background-image:-o-linear-gradient(top,#3b93ff,#3689ee);background-image:linear-gradient(top,#3b93ff,#3689ee);color:#fff;height:27px}.jfk-slideToggle-off{-webkit-border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}.jfk-slideToggle-thumb{-webkit-box-shadow:0px 1px 2px 0 rgba(0,0,0,.1);-moz-box-shadow:0px 1px 2px 0 rgba(0,0,0,.1);box-shadow:0px 1px 2px 0 rgba(0,0,0,.1);background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);-webkit-transition:all .130s ease-out;-moz-transition:all .130s ease-out;-o-transition:all .130s ease-out;transition:all .130s ease-out;border:1px solid #ccc;display:block;height:27px;left:-1px;position:absolute;top:-1px}.jfk-slideToggle-thumb::after{content:'';background-image:-webkit-linear-gradient(left,#ccc 50%,transparent 50%),-webkit-linear-gradient(left,#ccc 50%,transparent 50%),-webkit-linear-gradient(left,#ccc 50%,transparent 50%),-webkit-linear-gradient(left,#ccc 50%,transparent 50%),-webkit-linear-gradient(left,#ccc 50%,transparent 50%);background-image:-moz-linear-gradient(left,#ccc 50%,transparent 50%),-moz-linear-gradient(left,#ccc 50%,transparent 50%),-moz-linear-gradient(left,#ccc 50%,transparent 50%),-moz-linear-gradient(left,#ccc 50%,transparent 50%),-moz-linear-gradient(left,#ccc 50%,transparent 50%);background-image:-ms-linear-gradient(left,#ccc 50%,transparent 50%),-ms-linear-gradient(left,#ccc 50%,transparent 50%),-ms-linear-gradient(left,#ccc 50%,transparent 50%),-ms-linear-gradient(left,#ccc 50%,transparent 50%),-ms-linear-gradient(left,#ccc 50%,transparent 50%);background-image:-o-linear-gradient(left,#ccc 50%,transparent 50%),-o-linear-gradient(left,#ccc 50%,transparent 50%),-o-linear-gradient(left,#ccc 50%,transparent 50%),-o-linear-gradient(left,#ccc 50%,transparent 50%),-o-linear-gradient(left,#ccc 50%,transparent 50%);background-image:linear-gradient(left,#ccc 50%,transparent 50%),linear-gradient(left,#ccc 50%,transparent 50%),linear-gradient(left,#ccc 50%,transparent 50%),linear-gradient(left,#ccc 50%,transparent 50%),linear-gradient(left,#ccc 50%,transparent 50%);background-position:0 0,0 2px,0 4px,0 6px,0 8px;background-repeat:repeat-x;background-size:2px 1px;display:block;height:9px;left:15px;position:absolute;top:9px;width:17px}.jfk-slideToggle.jfk-slideToggle-checked .jfk-slideToggle-thumb{left:47px}.jfk-slideToggle:focus{border:1px solid #4d90fe}.jfk-slideToggle.jfk-slideToggle-clearOutline{border:1px solid #ccc}.jfk-button-standard{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);color:#333;border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1)}.jfk-button-standard.jfk-button-hover,.jfk-button-standard.jfk-button-clear-outline.jfk-button-hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #c6c6c6;color:#111}.jfk-button-standard:active,.jfk-button-standard.jfk-button-hover:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background:#f8f8f8;color:#111}.jfk-button-standard.jfk-button-selected,.jfk-button-standard.jfk-button-clear-outline.jfk-button-selected{background-color:#eee;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #ccc;color:#333}.jfk-button-standard.jfk-button-checked,.jfk-button-standard.jfk-button-clear-outline.jfk-button-checked{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border:1px solid #ccc;color:#333}.jfk-button-standard:focus{border:1px solid #4d90fe;outline:none}.jfk-button-standard.jfk-button-clear-outline{border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);outline:none}.jfk-button-standard.jfk-button-disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8}.jfk-button-standard .jfk-button-img{opacity:.70}.jfk-button-standard.jfk-button-checked .jfk-button-img,.jfk-button-standard.jfk-button-selected .jfk-button-img,.jfk-button-standard.jfk-button-hover .jfk-button-img{opacity:0.9}.jfk-button-standard.jfk-button-disabled .jfk-button-img{filter:alpha(opacity=33);opacity:0.333}.jfk-button-flat{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:1px solid transparent;font-size:13px;font-weight:normal;height:21px;line-height:21px;margin-right:1px;min-width:0;padding:0}.jfk-button-flat.jfk-button-hover,.jfk-button-flat.jfk-button-selected,.jfk-button-flat:focus,.jfk-button-flat:active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.jfk-button-flat .jfk-button-img{height:21px;opacity:.70;width:21px}.jfk-button-flat .jfk-button-label{display:inline-block;margin:0;padding:0 1px}.jfk-button-flat.jfk-button-selected .jfk-button-img,.jfk-button-flat.jfk-button-hover .jfk-button-img{opacity:0.9}.jfk-button-flat.jfk-button-disabled .jfk-button-img{filter:alpha(opacity=33);opacity:0.333}.jfk-button-flat:focus{border:1px solid #4d90fe}.jfk-button-flat.jfk-button-clear-outline{border:1px solid transparent}.jfk-button-mini{background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#333;height:17px;line-height:17px;min-width:22px;text-shadow:0px 1px rgba(0,0,0,0.1)}.jfk-button-mini.jfk-button-hover,.jfk-button-mini.jfk-button-clear-outline.jfk-button-hover{background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #c6c6c6;text-shadow:0px 1px rgba(0,0,0,0.3)}.jfk-button-mini:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.jfk-button-mini.jfk-button-checked,.jfk-button-mini.jfk-button-clear-outline.jfk-button-checked{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#e0e0e0;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border:1px solid #ccc;color:#333}.jfk-button-mini:focus{border:1px solid #4d90fe}.jfk-button-mini.jfk-button-clear-outline{border:1px solid #dcdcdc}.jfk-button-mini.jfk-button-disabled{background:#fff;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8}.goog-modalpopup,.modal-dialog{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2);-moz-box-shadow:0 4px 16px rgba(0,0,0,.2);box-shadow:0 4px 16px rgba(0,0,0,.2);background:#fff;background-clip:padding-box;border:1px solid #acacac;border:1px solid rgba(0,0,0,.333);outline:0;position:absolute}.goog-modalpopup-bg,.modal-dialog-bg{background:#fff;left:0;position:absolute;top:0}div.goog-modalpopup-bg,div.modal-dialog-bg{filter:alpha(opacity=75);-moz-opacity:.75;opacity:.75}.modal-dialog{color:#000;padding:30px 42px}.modal-dialog-title{background-color:#fff;color:#000;cursor:default;font-size:16px;font-weight:normal;line-height:24px;margin:0 0 16px}.modal-dialog-title-close{height:11px;opacity:0.7;padding:17px;position:absolute;right:0px;top:0px;width:11px}.modal-dialog-title-close:after{content:'';background:url(//ssl.gstatic.com/ui/v1/dialog/close-x.png);position:absolute;height:11px;width:11px;right:17px}.modal-dialog-title-close:hover{opacity:1}.modal-dialog-content{background-color:#fff;line-height:1.4em;word-wrap:break-word}.modal-dialog-buttons{margin-top:16px}.modal-dialog-buttons button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#333;cursor:default;font-family:inherit;font-size:11px;font-weight:bold;height:29px;line-height:27px;margin:0 16px 0 0;min-width:72px;outline:0;padding:0 8px}.modal-dialog-buttons button:hover,.modal-dialog-buttons button:active{-webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.1);-moz-box-shadow:0px 1px 1px rgba(0,0,0,0.1);box-shadow:0px 1px 1px rgba(0,0,0,0.1);background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #c6c6c6;color:#111}.modal-dialog-buttons button:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.modal-dialog-buttons button:focus{border:1px solid #4d90fe}.modal-dialog-buttons button[disabled]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#fff;background-image:none;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.05);color:#b8b8b8}.modal-dialog-buttons .goog-buttonset-action{background-color:#4d90fe;background-image:-webkit-linear-gradient(top,#4d90fe,#4787ed);background-image:-moz-linear-gradient(top,#4d90fe,#4787ed);background-image:-ms-linear-gradient(top,#4d90fe,#4787ed);background-image:-o-linear-gradient(top,#4d90fe,#4787ed);background-image:linear-gradient(top,#4d90fe,#4787ed);border:1px solid #3079ed;color:#fff}.modal-dialog-buttons .goog-buttonset-action:hover,.modal-dialog-buttons .goog-buttonset-action:active{background-color:#357ae8;background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8);background-image:-moz-linear-gradient(top,#4d90fe,#357ae8);background-image:-ms-linear-gradient(top,#4d90fe,#357ae8);background-image:-o-linear-gradient(top,#4d90fe,#357ae8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2f5bb7;color:#fff}.modal-dialog-buttons .goog-buttonset-action:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 1px 2px rgba(0,0,0,0.3)}.modal-dialog-buttons .goog-buttonset-action:focus{-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;border:1px solid #fff;border:rgba(0,0,0,0) solid 1px;outline:1px solid #4d90fe;outline:rgba(0,0,0,0) 0}.modal-dialog-buttons .goog-buttonset-action[disabled]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#4d90fe;color:#fff;filter:alpha(opacity=50);opacity:0.5}.jfk-alert,.jfk-confirm,.jfk-prompt{width:512px}.jfk-textinput{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border:1px solid #d9d9d9;border-top:1px solid #c0c0c0;font-size:13px;height:25px;padding:1px 8px}.jfk-textinput:focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);border:1px solid #4d90fe;outline:none}.jfk-textinput::-ms-clear{display:none}.apps-action-shortcut-icon{direction:ltr;text-align:left;overflow:hidden;position:relative;vertical-align:middle}.apps-action-shortcut-img:before{content:url(//ssl.gstatic.com/docs/common/shortcut_sprite1.png)}.apps-action-shortcut-img{height:95px;position:absolute;width:21px}.apps-action-shortcut-back{left:0;top:-63px}.apps-action-shortcut-back-white{left:0;top:-21px}.apps-action-shortcut-close-x{left:0;top:-84px}.apps-action-shortcut-search{left:0;top:-42px}.apps-action-shortcut-search-white{left:0;top:0}.apps-ui-material-slide-toggle-container{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:none;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:21px;outline:0;position:relative;width:35px}.apps-ui-material-slide-toggle-thumb{-webkit-transition-duration:0.28s;-moz-transition-duration:0.28s;-o-transition-duration:0.28s;transition-duration:0.28s;-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);left:0;right:inherit;top:0;will-change:background-color}.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-thumb{left:inherit;right:0}.apps-ui-material-slide-toggle-container-disabled{cursor:not-allowed}.apps-ui-material-slide-toggle-track{background-color:#000;border-radius:7px;height:14px;opacity:0.26;width:35px}.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-track{opacity:0.5}.apps-ui-material-slide-toggle-thumb{background-color:#f1f1f1;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24);height:20px;width:20px;position:absolute}.apps-ui-material-slide-toggle-track,.apps-ui-material-slide-toggle-thumb{border:1px solid transparent}.apps-ui-material-slide-toggle-container-focused .apps-ui-material-slide-toggle-thumb{box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}.apps-ui-material-slide-toggle-container-hover .apps-ui-material-slide-toggle-thumb{box-shadow:0 0 6px rgba(0,0,0,.16),0 6px 12px rgba(0,0,0,.32)}.apps-shortcutshelppopup{top:0;z-index:1002;color:#212121;font-family:roboto,arial,sans-serif;font-size:13px;position:fixed;text-align:center;background:#fafafa none repeat scroll 0;overflow:hidden;box-shadow:rgba(255,255,255,.9) 0px 1px 0px inset,rgba(0,0,0,.03) 0px -1px 0px inset,rgba(0,0,0,.15) 0 15px 10px,rgba(0,0,0,.3) 0 8px 36px;border:1px solid transparent}.apps-shortcutshelppopup input{font-family:roboto,arial,sans-serif}@media print{.apps-shortcutshelppopup{display:none}}.apps-shortcutshelppopup-bg{display:none;left:0;top:0;position:absolute}.apps-shortcutshelppopup-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px 32px;width:800px;height:600px}.apps-shortcutshelppopup-header,.apps-shortcutshelppopup-content{border-collapse:collapse;width:100%}.apps-shortcutshelppopup-header{-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;border-bottom:1px solid #e5e5e5;text-align:left}.apps-shortcutshelppopup-content{font-size:13px;outline-offset:-1px}.apps-shortcutshelppopup-header-element{display:inline-block;vertical-align:middle;height:48px}.apps-shortcutshelppopup-title-container{white-space:nowrap;text-align:left}.apps-shortcutshelppopup-dialog-title{font-size:16px;color:#212121;display:inline-block;vertical-align:middle}.apps-shortcutshelppopup-input{font-size:13px;margin-left:16px;margin-right:0px;padding:0px 5px;vertical-align:middle;border-right:none;width:250px;height:27px;box-sizing:border-box}.apps-shortcutshelppopup-input-button-img{height:21px;width:21px;display:inline-block}.apps-shortcutshelppopup-input-button{-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;margin-left:0px;vertical-align:middle;border-top-left-radius:0;border-bottom-left-radius:0;line-height:25px}.apps-shortcutshelppopup-tearoff-link{font-size:13px;cursor:pointer;text-decoration:underline;color:#4581ff;vertical-align:middle;display:block;padding:16px 0 13px 0;font-weight:bold}.apps-shortcutshelppopup-close{position:absolute;top:0;right:0;padding-right:30px;padding-top:30px}.apps-shortcutshelppopup-close svg{fill:#5f6368}.apps-shortcutshelppopup-close-nav-widget-enabled{padding-right:18px;padding-top:20px}.apps-shortcutshelppopup-dialog .modal-dialog-title-close{cursor:pointer;position:static;padding:0px;margin:0;margin-left:32px;vertical-align:middle}.apps-shortcutshelppopup-dialog .modal-dialog-title-close:after{background:none;display:none}.apps-shortcutshelppopup-search-banner{-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;text-align:left;height:48px;padding-top:12px;box-sizing:border-box}.apps-shortcutshelppopup-search-banner.apps-shortcutshelppopup-empty-search{position:relative;left:0px;right:0px;text-align:center;top:113px;height:48px}.apps-shortcutshelppopup-reset-search-button{cursor:pointer;text-decoration:underline;position:relative;width:21px;min-width:21px;display:inline-block;margin-right:8px}.apps-shortcutshelppopup-reset-search-button-icon{height:21px;width:21px}.apps-shortcutshelppopup-search-label{margin:0;position:relative;font-size:15px;display:inline-block;vertical-align:middle}.apps-shortcutshelppopup-result-container{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}.apps-shortcutshelppopup-content-header{height:48px;padding-top:25px;text-align:left;font-size:13px;color:#212121;white-space:nowrap;margin:0px;-moz-box-sizing:border-box;box-sizing:border-box}.apps-shortcutshelppopup-content-header.apps-shortcutshelppopup-content-header-first{height:32px;padding-top:8px}.apps-shortcutshelppopup-content-element{text-align:left;vertical-align:middle;padding-top:0.15em;border-bottom:1px solid #ececec;height:32px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box}.apps-shortcutshelppopup-shortcut-desc{color:#757575}.apps-shortcutshelppopup-shortcut-key{font-weight:bold}.apps-shortcutshelppopup-ac-renderer{z-index:1003;font-family:Arial,sans-serif;font-size:13px;position:absolute;background:#fff;border:1px solid #666;box-shadow:2px 2px 2px rgba(102,102,102,.4);width:250px;box-sizing:border-box}.apps-shortcutshelppopup-ac-row{cursor:pointer;padding:.4em}.apps-shortcutshelppopup-ac-renderer .ac-active{background-color:#eee}.apps-shortcutshelpcontentimpl-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;background-color:white;height:600px;width:800px}@media screen and (max-width:832px){.apps-shortcutshelpcontentimpl-container{max-width:95vw}}@media screen and (max-height:632px){.apps-shortcutshelpcontentimpl-container{height:95vh}}.apps-shortcutshelpcontentimpl-header{-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;border-bottom:1px solid rgba(0,0,0,0.12);text-align:left;border-collapse:collapse;width:100%;padding:16px 24px;box-sizing:border-box}.apps-shortcutshelpcontentimpl-header-element{display:inline-block;vertical-align:middle}.apps-shortcutshelpcontentimpl-title-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;white-space:nowrap;text-align:left}.apps-shortcutshelpcontentimpl-dialog-title{font-size:18px;color:rgba(0,0,0,.87);display:inline-block;vertical-align:middle;padding:16px 0;margin:0;font-weight:500}.apps-shortcutshelpcontentimpl-search{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;border-radius:4px;margin-left:16px;margin-right:24px;vertical-align:middle;height:48px;padding:0;background-color:rgba(0,0,0,0.05);border:1px solid transparent}.apps-shortcutshelpcontentimpl-search-icon{width:24px;height:24px;margin:12px 8px 0 16px}.apps-shortcutshelpcontentimpl-search-icon svg{fill:#80868b}.apps-shortcutshelpcontentimpl-hc-black .apps-shortcutshelpcontentimpl-search-icon svg{fill:#fff}.apps-shortcutshelpcontentimpl-hc-white .apps-shortcutshelpcontentimpl-search-icon svg{fill:#000}.apps-shortcutshelpcontentimpl-search-focused{box-shadow:0 1px 1px rgba(0,0,0,0.24);background-color:#fff;transition:background-color 75ms}.apps-shortcutshelpcontentimpl-input{border:none;background-color:transparent;padding:0 10px;flex-grow:1;font-size:14px;height:46px;outline:none;box-shadow:none}.apps-shortcutshelpcontentimpl-input:focus{border:none;box-shadow:none}.apps-shortcutshelpcontentimpl-tearoff-link-container{-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;padding:10px;border-top:1px solid rgba(0,0,0,0.12);display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;justify-content:center;align-items:center}.apps-shortcutshelpcontentimpl-tearoff-link-container-override-enabled{-ms-flex:0 0 50%;-webkit-flex:0 0 50%;flex:0 0 50%;padding:10px 0;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;justify-content:center;align-items:center}.apps-shortcutshelpcontentimpl-tearoff-link-container-legacy-enabled{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;justify-content:center;align-items:center;padding:10px 20px;text-transform:uppercase}.apps-shortcutshelpcontentimpl-link{font-size:13px;cursor:pointer;padding:9px 16px;border-radius:2px;font-weight:500}.apps-shortcutshelpcontentimpl-link,.apps-shortcutshelpcontentimpl-link:active{color:#1a73e8}.apps-shortcutshelpcontentimpl-link:hover{outline:none}.apps-shortcutshelpcontentimpl-link:focus{text-decoration:underline}.apps-shortcutshelpcontentimpl-link:visited{color:#1a73e8}.apps-shortcutshelpcontentimpl-override-shortcut-link{text-transform:uppercase}.apps-shortcutshelpcontentimpl-legacy-shortcut-link{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;justify-content:center;align-items:center}.apps-shortcutshelpcontentimpl-override-shortcut-link-disabled{cursor:inherit;opacity:0.6}.apps-shortcutshelpcontentimpl-link.apps-shortcutshelpcontentimpl-override-shortcut-link-disabled:focus,.apps-shortcutshelpcontentimpl-link.apps-shortcutshelpcontentimpl-override-shortcut-link-disabled:hover{text-decoration:none}.apps-shortcutshelpcontentimpl-search-banner{text-align:left;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,0.12);padding:26px 0}.apps-shortcutshelpcontentimpl-reset-search-button{cursor:pointer;text-decoration:underline;position:relative;width:21px;min-width:21px;display:inline-block;margin:0 8px;padding:0 8px 0 4px;border-color:transparent;background-color:transparent;background-image:none}.apps-shortcutshelpcontentimpl-override-banner{padding:5px 0 0 20px;line-height:16px;white-space:pre;color:rgba(0,0,0,.87)}.apps-shortcutshelpcontentimpl-override-shortcut-key{font-weight:bold}.apps-shortcutshelpcontentimpl-reset-search-button-icon{display:inline-block;vertical-align:middle;height:22px;width:21px}.apps-shortcutshelpcontentimpl-reset-search-button-img{position:absolute}.apps-shortcutshelpcontentimpl-reset-search-button-img:before{content:url('//ssl.gstatic.com/images/icons/material/system/svg/keyboard_arrow_left_24px.svg')}.apps-shortcutshelpcontentimpl-search-label{margin:0;position:relative;font-size:19px;display:inline-block;vertical-align:middle;color:rgba(0,0,0,.87)}.apps-shortcutshelpcontentimpl-ac-renderer{z-index:1003;font-family:Arial,sans-serif;font-size:13px;font-weight:normal;position:absolute;background:#fff;border:1px solid #666;box-shadow:2px 2px 2px rgba(102,102,102,.4);width:250px;box-sizing:border-box}.apps-shortcutshelpcontentimpl-ac-row{cursor:pointer;padding:.4em}.apps-shortcutshelpcontentimpl-ac-renderer .ac-active{background-color:#eee}.apps-shortcutshelpcontentimpl-content-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}.apps-shortcutshelpcontentimpl-sidebar{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-ms-flex:0 0 192px;-webkit-flex:0 0 192px;flex:0 0 192px;vertical-align:top;position:relative;border-right:1px solid rgba(0,0,0,0.12);overflow-x:hidden;overflow-y:auto}.apps-shortcutshelpcontentimpl-shortcut-content{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}.apps-shortcutshelpcontentimpl-bottom-bar{-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;border-top:1px solid rgba(0,0,0,0.12)}.apps-shortcutshelpcontentimpl-override-container{-ms-flex:0 0 50%;-webkit-flex:0 0 50%;flex:0 0 50%;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;border-left:1px solid rgba(0,0,0,0.12);border-collapse:collapse;padding:10px 0}.apps-shortcutshelpcontentimpl-legacy-help-container{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex:0 0 50%;-webkit-flex:0 0 50%;flex:0 0 50%;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;justify-content:flex-end}.apps-shortcutshelpcontentimpl-override-button-container{padding-left:16px}.apps-shortcutshelpcontentimpl-override-label{padding:0 5px 0 17px;font-weight:500;color:rgba(0,0,0,.87)}.apps-shortcutshelpcontentimpl-legacy-label{color:rgba(0,0,0,.87);font-weight:500;padding:0 15px 0 17px}.apps-shortcutshelpcontentimpl-legacy-toggle-container{align-items:center;box-sizing:border-box;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex:0 0 50%;-webkit-flex:0 0 50%;flex:0 0 50%;justify-content:flex-start;padding:0 5px 0 17px}.apps-actiondatawidget{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto;position:relative;display:inline-block;outline:none;padding:0 5px 0 16px}.apps-actiondatawidget-key-focused{outline:rgba(0,0,0,.87) solid 1px;outline-offset:-1px}.apps-actiondatawidget-content{font-size:13px;outline-offset:-1px;table-layout:fixed;border-spacing:0}.apps-actiondatawidget-content-header{height:48px;padding-top:25px;text-align:left;font-size:13px;color:rgba(0,0,0,.87);white-space:nowrap;margin:0px;-moz-box-sizing:border-box;box-sizing:border-box}.apps-actiondatawidget-content-element{text-align:left;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,0.12);white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;padding:11px 0}.apps-actiondatawidget-shortcut-desc{font-weight:normal;color:rgba(0,0,0,.87);word-wrap:break-word;white-space:normal;width:240px;vertical-align:top}.apps-actiondatawidget-shortcut-key{color:rgba(0,0,0,.87);width:310px}.apps-actiondatawidget-key-extra-padding{display:block;padding-bottom:11px}.apps-actiondatawidget-override-keys-on{color:rgba(0,0,0,.87);display:block}.apps-actiondatawidget-last-item{margin-bottom:2px}.apps-actiondatawidget-last-item-override-enabled{margin-bottom:2px}.apps-actiondatawidget-last-row{height:100%}.apps-actiondatawidget-override-keys-off{color:#bbbbbb;display:block}.apps-actiondatawidget-override-info-icon{height:17px;width:17px;float:right;display:block}.apps-actiondatawidget-override-info-svg{height:17px;width:17px;fill:#bbbbbb}.apps-shortcutshelpcontentimpl-hc-black .apps-actiondatawidget-override-info-svg{fill:white}.apps-actiondatawidget-override-keys-on .apps-actiondatawidget-override-info-svg{fill:#1a73e8}.jfk-tooltip.apps-actiondatawidget-override-info-icon-tooltip,.jfk-tooltip.apps-actiondatawidget-override-info-icon-tooltip-unsupported,.jfk-tooltip.apps-actiondatawidget-override-info-icon-tooltip-legacy{background-color:#727272;padding:7px 8px}.jfk-tooltip.apps-actiondatawidget-override-info-icon-tooltip{width:230px}.jfk-tooltip.apps-actiondatawidget-override-info-icon-tooltip-unsupported{width:182px}.jfk-tooltip.apps-actiondatawidget-override-info-icon-tooltip-legacy{width:190px}.apps-actiondatawidget-override-tooltip-text{line-height:17px}.apps-actiondatawidget-override-info-icon-tooltip .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter{border-color:#727272 transparent}.apps-actiondatawidget-override-browser-behavior-msg{color:#c5dbff}.apps-navigationwidget{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;display:inline-block;vertical-align:top;text-align:left;padding-top:4px;color:rgba(0,0,0,.87);outline:transparent}.apps-navigationwidget-item{min-height:33px;line-height:24px;padding:12px 1px 1px 24px}.apps-navigationwidget-item-selected{color:#1a73e8;font-weight:500;outline:1px solid transparent;outline-offset:-2px}.apps-navigationwidget-item-hover{cursor:pointer;background-color:#eee;outline:1px dotted transparent;outline-offset:-2px}.apps-navigationwidget-item-disabled{opacity:0.2}.companion-about-panel-button.app-switcher-button{bottom:0;position:absolute}.companion-about-panel-menu-header,.companion-about-panel-menu-text{color:#3c4043}.companion-about-panel-menu-header{font-size:18px;font-weight:500;line-height:24px;padding:6px 24px 2px}.companion-about-panel-menu-separator{border-top:1px solid #f1f3f4;margin:8px 0}.companion-about-panel-menu-item{border:none;cursor:pointer;height:48px;padding:0}.companion-about-panel-menu-item-highlight{background:#f1f3f4}.companion-about-panel-menu-item-icon-container{height:20px;padding:14px 16px 14px 24px;position:absolute;width:20px}.companion-about-panel-menu-item-disabled .companion-about-panel-menu-item-icon{fill:#dadce0}.companion-about-panel-menu-text{font-size:14px;letter-spacing:.2px;line-height:20px;padding:13px 24px 11px 60px}.companion-about-panel-menu-item-disabled .companion-about-panel-menu-text{color:#dadce0;cursor:default}.companion-app-switcher-container{background-color:white;border-left:1px solid #dadce0;box-sizing:border-box;display:flex;flex-direction:column;height:100%;position:relative;width:56px}.companion-app-switcher-guest-container{display:flex;flex:1 0 auto;flex-direction:column;margin-bottom:56px}.companion-app-switcher-add-on-container{display:flex;flex:0 1 100%;flex-direction:column;overflow:hidden;padding-top:16px}.companion-app-switcher-separator,.companion-app-switcher-add-on-container::before{border-top:1px solid #dadce0;content:'';display:block;flex:1 0 auto;margin:0 auto;padding-bottom:16px;width:20px}.companion-app-switcher-separator{margin-top:16px}.companion-theme-dark.companion-app-switcher-container,.companion-theme-light.companion-app-switcher-container{background-color:transparent}.companion-theme-dark.companion-app-switcher-container,.companion-theme-dark .companion-app-switcher-separator,.companion-theme-dark .companion-app-switcher-add-on-container::before{border-color:rgba(255,255,255,.12)}.companion-theme-light.companion-app-switcher-container,.companion-theme-light .companion-app-switcher-separator,.companion-theme-light .companion-app-switcher-add-on-container::before{border-color:rgba(100,121,143,.12)}.companion-guest-app-switcher{flex-grow:1;height:100px;outline:none;overflow:hidden}.companion-app-switcher-loading-indicator{padding:16px 0}.companion-app-switcher-loading-indicator-dot{-webkit-animation:dotLoadingAnimation 1.0s infinite ease-in-out both;animation:dotLoadingAnimation 1.0s infinite ease-in-out both;height:8px;background-color:#757575;border-radius:50%;margin:0 auto 12px;width:8px}.companion-theme-dark .companion-app-switcher-loading-indicator-dot{background-color:#fff}.companion-app-switcher-loading-indicator-dot:last-child{margin-bottom:0}.companion-app-switcher-loading-indicator-dot-1{-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.companion-app-switcher-loading-indicator-dot-2{-webkit-animation-delay:-0.25s;animation-delay:-0.25s}@-webkit-keyframes dotLoadingAnimation{0%,80%,100%{opacity:0.5}40%{opacity:1.0}}@keyframes dotLoadingAnimation{0%,80%,100%{opacity:0.5}40%{opacity:1.0}}.app-switcher-button{cursor:pointer;height:56px;outline:none;pointer-events:none;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:56px}.app-switcher-button-disabled{cursor:default;opacity:.38}.app-switcher-button-focused .app-switcher-button-icon-background,.app-switcher-button-focused.app-switcher-button-hover .app-switcher-button-icon-background,.companion-theme-light .app-switcher-button-hover .app-switcher-button-icon-background,.companion-theme-light .app-switcher-button-open .app-switcher-button-icon-background,.companion-theme-light .app-switcher-button-selected.app-switcher-button-hover .app-switcher-button-icon-background{background-color:#e8eaed}.app-switcher-button-hover .app-switcher-button-icon-background,.app-switcher-button-open .app-switcher-button-icon-background,.companion-theme-light .app-switcher-button-selected .app-switcher-button-icon-background,.companion-theme-light .app-switcher-button-focused .app-switcher-button-icon-background{background-color:#f1f3f4}.companion-theme-dark .app-switcher-button-selected .app-switcher-button-icon-background,.companion-theme-dark .app-switcher-button-focused .app-switcher-button-icon-background{background-color:rgba(255,255,255,.24)}.companion-theme-dark .app-switcher-button-hover .app-switcher-button-icon-background,.companion-theme-dark .app-switcher-button-open .app-switcher-button-icon-background,.companion-theme-dark .app-switcher-button-selected.app-switcher-button-hover .app-switcher-button-icon-background{background-color:rgba(255,255,255,.12)}.app-switcher-button-icon-container{background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:20px 20px;border-radius:50%;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:40px;left:8px;pointer-events:auto;position:absolute;top:8px;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.app-switcher-button-icon-background{border-radius:50%;display:-webkit-flex;display:flex;height:40px;left:8px;position:absolute;top:8px;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.app-switcher-button-icon{display:block;fill:#5f6368;margin:auto;transition:all .3s cubic-bezier(.4,0,.2,1)}.companion-theme-dark .app-switcher-button-icon{fill:#fff}.app-switcher-button-presence .app-switcher-button-icon-background.app-switcher-button-icon-background-inner{-webkit-animation:presence-scale-inner 3s cubic-bezier(0.05,0.69,0.67,1) infinite normal;animation:presence-scale-inner 3s cubic-bezier(0.05,0.69,0.67,1) infinite normal;height:calc(40px - 8px);width:calc(40px - 8px);left:calc((8px/2) + 8px);top:calc((8px/2) + 8px)}.app-switcher-button-presence .app-switcher-button-icon-background.app-switcher-button-icon-background-outer{-webkit-animation:presence-scale-outer 3s cubic-bezier(0.05,0.69,0.67,1) infinite normal;animation:presence-scale-outer 3s cubic-bezier(0.05,0.69,0.67,1) infinite normal;background-color:transparent;border-style:solid;border-width:calc(8px/2);height:40px;width:40px;left:calc(8px - (8px/2));top:calc(8px - (8px/2))}.app-switcher-button-inksplash .app-switcher-button-icon-background.app-switcher-button-icon-background-inner{-webkit-animation:inksplash-scale-background 2s cubic-bezier(0.05,0.69,0.67,1) infinite normal;animation:inksplash-scale-background 2s cubic-bezier(0.05,0.69,0.67,1) infinite normal}.app-switcher-button-inksplash .app-switcher-button-icon-container{-webkit-animation:inksplash-scale-icon 2s cubic-bezier(0.05,0.69,0.67,1) infinite normal;animation:inksplash-scale-icon 2s cubic-bezier(0.05,0.69,0.67,1) infinite normal}@keyframes presence-scale-inner{0%{opacity:0;transform:scale(0.57);visibility:hidden}15%{opacity:0;transform:scale(0.57);visibility:visible}35%{opacity:1;transform:scale(1)}60%{opacity:0;transform:scale(0.57)}100%{opacity:0;transform:scale(0.57);visibility:hidden}}@keyframes presence-scale-outer{0%{opacity:0;transform:scale(0.75);visibility:hidden}34%{opacity:0;transform:scale(0.75);visibility:visible}36%{opacity:0.99}65%{opacity:1}90%{transform:scale(1)}100%{opacity:0;transform:scale(1);visibility:hidden}}@keyframes inksplash-scale-background{0%{opacity:0;transform:scale(0.00)}35%{opacity:0;transform:scale(0.40)}50%{opacity:1}80%{transform:scale(2.05)}100%{opacity:0;transform:scale(0.00)}}@keyframes inksplash-scale-icon{0%{transform:scale(1.00)}20%{transform:scale(1.00)}30%{transform:scale(1.10)}40%{transform:scale(1.00)}100%{transform:scale(1.00)}}.app-switcher-menu{background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 1px 2px 0 rgba(60,64,67,.30),0 2px 6px 2px rgba(60,64,67,.15);min-width:180px;outline:none;overflow-y:auto;padding:8px 0;position:absolute;z-index:1202}.companion-collapser-button-container{bottom:0;display:-webkit-flex;display:flex;height:56px;overflow:hidden;pointer-events:none;position:absolute;right:0;width:56px}.companion-collapser-button-container.companion-collapser-button-container-elevated{margin-bottom:24px}.companion-collapser-button{bottom:0}.companion-collapser-button .app-switcher-button-icon-container,.companion-collapser-button .app-switcher-button-icon-background{border-radius:calc(56px - 8px - 10px)}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background,.companion-theme-light .companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{background-color:#fff}.companion-collapser-button.app-switcher-button-checked.app-switcher-button-hover .app-switcher-button-icon-background,.companion-theme-light .companion-collapser-button.app-switcher-button-checked.app-switcher-button-hover .app-switcher-button-icon-background{background-color:#f1f3f4}.companion-theme-dark .companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{background-color:#595959}.companion-collapser-button.app-switcher-button-checked.app-switcher-button-focused .app-switcher-button-icon-background,.companion-theme-light .companion-collapser-button.app-switcher-button-checked.app-switcher-button-focused .app-switcher-button-icon-background{background-color:#e8eaed}.companion-collapser-button.app-switcher-button-checked{right:-24px}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-container,.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{border-bottom-right-radius:0;border-top-right-radius:0;height:20px;left:0;margin:8px 0 8px 8px;padding:10px 0 10px 10px;top:0;width:calc(56px - 8px - 10px)}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{box-shadow:0 1px 1px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}.companion-collapser-button.app-switcher-button-checked.app-switcher-button-hover{right:0}.companion-collapser-button .app-switcher-button-icon{left:10px;position:absolute;top:10px}html[dir="rtl"] .companion-collapser-button .app-switcher-button-icon,body[dir="rtl"] .companion-collapser-button .app-switcher-button-icon{transform:rotate(180deg)}.companion-theme-dark .companion-collapser-button.app-switcher-button-checked.app-switcher-button-focused .app-switcher-button-icon-container,.companion-theme-dark .companion-collapser-button.app-switcher-button-checked.app-switcher-button-hover .app-switcher-button-icon-container{background-color:#414141}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon{margin-left:-6px;transform:rotate(180deg)}.companion-collapser-button.app-switcher-button-checked.app-switcher-button-hover .app-switcher-button-icon{margin-left:0}html[dir="rtl"] .companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon,body[dir="rtl"] .companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon{transform:rotate(0deg)}.acdd-draggable-shadow{background-color:white;background-repeat:no-repeat;border:transparent;border-radius:8px;box-sizing:border-box;color:#666;height:56px;outline:none;padding:0 10px;pointer-events:none;position:fixed;z-index:999}.acdd-draggable-shadow.acdd-draggable-shadow-detail-type{background-position:20px center;background-size:24px 24px;height:56px;width:200px}.acdd-draggable-shadow.acdd-draggable-shadow-image-type{background-position:center;background-size:100% auto;height:120px;width:120px}.acdd-draggable-shadow.acdd-draggable-shadow-image-type.acdd-draggable-shadow-image-captioned{height:156px}.acdd-draggable-shadow-text-wrap{box-sizing:border-box;display:table-cell;padding-left:48px;max-width:200px;vertical-align:middle}.acdd-draggable-shadow-text-wrap .acdd-draggable-shadow-title{font-size:1.1em}.acdd-draggable-shadow-text-wrap .acdd-draggable-shadow-text{opacity:.75;padding-top:2px}.acdd-draggable-shadow-image-type .acdd-draggable-shadow-text{background-color:rgba(32,33,36,.71);border-radius:0 0 8px 8px;bottom:0;color:white;height:36px;left:0;padding:8px 10px;position:absolute;width:100%}.acdd-draggable-shadow .acdd-draggable-shadow-title,.acdd-draggable-shadow .acdd-draggable-shadow-text{box-sizing:border-box;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acdd-draggable-shadow .acdd-draggable-shadow-count-bubble{background-color:#202124;border-radius:20px;box-sizing:border-box;color:white;font-size:16px;height:40px;max-width:75%;min-width:40px;overflow:hidden;padding:9px 8px;position:absolute;right:-15px;text-align:center;text-overflow:ellipsis;top:-15px}.acga-topLevelDiv{height:100%;position:relative;width:100%}.acga-content{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.agca-gab-unread-notifications::after{content:"";background-color:#db4437;border-radius:50%;height:8px;position:absolute;right:17px;top:17px;width:8px}.companion-guest-app-switcher .app-switcher-button-icon-background-outer{border-color:#e8f0fe}.companion-theme-light .agca-gab-blue .app-switcher-button-icon-background-outer{border-color:rgba(66,133,244,.24)}.agca-gab-green .app-switcher-button-icon-background-outer{border-color:#e6f4ea}.companion-theme-light .agca-gab-green .app-switcher-button-icon-background-outer{border-color:rgba(52,168,83,.24)}.agca-gab-yellow .app-switcher-button-icon-background-outer{border-color:#fef7e0}.companion-theme-light .agca-gab-yellow .app-switcher-button-icon-background-outer{border-color:rgba(251,188,4,.24)}.companion-theme-dark .agca-gab-button .app-switcher-button-icon-background-outer{border-color:rgba(255,255,255,.24)}.companion-guest-app-switcher .app-switcher-button-inksplash .app-switcher-button-icon-background-inner,.companion-guest-app-switcher .app-switcher-button-presence .app-switcher-button-icon-background-inner,.companion-guest-app-switcher .app-switcher-button-selected .app-switcher-button-icon-background-inner,.app-switcher-button-selected.agca-gab-blue.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:#e8f0fe}.app-switcher-button-selected.agca-gab-blue.app-switcher-button-hover .app-switcher-button-icon-background-inner{background-color:#d2e3fc}.companion-theme-light .app-switcher-button-inksplash.agca-gab-blue .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-presence.agca-gab-blue .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-selected.agca-gab-blue .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-selected.agca-gab-blue.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(66,133,244,.24)}.companion-theme-light .agca-gab-blue.app-switcher-button-hover .app-switcher-button-icon-background-inner,.companion-theme-light .agca-gab-blue.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(66,133,244,.12)}.app-switcher-button-inksplash.agca-gab-green .app-switcher-button-icon-background-inner,.app-switcher-button-presence.agca-gab-green .app-switcher-button-icon-background-inner,.app-switcher-button-selected.agca-gab-green .app-switcher-button-icon-background-inner,.app-switcher-button-selected.agca-gab-green.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:#e6f4ea}.app-switcher-button-selected.agca-gab-green.app-switcher-button-hover .app-switcher-button-icon-background-inner{background-color:#ceead6}.companion-theme-light .app-switcher-button-inksplash.agca-gab-green .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-presence.agca-gab-green .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-selected.agca-gab-green .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-selected.agca-gab-green.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(52,168,83,.24)}.companion-theme-light .agca-gab-green.app-switcher-button-hover .app-switcher-button-icon-background-inner,.companion-theme-light .agca-gab-green.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(52,168,83,.12)}.app-switcher-button-inksplash.agca-gab-yellow .app-switcher-button-icon-background-inner,.app-switcher-button-presence.agca-gab-yellow .app-switcher-button-icon-background-inner,.app-switcher-button-selected.agca-gab-yellow .app-switcher-button-icon-background-inner,.app-switcher-button-selected.agca-gab-yellow.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:#fef7e0}.app-switcher-button-selected.agca-gab-yellow.app-switcher-button-hover .app-switcher-button-icon-background-inner{background-color:#feefc3}.companion-theme-light .app-switcher-button-inksplash.agca-gab-yellow .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-presence.agca-gab-yellow .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-selected.agca-gab-yellow .app-switcher-button-icon-background-inner,.companion-theme-light .app-switcher-button-selected.agca-gab-yellow.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(251,188,4,.24)}.companion-theme-light .agca-gab-yellow.app-switcher-button-hover .app-switcher-button-icon-background-inner,.companion-theme-light .agca-gab-yellow.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(251,188,4,.12)}.companion-theme-dark .agca-gab-button.app-switcher-button-inksplash .app-switcher-button-icon-background-inner,.companion-theme-dark .agca-gab-button.app-switcher-button-presence .app-switcher-button-icon-background-inner,.companion-theme-dark .agca-gab-button.app-switcher-button-selected .app-switcher-button-icon-background-inner,.companion-theme-dark .agca-gab-button.app-switcher-button-selected.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(255,255,255,.24)}.companion-theme-dark .agca-gab-button.app-switcher-button-hover .app-switcher-button-icon-background-inner,.companion-theme-dark .agca-gab-button.app-switcher-button-focused .app-switcher-button-icon-background-inner{background-color:rgba(255,255,255,.12)}.agca-gab-icon-selection-indicator{background-color:#d704fb;border-radius:3px 0 0 3px;display:none;height:40px;position:absolute;right:1px;top:8px;width:3px}.agca-gab-button.app-switcher-button-selected .agca-gab-icon-selection-indicator{display:inherit}.agca-gab-blue .agca-gab-icon-selection-indicator{background-color:#4285f4}.agca-gab-green .agca-gab-icon-selection-indicator{background-color:#34a853}.agca-gab-yellow .agca-gab-icon-selection-indicator{background-color:#fbbc04}.companion-theme-dark .companion-overflow-menu-button:not(.app-switcher-button-hover) .app-switcher-button-icon-background{opacity:.7}.companion-shell-content-component{background-color:white;box-sizing:border-box;height:100%;left:0;padding-top:64px;position:absolute;top:0;width:100%}.companion-header-in-iframe .companion-shell-guest{padding-top:0}.companion-shell-loading{overflow:hidden;position:absolute;text-align:center}.companion-shell-offline,.companion-shell-permanent-failure,.companion-shell-timed-out,.companion-shell-unavailable{-webkit-align-items:center;align-items:center;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;text-align:center}.companion-shell-offline-description,.companion-shell-offline-title,.companion-shell-unavailable-description,.companion-shell-unavailable-title{color:#5f6368;margin:0 70px}.companion-shell-offline-description,.companion-shell-unavailable-description{font-size:12px;line-height:16px}.companion-shell-offline-title,.companion-shell-unavailable-title{font-size:16px;font-weight:500;margin-bottom:2px;margin-top:34px}.companion-shell-permanent-failure-message,.companion-shell-timed-out-message{margin:10px;max-width:calc(100% - 20px)}.companion-shell-timed-out-retry{color:#4285f4;cursor:pointer;text-transform:uppercase}.companion-shell-iframe{border:0;height:100%;width:100%}.companion-shell-header{align-items:center;background-color:#fff;border-bottom:solid 1px #f1f3f4;box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:64px;padding:0 10px;position:relative;z-index:1}.companion-shell-header-element{margin-left:10px;margin-right:10px}.companion-shell-title-container{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;flex-grow:1;justify-content:center;width:1px}.companion-shell-title-element{margin:0}.companion-shell-title-text,.companion-shell-subtitle-text,.companion-shell-subtitle-text .goog-menu-button-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companion-shell-title-text,.companion-shell-subtitle-text{outline:none}.companion-shell-title-text.companion-shell-title-big{font-size:22px}.companion-shell-header-light-background .companion-shell-title-big{color:rgba(0,0,0,.54)}.companion-shell-header-dark-background .companion-shell-title-big{color:#fff}.companion-shell-title-text.companion-shell-title-small{color:#80868b;font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}.companion-shell-title-text.companion-shell-title-small.companion-shell-subview{left:56px}.companion-shell-dropdown-container{font-size:0}.companion-shell-subtitle-text{color:#5f6368;font-size:16px;font-weight:500;line-height:20px}.companion-shell-subtitle-text.goog-menu-button-open{background-color:#f1f3f4}.companion-shell-subtitle-button{padding:0 2px 0 4px}.companion-shell-subtitle-button .companion-shell-subtitle-text,.companion-shell-subtitle-text .goog-menu-button-caption{padding:0}.companion-shell-subtitle-call-out{color:#1a73e8}.companion-shell-dropdown-button{background:none;border-radius:3px;border-width:0;box-sizing:border-box;cursor:pointer;display:inline-block;margin-left:-4px;max-width:100%;outline:none;padding:0 2px 0 4px}.companion-shell-dropdown-button.companion-shell-dropdown-button-hover{background-color:#f1f3f4}.companion-shell-dropdown-button.companion-shell-dropdown-button-focused,.companion-shell-dropdown-button.companion-shell-dropdown-button-open{background-color:#e8eaed}.companion-shell-dropdown-button.companion-shell-dropdown-button-disabled{opacity:.38}.companion-shell-dropdown-button .companion-shell-dropdown-button-outer-box{display:-webkit-flex;display:flex;-webkit-justify-content:flex-start;justify-content:flex-start}.companion-shell-dropdown-button .companion-shell-dropdown-button-inner-box{display:block;-webkit-flex-shrink:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companion-shell-dropdown-button-outer-box::after{content:'';display:block;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNHB4JyBoZWlnaHQ9JzI0cHgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nIzVmNjM2OCc+PHBhdGggZD0nTTcgMTBsNSA1IDUtNXonPjwvcGF0aD48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJz48L3BhdGg+PC9zdmc+") center no-repeat;-webkit-flex-shrink:0;flex-shrink:0;height:20px;margin:0 0 0 4px;padding:0;width:20px}.companion-shell-header-buttons{display:-webkit-flex;display:flex;height:24px;-webkit-justify-content:flex-end;justify-content:flex-end;position:absolute;right:8px;top:18px}.companion-shell-header-button{background:no-repeat center center;background-size:20px 20px;cursor:pointer;height:24px;width:24px}.companion-shell-header-light-background .companion-shell-header-svg-icon{fill:#000;opacity:.54}.companion-shell-header-dark-background .companion-shell-header-svg-icon{fill:#fff}html[dir="rtl"] .companion-shell-back-button,body[dir="rtl"] .companion-shell-back-button,html[dir="rtl"] .companion-shell-escape-hatch-button,body[dir="rtl"] .companion-shell-escape-hatch-button{transform:scaleX(-1)}.companion-shell-header-button.companion-shell-title-element{margin:0}.companion-shell-header-button:hover{opacity:.87}.companion-shell-subtitle-button[aria-disabled="true"],.companion-shell-header-button[aria-disabled="true"]{cursor:not-allowed;opacity:.38}.companion-shell-back-button{margin-right:2px}.goog-menu.companion-shell-drop-down-menu{background:#fff;border-width:0;border-radius:0 0 8px 8px;box-shadow:0px -3px 6px -3px rgba(0,0,0,.12),0 4px 8px -2px rgba(0,0,0,.14);box-sizing:border-box;max-height:400px;overflow-x:hidden;overflow-y:auto;padding-bottom:8px;position:absolute;width:100%;z-index:999}.goog-menuitem.companion-shell-drop-down-entry{border:none;height:40px;padding:0;width:300px}.goog-menuitem-highlight.companion-shell-drop-down-entry{background:#f1f3f4}.goog-menu.companion-shell-drop-down-menu .goog-menuseparator{border-top:1px solid rgba(32,33,36,0.06);margin:8px 0;padding:0}.companion-shell-drop-down-check{display:none;height:20px;padding:10px 16px;position:absolute;right:0;width:20px}.goog-option-selected .companion-shell-drop-down-check{display:block}.companion-shell-drop-down-entry.goog-option-selected{background-image:none}.companion-shell-drop-down-entry .goog-menuitem-checkbox,.companion-shell-drop-down-entry.goog-option-selected .goog-menuitem-checkbox{display:none}.companion-shell-drop-down-entry-text{box-sizing:border-box;font-size:14px;color:#202124;padding:10px 20px;letter-spacing:0.2px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.goog-option-selected .companion-shell-drop-down-entry-text{padding-right:60px}.companion-shell-search-container{align-items:center;background-color:#fff;box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;height:100%;left:0;padding:0 10px;position:absolute;top:0;width:100%}.companion-shell-search-icon,.companion-shell-search-close{margin-left:10px;margin-right:10px}.companion-shell-search-input{background-color:transparent;border:none;color:#5f6368;-webkit-flex-grow:1;flex-grow:1;font-size:16px;line-height:24px;outline:none;width:100px}.companion-shell-search-input::placeholder{color:#bdc1c6}.companion-shell-search-input::-webkit-input-placeholder{color:#bdc1c6}.companion-shell-search-input:-ms-input-placeholder{color:#bdc1c6}.companion-app-switcher-container .jfk-bubble{padding:16px;border-radius:8px;border-color:#e8eaed;border-width:1px;box-shadow:0 2px 6px rgba(60,64,67,0.3)}.companion-app-switcher-container .jfk-bubble-arrowright .jfk-bubble-arrowimplbefore{border-left-color:#e8eaed;border-right-color:#e8eaed}.app-switcher-notification-bubble{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.app-switcher-notification-bubble .app-switcher-notification-bubble-header{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;height:32px}.app-switcher-notification-bubble .app-switcher-notification-bubble-image-container{width:32px;border-radius:50%}.app-switcher-notification-bubble .app-switcher-notification-bubble-image-container .app-switcher-notification-bubble-image{width:32px;height:32px;border-radius:50%;margin-right:8px}.app-switcher-notification-bubble .app-switcher-notification-bubble-text{height:calc(14px*2);width:auto;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;margin-left:8px;margin-bottom:8px}.app-switcher-notification-bubble .app-switcher-notification-bubble-text:focus{outline:none}.app-switcher-notification-bubble .app-switcher-notification-bubble-title-text{height:14px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;color:#5f6368}.app-switcher-notification-bubble .app-switcher-notification-bubble-body-text{height:14px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;color:#3c4043}.app-switcher-notification-bubble .app-switcher-notification-bubble-footer{margin-top:9px;height:32px;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row}.app-switcher-notification-bubble .app-switcher-notification-bubble-footer .jfk-button{text-align:center;font-weight:500;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding-left:8px;padding-right:16px;margin:0;height:30px;line-height:30px;color:#ffffff;max-width:300px;font-size:14px;border-radius:15px;-webkit-align-items:center;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-switcher-notification-bubble .app-switcher-notification-bubble-footer .app-switcher-notification-bubble-button-icon{width:16px;height:16px;padding-right:8px;padding-top:calc((30px - 16px)/2 - 1px);padding-bottom:calc((30px - 16px)/2);vertical-align:middle}.app-switcher-notification-bubble .app-switcher-notification-bubble-footer .app-switcher-notification-bubble-spacer{width:8px}.app-switcher-notification-bubble .app-switcher-notification-bubble-call-to-action-button{background-color:rgb(24,128,56)}.app-switcher-notification-bubble .app-switcher-notification-bubble-call-to-action-button.jfk-button-hover{background-color:#2a8947;box-shadow:0 1px 3px 1px rgba(24,128,56,0.15)}.app-switcher-notification-bubble .app-switcher-notification-bubble-call-to-action-button.jfk-button-focused{background-color:#4f9e67;box-shadow:0 1px 3px 1px rgba(24,128,56,0.15)}.app-switcher-notification-bubble .app-switcher-notification-bubble-call-to-action-button.jfk-button-focused.jfk-button-hover{background-color:#62a877;box-shadow:0 1px 3px 1px rgba(24,128,56,0.15)}.app-switcher-notification-bubble .app-switcher-notification-bubble-dismiss-button{background-color:rgb(217,48,37)}.app-switcher-notification-bubble .app-switcher-notification-bubble-dismiss-button.jfk-button-hover{background-color:#d3443b;box-shadow:0 1px 3px 1px rgba(217,48,37,0.15)}.app-switcher-notification-bubble .app-switcher-notification-bubble-dismiss-button.jfk-button-focused{background-color:#e06c64;box-shadow:0 1px 3px 1px rgba(217,48,37,0.15)}.app-switcher-notification-bubble .app-switcher-notification-bubble-dismiss-button.jfk-button-focused.jfk-button-hover{background-color:#e88a84;box-shadow:0 1px 3px 1px rgba(217,48,37,0.15)}.companion-overflow-menu-item{-webkit-align-items:center;align-items:center;cursor:pointer;display:-webkit-flex;display:flex;padding:8px}.companion-overflow-menu-item-highlight{background-color:#f1f3f4}.companion-overflow-menu-item-icon{background:transparent no-repeat center;background-size:20px 20px;border-radius:50%;height:40px;width:40px}.companion-overflow-menu-item-content{padding:0 6px;white-space:nowrap}.companion-overflow-menu-item-disabled{cursor:default;opacity:.38}.companion-server-render .acga-content{-webkit-animation:companion-server-render-guest-content-fadeout 333ms ease 0s 1 normal both paused;animation:companion-server-render-guest-content-fadeout 333ms ease 0s 1 normal both paused}.companion-server-render .companion-shell-splash-screen-ink-splash-color{display:none}.companion-server-render .companion-shell-splash-screen-app-logo{-webkit-animation:none;animation:none}.companion-server-render .companion-shell-splash-screen-beachball{display:none}@keyframes companion-server-render-guest-content-fadeout{from{opacity:.38}to{opacity:0}}.companion-shell{background-color:white;box-sizing:border-box;height:100%;width:300px}.companion-shell-addon-content-container,.companion-shell-guest-content-container,.companion-shell-native-content-container{height:100%}.companion-shell.companion-shell-overlay-content{border:0;box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);opacity:1}.companion-shell-app-switcher{bottom:0px;left:0px;position:absolute}.companion-shell-guest-container{height:100%}.companion-shell-splash-screen-container{height:680px;margin-left:50%;position:relative;top:calc(50% - (340px + 64px));transform:translateX(-50%);width:680px}html[dir="rtl"] .companion-shell-splash-screen-container,body[dir="rtl"] .companion-shell-splash-screen-container{transform:translateX(50%)}.companion-shell-splash-screen-ink-splash-color{-webkit-animation:ink-splash-opacity 1s cubic-bezier(0.08,0.8,0.67,1) 400ms 1 normal both,ink-splash-scale 1s cubic-bezier(0.05,0.69,0.67,1) 400ms 1 normal both;animation:ink-splash-opacity 1s cubic-bezier(0.08,0.8,0.67,1) 400ms 1 normal both,ink-splash-scale 1s cubic-bezier(0.05,0.69,0.67,1) 400ms 1 normal both;border-radius:50%;height:100%;width:100%}@keyframes ink-splash-opacity{from{opacity:1}to{opacity:0}}@keyframes ink-splash-scale{from{transform:scale(0)}to{transform:scale(1)}}.companion-shell-splash-screen-app-logo{-webkit-animation:app-logo-scale 330ms cubic-bezier(0.05,0.62,0.51,1.26) 333ms 1 normal backwards,app-logo-scale-bounce 170ms cubic-bezier(0.29,0,0.73,1) 667ms 1 normal forwards;animation:app-logo-scale 330ms cubic-bezier(0.05,0.62,0.51,1.26) 333ms 1 normal backwards,app-logo-scale-bounce 170ms cubic-bezier(0.29,0,0.73,1) 667ms 1 normal forwards;background-position:center;background-repeat:no-repeat;background-size:128px 128px;bottom:0;height:128px;left:0;margin:auto;position:absolute;right:0;top:0;width:128px}@keyframes app-logo-scale{from{transform:scale(0)}to{transform:scale(1)}}@keyframes app-logo-scale-bounce{0%,100%{transform:scale(1)}20%{transform:scale(0.95)}}.companion-shell-splash-screen-beachball{-webkit-animation:beachball-opacity 330ms linear 1s 1 normal both;animation:beachball-opacity 330ms linear 1s 1 normal both;bottom:0;height:20px;left:0;margin:auto;position:absolute;right:0;top:190px;width:20px}@keyframes beachball-opacity{from{opacity:0}to{opacity:1}}.companion-tooltip{background-color:rgba(60,64,67,.9);border-radius:4px;color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;letter-spacing:.3px;line-height:16px;padding:4px 8px;white-space:nowrap;z-index:9999}.request-file-scope-modal-container{align-items:center;background-color:rgb(0,0,0,.5);display:flex;height:100%;position:absolute;top:0;width:300px}.request-file-scope-modal{background:#fff;border-radius:8px;display:flex;margin:8px;min-height:100px;padding:24px 8px;width:100%}.request-file-scope-modal-icon-container{margin-top:-4px;padding-right:8px}.request-file-scope-modal-icon{height:48px;width:48px}.request-file-scope-modal-prompt{font-weight:bold;line-height:16px;padding-bottom:16px}.request-file-scope-modal-description{line-height:16px;padding-bottom:16px;word-break:break-all}.request-file-scope-modal-buttons{text-align:right;text-transform:uppercase}.appsAddonsHostCompanionContentholderEl{height:100%;position:relative;width:100%}.jfk-bubble{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2);background-color:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;padding:16px;position:absolute;z-index:1201!important}.jfk-bubble-closebtn{background:url("//ssl.gstatic.com/ui/v1/icons/common/x_8px.png") no-repeat;border:1px solid transparent;height:21px;opacity:.4;outline:0;position:absolute;right:2px;top:2px;width:21px}.jfk-bubble-closebtn:focus{border:1px solid #4d90fe;opacity:.8}.jfk-bubble-arrow{position:absolute}.jfk-bubble-arrow .jfk-bubble-arrowimplbefore,.jfk-bubble-arrow .jfk-bubble-arrowimplafter{display:block;height:0;position:absolute;width:0}.jfk-bubble-arrow .jfk-bubble-arrowimplbefore{border:9px solid}.jfk-bubble-arrow .jfk-bubble-arrowimplafter{border:8px solid}.jfk-bubble-arrowdown{bottom:0}.jfk-bubble-arrowup{top:-9px}.jfk-bubble-arrowleft{left:-9px}.jfk-bubble-arrowright{right:0}.jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:#bbb transparent;left:-9px}.jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore{border-color:#a8a8a8 transparent}.jfk-bubble-arrowdown .jfk-bubble-arrowimplafter,.jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#fff transparent;left:-8px}.jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore{border-bottom-width:0}.jfk-bubble-arrowdown .jfk-bubble-arrowimplafter{border-bottom-width:0}.jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-top-width:0}.jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-top-width:0;top:1px}.jfk-bubble-arrowleft .jfk-bubble-arrowimplbefore,.jfk-bubble-arrowright .jfk-bubble-arrowimplbefore{border-color:transparent #bbb;top:-9px}.jfk-bubble-arrowleft .jfk-bubble-arrowimplafter,.jfk-bubble-arrowright .jfk-bubble-arrowimplafter{border-color:transparent #fff;top:-8px}.jfk-bubble-arrowleft .jfk-bubble-arrowimplbefore{border-left-width:0}.jfk-bubble-arrowleft .jfk-bubble-arrowimplafter{border-left-width:0;left:1px}.jfk-bubble-arrowright .jfk-bubble-arrowimplbefore{border-right-width:0}.jfk-bubble-arrowright .jfk-bubble-arrowimplafter{border-right-width:0}.appsAddonsHostCompanionPromobubblePromobubblemanagerButton{float:right;margin-top:8px;padding:0}.appsAddonsHostCompanionPromobubblePromobubblemanagerBubble{outline:none}.companion-app-switcher-container .CSS_GSUITE_ADDONS_INSTALLATION_PROMO{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;background-color:#1a73e8;border-radius:8px;border-width:0;box-shadow:0 1px 2px 0 rgba(26,115,232,0.30),0 2px 6px 2px rgba(26,115,232,0.15);font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:.875rem;letter-spacing:.25px;padding:12px 16px 8px;width:288px}.companion-app-switcher-container.companion-app-switcher-container.companion-app-switcher-container .CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;background:#1a73e8;color:#fff;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.25px;line-height:20px;margin:0 -8px;padding:4px 8px}.CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button::before{background:#fff;border-radius:4px;content:'';display:block;opacity:0;position:absolute;transform:scale(0);transition-duration:.15s;transition-timing-function:.15s;transition-property:transform,opacity;z-index:-1}.CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button-disabled{color:rgba(60,64,67,0.38);cursor:default}.CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button-disabled::before{opacity:0}.CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button-hover::before{opacity:0.06;transform:scale(1)}.CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button-focused::before{opacity:0.12}.CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-button-active::before{opacity:0.12}.companion-app-switcher-container .CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-bubble-arrowimplbefore,.companion-app-switcher-container .CSS_GSUITE_ADDONS_INSTALLATION_PROMO .jfk-bubble-arrowimplafter{border-color:transparent #1a73e8}.CSS_GSUITE_ADDONS_TITLE{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#fff;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;line-height:24px;letter-spacing:.25px;margin:0;margin-bottom:4px}.CSS_GSUITE_ADDONS_CONTENT{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:rgba(255,255,255,0.902);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:.875rem;letter-spacing:.2px;line-height:20px}.appsAddonsHostGsmAppfindercontainerEl{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:6000}.appsAddonsHostGsmAppfindercontainerMask{background:#fff;height:100%;left:0;opacity:0.5;position:absolute;top:0;width:100%}.appsAddonsHostGsmAppfindercontainerContent{border-radius:4px;box-shadow:rgba(0,0,0,0.2) 0px 4px 16px;outline:none;overflow:hidden;position:relative;z-index:0}.appsAddonsHostGsmAppfindercontainerLoadingScreen{align-items:center;background:#fff;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.appsAddonsHostGsmAppfindercontainerLoadingScreenCloseBtn{background:transparent;border:0;cursor:pointer;margin:16px;outline:none;padding:0;position:absolute;right:0;top:0}.appsAddonsHostGsmAppfindercontainerLoadingScreenCloseIcon{fill:#000;height:20px;opacity:0.54;width:20px}.CSS_ADD_ONS_SPINNER_CONTAINER{height:44px;overflow:hidden;position:relative;width:100%}.CSS_ADD_ONS_QUANTUM_SPINNER{height:28px;position:absolute;top:8px;width:28px}.CSS_ADD_ONS_QUANTUM_SPINNER.CSS_ADD_ONS_SPINNER_ACTIVE{animation:container-rotate 1568ms linear infinite}.CSS_ADD_ONS_SPINNER_VCENTER{align-self:center}.CSS_ADD_ONS_SPINNER_LAYER{position:absolute;width:100%;height:100%;opacity:0}.CSS_ADD_ONS_SPINNER_BLUE{border-color:#4285f4}.CSS_ADD_ONS_SPINNER_RED{border-color:#db4437}.CSS_ADD_ONS_SPINNER_YELLOW{border-color:#f4b400}.CSS_ADD_ONS_SPINNER_GREEN{border-color:#0f9d58}.CSS_ADD_ONS_SPINNER_ACTIVE .CSS_ADD_ONS_SPINNER_LAYER.CSS_ADD_ONS_SPINNER_BLUE{animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.CSS_ADD_ONS_SPINNER_ACTIVE .CSS_ADD_ONS_SPINNER_LAYER.CSS_ADD_ONS_SPINNER_RED{animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.CSS_ADD_ONS_SPINNER_ACTIVE .CSS_ADD_ONS_SPINNER_LAYER.CSS_ADD_ONS_SPINNER_YELLOW{animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.CSS_ADD_ONS_SPINNER_ACTIVE .CSS_ADD_ONS_SPINNER_LAYER.CSS_ADD_ONS_SPINNER_GREEN{animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.CSS_ADD_ONS_SPINNER_GAP_PATCH{position:absolute;box-sizing:border-box;top:0;width:10%;height:100%;overflow:hidden;border-color:inherit}.CSS_ADD_ONS_SPINNER_GAP_PATCH .CSS_ADD_ONS_SPINNER_CIRCLE{width:1000%}.CSS_ADD_ONS_CIRCLE_CLIPPER{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.CSS_ADD_ONS_CIRCLE_CLIPPER .CSS_ADD_ONS_SPINNER_CIRCLE{width:200%}.CSS_ADD_ONS_SPINNER_CIRCLE{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent;border-radius:50%;animation:none}.CSS_ADD_ONS_CIRCLE_CLIPPER.CSS_ADD_ONS_SPINNER_LEFT .CSS_ADD_ONS_SPINNER_CIRCLE{-webkit-transform:rotate(129deg);transform:rotate(129deg)}.CSS_ADD_ONS_CIRCLE_CLIPPER.CSS_ADD_ONS_SPINNER_RIGHT .CSS_ADD_ONS_SPINNER_CIRCLE{-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.CSS_ADD_ONS_SPINNER_FIT{position:absolute;top:0;bottom:0;right:0;left:0}@keyframes white-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes white-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes container-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes container-rotate{to{transform:rotate(360deg)}}@keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@-webkit-keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.CSS_ADD_ONS_QUANTUM_SPINNER{left:50%;margin-left:-14px}.CSS_ADD_ONS_SPINNER_GAP_PATCH{left:45%}.CSS_ADD_ONS_SPINNER_GAP_PATCH .CSS_ADD_ONS_SPINNER_CIRCLE{left:-450%}.CSS_ADD_ONS_CIRCLE_CLIPPER.CSS_ADD_ONS_SPINNER_LEFT .CSS_ADD_ONS_SPINNER_CIRCLE{border-right-color:transparent}.CSS_ADD_ONS_CIRCLE_CLIPPER.CSS_ADD_ONS_SPINNER_RIGHT .CSS_ADD_ONS_SPINNER_CIRCLE{left:-100%;border-left-color:transparent}.CSS_ADD_ONS_SPINNER_ACTIVE .CSS_ADD_ONS_CIRCLE_CLIPPER.CSS_ADD_ONS_SPINNER_LEFT .CSS_ADD_ONS_SPINNER_CIRCLE{animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.CSS_ADD_ONS_SPINNER_ACTIVE .CSS_ADD_ONS_CIRCLE_CLIPPER.CSS_ADD_ONS_SPINNER_RIGHT .CSS_ADD_ONS_SPINNER_CIRCLE{animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}@keyframes left-spin{from{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@-webkit-keyframes left-spin{from{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@keyframes right-spin{from{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}@-webkit-keyframes right-spin{from{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}.CSS_ADD_ONS_ELLIPSES{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-on-host-container,.add-on-host-content,.add-on-host-failure,.add-on-host-client-not-supported,.add-on-host-loading,.add-on-host-offline{height:100%;width:100%}.add-on-host-container{outline:none;position:relative}.add-on-host-content,.add-on-host-extra-content-container{bottom:0;left:0;outline:none;position:absolute}.add-on-host-content{outline:none;position:absolute}.add-on-host-non-content-wrapper{display:flex;flex-direction:column;height:100%}.add-on-host-non-content-wrapper.isHidden{visibility:hidden}.add-on-host-views-container{flex:1 1 auto;position:relative}.add-on-host-failure,.add-on-host-client-not-supported,.add-on-host-loading,.add-on-host-offline{align-items:center;background:#fff;display:flex;flex-direction:column;justify-content:center;position:absolute;text-align:center}.add-on-host-screen{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;padding:16px;text-align:center;width:100%}.add-on-host-screen-image{width:75px;height:75px}.add-on-host-screen-svg{fill:#5f6368}.add-on-host-screen-primary-message{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;height:48px;letter-spacing:0.2px;line-height:24px;margin:40px 0 0 0}.add-on-host-screen-secondary-message{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;height:32px;letter-spacing:0.3px;line-height:16px}.add-on-host-clickable{color:#4285f4;cursor:pointer;font-size:inherit;outline:none;background:transparent;border:none}.add-on-host-retry{bottom:48px;position:absolute;text-transform:uppercase}.add-on-host-loading.add-on-host-loading-hidden{visibility:hidden}.add-on-host-offline-snack-bar{background:#202124;bottom:0;color:#fff;height:112px;position:fixed;transition:transform .218s ease-in-out;width:100%;z-index:99999}.add-on-host-offline-snack-bar.add-on-host-offline-snack-bar-hidden{transform:translate(0,120%)}.add-on-host-offline-snack-bar-content__description{font-family:Roboto,Arial,sans-serif;font-size:14px;letter-spacing:0.2px;line-height:20px;margin:24px 24px 0;vertical-align:top}.add-on-host-offline-snack-bar-content__btn{background:#202124;border:none;color:#fff;cursor:pointer;font-family:Roboto,Arial,sans-serif;font-size:16px;letter-spacing:0.2px;line-height:16px;margin:5px 16px 12px 218px;outline:none;padding:8px;vertical-align:top}.add-on-host-headerbar.companion-shell-header{border:none;height:40px;padding:0 16px}.add-on-host-headerbar .companion-shell-header-element.companion-shell-title-container{line-height:20px}.add-on-host-headerbar .companion-shell-title-text.companion-shell-title-big{font-size:16px}.add-on-host-headerbar .companion-shell-header-element.companion-shell-close-button{align-items:center;display:flex;height:32px;justify-content:center;margin:0;width:32px}.add-on-host-headerbar .companion-shell-header-svg-icon{width:20px;height:20px}.add-on-host-headerbar.companion-shell-header.add-on-host-headerbar-companion-style{height:64px;padding:0 10px}.add-on-host-headerbar.add-on-host-headerbar-companion-style .companion-shell-header-element.companion-shell-close-button{width:40px;height:40px}.docs-material-button{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:box-shadow 0.28s cubic-bezier(0.4,0.0,0.2,1);-moz-transition:box-shadow 0.28s cubic-bezier(0.4,0.0,0.2,1);-o-transition:box-shadow 0.28s cubic-bezier(0.4,0.0,0.2,1);transition:box-shadow 0.28s cubic-bezier(0.4,0.0,0.2,1);border-radius:2px;border:none;cursor:pointer;display:inline-block;font:500 13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:32px;line-height:32px;margin:0 4px;overflow:hidden;outline:none;position:relative;text-align:center;text-transform:uppercase;vertical-align:middle}.docs-material-button-content{position:relative}.docs-material-button-ripple-element{border-radius:50%;left:50%;opacity:0;padding-bottom:200%;position:absolute;top:50%;transition:transform 0s linear 0.2s,opacity 0.2s ease-in;width:200%}.docs-material-button-ripple-effect>.docs-material-button-ripple-element{-webkit-transform:translate(-50%,-50%) scale(1);-moz-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);-o-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);opacity:1;transition:transform 0.35s ease-out,opacity 0s linear;visibility:visible}.docs-material-button-disabled{box-shadow:none;cursor:default}.docs-material-button-flat-primary,.docs-material-button-flat-default,.docs-material-button-flat-dark{background-color:transparent;padding:0 8px}.docs-material-button-raised-primary,.docs-material-button-raised-default{padding:0 16px}.docs-material-button-hover.docs-material-button-raised-primary,.docs-material-button-hover.docs-material-button-raised-default{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2)}.docs-material-button-active.docs-material-button-raised-primary,.docs-material-button-active.docs-material-button-raised-default{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2)}.docs-material-button-raised-primary{background-color:#4285f4;color:#fff}.docs-material-button-flat-primary{color:#4285f4}.docs-material-button-flat-default{color:rgba(0,0,0,0.54)}.docs-material-button-flat-dark{color:#fff}.docs-material-button-hover.docs-material-button-flat-primary{background-color:rgba(66,133,244,.12)}.docs-material-button-hover.docs-material-button-flat-dark{background-color:rgba(256,256,256,0.1)}.docs-material-button-active.docs-material-button-flat-primary{color:#3367d6}.docs-material-button-raised-primary.docs-material-button-focused{border:1px inset rgba(0,0,0,0.38);background:#3b78e7;line-height:30px;padding:0 15px}.docs-material-button-raised-default.docs-material-button-focused{border:1px solid #4285f4;line-height:30px;padding:0 15px}.docs-material-button-flat-primary.docs-material-button-focused,.docs-material-button-flat-default.docs-material-button-focused{border:1px solid #4285f4;line-height:30px;padding:0 7px}.docs-material-button-flat-dark.docs-material-button-focused{border:1px solid #fff;line-height:30px;padding:0 7px}.docs-material-button.docs-material-button-focused.docs-material-button-no-focus-border{border:none;line-height:32px}.docs-material-button-raised-primary.docs-material-button-focused.docs-material-button-no-focus-border,.docs-material-button-raised-default.docs-material-button-focused.docs-material-button-no-focus-border{padding:0 16px}.docs-material-button-flat-primary.docs-material-button-focused.docs-material-button-no-focus-border,.docs-material-button-flat-default.docs-material-button-focused.docs-material-button-no-focus-border,.docs-material-button-flat-dark.docs-material-button-focused.docs-material-button-no-focus-border{padding:0 8px}.docs-material-button-focused{outline:1px dotted transparent;outline-offset:-4px}.docs-material-button-hover.docs-material-button-flat-default{background-color:rgba(0,0,0,0.12)}.docs-material-button-active.docs-material-button-flat-default{color:rgba(0,0,0,0.87)}.docs-material-button-raised-default{background-color:rgba(0,0,0,.04);color:rgba(0,0,0,0.54)}.docs-material-button-active.docs-material-button-raised-default{color:rgba(0,0,0,0.87)}.docs-material-button-disabled.docs-material-button-flat-primary,.docs-material-button-disabled.docs-material-button-flat-default,.docs-material-button-disabled.docs-material-button-raised-default{background-color:#fff;color:rgba(0,0,0,0.26)}.docs-material-button-disabled.docs-material-button-flat-dark{color:rgba(255,255,255,0.30)}.docs-material-button-disabled.docs-material-button-raised-primary{background-color:rgba(0,0,0,0.12);color:#fff}.docs-material-button-flat-primary>.docs-material-button-ripple-element{background-color:rgba(66,133,244,.32)}.docs-material-button-raised-primary>.docs-material-button-ripple-element{background-color:#3367d6}.docs-material-button-flat-default>.docs-material-button-ripple-element{background-color:rgba(0,0,0,.2)}.docs-material-button-flat-dark>.docs-material-button-ripple-element{background-color:rgba(256,256,256,0.24)}.docs-material-button-raised-default>.docs-material-button-ripple-element{background-color:rgba(0,0,0,0.12)}.docs-material-button-hairline-primary.docs-material-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;text-transform:none}.docs-material-button-hairline-default.docs-material-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;color:#5f6368;text-transform:none}.docs-material-button-hairline-default.docs-material-button-hover,.docs-material-button-hairline-primary.docs-material-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important}.docs-material-button-hairline-default.docs-material-button-focused,.docs-material-button-hairline-primary.docs-material-button-focused,.docs-material-button-hairline-default.docs-material-button-focused.docs-material-button-no-focus-border,.docs-material-button-hairline-primary.docs-material-button-focused.docs-material-button-no-focus-border{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.docs-material-button-hairline-default.docs-material-button-hover.docs-material-button-focused,.docs-material-button-hairline-primary.docs-material-button-hover.docs-material-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important}.docs-material-button-hairline-default.docs-material-button-active,.docs-material-button-hairline-primary.docs-material-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-material-button-hairline-default.docs-material-button-disabled,.docs-material-button-hairline-primary.docs-material-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38}.docs-material-button-fill-primary.docs-material-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.docs-material-button-fill-primary.docs-material-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-material-button-fill-primary.docs-material-button-focused,.docs-material-button-fill-primary.docs-material-button-focused.docs-material-button-no-focus-border{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-material-button-fill-primary.docs-material-button-hover.docs-material-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-material-button-fill-primary.docs-material-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.docs-material-button-fill-primary.docs-material-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38}div.CSS_SHORTCUTS_HELP_POPUP{left:10%;width:80%;top:10%;z-index:1002;color:#fff;position:fixed;text-align:center;text-shadow:#000 1px 1px 7px;font-weight:bold;background:#000 none repeat scroll 0;overflow:hidden}@media print{div.CSS_SHORTCUTS_HELP_POPUP{display:none!important}}div.CSS_SHORTCUTS_HELP_POPUP_CONTAINER{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-height:inherit;overflow:auto;padding:1em}table.CSS_SHORTCUTS_HELP_POPUP_HEADER,table.CSS_SHORTCUTS_HELP_POPUP_CONTENT{width:100%}.CSS_SHORTCUTS_HELP_POPUP_HEADER_TABLE_ELEMENT{padding-bottom:0.8ex}.CSS_SHORTCUTS_HELP_POPUP_TITLE{font-size:15px;white-space:nowrap;text-align:left}.CSS_SHORTCUTS_HELP_POPUP_TEAROFF_LINK_CONTAINER{color:#dd0;text-align:right}.CSS_SHORTCUTS_HELP_POPUP_TEAROFF_LINK_WRAPPER{position:absolute;top:0;right:0;padding-right:32px;padding-top:16px}.CSS_SHORTCUTS_HELP_CLOSE_PLACEHOLDER{height:11px;width:11px;padding:6px;margin:24px}.CSS_SHORTCUTS_HELP_POPUP_TEAROFF_LINK{font-size:15px;cursor:pointer;text-decoration:underline;color:#dd0}table.CSS_SHORTCUTS_HELP_POPUP_CONTENT{border-top:1px solid #999;font-size:13px}.CSS_SHORTCUTS_HELP_POPUP_CONTENT_HEADER{color:#dd0;padding-top:1em;text-align:left}.CSS_SHORTCUTS_HELP_POPUP_CONTENT_ELEMENT{vertical-align:top;padding-top:0.15em}table.CSS_SHORTCUTS_HELP_POPUP_CONTENT td.CSS_SHORTCUTS_HELP_POPUP_KEY{font-weight:bold;padding-right:0.5em;text-align:right;white-space:nowrap}table.CSS_SHORTCUTS_HELP_POPUP_CONTENT td.CSS_SHORTCUTS_HELP_POPUP_DESCRIPTION{font-weight:normal;text-align:left}span.CSS_SHORTCUTS_HELP_POPUP_KEY_MNEMONIC{font-family:"Courier New";color:#dd0}.CSS_SHORTCUTS_HELP_POPUP_PREF_CONTAINER{border-top:1px solid #999;padding:.5em 0}.CSS_SHORTCUTS_HELP_POPUP_PREF_CONTENT{background:#dd0;color:#000;padding:3px 7px;text-align:left;font-size:13px;text-shadow:none}.CSS_SHORTCUTS_HELP_POPUP_PREF_ENABLED .CSS_SHORTCUTS_HELP_POPUP_PREF_CONTENT{background:none;color:#fff}.CSS_SHORTCUTS_HELP_POPUP_PREF_LINK{cursor:pointer;text-decoration:underline}.CSS_SHORTCUTS_HELP_POPUP_PREF_ENABLED .CSS_SHORTCUTS_HELP_POPUP_PREF_LINK{color:#dd0}.shortcuts-modalpopup-bg{display:none;left:0;top:0;position:absolute}.docs-save-indicator:not(:active):not(.docs-titlebar-badge-selected) .docs-icon-sync{opacity:0.63}.docs-gm .docs-save-indicator-caption{font-size:12px;padding-left:3px;padding-right:5px;vertical-align:middle}.docs-save-indicator.docs-titlebar-badge.docs-save-indicator-unsaved-changes,.docs-save-indicator.docs-titlebar-badge.docs-save-indicator-unsaved-changes.docs-titlebar-badge-selected{background-color:#fce8e6;color:#d93025}.docs-save-indicator.docs-titlebar-badge.docs-save-indicator-unsaved-changes:hover{background-color:#fadfdd;color:#d93025}.docs-save-indicator.docs-titlebar-badge.docs-save-indicator-unsaved-changes:active,.docs-save-indicator.docs-titlebar-badge.docs-save-indicator-unsaved-changes.docs-save-indicator-selected{background-color:#f5cfce;color:#d93025}.docs-save-indicator-popup{max-width:420px;min-width:320px}.docs-save-indicator-popup.jfk-bubble{outline:none;padding-left:35px}.docs-save-indicator-popup .jfk-bubble-arrow{display:none}.docs-gm .docs-save-indicator-popup-header{background-color:#e6f4ea;min-height:40px;padding:0}.docs-gm .docs-save-indicator-popup-footer{padding:12px 16px 12px 16px}.docs-gm .docs-save-indicator-popup-title-container{align-items:center;display:flex;min-height:inherit;padding:0 16px}.docs-material .docs-save-indicator-popup-title{color:#188038;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:10px 0;width:fit-content}.docs-gm .docs-save-indicator-popup-subtitle-container{padding:0 0 12px}.docs-gm .docs-material .docs-save-indicator-popup-icon,.docs-gm .docs-material .docs-save-indicator-popup-subtitle-icon{height:24px;margin-right:10px;min-width:24px}.docs-save-indicator-popup-subtitle{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500}.docs-save-indicator-popup-text{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:16px;max-width:fit-content;padding:0 0 12px}.docs-gm .docs-save-indicator-popup.jfk-bubble{border:0;border-radius:4px;overflow:hidden;padding:0;z-index:903!important}.docs-save-indicator-popup .docs-save-indicator-popup-button.docs-material-button-fill-primary.docs-material-button{align-items:center;display:flex;height:24px;margin-bottom:12px;margin-left:0;padding:0 12px;text-transform:none;width:fit-content}.docs-save-indicator-unsaved-changes .docs-save-indicator-popup-header{background-color:#fce8e6}.docs-save-indicator-unsaved-changes .docs-save-indicator-popup-title{color:#d93025}.docs-save-indicator-popup-button-container{align-items:baseline;display:flex}.docs-save-indicator-popup-shortcut{color:#5f6368;font-weight:bold;font-size:12px;padding-left:10px}.docs-save-indicator-popup.docs-save-indicator-unsaved-changes .docs-material-button.docs-save-indicator-popup-button{background-color:#d93025;color:white}.docs-save-indicator-popup.docs-save-indicator-unsaved-changes .docs-material-button.docs-save-indicator-popup-button.docs-material-button-hover,.docs-save-indicator-popup.docs-save-indicator-unsaved-changes .docs-material-button.docs-save-indicator-popup-button.docs-material-button-focused{background-color:#db4036;box-shadow:0 1px 3px 1px rgba(0,0,0,0.05)}.docs-save-indicator-popup.docs-save-indicator-unsaved-changes .docs-material-button.docs-save-indicator-popup-button.docs-material-button-active{background-color:#e5716a}.docs-save-indicator-popup.docs-save-indicator-unsaved-changes .docs-material-button.docs-save-indicator-popup-button.docs-material-button-disabled{background-color:#f1f3f4;color:#3c4043}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble.docs-save-indicator-promo{background-color:#188038;border-radius:8px;box-shadow:0 2px 6px 2px rgba(26,115,232,0.15);margin-top:4px;width:262px}.docs-save-indicator-promo .docs-promo-container{padding:16px}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble.docs-save-indicator-promo .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:transparent}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble.docs-save-indicator-promo .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#188038 transparent}.docs-save-indicator-promo .docs-promo-text-container{width:auto}.docs-save-indicator-promo .docs-promo-header{color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;opacity:1}.docs-save-indicator-promo .docs-promo-body{color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;padding:4px 0}.docs-save-indicator-promo .docs-promo-action-container{color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:0 0 0 20px;text-transform:none}.docs-save-indicator-promo .docs-promo-action-container:focus{outline-color:#fff}.docs-save-indicator-promo .docs-promo-action-row{padding:0}.encrypted-doc-toast.docs-ui-toast{min-width:initial}.encrypted-doc-toast.docs-ui-toast .docs-ui-toast-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.encrypted-doc-toast.docs-ui-toast .docs-ui-toast-control-bar{display:none}.docs-companion-app-switcher-container{background-color:white;border-top:1px solid #d9d9d9;box-sizing:border-box;height:calc(100% - 60px);position:absolute;right:0;top:60px;width:56px;z-index:1}.docs-companion-app-switcher-container.docs-companion-app-switcher-container-collapsed{width:0;z-index:1001}.docs-material.docs-companion-app-switcher-container{height:calc(100% - 64px);top:64px}.docs-material.docs-companion-app-switcher-container.docs-companion-app-switcher-container-collapsed{width:0}.docs-companion-app-switcher-container.docs-app-switcher-container-hidden{display:none}.docs-companion-sidebar{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);height:100%;outline:none;overflow:hidden;position:absolute;right:0;top:0;width:300px;z-index:901}.goog-custom-button{margin:2px;border:0;padding:0;font-family:Arial,sans-serif;color:#000;background:#ddd url(//ssl.gstatic.com/editor/button-bg.png) repeat-x top left;text-decoration:none;list-style:none;vertical-align:middle;cursor:default;outline:none}.goog-custom-button-outer-box,.goog-custom-button-inner-box{border-style:solid;border-color:#aaa;vertical-align:top}.goog-custom-button-outer-box{margin:0;border-width:1px 0;padding:0}.goog-custom-button-inner-box{margin:0 -1px;border-width:0 1px;padding:3px 4px;white-space:nowrap}* html .goog-custom-button-inner-box{left:-1px}* html .goog-custom-button-rtl .goog-custom-button-outer-box{left:-1px}* html .goog-custom-button-rtl .goog-custom-button-inner-box{right:auto}*:first-child+html .goog-custom-button-inner-box{left:-1px}*:first-child+html .goog-custom-button-rtl .goog-custom-button-inner-box{left:1px}::root .goog-custom-button,::root .goog-custom-button-outer-box{line-height:0}::root .goog-custom-button-inner-box{line-height:normal}.goog-custom-button-disabled{background-image:none!important;opacity:0.3;-moz-opacity:0.3;filter:alpha(opacity=30)}.goog-custom-button-disabled .goog-custom-button-outer-box,.goog-custom-button-disabled .goog-custom-button-inner-box{color:#333!important;border-color:#999!important}* html .goog-custom-button-disabled{margin:2px 1px!important;padding:0 1px!important}*:first-child+html .goog-custom-button-disabled{margin:2px 1px!important;padding:0 1px!important}.goog-custom-button-hover .goog-custom-button-outer-box,.goog-custom-button-hover .goog-custom-button-inner-box{border-color:#9cf #69e #69e #7af!important}.goog-custom-button-active,.goog-custom-button-checked{background-color:#bbb;background-position:bottom left}.goog-custom-button-focused .goog-custom-button-outer-box,.goog-custom-button-focused .goog-custom-button-inner-box{border-color:orange}.goog-custom-button-collapse-right,.goog-custom-button-collapse-right .goog-custom-button-outer-box,.goog-custom-button-collapse-right .goog-custom-button-inner-box{margin-right:0}.goog-custom-button-collapse-left,.goog-custom-button-collapse-left .goog-custom-button-outer-box,.goog-custom-button-collapse-left .goog-custom-button-inner-box{margin-left:0}.goog-custom-button-collapse-left .goog-custom-button-inner-box{border-left:1px solid #fff}.goog-custom-button-collapse-left.goog-custom-button-checked .goog-custom-button-inner-box{border-left:1px solid #ddd}* html .goog-custom-button-collapse-left .goog-custom-button-inner-box{left:0}*:first-child+html .goog-custom-button-collapse-left .goog-custom-button-inner-box{left:0}.goog-flat-button{position:relative;margin:2px;border:1px solid #000;padding:2px 6px;font:normal 13px "Trebuchet MS",Tahoma,Arial,sans-serif;color:#fff;background-color:#8c2425;cursor:pointer;outline:none}.goog-flat-button-disabled{border-color:#888;color:#888;background-color:#ccc;cursor:default}.goog-flat-button-hover{border-color:#8c2425;color:#8c2425;background-color:#eaa4a5}.goog-flat-button-active,.goog-flat-button-selected,.goog-flat-button-checked{border-color:#5b4169;color:#5b4169;background-color:#d1a8ea}.goog-flat-button-focused{border-color:#5b4169}.goog-flat-button-collapse-right{margin-right:0}.goog-flat-button-collapse-left{margin-left:0;border-left:none}.goog-button{color:#036;border-color:#036;background-color:#69c}.goog-button-disabled{border-color:#333;color:#333;background-color:#999}.goog-button-hover{color:#369;border-color:#369;background-color:#9cf}.goog-button-active{color:#69c;border-color:#69c}.goog-clipboard{width:16px;height:16px;background:url(//ssl.gstatic.com/docs/clipboard/icons3.png) no-repeat;vertical-align:middle}.goog-cbi1{background-position:-16px}.goog-cbi2{background-position:-32px}.goog-cbi3{background-position:-48px}.goog-cbi4{background-position:-64px}.goog-cbi5{background-position:-80px}.goog-menu-button{background:#ddd url(//ssl.gstatic.com/editor/button-bg.png) repeat-x top left;border:0;color:#000;cursor:pointer;list-style:none;margin:2px;outline:none;padding:0;text-decoration:none;vertical-align:middle}.goog-menu-button-outer-box,.goog-menu-button-inner-box{border-style:solid;border-color:#aaa;vertical-align:top}.goog-menu-button-outer-box{margin:0;border-width:1px 0;padding:0}.goog-menu-button-inner-box{margin:0 -1px;border-width:0 1px;padding:3px 4px}* html .goog-menu-button-inner-box{left:-1px}* html .goog-menu-button-rtl .goog-menu-button-outer-box{left:-1px;right:auto}* html .goog-menu-button-rtl .goog-menu-button-inner-box{right:auto}*:first-child+html .goog-menu-button-inner-box{left:-1px}*:first-child+html .goog-menu-button-rtl .goog-menu-button-inner-box{left:1px;right:auto}::root .goog-menu-button,::root .goog-menu-button-outer-box,::root .goog-menu-button-inner-box{line-height:0}::root .goog-menu-button-caption,::root .goog-menu-button-dropdown{line-height:normal}.goog-menu-button-disabled{background-image:none!important;opacity:0.3;-moz-opacity:0.3;filter:alpha(opacity=30)}.goog-menu-button-disabled .goog-menu-button-outer-box,.goog-menu-button-disabled .goog-menu-button-inner-box,.goog-menu-button-disabled .goog-menu-button-caption,.goog-menu-button-disabled .goog-menu-button-dropdown{color:#333!important;border-color:#999!important}* html .goog-menu-button-disabled{margin:2px 1px!important;padding:0 1px!important}*:first-child+html .goog-menu-button-disabled{margin:2px 1px!important;padding:0 1px!important}.goog-menu-button-hover .goog-menu-button-outer-box,.goog-menu-button-hover .goog-menu-button-inner-box{border-color:#9cf #69e #69e #7af!important}.goog-menu-button-active,.goog-menu-button-open{background-color:#bbb;background-position:bottom left}.goog-menu-button-focused .goog-menu-button-outer-box,.goog-menu-button-focused .goog-menu-button-inner-box{border-color:orange}.goog-menu-button-caption{padding:0 4px 0 0;vertical-align:top}.goog-menu-button-dropdown{height:15px;width:7px;background:url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -388px 0;vertical-align:top}.goog-menu-button-collapse-right,.goog-menu-button-collapse-right .goog-menu-button-outer-box,.goog-menu-button-collapse-right .goog-menu-button-inner-box{margin-right:0}.goog-menu-button-collapse-left,.goog-menu-button-collapse-left .goog-menu-button-outer-box,.goog-menu-button-collapse-left .goog-menu-button-inner-box{margin-left:0}.goog-menu-button-collapse-left .goog-menu-button-inner-box{border-left:1px solid #fff}.goog-menu-button-collapse-left.goog-menu-button-checked .goog-menu-button-inner-box{border-left:1px solid #ddd}.goog-submenu-arrow{color:#000;left:auto;padding-right:6px;position:absolute;right:0;text-align:right}.goog-menuitem-rtl .goog-submenu-arrow{text-align:left;left:0;right:auto;padding-left:6px}.goog-menuitem-disabled .goog-submenu-arrow{color:#ccc}.a11y-settings-dialog{min-width:464px}.a11y-settings-dialog ul,.a11y-settings-dialog li{list-style:none;padding:0;margin:0}.a11y-settings-dialog .a11y-settings-dialog-indent-group{margin-left:30px}.a11y-settings-dialog .a11y-settings-dialog-learn-more{margin-top:8px}.a11y-settings-dialog .a11y-settings-dialog-description-text{margin-right:2px}.a11y-settings-dialog a,.a11y-settings-dialog a:hover,.a11y-settings-dialog a:visited,.a11y-settings-dialog a:focus,.a11y-settings-dialog a:active{color:#1a73e8}.a11y-settings-dialog .docs-material-gm-labeled-checkbox-description a{padding:3px 0}.a11y-settings-dialog a .docs-icon{pointer-events:none}.a11y-settings-dialog .docs-material-gm-dialog-buttons{padding-top:0}.activity-deck,.activity-deck-events-view{height:100%}.activity-list-container{background-color:#fff;font-family:Roboto,arial,sans-serif;font-size:13px;height:100%;position:relative}.activity-list{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:100%;overflow-y:scroll;position:relative;z-index:0}.activity-refresh-header{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#eee;height:0;overflow:hidden;padding-right:16px;position:absolute;top:0;width:100%;z-index:2}.activity-refresh-header .goog-inline-block.goog-flat-button{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:white;color:#15c;cursor:pointer;height:35px;line-height:35px;text-align:center;width:100%}.activity-list-static-header{box-sizing:border-box;left:0;overflow:hidden;padding-bottom:12px;position:absolute;right:16px;top:0;width:auto;z-index:1}.activity-list-loading{font-size:14px;font-weight:normal;margin-top:16px;text-align:center;width:100%}.activity-list-loading .drive-white-circle{display:none}.activity-list-loading-more.activity-list-loading{font-size:12px;font-weight:normal;margin-top:0;padding-bottom:8px}.activity-list-loading-more.activity-list-loading .activity-list-loading-icon,.activity-list-loading-more.activity-list-loading .activity-list-loading-icon img,.activity-list-loading-more.activity-list-loading .activity-list-loading-message{display:inline-block;vertical-align:middle}.activity-list-loading-more.activity-list-loading .activity-list-loading-message{margin-left:8px;padding-left:14px;padding-top:6px}.activity-list-no-activity{font-size:13px;margin-top:16px;text-align:center;width:100%}.activity-event.activity-event-new{background-color:#ffffd6}.activity-event.activity-event-background-transition{-webkit-transition:background-color 1000ms ease-in;-moz-transition:background-color 1000ms ease-in;-o-transition:background-color 1000ms ease-in;transition:background-color 1000ms ease-in}.activity-list-no-more-events-icon{display:inline-block;margin-bottom:10px}.activity-event{background-color:#fff;border-bottom:1px solid #dadce0;margin:0 0 12px;padding:0 0 12px;position:relative;width:100%}.activity-event>div:first-child{line-height:20px;padding:16px 0}.activity-event-action-icon{height:16px;padding:8px 4px;position:absolute;width:16px}.activity-event-available-action{border-top:1px solid #efefef;margin-left:24px;margin-top:16px;padding-top:16px}.activity-event-action-link-active{color:#4a4a4a;padding:0;position:relative}.activity-event-action-link-active svg{fill:#4a4a4a}.activity-event-action-link-active:focus,.activity-event-action-link-active:hover{color:#4285f4;cursor:pointer}.activity-event-action-link-active:focus svg,.activity-event-action-link-active:hover svg{fill:#4285f4}.activity-event-action-link-used{color:#ccc}.activity-event-action-link-used svg{fill:#ccc}.activity-event-action-text{font-weight:500;text-transform:uppercase}.activity-event-action-text-active{margin-left:32px;padding:8px 0}.activity-event-action-text-used{padding:8px 4px}.activity-list-error,.activity-list-no-more-events.activity-list-no-events{margin-bottom:20px;margin-top:10px;text-align:center}.activity-list-error-icon{display:inline-block;height:24px;margin-bottom:-5px;margin-right:20px;position:relative;width:24px}.activity-list-error-icon svg{bottom:0;position:absolute}.activity-list-events{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.activity-list-no-more-events{color:#5f6368;padding:0 24px 0 16px;text-align:left}.activity-list-no-more-events-text{color:#5f6368;font-size:13px;font-weight:normal;margin-bottom:0}.activity-list-no-more-events-description,.activity-list-no-more-events-learn-more{line-height:20px;margin:0;padding:14px 0}.activity-decorated-link{color:#15c;cursor:pointer;outline:none;text-decoration:none}.activity-decorated-link:focus,.activity-decorated-link:hover{text-decoration:underline}.activity-decorated-link:active{color:#d14836}.activity-list-error-try-again{color:#15c;cursor:pointer;outline:none;text-decoration:none}.activity-list-error-try-again:focus,.activity-list-error-try-again:hover,.activity-list-error-try-again .goog-flat-button-hover,.activity-list-error-try-again .goog-flat-button-focus{text-decoration:underline}.activity-list-error-try-again:active{color:#d14836}.activity-list-show-more,.activity-paging-footer-show-more .goog-flat-button{display:block;height:0;margin:0 5px;overflow:hidden}.activity-event-focus{outline:1px solid #4d90fe}.activity-hideable-focus-hidden .activity-event.activity-event-focus{outline:none}.activity-event-person{height:40px;left:16px;position:absolute;width:40px}.activity-event-person img{border-radius:50%;height:100%;width:100%}.activity-event-background svg{border-radius:50%;height:40px;width:40px}.activity-event-person-overlay{left:0;position:absolute;right:0;top:0}.activity-event-admin-icon svg{opacity:0.5}.activity-event-person-icon svg{margin-top:9px}.activity-event-admin-icon.activity-event-person-icon svg{margin-top:7px}.activity-event-drive-icon svg{margin-top:8px}.activity-event-person .activity-event-person-icon-container{border-radius:50%;height:40px;overflow:hidden;text-align:center;width:40px}.activity-event-admin-icon-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:2px solid rgba(0,0,0,0.2)}.activity-event-person-icon-text{color:#fff;font-size:16px;line-height:40px;vertical-align:middle}.activity-event-header{margin-left:56px;padding:0 24px 0 16px}.activity-event-details-header{color:#5f6368;font-size:13px;width:auto}.activity-event-details-container{color:#5f6368;font-size:13px;font-weight:500;margin-top:4px}.activity-event-target-list{padding-left:72px}.activity-event-file-approval,.activity-event-people-names{color:#202124;font-weight:500}.activity-event-approval-status{margin-top:4px;font-weight:500}.activity-event-approval-approved{color:#0f9d58}.activity-event-approval-rejected{color:#db4437}.activity-event-action{font-weight:normal}.activity-event-action::before{content:" "}.activity-event-target-number{font-weight:bold}.activity-event-copy-action{font-weight:bold}.activity-event-target-icon{height:16px;position:absolute;width:24px}.activity-event-target.activity-event-target-first{border-top:none}.activity-event-target-icon .drive-shortcut-icon{bottom:2px;left:-4px;position:absolute}.activity-event-target{position:relative}.activity-event-parent{border-bottom:1px solid #efefef;margin-left:72px}.activity-event-target-details{margin-left:32px}.activity-event-target-details.activity-event-locatable-target{margin-right:24px}.activity-event-target-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-list-hidden-text{height:0;overflow:hidden;white-space:nowrap;width:0}.activity-event-target:hover,.activity-event-target:active,.activity-event-target:focus{background-color:#fff}.activity-event-target-name.activity-event-openable-target:hover,.activity-event-target-name.activity-event-openable-target:active,.activity-event-target-name.activity-event-openable-target:focus,.activity-event-target-name .activity-event-openable-target:hover,.activity-event-target-name .activity-event-openable-target:active,.activity-event-target-name .activity-event-openable-target:focus{color:#5f6368;cursor:pointer;outline:none;text-decoration:underline}.activity-event-scopes-show-more-button,.activity-event-scopes-show-less-button{display:flex;margin-left:24px}.activity-event-show-more-button,.activity-event-show-less-button{display:flex;margin-left:6px}.activity-event-toggle-button{border:1px solid transparent;border-radius:4px;box-shadow:none;box-sizing:border-box;color:#4285f4;cursor:pointer;font-family:Google Sans,QUANTUM_FONT_FAMILY;font-size:13px;font-weight:500;height:36px;letter-spacing:0.25px;line-height:16px;outline:none;margin-top:4px;padding:9px 24px 11px 24px}.activity-event-toggle-button-hover{background-color:rgba(66,133,244,.04)}.activity-event-toggle-button-focused{background-color:#e8f0fe}.activity-event-toggle-button-hover.activity-event-toggle-button-focused{background-color:rgba(66,133,244,0.16)}.activity-event-toggle-button-active{background-color:rgba(66,133,244,0.16);box-shadow:0 1px 2px 0 rgba(60,64,67,0.30),0 1px 3px 1px rgba(60,64,67,0.15)}.activity-event-focus .activity-event-toggle-button .activity-event-toggle-button-icon,.activity-event:hover .activity-event-toggle-button .activity-event-toggle-button-icon{visibility:visible}.activity-event:hover .activity-event-toggle-button{cursor:pointer}.activity-event-children{margin-left:24px}.activity-event-target-icon,.activity-event-target-details{padding:7px 0 6px}.activity-event-target-icon-img{max-height:16px;max-width:16px;padding:0 4px}.activity-event-section-title{background-color:#fff;border-bottom:1px solid #dadce0;color:#5f6368;font-size:13px;font-weight:500;line-height:48px;margin:0;padding:0 24px 0 16px;position:relative;transition:box-shadow 267ms cubic-bezier(0.4,0.0,0.2,1)}.activity-event-annotation{color:#5f6368;display:inline;float:right;font-size:12px;font-weight:normal;padding-right:16px;padding-top:0;position:relative}.activity-event-source{display:inline-block;max-width:136px;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.activity-event-info{color:#5f6368;padding-bottom:12px}.activity-event-timestamp{padding:0 16px 0 16px;display:inline}.activity-event-target-parent{color:#bababa;font-size:13px}.activity-event-target-parent.activity-event-openable-target:hover,.activity-event-target-parent.activity-event-openable-target:active,.activity-event-target-parent.activity-event-openable-target:focus{color:#00992c;cursor:pointer;outline:none}.activity-event-locate{height:32px;outline:none;position:absolute;right:3px;top:0;width:24px}.activity-event-locate svg{filter:alpha(opacity=0);opacity:0;margin-left:2px;margin-top:5px}.activity-event-locate:hover,.activity-event-locate:active,.activity-event-locate:focus,.activity-event-target:hover .activity-event-locate:hover,.activity-event-target:active .activity-event-locate:active,.activity-event-target:focus .activity-event-locate:focus{cursor:pointer}.activity-event-locate:hover svg,.activity-event-locate:active svg,.activity-event-locate:focus svg,.activity-event-target:hover .activity-event-locate:hover svg,.activity-event-target:active .activity-event-locate:active svg,.activity-event-target:focus .activity-event-locate:focus svg{filter:alpha(opacity=72);opacity:.72;cursor:pointer}.activity-event-target:hover .activity-event-locate svg,.activity-event-target:active .activity-event-locate svg,.activity-event-target:focus .activity-event-locate svg{filter:alpha(opacity=55);opacity:.55}.activity-event-user-deletion-overlay svg{margin-top:4px}.activity-list .drive-spinner{height:40px}.activity-entry-empty-trash-targets .activity-event-target-name{text-decoration:line-through}.activity-event-rename-old-title{color:#ccc;margin-top:8px;overflow:hidden;text-decoration:line-through;text-overflow:ellipsis;white-space:nowrap}.activity-event-scope-change-detail.activity-event-scope-change-detail-first{border-top:none}.activity-event-scope-change-detail{position:relative;padding:2px 0}.activity-event-scope-icon{border-radius:50%;display:inline-block;overflow:hidden;padding:0;position:relative;vertical-align:middle;z-index:1}.activity-event-scope-icon img{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;height:24px;vertical-align:middle;width:24px}.activity-event-scope-icon-container .activity-event-scope-svg-icon{left:2px;position:absolute;top:2px}.activity-event-scope-background svg{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;height:24px;width:24px}.activity-event-scope-icon .activity-event-scope-icon-container{height:24px;text-align:center;width:24px}.activity-event-scope-icon-text{color:#fff;height:24px;left:0;line-height:24px;position:absolute;top:0;width:24px}.activity-event-scope-element{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-weight:lighter;padding-left:48px;width:100%}.activity-event-scope-element-access{color:#5f6368;font-size:13px;float:right;padding-left:8px}.activity-event-scope-element-text{color:#5f6368;font-weight:500}.activity-event-scope-detail-unshared .activity-event-scope-element-text,.activity-event-scope-detail-unshared .activity-event-scope-detail-ba-display-name{text-decoration:line-through}.activity-event-scope-detail-icon-container{display:inline-block;line-height:normal;vertical-align:middle;width:0}.activity-event-scope-detail-unshared{filter:alpha(opacity=50);opacity:0.5}.activity-event-scope-detail-content-container{display:inline-block;line-height:normal;vertical-align:middle;width:100%}.activity-event-scopes-list{margin-top:12px;position:relative;padding:0 24px}.activity-event-scope-detail-ba-container{display:inline-block;margin-left:48px;vertical-align:middle}.activity-event-scope-detail-ba-display-name{color:#202124;font-weight:500}.activity-event-scope-detail-ba-subtext{color:#5f6368;font-size:13px}.activity-team-drive-setting-events{padding-top:10px}.activity-team-drive-setting-detail{display:flex;padding-left:35px}.activity-team-drive-setting-detail:not(:last-child){padding-bottom:10px}.activity-team-drive-setting-description{display:inline-block;font-weight:normal;padding-left:20px}.docs-tabbar{clear:left;display:flex;flex-direction:row;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;float:left;-webkit-justify-content:left;justify-content:left;outline:none}.docs-tabbar-tab{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;border-bottom:2px solid transparent;border-top:2px solid transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:flex;height:48px;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;max-width:264px;min-width:72px;padding:0px 24px}.docs-tabbar-tab-selected{border-bottom:2px solid #fff}.docs-hc-edge.docs-tabbar-tab.docs-tabbar-tab-selected .docs-tabbar-tablabel,.docs-hc-gecko.docs-tabbar-tab.docs-tabbar-tab-selected .docs-tabbar-tablabel,.docs-hc-ie.docs-tabbar-tab.docs-tabbar-tab-selected .docs-tabbar-tablabel{border-bottom:2px solid #fff;padding-bottom:0px}.docs-hc-edge.docs-tabbar-tab .docs-tabbar-tablabel,.docs-hc-gecko.docs-tabbar-tab .docs-tabbar-tablabel,.docs-hc-ie.docs-tabbar-tab .docs-tabbar-tablabel{padding-bottom:2px}.docs-tabbar-focused .docs-tabbar-tab-selected{background:rgba(255,255,255,0.12)}.docs-tabbar-mouseactive .docs-tabbar-tab{background:transparent}.docs-tabbar .docs-tabbar-tab-active{background:rgba(255,255,255,0.25)}.docs-tabbar-tablabel{color:rgba(255,255,255,0.7);font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.docs-tabbar-tab-selected .docs-tabbar-tablabel{color:#fff}div.docs-material-gm-checkbox,span.docs-material-gm-checkbox{border:2px solid #5f6368;border-radius:2px;box-sizing:border-box;cursor:pointer;height:18px;margin:1px;outline:none;flex-shrink:0;top:4px;width:18px;display:inline-block;vertical-align:middle}div.docs-material-gm-checkbox-checked,span.docs-material-gm-checkbox-checked,div.docs-material-gm-checkbox-undetermined,span.docs-material-gm-checkbox-undetermined{background-color:#188038;border:2px solid #188038}div.docs-material-gm-checkbox-checked:before,span.docs-material-gm-checkbox-checked:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K");display:block;line-height:15px}div.docs-material-gm-checkbox-undetermined:before,span.docs-material-gm-checkbox-undetermined:before{border-top:2px solid white;content:'';display:block;height:0;margin-left:3px;margin-top:6px;width:8px}div.docs-material-gm-checkbox-focused,span.docs-material-gm-checkbox-focused{border:2px solid #188038}div.docs-material-gm-checkbox-disabled,span.docs-material-gm-checkbox-disabled{cursor:default;opacity:.38}div.docs-material-gm-checkbox-disabled.docs-material-gm-checkbox-checked,span.docs-material-gm-checkbox-disabled.docs-material-gm-checkbox-checked{background-clip:padding-box;background-color:#5f6368;border-color:#5f6368;opacity:.38}div.docs-material-gm-checkbox-checked.docs-material-gm-checkbox-focused,span.docs-material-gm-checkbox-checked.docs-material-gm-checkbox-focused{background-color:#188038;border:2px solid #188038}div.docs-material-gm-checkbox-disabled.docs-material-gm-checkbox-undetermined,span.docs-material-gm-checkbox-disabled.docs-material-gm-checkbox-undetermined{background-clip:padding-box;background-color:#5f6368;border-color:#5f6368;opacity:.38}div.docs-material-gm-checkbox-hover,span.docs-material-gm-checkbox-hover,div.docs-material-gm-checkbox-focused,span.docs-material-gm-checkbox-focused{outline:1px dotted transparent;outline-offset:3px}div.docs-material-gm-checkbox-active,span.docs-material-gm-checkbox-active{outline:1px solid transparent;outline-offset:3px}.docs-material-gm-labeled-checkbox{align-items:flex-start;cursor:pointer;display:flex;max-width:672px;outline:none;padding:8px 0;width:100%}.docs-material-gm-labeled-checkbox.docs-material-gm-labeled-checkbox-disabled{cursor:default}.docs-material-gm-labeled-checkbox-content{flex-shrink:1;margin-left:12px}.docs-material-gm-labeled-checkbox-circle{width:40px;height:40px;border-radius:50%;cursor:pointer;margin-left:-10px;margin-top:-10px;position:absolute}.docs-material-gm-labeled-checkbox-disabled .docs-material-gm-labeled-checkbox-circle{cursor:default}.docs-material-gm-labeled-checkbox-checkbox{border:2px solid #5f6368;border-radius:2px;box-sizing:border-box;cursor:pointer;height:18px;margin:1px;outline:none;flex-shrink:0;top:4px;width:18px}.docs-material-gm-labeled-checkbox-checkbox.docs-material-gm-labeled-checkbox-checked,.docs-material-gm-labeled-checkbox-checkbox.docs-material-gm-labeled-checkbox-undetermined{background-color:#188038;border:2px solid #188038}.docs-material-gm-labeled-checkbox-checkbox.docs-material-gm-labeled-checkbox-checked:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K");display:block;line-height:15px}.docs-material-gm-labeled-checkbox-checkbox.docs-material-gm-labeled-checkbox-undetermined:before{border-top:2px solid white;content:'';display:block;height:0;margin-left:3px;margin-top:6px;width:8px}.docs-material-gm-labeled-checkbox-disabled .docs-material-gm-labeled-checkbox-checkbox{cursor:default;opacity:.38}.docs-material-gm-labeled-checkbox-hover .docs-material-gm-labeled-checkbox-checkbox,.docs-material-gm-labeled-checkbox-focused .docs-material-gm-labeled-checkbox-checkbox{outline:1px dotted transparent;outline-offset:3px}.docs-material-gm-labeled-checkbox-active .docs-material-gm-labeled-checkbox-checkbox{outline:1px solid transparent;outline-offset:3px}.docs-material-gm-labeled-checkbox-hover .docs-material-gm-labeled-checkbox-circle{background-color:#5f6368;opacity:.04}.docs-material-gm-labeled-checkbox-focused .docs-material-gm-labeled-checkbox-circle{background-color:#5f6368;opacity:.06}.docs-material-gm-labeled-checkbox-active .docs-material-gm-labeled-checkbox-circle{background-color:#5f6368;opacity:.1}.docs-material-gm-labeled-checkbox-disabled .docs-material-gm-labeled-checkbox-checkbox.docs-material-gm-labeled-checkbox-checked{background-clip:padding-box;background-color:#5f6368;border-color:#5f6368;opacity:.38}.docs-material-gm-labeled-checkbox-disabled .docs-material-gm-labeled-checkbox-checkbox.docs-material-gm-labeled-checkbox-undetermined{background-clip:padding-box;background-color:#5f6368;border-color:#5f6368;opacity:.38}.docs-material-gm-labeled-checkbox-hover .docs-material-gm-labeled-checkbox-checked+.docs-material-gm-labeled-checkbox-circle{background-color:#188038;opacity:.04}.docs-material-gm-labeled-checkbox-focused .docs-material-gm-labeled-checkbox-checked+.docs-material-gm-labeled-checkbox-circle{background-color:#188038;opacity:.06}.docs-material-gm-labeled-checkbox-active .docs-material-gm-labeled-checkbox-checked+.docs-material-gm-labeled-checkbox-circle{background-color:#188038;opacity:.1}.docs-material-gm-labeled-checkbox .docs-material-gm-labeled-checkbox-label{color:#3c4043;cursor:pointer;display:block;font:14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:16px;overflow-wrap:break-word;padding:3px 0;width:auto;word-wrap:break-word}.docs-material-gm-labeled-checkbox.docs-material-gm-labeled-checkbox-disabled .docs-material-gm-labeled-checkbox-label{cursor:default;opacity:.38}.docs-material-gm-labeled-checkbox .docs-material-gm-labeled-checkbox-description{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;padding:1px 0;width:100%}.docs-material-gm-labeled-checkbox.docs-material-gm-labeled-checkbox-disabled .docs-material-gm-labeled-checkbox-description{opacity:.38}.docs-material-gm-labeled-checkbox .docs-material-gm-labeled-checkbox-description-hide{display:none}.docs-material-labeled-checkbox-checkbox{outline:none}.docs-material-labeled-checkbox .docs-material-labeled-checkbox-checkbox{border:2px solid rgba(0,0,0,0.38);border-radius:2px;cursor:pointer;float:left;height:12px;margin:1px;position:relative;top:4px;vertical-align:middle;width:12px}.docs-material-labeled-checkbox-checkbox.docs-material-labeled-checkbox-checked:before{content:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K");display:block;line-height:12px}.docs-material-labeled-checkbox-checkbox.docs-material-labeled-checkbox-checked{background-color:#4285f4;border:2px solid #4285f4}.docs-material-labeled-checkbox-focused .docs-material-labeled-checkbox-checkbox{border:2px solid #4285f4}.docs-material-labeled-checkbox-disabled .docs-material-labeled-checkbox-checkbox{border-color:rgba(0,0,0,0.26);cursor:default}.docs-material-labeled-checkbox-disabled .docs-material-labeled-checkbox-checkbox.docs-material-labeled-checkbox-checked{background-clip:padding-box;background-color:rgba(0,0,0,0.26);border-color:rgba(0,0,0,0.26)}.docs-material-labeled-checkbox-focused .docs-material-labeled-checkbox-checkbox.docs-material-labeled-checkbox-checked{background-color:#2a56c6;border:2px solid #2a56c6}.docs-material-labeled-checkbox .docs-material-labeled-checkbox-label{color:rgba(0,0,0,0.87);display:block;font:13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px;margin-left:30px;overflow-wrap:break-word;padding:4px 0;vertical-align:middle;width:auto;word-wrap:break-word}.docs-material-labeled-checkbox.docs-material-labeled-checkbox-disabled .docs-material-labeled-checkbox-label{color:rgba(0,0,0,0.54)}.docs-material-labeled-checkbox .docs-material-labeled-checkbox-description-hide{display:none}.goog-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-transition:opacity 0.218s;-moz-transition:opacity 0.218s;-o-transition:opacity 0.218s;transition:opacity 0.218s;background:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);cursor:default;font-size:13px;margin:0;outline:none;padding:6px 0;position:absolute}.goog-flat-menu-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);border:1px solid #dcdcdc;color:#333;cursor:default;font-size:11px;font-weight:bold;line-height:27px;list-style:none;margin:0 2px;min-width:46px;outline:none;padding:0 18px 0 6px;text-align:center;text-decoration:none}.goog-flat-menu-button-disabled{background-color:#fff;border-color:#f3f3f3;color:#b8b8b8}.goog-flat-menu-button.goog-flat-menu-button-hover{background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);border-color:#c6c6c6;color:#111}.goog-flat-menu-button.goog-flat-menu-button-focused{border-color:#4d90fe}.goog-flat-menu-button.goog-flat-menu-button-open,.goog-flat-menu-button.goog-flat-menu-button-active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border:1px solid #ccc;color:#333;z-index:2}.goog-flat-menu-button-caption{vertical-align:top;white-space:nowrap}.goog-flat-menu-button-dropdown{border-color:#777 transparent;border-style:solid;border-width:4px 4px 0 4px;height:0;width:0;position:absolute;right:5px;top:12px}.goog-flat-menu-button .goog-flat-menu-button-img{margin-top:-3px;opacity:.70;vertical-align:middle}.goog-flat-menu-button-active .goog-flat-menu-button-img,.goog-flat-menu-button-open .goog-flat-menu-button-img,.goog-flat-menu-button-selected .goog-flat-menu-button-img,.goog-flat-menu-button-hover .goog-flat-menu-button-img{opacity:0.9}.goog-flat-menu-button-active .goog-flat-menu-button-dropdown,.goog-flat-menu-button-open .goog-flat-menu-button-dropdown,.goog-flat-menu-button-selected .goog-flat-menu-button-dropdown,.goog-flat-menu-button-hover .goog-flat-menu-button-dropdown{border-color:#595959 transparent}.goog-flat-menu-button-left,.goog-flat-menu-button-right{z-index:1}.goog-flat-menu-button-left.goog-flat-menu-button-disabled{z-index:0}.goog-flat-menu-button-right:focus,.goog-flat-menu-button-hover.goog-flat-menu-button-collapse-right{z-index:2}.goog-flat-menu-button-left:focus,.goog-flat-menu-button-hover.goog-flat-menu-button-collapse-left{z-index:2}.goog-flat-menu-button-collapse-left{margin-left:-1px;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0;min-width:0;padding-left:0;vertical-align:top}.goog-flat-menu-button-collapse-right{margin-right:0px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-right-radius:0}.goog-menuitem,.goog-tristatemenuitem,.goog-filterobsmenuitem{position:relative;color:#333;cursor:pointer;list-style:none;margin:0;padding:6px 8em 6px 30px;white-space:nowrap}.goog-menu-nocheckbox .goog-menuitem,.goog-menu-noicon .goog-menuitem{padding-left:16px;vertical-align:middle}.goog-menu-noaccel .goog-menuitem{padding-right:44px}.goog-menuitem-disabled{cursor:default}.goog-menuitem-disabled .goog-menuitem-accel,.goog-menuitem-disabled .goog-menuitem-content{color:#ccc!important}.goog-menuitem-disabled .goog-menuitem-icon{filter:alpha(opacity=30);opacity:0.3}.goog-menuitem-highlight,.goog-menuitem-hover{background-color:#eee;border-color:#eee;border-style:dotted;border-width:1px 0;padding-top:5px;padding-bottom:5px}.goog-menuitem-highlight .goog-menuitem-content,.goog-menuitem-hover .goog-menuitem-content{color:#333}.goog-menuitem-checkbox,.goog-menuitem-icon{background-repeat:no-repeat;height:21px;left:3px;position:absolute;right:auto;top:3px;vertical-align:middle;width:21px}.goog-option-selected{background-image:url(//ssl.gstatic.com/ui/v1/menu/checkmark.png);background-repeat:no-repeat;background-position:left center}.goog-option-selected .goog-menuitem-content{color:#333}.goog-menuitem-accel{color:#777;direction:ltr;left:auto;padding:0 6px;position:absolute;right:0;text-align:right}.goog-menuitem-mnemonic-hint{text-decoration:underline}.goog-menuitem-mnemonic-separator{color:#777;font-size:12px;padding-left:4px}.goog-menuseparator{border-top:1px solid #ebebeb;margin-top:6px;margin-bottom:6px}.goog-submenu-arrow{-webkit-transition:all 0.218s;-moz-transition:all 0.218s;-o-transition:all 0.218s;transition:all 0.218s;font-size:70%;left:auto;right:10px;padding-top:3px;padding-right:0;position:absolute;text-align:right;opacity:.5;filter:alpha(opacity=50)}.goog-menuitem-highlight .goog-submenu-arrow,.goog-menuitem-hover .goog-submenu-arrow{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;border-left-color:#999;opacity:1.0}.goog-menuitem-disabled .goog-submenu-arrow{color:inherit;opacity:1.0}.docs-material-gm-labeled-select{color:#3c4043;outline:none;width:100%}.docs-material-gm-labeled-select-outer-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%}.docs-material-gm-labeled-select-focused .docs-material-gm-labeled-select-outer-box{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.docs-material-gm-labeled-select-hover .docs-material-gm-labeled-select-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.docs-material-gm-labeled-select-open .docs-material-gm-labeled-select-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-material-gm-select-open.docs-material-gm-select-hover .docs-material-gm-labeled-select-outer-box{background-color:rgba(60,64,67,0.06)}.docs-material-gm-select-open.docs-material-gm-select-focused .docs-material-gm-labeled-select-outer-box{background-color:rgba(60,64,67,0.08)}.docs-material-gm-labeled-select-disabled .docs-material-gm-labeled-select-outer-box{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-material-gm-labeled-select-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-material-gm-labeled-select-content{margin-bottom:8px}.docs-material-gm-labeled-select-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-material-gm-labeled-select-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-material-gm-labeled-select-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px}.docs-material-gm-labeled-select-open .docs-material-gm-labeled-select-dropdown-icon{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-material-gm-labeled-select-label{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.docs-material-gm-select{color:#3c4043;outline:none;width:100%}.docs-material-gm-select-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-material-gm-select-outer-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%}.docs-material-gm-select-outer-box:active{background-color:#fff;border:1px solid transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-material-gm-select-hover .docs-material-gm-select-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.docs-material-gm-select-focused .docs-material-gm-select-outer-box{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.docs-material-gm-select-open .docs-material-gm-select-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-material-gm-select-open.docs-material-gm-select-hover .docs-material-gm-select-outer-box{background-color:rgba(60,64,67,0.06)}.docs-material-gm-select-open.docs-material-gm-select-focused .docs-material-gm-select-outer-box{background-color:rgba(60,64,67,0.08)}.docs-material-gm-select-disabled .docs-material-gm-select-outer-box{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-material-gm-select-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-material-gm-select-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-material-gm-select-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-material-gm-select-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px}.docs-material-gm-select-open .docs-material-gm-select-dropdown-icon{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-material-labeled-select{outline:0;width:100%}.docs-material-labeled-select-outer-box{transition:border-color 300ms ease;border-bottom:1px solid rgba(0,0,0,0.12);cursor:pointer;height:26px;line-height:26px;margin-bottom:1px;width:100%}.docs-material-labeled-select-hover .docs-material-labeled-select-outer-box{border-bottom-color:rgba(0,0,0,0.38)}.docs-material-labeled-select-open .docs-material-labeled-select-outer-box,.docs-material-labeled-select-focused .docs-material-labeled-select-outer-box{border-bottom-width:2px;border-bottom-color:#4285f4;margin-bottom:0px}.docs-material-labeled-select-disabled .docs-material-labeled-select-outer-box{border-bottom:1px dotted rgba(0,0,0,0.12);cursor:default}.docs-material-labeled-select-inner-box{display:flex;justify-content:space-between}.docs-material-labeled-select-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;max-width:100%;overflow:hidden;padding-right:24px;position:relative;text-overflow:ellipsis;white-space:nowrap}.docs-material-labeled-select-disabled .docs-material-labeled-select-caption{color:rgba(0,0,0,0.12)}.docs-material-labeled-select-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-material-labeled-select-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px}.docs-material-labeled-select-hover .docs-material-labeled-select-dropdown-icon,.docs-material-labeled-select-focused .docs-material-labeled-select-dropdown-icon{opacity:0.54}.docs-material-labeled-select-disabled .docs-material-labeled-select-dropdown-icon{opacity:0.12}.docs-material-labeled-select-label{color:#616161;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;line-height:16px}.docs-material-labeled-select-disabled .docs-material-labeled-select-label{opacity:0.12}.docs-material-select{color:rgba(0,0,0,0.87);cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;outline:0;width:100%}.docs-material-select-disabled{color:rgba(0,0,0,0.12);cursor:default}.docs-material-select-outer-box{transition:border-color 300ms ease;border-bottom:1px solid rgba(0,0,0,0.12);height:26px;line-height:26px;margin-bottom:1px;width:100%}.docs-material-select-hover .docs-material-select-outer-box{border-bottom-color:rgba(0,0,0,0.38)}.docs-material-select-focused .docs-material-select-outer-box,.docs-material-select-open .docs-material-select-outer-box{border-bottom-width:2px;border-bottom-color:#4285f4;margin-bottom:0px}.docs-material-select-disabled .docs-material-select-outer-box{border-bottom:1px dotted rgba(0,0,0,0.12)}.docs-material-select-inner-box{position:relative;width:100%}.docs-material-select-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:26px;line-height:26px;max-width:100%;overflow:hidden;padding-right:24px;position:relative;text-overflow:ellipsis;white-space:nowrap}.docs-material-select-dropdown{position:absolute;right:7px;top:10.5px}.docs-material-select-dropdown-icon{transition:opacity 0.3s ease;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjMiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDUsMCAyLjUsMyIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;background-size:contain;height:5px;opacity:0.38;width:9px}.docs-material-select-hover .docs-material-select-dropdown-icon,.docs-material-select-focused .docs-material-select-dropdown-icon{opacity:0.54}.docs-material-select-disabled .docs-material-select-dropdown-icon{opacity:0.12}.docs-material-labeled-text-field{height:40px;line-height:40px;padding-top:5px;position:relative}.docs-material-labeled-text-field-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:border-color 200ms cubic-bezier(0.4,0.0,0.2,1);background:none;border:none;border-bottom:1px solid rgba(0,0,0,0.12);color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;outline:none;overflow:hidden;text-overflow:ellipsis;width:100%}.docs-material-labeled-text-field-hover .docs-material-labeled-text-field-input{border-bottom-color:rgba(0,0,0,0.38)}.docs-material-labeled-text-field-focused .docs-material-labeled-text-field-input{border-bottom:2px solid #4285f4}.docs-material-labeled-text-field-disabled .docs-material-labeled-text-field-input{border-bottom:1px dotted rgba(0,0,0,0.12);color:rgba(0,0,0,0.12);cursor:default}.docs-material-labeled-text-field-label{transition:transform 200ms cubic-bezier(0.4,0.0,1,1);color:#616161;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;line-height:45px;position:absolute;transform-origin:left bottom}.docs-material-labeled-text-field-has-text .docs-material-labeled-text-field-label,.docs-material-labeled-text-field-focused .docs-material-labeled-text-field-label{transform:translateY(-22px) scale(.846,.846)}.docs-material-labeled-text-field-focused .docs-material-labeled-text-field-label{color:#4285f4}.docs-material-labeled-text-field-disabled .docs-material-labeled-text-field-label{opacity:0.12}.docs-material-text-area{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:border-color 250ms cubic-bezier(0.4,0.0,0.2,1);background:none;border:none;border-bottom:1px solid rgba(0,0,0,0.12);color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;outline:none;resize:none;width:100%}.docs-material-text-area:hover{border-bottom-color:rgba(0,0,0,0.38)}.docs-material-text-area:focus{border-bottom:2px solid #4285f4}.docs-material-text-area:disabled{border-bottom:1px dotted rgba(0,0,0,0.12);color:rgba(0,0,0,0.12);cursor:default}.docs-material-text-field-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:border-color 250ms cubic-bezier(0.4,0.0,0.2,1);background:none;border:none;border-bottom:1px solid rgba(0,0,0,0.12);color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;outline:none;overflow:hidden;text-overflow:ellipsis;width:100%}.docs-material-text-field-hover .docs-material-text-field-input{border-bottom-color:rgba(0,0,0,0.38)}.docs-material-text-field-focused .docs-material-text-field-input{border-bottom:2px solid #4285f4}.docs-material-text-field-disabled .docs-material-text-field-input{border-bottom:1px dotted rgba(0,0,0,0.12);color:rgba(0,0,0,0.12);cursor:default}.drive-spinner{height:44px;overflow:hidden;position:relative}.drive-quantum-spinner{height:28px;left:50%;margin-left:-14px;position:absolute;top:8px;width:28px}.docs-analytics-icon{direction:ltr;text-align:left;overflow:hidden;position:relative;vertical-align:middle}.docs-analytics-img:before{content:url(//ssl.gstatic.com/docs/common/menu_feature_sprite7.svg)}.docs-analytics-img{height:4332px;position:absolute;width:72px}.docs-analytics-hc-edge .docs-analytics-icon,.docs-analytics-hc-gecko .docs-analytics-icon{filter:invert(100%)}.docs-analytics-hc-ie .docs-analytics-icon{-ms-high-contrast-adjust:none;background-color:white}.docs-analytics-arrow-downward-18px{left:0;top:-4296px}.docs-analytics-arrow-drop-down-black-18dp{left:-18px;top:-1944px}.docs-analytics-arrow-right-black-18dp{left:-18px;top:-3658px}.docs-analytics-arrow-upward-18px{left:0;top:-640px}.docs-analytics-close-black-24px{left:-24px;top:-452px}.docs-analytics-close-white-24px{left:-48px;top:-452px}.docs-analytics-info-outline-black-24px{left:-42px;top:-1098px}.docs-analytics-group-in-circle-32px{left:-24px;top:-1748px}.docs-analytics-keyboard-arrow-down-18px{left:-50px;top:-1222px}.docs-analytics-keyboard-arrow-up-18px{left:0;top:-2992px}.docs-analytics-document-icon-kix{left:0;top:-2974px}.docs-analytics-document-icon-punch{left:-24px;top:-1098px}.docs-analytics-document-icon-sketchy{left:-50px;top:-3034px}.docs-analytics-document-icon-ritz{left:-36px;top:-4314px}.docs-analytics-email-icon{left:-24px;top:-4146px}.analytics-dialog{border-radius:8px;height:100%;max-height:586px;max-width:880px;min-width:580px;width:100%}.analytics-dialog.analytics-dialog-collapsed{max-width:684px;width:calc(100% - (2*8px))}.analytics-dialog::before{border:1px solid transparent;border-radius:8px;bottom:-1px;content:'';left:-1px;position:absolute;right:-1px;top:-1px}.analytics-dialog-title{display:none}.analytics-vc-content .docs-material-gm-select-caption{padding-left:8px;width:100%}.analytics-vc-content .docs-material-gm-select-dropdown{padding-right:8px}.analytics-vc-content .docs-material-gm-select-outer-box{padding:0}.analytics-vc-content .goog-menu .goog-menuitem-highlight{border:none}.analytics-btn-fill.jfk-button{cursor:pointer;background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.analytics-btn-fill.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.analytics-btn-fill.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.analytics-btn-fill.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.analytics-btn-fill.jfk-button-focused.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.analytics-btn-fill.jfk-button-disabled{cursor:default;background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38}.analytics-btn-hairline.jfk-button{cursor:pointer;background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038}.analytics-btn-hairline.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important}.analytics-btn-hairline.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.analytics-btn-hairline.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important}.analytics-btn-hairline.jfk-button-focused.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.analytics-btn-hairline.jfk-button-disabled{cursor:default;background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38}.analytics-btn-text.jfk-button{cursor:pointer;background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038}.analytics-btn-text.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;color:#188038}.analytics-btn-text.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;color:#188038}.analytics-btn-text.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#188038}.analytics-btn-text.jfk-button-focused.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#188038;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.analytics-btn-text.jfk-button-disabled{cursor:default;background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;color:#3c4043;opacity:0.38}.analytics-cotc{display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;overflow-x:hidden;overflow-y:auto}.analytics-cotc-header{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;flex-direction:row;justify-content:space-between;margin:18px 24px 0 24px;overflow:hidden}.analytics-cotc-legend{-webkit-align-items:center;align-items:center;color:#202124;display:flex;-ms-flex:0 0;-webkit-flex:0 0;flex:0 0;flex-direction:row;font-size:12px;margin:40px 24px 40px 45px;text-align:center}.analytics-cotc-legend-box{display:flex;margin-right:8px}.analytics-cotc-legend span{margin-right:24px}.analytics-ct-table{-webkit-align-items:flex-start;align-items:flex-start;border-collapse:collapse;display:flex;flex-direction:column;padding:20px;white-space:nowrap}.analytics-ct-table-header{display:flex;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.analytics-ct-table-header-container{display:flex;height:11px;width:100%}.analytics-ct-table-date-container{margin:0;position:absolute}.analytics-ct-table-date{font-size:9px;margin-left:-50%}.analytics-ct-table-date-light{opacity:0.6}.analytics-ct-table-container{display:flex;flex:1 1 auto;overflow-y:auto;width:100%}.analytics-ct-table-contributors{border-collapse:collapse;max-height:100%;overflow-y:auto;table-layout:fixed;width:100%}.analytics-ct-contributor-row{align-items:center;border-right:1px solid #e3e3e3}.analytics-ct-contributor-row:last-child .analytics-ct-table-profile{border-bottom:0}.analytics-ct-contributor-row:last-child .analytics-ct-table-activity-cell-div{border-bottom:0}.analytics-ct-table-profile-container{background-color:#f9f9f9;height:38px;padding:0;width:170px}.analytics-ct-table-profile{-webkit-align-items:center;align-items:center;border-bottom:2px solid #fff;display:flex;flex-direction:row;height:100%;padding:3px 5px}.analytics-ct-table-profile .analytics-profile-image{max-height:24px;max-width:24px}.analytics-ct-table-name{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;padding-left:12px}.analytics-ct-table-activity-cell{flex-grow:1;height:38px;padding:0;position:relative}.analytics-ct-table-activity-cell-light-border::before,.analytics-ct-table-activity-cell-dark-border::before,.analytics-ct-table-activity-cell-light-border-disabled::before,.analytics-ct-table-activity-cell-dark-border-disabled::before{content:'';height:100%;position:absolute;left:0;top:0}.analytics-ct-table-activity-cell-light-border::before{border-left:1px solid #eeeeee}.analytics-ct-table-activity-cell-dark-border::before{border-left:1px solid #e0e0e0}.analytics-ct-table-activity-cell-light-border-disabled::before{border-left:1px solid #e0e0e0}.analytics-ct-table-activity-cell-dark-border-disabled::before{border-left:1px solid #dbdbdb}.analytics-ct-table-activity-cell-div{background-color:#f9f9f9;border-bottom:2px solid #fff;height:100%}.analytics-ct-table-activity-cell-div-disabled{background-color:#eeeeee;border-bottom:2px solid #f5f5f5}.analytics-ct-activity-edit-small,.analytics-ct-activity-edit-medium,.analytics-ct-activity-edit-large{height:100%;position:relative}.analytics-ct-activity-edit-small{background-color:#c4d9f2}.analytics-ct-activity-edit-medium{background-color:#87b5ea}.analytics-ct-activity-edit-large{background-color:#4a90e2}.analytics-ct-activity-comment-fg{background-color:#fff;border-radius:50%;height:4px;left:50%;margin-left:-2px;position:absolute;top:17px;width:4px;z-index:2}.analytics-ct-activity-comment-bg{background-color:#3c4043;border-radius:50%;height:8px;left:50%;margin-left:-4px;position:absolute;top:15px;width:8px;z-index:1}.analytics-ct{display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;overflow-x:hidden;overflow-y:auto}.analytics-ct-header{display:flex;flex-direction:row;justify-content:space-between;margin:10px 19px 0}.analytics-ct-header-right{display:flex;flex-direction:row;justify-content:space-around;width:220px}.analytics-ct-header-right .analytics-selector{margin-top:8px;min-width:100px}.analytics-ct-legend{-webkit-align-items:center;align-items:center;-webkit-align-self:flex-end;align-self:flex-end;color:#5f6368;display:flex;-ms-flex:0 0;-webkit-flex:0 0;flex:0 0;flex-direction:row;font-size:12px;margin:0 20px 20px;text-align:center}.analytics-ct-legend-comment,.analytics-ct-legend-edit{display:flex;-webkit-align-items:center;align-items:center}.analytics-ct-legend-comment-disabled{opacity:30%}.analytics-ct-legend-comment-circle{background-color:#fff;border-radius:50%;border:2px solid #3c4043;height:4px;width:4px}.analytics-ct-legend-label{margin-left:4px}.analytics-ct-legend-box{-webkit-align-items:center;align-items:center;display:flex;margin-left:12px}.analytics-ct-legend-edit-bar{height:12px;width:4px}.analytics-drp{align-items:center;display:flex;flex-direction:row;margin-left:16px;max-width:400px}.analytics-drp-left,.analytics-drp-right{border-radius:20px;cursor:pointer;height:auto;padding:8px;right:11px}.analytics-drp-left.jfk-button-hover,.analytics-drp-right.jfk-button-hover{background-color:#f1f3f4}.analytics-drp-left.jfk-button-focused,.analytics-drp-right.jfk-button-focused{background-color:#e8eaed}.analytics-drp-left.jfk-button-disabled,.analytics-drp-right.jfk-button-disabled{opacity:0.6;cursor:default}.analytics-drp-date-range{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px}.analytics-drpd{-webkit-align-items:center;align-items:center;display:flex;height:28px;margin:auto 3px;padding:0}.docs-analytics-hc-ie .analytics-drpd{-ms-high-contrast-adjust:none;background-color:white}.analytics-drpd-icon{border-radius:100%;display:inline-block;height:9px;margin-right:8px;width:9px}.analytics-drpd .docs-material-menu-button-flat-default-dropdown{margin:0}.analytics-drpd.docs-material-menu-button-flat-default-hover{background-color:rgba(0,0,0,0.06)}.analytics-drpd.docs-material-menu-button-flat-default-focused{background-color:rgba(0,0,0,0.12);border-color:transparent}.analytics-drp .goog-menu .goog-menuitem{padding:6px 25px 6px 18px}.analytics-dialog-bg,.analytics-od-bg,.analytics-npd-bg{background:rgba(0,0,0,0.6);left:0;position:absolute;top:0}.analytics-dialog-bg,.analytics-od-bg{z-index:1002}.analytics-dialog,.analytics-od,.analytics-npd{background-color:#fff;border:0;border-radius:8px;box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.14);display:flex;flex-direction:column;outline:0;position:absolute}.analytics-dialog,.analytics-od{z-index:1003}.analytics-dialog-content,.analytics-od-content,.analytics-npd-content{display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:0}.analytics-npd-bg{z-index:1004}.analytics-npd{z-index:1005}.analytics-ec-content{-webkit-align-items:center;align-items:center;display:flex;flex-direction:column;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;width:100%}.analytics-ec-message-container{width:100%}.analytics-ec-message{color:rgba(0,0,0,0.6);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;line-height:24px;padding:16px 128px;text-align:center}.analytics-ec-container{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;width:100%;height:100%}.analytics-vhc-feedbackcard{color:rgba(0,0,0,0.87);font-size:11px;font-style:italic;margin:0}.analytics-vhc-feedbackcard-button,.analytics-vhc-feedbackcard-button:link,.analytics-vhc-feedbackcard-button:visited{color:#4285f4;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-style:italic;height:14px;line-height:14px;margin:0 0 0 2px;text-decoration:none}.analytics-vhfc-card{border-bottom-right-radius:8px;border-top:1px solid #e0e0e0;box-shadow:0 2px 12px 2px rgba(60,64,67,.15);-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-top:auto;z-index:1}.analytics-vhfc-settings-container,.analytics-vhfc-feedback-container,.analytics-vhfc-nudge-container{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row}.analytics-vhfc-settings-container{height:56px;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0 24px}.analytics-vhfc-label{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;margin-right:24px}.analytics-vhfc-label a:link,.analytics-vhfc-label a:visited{color:#4285f4;text-decoration:none}.analytics-vhfc-feedback-container{background-color:#f5f5f5;border-bottom-right-radius:8px;height:32px;padding:0 24px}.analytics-vhfc-feedback-container .analytics-vhc-feedbackcard{color:rgba(0,0,0,0.54);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400}.analytics-vhfc-feedback-container .analytics-vhc-feedbackcard-button{font-size:12px;font-style:normal}.analytics-vhfc-nudge-container{background-color:#fff;border-bottom-right-radius:8px;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;height:56px;padding:0 8px 0 32px}.analytics-vhfc-nudge-buttons{align-items:center;display:flex;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:flex-end;justify-content:flex-end}.analytics-vhfc-nudge-cancel-button.jfk-button,.analytics-vhfc-nudge-continue-button.jfk-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;color:#188038;cursor:pointer;margin:0 8px;padding-left:8px;padding-right:8px;white-space:normal;word-wrap:break-word}.analytics-vhfc-nudge-cancel-button{color:#80868b}.analytics-vhfc-nudge-cancel-button.jfk-button-hover,.analytics-vhfc-nudge-continue-button.jfk-button-hover{background-color:#f8fcf9}.analytics-vhfc-nudge-cancel-button.jfk-button-focused,.analytics-vhfc-nudge-continue-button.jfk-button-focused{background-color:#e7f5eb}.analytics-vhfc-nudge-cancel-button.jfk-button-focused.jfk-button-hover,.analytics-vhfc-nudge-continue-button.jfk-button-focused.jfk-button-hover{background-color:#dff2e4}.analytics-vhfc-nudge-cancel-button.jfk-button-focused.jfk-button-active,.analytics-vhfc-nudge-continue-button.jfk-button-focused.jfk-button-active{background-color:#dff2e4;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}.analytics-vhfc-nudge-label{color:#3c4043;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;max-width:300px}.analytics-vhc-groupcard-root{border-bottom:0;position:relative}.analytics-vhc-groupcard-root::after{border-bottom:1px solid #e0e0e0;bottom:0;content:'';display:block;height:0;left:72px;position:absolute;width:calc(100% - 72px)}.analytics-vhc-groupcard-members .analytics-vhc-groupcard-root::after{left:48px;width:calc(100% - 48px)}.analytics-vhc-rowcard-root:last-child::after{display:none}.analytics-vhc-groupcard-root>.analytics-vhc-rowcard-row{border-bottom:1px solid transparent}.analytics-vhc-groupcard-root>.analytics-vhc-rowcard-row::after{border-bottom:0}.analytics-vhc-groupcard-root>.analytics-vhc-rowcard-row>.jfk-button{cursor:pointer;height:calc(48px - 2px);width:calc(100% - 2px)}.analytics-vhc-groupcard-root>.analytics-vhc-rowcard-row>.jfk-button-disabled{cursor:default}.analytics-vhc-groupcard-groupimg{height:32px;margin:0 16px 0 23px;vertical-align:middle;width:32px}.analytics-vhc-groupcard-message{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;padding:0 0 12px 72px}.analytics-vhc-groupcard-message-warning{color:rgba(0,0,0,0.6);font-style:italic}.analytics-vhc-groupcard-message-error{color:#dd4330}.analytics-vhc-groupcard-members{margin-left:72px}.analytics-vhc-groupcard-members .analytics-vhc-groupcard-members{margin-left:48px}.analytics-vhc-groupcard-members .analytics-vhc-groupcard-message{padding-left:48px}.analytics-vhc-groupcard-members .analytics-vhc-viewcardlist{border-top:0}.analytics-vhc-groupcard-members .analytics-vhc-viewcardlist>div:last-child,.analytics-vhc-groupcard-members .analytics-vhc-viewcardlist>.analytics-vhc-viewercard-root:last-child>.analytics-vhc-rowcard-row{border-bottom:0}.analytics-vhc-groupcard-members .analytics-vhc-rowcard-profile .analytics-profile-image,.analytics-vhc-groupcard-members .analytics-vhc-rowcard-profile .analytics-vhc-groupcard-groupimg{margin-left:0}.analytics-vhc-groupcard-root>.analytics-vhc-rowcard-row .analytics-vhc-rowcard-profile{border:0;box-shadow:none;font-weight:400;margin:0;min-width:0;padding:0}.analytics-vhc-groupcard-expand-icon{margin-top:-2px}.analytics-vhc-groupcard-contracted .analytics-vhc-groupcard-expand-icon{margin-left:-7px;margin-right:6px}.analytics-vhc-groupcard-expanded .analytics-vhc-groupcard-expand-icon{margin-left:-4px;margin-right:3px}.analytics-vhc-groupcard-expanded>.analytics-vhc-rowcard-row .analytics-vhc-rowcard-time{visibility:hidden}.analytics-vhc-groupcard-expanded>.analytics-vhc-rowcard-row .analytics-vhc-rowcard-tooltip-icon{visibility:hidden}.analytics-lmec-link,.analytics-lmec-link:active,.analytics-lmec-link:hover,.analytics-lmec-link:link,.analytics-lmec-link:visited{color:#4285f4;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;text-decoration:none}.analytics-vhc-listsortbutton{-webkit-align-items:center;align-items:center;cursor:pointer;display:flex;flex-direction:row;margin:auto 24px auto 24px}.analytics-vhc-listsortbutton-mouse-focus{outline:0}.analytics-vhc-listsortbutton:last-child{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:auto -10px auto 0;width:107px}.analytics-vhc-checkboxes-visible .analytics-vhc-listsortbutton:last-child{margin:auto 72px auto 0;width:107px}.analytics-vhc-listsortbutton-name{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:0 8px 0 0}.analytics-vhc-listsortbutton-arrow{height:18px;width:18px}.analytics-vhc-listsortbutton-uwsa .analytics-vhc-listsortbutton-arrow,.analytics-vhc-listsortbutton-uwsd .analytics-vhc-listsortbutton-arrow{visibility:hidden}.analytics-vhc-listsortbutton-ascending .analytics-vhc-listsortbutton-arrow,.analytics-vhc-listsortbutton-descending .analytics-vhc-listsortbutton-arrow{opacity:0.87}.analytics-low-data-treatment-title{color:#25272b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:28px;padding:0 48px 8px 48px}.analytics-low-data-treatment-description{color:#414549;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;padding:0 48px 16px 48px}.analytics-dialog .analytics-low-data-treatment-sharebutton .docs-icon{margin-top:0;margin-bottom:0;margin-right:3px}.analytics-low-data-treatment-sharebutton.jfk-button{align-items:center;align-self:center;display:flex;flex-direction:row;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:center;justify-content:center;margin:0;padding-bottom:9px!important;padding-left:12px!important;padding-right:16px!important}.analytics-nc-container{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:0}.analytics-nc-navigationarea{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:0}.analytics-nc-tabbar{background-color:#fff;border-bottom-left-radius:8px;border-right:1px solid #e0e0e0;position:relative;width:256px;z-index:2}.analytics-nc-tabbar-collapsed{width:64px}.analytics-nc-content{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:0;overflow-x:hidden;width:623px}.analytics-nc-navigationbar{background-color:#fff;border-bottom:1px solid #e0e0e0;border-top-left-radius:8px;border-top-right-radius:8px;z-index:2}.analytics-npd{border-radius:8px;width:490px}.analytics-npd::before{border:1px solid transparent;border-radius:8px;bottom:-1px;content:'';left:-1px;position:absolute;right:-1px;top:-1px}.analytics-npd-title{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;margin:24px 24px 0 24px}.analytics-npd-paragraph{color:rgba(0,0,0,0.6);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;margin:24px 24px 0 24px}.analytics-npd-buttons{display:flex;flex-direction:row;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:flex-end;justify-content:flex-end;margin:40px 0 24px 24px}.analytics-npd-cancelbutton{margin:0 8px}.analytics-npd-continuebutton{margin:0 24px 0 8px}.analytics-ntb-container .goog-tab-bar{background-color:#fff;margin-top:20px;width:100%}.analytics-ntb-container .goog-tab{-webkit-align-items:center;align-items:center;background-color:#fff!important;border:0;border-top-right-radius:20px;border-bottom-right-radius:20px;color:#3c4043;cursor:pointer;display:flex;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;height:44px;margin:0 10px 0 0!important;padding:0!important;text-decoration:none}.analytics-nc-tabbar-collapsed .analytics-ntb-container .goog-tab{border-radius:22px;margin:0 10px!important}.analytics-ntb-container .goog-tab.goog-tab-hover{background-color:#f1f3f4!important}.analytics-ntb-container .goog-tab.goog-tab-selected{background-color:#e6f4ea!important;color:#188038;left:0}.analytics-ntb-container .goog-tab.goog-tab-selected::before,.analytics-ntb-container .goog-tab-hover::before{border-bottom:1px solid transparent;border-right:1px solid transparent;border-top:1px solid transparent;border-top-right-radius:20px;border-bottom-right-radius:20px;bottom:-1px;content:'';left:0;position:absolute;right:-1px;top:-1px;z-index:1}.analytics-ntb-container .goog-tab.goog-tab-selected.goog-tab-hover{background-color:#ceead6!important}.analytics-ntb-tab-icon{height:24px;margin:0 16px 0 24px;width:24px}.analytics-nc-tabbar-collapsed .analytics-ntb-tab-icon{margin:0 10px}.analytics-ntb-tab-text{max-width:180px}.analytics-ntb-tab-content{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.analytics-nsc,.analytics-nsc-content{color:#202124;display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;overflow-x:hidden;overflow-y:auto}.analytics-nsc-content{margin:24px 32px 0 32px}.analytics-nsc-offline,.analytics-nsc-save-failed{-webkit-align-items:center;align-items:center;background-color:#eeeeee;border-bottom:1px solid #e0e0e0;color:#dd4330;display:flex;flex-direction:row;font-size:13px;height:48px;padding:0 24px 0 24px}.analytics-nsc-heading,.analytics-nsc-subheading{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;line-height:26px;margin:0 0 16px 0}.analytics-nsc-heading{font-size:18px}.analytics-nsc-subheading{font-size:14px}.analytics-nsc-edit-digest-section{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;font-size:14px;height:48px;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.analytics-nsc-edit-digest-select{min-width:240px;width:auto}.analytics-nsc-edit-section,.analytics-nsc-form-section{margin-bottom:16px}.analytics-nsc-switches{display:flex;flex-direction:row}.analytics-nsc-switches .docs-material-gm-labeled-checkbox,.analytics-nsc-switches .docs-material-gm-labeled-checkbox-label{cursor:pointer}.analytics-nsc-switch{margin-right:32px}.analytics-nsc-footer{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;height:80px;box-pack:end;-ms-flex-pack:end;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin:0 32px}.analytics-nsc-cancel-button{margin-right:16px}.analytics-nvtt-content{display:flex;flex-direction:row;padding:9px 7px}.analytics-nvtt-text{color:#fff}.analytics-nvtt-learnmore,.analytics-nvtt-learnmore:visited,.analytics-nvtt-learnmore:link,.analytics-nvtt-learnmore:hover{color:#7baaf7;margin-left:14px;text-decoration:none}.analytics-ndch{-webkit-align-items:center;align-items:center;background-color:#fff;border:1px solid #dadce0;box-sizing:border-box;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;display:flex;flex-direction:row;height:24px;margin:0 8px 4px 0}.analytics-ndch-viewer-icon,.analytics-ndch-group-icon{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;height:20px;margin-left:1px;overflow:hidden;width:20px}.analytics-ndch-text{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;padding-left:8px}.analytics-ndch-remove-button{-webkit-align-items:center;align-items:center;cursor:pointer;display:flex;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:0 4px 0 3px}.analytics-ndch-remove-button .docs-analytics-icon{opacity:0.87}.analytics-ndch:only-child .analytics-ndch-remove-button{display:none}.analytics-ndch:only-child .analytics-ndch-text{padding-right:8px}.analytics-ndc,.analytics-ndc-body{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.analytics-ndc-body{display:flex;flex-direction:column;overflow-y:auto;padding:32px 32px 0 32px}.analytics-ndc-send-email-title{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:18px;margin-bottom:16px}.analytics-ndc-chip-title{color:rgba(0,0,0,0.54);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;margin-bottom:8px}.analytics-ndc-chip-container{display:flex;flex-direction:row;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;max-height:71px;min-height:28px;overflow-y:auto}.analytics-ndc-subject-container{height:36px;margin-top:20px}.analytics-ndc-subject-container input::-ms-clear{display:none}.analytics-ndc-subject-container .docs-material-labeled-text-field{background-color:#fff;border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;height:initial;line-height:initial;padding:0}.analytics-ndc-subject-container .docs-material-labeled-text-field-hover{border:1px solid #bdc1c6;box-sizing:border-box}.analytics-ndc-subject-container .docs-material-labeled-text-field-focused{border:2px solid #1a73e8;box-sizing:border-box;margin:-1px 0 0 -1px}.analytics-ndc-subject-container .docs-material-labeled-text-field-content{padding:0 7px}.analytics-ndc-subject-container .docs-material-labeled-text-field-input{padding:0 8px}.analytics-ndc-subject-container .docs-material-labeled-text-field-input{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;height:100%;line-height:normal;padding:9px}.analytics-ndc-subject-container .docs-material-labeled-text-field-label{background-color:#fff;color:#5f6368;font-size:12px;line-height:13px;padding:0 3px;transform:translateY(-7px) scale(1,1)}.analytics-ndc-subject-container .docs-material-labeled-text-field:not(.docs-material-labeled-text-field-focused) .docs-material-labeled-text-field-input{border-bottom-color:transparent}.analytics-ndc-subject-container .docs-material-labeled-text-field-input{border-bottom:0}.analytics-ndc-message-container{background-color:#fff;margin-top:16px;max-height:108px}.analytics-ndc-message-container .docs-material-text-area{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;max-height:108px;min-height:108px;overflow-y:auto!important;padding:7px 9px}.analytics-ndc-message-container .docs-material-text-area:hover{border:1px solid #bdc1c6;box-sizing:border-box}.analytics-ndc-message-container .docs-material-text-area:focus{border:2px solid #1a73e8;box-sizing:border-box;margin:-1px 0 0 -1px}.analytics-ndc-document-info-container{-webkit-align-items:center;align-items:center;background-color:#fff;display:flex;-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;flex-direction:row;margin-top:16px;max-width:100%;outline:none}.analytics-ndc-document-info{-webkit-align-items:center;align-items:center;border-radius:100px;display:flex;flex-direction:row}.analytics-ndc-document-icon-container{outline:none;margin:0 0 0 4px}.analytics-ndc-document-title{color:rgb(60,64,67);display:block;flex-direction:column;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:16px;overflow:hidden;padding:0 8px;text-overflow:ellipsis;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;max-height:45px}.analytics-ndc-document-title a{color:#4285f4!important}.analytics-ndc-send-to-myself-container{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:flex-start;justify-content:flex-start;margin-left:-1px;margin-top:12px}.analytics-ndc-send-to-myself-container .docs-material-gm-labeled-checkbox{cursor:pointer}.analytics-ndc-send-to-myself-container .docs-material-gm-labeled-checkbox-label{color:#5f6368;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400}.analytics-ndc-buttons{-webkit-align-items:start;align-items:start;bottom:0;display:flex;flex-direction:row;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:flex-end;justify-content:flex-end;min-height:60px;width:100%}.analytics-ndc-cancel-button{margin:0 8px}.analytics-ndc-send-email-button{margin:0 32px 0 8px}.analytics-ndc-chip-button{-webkit-align-items:center;align-items:center;border:1px solid #dadce0;border-radius:100px;cursor:pointer;display:flex;line-height:normal;margin-right:0;padding:8px}.analytics-ndc-chip-button.jfk-button-focused{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0!important}.analytics-ndc-chip-button.jfk-button-hover{background-color:rgba(60,64,67,0.04)}.analytics-ndc-chip-button.jfk-button-hover.jfk-button-focused{background-color:rgba(60,64,67,0.06)}.analytics-ndc-chip-button.jfk-button-active{background-color:rgba(60,64,67,0.06);box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.analytics-ndc-toast.docs-ui-toast{border:1px inset;border-color:rgba(255,255,255,0.2) rgba(255,255,255,0.1) rgba(255,255,255,0) rgba(255,255,255,0);box-shadow:0 6px 6px rgba(0,0,0,0.15);padding:14px 24px;z-index:1003}.analytics-ndc-toast.docs-ui-toast .docs-ui-toast-content{color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400}.analytics-vhc-nudgeselectdropdown-container .analytics-ndsd{-webkit-align-items:center;align-items:center;display:flex;margin:auto 0;padding-left:2px;visibility:hidden}.analytics-vhc-nudgeselectdropdown-container .goog-menu{position:fixed}.analytics-vhc-checkboxes-visible .analytics-ndsd{visibility:visible}.docs-analytics-hc-ie .analytics-ndsd{-ms-high-contrast-adjust:none;background-color:white}.analytics-ndsd-icon-container{height:24px;opacity:0.56;width:24px}.analytics-od{width:384px}.analytics-od,.analytics-od-content{border-radius:8px}.analytics-od-title{display:none}.analytics-od-picture{border-top-left-radius:8px;border-top-right-radius:8px;height:216px}.analytics-od-header{color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:18px;font-weight:500;margin:26px 24px 18px 24px}.analytics-od-body{color:rgba(0,0,0,0.7);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;margin:0 24px 0 24px}.analytics-od-paragraph{line-height:20px;margin:0 0 18px 0}.analytics-od-learnmorebutton,.analytics-od-learnmorebutton:active,.analytics-od-learnmorebutton:hover,.analytics-od-learnmorebutton:link,.analytics-od-learnmorebutton:visited{align-self:left;color:#4285f4;cursor:pointer;text-decoration:none}.analytics-od-settingsbutton,.analytics-od-settingsbutton:focus,.analytics-od-settingsbutton:hover,.analytics-od-okbutton,.analytics-od-okbutton:focus,.analytics-od-okbutton:hover{margin:4px;white-space:normal}.analytics-od-buttons{display:flex;flex-direction:row;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:center;justify-content:center;margin:18px 24px 24px 24px}.analytics-od-okbutton{min-width:155px;width:auto;width:unset}.analytics-profile-image{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;height:32px;max-height:36px;max-width:36px;width:32px}.analytics-rec-buttons{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;height:48px}.analytics-vhc-rowcard-root{width:100%}.analytics-vhc-rowcard-row,.analytics-vhc-rowcard-row-button{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;height:48px;text-align:left;width:100%}.analytics-vhc-rowcard-row{position:relative}.analytics-vhc-rowcard-row::after{border-bottom:1px solid #e0e0e0;bottom:0;content:'';display:block;height:0;left:72px;position:absolute;width:calc(100% - 72px)}.analytics-vhc-groupcard-members .analytics-vhc-rowcard-row::after{left:48px;width:calc(100% - 48px)}.analytics-vhc-rowcard-root:last-child>.analytics-vhc-rowcard-row::after{display:none}.analytics-vhc-rowcard-profile{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.analytics-vhc-rowcard-name{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin-right:24px;white-space:normal}.analytics-vhc-rowcard-time{color:#202124;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;margin-right:36px;width:110px}.analytics-vhc-rowcard-row-button>.analytics-vhc-rowcard-time{width:108px}.analytics-vhc-rowcard-time-container{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row}.analytics-vhc-rowcard-timenever .analytics-vhc-rowcard-time{font-style:italic}.analytics-vhc-rowcard-timeabsent .analytics-vhc-rowcard-time,.analytics-vhc-rowcard-iconabsent .analytics-vhc-rowcard-tooltip-icon{visibility:hidden}.analytics-vhc-rowcard-tooltip-icon{opacity:0.56;padding:5px 0 5px 0}.analytics-vhc-rowcard-checkbox-container{display:none;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.analytics-vhc-checkboxes-visible .analytics-vhc-rowcard-checkboxvisible .analytics-vhc-rowcard-checkbox-container,.analytics-vhc-checkboxes-visible .analytics-vhc-rowcard-checkboxinvisible .analytics-vhc-rowcard-checkbox-container{display:inherit;margin:7px 32px 7px 30px;padding:1px}.analytics-vhc-rowcard-checkboxinvisible .analytics-vhc-rowcard-checkbox-container{visibility:hidden}.analytics-vhc-rowcard-spacing{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.analytics-selector{height:30px;min-width:140px}.docs-analytics-hc-ie .analytics-selector .docs-material-select-dropdown{-ms-high-contrast-adjust:none;background-color:white}.analytics-selector-menu.goog-menu .goog-menuitem{font-size:14px;padding-right:30px}.analytics-sc,.analytics-sc-settings{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.analytics-sc-settings{overflow-y:auto}.analytics-sc-settings-loading{visibility:hidden}.analytics-sc-disabled-by-admin-explanation,.analytics-sc-view-visibility-explanation{color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:18px;margin:24px 24px 0 24px;padding:0 100px 0 0}.analytics-sc-view-visibility-explanation{border-bottom:1px solid rgba(0,0,0,0.4);padding-bottom:24px}.analytics-sc-disabled-by-admin-explanation-link,.analytics-sc-disabled-by-admin-explanation-link:active,.analytics-sc-disabled-by-admin-explanation-link:hover,.analytics-sc-disabled-by-admin-explanation-link:link,.analytics-sc-disabled-by-admin-explanation-link:visited{color:#4285f4;cursor:pointer;text-decoration:none}.analytics-sc-account-setting,.analytics-sc-document-setting{margin:0 0 0 32px;padding:24px 0}.analytics-sc-document-setting{border-top:1px solid #e0e0e0}.analytics-sc-account-itemlabel,.analytics-sc-document-itemlabel{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:18px;line-height:24px}.analytics-sc-section-label{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px}.analytics-sc-section{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin:16px 32px 0 0}.analytics-sc .analytics-sc-account-show-setting-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;color:#188038;cursor:pointer;margin-right:0;max-width:200px;white-space:normal;word-wrap:break-word}.analytics-sc-account-show-setting-button.jfk-button-hover{background-color:#f8fcf9}.analytics-sc-account-show-setting-button.jfk-button-focused{background-color:#e7f5eb}.analytics-sc-account-show-setting-button.jfk-button-focused.jfk-button-hover{background-color:#dff2e4}.analytics-sc-account-show-setting-button.jfk-button-focused.jfk-button-active{background-color:#dff2e4;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}.analytics-sc-account-switch,.analytics-sc-document-switch{margin-left:5px}.analytics-sc-account-explanation,.analytics-sc-document-explanation{color:#25272b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:20px;margin:11px 110px 0 0;width:auto}.analytics-sc-account-explanation a:link,.analytics-sc-account-explanation a:visited{color:#4285f4;text-decoration:none}.analytics-sc-buttons{-webkit-align-items:center;align-items:center;bottom:0;display:flex;flex-direction:row;height:84px;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:flex-end;justify-content:flex-end;width:100%}.analytics-sc-cancel-button{margin:0 8px}.analytics-sc-done-button,.analytics-sc-save-button{margin:0 32px 0 8px}.analytics-sc-section .apps-ui-material-slide-toggle-container{cursor:pointer;margin-right:2px}.analytics-sc-section .apps-ui-material-slide-toggle-container.apps-ui-material-slide-toggle-container-disabled{cursor:default}.analytics-sc-section .apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-track{background-color:#ceead6;opacity:1}.analytics-sc-section .apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-thumb{background-color:#188038}.analytics-sc-section .apps-ui-material-slide-toggle-container-checked.apps-ui-material-slide-toggle-container-disabled .apps-ui-material-slide-toggle-track{opacity:0.07}.analytics-sc-section .apps-ui-material-slide-toggle-container-checked.apps-ui-material-slide-toggle-container-disabled .apps-ui-material-slide-toggle-thumb{opacity:0.26}.analytics-sc-section .apps-ui-material-slide-toggle-thumb{opacity:1.0}.analytics-sc-section .apps-ui-material-slide-toggle-container-focused .apps-ui-material-slide-toggle-thumb{box-shadow:0 0 6px rgba(0,0,0,.16),0 6px 12px rgba(0,0,0,.32);opacity:1.0}.analytics-sc-section .apps-ui-material-slide-toggle-container-hover .apps-ui-material-slide-toggle-thumb{opacity:1.0}.analytics-sc .analytics-ec-container{margin-bottom:72px;margin-top:56px}.analytics-sfc-card{-webkit-align-items:center;align-items:center;background-color:#eeeeee;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:row;height:48px}.analytics-sfc-label{color:#dd4330;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;margin:0 24px 0 24px}.analytics-sic{background-color:#fff;box-shadow:0 1px 0 0 #dadce0;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.analytics-sic-content{-webkit-align-items:center;align-items:center;color:#414549;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:flex-start;justify-content:flex-start;line-height:18px;margin:10px 0;min-height:38px}.analytics-sic-icon{height:20px;margin:0 10px 0 30px;min-width:20px;width:20px}.analytics-sic-text{margin-right:32px}.analytics-shc{overflow:hidden}.analytics-shc .activity-deck{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;min-height:0;position:relative}.analytics-shc .activity-deck-events-view,.analytics-shc .activity-deck-empty-view{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;height:auto;min-height:0;overflow:hidden;width:100%}.analytics-shc .activity-deck-empty-view{-webkit-align-items:center;align-items:center;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.analytics-shc .activity-list{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;height:auto;width:100%}.analytics-shc .activity-event-target-list{display:none}.analytics-shc .activity-event-header{-webkit-align-items:center;align-items:center;display:flex;height:40px}.analytics-shc .activity-event-scopes-list{margin-top:0;padding-left:72px}.analytics-shc .activity-event>div:first-child{padding-bottom:0}.analytics-shc .activity-event-scopes-container{padding:8px 0}.analytics-shc .activity-event-scope-change-detail{padding-top:8px}.analytics-shc .activity-event-scope-change-detail.activity-event-scope-change-detail-first{padding-top:2px}.analytics-ssc{-webkit-align-items:center;align-items:center;border-bottom:1px solid #e0e0e0;color:#5f6368;display:flex;flex-direction:row;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;justify-content:space-between;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;overflow:hidden;padding:8px 12px 8px 16px}.analytics-ssc-summary{margin-right:12px}.analytics-ssc-manage-settings-button.analytics-btn-text.jfk-button{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;font-size:13px}.analytics-ssc-summary{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row}.analytics-ssc-icon{margin-right:8px}.analytics-trc{-webkit-align-items:center;align-items:center;color:rgba(0,0,0,0.87);display:flex;-ms-flex:none;-webkit-flex:none;flex:none;flex-direction:row;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;margin:24px 24px 18px 24px}.analytics-tb-container{-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;height:72px;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.analytics-tb-title-text{color:rgba(0,0,0,0.87);font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;margin:0 0 0 24px}.analytics-tb-close{border:0!important;border-radius:20px;cursor:pointer;display:inline-flex;height:auto;margin:0;opacity:0.54;padding:8px;position:absolute;right:11px;top:16px;z-index:2}.analytics-tb-close.jfk-button-hover{background-color:#f1f3f4;border:0}.analytics-tb-close.jfk-button-focused{background-color:#e8eaed;border:0}.analytics-ttmw{line-height:13px}.analytics-tt-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500}.analytics-appbar-tt-content{line-height:15px;max-width:320px;padding:0;word-break:normal}.analytics-tpec-total-unique-viewers,.analytics-tpec-explanation{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;padding:0 128px}.analytics-tpec-total-unique-viewers{color:#212121;font-size:16px;line-height:24px;padding-bottom:8px}.analytics-tpec-explanation{color:#757575;font-size:13px}.analytics-tpec-container{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;min-height:132px;text-align:center;width:100%}.analytics-tpec-heading{color:#25272b;font-size:28px;height:36px}.analytics-tpec-paragraph{color:#414549;font-size:16px;margin:8px 0 16px 0;width:400px}.analytics-tpec-viewer-trend-button.jfk-button{-webkit-align-items:center;align-items:center;font-weight:500}.analytics-tc{-webkit-align-items:center;align-items:center;color:rgba(0,0,0,0.87);display:flex;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;flex-direction:row;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;min-height:30px}.analytics-tc-message{display:inline}.analytics-tc-comments-count{display:inline;font-weight:500}.analytics-tc-tooltip-icon{margin:0 24px 0 6px;opacity:0.56}.analytics-tuvc{-webkit-align-items:center;align-items:center;color:rgba(0,0,0,0.87);display:flex;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;flex-direction:row;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;min-height:30px}.analytics-tuvc-message{display:inline}.analytics-tuvc-viewers-count{display:inline;font-weight:500}.analytics-tuvc-tooltip-icon{margin:0 24px 0 6px;opacity:0.56}.analytics-tcc,.analytics-tcc-chart-container,.analytics-tcc-chart{display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:120px;overflow:hidden}.analytics-tcc-chart .google-visualization-tooltip{pointer-events:none}.analytics-tcc-data-table{position:absolute;overflow:hidden;height:1px;left:-10000px;top:auto;width:1px}.analytics-trend-sparkline-graph{-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;height:60px;position:relative}.analytics-trend-sparkline-chart{height:32px;left:24px;position:absolute;right:24px;top:8px;z-index:3}.analytics-trend-sparkline-chart.analytics-trend-sparkline-dragging{cursor:col-resize}.analytics-trend-sparkline-slider{left:14.5px;position:absolute;right:14.5px;top:8px;z-index:4}.analytics-trend-sparkline-left-bg,.analytics-trend-sparkline-right-bg{border-color:#979797;border-width:1px;position:absolute;bottom:20px;top:8px;background-color:#efefef;z-index:1}.analytics-trend-previous-active-bg{z-index:2}.analytics-trend-bg-selected.analytics-trend-sparkline-left-bg,.analytics-trend-bg-selected.analytics-trend-sparkline-right-bg{border-color:#185abc;border-width:2px}.analytics-trend-sparkline-left-bg{border-style:none dashed none none;left:24px}.analytics-trend-sparkline-right-bg{border-style:none none none dashed;right:24px}.analytics-trend-bg-selected.analytics-trend-sparkline-left-bg{left:23.5px}.analytics-trend-bg-selected.analytics-trend-sparkline-right-bg{right:23.5px}.analytics-slider-thumbimpl{background-color:transparent;cursor:col-resize;height:32px;width:20px}.analytics-trend-sparkline-graph .analytics-twothumbslider{height:32px}.analytics-twothumbslider:focus,.analytics-twothumbslider .goog-twothumbslider-value-thumb:focus,.analytics-twothumbslider .goog-twothumbslider-extent-thumb:focus{outline:none}.analytics-twothumbslider.goog-slider-dragging{cursor:col-resize}.analytics-trend-sparkline-graph .analytics-twothumbslider .goog-twothumbslider-rangehighlight{height:0}.analytics-trend-sparkline-graph .analytics-twothumbslider .goog-twothumbslider-value-thumb,.analytics-trend-sparkline-graph .analytics-twothumbslider .goog-twothumbslider-extent-thumb{height:32px;position:absolute;width:20px;z-index:1}.analytics-trend-sparkline-graph .analytics-twothumbslider .analytics-previous-active-thumb{z-index:2}.analytics-tst{background-color:#8f8f8f;border:0;border-radius:2px;height:10px;padding:4px 5px;position:absolute}.analytics-tst-content{color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:9px;font-weight:400;white-space:nowrap}.analytics-tst-arrow{position:absolute}.analytics-tst-arrowup{top:-5px}.analytics-tst-arrowimplbefore,.analytics-tst-arrowimplafter{display:block;height:0;position:absolute;width:0}.analytics-tst-arrowimplbefore{border:5px solid;border-color:#8f8f8f transparent;border-top-width:0;left:-5px}.analytics-tst-arrowimplafter{border:4px solid;border-color:#8f8f8f transparent;border-top-width:0;left:-4px;top:1px}.analytics-vhc-viewcardlist{width:100%}.analytics-vhc-viewcardlist-scrollable{overflow-y:auto}.analytics-vc-root,.analytics-vc-content,.analytics-vc-low-data-content{display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:1px;position:relative;z-index:1}.analytics-vc-spinner .docs-quantum-spinner{left:0;margin-left:0}.analytics-vc-spinner .docs-spinner{height:28px}.analytics-vc-spinner{height:28px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:28px}.analytics-lowdatatreatment{display:flex;flex-direction:column;text-align:center;width:100%}.analytics-vc-low-data-content{align-items:center;justify-content:center}.analytics-vhc-rowcard-root .analytics-profile-image{margin:0 16px 0 24px;vertical-align:middle}.analytics-votc{display:flex;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;margin-bottom:24px;overflow-x:hidden;overflow-y:auto}.analytics-votc-header{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:0 0 auto;-webkit-flex:0 0 auto;flex:0 0 auto;flex-direction:row;justify-content:space-between;margin:18px 24px 0 24px;overflow:hidden}.analytics-votc-threshold-legend{-webkit-align-items:center;align-items:center;color:#25272b;display:flex;flex-direction:row;font-size:12px;margin:16px 24px 0 45px;text-align:center}.analytics-votc-threshold-legend-box{border-top:1px solid #669df6;height:1px;margin-right:12px;width:20px}.analytics-votc-threshold-tooltip-icon{margin-left:8px;opacity:0.56}.analytics-vhc-container{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:0}.analytics-vhc-viewhistory{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;min-height:0}.analytics-vhc-button-container{-webkit-align-items:flex-start;align-items:flex-start;display:flex;flex-direction:row;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;height:58px;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.analytics-vhc-listsortbutton-container{display:flex;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;box-pack:justify;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-top:28px}.analytics-vhc-nudgeselectdropdown-container{-webkit-align-items:center;align-items:center;display:flex;margin-right:13px;margin-top:22px;width:60px}.analytics-vhc-nudgeselectdropdown-container .goog-menuitem{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.analytics-vhc-nudgeselectdropdown-container .goog-menuitem.goog-menuitem-highlight{padding-bottom:6px;padding-top:6px}.analytics-vhc-tabbarholder{border-bottom:1px solid #e0e0e0;box-shadow:0 2px 12px 2px rgba(60,64,67,.15)}.analytics-vhc-tabbarholder .docs-tabbar{background-color:#fff;max-width:100%}.analytics-vhc-tabbarholder .docs-tabbar-tab{border-bottom:4px solid transparent;border-top:4px solid transparent}.analytics-vhc-tabbarholder .docs-tabbar-tab-selected{border-bottom:4px solid #2196f3}.analytics-vhc-tabbarholder .docs-tabbar-focused .docs-tabbar-tab-selected{background:#fff}.analytics-vhc-tabbarholder .docs-tabbar-mouseactive .docs-tabbar-tab{background:transparent}.analytics-vhc-tabbarholder .docs-tabbar .docs-tabbar-tab-active{background:transparent}.analytics-vhc-tabbarholder .docs-tabbar-tablabel{color:rgba(0,0,0,0.54);font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500}.analytics-vhc-tabbarholder .docs-tabbar-tab-selected .docs-tabbar-tablabel{color:rgba(0,0,0,0.87)}.analytics-vhc-tabbarholder .docs-tabbar .docs-tabbar-tab{align-items:flex-end;height:48px;padding:0 16px;position:relative;max-width:300px;border:0}.analytics-vhc-tabbarholder .docs-tabbar .docs-tabbar-tab:first-child{margin-left:8px}.analytics-vhc-tabbarholder .docs-tabbar-tab .docs-tabbar-tablabel{color:#5f6368;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:none;margin-bottom:8px;text-transform:none}.analytics-vhc-tabbarholder .docs-tabbar-tab-hover .docs-tabbar-tablabel{color:#3c4043}.analytics-vhc-tabbarholder .docs-tabbar-focused .docs-tabbar-tab-hover .docs-tabbar-tablabel{color:#202124}.analytics-vhc-tabbarholder .docs-tabbar-mouseactive .docs-tabbar-tab-hover .docs-tabbar-tablabel{color:#188038}.analytics-vhc-tabbarholder .docs-tabbar-tab-selected .docs-tabbar-tablabel{color:#188038}.analytics-vhc-tabbarholder .docs-tabbar-tab-selected.docs-tabbar-tab-hover .docs-tabbar-tablabel{color:#188038}.analytics-vhc-tabbarholder .docs-tabbar-focused .docs-tabbar-tab-selected.docs-tabbar-tab-hover .docs-tabbar-tablabel{color:#137333}.analytics-vhc-tabbarholder .docs-tabbar-mouseactive .docs-tabbar-tab-selected.docs-tabbar-tab-hover .docs-tabbar-tablabel{color:#137333}.analytics-vhc-tabbarholder .docs-tabbar-tab-selected::before{border-bottom:3px solid #188038;border-radius:3px 3px 0 0;bottom:0;content:'';display:block;height:0;left:12px;position:absolute;width:calc(100% + -24px)}.analytics-vhc-tabbarholder .docs-tabbar-tab-selected.docs-tabbar-tab-hover::before{border-bottom-color:#188038}.analytics-vhc-tabbarholder .docs-tabbar-focused .docs-tabbar-tab-selected.docs-tabbar-tab-hover::before{border-bottom-color:#137333}.analytics-vhc-tabbarholder .docs-tabbar .docs-tabbar-tab-active{background:transparent}.analytics-vhc-tabbarholder .analytics-vhc .analytics-vc-spinner{top:325px}.analytics-vhc-tablabel-domain-name{font-weight:400;text-transform:none}.driveLockingUnlockcontent-text{color:#616161;display:block;font-family:Roboto,Arial,sans-serif;font-size:1rem;font-weight:400;letter-spacing:0.00625em;line-height:1.5rem}.driveLockingUnlockdetails-link{margin-left:4px}#docs-approvals-toast-unlock{cursor:pointer}#docs-approvals-toast-unlock.jfk-button-disabled{display:none}.docs-blameview{display:block;background:#ffffff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;outline:none;overflow:hidden;width:240px}.docs-blameview-title-container{align-items:center;background:#f8f8f8;display:flex;flex-direction:row;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;justify-content:space-between}.docs-blameview-title{display:block;background:#f8f8f8;color:#3c4043;font-weight:500;font-size:14px;padding:16px;white-space:nowrap}.docs-blameview-nav-container{margin:2px 8px 0 8px}.docs-blameview-previous-edit-button,.docs-blameview-next-edit-button{cursor:pointer;background:transparent;border-radius:2px;height:24px;outline:none}.docs-blameview-nav-container .docs-blameview-previous-edit-button .docs-blameview-button-icon .docs-icon-img:before,.docs-blameview-nav-container .docs-blameview-next-edit-button .docs-blameview-button-icon .docs-icon-img:before,.docs-blameview-nav-container .docs-blameview-previous-edit-button .docs-blameview-button-icon .docs-icon-img,.docs-blameview-nav-container .docs-blameview-next-edit-button .docs-blameview-button-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-blameview-previous-edit-button.jfk-button-hover,.docs-blameview-next-edit-button.jfk-button-hover,.docs-blameview-previous-edit-button.jfk-button-focused,.docs-blameview-next-edit-button.jfk-button-focused{cursor:pointer;background:#f1f3f4;border-color:transparent}.docs-blameview-previous-edit-button.jfk-button-active,.docs-blameview-next-edit-button.jfk-button-active{cursor:pointer;background:#e6f4ea}.docs-blameview-previous-edit-button.jfk-button-disabled,.docs-blameview-next-edit-button.jfk-button-disabled{cursor:default}.docs-blameview-nav-container .docs-blameview-previous-edit-button.jfk-button-disabled .docs-icon-img:before,.docs-blameview-nav-container .docs-blameview-next-edit-button.jfk-button-disabled .docs-icon-img:before,.docs-blameview-nav-container .docs-blameview-previous-edit-button.jfk-button-disabled .docs-icon-img,.docs-blameview-nav-container .docs-blameview-next-edit-button.jfk-button-disabled .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_dark.svg);opacity:.38}.docs-blameview-button-icon{overflow:hidden;position:relative}.docs-blameview-message{background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px;color:#3c4043;display:block;font-size:14px;line-height:20px;overflow:hidden;overflow-wrap:break-word;padding:13px 16px 13px 16px;text-overflow:ellipsis;white-space:normal}.docs-blameview-header{background:#f8f8f8;display:flex;flex-direction:row;padding:0 16px 10px 16px;white-space:nowrap}.docs-blameview-avatar-holder{display:inline-block;max-width:32px}.docs-blameview-avatar{border-radius:50%;height:32px;width:32px}.docs-blameview-authortimestamp{color:#3c4043;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.docs-blameview-timestamp{display:block;font-size:12px;margin:0}.docs-blameview-author{display:block;font-size:14px;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:18px;margin-bottom:1px;max-width:167px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-blameview-valuecontainer{background:#ffffff;display:flex;flex:1 1 auto;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;justify-content:space-between;line-height:20px;max-height:160px;overflow:hidden;overflow-wrap:break-word;white-space:normal;width:100%}.docs-blame-bold-text{font-style:normal;font-weight:500}.docs-blameview-value-content{color:#3c4043;display:inline;font-style:italic;overflow-x:hidden;overflow-y:auto;overflow-wrap:break-word;padding:10px 16px;word-wrap:break-word}.docs-blameview-value-content-indirect-edit{margin-right:0}.overlay-container-rtl .docs-blameview-value-content-indirect-edit{margin-left:0}.docs-blameview-spinner{background:#fff;overflow:hidden;padding:30px 16px 13px 16px}.docs-blameview-spinner-holder{float:left;height:32px;margin:0 0 0 16px;position:relative}.overlay-container-rtl .docs-blameview-spinner-holder{float:right;margin:0 16px 0 0}.docs-blameview-icon:before{content:url(//ssl.gstatic.com/docs/common/menu_feature_sprite7.svg)}.docs-blameview-icon{height:4332px;position:absolute;width:72px}.docs-blameview-footer{border-top:1px solid #dadce0;display:flex;flex-direction:column;padding:12px 16px 0 16px}.docs-blameview-warning,.docs-blameview-indirect-edit{color:#3c4043;display:block;font-size:12px;line-height:16px;padding-bottom:12px;white-space:normal}a.docs-blameview-warning-info,.docs-blameview-indirect-edit-learnmore a{color:#1a73e8;text-decoration:underline}.docs-blameview-feedback{align-items:center;background:#ffffff;border-top:1px solid #dadce0;display:block;padding-left:16px;padding-right:9px;padding-top:10px;line-height:20px}.docs-blameview-short-feedback{display:none}.docs-blameview-useful-text{color:#3c4043;float:left;font-size:14px;font-style:italic}.docs-blameview-give-thumbs-up{float:right;padding-right:12px}.docs-blameview-thumbs-up-button{float:left;opacity:0.6;padding-right:10px;width:18px}.docs-blameview-thumbs-down-button{float:right;opacity:0.6;width:18px}.docs-blameview-thumbs-up-button:hover,.docs-blameview-thumbs-down-button:hover{cursor:pointer;opacity:1}.docs-blameview-long-feedback{display:none;font-size:14px;font-style:italic}.docs-blameview-long-feedback a,.docs-blameview-long-feedback a:link,.docs-blameview-long-feedback a:visited{color:#1a73e8}.docs-blameview-long-feedback-text{color:#3c4043}.docs-blameview-nav-container .docs-hc-edge.docs-blameview-previous-edit-button .docs-icon-img,.docs-blameview-nav-container .docs-hc-edge.docs-blameview-next-edit-button .docs-icon-img,.docs-blameview-nav-container .docs-hc-gecko.docs-blameview-previous-edit-button .docs-icon-img,.docs-blameview-nav-container .docs-hc-gecko.docs-blameview-next-edit-button .docs-icon-img{filter:brightness(1.5)}.docs-blameview-nav-container .docs-hc-edge.docs-blameview-previous-edit-button.jfk-button-disabled .docs-icon-img,.docs-blameview-nav-container .docs-hc-edge.docs-blameview-next-edit-button.jfk-button-disabled .docs-icon-img,.docs-blameview-nav-container .docs-hc-gecko.docs-blameview-previous-edit-button.jfk-button-disabled .docs-icon-img,.docs-blameview-nav-container .docs-hc-gecko.docs-blameview-next-edit-button.jfk-button-disabled .docs-icon-img{filter:brightness(10);opacity:1}.docs-blameview-nav-container .docs-hc-ie.docs-blameview-previous-edit-button .docs-icon-img,.docs-blameview-nav-container .docs-hc-ie.docs-blameview-next-edit-button .docs-icon-img{-ms-high-contrast-adjust:none;background-color:white}.jfk-butterBar.docs-autopurge-butter,.docs-gm .jfk-butterBar.docs-autopurge-butter{background-color:#e6f4ea;box-shadow:0 4px 8px rgba(60,64,67,0.15),0 1px 3px rgba(60,64,67,0.3),0 6px 11px rgba(128,134,139,0.06),0 -3px 11px rgba(128,134,139,0.09);display:table;left:162px;padding-right:0;position:absolute;top:17px}.docs-autopurge-butter-link{margin-left:24px;padding-right:6px;white-space:nowrap}.docs-butterbar-dismiss.docs-autopurge-butter-dismiss,.docs-gm .docs-butterbar-dismiss.docs-autopurge-butter-dismiss{display:table-cell;padding:0 12px;vertical-align:middle}.docs-butterbar-link.docs-autopurge-butter-link,.docs-butterbar-dismiss.docs-autopurge-butter-dismiss,.docs-gm .docs-butterbar-link.docs-autopurge-butter-link,.docs-gm .docs-butterbar-dismiss.docs-autopurge-butter-dismiss{color:#188038;font-size:14px;letter-spacing:0.25px;text-decoration:none}.docs-butterbar-link.docs-autopurge-butter-link:hover,.docs-gm .docs-butterbar-link.docs-autopurge-butter-link:hover{border:1px solid #4d90fe;border-radius:4px;color:#0d652d;margin-left:23px;margin-right:-1px}.docs-butterbar-dismiss.docs-autopurge-butter-dismiss:hover,.docs-gm .docs-butterbar-dismiss.docs-autopurge-butter-dismiss:hover{border:1px solid rgb(77,144,254);border-radius:4px;color:#0d652d;padding:11px}.docs-autopurge-butter-text{color:#188038;font-family:Roboto;letter-spacing:0.2px}.docs-autopurge-butter-text-span{display:table-cell;padding:12px 12px 12px 0;text-align:left}.docs-gm .docs-gm-sidebar-icon{display:flex;align-items:center;margin-right:12px;height:24px;width:24px}.docs-gm .docs-gm-sidebar-icon .docs-gm-sidebar-icon-24{height:24px;margin:0;width:24px}.docs-gm .docs-gm-sidebar-icon-path{fill:#188038}.docs-sidebar-titlebar-icon-button{cursor:pointer;position:absolute;right:10px}.docs-sidebar-gm-titlebar-icon-button{background-color:transparent;border:none!important;border-radius:50%;cursor:pointer;height:26px;margin-left:auto;margin-right:0;padding:6px 0 0 0;position:relative;right:-5px;text-align:center;top:0;width:32px}.docs-sidebar-gm-titlebar-icon-button:hover{background-color:#f1f3f4}.docs-sidebar-gm-titlebar-icon-button:focus{background-color:#e8eaed;outline:none}.docs-clipboard-clearall{font-weight:500}.docs-clipboard-preview{position:absolute;background-color:#fff;color:black;visibility:hidden;width:260px;height:195px;overflow:hidden;font-size:80%;border:1px solid #888;outline:0;padding:2px;top:0;z-index:9999}.docs-clipboard-preview iframe{border:0;padding:0;margin:0;width:100%;height:100%;vertical-align:top}.docs-textcolormenubutton .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box .goog-toolbar-menu-button-caption .goog-color-menu-button-indicator{height:20px;width:22px;bottom:1px}.docs-text-color-state-change-button{margin-right:0;padding:0 18px}.jfk-button-standard.docs-c-u-colormenutogglebutton-base.docs-c-u-colormenutogglebutton-extra-visible-border.jfk-button-hover,.jfk-button-standard.docs-c-u-colormenutogglebutton-base.docs-c-u-colormenutogglebutton-extra-visible-border.jfk-button-hover.jfk-button-checked{border:1px solid #000}.docs-text-color-omnibox-icon{float:left;width:16px;height:16px;margin:2px}.docs-docos-activitybox{background:#fff;border:solid 1px #cbcbcb;-moz-box-shadow:-1px 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);padding:12px 0;position:absolute;outline:none;right:20px;top:46px;z-index:900}.docos-streampanesize{height:420px;width:385px}.docos-streampanesize-legacy{height:550px;width:434px}.docs-docos-activitybox-inner{height:100%;overflow:auto}.docs-docos-activitybox.docos-enable-new-header{padding:0!important;height:auto!important}.docs-docos-activitybox.docos-enable-new-header>.docs-docos-activitybox-inner{overflow:visible!important}.docs-docos-caret-inner,.docs-docos-caret-outer{border:9px solid;border-top-width:0;display:block;height:0;margin:0 auto;position:relative;width:0;z-index:901}.docs-docos-caret-inner{border-color:#fff transparent;top:1px}.docs-docos-caret-outer{border-color:#cbcbcb transparent;top:9px}.docos-enable-new-header>.docs-docos-caret-inner{border-color:#f1f1f1 transparent!important}.docos-shelly-icon{background-image:url(//ssl.gstatic.com/docs/common/d-icons30.png);background-repeat:no-repeat;height:14px;width:14px}.docos-icon-close-pane{background-position:0 -21px}.docos-icon-close-pane:hover{background-position:-38px -45px}.docos-icon-grippy{background-position:-38px -94px;width:16px;height:4px}.docos-icon-discussion-button{background-position:-22px -66px;width:14px;height:15px;vertical-align:text-bottom;margin-right:5px}.post-limit-error-dialog{max-width:512px;box-sizing:border-box}.post-limit-error-dialog .docs-material-gm-dialog-content{color:#3c4043;font-size:14px}#docs-docos-subscriptionbutton .jfk-button,#docs-docos-subscriptionbutton .jfk-freestanding-menu-button{background-image:none;border:1px solid transparent;border-radius:4px;box-shadow:none;box-sizing:border-box;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:36px;letter-spacing:0.25px;line-height:calc(36px - 1px);outline:none;padding:9px 12px 10px 12px;text-align:center;text-transform:capitalize}#docs-docos-subscriptionbutton .goog-menu{text-align:left;transform:translateX(12px)}#docs-docos-subscriptionbutton .goog-menuitem{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;padding-left:15px}#docs-docos-subscriptionbutton .jfk-button.jfk-button-disabled,#docs-docos-subscriptionbutton .jfk-freestanding-menu-button.jfk-freestanding-menu-button-disabled{background-color:#f1f3f4;color:#3c4043;cursor:inherit;opacity:0.38}#docs-docos-subscriptionbutton .jfk-button.jfk-button-disabled{border-right-color:#dadce0}#docs-docos-subscriptionbutton .jfk-freestanding-menu-button.jfk-freestanding-menu-button-disabled .docs-docos-sb-menu-icon{border-bottom-color:#3c4043;border-top-color:#3c4043}#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-button:not(.jfk-button-disabled),#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-freestanding-menu-button:not(.jfk-freestanding-menu-button-disabled){background-color:white;border-color:#9aa0a6;color:#9aa0a6}#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-freestanding-menu-button:not(.jfk-freestanding-menu-button-disabled) .docs-docos-sb-menu-icon{border-bottom-color:#9aa0a6;border-top-color:#9aa0a6}#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-button.jfk-button-hover,#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-button.jfk-button-hover+.jfk-freestanding-menu-button,#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-button.jfk-button-focused,#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-button.jfk-button-focused+.jfk-freestanding-menu-button,#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-freestanding-menu-button.jfk-freestanding-menu-button-hover,#docs-docos-subscriptionbutton.docs-docos-sb-muted .jfk-freestanding-menu-button.jfk-freestanding-menu-button-focused{background-color:#f1f3f4}#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-button:not(.jfk-button-disabled),#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-freestanding-menu-button:not(.jfk-freestanding-menu-button-disabled){background-color:white;border-color:#669df6;color:#1a73e8}#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-freestanding-menu-button:not(.jfk-freestanding-menu-button-disabled) .docs-docos-sb-menu-icon{border-bottom-color:#1a73e8;border-top-color:#1a73e8}#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-button.jfk-button-hover,#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-button.jfk-button-hover+.jfk-freestanding-menu-button,#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-button.jfk-button-focused,#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-button.jfk-button-focused+.jfk-freestanding-menu-button,#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-freestanding-menu-button.jfk-freestanding-menu-button-hover,#docs-docos-subscriptionbutton.docs-docos-sb-follow .jfk-freestanding-menu-button.jfk-freestanding-menu-button-focused{background-color:#e8f0fe}#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-button:not(.jfk-button-disabled),#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-freestanding-menu-button:not(.jfk-freestanding-menu-button-disabled){background-color:#1a73e8;border-color:#1a73e8;color:white}#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-freestanding-menu-button:not(.jfk-freestanding-menu-button-disabled) .docs-docos-sb-menu-icon{border-bottom-color:white;border-top-color:white}#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-button.jfk-button-focused,#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-button.jfk-button-focused+.jfk-freestanding-menu-button,#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-freestanding-menu-button.jfk-freestanding-menu-button-hover,#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-freestanding-menu-button.jfk-freestanding-menu-button-focused{background-color:#185abc;border-color:#185abc}#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-button.jfk-button-hover,#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-button.jfk-button-hover+.jfk-freestanding-menu-button{background-color:#ea4335;border-color:#ea4335}#docs-docos-subscriptionbutton.docs-docos-sb-following .jfk-button:not(.jfk-button-disabled){border-right-color:white}#docs-docos-subscriptionbutton .docs-docos-sb-main.jfk-button{border-bottom-right-radius:0;border-top-right-radius:0;margin-right:0;-webkit-tap-highlight-color:transparent}.docs-docos-sb-muted-text,.docs-docos-sb-muted-hover-text,.docs-docos-sb-follow-text,.docs-docos-sb-following-text,.docs-docos-sb-following-hover-text{bottom:0;left:0;position:absolute;right:0;text-align:center;top:0}.docs-docos-sb-muted-text,.docs-docos-sb-muted-hover-text,.docs-docos-sb-muted-measuring-text,.docs-docos-sb-follow-text,.docs-docos-sb-follow-measuring-text,.docs-docos-sb-following-text,.docs-docos-sb-following-hover-text,.docs-docos-sb-following-measuring-text{display:none}.docs-docos-sb-muted .docs-docos-sb-muted-text,.docs-docos-sb-follow .docs-docos-sb-follow-text,.docs-docos-sb-following .docs-docos-sb-following-text{display:inline}.docs-docos-sb-muted .docs-docos-sb-muted-measuring-text,.docs-docos-sb-follow .docs-docos-sb-follow-measuring-text,.docs-docos-sb-following .docs-docos-sb-following-measuring-text{display:inline-block;visibility:hidden;height:0;overflow:hidden;white-space:nowrap}.docs-docos-sb-muted .jfk-button.jfk-button-hover .docs-docos-sb-muted-text,.docs-docos-sb-following .jfk-button.jfk-button-hover .docs-docos-sb-following-text{display:none}.docs-docos-sb-muted .jfk-button.jfk-button-hover .docs-docos-sb-muted-hover-text,.docs-docos-sb-following .jfk-button.jfk-button-hover .docs-docos-sb-following-hover-text{display:inline}#docs-docos-subscriptionbutton .jfk-freestanding-menu-button{-webkit-align-items:center;align-items:center;border-bottom-left-radius:0;border-left:none!important;border-top-left-radius:0;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;margin-right:12px;width:19px}.docs-docos-sb-menu-icon{border-left-color:transparent;border-right-color:transparent;border-style:solid;border-width:4px 4px 0;height:0;width:0}.instant-button{height:24px;width:24px;outline:none;padding:8px}.instant-button:hover{background:#f1f3f4}.multi-button .first-button{padding-top:15px}.multi-button .last-button{padding-bottom:15px}.superfab-icon-container{position:absolute;transition:opacity .15s ease-in-out}.docs-material .docs-icon.superfab-icon-size{height:24px;width:24px}.superfab-icon{display:inline-block;opacity:0.9;transition:opacity .15s ease-in-out}#docs-instant-bubble:hover .superfab-icon,#docs-instant-bubble .superfab-icon:hover{opacity:1}.send-to-email-toast.docs-ui-toast{max-width:323px;padding:14px 16px 14px 16px!important}.send-to-email-toast.docs-ui-toast .docs-ui-toast-content{color:#8ab4f8;font-family:"Google Sans";font-size:14px;min-width:323px;line-height:20px;align-items:center;letter-spacing:0.25px;margin:0 8px}.office-editing-export-error-bubble-close-button{float:right}.office-editing-export-error-bubble{background-color:#fff;border:1px solid transparent;border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);position:absolute;z-index:1003;color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;outline:none;padding:24px;white-space:pre-line;width:400px}.office-editing-export-error-bubble-title{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;line-height:28px;font-size:16px;line-height:24px}.office-editing-export-error-bubble-description{line-height:20px;margin-top:16px}.office-editing-export-error-bubble-retry-text{font-size:12px;line-height:16px;margin-top:12px}.office-editing-export-error-bubble-learn-more,.office-editing-export-error-bubble-learn-more:visited{color:#1a73e8;margin-left:8px}.office-editing-onboarding-promo-bubble-dotted-progressbar-dot{background:#ceead6;border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.office-editing-onboarding-promo-bubble-dotted-progressbar-dot-highlighted{background:#188038}.office-editing-onboarding-dialog{width:480px}.office-editing-onboarding-dialog-logo{height:256px;width:480px;content:url("//ssl.gstatic.com/docs/common/promo/ritz_shadow_docs_promo_ltr.gif");border-top-left-radius:8px;border-top-right-radius:8px}.office-editing-onboarding-dialog-heading{color:#202124;font-size:24px;line-height:32px;padding-top:24px;padding-bottom:12px;padding-left:24px;padding-right:24px}.office-editing-onboarding-dialog-description{color:#5f6368;font-size:18px;line-height:28px;text-align:center;padding-left:24px;padding-right:24px}.office-editing-onboarding-dialog-logo-container,.office-editing-onboarding-dialog-heading,.office-editing-onboarding-dialog-description,.office-editing-onboarding-dialog .docs-material-gm-dialog-buttons{display:flex;justify-content:center}.office-editing-onboarding-dialog .docs-material-gm-dialog-title{padding:0}.office-editing-onboarding-dialog .docs-material-gm-dialog-title-close{cursor:pointer;top:18px;right:18px}.office-editing-onboarding-dialog .docs-material-gm-dialog-content{padding-left:0;padding-right:0;padding-bottom:16px}.office-editing-onboarding-dialog .docs-material-gm-dialog-buttons{padding-top:0}.office-editing-onboarding-promo-bubble{padding:16px 16px 16px 20px;width:324px}.office-editing-onboarding-promo-bubble-title{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:18px;line-height:24px;padding-bottom:8px}.office-editing-onboarding-promo-bubble-description{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;padding-right:24px}.office-editing-onboarding-promo-bubble .docs-material-promo-walkthrough-bubble-buttons{display:block;padding:24px 0 0 0;justify-content:normal}.office-editing-onboarding-promo-bubble .docs-material-promo-walkthrough-bubble-buttons .docs-material-button-fill-primary.docs-material-button{display:inline-block;float:right;height:24px;padding:3px 18px 3px}.office-editing-onboarding-promo-bubble .office-editing-promo-bubble-dotted-progressbar{display:inline-block;float:left}.docs-material .docs-icon,.docs-material .goog-color-menu-button-indicator .docs-icon,.docs-material .sketchy-toolbar-color-menu-button .goog-toolbar-menu-button-caption .docs-icon{height:18px;width:18px;margin:1px 2px 2px 1px}.docs-material .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg)}.docs-gm .docs-material .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)}.docs-material .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg)}.docs-gm .docs-material .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)}.docs-material .docs-icon-img-container{height:6179px;position:absolute;width:74px}.docs-material .goog-menuitem-icon .docs-icon-img-container{opacity:0.54}.docs-gm .docs-material .goog-menuitem-icon .docs-icon-img-container{opacity:1}.docs-material .goog-menuitem-icon .docs-icon-document,.docs-material .goog-menuitem-icon .docs-icon-punch,.docs-material .goog-menuitem-icon .docs-icon-presentation,.docs-material .goog-menuitem-icon .docs-icon-spreadsheet,.docs-material .goog-menuitem-icon .docs-icon-form,.docs-material .goog-menuitem-icon .docs-icon-drawing,.docs-material .goog-menuitem-icon .docs-icon-script,.docs-material .goog-menuitem-icon .docs-icon-site{opacity:1}.docs-material .goog-toolbar-button-inner-box .docs-icon,.docs-material .goog-toolbar-menu-button-caption .docs-icon,.docs-material .goog-toolbar-menu-button-caption .goog-color-menu-button-indicator .docs-icon{margin-top:0px}.docs-gm .docs-material .goog-toolbar-button-active .docs-icon-img:before,.docs-gm .docs-material .goog-toolbar-button-checked .docs-icon-img:before,.docs-gm .docs-material .goog-toolbar-button-selected .docs-icon-img:before,.docs-gm .docs-material .goog-toolbar-combo-button-open .docs-icon-img:before,.docs-gm .docs-material .goog-toolbar-menu-button-open .docs-icon-img:before,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-button-active .docs-icon-img:before,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-active .docs-icon-img:before,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-open .docs-icon-img:before,.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-active .docs-icon-img:before,.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-checked .docs-icon-img:before,.docs-gm .docs-material .docs-analytics-sidebar-tab-selected .docs-icon-img:before,.docs-gm .docs-material.docs-sheet-active-tab .docs-icon-img:before,.docs-gm .docs-material .docs-sheet-button-active .docs-icon-img:before,.docs-gm .docs-material .docs-sheet-button-open .docs-icon-img:before,.docs-gm .docs-material .punch-start-presentation-container .docs-icon-img:before,.docs-gm .docs-material .waffle-named-ranges-promo-title .docs-icon-img:before,.docs-gm .docs-material.goog-flat-menu-button-open .docs-icon-img:before,.docs-gm .docs-material.trix-palette .goog-palette-cell-selected .docs-icon-img:before,.docs-bubble .docs-bubble-button.jfk-button:hover:active .docs-icon-img:before,.docs-material .docs-save-indicator-popup-icon .docs-icon-img:before,.docs-material .docs-titlebar-badge:active .docs-icon-img:before,.docs-material .docs-titlebar-badge.docs-titlebar-badge-selected .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-gm .docs-material .goog-toolbar-button-active .docs-icon-img,.docs-gm .docs-material .goog-toolbar-button-checked .docs-icon-img,.docs-gm .docs-material .goog-toolbar-button-selected .docs-icon-img,.docs-gm .docs-material .goog-toolbar-combo-button-open .docs-icon-img,.docs-gm .docs-material .goog-toolbar-menu-button-open .docs-icon-img,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-button-active .docs-icon-img,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-active .docs-icon-img,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-open .docs-icon-img,.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-active .docs-icon-img,.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-checked .docs-icon-img,.docs-gm .docs-material .docs-analytics-sidebar-tab-selected .docs-icon-img,.docs-gm .docs-material.docs-sheet-active-tab .docs-icon-img,.docs-gm .docs-material .docs-sheet-button-active .docs-icon-img,.docs-gm .docs-material .docs-sheet-button-open .docs-icon-img,.docs-gm .docs-material .punch-start-presentation-container .docs-icon-img,.docs-gm .docs-material .waffle-named-ranges-promo-title .docs-icon-img,.docs-gm .docs-material.goog-flat-menu-button-open .docs-icon-img,.docs-gm .docs-material.trix-palette .goog-palette-cell-selected .docs-icon-img,.docs-bubble .docs-bubble-button.jfk-button:hover:active .docs-icon-img,.docs-material .docs-save-indicator-popup-icon .docs-icon-img,.docs-material .docs-titlebar-badge:active .docs-icon-img,.docs-material .docs-titlebar-badge.docs-titlebar-badge-selected .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-material.clean-palette .docs-icon{margin:4px}.docs-material .docs-omnibox-row-icon .shape-icon{margin:-1px 0 0 -1px}.docs-material .docs-icon-save{left:-20px;top:-534px}.docs-material .docs-icon-print{left:0;top:-4424px}.docs-material .docs-icon-undo,.docs-material .docs-icon-redo-rtl{left:-20px;top:-2072px}.docs-material .docs-icon-redo,.docs-material .docs-icon-undo-rtl{left:0;top:-2978px}.docs-material .docs-icon-copy{left:0;top:-2898px}.docs-material .docs-icon-cut{left:-20px;top:-3990px}.docs-material .docs-icon-paste{left:0;top:-2878px}.docs-material .docs-icon-document{left:-20px;top:-3498px}.docs-material .docs-icon-presentation,.docs-material .docs-icon-punch{left:-40px;top:-3638px}.docs-material .docs-icon-presentation-grey900{left:-42px;top:-1736px}.docs-material .docs-icon-spreadsheet{left:-20px;top:-5899px}.docs-material .docs-icon-form{left:0;top:-5085px}.docs-material .docs-icon-form-black{left:0;top:-2252px}.docs-material .docs-icon-drawing{left:-40px;top:-2032px}.docs-material .docs-icon-site{left:-40px;top:-1972px}.docs-material .docs-icon-drawing-black{left:-52px;top:-3104px}.docs-material .docs-icon-excel{left:0;top:-5313px}.docs-material .docs-icon-powerpoint{left:0;top:-3350px}.docs-material .docs-icon-word{left:0;top:-5559px}.docs-material .docs-icon-script{left:-46px;top:-66px}.docs-material .docs-icon-insert-script{left:-40px;top:-3950px}.docs-material .docs-icon-gadget{left:0;top:-614px}.docs-material .docs-icon-image{left:-20px;top:-3418px}.docs-material .docs-icon-clipboard{left:0;top:-940px}.docs-material .docs-icon-bold{left:-40px;top:-4150px}.docs-material .docs-icon-italic{left:0;top:-352px}.docs-material .docs-icon-text-color{left:-40px;top:-1992px}.docs-material .docs-icon-align-left{left:-40px;top:-474px}.docs-material .docs-icon-align-center{left:0;top:-3498px}.docs-material .docs-icon-align-right{left:-20px;top:-3764px}.docs-material .docs-icon-align-justify{left:0;top:-4192px}.docs-material .docs-icon-align-shapes-left{left:0;top:-3024px}.docs-material .docs-icon-align-shapes-center{left:-46px;top:-1122px}.docs-material .docs-icon-align-shapes-right{left:0;top:-2938px}.docs-material .docs-icon-align-shapes-top{left:0;top:-1890px}.docs-material .docs-icon-align-shapes-middle{left:-26px;top:-3898px}.docs-material .docs-icon-align-shapes-bottom{left:0;top:-2858px}.docs-material .docs-icon-distribute-shapes-horizontally{left:0;top:-5455px}.docs-material .docs-icon-distribute-shapes-vertically{left:-20px;top:-2858px}.docs-material .docs-icon-valign-top{left:-40px;top:-2232px}.docs-material .docs-icon-valign-middle{left:0;top:-2626px}.docs-material .docs-icon-valign-bottom{left:-46px;top:-5231px}.docs-material .docs-icon-list-number{left:0;top:-4813px}.docs-material .docs-icon-list-bullet{left:-26px;top:-5211px}.docs-material .docs-icon-indent{left:0;top:-1062px}.docs-material .docs-icon-outdent{left:-20px;top:-814px}.docs-material .docs-icon-line-spacing{left:-20px;top:-2032px}.docs-material .docs-icon-columns{left:0;top:-5645px}.docs-material .docs-icon-underline{left:0;top:-3418px}.docs-material .docs-icon-text-bgcolor{left:-26px;top:-86px}.docs-material .docs-icon-textbox{left:-20px;top:-3598px}.docs-material .docs-icon-shapes{left:-22px;top:-1736px}.docs-material .docs-icon-line-width{left:-20px;top:-5105px}.docs-material .docs-icon-add-trendline{left:-20px;top:-5271px}.docs-material .docs-icon-data-label{left:0;top:-252px}.docs-material .docs-icon-next{left:0;top:-634px}.docs-material .docs-icon-previous{left:-20px;top:-1636px}.docs-material .docs-icon-no-color{left:0;top:-5859px}.docs-material .docs-icon-fill-color{left:-40px;top:-494px}.docs-material .docs-icon-line-color{left:0;top:-5333px}.docs-material .docs-icon-line-type{left:-52px;top:-5665px}.docs-material .docs-icon-table{left:-40px;top:-1248px}.docs-material .docs-icon-comment{left:-20px;top:-732px}.docs-material .docs-icon-comment-blank{left:0;top:-4681px}.docs-material .docs-icon-comment-blank-highlighted{left:-40px;top:-2626px}.docs-material .docs-icon-comment-blank-grey600{left:-20px;top:-5619px}.docs-material .docs-icon-insert-comment{left:-20px;top:-2192px}.docs-material .docs-icon-insert-comment-24{left:0;top:-2686px}.docs-material .docs-icon-trending-up-24{left:-46px;top:-3244px}.docs-material .docs-icon-trending-up-18{left:-20px;top:-3224px}.docs-material .docs-icon-trending-down-18{left:-40px;top:-206px}.docs-material .docs-icon-chart{left:0;top:-5727px}.docs-material .docs-icon-list-number-rtl{left:-20px;top:-1890px}.docs-material .docs-icon-list-bullet-rtl{left:-20px;top:-3578px}.docs-material .docs-icon-indent-rtl{left:-40px;top:-2878px}.docs-material .docs-icon-outdent-rtl{left:0;top:-1000px}.docs-material .docs-icon-line-spacing-rtl{left:-52px;top:-5685px}.docs-material .docs-icon-text-ltr{left:-40px;top:-5085px}.docs-material .docs-icon-text-rtl{left:0;top:-4010px}.docs-material .docs-icon-sheet-rtl{left:-22px;top:-1756px}.docs-material .docs-icon-share{left:-52px;top:-4278px}.docs-material .docs-icon-subscript{left:-20px;top:-3538px}.docs-material .docs-icon-superscript{left:-40px;top:-5999px}.docs-material .docs-icon-strikethrough{left:-46px;top:-4871px}.docs-material .docs-icon-clear-formatting{left:0;top:-1040px}.docs-material .docs-icon-link{left:0;top:-1268px}.docs-material .docs-icon-special-character{left:0;top:-6019px}.docs-material .docs-icon-close-white{left:0;top:-2192px}.docs-material .docs-icon-close-small{left:-20px;top:-4232px}.docs-material .docs-icon-close-thin{left:-20px;top:-514px}.docs-material .docs-icon-paint-format{left:-20px;top:-1082px}.docs-material .docs-icon-video{left:0;top:-166px}.docs-material .docs-icon-reload{left:-26px;top:-4767px}.docs-material .docs-icon-reload-rtl{left:0;top:-2092px}.docs-material .docs-icon-insert-page-break{left:-20px;top:-2898px}.docs-material .docs-icon-close{left:-40px;top:-5191px}.docs-material .docs-icon-check{left:-40px;top:-614px}.docs-material .docs-icon-up{left:-26px;top:-1168px}.docs-material .docs-icon-down{left:-20px;top:-186px}.docs-material .docs-icon-add-page{left:0;top:-3004px}.docs-material .docs-icon-email{left:0;top:-3878px}.docs-material .docs-icon-insert-equation{left:-20px;top:-712px}.docs-material .docs-icon-insert-horizontal-line{left:0;top:-672px}.docs-material .docs-icon-tabstop-center-blue500{left:-42px;top:-6103px}.docs-material .docs-icon-tabstop-center-bottom-blue500{left:-20px;top:-454px}.docs-material .docs-icon-tabstop-left-blue500{left:0;top:-554px}.docs-material .docs-icon-tabstop-right-blue500{left:0;top:-106px}.docs-material .docs-icon-ruler-first-indent-drag-blue500{left:-20px;top:-5959px}.docs-material .docs-icon-border-all{left:-40px;top:-4192px}.docs-material .docs-icon-border-right{left:-26px;top:-2132px}.docs-material .docs-icon-border-left{left:0;top:-692px}.docs-material .docs-icon-border-top{left:0;top:-2646px}.docs-material .docs-icon-border-bottom{left:-20px;top:-5333px}.docs-material .docs-icon-border-outside{left:-40px;top:-5859px}.docs-material .docs-icon-border-inside{left:-40px;top:-2792px}.docs-material .docs-icon-border-none{left:0;top:-6039px}.docs-material .docs-icon-border-horizontal{left:-40px;top:-3438px}.docs-material .docs-icon-border-vertical{left:-42px;top:-1288px}.docs-material .docs-icon-merge{left:-52px;top:-3920px}.docs-material .docs-icon-wrap{left:-20px;top:-146px}.docs-material .docs-icon-autofilter{left:0;top:-5475px}.docs-material .docs-icon-autofilter-filled{left:0;top:-3990px}.docs-material .docs-icon-insert-function{left:0;top:-2172px}.docs-material .docs-icon-insert-formula{left:-20px;top:-1452px}.docs-material .docs-icon-folder-shared{left:0;top:-1142px}.docs-material .docs-icon-folder-shared-outline{left:0;top:-146px}.docs-material .docs-icon-folder-outline{left:0;top:-4965px}.docs-material .docs-icon-folder-outline-hover{left:-20px;top:-2052px}.docs-material .docs-icon-folder-outline-pressed{left:0;top:-2072px}.docs-material .docs-icon-folder-solid{left:-46px;top:-4721px}.docs-material .docs-icon-drive{left:0;top:-3224px}.docs-material .docs-icon-drive-hover{left:-40px;top:-854px}.docs-material .docs-icon-drive-pressed{left:-26px;top:-4905px}.docs-material .docs-icon-drive-large{left:-26px;top:-4807px}.docs-material .docs-icon-drive-large-wrapper{width:36px;height:36px}.docs-material .docs-icon-back{left:0;top:-5395px}.docs-material .docs-icon-back-rtl{left:-40px;top:-834px}.docs-material .docs-icon-arrow-more{left:0;top:-186px}.docs-material .docs-icon-arrow-more-rtl{left:0;top:-1952px}.docs-material .docs-icon-search-this-document{left:0;top:-3478px}.docs-material .docs-icon-arrow-dropdown{left:-40px;top:-732px}.docs-material .docs-icon-arrow-dropdown-grey600{left:-52px;top:-3064px}.docs-material .docs-icon-expand-all{left:0;top:-3598px}.docs-material .docs-icon-word-art{left:-20px;top:-3558px}.docs-material .docs-icon-delete-x{left:-46px;top:-4701px}.docs-material .docs-icon-settings{left:-20px;top:-2092px}.docs-material .docs-icon-plus{left:-40px;top:-5333px}.docs-material .docs-icon-plus-white{left:0;top:-5579px}.docs-material .docs-icon-alert{left:-26px;top:-3064px}.docs-material .docs-icon-alert-error-24-orange600{left:-20px;top:-554px}.docs-material .docs-icon-trash{left:0;top:-2032px}.docs-material .docs-icon-locked{left:0;top:-4464px}.docs-material .docs-icon-locked-grey600{left:0;top:-5415px}.docs-material .docs-icon-unlocked{left:-26px;top:-4787px}.docs-material .docs-icon-add-fonts{left:0;top:-3638px}.docs-material .docs-icon-enter-compact{left:0;top:-5353px}.docs-material .docs-icon-exit-compact{left:-20px;top:-4424px}.docs-material .docs-icon-mode-edit{left:-20px;top:-1248px}.docs-material .docs-icon-mode-view{left:-20px;top:-5085px}.docs-material .docs-icon-chat{left:0;top:-4444px}.docs-material .docs-icon-chat-bubble-grey900{left:0;top:-3330px}.docs-material .docs-icon-chat-bubble-white{left:0;top:-5435px}.docs-material .docs-icon-chat-person-grey900{left:-40px;top:-1952px}.docs-material .docs-icon-chat-person-wide-grey900{left:0;top:-4859px}.docs-material .docs-icon-person-add-white{left:0;top:-5899px}.docs-material .docs-icon-star{left:-22px;top:-1716px}.docs-material .docs-icon-duplicate{left:-40px;top:-3310px}.docs-material .docs-icon-file{left:-20px;top:-4464px}.docs-material .docs-icon-opacity{left:0;top:-1616px}.docs-material .docs-icon-label-slant{left:-40px;top:-5879px}.docs-material .docs-icon-point-size{left:-42px;top:-6039px}.docs-material .docs-icon-question{left:0;top:-312px}.docs-material .docs-icon-quote{left:-52px;top:-3124px}.docs-material .docs-icon-vertical-gridlines{left:0;top:-3578px}.docs-material .docs-icon-left-axis{left:-40px;top:-3518px}.docs-material .docs-icon-right-axis{left:-26px;top:-5231px}.docs-material .docs-icon-left-axis-gridlines{left:0;top:-894px}.docs-material .docs-icon-right-axis-gridlines{left:0;top:-4793px}.docs-material .docs-icon-reset{left:-40px;top:-2838px}.docs-material .docs-icon-drag-move{left:-20px;top:-4567px}.docs-material .docs-icon-col-dragger{left:-40px;top:-5559px}.docs-material .docs-icon-chrome-store{left:0;top:-514px}.docs-material .docs-icon-fit-area{left:-26px;top:-1102px}.docs-material .docs-icon-zoom-out{left:0;top:-792px}.docs-material .docs-icon-zoom-tool{left:-40px;top:-186px}.docs-material .docs-icon-download{left:0;top:-3458px}.docs-material .docs-icon-fusion-table{left:0;top:-3044px}.docs-material .docs-icon-spreadsheet-sink{left:0;top:-414px}.docs-material .docs-icon-send-responses{left:-46px;top:-5211px}.docs-material .docs-icon-liveform{left:0;top:-5959px}.docs-material .docs-icon-ellipsis{left:0;top:-5517px}.docs-material .docs-icon-html-preview{left:-20px;top:-1676px}.docs-material .docs-icon-grid{left:-20px;top:-3950px}.docs-material .docs-icon-add-animation{left:-26px;top:-2384px}.docs-material .docs-icon-play-filled-24{left:-26px;top:-3924px}.docs-material .docs-icon-play-filled-error-36{left:-20px;top:-634px}.docs-material .docs-icon-playhead{left:-40px;top:-5455px}.docs-material .docs-icon-playhead-rtl{left:-46px;top:-2272px}.docs-material .docs-icon-unsupported{left:0;top:-474px}.docs-material .docs-icon-calendar{left:-40px;top:-594px}.docs-material .docs-icon-calendar-busy-yellow900{left:0;top:-454px}.docs-material .docs-zippy-closed{left:-20px;top:-5025px}.docs-material .docs-zippy-open{left:0;top:-1736px}.docs-material .docs-icon-bookmark{left:-40px;top:-4378px}.docs-material .docs-icon-heading{left:-42px;top:-5599px}.docs-material .docs-icon-file-blue{left:-34px;top:-1310px}.docs-material .docs-icon-web-result{left:0;top:-4378px}.docs-material .docs-icon-mic{left:-20px;top:-5939px}.docs-material .docs-icon-paragraph{left:-26px;top:-4865px}.docs-material .docs-icon-bookmark-black{left:-22px;top:-5537px}.docs-material .docs-icon-web-result-blue{left:0;top:-3970px}.docs-material .docs-icon-popout{left:0;top:-6059px}.docs-material .docs-icon-checkbox{left:-20px;top:-4484px}.docs-material .docs-icon-checkbox-type{left:0;top:-3558px}.docs-material .docs-icon-dropdown-type{left:0;top:-5271px}.docs-material .docs-icon-grid-type{left:-20px;top:-3438px}.docs-material .docs-icon-image-type{left:-40px;top:-672px}.docs-material .docs-icon-radio-type{left:0;top:-2232px}.docs-material .docs-icon-scale-type{left:-20px;top:-1188px}.docs-material .docs-icon-text-type{left:-20px;top:-2918px}.docs-material .docs-icon-time-type{left:-20px;top:-3290px}.docs-material .docs-icon-insert-text-block{left:-42px;top:-1890px}.docs-material .docs-icon-accepting-responses-on{left:0;top:-594px}.docs-material .docs-icon-accepting-responses-off{left:0;top:-40px}.docs-material .docs-icon-decimal-increase{left:-20px;top:-1616px}.docs-material .docs-icon-decimal-decrease{left:-40px;top:-5005px}.docs-material .docs-icon-settings-white{left:-20px;top:-106px}.docs-material .docs-icon-no-symbol{left:-40px;top:-2772px}.docs-material .docs-icon-crop{left:-42px;top:-1910px}.docs-material .docs-icon-green-check{left:0;top:-1756px}.docs-material .docs-icon-font-size{left:0;top:-494px}.docs-material .docs-icon-reset-image{left:-42px;top:-1716px}.docs-material .docs-icon-r-squared{left:0;top:-4316px}.docs-material .docs-icon-graph-legend{left:0;top:-1228px}.docs-material .docs-icon-cast{left:-46px;top:-1102px}.docs-material .docs-icon-wrap-overflow{left:0;top:-4899px}.docs-material .docs-icon-wrap-wrap{left:-26px;top:-3244px}.docs-material .docs-icon-wrap-clip{left:-22px;top:-1288px}.docs-material .docs-icon-highlights{left:-40px;top:-3290px}.docs-material .docs-icon-green-back{left:0;top:-4747px}.docs-material .docs-icon-arrow-back-white{left:0;top:-4833px}.docs-material .docs-icon-arrow-back-white-rtl{left:-46px;top:-5145px}.docs-material .docs-icon-help{left:0;top:-2838px}.docs-material .docs-icon-highlight-green{left:0;top:-772px}.docs-material .docs-icon-equalizer{left:-26px;top:-3678px}.docs-material .docs-icon-explore-24{left:-46px;top:-894px}.docs-material .docs-icon-explore-black{left:-46px;top:-5125px}.docs-material .docs-icon-explore-black-padded{left:-40px;top:-2606px}.docs-material .docs-icon-explore-green{left:-40px;top:-4661px}.docs-material .docs-icon-explore-white{left:0;top:-1572px}.docs-material .docs-icon-insert-autovis-chart{left:-20px;top:-414px}.docs-material .docs-icon-insert-autovis-chart-white{left:-20px;top:-672px}.docs-material .docs-icon-zoom-in{left:-20px;top:-5979px}.docs-material .docs-icon-thumb-up{left:0;top:-752px}.docs-material .docs-icon-thumb-down{left:-26px;top:-3744px}.docs-material .docs-icon-dlp-warning{left:-40px;top:-3330px}.docs-material .docs-icon-dogfood{left:-26px;top:-3084px}.docs-material .docs-icon-add-to-drive{left:0;top:-1248px}.docs-material .docs-icon-add-shortcut-to-drive{left:0;top:-4985px}.docs-material .docs-icon-paste-without-formatting{left:-20px;top:-3638px}.docs-material .docs-icon-qanda{left:-20px;top:-5999px}.docs-material .docs-icon-update-chart{left:-46px;top:-3458px}.docs-material .docs-icon-arrow-back-dark{left:-20px;top:-3458px}.docs-material .docs-icon-arrow-back-dark-rtl{left:0;top:-3186px}.docs-material .docs-icon-open-in-external{left:-20px;top:-20px}.docs-material .docs-icon-close-20{left:0;top:-5537px}.docs-material .docs-icon-close-24{left:-46px;top:-3678px}.docs-material .docs-icon-unlink{left:-40px;top:-2858px}.docs-material .docs-icon-bar-chart{left:-20px;top:-4444px}.docs-material .docs-icon-column-chart{left:0;top:-3310px}.docs-material .docs-icon-line-chart{left:0;top:-5879px}.docs-material .docs-icon-pie-chart{left:-46px;top:-2338px}.docs-material .docs-icon-pie-chart-outline{height:18px;left:-46px;top:-86px;width:18px}.docs-material .docs-icon-named-range{left:0;top:-372px}.docs-material .docs-icon-clock{left:-20px;top:-3310px}.docs-material .docs-icon-cancel{left:0;top:-3658px}.docs-material .docs-icon-cancel-24{left:-46px;top:-3370px}.docs-material .docs-icon-arrow-line-tool{left:-26px;top:-3724px}.docs-material .docs-icon-arrow-tilted{left:0;top:-2138px}.docs-material .docs-icon-unsupported-black{left:-20px;top:-2272px}.docs-material .docs-icon-text-rotation-up{left:-20px;top:-5455px}.docs-material .docs-icon-text-rotation-down{left:0;top:-4484px}.docs-material .docs-icon-text-rotation-angleup{left:-20px;top:-166px}.docs-material .docs-icon-text-rotation-angledown{left:0;top:-3678px}.docs-material .docs-icon-text-rotation-vertical{left:-46px;top:-3724px}.docs-material .docs-icon-text-rotation-none{left:-26px;top:-4741px}.docs-material .docs-icon-keep-lightbulb{left:-40px;top:-2092px}.docs-material .docs-icon-update-table{left:-40px;top:-4212px}.docs-material .docs-icon-update-slide{left:-40px;top:-5045px}.docs-material .docs-icon-overflow-three-dots{left:-40px;top:-2212px}.docs-material .docs-icon-restore{left:-20px;top:-5313px}.docs-material .docs-icon-paragraph-border-between{left:-26px;top:-2686px}.docs-material .docs-icon-paragraph-border-bottom{left:-26px;top:-3390px}.docs-material .docs-icon-paragraph-border-left{left:0;top:-4252px}.docs-material .docs-icon-paragraph-border-right{left:0;top:-332px}.docs-material .docs-icon-paragraph-border-top{left:-26px;top:-286px}.docs-material .docs-icon-diagram-white{left:-20px;top:-352px}.docs-material .docs-icon-drive-black{left:-40px;top:-3270px}.docs-material .docs-icon-file-upload{left:0;top:-226px}.docs-material .docs-icon-photos{left:-40px;top:-5919px}.docs-material .docs-icon-keyboard{left:0;top:-2778px}.docs-material .docs-icon-dogfood-white{left:0;top:-6121px}.docs-material .docs-icon-hierarchy{left:0;top:-4939px}.docs-material .docs-icon-transition{left:-26px;top:-4925px}.docs-material .docs-icon-mask{left:0;top:-5211px}.docs-material .docs-icon-visibility-off{left:0;top:-1796px}.docs-material .docs-icon-volume-up{left:-52px;top:-1164px}.docs-material .docs-icon-volume-up-filled-36{left:0;top:-6141px}.docs-material .docs-icon-camera{left:0;top:-834px}.docs-material .docs-icon-pivot-table{left:-20px;top:-5435px}.docs-material .docs-icon-insert-pivot-table{left:-26px;top:-4885px}.docs-material .docs-icon-avatar-anonymous-white-32{left:-40px;top:-3598px}.docs-material .docs-icon-code{left:-40px;top:-2752px}.docs-material .docs-icon-play{left:0;top:-1716px}.docs-material .docs-icon-record{left:-40px;top:-5105px}.docs-material .docs-icon-flip-horizontal{left:0;top:-1102px}.docs-material .docs-icon-flip-vertical{left:-46px;top:-40px}.docs-material .docs-icon-rotate-cw{left:0;top:-3244px}.docs-material .docs-icon-database{left:0;top:-2726px}.docs-material .docs-icon-database-grey600{left:0;top:-2404px}.docs-material .docs-icon-plx{left:0;top:-2666px}.docs-material .docs-icon-bigquery{left:-20px;top:-614px}.docs-material .docs-icon-insert-dashboard{left:0;top:-20px}.docs-material .docs-icon-filter-control{left:-40px;top:-3538px}.docs-material .docs-icon-drag-handle-20{left:-20px;top:-5639px}.docs-material .docs-icon-drag-handle-24{left:0;top:-3898px}.docs-material .docs-icon-comment-outline-20{left:-52px;top:-3898px}.docs-material .docs-icon-comment-outline-24{left:0;top:-4278px}.docs-material .docs-icon-edit-outline-20{left:-26px;top:-2358px}.docs-material .docs-icon-edit-outline-24{left:-42px;top:-6123px}.docs-material .docs-icon-error-outline-20{left:0;top:-1836px}.docs-material .docs-icon-error-filled-24-red600{left:-46px;top:-2138px}.docs-material .docs-icon-settings-outline-20{left:-46px;top:-3396px}.docs-material .docs-icon-settings-outline-24{left:-46px;top:-4845px}.docs-material .docs-icon-share-outline-20{left:-40px;top:-372px}.docs-material .docs-icon-share-outline-24{left:-20px;top:-2292px}.docs-material .docs-icon-time-outline-20{left:0;top:-1288px}.docs-material .docs-icon-trend-outline-20{left:0;top:-4545px}.docs-material .docs-icon-accessibility{left:0;top:-5939px}.docs-material .docs-icon-people-24{left:0;top:-5125px}.docs-material .docs-icon-reload-white{left:-20px;top:-4150px}.docs-material .docs-icon-present{left:0;top:-574px}.docs-material .docs-icon-present-to-all{left:-26px;top:-5251px}.docs-material .docs-icon-present-to-all-24{left:0;top:-3718px}.docs-material .docs-icon-present-to-all-24-white{left:-40px;top:-4050px}.docs-material .docs-icon-chevron-left-24{left:0;top:-2338px}.docs-material .docs-icon-chevron-right-24{left:-40px;top:-1188px}.docs-material .docs-icon-chevron-down-24{left:-46px;top:-2112px}.docs-material .docs-icon-delete-grey600-24{left:0;top:-286px}.docs-material .docs-icon-palette{left:0;top:-4661px}.docs-material .docs-icon-sheets-table-24{left:0;top:-3390px}.docs-material .docs-icon-notifications-24{left:0;top:-4398px}.docs-material .docs-icon-notifications-20{left:-52px;top:-1142px}.docs-material .docs-icon-spellcheck{left:0;top:-1310px}.docs-material .docs-icon-add-item{left:0;top:-1532px}.docs-material .docs-icon-info-outline-grey{left:-20px;top:-2626px}.docs-material .docs-icon-datasheet-24-grey800{left:-20px;top:-226px}.docs-material .docs-icon-undo-autocorrect{left:-40px;top:-312px}.docs-material .docs-icon-spellbubble-feedback-16{left:0;top:-5841px}.docs-material .docs-icon-spellbubble-ignore-16{left:-52px;top:-1370px}.docs-material .docs-icon-spellbubble-overflow-three-dots-16{left:-52px;top:-4298px}.docs-material .docs-icon-list-24{left:0;top:-2752px}.docs-material .docs-icon-audio{left:-20px;top:-394px}.docs-material .docs-icon-drive-folder{left:-20px;top:-2212px}.docs-material .docs-icon-loading-circle-grey200{left:0;top:-1082px}.docs-material .docs-icon-pdf{left:-20px;top:-692px}.docs-material .docs-icon-web{left:-46px;top:-2292px}.docs-material .docs-icon-offline-pin-20{left:0;top:-5291px}.docs-material .docs-icon-sync-20{left:-20px;top:-4170px}.docs-material .docs-icon-sync-problem-20{left:0;top:-1858px}.docs-material .docs-icon-acl-view-only{left:-26px;top:-4845px}.docs-material .docs-icon-acl-view-only-on-brand-color-background{left:-20px;top:-1952px}.docs-material .docs-icon-acl-comment-only{left:0;top:-3618px}.docs-material .docs-icon-acl-comment-only-on-brand-color-background{left:-40px;top:-126px}.docs-material .docs-icon-approvals-lock{left:0;top:-814px}.docs-material .docs-icon-approvals-lock-open{left:0;top:-5065px}.docs-material .docs-icon-approvals-stamp{left:-20px;top:-5005px}.docs-material .docs-icon-recall-24{left:0;top:-4519px}.docs-material .docs-icon-feedback{left:-20px;top:-4050px}.docs-material .docs-icon-offline-cloud-24{left:-20px;top:-40px}.docs-material .docs-icon-arrow-down{left:0;top:-712px}.docs-material .docs-icon-arrow-up{left:-40px;top:-1676px}.docs-material .docs-icon-avatar-grey600{left:0;top:-4567px}.docs-material .docs-icon-description-grey600{left:0;top:-3518px}.docs-material .docs-icon-popout-below{left:0;top:-126px}.docs-material .docs-icon-group{left:-26px;top:-3044px}.docs-material .docs-icon-revisions-grey600{left:0;top:-2492px}.docs-material .docs-icon-popout-viewer-24-white{left:-40px;top:-394px}.docs-material .docs-icon-maximize-viewer{left:-40px;top:-2192px}.docs-material .docs-icon-maximize-viewer-24-white{left:-22px;top:-1776px}.docs-material .docs-icon-open-in-external-24-white{left:-46px;top:-1330px}.docs-material .docs-icon-copy-24-white{left:-26px;top:-4278px}.docs-material .docs-icon-sync{left:0;top:-3290px}.docs-material .docs-icon-search-insights{left:0;top:-1972px}.docs-material .docs-icon-logo-docs-40px{left:0;top:-6079px}.docs-material .docs-icon-logo-sheets-40px{left:0;top:-1910px}.docs-material .docs-icon-logo-slides-40px{left:-20px;top:-5475px}.docs-material .docs-icon-text-wrapping-wrap-72{left:0;top:-2512px}.docs-material .docs-icon-text-wrapping-break-72{left:0;top:-3784px}.docs-material .docs-icon-text-wrapping-inline-72{left:0;top:-4587px}.docs-material .docs-icon-text-wrapping-above-72{left:0;top:-5747px}.docs-material .docs-icon-text-wrapping-behind-72{left:0;top:-4076px}.docs-material .docs-icon-text-wrapping-wrap-text{left:-26px;top:-4504px}.docs-material .goog-toolbar-button-checked .docs-icon-text-wrapping-wrap-text{left:0;top:-4212px}.docs-material .docs-icon-text-wrapping-break-text{left:-20px;top:-854px}.docs-material .goog-toolbar-button-checked .docs-icon-text-wrapping-break-text{left:-46px;top:-554px}.docs-material .docs-icon-text-wrapping-inline-with-text{left:0;top:-4150px}.docs-material .goog-toolbar-button-checked .docs-icon-text-wrapping-inline-with-text{left:0;top:-5821px}.docs-material .docs-icon-text-wrapping-above-text{left:-40px;top:-2586px}.docs-material .goog-toolbar-button-checked .docs-icon-text-wrapping-above-text{left:-22px;top:-5291px}.docs-material .docs-icon-text-wrapping-behind-text{left:-20px;top:-5191px}.docs-material .goog-toolbar-button-checked .docs-icon-text-wrapping-behind-text{left:-26px;top:-4945px}.docs-material .docs-icon-quick-layout-top-left-50{left:-20px;top:-1000px}.docs-material .docs-icon-quick-layout-top-center-50{left:-20px;top:-1472px}.docs-material .docs-icon-quick-layout-top-right-50{left:0;top:-5665px}.docs-material .docs-icon-quick-layout-center-left-50{left:0;top:-1370px}.docs-material .docs-icon-quick-layout-center-50{left:0;top:-3104px}.docs-material .docs-icon-quick-layout-center-right-50{left:-20px;top:-1534px}.docs-material .docs-icon-quick-layout-bottom-left-50{left:-20px;top:-2404px}.docs-material .docs-icon-quick-layout-bottom-center-50{left:-20px;top:-752px}.docs-material .docs-icon-quick-layout-bottom-right-50{left:-22px;top:-1802px}.docs-material .docs-icon-encryption-shield{left:-40px;top:-5979px}.docs-material .docs-icon-cloud-check{left:-26px;top:-2706px}.docs-material .docs-icon-sync-no-connection{left:-40px;top:-4464px}.docs-material .docs-icon-sync-problem-red500{left:0;top:-1636px}.docs-material .docs-icon-sync-saved-locally{left:-20px;top:-5599px}.docs-material .docs-icon-sync-disabled{left:-40px;top:-3558px}.docs-material .docs-icon-sync-disabled-red600{left:-20px;top:-3350px}.docs-material .docs-icon-cloud-check-24{left:-40px;top:-2812px}.docs-material .docs-icon-sync-no-connection-24{left:-20px;top:-4252px}.docs-material .docs-icon-sync-problem-24-red500{left:-46px;top:-4741px}.docs-material .docs-icon-sync-saved-locally-24{left:-20px;top:-2978px}.docs-material .docs-icon-sync-disabled-24{left:-46px;top:-2978px}.docs-material .docs-icon-sync-disabled-24-red600{left:0;top:-1162px}.docs-material .docs-icon-auto-awesome{left:0;top:-1020px}.docs-material .docs-icon-warning-24{left:-40px;top:-1636px}.docs-material .docs-icon-info{left:-46px;top:-4252px}.docs-material .docs-icon-search-24{left:0;top:-4767px}.docs-material .docs-icon-sync-24{left:0;top:-4721px}.docs-material .docs-icon-add{left:-20px;top:-4212px}.docs-material .docs-icon-folder{left:-20px;top:-4661px}.docs-material .docs-icon-star-border{left:-20px;top:-6039px}.docs-material .docs-icon-star-filled{left:0;top:-4701px}.docs-material .docs-icon-link-24{left:-48px;top:-2358px}.docs-material .docs-icon-link-no-24{left:-22px;top:-1864px}.docs-material .docs-icon-paste-source-24{left:0;top:-3924px}.docs-material .docs-icon-paste-destination-24{left:0;top:-66px}.docs-material .docs-preview{left:0;top:-2586px}.docs-material .docs-icon-increase-22{left:-40px;top:-4418px}.docs-material .docs-icon-decrease-22{left:-42px;top:-6079px}.docs-material .docs-icon-gear-grey400-13{left:0;top:-4504px}.docs-material .docs-icon-gear-grey700-13{left:-40px;top:-5271px}.docs-material .docs-icon-gmail{left:-46px;top:-3990px}.docs-material .docs-icon-folder-move{left:-40px;top:-5395px}.docs-material .docs-icon-drag-top-left{left:0;top:-1356px}.docs-material .docs-icon-drag-top-right{left:-20px;top:-1310px}.docs-material .docs-icon-sync-pending{left:0;top:-4356px}.docs-material .docs-icon-sync-pending-24{left:-20px;top:-894px}.docs-material .docs-icon-check-24{left:-20px;top:-1330px}.docs-material .docs-icon-check-24-white{left:0;top:-5231px}.docs-material .docs-icon-instant-comment-24{left:-20px;top:-2726px}.docs-material .docs-icon-instant-comment-blue600-24{left:0;top:-2466px}.docs-material .docs-icon-instant-suggest-24{left:0;top:-3064px}.docs-material .docs-icon-instant-suggest-green600-24{left:-40px;top:-2466px}.docs-material .docs-icon-docos-continue-the-conversation-24{left:0;top:-2112px}.docs-material .docs-icon-locked-white{left:-46px;top:-4905px}.docs-material .docs-icon-youtube-red{left:-26px;top:-4524px}.docs-material .docs-icon-unarchive-24{left:-26px;top:-1142px}.docs-material .docs-icon-paintbrush{left:-26px;top:-2338px}.docs-material .docs-icon-videocam{left:-26px;top:-66px}.docs-material .docs-icon-send-to-email-24-red600{left:-20px;top:-4010px}.docs-material .docs-icon-sort_az{left:0;top:-534px}.docs-material .docs-icon-sort_za{left:-20px;top:-474px}.docs-material .docs-icon-insights{left:0;top:-1676px}.docs-material .docs-icon-appsheet{left:0;top:-1816px}.docs-material .docs-icon-tv{left:0;top:-5979px}.docs-material .docs-icon-laptop{left:-20px;top:-4192px}.docs-material .docs-icon-autofit-none{left:-20px;top:-434px}.docs-material .docs-icon-autofit-resize-shape{left:0;top:-394px}.docs-material .docs-icon-autofit-shrink-text{left:-20px;top:-834px}.docs-material .docs-icon-avatar{left:-40px;top:-4398px}.docs-material .docs-icon-sheets-ia-accessibility-person{left:-42px;top:-1930px}.docs-material .docs-icon-sheets-ia-add-box{left:0;top:-3950px}.docs-material .docs-icon-sheets-ia-add-comment{left:0;top:-2606px}.docs-material .docs-icon-sheets-ia-add-file-note{left:-52px;top:-3144px}.docs-material .docs-icon-sheets-ia-add-ons{left:-20px;top:-2606px}.docs-material .docs-icon-sheets-ia-add-person{left:-20px;top:-3878px}.docs-material .docs-icon-sheets-ia-add-shortcut-to-drive{left:0;top:-980px}.docs-material .docs-icon-sheets-ia-align-bottom{left:-46px;top:-266px}.docs-material .docs-icon-sheets-ia-align-center{left:0;top:-1552px}.docs-material .docs-icon-sheets-ia-align-left{left:0;top:-3764px}.docs-material .docs-icon-sheets-ia-align-middle{left:-20px;top:-6121px}.docs-material .docs-icon-sheets-ia-align-right{left:-46px;top:-2686px}.docs-material .docs-icon-sheets-ia-align-top{left:-26px;top:-2152px}.docs-material .docs-icon-sheets-ia-antenna-update{left:0;top:-854px}.docs-material .docs-icon-sheets-ia-approvals-stamp{left:-20px;top:-1696px}.docs-material .docs-icon-sheets-ia-apps-script{left:0;top:-2444px}.docs-material .docs-icon-sheets-ia-article-document{left:-40px;top:-3878px}.docs-material .docs-icon-sheets-ia-auto-complete-draw{left:0;top:-3698px}.docs-material .docs-icon-sheets-ia-auto-fix-wand{left:0;top:-3370px}.docs-material .docs-icon-sheets-ia-bigquery{left:-46px;top:-286px}.docs-material .docs-icon-sheets-ia-bold{left:-52px;top:-3204px}.docs-material .docs-icon-sheets-ia-chart{left:-46px;top:-4504px}.docs-material .docs-icon-sheets-ia-checkbox{left:-20px;top:-3618px}.docs-material .docs-icon-sheets-ia-clear-format{left:0;top:-5999px}.docs-material .docs-icon-sheets-ia-cloud-check-green{left:0;top:-1452px}.docs-material .docs-icon-sheets-ia-comment-feedback-warning{left:0;top:-434px}.docs-material .docs-icon-sheets-ia-comment-lines{left:-40px;top:-1616px}.docs-material .docs-icon-sheets-ia-conditional-format-gradient{left:-26px;top:-3186px}.docs-material .docs-icon-sheets-ia-content-copy{left:-40px;top:-3498px}.docs-material .docs-icon-sheets-ia-cut{left:0;top:-4232px}.docs-material .docs-icon-sheets-ia-database{left:-42px;top:-5537px}.docs-material .docs-icon-sheets-ia-delete-trash{left:-40px;top:-2252px}.docs-material .docs-icon-sheets-ia-dollar{left:-42px;top:-6149px}.docs-material .docs-icon-sheets-ia-download{left:-20px;top:-594px}.docs-material .docs-icon-sheets-ia-drag-move{left:0;top:-3270px}.docs-material .docs-icon-sheets-ia-drawings{left:-46px;top:-2726px}.docs-material .docs-icon-sheets-ia-dropdown-arrow-in-circle{left:0;top:-1656px}.docs-material .docs-icon-sheets-ia-ear-hear{left:-40px;top:-434px}.docs-material .docs-icon-sheets-ia-edit-pen{left:0;top:-5105px}.docs-material .docs-icon-sheets-ia-extract-sheet-copy{left:0;top:-5171px}.docs-material .docs-icon-sheets-ia-file{left:0;top:-1512px}.docs-material .docs-icon-sheets-ia-file-copy{left:-42px;top:-6059px}.docs-material .docs-icon-sheets-ia-filter-bars{left:-20px;top:-5171px}.docs-material .docs-icon-sheets-ia-filter-funnel{left:-20px;top:-4681px}.docs-material .docs-icon-sheets-ia-filter-table-view{left:-52px;top:-3184px}.docs-material .docs-icon-sheets-ia-find-replace{left:-46px;top:-3478px}.docs-material .docs-icon-sheets-ia-folder{left:-52px;top:-3044px}.docs-material .docs-icon-sheets-ia-folder-move{left:0;top:-2424px}.docs-material .docs-icon-sheets-ia-font-text-size{left:-40px;top:-814px}.docs-material .docs-icon-sheets-ia-fullscreen{left:0;top:-5045px}.docs-material .docs-icon-sheets-ia-fullscreen-exit{left:0;top:-3538px}.docs-material .docs-icon-sheets-ia-globe{left:-20px;top:-1268px}.docs-material .docs-icon-sheets-ia-gmail{left:0;top:-2958px}.docs-material .docs-icon-sheets-ia-grid-range{left:-20px;top:-2798px}.docs-material .docs-icon-sheets-ia-help{left:-26px;top:-2112px}.docs-material .docs-icon-sheets-ia-history-restore{left:-20px;top:-4316px}.docs-material .docs-icon-sheets-ia-horizontal-rows{left:-40px;top:-2052px}.docs-material .docs-icon-sheets-ia-info{left:-40px;top:-1696px}.docs-material .docs-icon-sheets-ia-italic{left:-46px;top:-3704px}.docs-material .docs-icon-sheets-ia-keyboard{left:-40px;top:-534px}.docs-material .docs-icon-sheets-ia-label{left:0;top:-2918px}.docs-material .docs-icon-sheets-ia-lightbulb{left:0;top:-1330px}.docs-material .docs-icon-sheets-ia-line-graph{left:-20px;top:-2818px}.docs-material .docs-icon-sheets-ia-link{left:-20px;top:-5517px}.docs-material .docs-icon-sheets-ia-link-off{left:0;top:-1492px}.docs-material .docs-icon-sheets-ia-lock-close{left:0;top:-1208px}.docs-material .docs-icon-sheets-ia-lock-open{left:-40px;top:-3418px}.docs-material .docs-icon-sheets-ia-logo-forms{left:0;top:-5619px}.docs-material .docs-icon-sheets-ia-logo-sheets{left:0;top:-3166px}.docs-material .docs-icon-sheets-ia-minus{left:0;top:-4170px}.docs-material .docs-icon-sheets-ia-minus-box{left:-20px;top:-5395px}.docs-material .docs-icon-sheets-ia-notification-bell{left:-40px;top:-5517px}.docs-material .docs-icon-sheets-ia-numbers-123{left:-20px;top:-2232px}.docs-material .docs-icon-sheets-ia-offline-pin{left:-40px;top:-4965px}.docs-material .docs-icon-sheets-ia-offline-pin-green{left:0;top:-3858px}.docs-material .docs-icon-sheets-ia-open-new-window{left:0;top:-2318px}.docs-material .docs-icon-sheets-ia-paint-palette-theme{left:-40px;top:-20px}.docs-material .docs-icon-sheets-ia-paintbrush{left:0;top:-960px}.docs-material .docs-icon-sheets-ia-paper-airplane-blue{left:-52px;top:-1388px}.docs-material .docs-icon-sheets-ia-paperclip{left:-52px;top:-3164px}.docs-material .docs-icon-sheets-ia-paragraph-right-to-left{left:0;top:-1472px}.docs-material .docs-icon-sheets-ia-paste{left:0;top:-2212px}.docs-material .docs-icon-sheets-ia-photo-image{left:0;top:-1432px}.docs-material .docs-icon-sheets-ia-pivot-table{left:0;top:-2818px}.docs-material .docs-icon-sheets-ia-play-circle{left:-20px;top:-5879px}.docs-material .docs-icon-sheets-ia-plus{left:-20px;top:-5579px}.docs-material .docs-icon-sheets-ia-plx{left:0;top:-2364px}.docs-material .docs-icon-sheets-ia-print{left:0;top:-2292px}.docs-material .docs-icon-sheets-ia-redo{left:0;top:-4050px}.docs-material .docs-icon-sheets-ia-refresh{left:-20px;top:-2012px}.docs-material .docs-icon-sheets-ia-rename{left:-40px;top:-1452px}.docs-material .docs-icon-sheets-ia-resize-horizontal{left:0;top:-5025px}.docs-material .docs-icon-sheets-ia-rotate-box{left:0;top:-2798px}.docs-material .docs-icon-sheets-ia-school-graduation{left:0;top:-5005px}.docs-material .docs-icon-sheets-ia-settings-gear{left:-20px;top:-5559px}.docs-material .docs-icon-sheets-ia-sheets-tab{left:-20px;top:-1208px}.docs-material .docs-icon-sheets-ia-shuffle-swap{left:-20px;top:-2318px}.docs-material .docs-icon-sheets-ia-sigma-function{left:0;top:-4879px}.docs-material .docs-icon-sheets-ia-sort{left:0;top:-1776px}.docs-material .docs-icon-sheets-ia-spellcheck{left:-40px;top:-4567px}.docs-material .docs-icon-sheets-ia-spreadsheet-black{left:-42px;top:-5619px}.docs-material .docs-icon-sheets-ia-spreadsheet-green{left:-46px;top:-3004px}.docs-material .docs-icon-sheets-ia-square-box-selection{left:0;top:-2052px}.docs-material .docs-icon-sheets-ia-square-rounded{left:-20px;top:-5645px}.docs-material .docs-icon-sheets-ia-strikethrough{left:0;top:-3744px}.docs-material .docs-icon-sheets-ia-sync{left:-26px;top:-3166px}.docs-material .docs-icon-sheets-ia-sync-problem{left:-40px;top:-4316px}.docs-material .docs-icon-sheets-ia-table{left:0;top:-1696px}.docs-material .docs-icon-sheets-ia-table-check{left:0;top:-2272px}.docs-material .docs-icon-sheets-ia-table-tab{left:0;top:-5599px}.docs-material .docs-icon-sheets-ia-text-rotate-angle-down{left:-54px;top:-1310px}.docs-material .docs-icon-sheets-ia-text-rotate-angle-up{left:-20px;top:-1992px}.docs-material .docs-icon-sheets-ia-text-rotate-down{left:0;top:-3438px}.docs-material .docs-icon-sheets-ia-text-rotate-none{left:-20px;top:-5919px}.docs-material .docs-icon-sheets-ia-text-rotate-up{left:0;top:-5495px}.docs-material .docs-icon-sheets-ia-text-rotate-vertical-stack{left:-20px;top:-5859px}.docs-material .docs-icon-sheets-ia-text-wrap{left:0;top:-874px}.docs-material .docs-icon-sheets-ia-trending-up-arrow{left:0;top:-920px}.docs-material .docs-icon-sheets-ia-triangle-problem-warning{left:-46px;top:-246px}.docs-material .docs-icon-sheets-ia-underline{left:0;top:-4336px}.docs-material .docs-icon-sheets-ia-undo{left:-20px;top:-2172px}.docs-material .docs-icon-sheets-ia-user-edit-history{left:-52px;top:-3084px}.docs-material .docs-icon-sheets-ia-user-preference-settings{left:-20px;top:-940px}.docs-material .docs-icon-sheets-ia-vertical-columns{left:-26px;top:-4701px}.docs-material .docs-icon-sheets-ia-view-show{left:-26px;top:-5125px}.docs-material .docs-icon-sheets-ia-zoom-in{left:0;top:-1596px}.docs-gm .docs-circle-promo-base{height:210px;width:210px;background-color:#188038!important;border-color:#188038!important}.docs-circle-promo-base{border-style:solid;border-width:400px;border-radius:800px;font-size:16px;height:136px;position:absolute;width:136px;z-index:9000}.docs-gm .docs-circle-promo-content{color:white;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;line-height:22px;margin-left:80px;position:relative;width:350px}.docs-circle-promo-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;width:280px}.docs-gm .docs-circle-promo-header{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:20px;font-size:var(--docs-material-font-size-22,20px)}.docs-circle-promo-header{font-size:20px;line-height:27px;margin-bottom:16px}.docs-circle-promo-buttons{margin-top:16px}.docs-circle-promo-button{cursor:pointer;font-size:14px;font-weight:500;text-transform:uppercase}.docs-circle-promo-button:hover,.docs-circle-promo-button:focus{opacity:0.87}.docs-circle-promo-continue-button{margin-right:20px}.docs-material-promo-walkthrough-bubble{background-color:#fff;border:1px solid transparent;border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);position:absolute;z-index:1003}.docs-material-promo-walkthrough-bubble:focus{outline:none}.docs-material-promo-walkthrough-bubble .jfk-bubble-content{min-width:312px;padding:0px 24px 24px}.docs-material-promo-walkthrough-bubble-buttons{display:flex;justify-content:flex-end;padding:24px}.docs-material-promo-walkthrough-bubble .docs-material-button-fill-primary.docs-material-button{margin-left:12px;text-transform:none}.docs-material-promo-walkthrough-bubble-close-button{background-color:transparent;border:none;border-radius:50%;cursor:pointer;margin:0px;outline:0;padding:7px;position:absolute;right:8px;top:8px}.docs-material-promo-walkthrough-bubble-close-button.goog-flat-button-hover{background-color:#f1f3f4}.docs-material-promo-walkthrough-bubble-close-button.goog-flat-button-focused{background-color:#e8eaed;outline:none}.docs-material-promo-walkthrough-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.docs-material-promo-walkthrough-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:rgba(60,64,67,0.1) transparent}.docs-material-promo-walkthrough-bubble .jfk-bubble-arrowleft .jfk-bubble-arrowimplbefore,.docs-material-promo-walkthrough-bubble .jfk-bubble-arrowright .jfk-bubble-arrowimplbefore{border-color:transparent rgba(60,64,67,0.1)}.docs-binaryupsavewarning{width:512px}.docs-binaryupsavewarning-content-text{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px}a.docs-binaryupsavewarning-learn-more,a.docs-binaryupsavewarning-learn-more:visited{align-self:center;color:#188038;font-family:var(--docs-material-header-font-family,Roboto,RobotoDraft,Helvetica,Arial,sans-serif);font-size:14px;font-weight:var(--docs-material-font-weight-bold,700);margin-right:auto}.office-editing-survey-feedback{background-color:#188038;border-radius:4px;color:#fff;display:inline-block;height:40px;left:0;margin:0 auto;position:absolute;right:0;top:16px;width:348px;z-index:1}.office-editing-survey-feedback-title{float:left;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:40px;padding:0 32px 0 24px}.office-editing-survey-feedback-take-survey-button{color:#fff;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:40px;line-height:40px}.office-editing-survey-feedback-close-button{cursor:pointer;float:right;height:40px;line-height:40px;margin-right:12px;opacity:0.5}.docs-unsupportedofficefeatureswarning{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;width:512px}.docs-unsupportedofficefeatureswarning-content-restorefiletext{border-bottom:1px solid #bdc1c6;color:#5f6368;font-size:16px;line-height:24px;margin-bottom:23px;margin-top:-8px;padding-bottom:16px}.docs-unsupportedofficefeatureswarning-content-features-list{font-size:14px;max-height:128px;overflow-y:auto}.docs-unsupportedofficefeatureswarning-content-feature{color:#3c4043;margin-bottom:12px}a.docs-unsupportedofficefeatureswarning-learn-more,a.docs-unsupportedofficefeatureswarning-learn-more:visited{align-self:center;color:#188038;font-family:var(--docs-material-header-font-family,Roboto,RobotoDraft,Helvetica,Arial,sans-serif);font-size:14px;font-weight:var(--docs-material-font-weight-bold,700);margin-right:auto}.docs-image-picker-upload{font-family:Roboto,Arial,sans-serif}.docs-image-picker-upload.modal-dialog{padding:0}.docs-image-picker-upload .modal-dialog-title{padding:17px 20px 0}.docs-image-picker-upload .modal-dialog-title-text{font-size:20px}.docs-image-picker-upload .modal-dialog-content{line-height:normal;padding:0 20px}.docs-image-picker-upload .modal-dialog-buttons{border-top:1px solid #e5e5e5;margin-top:20px;padding:17px 20px}.docs-image-picker-upload-container{min-height:300px;min-width:450px}.docs-image-picker-upload-msg-bar{color:#ccc;font-size:16px;font-style:italic;padding:0 0 10px}.docs-image-picker-upload-dropzone-parent{height:100%;width:100%}.docs-image-picker-upload-dropzone-cell{border:#ddd 4px dashed;border-radius:2px;height:100%}.docs-image-picker-upload-dropzone-cell .jfk-button{margin:0}.docs-image-picker-upload-dropzone{height:100%;text-align:center;width:100%}.docs-image-picker-upload-drop-here{color:#ccc;font-size:20pt;padding:0 10px}.docs-image-picker-upload-drop-alt{color:#ccc;font-size:13px;font-weight:500;padding:15px 0 5px}.docs-image-picker-upload-warning{color:#aaa;display:inline-block;font-size:13px;padding:0 20px 0 30px;vertical-align:middle}.docs-odp-sidebar{overflow:hidden;box-shadow:-3px 0px 6px -3px rgba(60,64,67,.15),3px 0px 6px -3px rgba(60,64,67,.15);border-top:1px solid #dadce0;display:flex;flex-direction:column;position:absolute;right:0;top:0;width:300px}.docs-odp-iframe{flex:1 0;border:0}.pub-dialog-disabled-text{color:#afafaf}.pub-dialog-wrap{font-size:13px;font-size:var(--docs-material-font-size-normal,13px);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;width:500px}.pub-dialog-content-div{padding:0 0 10px 30px}.pub-dialog-input-div{padding-bottom:15px}.pub-dialog-option-vspacer{height:5px}.pub-dialog-info{color:#999;font-size:11px;padding-bottom:2px}.docs-gm .pub-dialog-info{color:#80868b}.docs-gm .pub-dialog-state-published.pub-dialog-info{color:#1a73e8}.pub-dialog-tab{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.goog-tab-bar.pub-dialog-tab-bar{background:none;border-bottom-color:silver!important;margin-top:20px;padding-left:0!important}.docs-gm .goog-tab-bar.pub-dialog-tab-bar{margin-top:21px;padding-top:0}.goog-tab-bar.pub-dialog-tab-bar .goog-tab.pub-dialog-tab{color:#bdbdbd;cursor:pointer;font-weight:500;margin:1px 15px 0 0;padding:4px 8px;text-decoration:none;top:1px}.docs-gm .goog-tab-bar.pub-dialog-tab-bar .goog-tab.pub-dialog-tab{color:#5f6368;font-size:14px;text-align:center;width:120px}.goog-tab-bar.pub-dialog-tab-bar .goog-tab.pub-dialog-tab.goog-tab-selected,.goog-tab-bar.pub-dialog-tab-bar .goog-tab.pub-dialog-tab.goog-tab-hover{background:none;border-bottom:3px solid #4d90fe;border-left:none;border-right:none;border-top:none;color:black}.docs-gm .goog-tab-bar.pub-dialog-tab-bar .goog-tab.pub-dialog-tab.goog-tab-selected,.docs-gm .goog-tab-bar.pub-dialog-tab-bar .goog-tab.pub-dialog-tab.goog-tab-hover{border-bottom:2px solid #1a73e8}.pub-dialog-document-link,.pub-dialog-embed-code{margin-top:20px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pub-dialog-link-content-div{margin-top:10px}.docs-gm .pub-dialog-link-options-container{display:flex}.pub-dialog-embed-code{font-size:13px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:65px}.docs-gm .pub-dialog-embed-code{height:82px!important}.docs-gm .pub-dialog-link-options-document-part-menu-button{margin-right:15px}.pub-dialog-sep-div{padding:20px 0}#pub-dialog-publish-link-button{margin-top:20px}#pub-dialog-dom-signin-req-dropdown-container{margin-left:30px}.pub-dialog-sep{border-top-color:#e1e1e1;border-top-style:solid;border-width:1px 0 0 0;color:#bfbfbf;height:0}.goog-zippy-header.pub-dialog-zippy-header{cursor:pointer;display:inline-block;margin:0}.docs-gm .goog-zippy-header.pub-dialog-zippy-header{color:#3c4043}.pub-dialog-zippy-content{margin-left:22px}.docs-gm #pub-dialog-publish-button{color:#5f6368}.goog-zippy-collapsed .pub-dialog-settings-zippy-icon{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.goog-zippy-expanded .pub-dialog-settings-zippy-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}#pub-dialog-publish-button{margin-top:10px}.pub-dialog-checkbox-container{line-height:22px;margin-top:10px}.docs-link-infilelinksuggestiongroup-cb .docs-link-infilelinksuggestiongroup-cb-openarrow{display:none}.docs-link-infilelinksuggestiongroup-cb.docs-link-infilelinksuggestiongroup-cb-open .docs-link-infilelinksuggestiongroup-cb-openarrow{display:inline-block}.docs-link-infilelinksuggestiongroup-cb.docs-link-infilelinksuggestiongroup-cb-closearrow{display:inline-block}.docs-link-infilelinksuggestiongroup-cb.docs-link-infilelinksuggestiongroup-cb-open .docs-link-infilelinksuggestiongroup-cb-closearrow{display:none}.docs-link-infilelinksuggestiongroup-cb .docs-icon{margin:0 6px}.docs-link-infilelinksuggestiongroup-cb-title{display:inline-block;padding:8px 0}.docs-link-infilelinksuggestiongroup-cb{margin:6px 0;outline:none}.docs-link-infilelinksuggestiongroup-cb:hover,.docs-link-infilelinksuggestiongroup-cb-keyboardfocus{background-color:#eee;cursor:default;outline:none}.goog-zippy-content .docs-link-linksuggestion{padding-left:27px}.docs-linkbubble-link-preview .docs-link-bubble-mime-icon .docs-icon{vertical-align:baseline;width:18px;height:18px;margin:0px}.docs-linkbubble-link-preview #docs-linkbubble-link-text{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;opacity:1;padding-left:6px;padding-right:6px;text-decoration:none!important;vertical-align:baseline;width:180px}.docs-linkbubble-link-preview .link-previews-broken-link#docs-linkbubble-link-text{color:#80868b!important;cursor:default;font-style:italic;pointer-events:none}.link-previews-before-transition{opacity:.5!important}.link-previews-animate-on-display{animation:fade .15s}@keyframes fade{from{opacity:.5}}.link-previews-fadeable{transition:opacity .15s!important}.docs-linkbubble-link-preview.docs-linkbubble-bubble{border:0;padding:6px 0}.docs-linkbubble-link-preview .link-bubble-header{align-items:center;display:flex;padding:0 6px}.docs-gm .docs-linkbubble-bubble,.docs-gm .docs-multi-linkbubble-bubble{background-color:#fff;border-color:#dadce0;border-radius:8px;box-shadow:0 1px 3px 1px rgba(60,64,67,.15);color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px}.docs-linkbubble-link-preview .docs-link-bubble-mime-icon{height:18px;padding:6px;vertical-align:baseline;width:18px;opacity:1}.docs-linkbubble-link-preview .docs-link-bubble-card-component.docs-link-bubble-action-card-component,.docs-linkbubble-link-preview .docs-link-bubble-card-component.docs-link-bubble-warning-card-component{margin-top:4px;padding:10px 12px 4px}.docs-linkbubble-link-preview .docs-link-bubble-card-component.docs-link-bubble-action-card-component,.docs-linkbubble-link-preview .docs-link-bubble-action-card-component:before{background-color:#1a73e8}.docs-linkbubble-link-preview .docs-link-bubble-card-component.docs-link-bubble-warning-card-component,.docs-linkbubble-link-preview .docs-link-bubble-warning-card-component:before{background-color:#fef7e0}.docs-linkbubble-link-preview .docs-link-bubble-text-card-component.docs-link-bubble-warning-card-component span{color:#202124!important}.docs-linkbubble-link-preview .docs-link-bubble-favicon{border-radius:2px;height:18px;opacity:1;padding:6px;vertical-align:baseline;width:18px}.docs-linkbubble-link-preview .docs-link-bubble-favicon img{border-radius:2px;height:18px;width:18px}.docs-linkbubble-link-preview .docs-link-bubble-action-card-component:before,.docs-linkbubble-link-preview .docs-link-bubble-warning-card-component:before{content:'';height:7px;left:0;bottom:0;position:absolute;width:100%;border-radius:0 0 8px 8px;z-index:-1}.docs-linkbubble-link-preview .docs-link-bubble-card-component .docs-link-bubble-mime-icon{padding:0px}.docs-linkbubble-link-preview .docs-link-bubble-card-component{align-items:center;display:flex;padding:6px 12px}.linkbubble-card-collapsed .docs-link-bubble-card-component{display:none!important}.linkbubble-card-collapsed .docs-link-bubble-card-component.linkbubble-card-non-collapsible{display:flex}.docs-linkbubble-link-preview .docs-link-bubble-title-card-component a{color:#202124!important;flex-grow:1;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:18px;overflow:hidden;padding-left:12px;text-overflow:ellipsis;white-space:nowrap;width:0}.docs-linkbubble-link-preview .docs-link-bubble-title-card-component a:hover{text-decoration:none!important}.docs-linkbubble-link-preview .docs-link-bubble-text-card-component span,.docs-linkbubble-link-preview .docs-link-bubble-action-card-component span,.docs-linkbubble-link-preview .docs-link-bubble-warning-card-component span{flex-direction:column;flex-grow:1;font-size:12px;justify-content:center;line-height:1.3;overflow-wrap:break-word;white-space:normal;width:0;word-wrap:break-word}.docs-linkbubble-link-preview .docs-link-bubble-text-card-component span{color:#80868b!important;cursor:text}.docs-linkbubble-link-preview .docs-link-bubble-action-card-component span{color:#fff!important}.docs-linkbubble-link-preview .docs-link-bubble-thumbnail-container{background-color:#e8eaed;border-radius:4px;display:flex;flex-grow:1;height:141px;overflow:hidden;position:relative;width:0}.docs-linkbubble-link-preview .docs-link-bubble-thumbnail-container a{display:flex;flex-direction:column;flex-grow:1;justify-content:center;align-items:center}.docs-linkbubble-link-preview .drive-image-thumbnail-component .docs-link-bubble-thumbnail-container a{display:block!important}.drive-image-thumbnail-component .docs-link-bubble-thumbnail-container{border:1px solid #e8eaed}#link-bubble-thumbnail-image{background-position:center;background-repeat:no-repeat;height:100%;width:100%}.default-image-card-component #link-bubble-thumbnail-image,.vertical-image-card-component #link-bubble-thumbnail-image{background-size:contain}.horizontal-image-card-component #link-bubble-thumbnail-image{background-size:cover}.vertical-image-card-component img.link-bubble-drive-thumbnail-image{display:block;height:100%;margin:auto}.default-image-card-component img.link-bubble-drive-thumbnail-image,.horizontal-image-card-component img.link-bubble-drive-thumbnail-image{width:100%}.docs-link-bubble-high-contrast .docs-link-bubble-thumbnail-container a{height:120%;transform:translateY(-10%)}#high-contrast-link-bubble-thumbnail-image{height:100%}.framed-image-card-component img.link-bubble-drive-thumbnail-image{box-shadow:0 0 6px 0 rgba(0,0,0,0.12);margin:6% 7% 0 7%;width:86%}.docs-link-bubble-thumbnail-card-component .link-bubble-youtube-preview-video{position:absolute;transition:opacity .75s cubic-bezier(.4,0,.2,1);width:100%}.link-bubble-youtube-preview-video.preview-video-transparent{opacity:0}.link-bubble-youtube-preview-video.preview-video-hidden{display:none}.link-bubble-youtube-preview-video.preview-video-opaque{opacity:1}.link-bubble-youtube-preview-video.preview-video-visible{display:block}.docs-link-bubble-thumbnail-card-component #link-bubble-youtube-video-duration-indicator{-webkit-align-items:center;align-items:center;background-color:rgba(0,0,0,0.8);border-radius:2px;bottom:8px;color:#fff;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;font-size:12px;font-weight:500;height:16px;-webkit-justify-content:center;justify-content:center;opacity:1;padding:0 4px;position:absolute;right:8px;transition:opacity .1s ease-in-out}.link-bubble-hovered .docs-link-bubble-youtube-thumbnail-container.link-bubble-thumbnail-can-open-in-mole #link-bubble-youtube-video-duration-indicator{opacity:0}.docs-linkbubble-link-preview .docs-link-bubble-card-component .docs-link-bubble-text-with-icon{padding-left:12px}.docs-linkbubble-link-preview .docs-link-bubble-text-card-component.indented-card-component .text-card-component-text{padding-left:30px}.docs-linkbubble-link-preview .docs-link-bubble-card-component.shrink-vertical-padding-card-component{padding-top:0px}.docs-linkbubble-link-preview .docs-link-bubble-text-card-component.single-line-text-card-component .text-card-component-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-linkbubble-link-preview .docs-link-bubble-separator{background-color:#e8eaed;height:1px;margin:6px}.docs-linkbubble-link-preview.docs-hc-gecko,.docs-linkbubble-link-preview.docs-hc-ie,.docs-hc-gecko .doc-previews-indicator-container,.docs-hc-ie .doc-previews-indicator-container,.docs-hc-gecko .doc-previews-indicator-popover,.docs-hc-ie .doc-previews-indicator-popover{border:1px solid transparent}.docs-hc-gecko .doc-previews-indicator-popover .docs-link-bubble-mime-icon{filter:invert(100%)}.docs-hc-gecko .docs-link-bubble-separator,.docs-hc-ie .docs-link-bubble-separator{height:0px;border:1px solid transparent}.docs-link-bubble-action-container .goog-menuitem{white-space:nowrap}.docs-linkbubble-bubble .goog-menu .goog-option-selected{background-position:8px 50%}.docs-link-bubble-request-access-card-component.docs-link-bubble-card-component{display:flex;flex-direction:column}.docs-link-bubble-request-access-card-component .link-bubble-text-button{display:flex;padding-top:6px;width:100%}.docs-link-bubble-request-access-card-component .link-bubble-text-button .link-bubble-text-button-container{align-items:center;display:flex;flex-grow:1;justify-content:flex-end;white-space:normal;word-break:break-word;width:0}.docs-link-bubble-request-access-card-component .link-bubble-text-button .link-bubble-text-button-info-icon{display:flex;padding:4px}.docs-link-bubble-request-access-card-component .link-bubble-text-button .link-bubble-text-button-info-icon:hover{background-color:rgba(0,0,0,.06);border-radius:50%}.docs-link-bubble-request-access-card-component .request-access-header{display:flex;justify-content:flex-start;width:100%}.docs-link-bubble-request-access-card-component .request-access-header span{color:#80868b;display:flex;flex-grow:1;font-size:12px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;white-space:normal;width:0}.docs-link-bubble-request-access-card-component .requested-access-text{display:flex;width:100%}.docs-link-bubble-request-access-card-component .requested-access-text span{color:#80868b;display:flex;flex-grow:1;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-style:italic;justify-content:flex-end;padding-top:6px;white-space:normal;width:0}.docs-link-bubble-acl-fixer-card-component{justify-content:space-between;transition:all .2s cubic-bezier(.4,0,.2,1)}.docs-link-bubble-acl-fixer-card-component.link-bubble-acl-fixer-hidden,.docs-link-bubble-card-component.docs-link-bubble-action-card-component.link-bubble-acl-fixer-hidden{visibility:hidden;height:0;padding-top:0;padding-bottom:0;opacity:0}.docs-link-bubble-acl-fixer-card-component #acl-fixer-descriptor{color:#80868b;flex-grow:1;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;overflow-wrap:break-word;white-space:normal;width:0;word-wrap:break-word}.docs-link-bubble-card-component .link-bubble-text-button-text{color:#188038;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px!important;font-weight:500;margin-left:4px;padding:4px 8px}.docs-link-bubble-card-component.docs-link-bubble-action-card-component.link-bubble-acl-fixer-ui-variant{transition:all .2s cubic-bezier(.4,0,.2,1)}.docs-link-bubble-acl-fixer-card-component .link-bubble-text-button-text.link-bubble-text-button-text-disabled,.docs-link-bubble-action-card-component.link-bubble-acl-fixer-ui-variant .link-bubble-text-button-text.link-bubble-text-button-text-disabled{color:#80868b;cursor:default;outline:none}.docs-link-bubble-card-component .link-bubble-text-button-text:hover{background-color:#e6f4ea;border-radius:4px}.docs-link-bubble-acl-fixer-card-component .link-bubble-text-button-text.link-bubble-text-button-text-disabled:hover{background-color:transparent}.docs-link-bubble-card-component.docs-link-bubble-action-card-component .link-bubble-text-button-text{color:#fff!important}.docs-link-bubble-card-component.docs-link-bubble-action-card-component .link-bubble-text-button-text:hover{background-color:#1967d2!important}.doc-previews-indicator-container{align-items:flex-end;display:flex;height:100%;justify-content:flex-end;left:0;pointer-events:none;position:absolute;transition:background-color .1s cubic-bezier(.4,0,.2,1);width:100%}.docs-link-bubble-youtube-thumbnail-container .doc-previews-indicator-container{opacity:0}.link-bubble-hovered .docs-link-bubble-youtube-thumbnail-container .doc-previews-indicator-container{opacity:1}.docs-hc-gecko .doc-previews-indicator-container.hovered-card-component,.docs-hc-ie .doc-previews-indicator-container.hovered-card-component{background-color:transparent}.docs-link-bubble-thumbnail-container:not(.docs-link-bubble-youtube-thumbnail-container) .doc-previews-indicator-container.hovered-card-component{background-color:rgba(32,33,36,0.1)}.doc-previews-indicator-text{color:#fff;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;max-width:0;opacity:0;overflow:hidden;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.link-bubble-hovered .doc-previews-indicator-text{max-width:4000px;opacity:1;padding-left:8px;padding-right:4px}.doc-previews-indicator-popover{align-items:center;background-color:rgba(32,33,36,.6);border-radius:16px;display:flex;margin-bottom:12px;margin-right:12px;padding:6px}.docs-linkbubble-link-preview .docs-link-bubble-card-component .doc-previews-indicator-popover .docs-link-bubble-mime-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.docs-linkbubble-link-preview.link-bubble-hovered .docs-link-bubble-card-component .doc-previews-indicator-popover .docs-link-bubble-mime-icon{padding-left:4px}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble.docs-link-previews-details-promo .jfk-bubble-arrowleft .jfk-bubble-arrowimplafter,.jfk-bubble.jfk-bubble-promo.docs-promo-bubble.docs-link-previews-details-promo .jfk-bubble-arrowright .jfk-bubble-arrowimplafter{border-color:transparent #1a73e8}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo .docs-promo-text-container{width:auto}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo .docs-promo-body{color:#f1f3f4;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:.2px;padding:4px 0}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo .docs-promo-action-container{color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:12px 0 0 20px;text-transform:none}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo .docs-promo-header{color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;opacity:1}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo .docs-promo-action-row{display:flex;flex-direction:row-reverse;padding:0}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo .docs-promo-container{padding:16px}.jfk-bubble.docs-promo-bubble.docs-link-previews-details-promo{box-shadow:0px 2px 6px 2px rgba(26,115,232,0.15);background-color:#1a73e8;border-radius:8px;width:251px}.docs-gm .docs-linkbubble-link-preview .docs-link-bubble-mime-icon .docs-icon .docs-icon-grid{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-gm .docs-multi-linkbubble-bubble{padding:8px 4px}.docs-multi-linkbubble-bubble .docs-linkbubble-bubble{border:0;border-radius:0;box-shadow:none;padding:0px;position:relative}.docs-gm .docs-linkbubble-multi-link-scrollable-container{background-color:#fff;border-color:#dadce0;color:#3c4043;display:flex;flex-direction:column;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:auto;max-height:150px;overflow-y:auto}.docs-link-insertlinkbubble{margin:-1px;min-width:306px;outline:none;padding:1px}.docs-gm .docs-link-insertlinkbubble ::selection{background:#d2e3fc}.docs-link-insertlinkbubble-url-label,.docs-link-insertlinkbubble-text-label{display:block;height:13px;padding:8px 0}.docs-link-insertlinkbubble-text{display:block;width:244px}.docs-gm .docs-material-bubble .docs-link-insertlinkbubble .docs-link-insertlinkbubble-text{box-sizing:content-box;color:#5f6368;height:32px;margin:0;width:294px}.docs-gm .docs-material-bubble .docs-link-insertlinkbubble-text:focus{color:#3c4043}.docs-link-insertlinkbubble-text-label,.docs-link-insertlinkbubble-text{margin-bottom:5px}.docs-gm .docs-link-insertlinkbubble-url-label,.docs-gm .docs-link-insertlinkbubble-text-label{background-color:white;box-shadow:5px 0 0 white,-5px 0 0 white;color:#5f6368;display:inline;font-size:12px;left:12px;margin-bottom:0;max-width:300px;padding:0;position:absolute;top:-8px;word-wrap:break-word}.docs-link-insertlinkbubble-urlholder{float:left;outline:none}.docs-link-insertlinkbubble-suggestionholder{background-color:white;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);max-height:207px;overflow-x:hidden;outline:none;position:absolute;width:260px;z-index:1}.docs-gm .docs-link-insertlinkbubble-suggestionholder{border-radius:0 0 8px 8px;color:#3c4043;margin:1px 0px;width:310px}.docs-link-insertlinkbubble-linkchip{width:312px}.docs-link-insertlinkbubble-buttonbar .jfk-button{margin-right:0}.docs-gm .docs-link-insertlinkbubble-buttonbar .jfk-button{margin-left:12px;min-width:87px}.docs-link-insertlinkbubble-error{color:#c5221f;padding:12px 0 0 0}@media print{.docs-link-insertlinkbubble{display:none!important}}.jfk-bubble.docs-calloutbubble-bubble.docs-linkbubble-bubble{z-index:503!important}.docs-gm .docs-link-insertlinkbubble-toppane,.docs-gm .docs-link-insertlinkbubble-bottompane{margin:24px}.docs-gm .docs-link-insertlinkbubble-bottompane{display:flex}.docs-gm .docs-link-insertlinkbubble-toppane,.docs-gm .docs-link-insertlinkbubble-urlcomponent{position:relative}.docs-link-linksuggestion:last-child{margin-bottom:6px}.docs-link-linksuggestion:first-child{margin-top:6px}.docs-link-linksuggestion,.docs-link-chipselectedlinksuggestion{border:none;border-collapse:separate;border-spacing:0 6px;display:table;font-size:90%;height:26px;max-height:26px;outline:none;width:100%}.docs-link-linksuggestion:hover,.docs-link-linksuggestion:focus{background-color:#f1f3f4}.docs-link-linksuggestion-icon{display:table-cell;height:21px;padding:0 6px;vertical-align:middle;width:21px}.docs-link-linksuggestion-url,.docs-link-linksuggestion-title{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:190px}.docs-link-linksuggestion-title:last-child{margin-top:2px}.docs-link-linksuggestion-url{color:#093;font-size:11px}.docs-link-linksuggestiongroup{border-color:#efefef;border-style:solid;border-width:0 0 1px}.docs-link-linksuggestion-testlink,.docs-link-chipselectedlinksuggestion-hide{display:table-cell;height:21px;vertical-align:middle;width:21px}.docs-link-linksuggestion-testlink{opacity:0}.docs-link-chipselectedlinksuggestion-hide{opacity:0.7}.docs-link-chipselectedlinksuggestion-hide:hover{opacity:1}.docs-link-linksuggestion:hover .docs-link-linksuggestion-testlink,.docs-link-linksuggestion:focus .docs-link-linksuggestion-testlink,.docs-link-linksuggestion-testlink:focus{opacity:1}.docs-link-linksuggestion-text{display:table-cell}.docs-link-linksuggestion-link-text{font-size:90%}.docs-link-linksuggestion-action-text{font-size:100%}.docs-link-linksuggestion.docs-link-chipselectedlinksuggestion{background-color:#fff;border-spacing:0 4px;margin:0}.docs-link-linksuggestioncontentbox-statusmessage{color:#222;margin-left:33px;padding:5px 0}.docs-link-linksuggestioncontentbox-explore{color:#333;font-size:90%;margin:6px 0;padding:6px}.docs-link-linksuggestioncontentbox-explore:hover,.docs-link-linksuggestioncontentbox-explore:focus{background-color:#eee;cursor:default;outline:none}.docs-link-linksuggestioncontentbox-exploretext{display:inline-block;overflow:hidden;padding-left:5px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;width:196px}.docs-link-linksuggestioncontentbox-statusbar{border-bottom:1px solid #f5f5f5;padding:10px 0;position:relative}.docs-link-linksuggestioncontentbox-statusindicator{bottom:12px;float:left;left:17px;position:relative}.docs-link-linksuggestioncontentbox-offlinenotice{font-style:italic;margin-left:5px;padding:5px 0}.docs-link-urlinput-url{background:transparent!important;border:none!important;box-sizing:border-box;box-shadow:none;display:inline-block;flex-grow:1;height:27px;margin:0;outline:none!important;padding:1px 8px!important}.docs-gm .docs-link-urlinput-url{border-color:#dadce0;border-radius:4px;color:#5f6368;display:block;font-size:14px;height:34px;width:312px}.docs-gm .docs-link-urlinput-url:focus{height:32px;padding:0px 7px!important}.docs-gm .docs-link-urlinput-url::placeholder{color:#9aa0a6}.docs-link-urlinput-action-icon-container{float:right;overflow:hidden;padding:0 0 0 8px;text-align:right;width:21px}.docs-link-urlinput-action-icon{background:transparent!important;border:transparent!important;cursor:pointer;margin:0 0 0 -13px;opacity:.70;white-space:nowrap}.docs-link-urlinput-action-icon:hover,.docs-link-urlinput-action-icon:focus{opacity:0.9}.docs-link-urlinput-url-container{background:#fff;border:1px solid #d9d9d9;border-top:1px solid #c0c0c0;min-width:20px;width:260px;display:flex}.docs-gm .docs-link-urlinput-url-container{border-color:#dadce0;border-radius:4px;box-sizing:border-box;width:312px}.docs-link-urlinput-url-container-focus{border:1px solid #4d90fe!important;box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);outline:none}.docs-gm .docs-link-urlinput-url-container-focus{border:2px solid #4d90fe!important;box-shadow:none;color:#3c4043;padding:0}.docs-link-urlinput-url-error,.docs-link-urlinput-url-error:focus{border-color:#dd4b39}.MEET_IN_EDITORS_PIP_FRAME{border:none;border-radius:8px;pointer-events:none;position:absolute;visibility:hidden;z-index:1008}.MEET_IN_EDITORS_DIALOG_FRAME{border:none;height:100vh;left:0;overflow:auto;position:absolute;top:0;width:100vw;z-index:1009}.MEET_IN_EDITORS_MENU_FRAME{border:none;height:375px;width:330px}#docs-meet-in-editors-entrypointbutton{background:#fff;border-radius:33px;box-sizing:border-box;cursor:pointer;height:36px;margin-right:12px;width:54px}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-disabled{cursor:default}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-hover,#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-focused,#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-open{-webkit-box-shadow:none}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-hover,#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-focused{background:#f1f3f4;border-color:#f1f3f4}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-open{background:#e8f0fe;border-color:#e8f0fe}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button .docs-icon{height:24px;width:24px;margin:5px 4px 0 4px}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button .docs-icon-present-to-all-24{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_blue.svg)}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-disabled .docs-icon-present-to-all-24{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button .goog-flat-menu-button-dropdown{border-color:#1a73e8 transparent;right:6px;top:15px}#docs-meet-in-editors-entrypointbutton.goog-flat-menu-button-disabled .goog-flat-menu-button-dropdown{border-color:#202124 transparent}#docs-meet-in-editors-entrypointbutton.docs-meet-in-editors-active-call.goog-flat-menu-button{background:#1a73e8;border-color:#1a73e8}#docs-meet-in-editors-entrypointbutton.docs-meet-in-editors-active-call .goog-flat-menu-button-dropdown{border-color:#fff transparent}.goog-menu.docs-meet-in-editors-menu{background:#fff;border-radius:8px;border:0;box-shadow:0px 1px 3px 0px rgba(60,64,67,.30),0px 4px 8px 3px rgba(60,64,67,.15);padding:0;width:330px}#docs-meet-in-editors-loading.hidden{display:none}#docs-meet-in-editors-loading{height:270px;display:flex;align-items:center;justify-content:center}#docs-meet-in-editors-loading .docs-spinner{align-items:center;display:flex;overflow:visible}#docs-meet-in-editors-loading .docs-quantum-spinner{top:auto}#docs-meet-in-editors-error{color:#5f6368;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:18px;padding:16px;text-align:center}#docs-meet-in-editors-error>svg{display:block;margin-left:auto;margin-right:auto}#docs-meet-in-editors-error>div{margin:22px 34px 22px}.picker-frame{width:100%;height:100%;border:0;overflow:hidden}.picker.modal-dialog-bg{position:absolute;top:0;left:0;background-color:#fff}.picker.modal-dialog{position:absolute;top:0;left:0;background-color:#fff;border:1px solid #acacac;width:auto;padding:0;z-index:1001;overflow:auto;-moz-box-shadow:rgba(0,0,0,.2) 0 4px 16px;-webkit-box-shadow:rgba(0,0,0,.2) 0 4px 16px;box-shadow:rgba(0,0,0,.2) 0 4px 16px;-webkit-transition:top .5s ease-in-out;-moz-transition:top .5s ease-in-out;-o-transition:top .5s ease-in-out;transition:top .5s ease-in-out}.picker-min{position:absolute;z-index:1002}.picker.modal-dialog-content{font-size:0;padding:0}.picker.modal-dialog-title{height:0;margin:0}.picker.modal-dialog-title-text{display:none}.picker.modal-dialog-buttons{display:none}.picker.modal-dialog{z-index:1201}div.docs-spell-content-box{overflow:auto;width:425px;height:130px;background-color:#e6e6e6;border:none;padding:5px;cursor:default}.docs-spell-content-message{color:#666}.docs-spell-error{border-bottom:1px solid red;cursor:pointer}.docs-spell-error-fixed{border-bottom:1px dotted green;cursor:pointer}.docs-spell-button-set{width:435px;height:30px;margin:20px 0 0 0}div.docs-spell-buttons-left{float:left}div.docs-spell-buttons-right{float:right}div.docs-spell-right-button{margin-right:0}.docs-spell-content-box::-webkit-scrollbar-thumb{border:solid #e6e6e6}#docs-spellcheckslidingdialog-button-change-menu{box-shadow:none;background-color:#4d90fe;background-image:-webkit-linear-gradient(top,#4d90fe,#4787ed);background-image:-moz-linear-gradient(top,#4d90fe,#4787ed);background-image:-ms-linear-gradient(top,#4d90fe,#4787ed);background-image:-o-linear-gradient(top,#4d90fe,#4787ed);background-image:linear-gradient(top,#4d90fe,#4787ed);border:1px solid #3079ed;color:#fff}#docs-spellcheckslidingdialog-button-change-menu:hover{background-color:#357ae8;background-color:#357ae8;background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8);background-image:-moz-linear-gradient(top,#4d90fe,#357ae8);background-image:-ms-linear-gradient(top,#4d90fe,#357ae8);background-image:-o-linear-gradient(top,#4d90fe,#357ae8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2f5bb7;border-bottom-color:#2f5bb7}#docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-focused{-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;border:1px solid #fff;border:rgba(0,0,0,0) solid 1px;outline:1px solid #4d90fe;outline:rgba(0,0,0,0) 0}#docs-spellcheckslidingdialog-button-change-menu .goog-flat-menu-button-dropdown{border-color:white transparent;color:white}#docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-open{box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);background:#357ae8;border:1px solid #2f5bb7;border-top:1px solid #2f5bb7}#docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-disabled{background:#4d90fe;filter:alpha(opacity=50);opacity:0.5}#docs-spellcheckslidingdialog-button-ignore-all{margin-left:10px}.docs-spellcheckslidingdialog-buttons-white-menu.goog-flat-menu-button-disabled,.docs-spellcheckslidingdialog-buttons-white-menu.goog-flat-menu-button-disabled:hover{background:#fff;border:1px solid #dcdcdc!important;filter:alpha(opacity=50);opacity:0.5}.docs-spellcheckslidingdialog-buttons-white-menu.goog-flat-menu-button-focus,.docs-spellcheckslidingdialog-buttons-white-menu:hover{border:1px solid #c6c6c6}.docs-spellcheckslidingdialog-buttons-white-menu:focus{z-index:2}#docs-spellcheckslidingdialog-button-ignore,#docs-spellcheckslidingdialog-button-ignore-menu{margin-bottom:1px}#docs-spellcheckslidingdialog-button-dictionary,#docs-spellcheckslidingdialog-button-dictionary-menu{margin-top:7px}.docs-spellcheckslidingdialog-buttons-action{margin-left:9px;overflow:hidden;text-overflow:ellipsis;width:110px}.docs-spellcheckslidingdialog-count{color:#6a6a6a;padding-left:4px}.goog-menuitem-disabled .docs-spellcheckslidingdialog-count{color:#ccc}#docs-spellcheckslidingdialog-id .docs-slidingdialog-close-container{position:absolute;right:14px;top:10px}#docs-spellcheckslidingdialog-ignore-buttons{padding-top:7px;vertical-align:top}.docs-spellcheckslidingdialog-replacement-input,.docs-spellcheckslidingdialog-replacement-input:focus{background:transparent;border:none;box-shadow:none;font-size:13px;height:25px;margin:0;outline:none;padding:1px 0px;width:100%}.docs-spellcheckslidingdialog-replacement-input-container{background:#fff;border:1px solid #d9d9d9;border-top:1px solid #c0c0c0;min-width:20px;padding:0 8px}.docs-spellcheckslidingdialog-replacement-input-container-focus{border:1px solid #4d90fe;box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);outline:none}.docs-spellcheckslidingdialog-title-text{margin-top:2px;margin-bottom:10px;color:#222;cursor:default}#docs-spellcheckslidingdialog-original-word{font-weight:500}.docs-spellcheckslidingdialog-title-text.docs-spellcheckslidingdialog-no-misspellings{margin-bottom:0;padding-right:33px}#docs-spellcheckslidingdialog-no-misspellings:focus{outline:none}#docs-spellcheckslidingdialog-suggestion-list{box-shadow:none;margin-left:-1px;margin-top:-1px;height:91px;overflow-y:auto;position:relative;width:100%}.docs-spellcheckslidingdialog-container .goog-flat-menu-button{margin:0;height:27px}.docs-spellcheckslidingdialog-container .goog-flat-menu-button-collapse-left{margin-left:-1px}.docs-spellcheckslidingdialog-container .goog-flat-menu-button-collapse-right{min-width:0px;padding-left:0;margin-left:0px;border-radius:0 2px 2px 0}#docs-spellcheckslidingdialog-suggestion-list .goog-menuitem{padding-left:8px}#docs-spellcheckslidingdialog-suggestion-list .goog-menuitem-checkbox{position:inherit}.docs-spellcheckslidingdialog-container table{width:100%}.docs-spellcheckslidingdialog .docs-slidingdialog-holder{min-width:250px}.docs-spellcheckslidingdialog-loading-spinner,.docs-spellcheckslidingdialog-loading-text{display:inline-block;position:relative;transition:left 300ms ease-out;transition:width 300ms ease-out;vertical-align:middle}.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog{padding:16px}.docs-gm #docs-spellcheckslidingdialog-id td{padding:0;vertical-align:top}.docs-gm .docs-spellcheckslidingdialog-title-text{font-size:14px;height:24px;margin:0 0 16px 0;line-height:24px;vertical-align:middle}.docs-gm #docs-spellcheckslidingdialog-button-change,.docs-gm #docs-spellcheckslidingdialog-button-change-menu{background:#188038;background-image:none;border:1px solid transparent;border-radius:4px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:36px;letter-spacing:0.25px;line-height:16px}.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-hover{background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-focused{background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-focused.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-focused.goog-flat-menu-button-hover{background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-active,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-active{background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-disabled,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-disabled{background:#f1f3f4;color:#3c4043;opacity:0.38}.docs-gm #docs-spellcheckslidingdialog-button-ignore,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu,.docs-gm #docs-spellcheckslidingdialog-button-dictionary,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu{background:#fff;background-image:none;border:1px solid #dadce0;border-radius:4px;box-shadow:none;box-sizing:border-box;color:#188038;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:36px;letter-spacing:0.25px;line-height:16px;margin-bottom:0;margin-top:8px}.docs-gm #docs-spellcheckslidingdialog-button-ignore.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu.goog-flat-menu-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-dictionary.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu.goog-flat-menu-button-hover{background:#f8fcf9;border:1px solid #c8e7d1}.docs-gm #docs-spellcheckslidingdialog-button-ignore.jfk-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu.goog-flat-menu-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-dictionary.jfk-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu.goog-flat-menu-button-focused{background:#e7f5eb;border:1px solid #bbe2c6}.docs-gm #docs-spellcheckslidingdialog-button-ignore.jfk-button-focused.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu.goog-flat-menu-button-focused.goog-flat-menu-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-dictionary.jfk-button-focused.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu.goog-flat-menu-button-focused.goog-flat-menu-button-hover{background:#dff2e4;border:1px solid #b5e0c1}.docs-gm #docs-spellcheckslidingdialog-button-ignore.jfk-button-active,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu.goog-flat-menu-button-active,.docs-gm #docs-spellcheckslidingdialog-button-dictionary.jfk-button-active,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu.goog-flat-menu-button-active{background:#dff2e4;border:1px solid transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm #docs-spellcheckslidingdialog-button-ignore.jfk-button-disabled,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu.goog-flat-menu-button-disabled,.docs-gm #docs-spellcheckslidingdialog-button-dictionary.jfk-button-disabled,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu.goog-flat-menu-button-disabled{background:#fff;border:1px solid #f1f3f4;color:#3c4043;opacity:0.38}.docs-gm #docs-spellcheckslidingdialog-button-change,.docs-gm #docs-spellcheckslidingdialog-button-ignore,.docs-gm #docs-spellcheckslidingdialog-button-dictionary{border-radius:4px 0 0 4px;margin-left:16px;padding:9px 8px 11px 8px;width:156px}.docs-gm #docs-spellcheckslidingdialog-button-change,.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-hover.jfk-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-active,.docs-gm #docs-spellcheckslidingdialog-button-change.jfk-button-disabled{border-right:1px solid #ceead6}.docs-gm #docs-spellcheckslidingdialog-button-change-menu,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-hover,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-hover.goog-flat-menu-button-focused,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-active,.docs-gm #docs-spellcheckslidingdialog-button-change-menu.goog-flat-menu-button-disabled{border-left:1px solid #ceead6}.docs-gm #docs-spellcheckslidingdialog-button-change-menu,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu{border-radius:0 4px 4px 0;padding:8px;width:41px}.docs-gm #docs-spellcheckslidingdialog-button-change-menu .goog-flat-menu-button-dropdown,.docs-gm #docs-spellcheckslidingdialog-button-ignore-menu .goog-flat-menu-button-dropdown,.docs-gm #docs-spellcheckslidingdialog-button-dictionary-menu .goog-flat-menu-button-dropdown{right:15px;top:15px}.docs-gm #docs-spellcheckslidingdialog-replacement-input{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0;margin:0}.docs-gm #docs-spellcheckslidingdialog-replacement-input:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-gm .docs-spellcheckslidingdialog-replacement-input-container{background:transparent;border:none;padding:0;width:156px}.docs-gm .docs-spellcheckslidingdialog-replacement-input-container-focus{border:none;box-shadow:none;outline:none}.docs-gm #docs-spellcheckslidingdialog-suggestion-list{box-shadow:0 1px 3px 1px rgba(60,64,67,.15);height:auto;margin:0;width:156px}.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog-close-container{height:24px;right:16px;top:16px;width:24px}.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog-button-close{opacity:0.54}.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog-button-close.goog-flat-button-hover,.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog-button-close.goog-flat-button-focused,.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog-button-close.goog-flat-button-active{opacity:0.87}.docs-gm #docs-spellcheckslidingdialog-id .docs-slidingdialog-button-close.goog-flat-button-focused{outline:none}.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button:last-child{margin-right:0}.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button.jfk-button-active,.docs-gm #docs-spellcheckslidingdialog-no-misspellings-footer .jfk-button.jfk-button-active.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.docs-userdictionary-butterbar-item{font-weight:normal}.docs-userdictionarydialog-button-add{margin-left:0px;margin-right:0px;padding:0px;width:100%}.docs-userdictionarydialog-list-container{background-color:#fff;border:1px solid #ececec;height:415px;margin-top:16px;overflow-y:auto;position:relative;width:315px}.docs-gm .docs-userdictionarydialog-list-container{height:232px;min-width:464px;width:auto;width:unset}.docs-userdictionarydialog-list-container:focus{outline:none}.docs-userdictionarydialog-button-add-container{border-left:30px solid white;max-width:125px}.docs-gm .docs-userdictionarydialog-button-add-container{border-left:0;margin-left:16px}.docs-userdictionarydialog-input{margin-left:0px;margin-right:19px!important;vertical-align:middle;width:100%}.docs-gm .docs-userdictionarydialog-input{width:364px}.docs-userdictionarydialog-row-container{border-bottom:1px solid #ececec;padding:10px;min-width:275px}.docs-gm .docs-userdictionarydialog-row-container{border-bottom:1px solid #dadce0;padding:10px 16px;width:432px}.docs-gm .docs-userdictionarydialog-list-container-ie .docs-userdictionarydialog-row-container{padding-left:20px;padding-right:20px;width:424px}.docs-userdictionarydialog-row-container-hover{background-color:#eee}.docs-gm .docs-userdictionarydialog-row-container-hover{background-color:#f1f3f4}.docs-userdictionarydialog-row-content{display:inline-block;width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.docs-gm .docs-userdictionarydialog-row-content{color:#3c4043}.docs-userdictionarydialog-list-remove-button{background-color:transparent;border:none;margin:0;padding:0;position:absolute;right:3px}.docs-gm .docs-userdictionarydialog-list-remove-button{left:424px}.docs-gm .docs-userdictionarydialog-list-container-ie .docs-userdictionarydialog-list-remove-button{left:420px}.docs-gm .docs-material.docs-userdictionarydialog-list-remove-button .docs-icon{height:24px;margin:0;width:24px}.docs-userdictionarydialog-top-container{border-collapse:separate;display:table;width:100%}.docs-userdictionarydialog-top-container>div{display:table-cell}.docs-templatestoast.docs-ui-toast{z-index:1003}.docs-calloutbubble-anchor{position:absolute}.docs-calloutbubble-bubble.jfk-bubble{padding:0px;z-index:99!important}@media print{.docs-calloutbubble-anchor{display:none!important}}.docs-dismissible-bar{margin-top:0;position:absolute;width:500px}.docs-dismissible-bar .docs-dismissible-bar-content{background:rgba(0,0,0,0.8);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#fff;left:-50%;overflow:hidden;position:relative;z-index:1001}.docs-dismissible-bar .docs-dismissible-bar-header{border-bottom:1px solid #000;float:left;width:100%}.docs-dismissible-bar .docs-dismissible-bar-title{float:left;font-size:15px;font-weight:500;margin:16px 15px}.docs-dismissible-bar .docs-dismissible-bar-description{border-top:1px solid #444;box-sizing:border-box;color:#bbb;float:left;padding:10px 15px 15px;text-align:left;width:100%}.docs-dismissible-bar .docs-dismissible-bar-dismiss-button{float:right;margin:10px 10px 10px 0}.docs-dismissible-bar .docs-dismissible-bar-black-button{background-color:#454545;background-repeat:repeat-x;border:solid 1px #111;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;box-shadow:0px 1px 1px 0px rgba(0,0,0,0.05),inset 0px 1px 0px 0px rgba(255,255,255,0.2);color:#ddd;cursor:pointer;background-color:#4b4b4b;background-image:-webkit-linear-gradient(top,#4b4b4b,#3b3b3b);background-image:-moz-linear-gradient(top,#4b4b4b,#3b3b3b);background-image:-ms-linear-gradient(top,#4b4b4b,#3b3b3b);background-image:-o-linear-gradient(top,#4b4b4b,#3b3b3b);background-image:linear-gradient(top,#4b4b4b,#3b3b3b);text-shadow:0 1px 0 rgba(0,0,0,0.8)}.docs-dismissible-bar .docs-dismissible-bar-black-button.jfk-button-hover{background:rgba(255,255,255,0.1);border:1px solid #141414;box-shadow:0 0 0 transparent inset;color:#fff}.docs-dismissible-bar .docs-dismissible-bar-black-button.jfk-button-active,.docs-dismissible-bar .docs-dismissible-bar-black-button.jfk-button-focused{border-color:#fff}.docs-indeterminate-loading-bar{background:#c6dafc;height:100%;position:relative;width:100%}.docs-indeterminate-loading-bar>div{-webkit-animation:docs-indeterminate-loading-animation 2s linear infinite;-moz-animation:docs-indeterminate-loading-animation 2s linear infinite;-o-animation:docs-indeterminate-loading-animation 2s linear infinite;animation:docs-indeterminate-loading-animation 2s linear infinite;background:#4285f4;height:100%;position:absolute;transition:width .2s cubic-bezier(.4,0,.2,1)}@keyframes docs-indeterminate-loading-animation{0%{left:0%;width:0}50%{left:25%;width:75%}75%{left:100%;width:0%}}.docs-loading-indicator{height:48px;left:50%;margin:-24px 0 0 -24px;position:absolute;top:50%;width:48px}.docs-loading-indicator-small{height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:20px}.docs-sidebar-toggle-tabs-jfk .jfk-button.docs-sidebar-toggle-tab{width:50%;border:none;color:#646464;cursor:pointer;font-size:13px;height:40px;line-height:42px;margin:0;text-align:center}.docs-sidebar-toggle-tabs-jfk .jfk-button.docs-sidebar-toggle-tab-inactive{font-weight:normal}.docs-sidebar-toggle-tabs-jfk .jfk-button.docs-sidebar-toggle-tab-active{font-weight:500;border-bottom:3px solid #3367d6}.docs-sidebar-toggle-tabs-jfk .jfk-button-focused.docs-sidebar-toggle-tab-inactive{border-bottom:3px solid #4d90fe}.docs-sidebar-toggle-tabs-material .jfk-button.docs-sidebar-toggle-tab{width:50%;border:none;cursor:pointer;font-size:13px;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;text-transform:uppercase;height:41px;line-height:43px;margin:0;text-align:center}.docs-sidebar-toggle-tabs-material .jfk-button.docs-sidebar-toggle-tab-inactive{color:rgba(0,0,0,0.54)}.docs-sidebar-toggle-tabs-material .jfk-button.docs-sidebar-toggle-tab-active{color:rgba(0,0,0,0.87);border-bottom:2px solid #4285f4}.docs-sidebar-toggle-tabs-material .jfk-button-focused.docs-sidebar-toggle-tab-inactive{border-bottom:2px dotted #4285f4}.docs-sidebar-toggle-tabs-material .jfk-button-active.jfk-button-focused.docs-sidebar-toggle-tab-inactive{border-bottom:none}.docs-spinner{height:44px;overflow:hidden;position:relative}.docs-quantum-spinner{height:28px;left:50%;margin-left:-14px;position:absolute;top:0;width:28px}.docs-loading-indicator-small .docs-quantum-spinner{height:20px;margin-left:-10px;top:0;width:20px}.docs-white-circle{background:white;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,0.4);-moz-box-shadow:0 2px 6px rgba(0,0,0,0.4);-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.4);height:44px;left:50%;margin-left:-22px;position:absolute;width:44px}.docs-quantum-spinner.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0}.spinner-blue{border-color:#4285f4}.spinner-red{border-color:#db4437}.spinner-yellow{border-color:#f4b400}.spinner-green{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.spinner-gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.spinner-gap-patch .spinner-circle{width:1000%;left:-450%}.spinner-circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.spinner-circle-clipper .spinner-circle{width:200%}.spinner-circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none}.spinner-circle-clipper.spinner-left .spinner-circle{border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.spinner-circle-clipper.spinner-right .spinner-circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .spinner-circle-clipper.spinner-left .spinner-circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-circle-clipper.spinner-right .spinner-circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}.spinner-fit{position:absolute;top:0;bottom:0;right:0;left:0}.docs-working-bar{color:#222;display:none;font:13px/1.4 arial,sans-serif;margin-top:0;min-width:124px;position:absolute;z-index:1001;transition:218ms ease-in}.docs-working-bar-slideup{-webkit-transform:translateY(-60px);-moz-transform:translateY(-60px);-ms-transform:translateY(-60px);-o-transform:translateY(-60px);transform:translateY(-60px)}.docs-working-bar-display{display:block}.docs-working-bar .message{background:rgba(0,0,0,.8);border-radius:3px;color:#fff;left:-50%;padding:16px;position:relative}.docs-working-bar .message *{vertical-align:middle}.docs-working-bar .message .icon{margin-right:16px}.docs-working-bar .spinner{display:inline-block}.docs-working-bar .label{font-weight:normal}@keyframes script-working-bar-spin{from{transform:rotate(0deg);-ms-transform:rotate(0deg)}to{transform:rotate(360deg);-ms-transform:rotate(360deg)}}@-webkit-keyframes script-working-bar-spin{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}.docs-working-bar .spinner .icon{animation:script-working-bar-spin 1.5s infinite linear;-webkit-animation:script-working-bar-spin 1.5s infinite linear}.docs-material-colorpalette{outline:none}.docs-material-colorpalette-cell{border-radius:50%}.docs-material-colorpalette-colorswatch{border-radius:50%;box-sizing:border-box;cursor:pointer;height:20px;margin:1px 1px 0 0;width:20px}.docs-material-colorpalette-table{border-spacing:1px;padding:1px 0}.docs-material-colorpalette-cell.docs-material-colorpalette-cell-hover .docs-material-colorpalette-colorswatch{box-shadow:0 0 3px 1px #bdc1c6}.docs-material-colorpalette-colorswatch.docs-material-colorpalette-colorswatch-border{border:1px solid #dadce0}.docs-customcolorpalette-add-custom-color-button:hover{background-color:#e8eaed;border-radius:4px;cursor:pointer}.docs-material-colorpalette-cell.docs-material-colorpalette-cell-selected .docs-material-colorpalette-colorswatch{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0iIzAwMDAwMCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSwgMCwgMCwgMSkiPjxwYXRoIGQ9Ik0wIDBoNDh2NDhIMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTggMzIuMzRMOS42NiAyNGwtMi44MyAyLjgzTDE4IDM4bDI0LTI0LTIuODMtMi44M3oiLz48L2c+PC9zdmc+);background-position:center;background-repeat:no-repeat}.docs-material-colorpalette-cell.docs-material-colorpalette-cell-selected .docs-material-colorpalette-colorswatch.docs-material-colorpalette-colorswatch-dark{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0iTTAgMGg0OHY0OEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOCAzMi4zNEw5LjY2IDI0bC0yLjgzIDIuODNMMTggMzhsMjQtMjQtMi44My0yLjgzeiIvPjwvc3ZnPg==);background-position:center;background-repeat:no-repeat}.docs-hc-gecko .docs-material-colorpalette-colorswatch,.docs-hc-ie .docs-material-colorpalette-colorswatch{border:1px solid #dadce0}.docs-material-color-picker-dragger{border:2px solid white;border-radius:50%;box-shadow:0 0 3px 1px #bdc1c6;cursor:pointer;position:absolute;z-index:3}.docs-color-picker{color:#3c4043;outline:none;width:100%}.docs-color-picker-outer-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%}.docs-color-picker .docs-color-picker-outer-box{width:auto}.docs-color-picker-hover .docs-color-picker-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.docs-color-picker-open .docs-color-picker-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-material-gm-select-open.docs-material-gm-select-hover .docs-color-picker-outer-box{background-color:rgba(60,64,67,0.06)}.docs-material-gm-select-open.docs-material-gm-select-focused .docs-color-picker-outer-box{background-color:rgba(60,64,67,0.08)}.docs-color-picker-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-color-picker-disabled .docs-color-picker-outer-box{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-color-picker-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-color-picker-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-color-picker-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:22px;width:22px;border-radius:50%;border:1px solid #dadce0;margin:0;outline:none}.docs-color-picker-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-color-picker-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px}.docs-color-picker-open .docs-color-picker-dropdown-icon{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-material-color-swatch-wrapper{border-radius:50%;display:inline-block;position:relative;vertical-align:middle}.docs-material-color-swatch-color{box-shadow:0 0 0 1px transparent}.docs-material-color-swatch-element{border-radius:50%;height:100%;position:absolute;width:100%}.docs-material-color-swatch-wrapper-hover{box-shadow:0 0 0 1px #c8e7d1}.docs-material-color-swatch-wrapper-focused{box-shadow:0 0 0 1px #bbe2c6;outline:none}.docs-material-color-swatch-border{box-shadow:0 0 0 1px #e8eaed}.docs-material-color-swatch-checkbox-background{background-image:url(https://ssl.gstatic.com/docs/common/checkboard.png);background-size:10px}.docs-hc-ie .docs-material-color-swatch-color,.docs-hc-gecko .docs-material-color-swatch-color{border:1px solid #dadce0}.docs-gm-labeled-color-picker{color:#3c4043;outline:none;width:100%}.docs-gm-labeled-color-picker-outer-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%}.docs-gm-labeled-color-picker-focused .docs-gm-labeled-color-picker-outer-box{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.docs-gm-labeled-color-picker .docs-gm-labeled-color-picker-outer-box{width:auto}.docs-gm-labeled-color-picker-hover .docs-gm-labeled-color-picker-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.docs-gm-labeled-color-picker-open .docs-gm-labeled-color-picker-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-material-gm-select-open.docs-material-gm-select-hover .docs-gm-labeled-color-picker-outer-box{background-color:rgba(60,64,67,0.06)}.docs-material-gm-select-open.docs-material-gm-select-focused .docs-gm-labeled-color-picker-outer-box{background-color:rgba(60,64,67,0.08)}.docs-gm-labeled-color-picker-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-gm-labeled-color-picker-disabled .docs-gm-labeled-color-picker-outer-box{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-gm-labeled-color-picker-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-gm-labeled-color-picker-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-gm-labeled-color-picker-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:22px;width:22px;border-radius:50%;border:1px solid #dadce0;margin:0;outline:none}.docs-gm-labeled-color-picker-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-gm-labeled-color-picker-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px}.docs-gm-labeled-color-picker-open .docs-gm-labeled-color-picker-dropdown-icon{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-gm-labeled-color-picker-label{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;margin-bottom:8px;display:inline-block}.docs-material-hsv-color-picker{padding-bottom:15px}.docs-material-hsv-color-picker-information{padding:0 0 15px 0;width:100%}.docs-material-hsv-color-picker-input{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0;width:90px}.docs-material-hsv-color-picker-input:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-material-info-element{display:inline-block;margin-right:15px}.docs-material-hsv-color-picker-title{text-transform:uppercase}.docs-material-hsv-color-picker-text{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;padding:10px 0 0 0}.docs-material-hue-slider-background{background:linear-gradient(to right,hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%))}.docs-material-opacity-slider-checkbox-background{background-image:url(https://ssl.gstatic.com/docs/common/checkboard.png);background-size:10px}.docs-material-color-picker-saturation-value-background{border:1px solid white;box-sizing:border-box}.docs-material-color-picker-saturation-value{height:150px;outline:none;position:relative;width:100%}.docs-material-color-picker-overlay{border-radius:4px;height:100%;left:0;position:absolute;top:0px;width:100%}.docs-material-color-picker-saturation-overlay{background:linear-gradient(to right,#fff 0%,rgba(255,255,255,0) 100%);z-index:1}.docs-material-color-picker-value-overlay{background:linear-gradient(to bottom,transparent 0%,#000 100%);z-index:2}.docs-material-color-slider{box-sizing:border-box;outline:0;padding:8px 0;position:relative}.docs-material-color-slider-background{border-radius:4px;display:inline-block;height:10px;position:absolute;width:100%}.docs-material-color-slider-wrapper{position:relative;width:100%}.docs-material-color-slider-thumb{height:16px;pointer-events:inherit;top:-5px;width:16px}.docs-material-color-slider-track{left:0;position:absolute;top:0}.docs-material-color-slider-checkbox-background{background-image:url(https://ssl.gstatic.com/docs/common/checkboard.png);background-size:10px}.docs-material-slider{box-sizing:border-box;padding:8px;position:relative;outline:0}.docs-material-slider-horizontal{height:calc(30px + 2*8px);min-width:128px}.docs-material-slider-vertical{width:calc(30px + 2*8px);min-height:128px}.docs-material-slider-wrapper{position:absolute}.docs-material-slider-horizontal .docs-material-slider-wrapper{left:8px;height:2px;right:8px;top:23px}.docs-material-slider-vertical .docs-material-slider-wrapper{bottom:8px;left:23px;top:8px;width:2px}.docs-material-slider-thumb{pointer-events:inherit;position:absolute}.docs-material-slider-horizontal .docs-material-slider-thumb{top:50%;width:calc(2*8px)}.docs-material-slider-vertical .docs-material-slider-thumb{left:50%;height:calc(2*8px)}.docs-material-slider-focus-ring{background-color:rgba(66,133,244,0.38);border-radius:50%;left:calc(-0.5*30px);height:30px;opacity:0;pointer-events:inherit;position:absolute;top:calc(-0.5*30px);transform:scale(0);transition:transform .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1);width:30px}.docs-material-slider-rtl .docs-material-slider-focus-ring{left:inherit;right:calc(-0.5*30px)}.docs-material-slider-thumb-grabber{background-color:#4285f4;border-color:#4285f4;border-radius:50%;border-style:solid;box-sizing:border-box;cursor:pointer;height:20px;position:absolute;transform:scale(0.7);transition:transform .4s cubic-bezier(.25,.8,.25,1);width:20px}.docs-material-slider-horizontal.docs-material-slider-ltr .docs-material-slider-thumb-grabber{bottom:calc(-0.5*20px);left:calc(-0.5*20px)}.docs-material-slider-horizontal.docs-material-slider-rtl .docs-material-slider-thumb-grabber{bottom:calc(-0.5*20px);right:calc(-0.5*20px)}.docs-material-slider-vertical .docs-material-slider-thumb-grabber{left:calc(-0.5*20px);top:calc(-0.5*20px)}.docs-material-slider-track-wrapper{left:0px;position:absolute;top:0px}.docs-material-slider-horizontal .docs-material-slider-track-wrapper{height:2px;width:100%}.docs-material-slider-vertical .docs-material-slider-track-wrapper{height:100%;width:2px}.docs-material-slider-track{position:absolute}.docs-material-slider-horizontal .docs-material-slider-track{height:2px}.docs-material-slider-vertical .docs-material-slider-track{width:2px}.docs-material-slider.docs-material-slider-horizontal.docs-hc-edge .docs-material-slider-track,.docs-material-slider.docs-material-slider-horizontal.docs-hc-ie .docs-material-slider-track,.docs-material-slider.docs-material-slider-horizontal.docs-hc-gecko .docs-material-slider-track{height:0;outline:solid 2px}.docs-material-slider.docs-material-slider-vertical.docs-hc-edge .docs-material-slider-track,.docs-material-slider.docs-material-slider-vertical.docs-hc-ie .docs-material-slider-track,.docs-material-slider.docs-material-slider-vertical.docs-hc-gecko .docs-material-slider-track{width:0;outline:solid 2px}.docs-material-slider-track-on{background-color:#4285f4}.docs-material-slider-track-off{background-color:#bdbdbd}.docs-material-slider.goog-slider-disabled .docs-material-slider-thumb-grabber,.docs-material-slider.goog-slider-disabled .docs-material-slider-track-on{background-color:#bdbdbd;border-color:#bdbdbd;cursor:default}.docs-material-slider:not(.docs-material-slider-mouse-focused):not(.goog-slider-disabled):focus .docs-material-slider-focus-ring{opacity:1;transform:scale(1)}.docs-material-slider.docs-material-slider-mouse-focused:not(.goog-slider-disabled) .docs-material-slider-thumb-grabber{transform:scale(1)}.docs-material-slider-ltr.docs-material-slider-horizontal .docs-material-slider-track-on,.docs-material-slider-rtl.docs-material-slider-horizontal .docs-material-slider-track-off{left:0px}.docs-material-slider-ltr.docs-material-slider-horizontal .docs-material-slider-track-off,.docs-material-slider-rtl.docs-material-slider-horizontal .docs-material-slider-track-on{right:0px}.docs-material-slider-vertical .docs-material-slider-track-on{bottom:0px}.docs-material-slider-vertical .docs-material-slider-track-off{top:0px}.docs-material-menu-button-flat-primary,.docs-material-menu-button-flat-default,.docs-material-menu-button-raised-primary,.docs-material-menu-button-raised-default{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:2px;border:1px solid transparent;cursor:pointer;display:inline-block;font:500 13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:32px;line-height:30px;margin:0 4px;text-transform:uppercase;vertical-align:middle}.docs-material-menu-button-raised-primary,.docs-material-menu-button-raised-default{padding:0 6px 0 16px}.docs-material-menu-button-flat-primary,.docs-material-menu-button-flat-default{padding:0 0 0 8px}.docs-material-menu-button-flat-primary{color:#4285f4}.docs-material-menu-button-flat-primary-hover{background-color:rgba(66,133,244,.12)}.docs-material-menu-button-flat-primary-active{background-color:rgba(66,133,244,.32);color:#3387d6}.docs-material-menu-button-flat-primary-focused{border:1px solid #4285f4;outline:none}.docs-material-menu-button-flat-default{background-color:#fff;color:rgba(0,0,0,0.54)}.docs-material-menu-button-flat-default-hover{background-color:rgba(102,102,102,.2)}.docs-material-menu-button-flat-default-active{background-color:rgba(0,0,0,.2);color:rgba(0,0,0,0.87)}.docs-material-menu-button-flat-default-focused{border:1px solid #4285f4;outline:none}.docs-material-menu-button-raised-primary{background-color:#4285f4;color:#fff}.docs-material-menu-button-raised-primary-hover,.docs-material-menu-button-raised-default-hover{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2)}.docs-material-menu-button-raised-primary-active,.docs-material-menu-button-raised-default-active{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2)}.docs-material-menu-button-raised-primary-active{background-color:#3387d6}.docs-material-menu-button-raised-primary-focused{background-color:#4285f4;border:1px inset rgba(0,0,0,0.38);outline:none}.docs-material-menu-button-raised-default{background-color:rgba(0,0,0,.04);color:rgba(0,0,0,0.54)}.docs-material-menu-button-raised-default-active{background-color:rgba(0,0,0,0.12);color:rgba(0,0,0,0.87)}.docs-material-menu-button-raised-default-focused{border:1px solid #4285f4;color:rgba(0,0,0,0.54);outline:none}.docs-material-menu-button-flat-primary-disabled,.docs-material-menu-button-flat-default-disabled,.docs-material-menu-button-raised-default-disabled{background-color:#fff;color:rgba(0,0,0,0.26);cursor:auto}.docs-material-menu-button-raised-primary-disabled{background-color:rgba(0,0,0,0.12);color:#fff;cursor:auto}.docs-material-menu-button-flat-primary-disabled,.docs-material-menu-button-flat-default-disabled,.docs-material-menu-button-raised-default-disabled,.docs-material-menu-button-raised-primary-disabled{box-shadow:none}.docs-material-menu-button-flat-default-caption,.docs-material-menu-button-flat-primary-caption,.docs-material-menu-button-raised-default-caption,.docs-material-menu-button-raised-primary-caption{float:left;vertical-align:middle}.docs-material-menu-button-flat-default-dropdown,.docs-material-menu-button-flat-primary-dropdown{height:24px;margin:3px 0 3px 2px}.docs-material-menu-button-raised-default-dropdown,.docs-material-menu-button-raised-primary-dropdown{height:24px;margin:3px 0 3px 8px}.docs-material-menu-button-raised-primary-dropdown-icon{fill:#fff}.docs-material-menu-button-flat-default-dropdown-icon,.docs-material-menu-button-raised-default-dropdown-icon{fill:rgba(0,0,0,0.54)}.docs-material-menu-button-flat-primary-dropdown-icon{fill:#4285f4;opacity:0.54}.docs-material-menu-button-raised-default-disabled .docs-material-menu-button-raised-default-dropdown-icon,.docs-material-menu-button-flat-default-disabled .docs-material-menu-button-flat-default-dropdown-icon,.docs-material-menu-button-flat-primary-disabled .docs-material-menu-button-flat-primary-dropdown-icon{fill:rgba(0,0,0,0.26);opacity:1.0}.addon-sidebar-card{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.12);outline:none;padding:14px 16px 8px 16px}.addon-sidebar-card-header{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;padding-bottom:8px}.addon-sidebar-card-header-content{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;width:100%}.addon-sidebar-card-icon{height:24px;padding-right:16px;padding-top:2px;width:24px}.addon-sidebar-card-icon img{height:24px;width:24px}.addon-sidebar-card-title{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;width:100%}.addon-sidebar-card-title-caption.goog-control-focused{outline:none;text-decoration:underline}.addon-sidebar-card-title-caption.goog-control-hover{text-decoration:underline}.addon-sidebar-card-title-caption{color:rgba(0,0,0,0.87);cursor:pointer;font-size:15px;font-weight:500;line-height:20px;margin-right:9px;max-height:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addon-sidebar-card-two-line-title-caption{display:-webkit-box;visibility:visible;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-word;word-wrap:break-word}.addon-sidebar-card-check{color:#455a64;height:18px;margin:1px 0 0 auto;width:18px}.addon-sidebar-card-category{color:rgba(0,0,0,0.54);font-size:13px;font-weight:400;line-height:20px}.addon-sidebar-card-summary{color:rgba(0,0,0,0.54);font-size:13px;font-weight:400;line-height:20px;overflow:hidden;padding:0 0 8px 40px;text-overflow:ellipsis}.addon-sidebar-with-banner .addon-sidebar-card{border-bottom:none;padding-top:16px}.addon-sidebar-with-banner .addon-sidebar-card-header{padding-bottom:16px}.addon-sidebar-with-banner .addon-sidebar-card-title-caption{max-width:194px}.addon-sidebar-with-banner .addon-sidebar-card-icon{height:40px;padding-top:0px;width:40px}.addon-sidebar-with-banner .addon-sidebar-card-icon img{height:40px;width:40px}.addon-sidebar-with-banner .addon-sidebar-card-title{font-size:16px}.addon-sidebar-with-banner .addon-sidebar-card-summary{font-size:14px;padding:0 0 24px 0}.addon-sidebar-card-button.docs-material-button-flat-primary,.addon-sidebar-card-menu-button.docs-material-menu-button-flat-primary{margin-left:32px}.addon-sidebar-card-button.docs-material-button-raised-primary,.addon-sidebar-card-menu-button.docs-material-menu-button-raised-primary{margin-left:0px}.addon-sidebar-card-button.docs-material-button-flat-primary,.addon-sidebar-card-button.docs-material-button-raised-primary{height:32px;line-height:32px}.addon-sidebar-card-button.docs-material-button-flat-primary{padding:0 8px}.addon-sidebar-card-menu-button.docs-material-menu-button-flat-primary,.addon-sidebar-card-menu-button.docs-material-menu-button-raised-primary{height:32px;line-height:32px}.addon-sidebar-card-menu-button.docs-material-menu-button-flat-primary{padding:0 2px 0 8px}.addon-sidebar-card-menu-button .docs-material-menu-button-flat-primary-caption,.addon-sidebar-card-menu-button .docs-material-menu-button-raised-primary-caption{line-height:32px}.addon-sidebar-card-menu-button .docs-material-menu-button-flat-primary-dropdown,.addon-sidebar-card-menu-button .docs-material-menu-button-raised-primary-dropdown{margin-top:3px}.goog-menuitem.addon-sidebar-menu-item-with-flat,.goog-menuitem.addon-sidebar-menu-item-with-raised{padding-right:30px}.addon-sidebar-menu-item-with-flat .goog-menuitem-content{max-width:174px;overflow:hidden;text-overflow:ellipsis}.addon-sidebar-menu-item-with-raised .goog-menuitem-content{max-width:206px;overflow:hidden;text-overflow:ellipsis}.addon-sidebar{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;background:#fff;border-left:1px solid #d9d9d9;color:#222;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;outline:none;position:absolute;right:0;width:300px}.addon-sidebar-header{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;background:#616161;color:#fff;font-size:15px;font-weight:500;padding:10px 16px 9px 16px;position:relative}.addon-sidebar-close{cursor:pointer;height:21px;position:absolute;right:13px;top:7px;width:21px}.addon-sidebar-content{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;width:300px;overflow-y:overlay}.addon-sidebar-introduction{border-bottom:1px solid rgba(0,0,0,.12);color:rgba(0,0,0,.54);font-size:11px;font-weight:500;line-height:15px;padding:10px 16px 10px 16px}.addon-sidebar-banner{display:inline-grid;position:relative}.addon-sidebar-banner-image{display:block;height:auto;width:300px}.addon-sidebar-banner-image-overlay{background-image:linear-gradient(-180deg,rgba(0,0,0,0.00) 0%,rgba(0,0,0,0.01) 30%,rgba(0,0,0,0.03) 50%,rgba(0,0,0,0.06) 70%,rgba(0,0,0,0.09) 90%,rgba(0,0,0,0.11) 96%,rgba(0,0,0,0.13) 100%);bottom:0;position:absolute;width:300px;height:80px}.addon-sidebar-spinner{position:fixed;top:50%;width:300px}.addon-sidebar-empty-caption{position:fixed;text-align:center;top:50%;width:300px}.addon-sidebar-empty-title{color:rgba(0,0,0,0.87);font-size:15px;font-weight:700;line-height:18px;padding-bottom:8px}.addon-sidebar-empty-description{color:rgba(0,0,0,0.50);font-size:13px;font-weight:500;line-height:18px}.script-application-sidebar{background:#fff;border-left:1px solid #d9d9d9;color:#222;position:absolute;right:0;width:300px}.script-application-sidebar-header{background:#616161;border:1px solid #616161;color:#fff;font-size:13px;font-weight:bold;height:15px;padding:10px 0 10px 12px;position:relative}.script-application-sidebar-close{cursor:pointer;position:absolute;right:6px;top:8px}.script-application-sidebar-content{bottom:0;position:absolute;top:37px;width:100%}#docs-script-button-bar .jfk-button{margin-right:9px}.docs-script-button-bar-text{color:#777;display:inline-block;margin-left:10px;margin-right:20px;max-width:55px;outline:none;overflow:hidden;text-overflow:ellipsis;vertical-align:text-bottom;white-space:nowrap}.docs-script-button-bar-text:hover{cursor:pointer;text-decoration:underline}.docs-script-button-bar-bubble{width:175px}.docs-script-button-bar-bubble-content{text-align:left;white-space:normal}.script-errorfield{border-color:#dd4b39!important}.script-errormsg{color:#dd4b39!important}.script-promo-menu-item{border:0px;min-height:90px;max-width:354px;padding:0px!important}.script-promo-menu-item-content{vertical-align:middle;padding:10px 20px}.script-promo-menu-item-description{color:#4a4a4a;font-size:13px}.script-promo-menu-item-icon{display:inline-block;height:75px;vertical-align:middle;width:75px}.script-promo-menu-item-text{display:inline-block;max-width:170px;padding-left:10px;vertical-align:middle;white-space:pre-line}.script-promo-menu-item-title{color:#222222;font-weight:bold;font-size:18px}.func-entry{border-top:1px solid #ffffff;border-left:1px solid #ffffff;border-right:1px solid #ffffff;border-bottom:1px solid #e5e5e5;cursor:default;outline:none}.func-entry:focus{border:1px solid #4d90fe!important}.func-entry-checked{border-top:1px solid #ffc;border-left:1px solid #ffc;border-right:1px solid #ffc;border-bottom:1px solid #e5e5e5;background-color:#ffc}.func-entry-func,.func-entry-lib{width:305px;margin-left:5px;padding-top:4px;padding-bottom:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.func-entry-rb{float:left;padding-left:8px;width:18px;height:26px}.func-entry-rb{background-image:url(//ssl.gstatic.com/ui/v1/radiobutton/unchecked.png);background-position:center center;background-repeat:no-repeat}.func-entry-checked .func-entry-rb{background-image:url(//ssl.gstatic.com/ui/v1/radiobutton/checked.png)}.modal-dialog.docs-dialog.gsm-widget{border:0;border-radius:0;box-shadow:none;padding:0}.modal-dialog.docs-dialog.gsm-widget .modal-dialog-title{display:none;height:0;margin:0}.gsm-widget .modal-dialog-buttons{display:none}.gsm-widget .modal-dialog-content{background-color:transparent}.script-help-dialog{min-width:392px}.script-help-dialog-content-left{border:1px solid #e5e5e5;height:160px;overflow-y:auto;vertical-align:top;width:254px}.script-help-dialog-content-section{padding:16px}.script-help-dialog-content-left-gsm-onhold{background-color:#fad2cf}.script-help-dialog-content-title{display:flex;font-weight:700;padding-bottom:8px}.script-help-dialog-content-title-caution-icon{padding-right:4px}.script-help-dialog-buttons{min-width:102px;max-width:200px;padding-left:16px;vertical-align:top}.script-help-dialog-buttons .jfk-button{display:block;margin-right:0px;margin-bottom:16px;padding:0px 8px 0px 8px;width:100%}.script-manager-box{border:none;height:450px;width:700px}.script-prompt-contents DIV{min-width:300px;max-width:700px;max-height:350px;overflow:auto}.script-prompt-contents INPUT{width:100%}.script-app-dialog{z-index:1003}.script-app-contents{padding:0px}.script-error-message{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:text-bottom;white-space:nowrap}.script-error-dialog-content{max-height:400px;max-width:600px;overflow:auto}.script-reportissue-dialog-content{width:456px}.script-reportissue-dialog-description{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:arial,sans-serif;height:100px;resize:none;vertical-align:top;width:100%}.script-reportissue-dialog-nonanonymous-control{vertical-align:top;width:20px}.script-reportissue-dialog-nonanonymous-label{vertical-align:top;width:436px}.script-reportissue-dialog-nonanonymous-optional-text{color:#777}.script-explorer-contents{height:350px;width:700px;overflow:hidden}.func-header{width:100%;border-top:1px solid #e5e5e5;color:#555;cursor:default;font-weight:bold;text-transform:uppercase}.func-actions{margin-bottom:14px}#func-action-new{margin-right:22px!important}#func-action-reload{position:absolute;right:26px;width:45px}#func-action-reload .docs-icon{opacity:0.7}.func-header-func,.func-header-lib{width:307px;margin-left:5px;padding-top:4px;padding-bottom:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.func-header-rb{width:26px}.func-entries{max-height:272px;border-top:1px solid #e5e5e5;overflow-x:hidden;overflow-y:auto}.func-entries:focus{outline:none}.func-none,.func-loading{width:640px;cursor:default;padding-top:4px;padding-bottom:4px}.func-none{margin-left:30px}.func-loading{background:transparent url(//ssl.gstatic.com/docs/script/images/spin-wait.gif) no-repeat 0 4px;padding-left:20px;margin-left:12px}.webstore-widget{padding:0}.webstore-widget .modal-dialog-title{border-bottom:1px solid #acacac;margin:0;padding:16px 12px}.encrypted-create-dialog.modal-dialog{height:242px;width:390px}.encrypted-create-dialog.modal-dialog:focus{outline:0}.encrypted-create-dialog .modal-dialog-content{font-size:14px;height:100px;letter-spacing:0.2px;line-height:20px;width:392px}.encrypted-create-dialog .modal-dialog-title-close{visibility:hidden}.drive-encrypted-create-dialog-bg.modal-dialog-bg{opacity:0.5!important}.encrypted-create-dialog .modal-dialog-buttons{bottom:24px;position:absolute;right:24px}.encrypted-create-dialog .docsshared-cb-wrapper{font-size:14px;line-height:20px;letter-spacing:0.2px;margin-top:15px}.encrypted-create-dialog .docs-encrypted-create-dialog-cb .jfk-checkbox{padding:2px}.encrypted-create-dialog .docs-encrypted-create-dialog-cb .jfk-checkbox-checkmark{left:-1px;top:-1px}.encrypted-create-dialog .docs-encrypted-create-dialog-cb .docsshared-cb-label{padding-left:8px}.encrypted-create-dialog .drive-encrypted-create-dialog-cb .jfk-checkbox-checkmark{top:1px}.encrypted-create-dialog .drive-encrypted-create-dialog-cb .jfk-checkbox{height:19px;width:19px}.active-account-dialog-email{font-weight:500;word-break:break-all}.active-account-dialog .modal-dialog-content{display:flex}.active-account-dialog-display-name{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;line-height:12px;padding:8px;display:flex;align-items:center}.active-account-dialog-avatar{background-color:#9aa0a6;border-radius:50%;object-fit:cover;height:32px;width:32px}.active-account-dialog .modal-dialog-buttons{margin-top:32px}.modal-dialog.active-account-dialog{display:table;max-width:464px;table-layout:fixed}.goog-checkbox{border:1px solid #1c5180;display:-moz-inline-box;display:inline-block;font-size:1px;height:11px;margin:0 4px 0 1px;vertical-align:text-bottom;width:11px}.goog-checkbox-checked{background:#fff url(//ssl.gstatic.com/closure/check-sprite.gif) no-repeat 2px center}.goog-checkbox-undetermined{background:#bbb url(//ssl.gstatic.com/closure/check-sprite.gif) no-repeat 2px center}.goog-checkbox-unchecked{background:#fff}.goog-checkbox-disabled{border:1px solid lightgray;background-position:-7px}.jfk-checkbox{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;background-color:rgba(255,255,255,.05);border:1px solid #c6c6c6;border:1px solid rgba(155,155,155,.57);font-size:1px;height:11px;margin:0px 4px 0px 1px;outline:0;vertical-align:text-bottom;width:11px}.jfk-checkbox-undetermined{background-color:#fff;background-color:rgba(255,255,255,.65)}.jfk-checkbox-checked{background-color:#fff;background-color:rgba(255,255,255,.65)}.jfk-checkbox-hover{-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,.1);-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,.1);box-shadow:inset 0px 1px 1px rgba(0,0,0,.1);border:1px solid #b2b2b2}.jfk-checkbox-active{background-color:#ebebeb}.jfk-checkbox-focused{border:1px solid #4d90fe}.jfk-checkbox-clearOutline.jfk-checkbox-focused{border:1px solid #c6c6c6;border:1px solid rgba(155,155,155,.57)}.jfk-checkbox-disabled,.jfk-checkbox-clearOutline.jfk-checkbox-disabled{background-color:#fff;border:1px solid #f1f1f1;cursor:default}.jfk-checkbox-checkmark{height:15px;outline:0;width:15px;left:0;position:relative;top:-3px}.jfk-checkbox-undetermined .jfk-checkbox-checkmark{background:url(//ssl.gstatic.com/ui/v1/menu/checkmark-partial.png) no-repeat -5px -3px;background-image:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/menu/checkmark-partial.png) 1x,url(//ssl.gstatic.com/ui/v1/menu/checkmark-partial_2x.png) 2x)}.jfk-checkbox-checked .jfk-checkbox-checkmark{background:url(//ssl.gstatic.com/ui/v1/menu/checkmark.png) no-repeat -5px -3px;background-image:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/menu/checkmark.png) 1x,url(//ssl.gstatic.com/ui/v1/menu/checkmark_2x.png) 2x)}.jfk-colormenu.goog-menu{padding:0}.jfk-palette{cursor:default;outline:none}.jfk-palette-table{empty-cells:show;margin:16px}.jfk-palette-cell{border:1px solid transparent;cursor:pointer;margin:0;position:relative}.jfk-palette-cell-hover{border:1px solid #000}.jfk-palette-cell-selected{outline:1px solid #000}.jfk-palette-colorswatch{height:16px;width:16px}.jfk-palette-cell-selected>.jfk-palette-colorswatch{background:url(//ssl.gstatic.com/ui/v1/colorpicker/checkmark.png) no-repeat 50% 50%}.jfk-colorwell{border:1px solid #d9d9d9}.jfk-butterBar{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:0px 2px 4px rgba(0,0,0,0.2);box-shadow:0px 2px 4px rgba(0,0,0,0.2);-webkit-transition:all 0s linear 1s,opacity 1s;-moz-transition:all 0s linear 1s,opacity 1s;-o-transition:all 0s linear 1s,opacity 1s;transition:all 0s linear 1s,opacity 1s;border-style:solid;border-width:0;font-size:11px;height:0;opacity:0;visibility:hidden;overflow:hidden;padding:0;text-align:center}.jfk-butterBar-info{background-color:#f9edbe;border-color:#f0c36d;color:#333}.jfk-butterBar-error{background-color:#484848;border-color:#202020;color:#fff}.jfk-butterBar-promo{background-color:#d6e9f8;border-color:#4d90f0;color:#333}.jfk-butterBar-warning{background-color:#dd4b39;border-color:#602019;color:#fff}.jfk-butterBar-shown{-webkit-transition:opacity 0.218s;-moz-transition:opacity 0.218s;-o-transition:opacity 0.218s;transition:opacity 0.218s;border-width:1px;min-height:14px;height:auto;opacity:1;visibility:visible;padding:6px 16px}.jfk-butterBar-mini.jfk-butterBar-shown{padding:2px 16px}.goog-link-button{position:relative;color:#15c;text-decoration:underline;cursor:pointer}.goog-link-button-disabled{color:#ccc;text-decoration:none;cursor:default}.goog-toolbar{background:#f5f5f5;border-top:1px solid #e5e5e5;border-bottom:1px solid #ebebeb;outline:0;padding:8px 0 4px 0;position:relative;zoom:1}.jfk-freestanding-menu-button{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;background:url(//ssl.gstatic.com/ui/v1/disclosure/light-grey-disclosure-arrow-down.png) center no-repeat;border:1px solid #e5e5e5;height:11px;width:11px;cursor:pointer}.jfk-freestanding-menu-button-hover,.jfk-freestanding-menu-button-active,.jfk-freestanding-menu-button-open{background:url(//ssl.gstatic.com/ui/v1/disclosure/dark-grey-disclosure-arrow-down.png) center no-repeat #eee;border-color:#c6c6c6}.jfk-select .goog-flat-menu-button-caption{overflow:hidden;width:100%}.jfk-select .goog-flat-menu-button-dropdown{background:url(//ssl.gstatic.com/ui/v1/disclosure/grey-disclosure-arrow-up-down.png) center no-repeat;border:none;height:11px;margin-top:-4px;width:7px}.jfk-progressStatus{color:#202020}.jfk-progressText{color:#999}.jfk-progressStatus,.jfk-progressText{line-height:18px}.jfk-progressBar-blocking .progress-bar-horizontal,.jfk-progressBar-nonBlocking .progress-bar-horizontal{border:1px solid #999;padding:1px;width:320px}.jfk-progressBar-blocking .progress-bar-thumb{background-color:#6188f5;height:5px}.jfk-progressBar-nonBlocking .progress-bar-thumb{background-color:#ccc;height:5px}.jfk-progressBar-blocking.jfk-progressBar-tall .progress-bar-thumb,.jfk-progressBar-nonBlocking.jfk-progressBar-tall .progress-bar-thumb{height:8px}.jfk-progressBar-blocking .progress-bar-thumb{-webkit-animation:jfk-progressBar-bg 0.8s linear 0s infinite;-moz-animation:jfk-progressBar-bg 0.8s linear 0s infinite;-o-animation:jfk-progressBar-bg 0.8s linear 0s infinite;animation:jfk-progressBar-bg 0.8s linear 0s infinite;background-position:0 0;background-repeat:repeat-x;background-size:16px 8px;background-color:#6188f5;background-image:-webkit-linear-gradient(315deg,transparent,transparent 33%,rgba(0,0,0,.12) 33%,rgba(0,0,0,.12) 66%,transparent 66%,transparent);background-image:-moz-linear-gradient(315deg,transparent,transparent 33%,rgba(0,0,0,.12) 33%,rgba(0,0,0,.12) 66%,transparent 66%,transparent);background-image:-ms-linear-gradient(315deg,transparent,transparent 33%,rgba(0,0,0,.12) 33%,rgba(0,0,0,.12) 66%,transparent 66%,transparent);background-image:-o-linear-gradient(315deg,transparent,transparent 33%,rgba(0,0,0,.12) 33%,rgba(0,0,0,.12) 66%,transparent 66%,transparent);background-image:linear-gradient(315deg,transparent,transparent 33%,rgba(0,0,0,.12) 33%,rgba(0,0,0,.12) 66%,transparent 66%,transparent)}.jfk-progressBar-blocking.jfk-progressBar-tall .progress-bar-thumb{-webkit-animation:jfk-progressBar-bg-tall 0.8s linear 0s infinite;-moz-animation:jfk-progressBar-bg-tall 0.8s linear 0s infinite;-o-animation:jfk-progressBar-bg-tall 0.8s linear 0s infinite;animation:jfk-progressBar-bg-tall 0.8s linear 0s infinite;background-size:20px 10px}@-webkit-keyframes jfk-progressBar-bg{0%{background-position:0 0}100%{background-position:-16px 0}}@-moz-keyframes jfk-progressBar-bg{0%{background-position:0 0}100%{background-position:-16px 0}}@-o-keyframes jfk-progressBar-bg{0%{background-position:0 0}100%{background-position:-16px 0}}@keyframes jfk-progressBar-bg{0%{background-position:0 0}100%{background-position:-16px 0}}@-webkit-keyframes jfk-progressBar-bg-tall{0%{background-position:0 0}100%{background-position:-20px 0}}@-moz-keyframes jfk-progressBar-bg-tall{0%{background-position:0 0}100%{background-position:-20px 0}}@-o-keyframes jfk-progressBar-bg-tall{0%{background-position:0 0}100%{background-position:-20px 0}}@keyframes jfk-progressBar-bg-tall{0%{background-position:0 0}100%{background-position:-20px 0}}.jfk-progressbar .progress-bar-horizontal,.jfk-progressbar .progress-bar-vertical{border-color:#999}.jfk-progressbar .progress-bar-thumb{background-color:#ccc}.jfk-radiobutton{display:inline-block;outline:none;padding:5px 7px;position:relative}.jfk-radiobutton-radio{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:url(//ssl.gstatic.com/ui/v1/radiobutton/unchecked.png) -3px -3px;background:rgba(255,255,255,0);border:1px solid rgba(198,198,198,1);height:15px;left:7px;margin:0;outline:none;position:absolute;text-align:left;top:6px;width:15px}.jfk-radiobutton:active .jfk-radiobutton-radio{background:rgba(235,235,235,1);border-color:rgba(182,182,182,1)}.jfk-radiobutton:hover .jfk-radiobutton-radio{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1);border-color:rgba(182,182,182,1)}.jfk-radiobutton:focus .jfk-radiobutton-radio{border-color:rgba(77,144,254,1)}.jfk-radiobutton-checked .jfk-radiobutton-radio{background:url(//ssl.gstatic.com/ui/v1/radiobutton/checked.png) -3px -3px;background:rgba(255,255,255,0)}.jfk-radiobutton.jfk-radiobutton:focus .jfk-radiobutton-radio{background:url(//ssl.gstatic.com/ui/v1/radiobutton/unchecked_focused.png) -3px -3px;background:rgba(255,255,255,0)}.jfk-radiobutton-checked.jfk-radiobutton:focus .jfk-radiobutton-radio{background:url(//ssl.gstatic.com/ui/v1/radiobutton/checked_focused.png) -3px -3px;background:rgba(255,255,255,0)}.jfk-radiobutton-checked .jfk-radiobutton-radio::after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:rgba(96,96,96,1);border:2px solid #606060;box-sizing:border-box;content:'';display:block;height:7px;left:3px;position:relative;top:3px;width:7px}.jfk-radiobutton .jfk-radiobutton-label{display:block;cursor:default;margin-left:22px}.jfk-radiobutton-disabled .jfk-radiobutton-radio{background:url(//ssl.gstatic.com/ui/v1/radiobutton/unchecked-disabled.png) -3px -3px;background:rgba(255,255,255,0);border-color:rgba(241,241,241,1)}.jfk-radiobutton-disabled.jfk-radiobutton-checked .jfk-radiobutton-radio{background:url(//ssl.gstatic.com/ui/v1/radiobutton/checked-disabled.png) -3px -3px;background:rgba(255,255,255,0)}.jfk-radiobutton-disabled.jfk-radiobutton-checked .jfk-radiobutton-radio::after{background:rgba(184,184,184,1)}.jfk-radiobutton-disabled .jfk-radiobutton-label{color:rgb(184,184,184)}.jfk-radiobutton-disabled:active .jfk-radiobutton-radio,.jfk-radiobutton-disabled:hover .jfk-radiobutton-radio{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:rgba(255,255,255,1);border-color:rgba(241,241,241,1)}::-webkit-scrollbar{height:16px;overflow:visible;width:16px}::-webkit-scrollbar-button{height:0;width:0}::-webkit-scrollbar-track{background-clip:padding-box;border:solid transparent;border-width:0 0 0 4px}::-webkit-scrollbar-track:horizontal{border-width:4px 0 0}::-webkit-scrollbar-track:hover{background-color:rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(0,0,0,.1)}::-webkit-scrollbar-track:horizontal:hover{box-shadow:inset 0 1px 0 rgba(0,0,0,.1)}::-webkit-scrollbar-track:active{background-color:rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px 0 0 rgba(0,0,0,.07)}::-webkit-scrollbar-track:horizontal:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.14),inset 0 -1px 0 rgba(0,0,0,.07)}.jfk-scrollbar-dark::-webkit-scrollbar-track:hover{background-color:rgba(255,255,255,.1);box-shadow:inset 1px 0 0 rgba(255,255,255,.2)}.jfk-scrollbar-dark::-webkit-scrollbar-track:horizontal:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.jfk-scrollbar-dark::-webkit-scrollbar-track:active{background-color:rgba(255,255,255,.1);box-shadow:inset 1px 0 0 rgba(255,255,255,.25),inset -1px 0 0 rgba(255,255,255,.15)}.jfk-scrollbar-dark::-webkit-scrollbar-track:horizontal:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(255,255,255,.15)}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;border-width:1px 1px 1px 6px;min-height:28px;padding:100px 0 0;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}::-webkit-scrollbar-thumb:horizontal{border-width:6px 1px 1px;padding:0 0 0 100px;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset -1px 0 0 rgba(0,0,0,.07)}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4);box-shadow:inset 1px 1px 1px rgba(0,0,0,.25)}::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,0.5);box-shadow:inset 1px 1px 3px rgba(0,0,0,0.35)}.jfk-scrollbar-dark::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.3);box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(255,255,255,.1)}.jfk-scrollbar-dark::-webkit-scrollbar-thumb:horizontal{box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset -1px 0 0 rgba(255,255,255,.1)}.jfk-scrollbar-dark::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.6);box-shadow:inset 1px 1px 1px rgba(255,255,255,.37)}.jfk-scrollbar-dark::-webkit-scrollbar-thumb:active{background-color:rgba(255,255,255,.75);box-shadow:inset 1px 1px 3px rgba(255,255,255,.5)}.jfk-scrollbar-borderless::-webkit-scrollbar-track{border-width:0 1px 0 6px}.jfk-scrollbar-borderless::-webkit-scrollbar-track:horizontal{border-width:6px 0 1px}.jfk-scrollbar-borderless::-webkit-scrollbar-track:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 1px 1px 0 rgba(0,0,0,.14),inset -1px -1px 0 rgba(0,0,0,.07)}.jfk-scrollbar-borderless.jfk-scrollbar-dark::-webkit-scrollbar-track:hover{background-color:rgba(255,255,255,.07);box-shadow:inset 1px 1px 0 rgba(255,255,255,.25),inset -1px -1px 0 rgba(255,255,255,.15)}.jfk-scrollbar-borderless::-webkit-scrollbar-thumb{border-width:0 1px 0 6px}.jfk-scrollbar-borderless::-webkit-scrollbar-thumb:horizontal{border-width:6px 0 1px}::-webkit-scrollbar-corner{background:transparent}body::-webkit-scrollbar-track-piece{background-clip:padding-box;background-color:#f5f5f5;border:solid #fff;border-width:0 0 0 3px;box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px 0 0 rgba(0,0,0,.07)}body::-webkit-scrollbar-track-piece:horizontal{border-width:3px 0 0;box-shadow:inset 0 1px 0 rgba(0,0,0,.14),inset 0 -1px 0 rgba(0,0,0,.07)}body::-webkit-scrollbar-thumb{border-width:1px 1px 1px 5px}body::-webkit-scrollbar-thumb:horizontal{border-width:5px 1px 1px}body::-webkit-scrollbar-corner{background-clip:padding-box;background-color:#f5f5f5;border:solid #fff;border-width:3px 0 0 3px;box-shadow:inset 1px 1px 0 rgba(0,0,0,.14)}.goog-slider{position:relative;outline:0}.goog-slider-horizontal{height:18px}.goog-slider-vertical{width:18px}.goog-slider-thumb{background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;-moz-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;-o-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;border:1px solid #dcdcdc;height:16px;position:absolute;width:16px}.goog-slider-thumb:hover{background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border-color:#c6c6c6}.goog-slider-scale{position:absolute}.goog-slider-horizontal .goog-slider-scale{border-top:1px solid #ccc;top:8px;width:100%}.goog-slider-vertical .goog-slider-scale{border-left:1px solid #ccc;height:100%;left:8px}.jfk-twothumbslider{position:relative;outline:0}.goog-twothumbslider-horizontal{height:18px}.goog-twothumbslider-vertical{width:18px}.goog-twothumbslider-horizontal .goog-twothumbslider-value-thumb,.goog-twothumbslider-horizontal .goog-twothumbslider-extent-thumb{position:absolute;height:0;width:16px}.goog-twothumbslider-vertical .goog-twothumbslider-value-thumb,.goog-twothumbslider-vertical .goog-twothumbslider-extent-thumb{position:absolute;height:16px;width:0}.jfk-slider-thumbimpl{background-color:#999;border:1px solid #999;-webkit-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;-moz-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;-o-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;transition:background-color 0.218s,border-color 0.218s,background-image 0.218s}.jfk-twothumbslider:hover .jfk-slider-thumbimpl,.jfk-twothumbslider.goog-slider-dragging .jfk-slider-thumbimpl{background-color:#fff}.jfk-twothumbslider.goog-slider-dragging .goog-slider-thumb-dragging .jfk-slider-thumbimpl{background-color:#535252;border-color:#535252}.goog-twothumbslider-horizontal .jfk-slider-thumbimpl{height:16px;width:8px}.goog-twothumbslider-horizontal .goog-twothumbslider-value-thumb .jfk-slider-thumbimpl{-webkit-border-radius:8px 0 0 8px;-moz-border-radius:8px 0 0 8px;border-radius:8px 0 0 8px}.goog-twothumbslider-horizontal .goog-twothumbslider-extent-thumb .jfk-slider-thumbimpl{-webkit-border-radius:0 8px 8px 0;-moz-border-radius:0 8px 8px 0;border-radius:0 8px 8px 0;margin-left:8px}.goog-twothumbslider-vertical .jfk-slider-thumbimpl{height:8px;width:16px}.goog-twothumbslider-vertical .goog-twothumbslider-value-thumb .jfk-slider-thumbimpl{margin-top:8px;-webkit-border-radius:0 0 8px 8px;-moz-border-radius:0 0 8px 8px;border-radius:0 0 8px 8px}.goog-twothumbslider-vertical .goog-twothumbslider-extent-thumb .jfk-slider-thumbimpl{-webkit-border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;border-radius:8px 8px 0 0}.jfk-slider-scale{background-color:#e5e5e5;position:absolute;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.goog-twothumbslider-horizontal .jfk-slider-scale{height:6px;top:6px;width:100%}.goog-twothumbslider-vertical .jfk-slider-scale{height:100%;left:6px;width:6px}.goog-twothumbslider-rangehighlight{background-color:#c6c6c6;position:absolute;-webkit-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;-moz-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;-o-transition:background-color 0.218s,border-color 0.218s,background-image 0.218s;transition:background-color 0.218s,border-color 0.218s,background-image 0.218s}.jfk-twothumbslider:hover .goog-twothumbslider-rangehighlight,.jfk-twothumbslider.goog-slider-dragging .goog-twothumbslider-rangehighlight{background-color:#535252}.jfk-twothumbslider.goog-slider-dragging .goog-twothumbslider-rangehighlight{background-image:url(//ssl.gstatic.com/ui/v1/slider/rangehighlight-active-gray.png)}.goog-twothumbslider-horizontal .goog-twothumbslider-rangehighlight{height:6px;top:6px}.goog-twothumbslider-vertical .goog-twothumbslider-rangehighlight{left:6px;width:6px}.jfk-tooltip{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-transition:visibility 0,opacity .13s ease-in;-moz-transition:visibility 0,opacity .13s ease-in;-o-transition:visibility 0,opacity .13s ease-in;transition:visibility 0,opacity .13s ease-in;background-color:#2a2a2a;border:1px solid #fff;color:#fff;cursor:default;display:block;font-size:11px;font-weight:bold;margin-left:-1px;opacity:1;padding:7px 9px;position:absolute;visibility:visible;white-space:pre-wrap;word-break:break-all;word-break:break-word}.jfk-tooltip-hide{-webkit-transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;-moz-transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;-o-transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;transition:visibility .13s,opacity .13s ease-out,left 0 linear .13s,top 0 linear .13s;opacity:0;left:20px!important;top:20px!important;visibility:hidden}.jfk-tooltip-data{display:none}.jfk-tooltip-arrow{pointer-events:none;position:absolute}.jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrow .jfk-tooltip-arrowimplafter{content:'';display:block;height:0;position:absolute;width:0}.jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore{border:6px solid}.jfk-tooltip-arrow .jfk-tooltip-arrowimplafter{border:5px solid}.jfk-tooltip-arrowdown{bottom:0}.jfk-tooltip-arrowup{top:-6px}.jfk-tooltip-arrowleft{left:-6px}.jfk-tooltip-arrowright{right:0}.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore{border-color:#fff transparent;left:-6px}.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter{border-color:#2a2a2a transparent;left:-5px}.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore{border-bottom-width:0}.jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter{border-bottom-width:0}.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore{border-top-width:0}.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter{border-top-width:0;top:1px}.jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore{border-color:transparent #fff;top:-6px}.jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter{border-color:transparent #2a2a2a;top:-5px}.jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore{border-left-width:0}.jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter{border-left-width:0;left:1px}.jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore{border-right-width:0}.jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter{border-right-width:0}.docs-butterbar-container{font-weight:500;height:0;position:absolute;text-align:center;top:23px;width:100%;z-index:999}.docs-hub-butterbar{top:57px}.docs-gm .docs-butterbar-container{font-weight:normal;font-weight:var(--docs-material-font-weight-normal,normal)}.docs-butterbar-container.docs-butterbar-container-compact{top:50px}.docs-butterbar-wrap{display:inline-block;padding-bottom:8px}.docs-gm .jfk-butterBar{align-items:center;border-radius:4px;border-style:none;display:flex;flex-wrap:wrap;font-size:13px;font-size:var(--docs-material-font-size-normal,13px);height:fit-content;min-height:40px;padding:0px 24px}.docs-gm .jfk-butterBar-info{background-color:#e6f4ea;color:#202124;white-space:normal}.docs-gm .jfk-butterBar-warning{background-color:#d93025}.docs-gm .jfk-butterBar-error{background-color:#202124;color:#dadce0}.docs-butterbar-dismiss,.docs-butterbar-link,a.docs-butterbar-link:link,a.docs-butterbar-link:visited,.docs-butterbar-link-no-pad,a.docs-butterbar-link-no-pad:link,a.docs-butterbar-link-no-pad:visited{color:#666;cursor:pointer;text-decoration:underline}.docs-butterbar-dismiss,.docs-butterbar-link,a.docs-butterbar-link:link,a.docs-butterbar-link:visited{padding-left:6px}.docs-gm .docs-butterbar-dismiss{font-size:16px;margin-left:80px;padding:0;text-decoration:none;flex:1;text-align:end}.jfk-butterBar-warning .docs-butterbar-dismiss,.jfk-butterBar-warning .docs-butterbar-link,.jfk-butterBar-warning a.docs-butterbar-link:link,.jfk-butterBar-warning a.docs-butterbar-link:visited,.jfk-butterBar-warning .docs-butterbar-link-no-pad,.jfk-butterBar-warning a.docs-butterbar-link-no-pad:link,.jfk-butterBar-warning a.docs-butterbar-link-no-pad:visited{color:#111}.jfk-butterBar-error .docs-butterbar-dismiss,.jfk-butterBar-error .docs-butterbar-link,.jfk-butterBar-error a.docs-butterbar-link:link,.jfk-butterBar-error a.docs-butterbar-link:visited,.jfk-butterBar-error .docs-butterbar-link-no-pad,.jfk-butterBar-error a.docs-butterbar-link-no-pad:link,.jfk-butterBar-error a.docs-butterbar-link-no-pad:visited{color:#add8e6}.docs-gm .docs-butterbar-dismiss,.docs-gm .docs-butterbar-link,.docs-gm a.docs-butterbar-link:link,.docs-gm a.docs-butterbar-link:visited,.docs-gm .docs-butterbar-link-no-pad,.docs-gm a.docs-butterbar-link-no-pad:link,.docs-gm a.docs-butterbar-link-no-pad:visited{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif)}.docs-gm .jfk-butterBar-info .docs-butterbar-dismiss,.docs-gm .jfk-butterBar-info .docs-butterbar-link,.docs-gm .jfk-butterBar-info a.docs-butterbar-link:link,.docs-gm .jfk-butterBar-info a.docs-butterbar-link:visited,.docs-gm .jfk-butterBar-info .docs-butterbar-link-no-pad,.docs-gm .jfk-butterBar-info a.docs-butterbar-link-no-pad:link,.docs-gm .jfk-butterBar-info a.docs-butterbar-link-no-pad:visited{color:#188038}.docs-gm .jfk-butterBar-warning .docs-butterbar-dismiss,.docs-gm .jfk-butterBar-warning .docs-butterbar-link,.docs-gm .jfk-butterBar-warning a.docs-butterbar-link:link,.docs-gm .jfk-butterBar-warning a.docs-butterbar-link:visited,.docs-gm .jfk-butterBar-warning .docs-butterbar-link-no-pad,.docs-gm .jfk-butterBar-warning a.docs-butterbar-link-no-pad:link,.docs-gm .jfk-butterBar-warning a.docs-butterbar-link-no-pad:visited{color:#fff}.docs-gm .jfk-butterBar-error .docs-butterbar-dismiss,.docs-gm .jfk-butterBar-error .docs-butterbar-link,.docs-gm .jfk-butterBar-error a.docs-butterbar-link:link,.docs-gm .jfk-butterBar-error a.docs-butterbar-link:visited,.docs-gm .jfk-butterBar-error .docs-butterbar-link-no-pad,.docs-gm .jfk-butterBar-error a.docs-butterbar-link-no-pad:link,.docs-gm .jfk-butterBar-error a.docs-butterbar-link-no-pad:visited{color:#34a853}.docs-gm .jfk-butterBar-info .docs-butterbar-dismiss:hover,.docs-gm .jfk-butterBar-info .docs-butterbar-link:hover,.docs-gm .jfk-butterBar-info .docs-butterbar-link-no-pad:hover{color:#0d652d}.docs-gm .jfk-butterBar-warning .docs-butterbar-dismiss:hover,.docs-gm .jfk-butterBar-warning .docs-butterbar-link:hover,.docs-gm .jfk-butterBar-warning .docs-butterbar-link-no-pad:hover{color:#fad2cf}.docs-gm .jfk-butterBar-error .docs-butterbar-dismiss:hover,.docs-gm .jfk-butterBar-error .docs-butterbar-link:hover,.docs-gm .jfk-butterBar-error .docs-butterbar-link-no-pad:hover{color:#81c995}.docs-ml-noselect{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#docs-chrome{background:white;outline:none}#docs-chrome.docs-hub-chrome{border-bottom:1px solid #d9d9d9;min-height:56px}#docs-header{position:relative;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}#docs-header.docs-hub-appbar{height:49px}#docs-header.docs-og-minibar{max-height:31px}#docs-header-container{display:flex;-webkit-justify-content:flex-end;justify-content:flex-end}#docs-banner-container{display:flex;-webkit-justify-content:flex-end;justify-content:flex-end}.docs-incompatibility-banner{background-color:#e6f4ea;border:0;color:#188038;display:flex;font-size:13px;height:32px;justify-content:center;white-space:nowrap;width:100%;-ms-flex:1 1;-webkit-flex:1 1;flex:1 1}.docs-hc-ie.docs-incompatibility-banner .docs-incompatibility-banner-view-details-button,.docs-hc-edge.docs-incompatibility-banner .docs-incompatibility-banner-view-details-button,.docs-hc-gecko.docs-incompatibility-banner .docs-incompatibility-banner-view-details-button{border:1px solid transparent}.docs-incompatibility-banner-text{line-height:32px;max-width:calc(100% - 140px);overflow:hidden;text-overflow:ellipsis}.docs-incompatibility-banner-view-details-button{align-self:center;background-color:inherit;border:none;color:#188038;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:24px;margin-left:32px;min-width:42px;overflow:hidden}.docs-full-height-sidebar-placeholder{-ms-flex:0 0 0px;-webkit-flex:0 0 0px;flex:0 0 0px}.docs-full-height-sidebar-placeholder.expanded{-webkit-flex-basis:300px;-ms-flex-basis:300px;flex-basis:300px}.docs-sidebar-header-text{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;left:20px;position:absolute;font-size:13px;font-size:var(--docs-material-font-size-normal,13px)}#docs-bars{position:relative;overflow:hidden}#docs-titlebar-container{margin-left:40px;position:relative}#docs-branding-container{height:60px;margin-top:26px;position:absolute;width:40px;z-index:1}#docs-branding-container a{display:inline-block;height:60px;width:40px}.docs-og-minibar #docs-branding-container{margin-top:0}#docs-titlebar{clear:both;font-size:18px;height:24px;padding:0;padding-top:7px;width:100%}.docs-hub-appbar #docs-titlebar{font-size:16px}#docs-header.docs-og-minibar #docs-titlebar{height:24px;padding-top:0}#docs-header.docs-og-minibar #docs-titlebar-container{top:-21px}#docs-header.docs-hub-appbar #docs-titlebar-container{height:100%}#docs-header.docs-og-minibar .docs-titlebar-buttons{top:19px}.docs-exp{border-radius:6px;border:1px solid #800;color:#800;float:left;font-size:11px;margin-right:8px;padding:0 5px;text-align:center;white-space:nowrap}#docs-drive-logo{height:60px;position:absolute;width:40px;opacity:0;transition:all 125ms linear}#docs-branding-logo{height:60px;position:absolute;width:40px;transition:all 125ms linear}#docs-branding-container.docs-branding-default{background-color:#d1d1d1}#docs-branding-container.docs-branding-documents{background-color:#4285f4}#docs-branding-container.docs-branding-spreadsheets{background-color:#0f9d58}#docs-branding-container.docs-branding-presentations{background-color:#f4b400}#docs-branding-container.docs-branding-drawings{background-color:#db4437}#docs-branding-container.docs-branding-forms{background-color:#673ab7}#docs-branding-container.docs-branding-scripts{background-color:#4285f4}#docs-branding-container:not(.docs-branding-crossfade-transition-disabled):hover #docs-drive-logo{opacity:1}#docs-branding-container:not(.docs-branding-crossfade-transition-disabled):hover #docs-branding-logo{opacity:0}#docs-branding-container.docs-branding-default:hover #docs-drive-logo{opacity:0}#docs-branding-container.docs-branding-default:hover #docs-branding-logo{opacity:1}.docs-butter{text-align:center}.docs-butter-inner{border-radius:3px;font-size:13px;font-weight:500;margin:0 auto 5px;padding:5px 7px}.docs-butter-info{background:#f6bc5d;color:#222}.docs-butter-info-link{color:#0658b5}.docs-butter-warning{background:#c00;color:#fff}.docs-butter-warning-link{color:#c3d9ff}#docs-chrome-cover-container{width:100%;z-index:990}#docs-chrome-cover{height:60px}#docs-transient-bar-container{left:50%;position:absolute;top:100%;width:0}.docs-fading-toolbar-message{background-color:#fff;border:#999 solid;border-width:0px 0px 1px 0px;color:#999;font-size:28px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;text-align:center}.docs-title-outer{margin-left:17px;white-space:nowrap}.docs-title-outer.docs-title-inline-rename{margin-left:12px}.docs-title{display:inline-block;outline:none}.docs-title-input{border:1px solid transparent;border-radius:2px!important;color:#fff;font-size:18px;font-variant-ligatures:no-contextual;height:20px;line-height:22px;margin:0;min-width:1px;padding:2px 7px;visibility:hidden}#docs-header.docs-hub-appbar .docs-title-input{font-size:16px}.docs-title-input-label{font-size:18px;font-variant-ligatures:no-contextual;line-height:22px;margin:0;overflow:hidden;padding:2px 8px;pointer-events:none;position:absolute;text-overflow:ellipsis;top:0;white-space:pre;z-index:1}#docs-header.docs-hub-appbar .docs-title-input-label{font-size:16px}.docs-title-input-label-inner{display:inline;line-height:22px}.docs-title-input:hover{border-color:#e5e5e5}.docs-title-input:focus{-webkit-appearance:none;-moz-appearance:none;border:1px solid #4d90fe!important;box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);color:#000;outline:none}.docs-title-input::-ms-clear{display:none}.docs-title-inner{color:#333;font-size:18px;max-width:600px;margin:2px 4px 1px 3px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.docs-title .docs-title-untitled,.docs-title-input-label.docs-title-untitled{color:#777;font-style:italic}.docs-title-widget{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:27px;width:auto}#docs-header.docs-hub-appbar .docs-title-widget{padding-left:6px}.docs-title-widget-enabled:hover .docs-title{background-color:#eee;cursor:pointer}.docs-title-widget .docs-back-container a{display:none}.docs-title-widget:hover .docs-back-container a{display:inline-block}.docs-back-container{height:21px;opacity:0.6;padding-right:9px;margin-top:1px;vertical-align:top;width:21px}.docs-back-container:hover{opacity:0.9}.docs-titlebar-badges{vertical-align:top}.docs-hub-appbar .docs-titlebar-badges>:not(.docs-save-indicator-container){display:none}.docs-titlebar-badge-container{margin-top:1px;padding:0 3px;vertical-align:top}.docs-titlebar-badge .docs-icon{display:block;height:18px;margin:3px}.docs-titlebar-badge-container .goog-control,.docs-titlebar-badge-container .goog-flat-button{outline:none}.docs-titlebar-badge{align-items:center;border-radius:4px;color:#5f6368;cursor:pointer;display:flex;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:24px}.docs-gm .docs-titlebar-badge#docs-encrypted-doc-indicator-badge,.docs-gm .docs-titlebar-badge#docs-encrypted-doc-indicator-badge:hover,.docs-gm .docs-titlebar-badge#docs-encrypted-doc-indicator-badge:active{background-color:transparent;cursor:default;outline:none}.docs-gm .docs-titlebar-badge:hover,.docs-titlebar-badge.goog-flat-button-focused,.docs-titlebar-badge.goog-control-focused,.goog-control-focused .docs-titlebar-badge{background-color:#f1f3f4;outline:none}.docs-gm .docs-titlebar-badge:active,.docs-gm .docs-titlebar-badge.docs-titlebar-badge-selected{background-color:#e6f4ea;color:#188038}.docs-titlebar-badge.goog-control-disabled{cursor:default;opacity:0.38;background:none!important}.docs-titlebar-badge.goog-control-disabled .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)!important}.docs-titlebar-badges.docs-badges-hidden-with-width{width:0;overflow:hidden}.docs-parent-collections-container-outer{outline:none;vertical-align:top}.docs-activity-indicator-container{height:29px;margin-top:2px;vertical-align:top;padding-right:2px}.office-editing-file-extension{background-color:#188038;border:1px solid transparent;border-radius:4px;box-sizing:border-box;color:#fff;cursor:default;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:13px;height:21px;line-height:21px;margin:0 8px 0 0;padding:0 5px 0 4px;text-transform:uppercase;-webkit-font-smoothing:antialiased}.docs-classification-badge{border:1px solid transparent;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;height:20px;line-height:15px;padding:2px 8px;letter-spacing:0.03em}.docs-templates-badge-container{vertical-align:middle}.docs-templates-badge{background-color:#5a5a5a;border-radius:16px;color:white;font-size:13px;padding:0 11px;height:24px;line-height:24px}#docs-dlp,#docs-activity-indicator,.docs-title-save-label{margin-left:4px;outline:none}#docs-star.docs-titlebar-badge:active{background-color:#e8eaed}#docs-star.docs-titlebar-badge:active .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)}#docs-activity-indicator{padding-left:4px;padding-top:2px}#docs-dlp .docs-icon-img{opacity:0.45}#docs-dlp:hover .docs-icon-img{opacity:0.55}#docs-dlp,#docs-star,#docs-folder .docs-icon{vertical-align:baseline}.docs-debug-info,.docs-debug-info a{color:#777!important;font-size:8px}.docs-debug-container{margin-right:6px;margin-top:55px;vertical-align:top;font-size:8px}#docs-header.docs-hub-appbar .docs-debug-container{margin-top:calc(56px - 8px)}.docs-titlebar-buttons{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:0 44px 0 0;position:absolute;right:0;text-align:right;top:26px;vertical-align:middle;white-space:nowrap;box-sizing:border-box}.docs-debug-container.docs-debug-info{display:flex;position:absolute;right:0;top:0}.docs-titlebar-button{z-index:1}#docs-docos-commentsbutton{margin-right:9px}#docs-titlebar-save{text-align:center}#docs-docos-commentsbutton,#docs-titlebar-share-client-button div{height:24px;padding-bottom:3px;vertical-align:middle}#docs-header.docs-hub-appbar #docs-titlebar-share-client-button div{height:28px;margin-right:8px}#docs-titlebar-share-client-button div.jfk-button{margin-right:0}#docs-docos-commentsbutton{cursor:default}.docs-titlebar-buttons .goog-menu-button-dropdown{position:relative;top:2px;vertical-align:baseline}.docs-menubar{cursor:default;display:inline-block;font-size:13px;font-size:var(--docs-material-font-size-normal,13px);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:29px;margin-left:52px;outline:none;position:relative;white-space:nowrap}.docs-menubar .goog-control{padding:3px 7px 5px 7px;margin-top:2px;border:1px solid transparent;outline:none}.docs-menubar .goog-control-hover{background:#eee;border-color:#eee}.docs-menubar .goog-control-open{background:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-bottom:none;-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);color:black;z-index:1003}.docs-menubar .goog-control-disabled{color:#ccc}#docs-menubars{white-space:nowrap}#docs-editor-container{background:#eee;padding:0}#docs-editor{background:#eee;outline:none}#docs-editor.companion-enabled{width:calc(100% - 56px)}.docs-gaia-disabled{color:#999;cursor:text}.docs-hide-label{display:none}.docs-title-save-label{color:#777;display:inline-block;margin-left:14px;max-width:250px;overflow:hidden;vertical-align:text-bottom;white-space:nowrap}.docs-title-save-label-with-icon .docs-title-save-label-text{max-width:calc(100% - 24px)}.docs-title-save-label-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:text-bottom;white-space:nowrap;font-size:13px;font-size:var(--docs-material-font-size-normal,13px)}.docs-title-save-label-text:hover,.docs-title-save-label-text-focused{cursor:pointer;text-decoration:underline}.docs-title-save-label-disabled>.docs-title-save-label-text:hover{cursor:auto;text-decoration:none}:not(.docs-title-save-label-disabled)>.docs-title-save-label-text-link{text-decoration:underline}.docs-material.docs-title-save-label .docs-title-save-label-icon{cursor:pointer;margin:0 0 -1px 7px;opacity:0.54;vertical-align:text-bottom}.docs-title-save-label-text:empty+.docs-title-save-label-icon{display:none}.docs-title-save-label-unsaved-changes{background-color:#fce4e2;color:#da362c;border-radius:4px;margin-bottom:-5px;margin-left:9px;padding:5px}.docs-title-save-label-unsaved-changes-button{cursor:pointer;display:none;font-weight:bold;margin-left:10px;outline:none}.docs-title-save-label-unsaved-changes .docs-title-save-label-unsaved-changes-button{display:inline-block}.docs-title-save-label-unsaved-changes-button.goog-flat-button-disabled{cursor:default;color:rgba(0,0,0,0.26)}#blob-notice-button{border:none;border-radius:4px;background-color:#fce8e6;color:#c5221f;cursor:pointer;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;margin:0 0 0 14px;outline:0;padding:4px 8px;white-space:nowrap}.docs-hc-ie#blob-notice-button,.docs-hc-edge#blob-notice-button,.docs-hc-gecko#blob-notice-button{border:1px solid transparent}.docs-rename-dialog,.docs-edit-description-dialog{width:340px}.docs-rename-dialog .modal-dialog-userInput,.docs-edit-description-dialog .modal-dialog-userInput{width:300px}.docs-gm .docs-rename-dialog,.docs-gm .docs-edit-description-dialog{min-width:312px;width:auto;width:unset}.docs-gm .docs-rename-dialog .modal-dialog-content{font-size:12px}.docs-gm .docs-rename-dialog .modal-dialog-userInput{width:100%}#docs-help-anchor{left:30%;position:absolute}#docs-help-anchor-right{right:0;position:absolute}.docs-faux-link{color:#20c;cursor:pointer;text-decoration:underline}.docs-offscreen{position:absolute;left:-10000px;top:-10000px}.docs-offscreen-z-index{position:absolute;left:0px;top:-1px;z-index:-2;opacity:0}.modal-dialog-bg,.goog-modalpopup-bg{z-index:1002}.modal-dialog,.goog-modalpopup{z-index:1003}.goog-menu{z-index:1003}#docs-menu-shield{background-color:#fff;position:absolute;z-index:1004}.docs-menu-hide-mnemonics .goog-menuitem-mnemonic-hint{text-decoration:none}.docs-menu-hide-mnemonics .goog-menuitem-mnemonic-separator{display:none}.goog-menu.goog-menu-noaccel .docs-menuheader{color:#9aa0a6!important;padding-left:12px}.goog-menu.goog-menu-noaccel .apps-menuitem{padding-right:10px}.goog-menu.goog-menu-noicon .goog-menuitem.apps-menuitem{padding-left:16px}.goog-menuitem.apps-menuitem{padding:6px 10px 6px 30px;white-space:normal}.goog-menuitem-highlight.apps-menuitem{border-style:none;padding-bottom:6px;padding-top:6px}.apps-menuitem .goog-menuitem-label{padding-right:6px}.apps-menuitem .goog-menuitem-accel,.docs-gm .goog-menuitem .goog-menuitem-accel{float:right;padding:0px 0px 0px 24px;position:relative}.goog-submenu .goog-menuitem-content{margin-right:42px}.docs-halfhovermenuitem .goog-submenu-arrow,.apps-menuitem .goog-submenu-arrow,.docs-gm .goog-menuitem .goog-submenu-arrow{margin-right:4px}.apps-menuitem.goog-menuitem-ie{padding:3px 10px 20px 30px}.apps-menuitem .goog-menuitem-icon-ie{float:left;top:0em}.apps-menuitem .goog-menuitem-label-ie{float:left}.modal-dialog-content{font-size:13px;font-size:var(--docs-material-font-size-normal,13px)}#docs-hub-open-external-appbarbutton .hub-open-external-icon-container,#docs-hub-close-appbarbutton .hub-close-icon-container,.docs-icon.goog-inline-block.hub-document-icon-container{height:20px;outline:0;width:20px;margin-top:2px}#docs-hub-open-external-appbarbutton .hub-open-external-icon-container,#docs-hub-close-appbarbutton .hub-close-icon-container{position:relative;top:1px;left:1px}#docs-hub-open-external-appbarbutton,#docs-hub-close-appbarbutton{margin:0 0 0 2px;width:32px;height:32px}#docs-hub-open-external-appbarbutton:hover,#docs-hub-open-external-appbarbutton:focus,#docs-hub-close-appbarbutton:hover,#docs-hub-close-appbarbutton:focus{background-color:rgba(0,0,0,.06)}input{font-family:inherit}body{background-color:white;color:black;font-weight:normal;font-size:13px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:0}.jfk-activityIndicator{display:inline-block;position:relative;direction:ltr}.jfk-activityIndicator,.jfk-activityIndicator-icon,.jfk-activityIndicator-circle,.jfk-activityIndicator-circle-transition{height:19px;width:19px}.jfk-activityIndicator-small.jfk-activityIndicator,.jfk-activityIndicator-small .jfk-activityIndicator-icon,.jfk-activityIndicator-small .jfk-activityIndicator-circle,.jfk-activityIndicator-small .jfk-activityIndicator-circle-transition{height:16px;width:16px}.jfk-activityIndicator-icon{background:url(//ssl.gstatic.com/ui/v1/activityindicator/offline.png) center no-repeat}.jfk-activityIndicator-small .jfk-activityIndicator-icon{background:url(//ssl.gstatic.com/ui/v1/activityindicator/offline_16.png) center no-repeat}.jfk-activityIndicator-icon{-webkit-transition:opacity .218s linear .44s;-moz-transition:opacity .218s linear .44s;-o-transition:opacity .218s linear .44s;transition:opacity .218s linear .44s;top:0;left:0;position:absolute;opacity:0}.jfk-activityIndicator-circle{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;top:0;left:0;position:absolute}.jfk-activityIndicator-mask{overflow:hidden;position:absolute}.jfk-activityIndicator-circle-transition{position:relative}.jfk-activityIndicator-transition{-webkit-transition:all .22s ease-in;-moz-transition:all .22s ease-in;-o-transition:all .22s ease-in;transition:all .22s ease-in}.jfk-activityIndicator-transition-second{-webkit-transition:all .22s ease-out .22s;-moz-transition:all .22s ease-out .22s;-o-transition:all .22s ease-out .22s;transition:all .22s ease-out .22s}.jfk-bubble.jfk-bubble-promo{background-color:#f9edbe;border:1px solid #f0c36d}.jfk-bubble-promo .jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.jfk-bubble-promo .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:#f0c36d transparent}.jfk-bubble-promo .jfk-bubble-arrowdown .jfk-bubble-arrowimplafter,.jfk-bubble-promo .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#f9edbe transparent}.jfk-bubble-promo .jfk-bubble-arrowleft .jfk-bubble-arrowimplbefore,.jfk-bubble-promo .jfk-bubble-arrowright .jfk-bubble-arrowimplbefore{border-color:transparent #f0c36d}.jfk-bubble-promo .jfk-bubble-arrowleft .jfk-bubble-arrowimplafter,.jfk-bubble-promo .jfk-bubble-arrowright .jfk-bubble-arrowimplafter{border-color:transparent #f9edbe}.jfk-star{display:inline-block;height:19px;text-align:center;width:19px;padding:2px}.jfk-star:before{content:url(//ssl.gstatic.com/ui/v1/star/star4.png);content:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/star/star4.png) 1x,url(//ssl.gstatic.com/ui/v1/star/star4_2x.png) 2x)}.jfk-star-hover:before{content:url(//ssl.gstatic.com/ui/v1/star/star-hover4.png);content:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/star/star-hover4.png) 1x,url(//ssl.gstatic.com/ui/v1/star/star-hover4_2x.png) 2x)}.jfk-star-active:before{content:url(//ssl.gstatic.com/ui/v1/star/star-active4.png);content:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/star/star-active4.png) 1x,url(//ssl.gstatic.com/ui/v1/star/star-active4_2x.png) 2x)}.jfk-star-checked:before{content:url(//ssl.gstatic.com/ui/v1/star/star-lit4.png);content:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/star/star-lit4.png) 1x,url(//ssl.gstatic.com/ui/v1/star/star-lit4_2x.png) 2x)}.jfk-star-checked.jfk-star-hover:before{content:url(//ssl.gstatic.com/ui/v1/star/star-lit-hover4.png);content:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/star/star-lit-hover4.png) 1x,url(//ssl.gstatic.com/ui/v1/star/star-lit-hover4_2x.png) 2x)}.jfk-star-checked.jfk-star-active:before{content:url(//ssl.gstatic.com/ui/v1/star/star-lit-active4.png);content:-webkit-image-set(url(//ssl.gstatic.com/ui/v1/star/star-lit-active4.png) 1x,url(//ssl.gstatic.com/ui/v1/star/star-lit-active4_2x.png) 2x)}.apps-share-sprite{background-image:url(//ssl.gstatic.com/docs/documents/share/images/sprite-22.svg)}.sharing-aria-region{position:absolute;top:-1000px;height:1px;overflow:hidden}.share-butterbar-container{font-family:Roboto,arial,sans-serif;font-size:13px;font-weight:bold;position:fixed;display:inline-block;padding-bottom:5px}.share-client-dialog .share-butterbar-container{font-family:arial,sans-serif}.share-butterbar-container .jfk-butterBar-shown{height:21px}.share-butterbar-top{top:23px}.share-butterbar-zindex{z-index:3021}.share-butter-icon{opacity:.55;display:inline-block;width:21px;height:21px;margin-bottom:1px;margin-top:1px;margin-right:1px;vertical-align:middle}.share-butter-message,.share-butter-link{line-height:21px}.share-butter-link,.share-butter-link:visited{color:#15c;text-decoration:none;cursor:pointer}.share-butter-link:focus{outline:none}.share-butter-link:active{color:#d14836}.share-butter-link:disabled{color:#222;cursor:default}.share-butter-copy-icon{background-position:0 -120px}.share-butter-specific-people-icon{background-position:0 -72px}.share-butter-person-link-icon{background-position:0 -294px}.share-client-dialog{max-height:100%;overflow:auto;width:auto!important;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}* html .share-client-dialog{max-height:none!important;overflow:visible!important}*:first-child+html .share-client-dialog{max-height:none!important;overflow:visible!important}.share-client-dialog .modal-dialog-content{padding:0}.share-client-dialog .modal-dialog-title{padding:0}.share-client-dialog .share-client-dialog-hidden-title{height:0;margin:0;padding:0}.share-client-dialog .modal-dialog-title{font-family:arial,sans-serif;font-weight:normal}.share-client-content-iframe{display:flex;height:100%;width:100%;border:none}.share-client-dialog .modal-dialog-buttons{display:none}.share-client-error-dialog{font-family:arial,sans-serif;font-size:12px;width:400px}.share-client-loading-contents{height:99px;text-align:center;width:454px}.share-client-spinner{background-image:url(//ssl.gstatic.com/docs/documents/share/images/spinner-1.gif);display:inline-block;margin-top:41px;width:16px;height:16px}.inline-share-ui-status{font-size:12pt;font-weight:bold;height:19px;padding:5px 10px;background-color:#f1f4ff}.inline-share-ui-overlay{position:absolute;z-index:150;background-color:#fff;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.share-client-panel-dialog-share{height:100%;width:100%}.share-client-panel-dialog-overlay{position:absolute;z-index:150}.share-client-offscreen{position:absolute!important;left:-10000px!important;top:-10000px!important}.share-client-loading-dialog{font-family:arial,sans-serif}.share-client-debug{display:none;position:absolute;bottom:0;right:0;color:#777;font-size:10px}.team-drive-share-client-dialog{border:none;border-radius:2px;box-shadow:0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12),0px 11px 15px -7px rgba(0,0,0,0.2);padding:0}.full-screen-share-client-dialog{background-color:transparent!important;border:none!important;height:100vh;overflow:hidden;padding:0!important;width:100vw!important}.full-screen-share-client-dialog .modal-dialog-content{background:transparent;height:100%;width:100%}.modal-dialog.share-client-dialog.team-drive-share-client-dialog{padding:0}.full-screen-share-client-dialog .modal-dialog-title,.team-drive-share-client-dialog .modal-dialog-title{display:none}.jfk-tooltip{z-index:30000}.scb-container,.scb-icon{display:inline-block}.scb-button-icon{margin:-3px 2px 0px -5px;vertical-align:middle!important}.scb-tooltip-contents{color:#fff;font-size:13px;max-width:300px}.scb-tooltip-title{font-size:14px;font-weight:bold}.scb-tooltip-text{font-weight:normal}.scb-tooltip-icon-container{width:25px;vertical-align:top}.scb-tooltip-separator{border-top:1px solid #555555;margin:2px 0}.jfk-button-standard .scb-button-icon{opacity:.70}.jfk-button-standard.jfk-button-checked .scb-button-icon,.jfk-button-standard.jfk-button-selected .scb-button-icon,.jfk-button-standard.jfk-button-hover .scb-button-icon{opacity:0.9}.jfk-button-standard.jfk-button-disabled .scb-button-icon{opacity:0.333}.scb-public-icon-white,.scb-unlisted-icon-white,.scb-domain-public-icon-white,.scb-domain-unlisted-icon-white,.scb-privately-shared-icon-white,.scb-private-icon-white,.scb-invalid-icon-white,.scb-dlp-icon{width:21px;height:21px;background-repeat:no-repeat;vertical-align:bottom}.scb-public-icon-white{background-position:0 -802px}.scb-unlisted-icon-white{background-position:0 -48px}.scb-domain-public-icon-white{background-position:0 -243px}.scb-domain-unlisted-icon-white{background-position:0 -599px}.scb-privately-shared-icon-white{background-position:0 -318px}.scb-private-icon-white{background-position:0 -219px}.scb-invalid-icon-white{background-position:0 -623px}.scb-dlp-icon{background-position:0 -898px}.docs-branding-presentations .scb-public-icon-white{background-position:0 -671px}.docs-branding-presentations .scb-unlisted-icon-white{background-position:0 -294px}.docs-branding-presentations .scb-domain-public-icon-white{background-position:0 -850px}.docs-branding-presentations .scb-domain-unlisted-icon-white{background-position:0 -551px}.docs-branding-presentations .scb-privately-shared-icon-white{background-position:0 -72px}.docs-branding-presentations .scb-private-icon-white{background-position:0 -575px}.docs-branding-presentations .scb-invalid-icon-white{background-position:0 -826px}.docs-branding-icon{direction:ltr;text-align:left;height:60px;overflow:hidden;vertical-align:middle;width:40px}.docs-branding-icon-img:before{content:url(//ssl.gstatic.com/docs/common/branding_sprite1.svg)}.docs-branding-icon-img{position:absolute}.docs-branding-icon-drive,.docs-branding-icon-default{left:0;top:0}.docs-branding-icon-documents{left:0;top:-180px}.docs-branding-icon-spreadsheets{left:0;top:-300px}.docs-branding-icon-presentations{left:0;top:-360px}.docs-branding-icon-drawings{left:0;top:-60px}.docs-branding-icon-forms{left:0;top:-120px}.docs-branding-icon-scripts{left:0;top:-240px}.docs-icon{direction:ltr;text-align:left;height:21px;overflow:hidden;vertical-align:middle;width:21px}.docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/jfk_sprite186.png)}.docs-icon-img{*background:url(//ssl.gstatic.com/docs/common/jfk_sprite186.png)}.docs-icon-img-legacy{background:url(//ssl.gstatic.com/docs/common/jfk_sprite186.png)}.docs-icon-img-container{height:4167px;position:absolute;width:42px}.goog-color-menu-button-indicator .docs-icon{height:19px}.goog-menuitem-icon .docs-icon-img-container{opacity:.70}.goog-menuitem-icon .docs-icon-document,.goog-menuitem-icon .docs-icon-punch,.goog-menuitem-icon .docs-icon-presentation,.goog-menuitem-icon .docs-icon-spreadsheet,.goog-menuitem-icon .docs-icon-form,.goog-menuitem-icon .docs-icon-drawing,.goog-menuitem-icon .docs-icon-script,.goog-menuitem-icon .docs-icon-site{opacity:1}.docs-icon-save{left:0;top:-1077px}.docs-icon-print{left:0;top:-528px}.docs-icon-undo,.docs-icon-redo-rtl{left:0;top:-759px}.docs-icon-redo,.docs-icon-undo-rtl{left:-21px;top:-1434px}.docs-icon-copy{left:0;top:-2694px}.docs-icon-cut{left:0;top:-2085px}.docs-icon-paste{left:-21px;top:-528px}.docs-icon-document{left:-21px;top:-1392px}.docs-icon-presentation{left:-21px;top:-444px}.docs-icon-punch{left:-21px;top:-444px}.docs-icon-spreadsheet{left:-21px;top:-1014px}.docs-icon-form{left:-21px;top:-1140px}.docs-icon-form-black{left:0;top:-1203px}.docs-icon-drawing{left:0;top:-4044px}.docs-icon-site{left:-21px;top:-2442px}.docs-icon-drawing-black{left:-21px;top:-2904px}.docs-icon-excel{left:-21px;top:-2253px}.docs-icon-powerpoint{left:-21px;top:-2043px}.docs-icon-word{left:0;top:-2778px}.docs-icon-script{left:-21px;top:-3393px}.docs-icon-code{left:-21px;top:-3393px}.docs-icon-insert-script{left:-21px;top:-2673px}.docs-icon-gadget{left:0;top:-2295px}.docs-icon-image{left:0;top:-2442px}.docs-icon-clipboard{left:0;top:-864px}.docs-icon-bold{left:0;top:-1035px}.docs-icon-italic{left:0;top:-3540px}.docs-icon-text-color{left:-21px;top:-2148px}.docs-icon-align-left{left:0;top:-3750px}.docs-icon-align-center{left:-21px;top:-1623px}.docs-icon-align-right{left:-21px;top:-2274px}.docs-icon-align-justify{left:0;top:-2253px}.docs-icon-align-shapes-left{left:-21px;top:-591px}.docs-icon-align-shapes-center{left:0;top:-1140px}.docs-icon-align-shapes-right{left:0;top:-4104px}.docs-icon-align-shapes-top{left:0;top:-2463px}.docs-icon-align-shapes-middle{left:0;top:-801px}.docs-icon-align-shapes-bottom{left:0;top:-402px}.docs-icon-distribute-shapes-horizontally{left:-21px;top:-1371px}.docs-icon-distribute-shapes-vertically{left:-21px;top:-3687px}.docs-icon-valign-top{left:0;top:-3771px}.docs-icon-valign-middle{left:0;top:-297px}.docs-icon-valign-bottom{left:-21px;top:-3582px}.docs-icon-list-number{left:0;top:-3624px}.docs-icon-list-bullet{left:0;top:-2232px}.docs-icon-indent{left:0;top:-3876px}.docs-icon-outdent{left:-21px;top:-864px}.docs-icon-line-spacing{left:-21px;top:-1497px}.docs-icon-columns{left:0;top:-1056px}.docs-icon-underline{left:0;top:-675px}.docs-icon-text-bgcolor{left:-21px;top:-192px}.docs-icon-textbox{left:-21px;top:-1329px}.docs-icon-shapes{left:-21px;top:-2127px}.docs-icon-line-width{left:-21px;top:-2358px}.docs-icon-add-trendline{left:-21px;top:-87px}.docs-icon-data-label{left:0;top:-1602px}.docs-icon-next{left:-21px;top:-2988px}.docs-icon-previous{left:0;top:-1434px}.docs-icon-no-color{left:-21px;top:-2106px}.docs-icon-fill-color{left:0;top:-3645px}.docs-icon-line-color{left:-21px;top:-2694px}.docs-icon-line-type{left:0;top:-2967px}.docs-icon-table{left:0;top:-3351px}.docs-icon-comment{left:-21px;top:-66px}.docs-icon-comment-blank{left:0;top:-3393px}.docs-icon-comment-blank-highlighted{left:0;top:-1560px}.docs-icon-insert-comment{left:-21px;top:-66px}.docs-icon-chart{left:0;top:-423px}.docs-icon-list-number-rtl{left:-21px;top:-2064px}.docs-icon-list-bullet-rtl{left:-21px;top:-3918px}.docs-icon-indent-rtl{left:0;top:-1497px}.docs-icon-outdent-rtl{left:0;top:-2820px}.docs-icon-line-spacing-rtl{left:-21px;top:-2085px}.docs-icon-text-ltr{left:0;top:-192px}.docs-icon-text-rtl{left:-21px;top:-2421px}.docs-icon-sheet-rtl{left:-21px;top:-972px}.docs-icon-share{left:0;top:-3201px}.docs-icon-subscript{left:0;top:-3456px}.docs-icon-superscript{left:-21px;top:-3960px}.docs-icon-strikethrough{left:0;top:-486px}.docs-icon-clear-formatting{left:0;top:-1707px}.docs-icon-link{left:-21px;top:-4125px}.docs-icon-special-character{left:-21px;top:-696px}.docs-icon-close-white{left:-21px;top:-2463px}.docs-icon-close-small{left:-21px;top:-3309px}.docs-icon-close-thin{left:-21px;top:-2022px}.docs-icon-paint-format{left:0;top:-591px}.docs-icon-video{left:0;top:-3414px}.docs-icon-reload{left:-21px;top:-4146px}.docs-icon-reload-rtl{left:0;top:-3960px}.docs-icon-insert-page-break{left:-21px;top:-3666px}.docs-icon-close{left:-21px;top:-654px}.docs-icon-check{left:-21px;top:-1791px}.docs-icon-up{left:-21px;top:-3159px}.docs-icon-down{left:-21px;top:-402px}.docs-icon-add-page{left:0;top:-1959px}.docs-icon-email{left:-21px;top:-108px}.docs-icon-insert-equation{left:-21px;top:-2400px}.docs-icon-insert-horizontal-line{left:-21px;top:-3117px}.docs-icon-tabstop-center{left:0;top:-3792px}.docs-icon-tabstop-center-bottom{left:0;top:-339px}.docs-icon-tabstop-left{left:0;top:-255px}.docs-icon-tabstop-right{left:-21px;top:-1707px}.docs-icon-border-all{left:0;top:-1329px}.docs-icon-border-right{left:0;top:-45px}.docs-icon-border-left{left:-21px;top:-1098px}.docs-icon-border-top{left:0;top:-4083px}.docs-icon-border-bottom{left:-21px;top:-45px}.docs-icon-border-outside{left:-21px;top:-213px}.docs-icon-border-inside{left:-21px;top:-2001px}.docs-icon-border-none{left:0;top:-885px}.docs-icon-border-horizontal{left:0;top:-1245px}.docs-icon-border-vertical{left:0;top:-1644px}.docs-icon-merge{left:0;top:-2022px}.docs-icon-wrap{left:-21px;top:-1749px}.docs-icon-autofilter{left:0;top:-4125px}.docs-icon-autofilter-filled{left:-21px;top:-381px}.docs-icon-insert-function{left:0;top:-3477px}.docs-icon-insert-formula{left:0;top:-738px}.docs-icon-folder-shared{left:0;top:-3117px}.docs-icon-folder-outline{left:0;top:-381px}.docs-icon-folder-outline-hover{left:0;top:-2673px}.docs-icon-folder-outline-pressed{left:-21px;top:-171px}.docs-icon-folder-solid{left:0;top:-2568px}.docs-icon-drive{left:-21px;top:-3624px}.docs-icon-drive-grey{left:-21px;top:-1077px}.docs-icon-drive-grey-hover{left:0;top:-2526px}.docs-icon-drive-grey-pressed{left:0;top:-2358px}.docs-icon-drive-hover{left:0;top:-1665px}.docs-icon-drive-pressed{left:-21px;top:-150px}.docs-icon-drive-large{left:0;top:-1266px}.docs-icon-back{left:0;top:-822px}.docs-icon-back-rtl{left:-21px;top:-3834px}.docs-icon-arrow-more{left:0;top:-276px}.docs-icon-arrow-more-rtl{left:0;top:-993px}.docs-icon-search-this-document{left:0;top:-24px}.docs-icon-arrow-dropdown{left:0;top:-3981px}.docs-icon-word-art{left:-21px;top:-4083px}.docs-icon-delete-x{left:0;top:-2904px}.docs-icon-settings{left:0;top:-780px}.docs-icon-drive-large-wrapper{width:42px;height:42px}.docs-icon-plus{left:0;top:-1392px}.docs-icon-plus-white{left:0;top:-3096px}.docs-icon-alert{left:-21px;top:-3180px}.docs-icon-trash{left:0;top:-507px}.docs-icon-locked{left:-21px;top:-3729px}.docs-icon-unlocked{left:0;top:-2589px}.docs-icon-add-fonts{left:-21px;top:-507px}.docs-icon-enter-compact{left:0;top:-2736px}.docs-icon-exit-compact{left:0;top:-1539px}.docs-icon-mode-edit{left:0;top:-213px}.docs-icon-mode-review{left:-21px;top:-318px}.docs-icon-mode-review-white{left:0;top:-3372px}.docs-icon-mode-view{left:0;top:-654px}.docs-icon-mode-view-white{left:0;top:-3330px}.docs-icon-chat{left:-21px;top:-2946px}.docs-icon-star{left:0;top:-1182px}.docs-icon-duplicate{left:-21px;top:-3855px}.docs-icon-file{left:0;top:-2862px}.docs-icon-opacity{left:0;top:-3561px}.docs-icon-label-slant{left:0;top:-2106px}.docs-icon-point-size{left:-21px;top:-549px}.docs-icon-question{left:0;top:-3687px}.docs-icon-vertical-gridlines{left:-21px;top:-2631px}.docs-icon-left-axis{left:-21px;top:-1686px}.docs-icon-right-axis{left:0;top:-3897px}.docs-icon-left-axis-gridlines{left:-21px;top:-3561px}.docs-icon-right-axis-gridlines{left:0;top:-3729px}.docs-icon-reset{left:0;top:-2043px}.docs-icon-drag-move{left:0;top:-3435px}.docs-icon-col-dragger{left:-21px;top:-927px}.docs-icon-chrome-store{left:-21px;top:-3051px}.docs-icon-fit-area{left:0;top:-3603px}.docs-icon-zoom-out{left:-21px;top:-2526px}.docs-icon-zoom-tool{left:0;top:-2610px}.docs-icon-download{left:0;top:-2946px}.docs-icon-fusion-table{left:-21px;top:-2841px}.docs-icon-spreadsheet-sink{left:0;top:-2064px}.docs-icon-send-responses{left:0;top:-234px}.docs-icon-liveform{left:-21px;top:-423px}.docs-icon-ellipsis{left:0;top:-1833px}.docs-icon-html-preview{left:-21px;top:-2505px}.docs-icon-grid{left:-21px;top:-3264px}.docs-icon-add-animation{left:0;top:-150px}.docs-icon-playhead{left:0;top:-444px}.docs-icon-playhead-rtl{left:0;top:-3519px}.docs-icon-unsupported{left:0;top:-906px}.docs-icon-calendar{left:0;top:-2001px}.docs-zippy-closed{left:0;top:-1728px}.docs-zippy-open{left:-21px;top:-2967px}.docs-icon-bookmark{left:-21px;top:-1182px}.docs-icon-heading{left:0;top:-3030px}.docs-icon-file-blue{left:-21px;top:-1350px}.docs-icon-web-result{left:0;top:-1518px}.docs-icon-mic{left:-21px;top:-1917px}.docs-icon-paragraph{left:0;top:-2274px}.docs-icon-bookmark-black{left:0;top:-1770px}.docs-icon-web-result-blue{left:0;top:-465px}.docs-icon-popout{left:-21px;top:-570px}.docs-icon-checkbox{left:-21px;top:-3414px}.docs-icon-checkbox-type{left:-21px;top:-1308px}.docs-icon-dropdown-type{left:-21px;top:-1644px}.docs-icon-grid-type{left:0;top:-3498px}.docs-icon-image-type{left:0;top:-2925px}.docs-icon-radio-type{left:0;top:-2505px}.docs-icon-scale-type{left:-21px;top:-2883px}.docs-icon-text-type{left:-21px;top:-3009px}.docs-icon-time-type{left:0;top:-972px}.docs-icon-insert-text-block{left:0;top:-3834px}.docs-icon-accepting-responses-on{left:-21px;top:-1119px}.docs-icon-accepting-responses-off{left:0;top:-1371px}.docs-icon-decimal-increase{left:0;top:-3918px}.docs-icon-decimal-decrease{left:0;top:-1308px}.docs-icon-settings-white{left:-21px;top:-3498px}.docs-icon-no-symbol{left:0;top:-2757px}.docs-icon-crop{left:0;top:-3708px}.docs-icon-green-check{left:0;top:-3051px}.docs-icon-font-size{left:0;top:-1413px}.docs-icon-reset-image{left:0;top:-2421px}.docs-icon-r-squared{left:0;top:-2169px}.docs-icon-graph-legend{left:0;top:-2883px}.docs-icon-cast{left:0;top:-1917px}.docs-icon-wrap-overflow{left:-21px;top:-24px}.docs-icon-wrap-wrap{left:-21px;top:-1602px}.docs-icon-wrap-clip{left:0;top:-3309px}.docs-icon-highlights{left:-21px;top:-3939px}.docs-icon-green-back{left:0;top:-360px}.docs-icon-arrow-back-white{left:0;top:-3072px}.docs-icon-arrow-back-white-rtl{left:0;top:-630px}.docs-icon-help{left:0;top:-1875px}.docs-icon-highlight-green{left:-21px;top:-3201px}.docs-icon-explore-black{left:-21px;top:-2799px}.docs-icon-explore-black-padded{left:0;top:-3180px}.docs-icon-explore-green{left:0;top:-3813px}.docs-icon-explore-white{left:0;top:-1686px}.docs-icon-insert-autovis-chart{left:-21px;top:-738px}.docs-icon-insert-autovis-chart-white{left:0;top:-1455px}.docs-icon-zoom-in{left:0;top:-2316px}.docs-icon-thumb-up{left:0;top:-1098px}.docs-icon-thumb-down{left:0;top:-2547px}.docs-icon-dlp-warning{left:0;top:-3582px}.docs-icon-dogfood{left:0;top:-4065px}.docs-icon-add-to-drive{left:0;top:-3939px}.docs-icon-paste-without-formatting{left:-21px;top:-1980px}.docs-icon-qanda{left:-21px;top:-2610px}.docs-icon-update-chart{left:0;top:-1161px}.docs-icon-arrow-back-dark{left:0;top:-3285px}.docs-icon-arrow-back-dark-rtl{left:0;top:-948px}.docs-icon-open-in-external{left:-21px;top:-759px}.docs-icon-unlink{left:0;top:-1350px}.docs-icon-bar-chart{left:-21px;top:-2337px}.docs-icon-column-chart{left:0;top:-1014px}.docs-icon-line-chart{left:0;top:-549px}.docs-icon-pie-chart{left:-21px;top:-1413px}.docs-icon-pie-chart-outline{height:24px;left:0;top:0;width:24px}.docs-icon-named-range{left:0;top:-3243px}.docs-icon-clock{left:0;top:-696px}.docs-icon-cancel{left:-21px;top:-255px}.docs-icon-arrow-line-tool{left:0;top:-4002px}.docs-icon-arrow-tilted{left:-21px;top:-2190px}.docs-icon-unsupported-black{left:-21px;top:-3222px}.docs-icon-text-rotation{left:-21px;top:-2379px}.docs-icon-text-rotation-up{left:0;top:-2148px}.docs-icon-text-rotation-down{left:0;top:-3264px}.docs-icon-text-rotation-angleup{left:-21px;top:-3030px}.docs-icon-text-rotation-angledown{left:-21px;top:-3813px}.docs-icon-text-rotation-vertical{left:0;top:-717px}.docs-icon-text-rotation-none{left:-21px;top:-2652px}.docs-icon-keep-lightbulb{left:-21px;top:-717px}.docs-icon-update-table{left:-21px;top:-3540px}.docs-icon-update-slide{left:-21px;top:-1560px}.docs-icon-overflow-three-dots{left:-21px;top:-2232px}.docs-icon-restore{left:-21px;top:-4002px}.docs-icon-paragraph-border-between{left:0;top:-129px}.docs-icon-paragraph-border-bottom{left:0;top:-1854px}.docs-icon-paragraph-border-left{left:-21px;top:-3876px}.docs-icon-paragraph-border-right{left:-21px;top:-2295px}.docs-icon-paragraph-border-top{left:0;top:-3666px}.docs-icon-diagram-white{left:-21px;top:-1875px}.docs-icon-drive-black{left:-21px;top:-1812px}.docs-icon-file-upload{left:0;top:-2379px}.docs-icon-photos{left:-21px;top:-906px}.docs-icon-keyboard{left:0;top:-318px}.docs-icon-dogfood-white{left:0;top:-2715px}.docs-icon-hierarchy{left:-21px;top:-843px}.docs-icon-timeline{left:0;top:-3138px}.docs-icon-process{left:0;top:-2841px}.docs-icon-transition{left:0;top:-612px}.docs-icon-mask{left:0;top:-1224px}.docs-icon-visibility-off{left:0;top:-2337px}.docs-icon-volume-up{left:-21px;top:-3372px}.docs-icon-camera{left:-21px;top:-2484px}.docs-icon-pivot-table{left:0;top:-1623px}.docs-icon-insert-pivot-table{left:0;top:-3159px}@media screen and (-webkit-min-device-pixel-ratio:2){.docs-icon-img{content:url(//ssl.gstatic.com/docs/common/jfk_sprite_hdpi124.png)}.docs-icon-img-container{height:4380px;position:absolute;width:42px}.docs-icon-save{left:0;top:-3870px}.docs-icon-print{left:0;top:-1578px}.docs-icon-undo,.docs-icon-redo-rtl{left:0;top:-3282px}.docs-icon-redo,.docs-icon-undo-rtl{left:-21px;top:-1137px}.docs-icon-copy{left:-21px;top:-3282px}.docs-icon-cut{left:0;top:-360px}.docs-icon-paste{left:-21px;top:-594px}.docs-icon-document{left:0;top:-42px}.docs-icon-presentation{left:-21px;top:-2292px}.docs-icon-punch{left:-21px;top:-2292px}.docs-icon-spreadsheet{left:-21px;top:-510px}.docs-icon-form{left:-21px;top:-990px}.docs-icon-form-black{left:-21px;top:-3660px}.docs-icon-drawing{left:-21px;top:-3828px}.docs-icon-site{left:0;top:-3177px}.docs-icon-drawing-black{left:0;top:-3618px}.docs-icon-excel{left:0;top:-84px}.docs-icon-powerpoint{left:-21px;top:-3492px}.docs-icon-word{left:-21px;top:-864px}.docs-icon-script{left:-21px;top:-2862px}.docs-icon-code{left:-21px;top:-2862px}.docs-icon-insert-script{left:-21px;top:-3261px}.docs-icon-gadget{left:0;top:-2145px}.docs-icon-image{left:0;top:-4146px}.docs-icon-clipboard{left:-21px;top:-1683px}.docs-icon-bold{left:-21px;top:-1200px}.docs-icon-italic{left:-21px;top:-759px}.docs-icon-text-color{left:0;top:-738px}.docs-icon-align-left{left:0;top:-510px}.docs-icon-align-center{left:0;top:-4083px}.docs-icon-align-right{left:-21px;top:-3198px}.docs-icon-align-justify{left:0;top:-2061px}.docs-icon-align-shapes-left{left:-21px;top:-1704px}.docs-icon-align-shapes-center{left:0;top:-2799px}.docs-icon-align-shapes-right{left:0;top:-615px}.docs-icon-align-shapes-top{left:0;top:-1053px}.docs-icon-align-shapes-middle{left:-21px;top:-2355px}.docs-icon-align-shapes-bottom{left:0;top:-3345px}.docs-icon-distribute-shapes-horizontally{left:-21px;top:-105px}.docs-icon-distribute-shapes-vertically{left:0;top:-3093px}.docs-icon-valign-top{left:0;top:-2967px}.docs-icon-valign-middle{left:0;top:-318px}.docs-icon-valign-bottom{left:-21px;top:-2208px}.docs-icon-list-number{left:0;top:-2757px}.docs-icon-list-bullet{left:-21px;top:-3870px}.docs-icon-indent{left:-21px;top:-1431px}.docs-icon-outdent{left:-21px;top:-4104px}.docs-icon-line-spacing{left:-21px;top:-4041px}.docs-icon-columns{left:0;top:-2463px}.docs-icon-underline{left:-21px;top:-1494px}.docs-icon-text-bgcolor{left:-21px;top:-2187px}.docs-icon-textbox{left:0;top:-1557px}.docs-icon-shapes{left:-21px;top:0}.docs-icon-line-width{left:0;top:-2862px}.docs-icon-add-trendline{left:0;top:-3051px}.docs-icon-data-label{left:0;top:-4314px}.docs-icon-next{left:-21px;top:-2271px}.docs-icon-previous{left:0;top:-2208px}.docs-icon-no-color{left:0;top:-1095px}.docs-icon-fill-color{left:0;top:-2355px}.docs-icon-line-color{left:-21px;top:-381px}.docs-icon-line-type{left:0;top:-1116px}.docs-icon-table{left:-21px;top:-1872px}.docs-icon-comment{left:0;top:-1326px}.docs-icon-comment-blank{left:0;top:-4167px}.docs-icon-comment-blank-highlighted{left:0;top:-489px}.docs-icon-insert-comment{left:0;top:-1326px}.docs-icon-chart{left:0;top:-1431px}.docs-icon-list-number-rtl{left:-21px;top:-2988px}.docs-icon-list-bullet-rtl{left:0;top:-1284px}.docs-icon-indent-rtl{left:0;top:-1977px}.docs-icon-outdent-rtl{left:0;top:-63px}.docs-icon-line-spacing-rtl{left:0;top:-1221px}.docs-icon-text-ltr{left:-21px;top:-4188px}.docs-icon-text-rtl{left:0;top:-678px}.docs-icon-sheet-rtl{left:-21px;top:-234px}.docs-icon-share{left:0;top:-105px}.docs-icon-subscript{left:0;top:-2103px}.docs-icon-superscript{left:0;top:-4041px}.docs-icon-strikethrough{left:0;top:-3135px}.docs-icon-clear-formatting{left:0;top:-1389px}.docs-icon-link{left:0;top:-4335px}.docs-icon-special-character{left:-21px;top:-2082px}.docs-icon-close-white{left:-21px;top:-1242px}.docs-icon-close-small{left:0;top:-3996px}.docs-icon-close-thin{left:0;top:-2988px}.docs-icon-paint-format{left:0;top:-2694px}.docs-icon-video{left:-21px;top:-2019px}.docs-icon-reload{left:-21px;top:-3975px}.docs-icon-reload-rtl{left:-21px;top:-1620px}.docs-icon-insert-page-break{left:-21px;top:-3639px}.docs-icon-close{left:0;top:-1137px}.docs-icon-check{left:0;top:-1242px}.docs-icon-up{left:-21px;top:-531px}.docs-icon-down{left:-21px;top:-3723px}.docs-icon-add-page{left:-21px;top:-1788px}.docs-icon-email{left:-21px;top:-3156px}.docs-icon-insert-equation{left:-21px;top:-3072px}.docs-icon-insert-horizontal-line{left:-21px;top:-2418px}.docs-icon-tabstop-center{left:0;top:-1872px}.docs-icon-tabstop-center-bottom{left:-21px;top:-780px}.docs-icon-tabstop-left{left:-21px;top:-2757px}.docs-icon-tabstop-right{left:0;top:-1515px}.docs-icon-border-all{left:0;top:-1179px}.docs-icon-border-right{left:0;top:-1683px}.docs-icon-border-left{left:-21px;top:-678px}.docs-icon-border-top{left:0;top:-2568px}.docs-icon-border-bottom{left:-21px;top:-822px}.docs-icon-border-outside{left:0;top:-3387px}.docs-icon-border-inside{left:-21px;top:-3345px}.docs-icon-border-none{left:-21px;top:-189px}.docs-icon-border-horizontal{left:0;top:-1305px}.docs-icon-border-vertical{left:-21px;top:-1662px}.docs-icon-merge{left:-21px;top:-3534px}.docs-icon-wrap{left:-21px;top:-4146px}.docs-icon-autofilter{left:0;top:-4272px}.docs-icon-autofilter-filled{left:0;top:-3660px}.docs-icon-insert-function{left:0;top:-1368px}.docs-icon-insert-formula{left:0;top:-3681px}.docs-icon-folder-shared{left:-21px;top:-3240px}.docs-icon-folder-outline{left:0;top:-1200px}.docs-icon-folder-outline-hover{left:-21px;top:-1914px}.docs-icon-folder-outline-pressed{left:0;top:-885px}.docs-icon-folder-solid{left:-21px;top:-573px}.docs-icon-drive{left:0;top:-2334px}.docs-icon-drive-grey{left:0;top:-4125px}.docs-icon-drive-grey-hover{left:-18px;top:-3786px}.docs-icon-drive-grey-pressed{left:0;top:-573px}.docs-icon-drive-hover{left:-21px;top:-2334px}.docs-icon-drive-pressed{left:0;top:-3450px}.docs-icon-drive-large{left:0;top:-3576px}.docs-icon-back{left:0;top:-4293px}.docs-icon-back-rtl{left:0;top:-2547px}.docs-icon-arrow-more{left:-21px;top:-3891px}.docs-icon-arrow-more-rtl{left:0;top:-531px}.docs-icon-search-this-document{left:0;top:-423px}.docs-icon-arrow-dropdown{left:-21px;top:-969px}.docs-icon-word-art{left:-21px;top:-297px}.docs-icon-delete-x{left:0;top:-3891px}.docs-icon-settings{left:-21px;top:-4335px}.docs-icon-drive-large-wrapper{width:42px;height:42px}.docs-icon-plus{left:0;top:-1998px}.docs-icon-plus-white{left:0;top:-2082px}.docs-icon-alert{left:-21px;top:-3408px}.docs-icon-trash{left:-21px;top:-3303px}.docs-icon-locked{left:0;top:-1410px}.docs-icon-unlocked{left:0;top:-1704px}.docs-icon-add-fonts{left:-21px;top:-318px}.docs-icon-enter-compact{left:0;top:-126px}.docs-icon-exit-compact{left:-21px;top:-2967px}.docs-icon-mode-edit{left:-21px;top:-3030px}.docs-icon-mode-review{left:0;top:-468px}.docs-icon-mode-review-white{left:0;top:-255px}.docs-icon-mode-view{left:-21px;top:-1998px}.docs-icon-mode-view-white{left:0;top:-1074px}.docs-icon-chat{left:-21px;top:-2040px}.docs-icon-star{left:0;top:-4188px}.docs-icon-duplicate{left:-21px;top:-1452px}.docs-icon-file{left:0;top:-1452px}.docs-icon-opacity{left:-21px;top:-2694px}.docs-icon-label-slant{left:-21px;top:-1116px}.docs-icon-point-size{left:0;top:-2376px}.docs-icon-question{left:-21px;top:-657px}.docs-icon-vertical-gridlines{left:0;top:-1788px}.docs-icon-left-axis{left:-21px;top:-3765px}.docs-icon-right-axis{left:0;top:-1662px}.docs-icon-left-axis-gridlines{left:0;top:-657px}.docs-icon-right-axis-gridlines{left:-21px;top:-4083px}.docs-icon-reset{left:-21px;top:-1032px}.docs-icon-drag-move{left:0;top:-3555px}.docs-icon-col-dragger{left:-21px;top:-1767px}.docs-icon-chrome-store{left:0;top:-3492px}.docs-icon-fit-area{left:0;top:-3975px}.docs-icon-zoom-out{left:0;top:-2589px}.docs-icon-zoom-tool{left:0;top:-3828px}.docs-icon-download{left:-21px;top:-423px}.docs-icon-fusion-table{left:-21px;top:-3954px}.docs-icon-spreadsheet-sink{left:0;top:-3030px}.docs-icon-send-responses{left:-21px;top:-2145px}.docs-icon-liveform{left:0;top:-3912px}.docs-icon-ellipsis{left:0;top:-3471px}.docs-icon-html-preview{left:-21px;top:-3807px}.docs-icon-grid{left:0;top:-990px}.docs-icon-add-animation{left:0;top:-2484px}.docs-icon-playhead{left:0;top:-2229px}.docs-icon-playhead-rtl{left:0;top:-843px}.docs-icon-unsupported{left:0;top:-1011px}.docs-icon-calendar{left:-21px;top:-3912px}.docs-zippy-closed{left:-21px;top:-1347px}.docs-zippy-open{left:0;top:-2673px}.docs-icon-bookmark{left:-21px;top:-2397px}.docs-icon-heading{left:0;top:-3408px}.docs-icon-file-blue{left:0;top:-2418px}.docs-icon-web-result{left:0;top:-3072px}.docs-icon-mic{left:0;top:-4251px}.docs-icon-paragraph{left:0;top:-339px}.docs-icon-bookmark-black{left:0;top:-147px}.docs-icon-web-result-blue{left:-21px;top:-1011px}.docs-icon-popout{left:0;top:-906px}.docs-icon-checkbox{left:-21px;top:-4062px}.docs-icon-checkbox-type{left:0;top:-3429px}.docs-icon-dropdown-type{left:0;top:-189px}.docs-icon-grid-type{left:-21px;top:-2946px}.docs-icon-image-type{left:0;top:-3240px}.docs-icon-radio-type{left:0;top:-3303px}.docs-icon-scale-type{left:0;top:-2715px}.docs-icon-text-type{left:-21px;top:-2736px}.docs-icon-time-type{left:-21px;top:-552px}.docs-icon-insert-text-block{left:-21px;top:-3681px}.docs-icon-accepting-responses-on{left:0;top:-1347px}.docs-icon-accepting-responses-off{left:0;top:-2505px}.docs-icon-decimal-increase{left:-21px;top:-1536px}.docs-icon-decimal-decrease{left:0;top:-2271px}.docs-icon-settings-white{left:0;top:-1893px}.docs-icon-no-symbol{left:0;top:-1956px}.docs-icon-crop{left:0;top:-2778px}.docs-icon-green-check{left:0;top:-3513px}.docs-icon-font-size{left:0;top:-1032px}.docs-icon-reset-image{left:-21px;top:-3366px}.docs-icon-r-squared{left:0;top:-3933px}.docs-icon-graph-legend{left:0;top:-3849px}.docs-icon-cast{left:0;top:-2019px}.docs-icon-wrap-overflow{left:0;top:-948px}.docs-icon-wrap-wrap{left:-21px;top:-2124px}.docs-icon-wrap-clip{left:0;top:-3639px}.docs-icon-highlights{left:0;top:-3744px}.docs-icon-green-back{left:-21px;top:-2715px}.docs-icon-arrow-back-white{left:0;top:-4017px}.docs-icon-arrow-back-white-rtl{left:0;top:-2439px}.docs-icon-help{left:0;top:-1851px}.docs-icon-highlight-green{left:0;top:-1536px}.docs-icon-explore-black{left:0;top:-1473px}.docs-icon-explore-black-padded{left:0;top:-3114px}.docs-icon-explore-green{left:0;top:-381px}.docs-icon-explore-white{left:0;top:-3534px}.docs-icon-insert-autovis-chart{left:0;top:-2610px}.docs-icon-insert-autovis-chart-white{left:0;top:-297px}.docs-icon-zoom-in{left:-21px;top:-1389px}.docs-icon-thumb-up{left:-21px;top:-339px}.docs-icon-thumb-down{left:-21px;top:-4251px}.docs-icon-dlp-warning{left:-21px;top:-255px}.docs-icon-dogfood{left:0;top:-3786px}.docs-icon-add-to-drive{left:0;top:-21px}.docs-icon-paste-without-formatting{left:0;top:-1158px}.docs-icon-qanda{left:0;top:-3198px}.docs-icon-update-chart{left:0;top:-594px}.docs-icon-arrow-back-dark{left:0;top:-210px}.docs-icon-arrow-back-dark-rtl{left:0;top:-444px}.docs-icon-open-in-external{left:0;top:-234px}.docs-icon-unlink{left:0;top:-276px}.docs-icon-bar-chart{left:0;top:0}.docs-icon-column-chart{left:-21px;top:-2568px}.docs-icon-line-chart{left:-21px;top:-927px}.docs-icon-pie-chart{left:0;top:-717px}.docs-icon-pie-chart-outline{height:24px;left:0;top:-4356px;width:24px}.docs-icon-named-range{left:0;top:-3765px}.docs-icon-clock{left:-21px;top:-843px}.docs-icon-cancel{left:0;top:-1767px}.docs-icon-arrow-line-tool{left:0;top:-168px}.docs-icon-arrow-tilted{left:0;top:-864px}.docs-icon-unsupported-black{left:-21px;top:-3471px}.docs-icon-text-rotation{left:0;top:-1830px}.docs-icon-text-rotation-up{left:0;top:-3009px}.docs-icon-text-rotation-down{left:0;top:-822px}.docs-icon-text-rotation-angleup{left:-21px;top:-1557px}.docs-icon-text-rotation-angledown{left:-21px;top:-1095px}.docs-icon-text-rotation-vertical{left:0;top:-2946px}.docs-icon-text-rotation-none{left:0;top:-2904px}.docs-icon-keep-lightbulb{left:-21px;top:-2610px}.docs-icon-update-table{left:-21px;top:-1179px}.docs-icon-update-slide{left:-21px;top:-2652px}.docs-icon-overflow-three-dots{left:0;top:-969px}.docs-icon-restore{left:-21px;top:-2229px}.docs-icon-paragraph-border-between{left:-21px;top:-3429px}.docs-icon-paragraph-border-bottom{left:-21px;top:-1977px}.docs-icon-paragraph-border-left{left:-21px;top:-615px}.docs-icon-paragraph-border-right{left:-21px;top:-1893px}.docs-icon-paragraph-border-top{left:0;top:-2250px}.docs-icon-diagram-white{left:0;top:-2397px}.docs-icon-drive-black{left:0;top:-3324px}.docs-icon-file-upload{left:-21px;top:-1221px}.docs-icon-photos{left:-21px;top:-4230px}.docs-icon-keyboard{left:-21px;top:-3135px}.docs-icon-dogfood-white{left:0;top:-2040px}.docs-icon-hierarchy{left:0;top:-1263px}.docs-icon-timeline{left:0;top:-1809px}.docs-icon-process{left:-21px;top:-2166px}.docs-icon-transition{left:-21px;top:-699px}.docs-icon-mask{left:-21px;top:-21px}.docs-icon-visibility-off{left:0;top:-2883px}.docs-icon-volume-up{left:0;top:-2652px}.docs-icon-camera{left:-21px;top:-2925px}.docs-icon-pivot-table{left:-21px;top:-2841px}.docs-icon-insert-pivot-table{left:0;top:-2313px}}#googlebar-coldstart{height:28px;line-height:28px;background-color:transparent;padding:0 30px;z-index:1003}.googlebar-coldstart-email-container{background-color:#fff;float:right;height:inherit}.googlebar-coldstart-email{color:#999;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;padding:0 15px}.modal-dialog a{color:#15c}.docs-material #docs-branding-container{margin-top:0;width:64px}.docs-material .docs-branding-icon,.docs-material #docs-branding-container a,.docs-material #docs-branding-logo,.docs-material #docs-drive-logo{height:40px;width:40px}.docs-material #docs-branding-container a,.docs-material #docs-branding-container .docs-branding-logo-no-link{border-radius:50%;margin:4px 0 4px 8px;padding:8px}.docs-material #docs-branding-container a:focus{background-color:rgba(0,0,0,.06);outline:none}.docs-material #docs-menubar,.docs-material #docs-titlebar-container{margin-left:64px}.docs-material .docs-title-outer{margin-left:0}.docs-material #docs-folder:not(.docs-titlebar-badge){margin-top:1px}.docs-material #docs-branding-container{background-color:inherit}.docs-material .docs-branding-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg)}.docs-material .docs-branding-icon-documents{left:0;top:-6079px}.docs-material .docs-branding-icon-drawings{left:-20px;top:-4336px}.docs-material .docs-branding-icon-default,.docs-material .docs-branding-icon-forms,.docs-material .docs-branding-icon-scripts,.docs-material .docs-branding-icon-drive{left:-20px;top:-5353px}.docs-material .docs-branding-icon-spreadsheets{left:0;top:-1910px}.docs-material .docs-branding-icon-presentations{left:-20px;top:-5475px}.docs-material #docs-branding-container:not(.docs-branding-crossfade-transition-disabled):hover #docs-drive-logo{opacity:0}.docs-material #docs-branding-container:not(.docs-branding-crossfade-transition-disabled):hover #docs-branding-logo{opacity:1}.docs-material #docs-activity-indicator{padding-top:3px}.docs-material .docs-titlebar-badges .jfk-activityIndicator{vertical-align:top}.docs-material #docs-header #docs-titlebar{padding-top:9px}.docs-material #docs-header.docs-hub-appbar #docs-titlebar{padding-top:calc((56px - 24px)/2 - 2px)}.docs-material #docs-header #docs-titlebar-container{max-height:33px}.docs-material #docs-header.docs-hub-appbar #docs-titlebar-container{margin-left:0;max-height:none}.docs-material .docs-menubar{height:31px}.docs-material #docs-branding-container,.docs-material #docs-chrome-cover{height:64px}.docs-material .docs-appbar-circle-button.jfk-button{box-shadow:none;background-color:transparent;background-image:none;cursor:pointer;height:40px;width:40px;border-radius:50%;border-width:1px;border-style:solid;border-color:transparent;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:0;padding:0;margin:0 9px 0 0}.docs-material .docs-appbar-circle-button.jfk-button .docs-icon{height:24px;width:24px;opacity:0.54}.docs-gm .docs-material .docs-appbar-circle-button.jfk-button .docs-icon{opacity:1}.docs-material .docs-appbar-circle-button.jfk-button-hover,.docs-material .docs-appbar-circle-button.jfk-button:focus{background-color:rgba(0,0,0,.06)}.docs-material .docs-appbar-circle-button.jfk-button-active,.docs-material .docs-appbar-circle-button.jfk-button-checked{background-color:rgba(0,0,0,0.12)}.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-active,.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-checked{background-color:#e6f4ea}.docs-material .docs-appbar-circle-button.jfk-button-active .docs-icon,.docs-material .docs-appbar-circle-button.jfk-button-checked .docs-icon{opacity:0.87}.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-active .docs-icon,.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-checked .docs-icon{opacity:1}.docs-material .docs-appbar-circle-button.jfk-button-disabled .docs-icon{opacity:.26}.docs-gm .docs-material .docs-appbar-circle-button.jfk-button-disabled .docs-icon{opacity:.38}.docs-material .docs-appbar-circle-button.jfk-button-disabled{cursor:inherit}.docs-material .docs-chat.jfk-button{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;transition:background 0.2s 0.1s;background-color:#e8eaed;background-image:none}.docs-gm .docs-material .docs-chat.jfk-button,.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-clear-outline,.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-active.jfk-button-focused{background-color:#fff;border:2px solid #dadce0;box-shadow:0 0 0 2px #fff}.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-focused{background-color:#fff}.docs-material .docs-chat.jfk-button,.docs-material .docs-chat.jfk-button.jfk-button-clear-outline,.docs-material .docs-chat.jfk-button.jfk-button-active.jfk-button-focused{height:32px;width:32px;border-radius:50%;border-width:2px;border-style:solid;border-color:#fff;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:0 0 0 -8px}.docs-material .docs-chat.jfk-button.jfk-button-hover{background-color:#dadce0}.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-hover,.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-hover.jfk-button-clear-outline,.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-hover.jfk-button-focused{background-color:#dadce0}.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-hover.jfk-button-clear-outline.jfk-button-focused.jfk-button-active{margin:0 0 0 -8px}.docs-material .docs-chat.jfk-button.jfk-button-active{background-color:#bdc1c6}.docs-material .docs-chat.jfk-button.jfk-button-focused{border:4px solid rgba(0,0,0,0.12);margin:-2px -2px -2px -10px}.docs-gm .docs-material .docs-chat.jfk-button.jfk-button-focused{border:4px solid rgba(0,0,0,0.12);margin:-2px -2px -2px -10px;box-shadow:none}.docs-material .docs-chat.jfk-button .docs-icon{-webkit-transition-duration:200ms;-moz-transition-duration:200ms;-o-transition-duration:200ms;transition-duration:200ms;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);opacity:.71;margin:0}.docs-material .docs-chat.jfk-button.jfk-button-active .docs-icon,.docs-material .docs-chat.jfk-button.jfk-button-checked .docs-icon,.docs-material .docs-chat.jfk-button.jfk-button-focused .docs-icon,.docs-material .docs-chat.jfk-button.jfk-button-hover .docs-icon{opacity:.86}.docs-material .docs-chat.jfk-button.jfk-button-disabled .docs-icon{opacity:0.50}.docs-material .docs-chat-badge{border-radius:50%;border:1px solid #fff;right:-3px;top:-3px}.docs-gm .docs-explore-feedback-title,.docs-gm .docs-explore-feedback-button{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.docs-gm .docs-explore-sidebar-title-heading,.docs-gm .docs-explore-sidebar-title-heading-button{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:24px;position:relative;left:auto;height:auto;max-width:calc(100% - 64px);padding:0;right:auto;top:auto}.docs-gm .docs-explore-sidebar-title-heading-button{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px}.docs-gm .docs-explore-serp-webresultscard-header-text,.docs-gm .docs-explore-serp-webresultscard-allresults-text{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px}.docs-gm .docs-explore-serp-enterpriseresultscard-allresults-text{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px}.docs-gm .docs-explore-serp-enterpriseresult-embeddeditems-show-more-button{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500}.docs-gm .docs-explore-serp-enterpriseresult-snippet{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.docs-gm .docs-explore-serp-enterpriseresult-title{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px}.docs-gm .docs-explore-searchbar-labelinput{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px}.docs-gm .docs-explore-card-title-heading{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:24px;text-transform:none}.docs-gm .docs-explore-card-more-button{color:#1a73e8;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px}.docs-gm .docs-explore-card-subtitle{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:16px}.docs-material.goog-menu.goog-menu-nocheckbox .goog-menuitem,.docs-material.goog-menu.goog-menu-noicon .goog-menuitem{padding-left:16px}.docs-material.goog-menu .goog-menuitem{padding-left:36px}.docs-material.goog-menu .apps-menuitem .goog-menuitem-checkbox,.docs-material.goog-menu .apps-menuitem .goog-menuitem-icon{left:8px}.docs-material.goog-menu .apps-menuitem.goog-option-selected{background-position:left 5px center}.docs-gm .docs-material.goog-menu .apps-menuitem.goog-option-selected{background-image:none}.docs-gm .docs-material.goog-menu .apps-menuitem.goog-option-selected .goog-menuitem-checkbox{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg) -40px -614px;height:18px;width:18px;top:50%;margin-top:-9px}.docs-gm .docs-menubar .goog-control{border:1px solid transparent;border-radius:4px;box-shadow:none;color:#202124;cursor:pointer;font-size:14px;letter-spacing:.2px;padding:4px 6px}.docs-gm .docs-menubar .goog-control-hover{background-color:#f1f3f4}.docs-gm .docs-menubar .goog-control-open{background-color:#e6f4ea}.docs-gm .docs-menubar .goog-control-active,.docs-gm .docs-menubar .goog-control:hover:active{background-color:#ceead6}.docs-gm .docs-menubar .goog-control-disabled{color:#9aa0a6;background-color:white;cursor:default}.docs-gm .docs-menubar .docs-menu-button-open-below,.docs-gm .docs-menubar .docs-menu-button-open-above{z-index:1003}.docs-gm .docs-menubar .goog-control.docs-menu-button-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.docs-gm .goog-menu.docs-menu-attached-button-above{border-top-left-radius:0}.docs-gm .goog-menu.docs-menu-attached-button-below{border-bottom-left-radius:0}.docs-gm .goog-menu{border:1px solid transparent;border-radius:4px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);max-height:calc(100vh - 70px);overflow-y:auto}.docs-gm .goog-menu .goog-dimension-picker,.docs-gm .goog-menu.docs-fontmenu{overflow:hidden}.docs-gm .goog-menu.docs-omnibox-parent,.docs-gm .goog-menu.docs-ruler-context-menu{overflow:visible}.docs-gm .docs-fontmenu{max-height:none;max-height:unset}.docs-gm .goog-menuseparator{border-top:1px solid #dadce0;margin:8px 0 8px 36px}.docs-gm .docs-colormenuitems .goog-menuseparator,.docs-gm .waffle-conditionalformat-default-menu .goog-menuseparator{margin-left:0}.docs-gm .goog-menu-noicon .goog-menuseparator{margin-left:13px}.docs-gm .goog-menuitem{color:#202124;font-size:14px;letter-spacing:.2px;line-height:20px}.docs-gm .goog-menu .goog-menuitem{padding:6px 15px 6px 38px}.docs-gm .goog-menu-noicon .goog-menuitem{padding-left:15px}.docs-gm .goog-menu .apps-menuitem .goog-menuitem-checkbox,.docs-gm .goog-menu .apps-menuitem .goog-menuitem-icon{margin:7px 8px 7px 12px;left:0;top:0}.docs-gm .goog-menuitem .goog-menuitem-content{min-height:20px}.docs-gm .goog-menuitem .goog-submenu-arrow{padding-top:0}.docs-gm .goog-menuitem .docs-toolbar-mode-switcher-menu-description,.docs-gm .goog-menuitem .docs-display-density-toolbar-menuitem-description,.docs-gm .goog-menuitem .punch-qanda-presenter-view-menu-item-description{color:#80868b;font-size:12px;line-height:1}.docs-gm .goog-menuitem-highlight{background-color:#f1f3f4}.docs-gm .goog-menuitem.goog-menuitem-highlight{border-color:#f1f3f4;border-style:dotted;border-width:1px 0;padding-top:5px;padding-bottom:5px}.docs-gm .apps-menuitem.goog-menuitem-highlight{border:none;padding-top:6px;padding-bottom:6px}.docs-gm .docs-submenuitem.goog-menuitem{padding-bottom:0;padding-right:10px;padding-top:0}.docs-gm .docs-fontmenu .goog-menuitem{padding-bottom:6px;padding-right:48px;padding-top:6px}.docs-gm .docs-submenuitem.goog-menuitem-highlight{border:none;border-bottom:1px solid #e6e6e6}.docs-gm .docs-fontmenu .goog-menuitem-highlight{border:none}.docs-gm .goog-menuitem-disabled,.docs-gm .goog-menuitem-disabled .goog-menuitem-content{color:#9aa0a6!important}.docs-gm .goog-menuitem-active:hover:active{background-color:#e8eaed}.docs-gm .goog-menuitem-accel,.docs-gm .goog-menuitem-disabled .goog-menuitem-accel{color:#80868b;font-weight:500}.docs-gm .docs-ruler-context-menu-arrow-before{border:0}.docs-gm .docs-omnibox-autocomplete .goog-menuitem-icon{top:auto}.docs-material #docs-presence-container{display:flex;-webkit-align-items:center;align-items:center;height:36px;margin:0 8px 0 0}.docs-material .docs-presence-plus-widget{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end}.docs-material .docs-presence-plus-widget-open .docs-presence-plus-widget-status{display:none}.docs-material .docs-presence-plus-widget-collabs{height:36px}.docs-material .docs-presence-plus-collab-widget-container{margin:0 0 0 -8px;overflow:visible;height:auto;width:auto}.docs-material .docs-presence-plus-collab-widget{display:flex}.docs-material .docs-presence-plus-collab-widget-color-block,.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-color-block{height:32px;width:32px;border-radius:50%;border-width:2px;border-style:solid;border-color:#fff;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#fff;opacity:1;overflow:visible}.docs-material .docs-presence-plus-collab-widget-image-container,.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image-container{height:32px;width:32px;border-radius:50%;padding:0;overflow:visible;display:inline-block;opacity:.5;box-shadow:0 0 1px 0 white}.docs-material .docs-presence-plus-collab-widget-active .docs-presence-plus-collab-widget-image-container{opacity:1}.docs-material .docs-presence-plus-collab-widget-image-border,.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image-border{height:28px;width:28px;border-radius:50%;margin:2px;border:none}.docs-material .docs-presence-plus-collab-widget-image,.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image{height:28px;width:28px;border-radius:50%;padding:0;left:0}.docs-material .docs-presence-plus-collab-widget-focus:focus{outline:none}.docs-material .docs-presence-plus-collab-widget-focus:focus .docs-presence-plus-collab-widget-color-block{border:4px solid rgba(0,0,0,0.12);margin:-2px}.docs-material .docs-presence-plus-widget-overflow-button{height:32px;width:32px;border-radius:50%;border-width:2px;border-style:solid;border-color:#fff;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:0 0 0 -8px;background-color:#e8eaed;background-image:none;color:rgba(32,33,36,.71)}.docs-material .docs-hub-appbar .docs-presence-plus-widget-overflow-button{height:28px;width:28px;border-radius:50%;border-width:2px;border-style:solid;border-color:#fff;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent}.docs-material .docs-hub-appbar .docs-presence-plus-widget-overflow-button .goog-flat-menu-button-caption{line-height:28px}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-focused{border:4px solid rgba(0,0,0,0.12);color:rgba(32,33,36,.86);margin:-2px -2px -2px -10px}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-focused.goog-flat-menu-button-open{border:2px solid rgba(255,255,255,1);margin:0 0 0 -8px}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-open{background-color:#e8eaed;z-index:auto}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-hover{box-shadow:none;background-color:#dadce0;color:rgba(32,33,36,.86)}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-active{background-color:#bdc1c6;color:rgba(32,33,36,.86)}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-open .goog-flat-menu-button-caption{-webkit-transition-duration:200ms;-moz-transition-duration:200ms;-o-transition-duration:200ms;transition-duration:200ms;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-webkit-transition-delay:100ms;-moz-transition-delay:100ms;-o-transition-delay:100ms;transition-delay:100ms;opacity:0}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-open .goog-flat-menu-button-dropdown{-webkit-transition-duration:200ms;-moz-transition-duration:200ms;-o-transition-duration:200ms;transition-duration:200ms;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-webkit-transition-delay:100ms;-moz-transition-delay:100ms;-o-transition-delay:100ms;transition-delay:100ms;opacity:1}.docs-material .docs-presence-plus-widget-overflow-button .goog-flat-menu-button-caption{-webkit-transition-duration:200ms;-moz-transition-duration:200ms;-o-transition-duration:200ms;transition-duration:200ms;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);left:-2px;line-height:32px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500}.docs-material .docs-presence-plus-widget-overflow-button .goog-flat-menu-button-dropdown{-webkit-transition-duration:200ms;-moz-transition-duration:200ms;-o-transition-duration:200ms;transition-duration:200ms;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);right:10px;opacity:0;border-width:0 6px 6px;border-color:rgba(32,33,36,.71) transparent}.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-active .goog-flat-menu-button-dropdown,.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-focused .goog-flat-menu-button-dropdown,.docs-material .docs-presence-plus-widget-overflow-button.goog-flat-menu-button-hover .goog-flat-menu-button-dropdown{border-color:rgba(32,33,36,.86) transparent}.docs-material.docs-presence-plus-widget-overflow-menu{max-height:340px;width:256px;padding:4px 0 8px 0;border-radius:2px;box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2)}.docs-material.docs-presence-plus-widget-overflow-menu .goog-menuheader{display:flex;-webkit-align-items:center;align-items:center;margin-left:16px;height:40px;color:rgba(0,0,0,0.54);font-weight:500}.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-container{margin:0;height:48px;width:100%}.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-color-block{margin:0 16px 0;border:none}.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget{display:flex;-webkit-align-items:center;align-items:center;height:48px}.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-name{color:rgba(0,0,0,0.87);margin:0}.docs-material.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-idle-text{color:rgba(0,0,0,0.54);margin-left:6px;font-size:13px}@keyframes material-collab-join{from{opacity:0}to{opacity:1}}@-webkit-keyframes material-collab-join{from{opacity:0}to{opacity:1}}.docs-material .docs-presence-plus-collab-widget-enter-material{-webkit-animation-name:material-collab-join;-moz-animation-name:material-collab-join;-o-animation-name:material-collab-join;animation-name:material-collab-join;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);-moz-animation-timing-function:cubic-bezier(0,0,.2,1);-o-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1);-webkit-animation-duration:200ms;-moz-animation-duration:200ms;-o-animation-duration:200ms;animation-duration:200ms;-webkit-animation-fill-mode:both;animation-fill-mode:both}.docs-material .docs-presence-plus-collab-widget-exit-material{-webkit-animation-name:material-collab-join;-moz-animation-name:material-collab-join;-o-animation-name:material-collab-join;animation-name:material-collab-join;-webkit-animation-direction:reverse;-moz-animation-direction:reverse;-o-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);-moz-animation-timing-function:cubic-bezier(.4,0,.2,1);-o-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-animation-duration:200ms;-moz-animation-duration:200ms;-o-animation-duration:200ms;animation-duration:200ms;-webkit-animation-fill-mode:both;animation-fill-mode:both}.docs-gm .docs-title-input:focus{border:2px solid #1a73e8!important;margin:-1px;box-shadow:none;border-radius:4px!important}.docs-material .docs-titlebar-button{display:inline-flex;align-items:center;justify-content:center}.docs-revisions-sidebar .docs-revisions-sidebar-title{height:64px}.docs-material .docs-debug-container{margin-right:16px}.docs-material #docs-docos-commentsbutton{box-shadow:none;background-color:transparent;background-image:none;cursor:pointer;height:40px;width:40px;border-radius:50%;border-width:1px;border-style:solid;border-color:transparent;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:0;padding:0;margin:0 9px 0 0}.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-hover,.docs-material #docs-docos-commentsbutton:focus{background-color:rgba(0,0,0,.06)}.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-active,.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-checked{background-color:rgba(0,0,0,0.12)}.docs-gm .docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-active,.docs-gm .docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-checked{background-color:#e6f4ea}.docs-material #docs-docos-commentsbutton .docs-icon{height:24px;width:24px;opacity:0.54}.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-active .docs-icon,.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-checked .docs-icon{opacity:0.87}.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-disabled .docs-icon{opacity:.26}.docs-gm .docs-material #docs-docos-commentsbutton .docs-icon{opacity:1}.docs-gm .docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-active .docs-icon,.docs-gm .docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-checked .docs-icon{opacity:1}.docs-gm .docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-disabled .docs-icon{opacity:.38}.docs-material #docs-docos-commentsbutton.jfk-button.jfk-button-disabled,.docs-material #docs-titlebar-share-client-button .jfk-button.jfk-button-disabled,.docs-material #docs-script-button-bar .jfk-button.jfk-button-disabled{cursor:inherit}.docs-material #docs-docos-commentsbutton .docs-docos-commentsbutton-badge{background-color:#1a73e8;border:1.5px solid white;border-radius:50%;height:10px;left:22px;position:absolute;top:4px;width:10px;z-index:inherit}.docs-material #docs-titlebar-share-client-button .jfk-button{box-shadow:none;background-color:#4285f4;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;border-style:inset;color:#fff;font-size:13px;height:30px;padding:0 14px;text-transform:uppercase;font-size:var(--docs-material-font-size-normal,13px);margin-right:12px;padding:0 7px;min-width:0}.docs-material #docs-titlebar-share-client-button .jfk-button-disabled{background-color:rgba(0,0,0,0.12);opacity:1}.docs-material #docs-titlebar-share-client-button .jfk-button .scb-button-icon{margin:0 3px 0 -4px}.docs-material #docs-titlebar-share-client-button .jfk-button:focus{border-color:rgba(0,0,0,0.38)!important}.docs-material #docs-titlebar-share-client-button .jfk-button.jfk-button-hover{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2)}.docs-material #docs-header.docs-hub-appbar #docs-titlebar-share-client-button .jfk-button{padding-left:16px;padding-right:16px}.docs-material #docs-header.docs-hub-appbar #docs-titlebar-share-client-button .jfk-button.jfk-button-hover{height:28px}.docs-material #docs-titlebar-share-client-button .jfk-button.jfk-button-active,.docs-material #docs-titlebar-share-client-button .jfk-button.jfk-button-checked{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);background-color:#3367d6}.docs-material #docs-script-button-bar .jfk-button{box-shadow:none;background-color:rgba(0,0,0,.04);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;border-style:inset;color:rgba(0,0,0,0.54);font-size:13px;height:30px;padding:0 14px;text-transform:uppercase;margin-right:8px}.docs-material #docs-script-button-bar .jfk-button.jfk-button-disabled{background-color:#fff;color:rgba(0,0,0,0.26)}.docs-material #docs-script-button-bar .jfk-button:focus{border-color:#4285f4!important;color:rgba(0,0,0,.60)}.docs-material #docs-script-button-bar .jfk-button.jfk-button-hover{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);color:rgba(0,0,0,.60)}.docs-material #docs-script-button-bar .jfk-button.jfk-button-active,.docs-material #docs-script-button-bar .jfk-button.jfk-button-checked{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);background-color:rgba(0,0,0,0.12);color:rgba(0,0,0,0.87)}.docs-material #docs-titlebar-share-client-button .jfk-button.jfk-button-clear-outline,.docs-material #docs-script-button-bar .jfk-button.jfk-button-clear-outline{border-color:transparent!important}#docs-docos-caret{display:none}.docs-material .docs-docos-activitybox{top:60px}.docs-material #docs-header .docs-titlebar-buttons{align-items:center;background-color:#fff;display:flex;height:64px;padding:0 12px 0 16px;top:0;z-index:900}.docs-material #docs-header.docs-hub-appbar .docs-titlebar-buttons{background-color:transparent;height:56px}.docs-material #docs-header .docs-titlebar-buttons.docs-titlebar-occluding::before{background:linear-gradient(to right,transparent,rgba(60,64,67,.1) 70%,rgba(60,64,67,.2) 100%);content:'';height:100%;left:-6px;position:absolute;width:6px;top:0}.docs-material #docs-header .docs-titlebar-buttons-rtl.docs-titlebar-occluding::before{background:linear-gradient(to left,transparent,rgba(60,64,67,.1) 70%,rgba(60,64,67,.2) 100%)}.docs-material #docs-header .docs-titlebar-buttons #docs-titlebar-edit-buttons{display:inherit;align-items:inherit}.docs-material .docs-titlebar-buttons .onegoogle-material-minibar{text-align:left}.docs-material #googlebar-coldstart{height:32px;width:32px;border-radius:50%;background-color:#0f9d58;margin:0 8px 0 0;padding:0;z-index:auto}.docs-material #googlebar-coldstart .docs-icon-img{opacity:0.54}.docs-gm .docs-title-untitled{font-style:normal}.docs-gm #docs-titlebar-share-client-button .jfk-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;padding:9px 16px 10px 12px;text-transform:capitalize}.docs-gm #docs-titlebar-share-client-button .jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38;padding:9px 16px 10px 12px}.docs-gm #docs-titlebar-share-client-button .jfk-button .scb-button-icon{margin:0 3px 0 -4px}.docs-gm #docs-titlebar-share-client-button .jfk-button:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);padding:9px 16px 10px 12px;border-color:transparent!important}.docs-gm #docs-titlebar-share-client-button .jfk-button.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);padding:9px 16px 10px 12px}.docs-gm #docs-titlebar-share-client-button .jfk-button.jfk-button-hover:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);padding:9px 16px 10px 12px}.docs-gm #docs-titlebar-share-client-button .jfk-button.jfk-button-active,.docs-gm #docs-titlebar-share-client-button .jfk-button.jfk-button-checked{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15);padding:9px 16px 10px 12px}.docs-gm #docs-titlebar-share-client-button .decoupled-docs-share-button.docs-titlebar-button.jfk-button{padding:9px 16px 10px 16px}.docs-material #docs-recall-titlebar-search-menu-container{align-self:flex-start;margin:12px 16px 0px 16px}.docs-material .docs-title-bar-find-icon-container{height:24px;width:24px}.goog-toolbar-button,.goog-toolbar-menu-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background:0;border-color:transparent;border-style:solid;border-width:1px;outline:none;padding:0;height:24px;color:#333;line-height:24px;list-style:none;font-size:11px;font-weight:bold;text-decoration:none;vertical-align:middle;cursor:default}.goog-toolbar-button-outer-box,.goog-toolbar-button-inner-box .goog-toolbar-menu-button-outer-box,.goog-toolbar-menu-button-inner-box{border:0;vertical-align:top}.goog-toolbar-button-outer-box,.goog-toolbar-menu-button-outer-box{margin:0;padding:0}.goog-toolbar-button-inner-box,.goog-toolbar-menu-button-inner-box{padding:0 2px}.goog-toolbar-button-hover,.goog-toolbar-button-active,.goog-toolbar-button-checked,.goog-toolbar-button-selected{color:#222;padding:0}.goog-toolbar-button-hover,.goog-toolbar-menu-button-hover{border-color:#c6c6c6!important;color:#222}.goog-toolbar-menu-button-open{color:#222}.goog-toolbar-button-hover,.goog-toolbar-menu-button-hover{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1)}.goog-toolbar-button-active,.goog-toolbar-menu-button-active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#f6f6f6;background-image:-webkit-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:-moz-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:-ms-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:-o-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:linear-gradient(top,#f6f6f6,#f1f1f1);border-color:#c6c6c6}.goog-toolbar-button-selected,.goog-toolbar-button-checked,.goog-toolbar-menu-button-open{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border-color:#ccc}.goog-toolbar-button-disabled,.goog-toolbar-menu-button-disabled{color:#222!important;opacity:0.3;filter:alpha(opacity=30)}.goog-toolbar-button-collapse-right,.goog-toolbar-button-collapse-right .goog-toolbar-button-outer-box,.goog-toolbar-button-collapse-right .goog-toolbar-button-inner-box{margin-right:0}.goog-toolbar-button-collapse-left,.goog-toolbar-button-collapse-left .goog-toolbar-button-outer-box,.goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box{margin-left:0}.goog-toolbar-menu-button-dropdown{background:url(//ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png) center no-repeat;float:right;margin:10px 2px 0 3px;padding:0;opacity:.8;vertical-align:middle;width:5px;height:7px;*float:none;*position:relative;*top:-3px}.goog-toolbar-separator{border-left:1px solid #ccc;height:17px;line-height:normal;list-style:none;margin:0 2px;outline:none;overflow:hidden;padding:0;text-decoration:none;vertical-align:middle;width:0}.goog-toolbar-select .goog-toolbar-menu-button-dropdown{background:url(//ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png) center no-repeat;height:11px;margin-top:7px;width:7px;-webkit-transform:none;-moz-transform:none;transform:none;filter:none}.goog-toolbar-menu-button-caption{padding:0;margin:0}.docs-material #docs-toolbar-wrapper{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff;box-shadow:none}.docs-gm #docs-toolbar-wrapper{border-top:1px solid #dadce0;border-bottom:1px solid #dadce0}.docs-material #docs-side-toolbar{margin:0 21px 0 0}.docs-material.companion-enabled #docs-side-toolbar{margin:0 4px 0 0}.docs-material #docs-toolbar-wrapper,.docs-material #docs-equationtoolbar,.docs-material .docs-printpreview-toolbar,.docs-material #docs-header.docs-hub-appbar #docs-titlebar-container{padding:0 21px 0 22px}.docs-material #docs-header.docs-hub-appbar #docs-titlebar-container{padding-left:24px}.docs-material #docs-equationtoolbar,.docs-material .docs-printpreview-toolbar{background:#fff}.docs-material #docs-equationtoolbar{border-top-width:0;border-bottom:1px solid #e0e0e0}.docs-material.companion-enabled #docs-equationtoolbar{padding-right:4px}.docs-gm #docs-equationtoolbar .goog-toolbar-menu-button-inner-box{padding-top:0}.docs-gm #docs-equationtoolbar .goog-toolbar-menu-button-caption{padding-top:2px}#hide-equation-toolbar-button{float:right}.docs-gm #docs-omnibox-toolbar .docs-omnibox-input{height:26px}.docs-gm #docs-omnibox-toolbar .docs-omnibox-autocomplete{margin:6px 4px 6px 1px}.docs-gm .goog-toolbar,.docs-gm #docs-toolbar{min-height:38px}.docs-material .goog-toolbar-button,.docs-material .goog-toolbar-combo-button,.docs-material .goog-toolbar-menu-button{box-shadow:none;background-color:#fff;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docs-material .goog-toolbar-button-hover,.docs-material .goog-toolbar-menu-button-hover,.docs-material .goog-toolbar-combo-button-hover,.docs-material .docs-toolbar-button-split-sympathy-hover,.docs-material .docs-toolbar-split-create-button,.docs-material .docs-toolbar-split-create-button.goog-toolbar-button-hover,.docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-hover,.docs-gm .docs-material.trix-palette .goog-palette-cell-hover{box-shadow:none;background-color:rgba(0,0,0,.06);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;cursor:pointer}.docs-gm .docs-material .goog-toolbar-button-hover,.docs-gm .docs-material .goog-toolbar-menu-button-hover,.docs-gm .docs-material .goog-toolbar-combo-button-hover,.docs-gm .docs-material .docs-toolbar-button-split-sympathy-hover,.docs-gm .docs-material .docs-toolbar-split-create-button,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-button-hover,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-hover .docs-gm .docs-material.trix-palette .goog-palette-cell-hover{background-color:#f1f3f4}.docs-material .goog-toolbar-button-active,.docs-material .goog-toolbar-button-checked,.docs-material .goog-toolbar-button-selected,.docs-material .goog-toolbar-combo-button-open,.docs-material .goog-toolbar-menu-button-open,.docs-material .docs-toolbar-split-create-button.goog-toolbar-button-active,.docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-active,.docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-open,.docs-gm .docs-material.trix-palette .goog-palette-cell-selected{box-shadow:none;background-color:rgba(0,0,0,0.12);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docs-gm .docs-material .goog-toolbar-button-active,.docs-gm .docs-material .goog-toolbar-button-checked,.docs-gm .docs-material .goog-toolbar-button-selected,.docs-gm .docs-material .goog-toolbar-combo-button-open,.docs-gm .docs-material .goog-toolbar-menu-button-open,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-button-active,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-active,.docs-gm .docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button-open,.docs-gm .docs-material.trix-palette .goog-palette-cell-selected{background-color:#e6f4ea;color:#188038}.docs-material .goog-toolbar-button,.docs-material .goog-toolbar-menu-button{margin:3px 1px 0;height:26px;line-height:26px;color:rgba(0,0,0,.7)}.docs-material .goog-toolbar-button-inner-box,.docs-material .goog-toolbar-menu-button-inner-box{height:26px;min-width:26px}.docs-material .docs-toolbar-button-split-left .goog-toolbar-button-inner-box{min-width:26px}.docs-material .goog-toolbar-toggle-button.goog-toolbar-button-checked+.goog-toolbar-toggle-button.goog-toolbar-button-checked{border-left-color:#ccc;border-left-style:solid;border-left-width:1px;border-top-left-radius:2px;border-bottom-left-radius:2px;margin-left:1px}.docs-material .goog-toolbar-toggle-button.goog-toolbar-button-checked+.goog-toolbar-toggle-button.goog-toolbar-button-checked .goog-toolbar-button-outer-box .goog-toolbar-button-inner-box,.docs-material .goog-toolbar-toggle-button.goog-toolbar-button-checked+.goog-toolbar-toggle-button.goog-toolbar-button-checked.goog-toolbar-button-hover .goog-toolbar-button-outer-box .goog-toolbar-button-inner-box{margin-left:0}.docs-material .goog-toolbar-button .docs-icon,.docs-material .goog-toolbar-menu-button .docs-icon{opacity:0.54}.docs-gm .docs-material .goog-toolbar-button .docs-icon,.docs-gm .docs-material .goog-toolbar-menu-button .docs-icon,.docs-gm .docs-material .goog-toolbar-combo-button-dropdown,.docs-gm .docs-material .goog-toolbar-menu-button-dropdown{opacity:1}.docs-material .goog-toolbar-button-hover .docs-icon,.docs-material .goog-toolbar-button-selected .docs-icon,.docs-material .goog-toolbar-button-checked .docs-icon,.docs-material .goog-toolbar-button-active .docs-icon,.docs-material .goog-toolbar-menu-button-hover .docs-icon,.docs-material .goog-toolbar-menu-button-selected .docs-icon,.docs-material .goog-toolbar-menu-button-checked .docs-icon,.docs-material .goog-toolbar-menu-button-open .docs-icon{opacity:0.87}.docs-gm .docs-material .goog-toolbar-button-hover .docs-icon,.docs-gm .docs-material .goog-toolbar-button-selected .docs-icon,.docs-gm .docs-material .goog-toolbar-button-checked .docs-icon,.docs-gm .docs-material .goog-toolbar-button-active .docs-icon,.docs-gm .docs-material .goog-toolbar-menu-button-hover .docs-icon,.docs-gm .docs-material .goog-toolbar-menu-button-selected .docs-icon,.docs-gm .docs-material .goog-toolbar-menu-button-checked .docs-icon,.docs-gm .docs-material .goog-toolbar-menu-button-open .docs-icon{opacity:1}.docs-gm .goog-toolbar-button-inner-box,.docs-gm .goog-toolbar-menu-button-inner-box{height:24px;min-width:24px}.docs-gm .goog-toolbar-button .docs-icon{margin:0 0 1px 0}.docs-gm .goog-toolbar-button.docs-icon-toolbar-button-with-text .docs-icon-toolbar-button-with-text-icon-container{margin-right:4px}.docs-gm .goog-toolbar-menu-button.docs-textcolormenubutton .docs-icon{margin-top:1px}.docs-material .goog-toolbar-separator.goog-inline-block{border-left:1px solid #e0e0e0;margin:0 3px}.docs-material .docs-toolbar-small-separator+div.goog-toolbar-button,.docs-material .docs-toolbar-small-separator+div.goog-toolbar-menu-button{margin-left:1px}.docs-gm .goog-toolbar-separator.goog-inline-block{border-left:1px solid #dadce0;margin:9px 4px;height:20px}.docs-material .docs-toolbar-button-split-left,.docs-material .docs-toolbar-button-split-left.goog-inline-block{margin-right:0}.docs-material .docs-toolbar-button-split-right,.docs-material .docs-toolbar-button-split-right.goog-inline-block{margin-left:0}.docs-material .docs-toolbar-button-split-right.goog-toolbar-button-hover,.docs-material .docs-toolbar-button-split-right.goog-toolbar-menu-button-hover,.docs-material .docs-toolbar-button-split-right.docs-toolbar-button-split-sympathy-hover,.docs-material .docs-toolbar-button-split-left+.docs-toolbar-button-split-right.goog-toolbar-menu-button-open,.docs-material .docs-toolbar-split-create-button+.docs-toolbar-button-split-right{border-left-color:rgba(0,0,0,0.12)!important}.docs-gm .docs-material .docs-toolbar-button-split-right.goog-toolbar-button-hover,.docs-gm .docs-material .docs-toolbar-button-split-right.goog-toolbar-menu-button-hover,.docs-gm .docs-material .docs-toolbar-button-split-right.docs-toolbar-button-split-sympathy-hover,.docs-gm .docs-material .docs-toolbar-button-split-left+.docs-toolbar-button-split-right.goog-toolbar-menu-button-open,.docs-gm .docs-material .docs-toolbar-split-create-button+.docs-toolbar-button-split-right{border-left-color:#f1f3f4!important}.docs-material .docs-toolbar-split-create-button.goog-toolbar-menu-button{margin-right:3px}.docs-material .goog-toolbar-menu-button-dropdown,.docs-material .docs-toolbar-split-create-button .goog-toolbar-menu-button-dropdown,.docs-material .goog-toolbar-combo-button-dropdown{margin-top:10px}.docs-gm .docs-gm-arrow .docs-icon{margin:0}.docs-material .goog-toolbar-select .goog-toolbar-menu-button-dropdown{margin-top:8px}.docs-gm .docs-gm-arrow.goog-toolbar-menu-button-dropdown,.docs-gm .docs-toolbar-split-create-button .goog-toolbar-menu-button-dropdown,.docs-gm .docs-gm-arrow.goog-toolbar-combo-button-dropdown{background:none;margin:0 -1px 0 -3px;width:13px}.docs-gm .goog-toolbar-select .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box .goog-toolbar-menu-button-dropdown{margin-right:-1px}.docs-material .goog-toolbar-combo-button{height:26px;line-height:26px;vertical-align:inherit;margin:0 1px}.docs-material .goog-toolbar-combo-button-input{color:rgba(0,0,0,.7)}.docs-material .goog-toolbar-combo-button-hover .goog-toolbar-combo-button-input{border-right-color:rgba(0,0,0,0.12)!important}.docs-material .goog-toolbar-combo-button-input,.docs-material .goog-toolbar-combo-button-input:focus{height:22px!important}.docs-material .goog-toolbar-combo-button-input:focus{border:1px solid #4d90fe!important}.docs-gm .goog-toolbar-button,.docs-gm .goog-toolbar-menu-button,.docs-gm .goog-toolbar-combo-button,.docs-gm #docs-equationtoolbar .goog-toolbar-button,.docs-gm #docs-equationtoolbar .goog-toolbar-menu-button,.docs-gm .trix-palette .goog-palette-cell{height:24px;line-height:24px;margin:6px 1px;top:0}.docs-gm .goog-toolbar-button-disabled,.docs-gm .goog-toolbar-menu-button-disabled,.docs-gm .trix-palette .goog-palette-cell-disabled{color:#5f6368!important;cursor:inherit;opacity:.38}.docs-gm .goog-toolbar-combo-button-input{box-sizing:border-box;height:20px!important;width:48px!important}.docs-gm .goog-toolbar-combo-button-open{background-color:#f1f3f4}.docs-gm .goog-toolbar-combo-button-input::selection{background-color:#e6f4ea}.docs-gm .goog-toolbar-combo-button-input:focus{border:2px solid #1a73e8!important;border-radius:4px;padding:0 7px}.docs-material .goog-color-menu-button-indicator{height:20px;border-bottom-color:transparent}.docs-material .docs-textcolormenubutton .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box .goog-toolbar-menu-button-caption .goog-color-menu-button-indicator{bottom:0}.docs-material.docs-toolbar-more-bubble{border:0;box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);border-radius:2px}.docs-material.docs-toolbar-more-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter,.docs-material.docs-toolbar-more-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:transparent}.docs-material.docs-toolbar-more-toolbar{background:#fff;border-radius:2px;padding:0 4px}.docs-gm .docs-toolbar-more-bubble{border-radius:4px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .docs-toolbar-more-toolbar{border-radius:4px}.docs-gm .jfk-tooltip{}.jfk-button{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500}.jfk-button-flat{font-weight:normal}.goog-toolbar-button,.goog-toolbar-menu-button{font-weight:500;font-size:11px;font-size:var(--docs-material-font-size-12,11px)}.docs-gm #docs-editor,.docs-gm #docs-editor-container{background:#f8f9fa}.goog-tab{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500}.goog-flat-menu-button-caption{font-weight:500;font-weight:var(--docs-material-font-weight-normal,500)}.modal-dialog-buttons{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.modal-dialog-buttons button{font-weight:500}.modal-dialog-title{font-size:16px;font-size:var(--docs-material-font-size-22,16px)}.goog-flat-menu-button{font-weight:500}.jfk-countrypicker-countryCurrent,.jfk-countrypicker-countryCurrent:hover{font-weight:500}.jfk-accordion .goog-zippy-expanded{font-weight:500}.jfk-titleLink{font-weight:500}.jfk-countrypicker-countryCurrent,.jfk-countrypicker-countryCurrent:hover{font-weight:500}.jfk-slideToggle{font-weight:500}.jfk-tooltip{font-weight:500;font-size:11px;font-size:var(--docs-material-font-size-12,11px)}.jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:#dadce0 transparent}.apps-shortcutshelpcontentimpl-title-container{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,Roboto,RobotoDraft,Helvetica,Arial,sans-serif)}.apps-shortcutshelppopup-title-container{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,Roboto,RobotoDraft,Helvetica,Arial,sans-serif)}.docs-gm .docs-debug-container{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.docs-gm .docs-rotationhandle-circle,.docs-gm .docs-rotationhandle-stick,.docs-gm .docs-squarehandleselectionbox-handle,.docs-gm .waffle-obj-drag-component{background-color:#1a73e8}.docs-gm .docs-rotationhandle-outline,.docs-gm .docs-squarehandleselectionbox-border,.docs-gm .docs-roundedcornerselectionbox-border{border-color:#1a73e8}.docs-gm .docs-rotationhandle-stick{height:24px}.docs-gm .punch-animation-sidebar-play.jfk-button,.docs-gm .punch-animation-sidebar-stop.jfk-button,.docs-gm .waffle-filterbox-button-container .jfk-button-action,.docs-gm .docs-suggestiondialog-accept-container .jfk-button,.docs-gm .docs-suggestiondialog-accept-container .goog-flat-menu-button,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-action{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;cursor:pointer}.docs-gm .punch-animation-sidebar-play.jfk-button-hover,.docs-gm .punch-animation-sidebar-stop.jfk-button-hover,.docs-gm .waffle-filterbox-button-container .jfk-button-action.jfk-button-hover,.docs-gm .docs-suggestiondialog-accept-container .jfk-button-hover,.docs-gm .docs-suggestiondialog-accept-container .goog-flat-menu-button-hover,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-action.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm .punch-animation-sidebar-play.jfk-button-focused,.docs-gm .punch-animation-sidebar-stop.jfk-button-focused,.docs-gm .waffle-filterbox-button-container .jfk-button-action.jfk-button-focused,.docs-gm .docs-suggestiondialog-accept-container .jfk-button-focused,.docs-gm .docs-suggestiondialog-accept-container .goog-flat-menu-button-focused,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-action.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm .punch-animation-sidebar-play.jfk-button-hover.jfk-button-focused,.docs-gm .punch-animation-sidebar-stop.jfk-button-hover.jfk-button-focused,.docs-gm .waffle-filterbox-button-container .jfk-button-action.jfk-button-hover.jfk-button-focused,.docs-gm .docs-suggestiondialog-accept-container .jfk-button-hover.jfk-button-focused,.docs-gm .docs-suggestiondialog-accept-container .goog-flat-menu-button-hover.goog-flat-menu-button-focused,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-action.jfk-button-hover.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm .punch-animation-sidebar-play.jfk-button-pressed,.docs-gm .punch-animation-sidebar-stop.jfk-button-pressed,.docs-gm .waffle-filterbox-button-container .jfk-button-action.jfk-button-pressed,.docs-gm .docs-suggestiondialog-accept-container .jfk-button-pressed,.docs-gm .docs-suggestiondialog-accept-container .goog-flat-menu-button-pressed,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-action.jfk-button-pressed{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.docs-gm .punch-animation-sidebar-play.jfk-button-disabled,.docs-gm .punch-animation-sidebar-stop.jfk-button-disabled,.docs-gm .waffle-filterbox-button-container .jfk-button-action.jfk-button-disabled,.docs-gm .docs-suggestiondialog-accept-container .jfk-button-disabled,.docs-gm .docs-suggestiondialog-accept-container .goog-flat-menu-button-disabled,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-action.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38;cursor:default}.docs-gm .docs-image-effect-adjustment-reset-button,.docs-gm .waffle-filterbox-button-container .jfk-button-standard,.docs-gm .docs-suggestiondialog-reject-container .jfk-button,.docs-gm .docs-suggestiondialog-reject-container .goog-flat-menu-button,.motion-ui .punch-animation-sidebar-add.goog-flat-button,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-standard{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;cursor:pointer}.docs-gm .docs-image-effect-adjustment-reset-button.jfk-button-hover,.docs-gm .waffle-filterbox-button-container .jfk-button-standard.jfk-button-hover,.docs-gm .docs-suggestiondialog-reject-container .jfk-button-hover,.docs-gm .docs-suggestiondialog-reject-container .goog-flat-menu-button-hover,.motion-ui .punch-animation-sidebar-add.goog-flat-button-hover,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-standard.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important}.docs-gm .docs-image-effect-adjustment-reset-button.jfk-button-focused,.docs-gm .waffle-filterbox-button-container .jfk-button-standard.jfk-button-focused,.docs-gm .docs-suggestiondialog-reject-container .jfk-button-focused,.docs-gm .docs-suggestiondialog-reject-container .goog-flat-menu-button-focused,.motion-ui .punch-animation-sidebar-add.goog-flat-button-focused,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-standard.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.docs-gm .docs-image-effect-adjustment-reset-button.jfk-button-hover.jfk-button-focused,.docs-gm .waffle-filterbox-button-container .jfk-button-standard.jfk-button-hover.jfk-button-focused,.docs-gm .docs-suggestiondialog-reject-container .jfk-button-hover.jfk-button-focused,.docs-gm .docs-suggestiondialog-reject-container .goog-flat-menu-button-hover.goog-flat-menu-button-focused,.motion-ui .punch-animation-sidebar-add.goog-flat-button-hover.goog-flat-button-focused,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-standard.jfk-button-hover.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important}.docs-gm .docs-image-effect-adjustment-reset-button.jfk-button-pressed,.docs-gm .waffle-filterbox-button-container .jfk-button-standard.jfk-button-pressed,.docs-gm .docs-suggestiondialog-reject-container .jfk-button-pressed,.docs-gm .docs-suggestiondialog-reject-container .goog-flat-menu-button-pressed,.motion-ui .punch-animation-sidebar-add.goog-flat-button-pressed,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-standard.jfk-button-pressed{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .docs-image-effect-adjustment-reset-button.jfk-button-disabled,.docs-gm .waffle-filterbox-button-container .jfk-button-standard.jfk-button-disabled,.docs-gm .docs-suggestiondialog-reject-container .jfk-button-disabled,.docs-gm .docs-suggestiondialog-reject-container .goog-flat-menu-button-disabled,.motion-ui .punch-animation-sidebar-add.goog-flat-button-disabled,.docs-gm .docs-offline-optinpromo-buttons .jfk-button-standard.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38;cursor:default}.docs-gm .modal-dialog button,.docs-gm .modal-dialog .jfk-button-standard{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038}.docs-gm .modal-dialog button:hover,.docs-gm .modal-dialog .jfk-button-standard.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important}.docs-gm .modal-dialog button:focus,.docs-gm .modal-dialog .jfk-button-standard.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.docs-gm .modal-dialog button:hover:focus,.docs-gm .modal-dialog .jfk-button-standard.jfk-button-hover.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important}.docs-gm .modal-dialog button:active,.docs-gm .modal-dialog button:focus:active,.docs-gm .modal-dialog .jfk-button-standard.jfk-button-active,.docs-gm .modal-dialog .jfk-button-standard.jfk-button-focus.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .modal-dialog button[disabled],.docs-gm .modal-dialog .jfk-button-standard.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38}.docs-gm .modal-dialog .goog-buttonset-action,.docs-gm .modal-dialog .jfk-button-action,.docs-gm .docs-material-bubble .jfk-button-action{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.docs-gm .modal-dialog .goog-buttonset-action:hover,.docs-gm .modal-dialog .jfk-button-action.jfk-button-hover,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm .modal-dialog .goog-buttonset-action:focus,.docs-gm .modal-dialog .jfk-button-action.jfk-button-focused,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm .modal-dialog .goog-buttonset-action:hover:focus,.docs-gm .modal-dialog .jfk-button-action.jfk-button-hover.jfk-button-focused,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-hover.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-gm .modal-dialog .goog-buttonset-action:active,.docs-gm .modal-dialog .goog-buttonset-action:focus:active,.docs-gm .modal-dialog .jfk-button-action.jfk-button-active,.docs-gm .modal-dialog .jfk-button-action.jfk-button-focus.jfk-button-active,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-active,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-focus.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.docs-gm .modal-dialog .goog-buttonset-action[disabled],.docs-gm .modal-dialog .jfk-button-action.jfk-button-disabled,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38}.docs-gm .modal-dialog .goog-flat-button,.docs-gm .modal-dialog button,.docs-gm .modal-dialog .goog-buttonset-action,.docs-gm .modal-dialog .jfk-button-standard,.docs-gm .modal-dialog .jfk-button-action,.docs-gm .docs-material-bubble .jfk-button-standard,.docs-gm .docs-material-bubble .jfk-button-action{cursor:pointer}.docs-gm .modal-dialog .goog-flat-button.goog-flat-button-disabled,.docs-gm .modal-dialog button[disabled],.docs-gm .modal-dialog .goog-buttonset-action[disabled],.docs-gm .modal-dialog .jfk-button-standard.jfk-button-disabled,.docs-gm .modal-dialog .jfk-button-action.jfk-button-disabled,.docs-gm .docs-material-bubble .jfk-button-standard.jfk-button-disabled,.docs-gm .docs-material-bubble .jfk-button-action.jfk-button-disabled{cursor:default}.docs-gm .modal-dialog .jfk-textinput{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0}.docs-gm .modal-dialog textarea.jfk-textinput{min-height:36px;height:auto;height:unset;padding:7px 8px}.docs-gm.docs-material-gm-dialog textarea.jfk-textinput{min-height:52px;max-height:52px;min-width:100%;height:auto;height:unset;padding:7px 8px}.docs-gm.docs-material-gm-dialog .jfk-textinput,.docs-gm .docs-material-bubble .jfk-textinput{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0}.docs-gm.docs-material-gm-dialog .jfk-textinput:focus,.docs-gm .docs-material-bubble .jfk-textinput:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-gm.docs-material-gm-dialog textarea.jfk-textinput:focus{padding:6px 7px}.docs-material-gm-dialog-title-close:hover{opacity:1}.docs-gm .docs-material-gm-dialog-title-close{background-color:transparent;border-radius:50%;cursor:pointer;line-height:18px;text-align:center}.docs-gm .docs-material-gm-dialog-title-close:hover{background-color:#f1f3f4}.docs-gm .docs-material-gm-dialog-title-close:focus{background-color:#e8eaed;outline:none}.docs-gm .modal-dialog .jfk-textinput.sketchy-guiderow-position{margin:0}.docs-gm .modal-dialog .jfk-textinput:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-gm .modal-dialog textarea.jfk-textinput:focus{padding:6px 7px}.docs-gm .modal-dialog,.docs-gm .docs-offline-optinpromo.jfk-bubble,.docs-gm .docs-sync-indicator-popup.jfk-bubble{background-color:#fff;border:1px solid transparent;border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);position:absolute;z-index:1003;padding:24px}.docs-gm .picker.modal-dialog{padding:0;z-index:1201}.docs-gm .modal-dialog,.docs-gm .modal-dialog-content,.docs-gm #docs-offline-optinpromo-description,.docs-gm #docs-offline-optinpromo-learn-more-container{color:#3c4043}.docs-gm #docs-offline-optinpromo-title{border-bottom:none;padding:24px}.docs-gm .modal-dialog-title-text,.docs-gm .docs-offline-optinpromo-title-text{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;line-height:28px}.docs-gm .docs-offline-optinpromo-buttons{display:flex;flex-direction:row-reverse}.docs-gm .docs-offline-optinpromo-confirm-buttons{margin-top:24px}.docs-gm .docs-offline-optinpromo-buttons .jfk-button{cursor:pointer;margin-left:16px;margin-right:0}.docs-gm .modal-dialog-buttons,.docs-gm .docs-findandreplacedialog-buttons{display:flex;justify-content:flex-end;margin-top:24px}.docs-gm .modal-dialog-buttons button{margin:0 0 0 12px}.docs-gm .modal-dialog-buttons button:first-child{margin-left:0}.docs-gm .docs-dialog .modal-dialog-title{position:relative}.docs-gm .docs-dialog .modal-dialog-title-text{display:inline-block;max-width:calc(100% - 32px);min-width:200px}.docs-gm .docs-dialog .modal-dialog-title-close{background-color:transparent;border-radius:50%;cursor:pointer;height:18px;line-height:18px;padding:7px;right:0;text-align:center;top:-3px;width:18px}.docs-gm .docs-dialog .modal-dialog-title-close:hover{background-color:#f1f3f4}.docs-gm .docs-dialog .modal-dialog-title-close:focus{background-color:#e8eaed;outline:none}.docs-gm .docs-dialog .modal-dialog-title-close:after{position:relative;right:0;top:0}.docs-gm .modal-dialog .docs-flatcolormenubutton .goog-flat-menu-button-caption,.docs-gm .sketchy-shape-effects-shadow-tile .docs-flatcolormenubutton .goog-flat-menu-button-caption{height:22px;width:22px;border-radius:50%;border:1px solid #dadce0;margin:0;outline:none}.docs-gm .modal-dialog .docs-flatcolormenubutton.goog-flat-menu-button,.docs-gm .sketchy-shape-effects-shadow-tile .docs-flatcolormenubutton.goog-flat-menu-button{padding:6px 0 6px 6px}.docs-gm div.goog-modalpopup-bg,.docs-gm div.modal-dialog-bg{background-color:#000;left:0;position:absolute;top:0;z-index:1002;opacity:.6!important}.docs-gm ::-webkit-scrollbar-track{box-shadow:none;margin:0 4px}.docs-gm ::-webkit-scrollbar-track:hover{box-shadow:none;background:none}.docs-gm ::-webkit-scrollbar-thumb{border-style:solid;border-color:transparent;border-width:4px;background-color:#dadce0;border-radius:8px;box-shadow:none}.docs-gm ::-webkit-scrollbar-thumb:hover{background-color:#80868b}.docs-gm ::-webkit-scrollbar-thumb:active{background-color:#5f6368}.docs-gm .modal-dialog .goog-flat-menu-button,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%;align-items:center;background:none;color:#3c4043;display:inline-flex;justify-content:space-between;outline:none;position:relative;width:auto;width:unset}.docs-gm .modal-dialog .goog-flat-menu-button-disabled,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-gm .modal-dialog .goog-flat-menu-button:active,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button:active{background-color:#fff;border:1px solid transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .modal-dialog .goog-flat-menu-button-hover,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-hover{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0;box-shadow:none}.docs-gm .modal-dialog .goog-flat-menu-button-focused,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-focused{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.docs-gm .modal-dialog .goog-flat-menu-button-open,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-open{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-gm .modal-dialog .goog-flat-menu-button-hover.goog-flat-menu-button-open,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-hover.goog-flat-menu-button-open{background-color:rgba(60,64,67,0.06)}.docs-gm .modal-dialog .goog-flat-menu-button-focused.goog-flat-menu-button-open,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-focused.goog-flat-menu-button-open{background-color:rgba(60,64,67,0.08)}.docs-gm .modal-dialog .goog-flat-menu-button-disabled,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-disabled{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-gm .modal-dialog .goog-flat-menu-button-caption,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-gm .modal-dialog .goog-flat-menu-button-disabled .goog-flat-menu-button-caption,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-disabled .goog-flat-menu-button-caption{color:#5f6368;opacity:.38;cursor:default}.docs-gm .modal-dialog .goog-flat-menu-button-dropdown,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-dropdown{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px;border:none;margin-top:0;position:relative;right:0;top:0}.docs-gm .modal-dialog .goog-flat-menu-button-disabled .goog-flat-menu-button-dropdown,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-disabled .goog-flat-menu-button-dropdown{opacity:.38}.docs-gm .modal-dialog .goog-flat-menu-button-disabled.goog-flat-menu-button:active,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-disabled.goog-flat-menu-button:active{border:1px solid #dadce0;box-shadow:none;cursor:default;box-shadow:none}.docs-gm .modal-dialog .goog-flat-menu-button-open .goog-flat-menu-button-dropdown,.docs-gm .sketchy-shape-effects-shadow-tile .goog-flat-menu-button-open .goog-flat-menu-button-dropdown{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-gm .modal-dialog .jfk-radiobutton-disabled .jfk-radiobutton-label{color:#5f6368;opacity:.38;cursor:default}.docs-gm .share-butterbar-container{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif);font-size:13px;font-size:var(--docs-material-font-size-normal,13px);font-weight:normal;font-weight:var(--docs-material-font-weight-normal,normal)}.docs-gm .share-client-dialog .share-butterbar-container{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif)}.docs-gm .share-butterbar-container .jfk-butterBar-shown{height:40px;padding:0 16px}.docs-gm .share-butterbar-container .jfk-butterBar-shown>span{display:flex;padding-top:4px}.docs-gm .share-butter-icon{margin-right:8px}.docs-gm .share-butter-link,.docs-gm .share-butter-link:visited{color:#188038;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif);font-size:16px;margin-left:80px}.docs-gm .share-butter-link:hover,.docs-gm .share-butter-link:active{color:#0d652d}.docs-gm .share-butter-link:disabled{color:#188038}.docs-display-density-comfortable#docs-toolbar-wrapper{min-height:calc(35px + 9px - 2px)}.docs-display-density-comfortable.goog-menu .goog-menuitem:not(.docs-submenuitem){padding-top:9px;padding-bottom:9px}.docs-display-density-comfortable .waffle-function-category-row-description{display:block}.docs-display-density-comfortable .shape-palette .goog-palette-cell{padding:5px}.docs-display-density-comfortable.waffle-function-category-row.waffle-function-category-active{padding:5px 10px}.docs-display-density-comfortable.goog-menu:not(.docs-fontmenu) .goog-menuitem:not(.waffle-colormenuitems-scheme-header-edit-button):not(.docs-submenuitem):not(.apps-menuitem):not(.docs-menuitem-add-fonts).goog-menuitem-highlight{padding-top:calc(9px - 1px);padding-bottom:calc(9px - 1px);border-width:1px 0}.docs-display-density-comfortable.goog-menu .goog-menuitem-icon{top:calc(9px - 1px)}.docs-display-density-comfortable.goog-menu .goog-menuitem-highlight:not(.apps-menuitem):not(.docs-menuitem-add-fonts) .goog-menuitem-icon{top:calc(calc(9px - 1px) - 1px)}.docs-gm .docs-display-density-comfortable.goog-menu .apps-menuitem .goog-menuitem-icon{top:0;margin-top:11px;margin-bottom:11px}.docs-gm .docs-display-density-comfortable.goog-menu .goog-menuitem-highlight:not(.apps-menuitem) .goog-menuitem-icon{top:0;margin-top:10px;margin-bottom:10px}.docs-display-density-comfortable .goog-palette-cell{padding:4px}#t-border-palette.docs-display-density-comfortable .goog-palette-cell{padding:4px 6px 4px 4px}#t-border-palette.docs-display-density-comfortable #t-border-style-menu-button{margin-top:6px}#t-border-palette.docs-display-density-comfortable .goog-toolbar-color-menu-button{padding-top:3px;padding-bottom:3px}.docs-display-density-comfortable.trix-palette .goog-palette-cell{display:inline-block;margin:2px;padding:4px 6px 4px 4px}.docs-display-density-comfortable.trix-palette .goog-palette-table{margin:0}#t-text-rotation-palette td:not(.goog-palette-cell),.docs-display-density-comfortable.trix-palette{padding:0}.docs-display-density-comfortable .goog-inline-block.goog-toolbar-combo-button.waffle-text-rotation-combobox{padding-top:3px;padding-bottom:3px;margin:4px}.docs-display-density-comfortable.waffle-ac-renderer .waffle-function-autocomplete-row-description{display:block}.docs-display-density-comfortable.goog-menu .docs-omnibox-input{padding-top:5px;padding-bottom:5px;height:33px}.docs-display-density-comfortable .docs-material-colorpalette-cell{padding:2px}.docs-display-density-comfortable .docs-material-colorpalette-colorswatch{height:24px;width:24px}.docs-gm .docs-display-density-comfortable.docs-colormenuitems .goog-menuitem.colormenuitems-custom-header-add-button{padding:10px 0}.docs-gm .goog-menu.docs-display-density-comfortable .goog-menuitem.colormenuitems-no-color{padding-top:9px;padding-bottom:9px;border-width:1px 0}.docs-display-density-comfortable.docs-colormenuitems .goog-menuitem.goog-inline-block.waffle-colormenuitems-scheme-header-edit-button{padding:5px}.docs-display-density-comfortable.docs-colormenuitems .goog-menuitem-highlight.waffle-colormenuitems-scheme-header-edit-button{padding-top:4px;padding-bottom:4px;border-width:1px 0}.docs-display-density-comfortable.docs-colormenuitems .goog-menuseparator{margin:10px 0}.docs-display-density-comfortable.goog-menu .docs-omnibox-autocomplete{padding-top:6px;padding-bottom:6px}.docs-display-density-comfortable.goog-menu .docs-omnibox-autocomplete.goog-menuitem-highlight{padding-top:calc(6px - 1px);padding-bottom:calc(6px - 1px)}.docs-display-density-comfortable .goog-toolbar .goog-toolbar-button,.docs-display-density-comfortable .goog-toolbar .goog-toolbar-combo-button,.docs-display-density-comfortable .goog-toolbar .goog-toolbar-menu-button{padding:2px;margin-left:2px;margin-right:2px}.docs-display-density-comfortable .docs-toolbar-more-toolbar{min-height:calc(35px + 2*2px)}.docs-display-density-comfortable .goog-toolbar .goog-toolbar-separator.goog-inline-block{height:calc(35px + 2*2px)}.docs-gm .docs-display-density-comfortable .goog-toolbar .goog-toolbar-separator.goog-inline-block{height:24px}.docs-display-density-comfortable .goog-toolbar .docs-toolbar-button-split-left{margin-right:0}.docs-display-density-comfortable .goog-toolbar .docs-toolbar-button-split-right{margin-left:0}.docs-display-density-comfortable .goog-toolbar .docs-omnibox-input{height:29px}.docs-display-density-comfortable .goog-toolbar .docs-omnibox-autocomplete{margin-right:2px}.docs-display-density-comfortable.docs-colormenuitems .docs-c-u-colormenutogglebutton-base{padding:4px 33px}.docs-display-density-comfortable.docs-colormenuitems .jfk-palette-table{width:100%}.docs-display-density-comfortable.docs-colormenuitems .jfk-palette-row{display:flex;-webkit-justify-content:space-between;justify-content:space-between}.docs-display-density-comfortable.docs-colormenuitems .jfk-palette-colorswatch,.docs-display-density-comfortable.docs-colormenuitems .docs-colormenuitems-custom-palette .jfk-palette-cell{height:22px;width:22px}.docs-display-density-comfortable.goog-menu.docs-fontmenu .docs-menuitem-add-fonts{border-color:#eee}.docs-display-density-comfortable.goog-menu.docs-fontmenu .goog-menuitem.docs-submenuitem{padding-top:9px;padding-bottom:9px;border:0}.docs-display-density-comfortable.goog-menu.docs-fontmenu .goog-menuitem.docs-submenuitem::before{line-height:38px}.docs-display-density-comfortable.goog-menu.docs-fontmenu .docs-submenuitem-splitbutton{height:calc(38px - 2px);line-height:calc(38px - 2px)}body:not(.docs-gm) .docs-display-density-comfortable.goog-menu .goog-menuitem-ie{padding-top:7px;padding-bottom:24px}body:not(.docs-gm) .docs-display-density-comfortable.goog-menu .goog-menuitem-icon-ie{top:4px}.docs-display-density-toolbar-menuitem-label{font-weight:500;padding-bottom:4px}.docs-display-density-toolbar-menuitem-description{font-size:11px;color:#777}.docs-display-density-comfortable .goog-toolbar.chart-toolbar-with-omnibox{display:flex;-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center}.docs-display-density-comfortable .goog-toolbar.chart-toolbar-with-omnibox .sheet-toolbar-button{margin-right:calc(2px*2)}.docs-chat.jfk-button{border-radius:0;height:28px;margin-left:2px;margin-right:0px;min-width:24px;vertical-align:top}.docs-chat.jfk-button .docs-icon{opacity:.70}.docs-chat.jfk-button.jfk-button-checked .docs-icon{opacity:0.9}.docs-chat.jfk-button.jfk-button-disabled .docs-icon{opacity:0.333}.docs-chat-badge{background:#db4437;border-radius:6px;display:none;height:12px;pointer-events:none;position:absolute;right:-4px;top:-4px;width:12px}.docs-chat-badge-visible{display:block}.docs-chat-badge.docs-chat-hc-gecko{filter:url("data:image/svg+xml;utf8,\00003csvg%20xmlns=\000027http://www.w3.org/2000/svg\000027\00003e\00003cfilter%20id=\000027invertColor\000027\00003e\00003cfeColorMatrix%20type=\000027matrix\000027%20values=\000027-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\000027/\00003e\00003c/filter\00003e\00003c/svg\00003e#invertColor")}.docs-chat-badge.docs-chat-hc-ie{-ms-high-contrast-adjust:none;background-color:white}.docs-chat-message-tooltip-container{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;box-shadow:0 1px 1px 0 rgba(0,0,0,0.14),0 2px 1px -1px rgba(0,0,0,0.12),0 1px 3px 0 rgba(0,0,0,0.2);background-color:#fafafa;padding:12px;z-index:501}.docs-chat-message-tooltip-container .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#fafafa transparent}.docs-chat-message-tooltip-container .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:rgba(0,0,0,0.3) transparent}.docs-chat-message-tooltip{font-size:13px;height:32px;line-height:18px;position:relative;text-align:left;width:192px}.docs-chat-message-tooltip-subject{opacity:.87;font-weight:500}.docs-chat-message-tooltip-content{opacity:.54;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;word-wrap:break-word}.docs-chat-pane-container{border-left:1px solid #d9d9d9;outline:none;position:absolute;right:0;top:0;width:300px}.docs-gm .docs-chat-pane-container{overflow:hidden;box-shadow:-3px 0px 6px -3px rgba(60,64,67,.15),3px 0px 6px -3px rgba(60,64,67,.15);border-left:0}.docs-chat-pane{background-color:#fff;font-size:13px;height:100%;overflow:hidden;position:relative;z-index:801}.docs-gm .docs-chat-pane{font-size:14px}.docs-chat-users{background:#f5f5f5;color:#000;margin:0;max-height:33%;outline-style:none;overflow:auto;padding:8px 0 3px 0;text-align:left;vertical-align:top}.docs-chat-users-empty{display:none}.docs-chat-messages{background-color:#fff;box-sizing:border-box;color:rgba(0,0,0,.87);outline-style:none;overflow:auto;padding:16px 24px 0px 16px;position:relative;vertical-align:middle}.docs-gm .docs-chat-messages{color:#3c4043;letter-spacing:.25px;padding:16px 16px 0px 16px}.docs-chat-edit-container{background:#eee;bottom:0;height:96px;margin:0;outline:0;position:absolute;width:100%}.docs-gm .docs-chat-edit-container{background-color:#fff}.docs-chat-edit-box{border:1px solid #5ea0e3;box-sizing:border-box;font-size:100%;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:64px;left:16px;outline:0;overflow:auto;padding:8px;position:relative;top:16px;width:268px;resize:none}.docs-gm .docs-chat-edit-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0}.docs-gm .docs-chat-edit-box{height:64px;margin:0;padding:8px}.docs-chat-edit-box::-webkit-input-placeholder,.docs-chat-edit-box::-moz-placeholder,.docs-chat-edit-box:-ms-input-placeholder{color:#5f6368}.docs-chat-edit-box-focus{outline:1px solid #5ea0e3}.docs-gm .docs-chat-edit-box-focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-gm .docs-chat-edit-box-focus{padding:7px}.docs-chat-roster{width:250px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:break-all;word-wrap:break-word}.docs-gm .docs-chat-roster{width:240px}.label-input-label{color:#a9a9a9}.docs-chat-status{color:gray;line-height:12px}.docs-chat-name{font-weight:500}.docs-gm .docs-chat-name{font-weight:500}.docs-chat-message.docs-chat-status-message{margin-bottom:0px}.docs-chat-message{line-height:18px;margin-bottom:2px;outline-style:none;word-wrap:break-word;white-space:pre-wrap}.docs-chat-first-series-message{margin-top:10px}.docs-user-roster{margin:0;outline-style:none;padding:0 0 10px 1em;position:relative}.docs-user-roster-name{color:#666;left:2.7em;position:absolute;top:0}.docs-user-roster-bubble{height:13px;margin-right:1px;top:1px;vertical-align:text-bottom;width:13px}.docs-user-roster-bubble-clickable{cursor:pointer}.docs-chat-anon{color:gray;font-size:11px;padding:6px 24px 3px 16px}.docs-chat-title-bar{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background-color:#616161;border-bottom:1px solid #616161;border-top:1px solid #616161;color:#fff;height:15px;padding:10px 0 10px 12px;position:relative}.docs-gm .docs-chat-title-bar{display:flex;align-items:center;color:#202124;background-color:#fff;height:56px;padding:0 16px;border-bottom:1px solid #dadce0;border-top:1px solid #dadce0;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;z-index:1;padding-right:56px;letter-spacing:.1px}.docs-chat-title-bar-highlight{background-color:#4285f4;border-bottom-color:#4285f4;border-top-color:#4285f4;color:#fff}.docs-chat-title{font-weight:500}.docs-gm .docs-chat-title-bar.docs-chat-shadow{box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .docs-chat-edit-container.docs-chat-shadow{box-shadow:0 -2px 6px 2px rgba(60,64,67,.15)}.docs-sidebar-close-button.docs-chat-close-button{float:right;top:8px}.docs-sidebar-gm-close-button.docs-chat-close-button{position:absolute;right:11px;top:12px}.docs-presence-widget{cursor:pointer;height:19px;margin:0 0 5px 0;outline:0;position:absolute;right:44px;top:11px;width:207px}#docs-presence-menubar .docs-presence-widget{top:5px}#docs-presence .docs-presence-widget{display:inline-block;position:relative;right:auto;text-align:left;width:auto}.docs-presence-widget-inner{border:1px solid transparent;height:17px;margin-bottom:8px}#docs-presence .docs-presence-widget-inner{display:inline-block;max-width:190px}.docs-presence-widget-normal .docs-presence-widget-inner{background:#fff;border-color:#fff;color:#666}.docs-presence-widget-hover .docs-presence-widget-inner,.docs-presence-widget-focused .docs-presence-widget-inner{background:#f3f3f3;border-color:#f3f3f3;color:#222!important}.docs-presence-widget-open .docs-presence-widget-inner{background:#f3f3f3;border-color:#e5e5e5;color:#666}.docs-presence-widget-notify .docs-presence-widget-inner{color:#fff}.docs-presence-widget-arrow{position:absolute!important;top:0}.docs-presence-widget-content{font-size:11px;line-height:18px;max-width:98px;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}#docs-presence .docs-presence-widget-content{max-width:90px;position:relative;vertical-align:top}.docs-presence-widget-collab{max-width:90px;overflow:hidden;position:absolute;right:4px;top:1px}#docs-presence .docs-presence-widget-collab{display:inline-block;margin-right:4px;position:relative;right:auto;top:auto}.docs-presence-widget-collab .docs-user-roster-bubble{margin:1px;vertical-align:baseline}#docs-presence-container{height:29px;margin-right:10px;vertical-align:middle}#docs-presence{vertical-align:top}.docs-presence-plus-widget{max-width:250px;outline:0;text-align:left}#docs-bars .docs-presence-plus-widget{position:absolute;overflow:hidden;right:0;top:2px}.docs-presence-plus-widget-inner{vertical-align:top}.docs-presence-plus-widget-status{color:#222;display:none;text-align:right;margin:8px 10px 0 0}.docs-presence-plus-widget-open .docs-presence-plus-widget-status{display:block}.docs-presence-plus-widget-collabs{height:30px}.docs-hub-appbar .docs-presence-plus-widget-collabs{display:flex;align-items:center}.docs-presence-plus-widget-open .docs-presence-plus-widget-collabs{display:none}.docs-presence-plus-widget-overflow-button{border-radius:0;height:28px;margin:0 2px 0 -1px;min-width:0;padding:0;width:13px}.docs-presence-plus-widget-overflow-button .goog-flat-menu-button-dropdown{right:3px}.docs-presence-plus-widget-overflow-menu{max-height:300px;outline:none;overflow:auto;padding:7px;text-align:left;white-space:nowrap}.docs-presence-plus-widget-overflow,.docs-presence-plus-collab-widget-container{height:30px;overflow:hidden;vertical-align:top}.docs-presence-plus-collab-widget-color-block{height:30px;overflow:hidden;width:25px}.docs-presence-plus-collab-widget-menuitem,.docs-gm .goog-menu .docs-presence-plus-collab-widget-menuitem.goog-menuitem,.docs-gm .goog-menu .docs-presence-plus-collab-widget-menuitem.goog-menuitem-highlight{border-style:none;padding:0}.docs-presence-plus-collab-widget-container{margin:0 2px;width:25px}.docs-presence-plus-collab-widget-color-block{opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.docs-presence-plus-collab-widget-active .docs-presence-plus-collab-widget-color-block{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.docs-presence-plus-collab-widget-exit .docs-presence-plus-collab-widget-color-block{height:0;width:0}.docs-presence-plus-collab-widget-image,.docs-presence-plus-collab-widget-image-container{height:25px;padding-bottom:5px;width:25px}.docs-presence-plus-collab-widget-image-container{overflow:hidden}.docs-hub-appbar .docs-presence-plus-collab-widget-color-block,.docs-hub-appbar .docs-presence-plus-collab-widget-image-container{height:28px;width:28px}.docs-hub-appbar .docs-presence-plus-collab-widget-image{height:24px;width:24px}.docs-presence-plus-collab-widget-image-border{border-bottom:1px solid #fff;height:24px}.docs-presence-plus-collab-widget-idle-text{color:#777;font-size:11px}.docs-presence-plus-collab-widget-active .docs-presence-plus-collab-widget-idle-text{display:none}.docs-presence-plus-widget-overflow-button-collabs{margin:0}@-webkit-keyframes color-join{from{margin-top:25px}to{margin-top:0}}@-moz-keyframes color-join{from{margin-top:25px}to{margin-top:0}}@-ms-keyframes color-join{from{margin-top:25px}to{margin-top:0}}.docs-presence-plus-collab-widget-enter .docs-presence-plus-collab-widget-color-block{-webkit-animation-name:color-join;-moz-animation-name:color-join;-ms-animation-name:color-join;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s}@-webkit-keyframes image-join{0%{height:0;padding-bottom:0}33%{height:0;padding-bottom:0}100%{height:25px;padding-bottom:5px}}@-moz-keyframes image-join{0%{height:0;padding-bottom:0}33%{height:0;padding-bottom:0}100%{height:25px;padding-bottom:5px}}@-ms-keyframes image-join{0%{height:0;padding-bottom:0}33%{height:0;padding-bottom:0}100%{height:25px;padding-bottom:5px}}.docs-presence-plus-collab-widget-enter .docs-presence-plus-collab-widget-image-container{-webkit-animation-name:image-join;-moz-animation-name:image-join;-ms-animation-name:image-join;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-ms-animation-timing-function:ease-in}@-webkit-keyframes collab-exit{0%{height:30px;width:25px;margin:0;opacity:.5}25%{height:30px;width:25px;margin:0;opacity:.5}99%{height:0;width:0;margin:15px 12px}100%{height:0;width:0;margin:0}}@-moz-keyframes collab-exit{0%{height:30px;width:25px;margin:0;opacity:.5}25%{height:30px;width:25px;margin:0;opacity:.5}99%{height:0;width:0;margin:15px 12px}100%{height:0;width:0;margin:0}}@-ms-keyframes collab-exit{0%{height:30px;width:25px;margin:0;opacity:.5}25%{height:30px;width:25px;margin:0;opacity:.5}99%{height:0;width:0;margin:15px 12px}100%{height:0;width:0;margin:0}}.docs-presence-plus-collab-widget-exit .docs-presence-plus-collab-widget-color-block{-webkit-animation-name:collab-exit;-moz-animation-name:collab-exit;-ms-animation-name:collab-exit;-webkit-animation-duration:1s;-moz-animation-duration:1s;-ms-animation-duration:1s}@-webkit-keyframes collab-image-exit{0%{margin:0;padding-bottom:5px}25%{margin:0;padding-bottom:5px}100%{margin-top:-15px;margin-left:-12px}}@-moz-keyframes collab-image-exit{0%{margin:0;padding-bottom:5px}25%{margin:0;padding-bottom:5px}100%{margin-top:-15px;margin-left:-12px}}@-ms-keyframes collab-image-exit{0%{margin:0;padding-bottom:5px}25%{margin:0;padding-bottom:5px}100%{margin-top:-15px;margin-left:-12px}}.docs-presence-plus-collab-widget-exit .docs-presence-plus-collab-widget-image{-webkit-animation-name:collab-image-exit;-moz-animation-name:collab-image-exit;-ms-animation-name:collab-image-exit;-webkit-animation-duration:1s;-moz-animation-duration:1s;-ms-animation-duration:1s}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-container{display:block;height:25px;margin:0 0 5px;width:auto}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-color-block{width:30px}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget{height:25px;padding-right:20px}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image{position:relative;left:-1px}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image,.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image-container{padding-bottom:0}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image-container{padding-left:5px}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-image-border{border-bottom:none;border-left:1px solid #fff;height:25px}.docs-presence-plus-widget-overflow-menu .docs-presence-plus-collab-widget-name{color:#222;font-size:13px;margin:4px 0 0 5px;vertical-align:top}.jfk-bubble.jfk-bubble-promo.hub-anchored-bubble{background-color:#ffffff;border-color:#ffffff;border-radius:8px;height:auto;width:226px;word-wrap:break-word;padding:18px 16px;box-shadow:rgba(0,0,0,0.2) 0px 1px 3px 1px}.jfk-bubble.jfk-bubble-promo.hub-anchored-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:#dadce0 transparent;top:-1px}.jfk-bubble.jfk-bubble-promo.hub-anchored-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#ffffff transparent;top:0}.hub-anchored-bubble-body{color:#3c4043;font-family:Roboto;line-height:20px;padding:0 8px}.hub-anchored-bubble-action-row{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding-top:15px;text-align:right}.hub-anchored-bubble-dismiss-container{font-size:14px;color:#1a73e8;cursor:pointer;letter-spacing:0.25px;line-height:16px;outline:none;padding:8px}.talk_roster{display:none}.docs-chat-mole-hidden>div{top:-10000px!important;left:-10000px!important}.talk_chat_widget{z-index:900!important}.docs-gm-promo.jfk-bubble.jfk-bubble-promo.classification-badge-popout{background-color:#fff;border:0;border-radius:8px;height:auto;width:320px;word-wrap:break-word;margin-top:12px}.classification-badge-popout-body{color:#3c4043;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:22px;vertical-align:top}.classification-badge-popout-action-row{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;text-align:right;display:flex;justify-content:flex-end;margin:8px 0 -8px 0}.classification-badge-popout-action-container{color:#188038;cursor:pointer;outline:none;width:auto;padding:12px 10px 12px 10px;border:1px solid transparent;border-radius:4px;border-color:transparent;font-size:14px;font-weight:500;letter-spacing:0.025em;transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.classification-badge-popout-action-container:hover{background:#f8fcf9;border-radius:4px}.classification-badge-popout-header{font-size:18px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;margin-bottom:8px;line-height:22px}.classification-badge-close-icon.docs-icon{height:24px;width:24px}.classification-badge-close{cursor:pointer;float:right;margin-right:-13px;top:-5px}.classification-badge-open-icon.docs-icon{margin-left:2px}.docs-gm .classification-badge-open-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.classification-badge-popout-container{padding:24px}.docs-gm-promo.jfk-bubble.jfk-bubble-promo.classification-badge-popout .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore,.docs-gm-promo.jfk-bubble.jfk-bubble-promo.classification-badge-popout .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#fff transparent}.jfk-bubble.jfk-bubble-promo.classification-badge-popout .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{background:#fff;border-radius:4px;box-shadow:0 0 3px 0 rgba(32,33,36,0.3);position:absolute;transform:rotate(-48deg);height:13px}.jfk-bubble.jfk-bubble-promo.classification-badge-popout .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{height:24px;top:-14px;left:-15px;transform:scale(1.02) perspective(24px) rotateX(60deg);width:16px}.docs-copydocdialog{width:360px}.docs-copydocdialog-filenameinput{width:250px}.docs-copydocdialog-warning,.docs-copydocdialog-destination-sharewarning{color:#999;font-size:11px}.docs-copydocdialog-checkbox{font-size:14px;letter-spacing:0.2px;padding-top:5px;vertical-align:top}.docs-gm .docs-copydocdialog-checkbox{cursor:pointer;padding-top:8px}.docs-gm .docs-copydocdialog-checkbox .jfk-checkbox{margin-top:-8px;margin-right:8px}.docs-copydocdialog-checkbox.docs-copydocdialog-collaboratorcheckbox{padding-top:0}.docs-gm .docs-copydocdialog{min-width:312px;width:auto;width:unset}.docs-gm .docs-copydocdialog .docs-copydocdialog-filenameinput{width:100%}.docs-gm .docs-copydocdialog .docs-copydocdialog-destination-button{height:34px;width:294px}.docs-gm .docs-copydocdialog-destination-img{top:3px}.docs-gm .docs-copydocdialog-destination-name{vertical-align:sub}.docs-copydocdialog-checkbox-disabled{opacity:.38}.docs-gm .docs-copydocdialog-includeresolvedcommentscheckbox .jfk-checkbox{vertical-align:top;margin-top:-4px}.docs-copydocdialog-checkbox-label{width:285px;display:inline-block}.docs-copydocdialog-destination-button,.docs-copydocdialog-filenameinput{margin-top:4px}.docs-copydocdialog-destination-button{border:1px solid #ddd;margin-right:0;overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis;width:250px}.docs-copydocdialog-destination-button.jfk-button-focused{border:1px solid #4d90fe}.docs-copydocdialog-destination-section{margin-top:16px}.docs-copydocdialog-destination-img{height:10px;margin-right:5px;position:relative;top:2px;width:13px}.docs-copydocdialog-description{font-size:16px;height:72px;letter-spacing:0.15px;line-height:24px;vertical-align:top;width:312px}.docs-gm .docs-copydocdialog-description{height:auto;height:unset;color:#5f6368;max-width:464px;width:100%}.goog-menu.picker-min.docs-copydocdialog-destination-picker{z-index:1003}.modal-dialog.docs-dialog.docs-copy-endangered-dialog{z-index:1007;width:376px}.modal-dialog-bg.docs-copy-endangered-dialog-bg{z-index:1006}.docs-gm .modal-dialog.docs-dialog.docs-copy-endangered-dialog{min-width:464px;width:auto;width:unset}.docs-dialog.docs-hc-gecko .modal-dialog-title-close:after{filter:invert(100%)}.docs-dialog.docs-hc-ie .modal-dialog-title-close:after{-ms-high-contrast-adjust:none;background-color:white}.docs-dialog .modal-dialog-title-close{opacity:0.54}.docs-dialog .modal-dialog-title-close:hover{opacity:0.87}.modal-dialog-title-text{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:normal}.docs-dialog .modal-dialog-title-close:after{background:none;right:13px;top:14px;content:url(//ssl.gstatic.com/images/icons/material/system/svg/close_18px.svg);height:18px;width:18px}.docs-details-dialog{min-width:200px}.docs-details-error{margin-left:10px;margin-top:40px}.docs-details-loading{background-image:url(//ssl.gstatic.com/docs/common/loading_animation.gif);height:50px;margin:auto;width:50px}.docs-details-table{border-collapse:collapse}.docs-details-field{font-size:13px;font-weight:500;height:27px;width:100px}#docs-details-folder{margin-right:6px;outline:none;vertical-align:bottom}.docs-details-value{height:27px;max-width:200px}.docs-details-value[data-hovercard-id]{text-decoration:underline;text-decoration-style:dotted}.docs-gm .docs-details-dialog{min-width:312px;padding:24px}.docs-gm .docs-details-dialog .modal-dialog-title-text{color:#3c4043;font-size:22px;font-weight:normal;height:28px}.docs-gm .docs-details-field,.docs-gm .docs-details-value{font-size:14px;height:20px;padding:8px 0}.docs-gm .docs-details-field{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;min-width:100px;padding-right:20px}.docs-gm .docs-details-value{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.picker-iframe.picker-min{-moz-box-shadow:rgba(0,0,0,.2) 0 4px 16px;-webkit-box-shadow:rgba(0,0,0,.2) 0 4px 16px;box-shadow:rgba(0,0,0,.2) 0 4px 16px;color:#000;padding:0;position:absolute;z-index:1002}.picker-iframe.picker-minew .picker-min-frame-up{background-color:#f1f1f1}.picker-iframe.picker-white-callout.picker-minew .picker-min-frame-up{background-color:#fff}.picker-iframe.picker-min.goog-menu{border-color:#ccc;line-height:0;max-height:none;overflow:visible}.picker-iframe.picker-min-top{margin-top:15px}.picker-iframe.picker-minew.picker-min-top{margin-top:9px}.picker-iframe.picker-min-bottom{margin-top:-15px}.picker-iframe.picker-minew.picker-min-bottom{margin-top:-9px}.picker-iframe .picker-min-arrow-up,.picker-iframe .picker-min-arrow-down{position:absolute;width:32px;z-index:0}.picker-iframe .picker-min-arrow-up{top:-15px}.picker-iframe.picker-minew .picker-min-arrow-up{top:-10px;width:20px}.picker-iframe .picker-min-arrow-down{bottom:-16px}.picker-iframe.picker-minew .picker-min-arrow-down{bottom:-10px;width:20px}.picker-iframe .picker-min-arrow-inner,.picker-iframe .picker-min-arrow-border{border:16px solid;height:0;position:absolute;width:0}.picker-iframe.picker-minew .picker-min-arrow-inner,.picker-iframe.picker-minew .picker-min-arrow-border{border:10px solid}.picker-iframe.picker-minew .picker-min-arrow-up .picker-min-arrow-inner{border-color:#f1f1f1 transparent}.picker-iframe.picker-white-callout.picker-minew .picker-min-arrow-up .picker-min-arrow-inner{border-color:#fff transparent}.picker-iframe .picker-min-arrow-up .picker-min-arrow-inner{border-color:#fff transparent;top:1px;z-index:1}.picker-iframe .picker-min-arrow-down .picker-min-arrow-inner{border-color:#fff transparent;bottom:1px;z-index:1}.picker-iframe .picker-min-arrow-up .picker-min-arrow-border,.picker-iframe .picker-min-arrow-down .picker-min-arrow-border{border-color:rgba(0,0,0,0.2) transparent}.picker-iframe .picker-min-arrow-down .picker-min-arrow-border{bottom:0}.picker-iframe .picker-min-arrow-up .picker-min-arrow-inner,.picker-iframe .picker-min-arrow-up .picker-min-arrow-border{border-top-width:0}.picker-iframe .picker-min-arrow-down .picker-min-arrow-inner,.picker-iframe .picker-min-arrow-down .picker-min-arrow-border{border-bottom-width:0}.drive-organize-atd-popup{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;vertical-align:middle}.drive-organize-atd-popup-undo-btn{margin:auto}.drive-organize-popup{position:absolute;z-index:1002;-webkit-box-shadow:rgba(0,0,0,0.2) 0 4px 16px;-moz-box-shadow:rgba(0,0,0,0.2) 0 4px 16px;box-shadow:rgba(0,0,0,0.2) 0 4px 16px;background-color:#f1f1f1;border:1px solid rgba(0,0,0,0.2);color:#6e6e6e;font-size:13px;font-weight:normal;text-align:left;white-space:nowrap}.drive-organize-popup-outline-hidden *:focus{outline:none}.drive-organize-popup-content{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;padding:10px}.drive-organize-popup-message{overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:6;display:-webkit-box;max-height:90px;margin:auto;max-width:160px;padding-right:10px;word-break:break-word}.drive-organize-button{display:inline-block;margin:auto}.drive-organize-popup-link-btn{color:#15c;cursor:pointer;padding:0 7px}.drive-organize-popup-close-btn{cursor:pointer;height:15px;padding:3px;vertical-align:middle}.drive-organize-popup-link-btn.drive-organize-button-hover{text-decoration:underline}.drive-organize-popup-arrow{position:absolute;width:20px}.drive-organize-popup-arrow .drive-organize-popup-triangle-before,.drive-organize-popup-arrow .drive-organize-popup-triangle-after{content:'';display:block;height:0;position:absolute;width:0}.drive-organize-popup-arrow .drive-organize-popup-triangle-before{border:10px solid}.drive-organize-popup-arrow .drive-organize-popup-triangle-after{border:9px solid}.drive-organize-popup-arrowdown{bottom:0}.drive-organize-popup-arrowup{top:-10px}.drive-organize-popup-arrowdown .drive-organize-popup-triangle-before,.drive-organize-popup-arrowup .drive-organize-popup-triangle-before{border-color:rgba(0,0,0,0.2) transparent;left:0}.drive-organize-popup-arrowdown .drive-organize-popup-triangle-after,.drive-organize-popup-arrowup .drive-organize-popup-triangle-after{border-color:#f1f1f1 transparent;left:1px}.drive-organize-popup-arrowdown .drive-organize-popup-triangle-before{border-bottom-width:0}.drive-organize-popup-arrowdown .drive-organize-popup-triangle-after{border-bottom-width:0}.drive-organize-popup-arrowup .drive-organize-popup-triangle-before{border-top-width:0}.drive-organize-popup-arrowup .drive-organize-popup-triangle-after{border-top-width:0;top:2px}.drive-organize-dialog{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2);-moz-box-shadow:0 4px 16px rgba(0,0,0,.2);box-shadow:0 4px 16px rgba(0,0,0,.2);background:#fff;background-clip:padding-box;color:#000;font-family:inherit;outline:0;padding:24px;position:absolute;width:560px;z-index:2204}.drive-organize-dialog-bg{background:#000;left:0;position:absolute;top:0;z-index:2203}div.drive-organize-dialog-bg{filter:alpha(opacity=50);opacity:.50}.drive-organize-dialog-title{background-color:#fff;color:#000;cursor:default;font-size:20px;font-weight:normal;line-height:24px}.drive-organize-dialog-title-close{height:11px;margin:24px;opacity:0.7;padding:6px;position:absolute;right:0;top:0;width:11px}.drive-organize-dialog-title-close:after{background:url(//ssl.gstatic.com/ui/v1/dialog/close-x.png);content:'';height:11px;position:absolute;width:11px}.drive-organize-dialog-title-close:hover{opacity:1}.drive-organize-dialog-content{background-color:#fff;font-size:16px;line-height:1.4em;padding-top:24px;padding-bottom:24px;word-wrap:break-word}.drive-organize-dialog-buttons{text-align:right}.drive-organize-dialog-buttons .drive-organize-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);border:1px solid #dcdcdc;border:1px solid rgba(0,0,0,0.1);color:#444;cursor:default;font-family:inherit;font-size:11px;font-weight:bold;height:29px;line-height:27px;margin:0 0 0 16px;min-width:72px;outline:0;padding:0 8px}.drive-organize-dialog-buttons .drive-organize-button:hover,.drive-organize-dialog-buttons .drive-organize-button:active{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #c6c6c6;color:#333}.drive-organize-dialog-buttons .drive-organize-button:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.drive-organize-dialog-buttons .drive-organize-button:focus{border:1px solid #4d90fe}.drive-organize-dialog-buttons .drive-organize-button[disabled]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#fff;background-image:none;border:1px solid #f3f3f3;border:1px solid rgba(0,0,0,0.5);color:rgba(0,0,0,.26)}.drive-organize-dialog-buttons .goog-buttonset-action{background-color:#4d90fe;background-image:-webkit-linear-gradient(top,#4d90fe,#4787ed);background-image:-moz-linear-gradient(top,#4d90fe,#4787ed);background-image:-ms-linear-gradient(top,#4d90fe,#4787ed);background-image:-o-linear-gradient(top,#4d90fe,#4787ed);background-image:linear-gradient(top,#4d90fe,#4787ed);border:1px solid #3079ed;color:#fff}.drive-organize-dialog-buttons .goog-buttonset-action:hover,.drive-organize-dialog-buttons .goog-buttonset-action:active{background-color:#357ae8;background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8);background-image:-moz-linear-gradient(top,#4d90fe,#357ae8);background-image:-ms-linear-gradient(top,#4d90fe,#357ae8);background-image:-o-linear-gradient(top,#4d90fe,#357ae8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2f5bb7;color:#fff}.drive-organize-dialog-buttons .goog-buttonset-action:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 1px 2px rgba(0,0,0,0.3)}.drive-organize-dialog-buttons .goog-buttonset-action:focus{-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff;border:1px solid #fff;border:rgba(0,0,0,0) solid 1px;outline:1px solid #4d90fe;outline:rgba(0,0,0,0) 0}.drive-organize-dialog-buttons .goog-buttonset-action[disabled]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#4d90fe;color:#fff;filter:alpha(opacity=50);opacity:0.5}.drive-organize-dialog .goog-menu{box-shadow:none;margin-bottom:-24px;padding:0;position:relative;z-index:inherit}.drive-organize-dialog .goog-menuitem{color:#000;font-size:13px;height:16px;margin:0;opacity:.87;padding:0 0 24px 16px}.drive-organize-dialog-parent-name{font-weight:bold}.drive-organize-dialog-list-item{display:block;overflow:hidden;text-overflow:ellipsis}.drive-organize-dialog .goog-menuitem-highlight{border-left:0;background-color:inherit}.drive-organize-dialog .goog-menuitem-content{margin:0}.drive-organize-dialog .goog-menuitem-highlight .goog-menuitem-content,.drive-organize-dialog .goog-option-selected .goog-menuitem-content{color:inherit}.drive-organize-dialog .goog-menuitem-active .goog-menuitem-checkbox{background:rgba(235,235,235,1)}.drive-organize-dialog .goog-menuitem-focus .goog-menuitem-checkbox{border-color:rgba(77,144,254,1)}.drive-organize-dialog .goog-option-selected{background:rgba(255,255,255,0)}.drive-organize-dialog .goog-option-selected .goog-menuitem-checkbox::after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:rgba(96,96,96,1);content:'';display:block}.modal-dialog.docs-endangered-doc-warning-dialog{z-index:1007}.modal-dialog-bg.docs-endangered-doc-warning-dialog-bg{z-index:1006}.docs-gm .modal-dialog.docs-endangered-doc-warning-dialog{min-width:464px;width:auto;width:unset}.fatal-error-dialog-container{display:table;width:374px}.fatal-error-dialog-contents{display:table-row;min-height:100px}.fatal-error-dialog-contents a:hover{cursor:pointer}.fatal-error-message{display:table-cell;vertical-align:middle;width:320px}.fatal-error-debug-text{font-size:85%;height:200px;width:90%}.docs-invite-favicon{height:16px;margin-right:5px;vertical-align:sub;width:16px}.docs-invite-header{height:77px;max-height:77px;width:100%;overflow-x:hidden;overflow-y:hidden;background:#f5f5f5;font-size:12.5px;color:#444;border-bottom:1px solid #d9d9d9}.docs-invite-header>div{display:table;width:100%;height:100%;max-height:inherit}.docs-invite-button{margin-right:25px}.docs-invite-fixedcol{display:table-cell;vertical-align:middle;white-space:nowrap}.docs-invite-flexcol{display:table-cell;width:100%;vertical-align:middle;max-height:inherit}.docs-invite-inviter-img{height:60px;border:1px solid #ccc;margin-left:25px}.docs-invite-heavy{font-weight:500;color:#222}.docs-invite-business-icon{margin-left:40px}.docs-invite-msg{margin:0px 10px 0px 25px;max-height:inherit;line-height:2.0}.docs-invite-business-header{position:absolute;z-index:1}#titlebar-mode-indicator-container{margin-right:10px}#titlebar-mode-indicator-container>div{border-radius:4px;text-transform:none;font-size:14px;font-weight:500;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:36px;line-height:calc(36px - 2px)}.docs-hub-appbar #titlebar-mode-indicator-container>div{align-items:center;color:#188038;display:flex;height:28px;letter-spacing:0.25px}.docs-hub-appbar #titlebar-mode-indicator-container>.titlebar-request-access-button{padding-left:16px;padding-right:16px}#titlebar-mode-indicator-container .docs-approval-status-indicator>.docs-icon,#titlebar-mode-indicator-container .docs-approval-lock>.docs-icon{margin-right:8px}.kix-titlebar-mode-switcher.docs-material-menu-button-flat-primary .docs-icon-img.docs-icon-acl-view-only,.kix-titlebar-mode-switcher.docs-material-menu-button-flat-primary .docs-icon-img.docs-icon-acl-view-only:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_blue.svg)}.kix-titlebar-mode-switcher .docs-material-menu-button-flat-primary-dropdown{vertical-align:middle}.kix-titlebar-mode-switcher .docs-material-menu-button-flat-primary-dropdown-icon{opacity:1}.docs-hub-appbar #titlebar-mode-indicator-container>.kix-titlebar-approvals-button{float:left}#titlebar-mode-indicator-container>.kix-titlebar-approvals-button.docs-material-menu-button-flat-primary,#titlebar-mode-indicator-container>.kix-titlebar-approvals-button.docs-material-menu-button-flat-primary-hover.docs-material-menu-button-flat-primary-focused{border:none}#titlebar-mode-indicator-container .kix-titlebar-approvals-button.docs-material-menu-button-flat-primary .docs-material-menu-button-flat-primary-dropdown{margin-top:5px}#titlebar-mode-indicator-container>.docs-material-menu-button-flat-primary,.titlebar-request-access-button.docs-material-button,.titlebar-request-access-button.docs-material-button.docs-material-button-focused.docs-material-button-no-focus-border,.kix-titlebar-approvals-button.docs-material-button,.kix-titlebar-approvals-button.docs-material-button.docs-material-button-focused.docs-material-button-no-focus-border{border:1px solid #e8eaed}#titlebar-mode-indicator-container>.docs-material-menu-button-flat-primary-hover,.titlebar-request-access-button.docs-material-button.docs-material-button-hover,.kix-titlebar-approvals-button.docs-material-button.docs-material-button-hover{background:#f8fcf9;border:1px solid #c8e7d1}#titlebar-mode-indicator-container>.docs-material-menu-button-flat-primary-focused,.titlebar-request-access-button.docs-material-button.docs-material-button-focused,.kix-titlebar-approvals-button.docs-material-button.docs-material-button-focused{background:#e7f5eb;border:1px solid #bbe2c6}.titlebar-request-access-button.docs-material-button.docs-material-button-focused,.kix-titlebar-approvals-button.docs-material-button.docs-material-button-focused{line-height:32px;padding:0 8px}#titlebar-mode-indicator-container>.docs-material-menu-button-flat-primary-hover.docs-material-menu-button-flat-primary-focused,.titlebar-request-access-button.docs-material-button.docs-material-button-hover.docs-material-button-focused,.kix-titlebar-approvals-button.docs-material-button.docs-material-button-hover.docs-material-button-focused{background:#dff2e4;border:1px solid #b5e0c1}#titlebar-mode-indicator-container>.docs-material-menu-button-flat-primary-open,.titlebar-request-access-button.docs-material-button.docs-material-button-active,.kix-titlebar-approvals-button.docs-material-button.docs-material-button-active{box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.titlebar-request-access-button-tooltip{max-width:200px}.docs-parent-collections-container-prefix,.docs-parent-collections-container-text{color:rgba(0,0,0,.54);padding-left:4px}.docs-parent-collections-container-folder-name{color:rgba(0,0,0,.87);font-size:14px;padding-left:4px;bottom:1px}.docs-parent-collections-container{padding:2px 4px 0px 2px}.docs-parent-collections-container:hover,.docs-parent-collections-container:focus{background-color:#eeeeee;border-radius:2px}.docs-parent-collections-container-icon{bottom:2px}.docs-parent-collections-container-icon:not(.docs-parent-collections-container-icon-material){opacity:.54}.request-comment-access-toast-link{text-transform:uppercase;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500!important}.modal-dialog.docs-dialog.docs-restore-dialog{z-index:1007}.modal-dialog-bg.docs-restore-dialog-bg{z-index:1006}.docs-gm .modal-dialog.docs-dialog.docs-restore-dialog{min-width:464px;width:auto;width:unset}#docs-toolbar-iterator-label{color:rgba(0,0,0,0.87);font-size:13px;line-height:24px;margin-right:10px;margin-top:4px;vertical-align:middle}#docs-toolbar-iterator-previous,#docs-toolbar-iterator-next{margin-left:3px;margin-right:3px}.docs-in-editor-sync-state-icon{float:right;margin:0 0 0 24px;vertical-align:middle}.docs-in-editor-sync-state-icon .docs-icon{height:20px;margin:0;opacity:1;width:20px}.docs-in-editor-animated-sync{-webkit-animation-duration:2s;-moz-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-o-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:spin;-moz-animation-name:spin;-o-animation-name:spin;animation-name:spin;-webkit-animation-timing-function:linear;-moz-animation-timing-function:linear;-o-animation-timing-function:linear;animation-timing-function:linear;-webkit-transform-origin:center;-moz-transform-origin:center;-ms-transform-origin:center;-o-transform-origin:center;transform-origin:center}@keyframes spin{0%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}}.docs-offline-optindialog-short-disclaimer{margin-top:20px}.docs-offline-optindialog-disclaimer-link{cursor:pointer}#docs-offline-optindialog-disclaimer-link.docs-offline-optindialog-disclaimer-link-disabled{color:#ccc;pointer-events:none;text-decoration:none}.docs-offline-optindialog-disclaimer{margin-top:20px;max-width:400px}.docs-offline-optinpromo.jfk-bubble{font-size:13px;max-width:500px;outline:none;padding-left:24px;padding-top:11px;position:fixed;right:15px;top:113px}.docs-offline-optinpromo .jfk-bubble-arrow{display:none}#docs-offline-optinpromo-title{font-size:19px;font-weight:500;margin:12px 0}.docs-offline-optinpromo-notice{color:#767676;font-size:11px;margin:14px 0}.docs-offline-optinpromo-notice a{text-decoration:none}.docs-offline-optinpromo hr{border-top-color:#e1e1e1;border-top-style:solid;border-width:1px 0 0 0}.docs-offline-optinpromo-confirm-buttons{margin-top:15px}.docs-offline-welcomepromo{width:400px}.docs-offline-welcomepromo .modal-dialog-content{padding-right:80px;position:relative}.doc-offline-welcomepromo-img{position:absolute;right:0;top:-25px}.docs-gm #docs-offline-optinpromo-title,.docs-gm .docs-offline-optinpromo-buttons{padding:0}.docs-labelinputmenuitem{outline:none;padding-right:30px;padding-left:30px}#docs-omnibox-toolbar .docs-omnibox-autocomplete{margin-right:4px}.docs-omnibox-autocomplete{margin-top:4px}.docs-omnibox-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;min-width:178px}.docs-omnibox-input::-webkit-input-placeholder{color:#777;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;opacity:1;padding-top:2px}.docs-omnibox-input::-moz-placeholder{color:#777;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;opacity:1}.docs-omnibox-input:-ms-input-placeholder{color:#777;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;opacity:1}.docs-gm .docs-omnibox-input.jfk-textinput{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:16px;height:20px}.docs-gm .docs-omnibox-input.jfk-textinput::placeholder{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:16px}.docs-gm .docs-omnibox-input.jfk-textinput:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-omnibox-autocomplete .ac-renderer{box-shadow:0 2px 4px rgba(0,0,0,0.2);border:1px solid #ccc;background-color:#fff;min-width:250px;outline:medium none;position:fixed;width:auto;z-index:1003}.docs-omnibox-autocomplete .ac-highlighted{font-weight:500}.docs-omnibox-autocomplete .ac-active{background-color:#eee}.docs-omnibox-row-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.docs-promo-title-prefix{color:#d25342;font-weight:500}.docs-promo-title{color:#333;font-weight:500}.docs-promo-content{color:#666;cursor:pointer}.docs-promo-dismiss-link{color:#15c;cursor:pointer}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:rgba(0,0,0,.1) transparent}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowleft .jfk-bubble-arrowimplbefore,.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowright .jfk-bubble-arrowimplbefore{border-color:transparent rgba(0,0,0,.1)}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplafter{border:10px solid;border-bottom-width:0;border-color:#fafafa transparent}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border:10px solid;border-top-width:0;border-color:#fafafa transparent}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowleft .jfk-bubble-arrowimplafter{border:10px solid;border-left-width:0;border-color:transparent #fafafa}.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowright .jfk-bubble-arrowimplafter{border:10px solid;border-right-width:0;border-color:transparent #fafafa}.jfk-bubble.docs-promo-bubble{background-color:#fafafa;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;box-shadow:rgba(255,255,255,.9) 0 1px 0 inset,rgba(0,0,0,.03) 0 -1px 0 inset,rgba(0,0,0,.15) 0 15px 10px,rgba(0,0,0,.3) 0 8px 36px;padding:0}.docs-gm-promo.jfk-bubble.docs-promo-bubble{background-color:#188038;border-radius:8px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);margin-top:4px}.docs-gm-promo.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowimplbefore{border-color:transparent}.docs-gm-promo.jfk-bubble.jfk-bubble-promo.docs-promo-bubble .jfk-bubble-arrowimplafter{border-color:#188038 transparent}.docs-promo-text-container{width:363px;word-wrap:break-word}.docs-promo-text-container-ltr{float:right}.docs-promo-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:24px 16px 0 16px}.docs-gm-promo .docs-promo-container{padding:16px}.docs-promo-icon-container{width:48px;height:48px;margin-right:16px;float:left}.docs-promo-header{color:#000;opacity:0.87;font-size:15px;font-weight:500}.docs-gm-promo .docs-promo-header{color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;opacity:1}.docs-promo-header-prefix{color:#d25342}.docs-promo-body{color:#666;font-size:13px;line-height:20px;padding-top:20px}.docs-gm-promo .docs-promo-body{color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;padding:4px 0}.docs-promo-action-row{font-weight:500;padding-top:20px;padding-right:8px;padding-bottom:24px;position:relative;text-align:right}.docs-gm-promo .docs-promo-action-row{padding:0}.docs-promo-action-row a,.docs-promo-action-row a:link,.docs-promo-action-row a:active,.docs-promo-action-row a:hover,.docs-promo-action-row a:visited{text-decoration:none}.docs-promo-action-row a,.docs-promo-action-row a:link,.docs-promo-action-row a:active,.docs-promo-action-row a:hover,.docs-promo-action-row a:visited{color:#4285f4}.docs-promo-action-container{color:#4285f4;cursor:pointer;text-transform:uppercase}.docs-gm-promo .docs-promo-action-container{color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:0 0 0 20px;text-transform:none}.docs-gm-promo .docs-promo-action-container:focus{outline-color:#fff}.docs-promo-action-button-right{margin-left:12.5px;float:right}.docs-promo-action-button-left{margin-right:12.5px}.docs-promo-two-buttons .docs-promo-action-button-right{max-width:125px;text-align:center}.docs-promo-two-buttons .docs-promo-action-button-left{max-width:61px;text-align:center}.docs-revisions-chromecover-titlebar{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;box-pack:start;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;font-size:16px;max-width:50vw}.docs-gm .docs-revisions-chromecover-titlebar{font-size:18px;line-height:24px}.docs-revisions-chromecover-titlebar-name-label{font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:normal;font-weight:var(--docs-material-font-weight-bold,normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-gm .docs-revisions-chromecover-titlebar-name-label{font-weight:400}.docs-revisions-chromecover-titlebar[class*="docs-hc"] .docs-revisions-chromecover-titlebar-button-action{border:1px solid #fff}.docs-revisions-chromecover-titlebar-button-back-container{height:100%;min-width:58px}.docs-revisions-chromecover-titlebar-button-back{background-color:transparent;border:0;cursor:pointer;left:18px;margin:0;outline:0;padding:0}.docs-revisions-chromecover-titlebar-button-back.docs-material .docs-icon{height:21px;width:21px;margin:0;padding-bottom:3px}.docs-revisions-chromecover-titlebar-button-action{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-tap-highlight-color:transparent;background-color:#0f9d58;border:none;color:#fff;cursor:pointer;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:36px;margin:0 0 0 24px;outline:none;padding:0 16px;text-transform:uppercase;white-space:nowrap;will-change:box-shadow,filter,background-color,color}.docs-gm .docs-revisions-chromecover-titlebar-button-action{padding:0 24px;text-transform:none}.docs-revisions-chromecover-titlebar-button-action,.docs-revisions-chromecover-titlebar-button-action.goog-flat-button-active,.docs-revisions-chromecover-titlebar-button-action.goog-flat-button-hover{-webkit-transition-duration:0.28s;-moz-transition-duration:0.28s;-o-transition-duration:0.28s;transition-duration:0.28s;-webkit-transition-property:box-shadow,filter,background-color,color;-moz-transition-property:box-shadow,filter,background-color,color;-o-transition-property:box-shadow,filter,background-color,color;transition-property:box-shadow,filter,background-color,color;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1)}.docs-revisions-chromecover-titlebar-button-action.goog-flat-button-active,.docs-revisions-chromecover-titlebar-button-action.goog-flat-button-focused{filter:brightness(88%)}.docs-revisions-chromecover-titlebar-button-action.goog-flat-button-active{box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.2)}.docs-revisions-chromecover-titlebar-button-action.goog-flat-button-hover:not(.goog-flat-button-active){box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.docs-revisions-chromecover-content{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;display:flex;flex-direction:row;box-pack:start;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;height:inherit}.docs-revisions-chromecover-content-exclude-sidebar-width{width:calc(100% - 250px)}.docs-gm .docs-revisions-chromecover-content-exclude-sidebar-width{width:calc(100% - 300px)}.docs-revisions-chromecover-content-color-default{background-color:#424242;color:#fff}.docs-gm .docs-revisions-chromecover-content-color-default{background-color:#fff;color:#202124}.docs-revisions-icon{cursor:pointer;direction:ltr;height:24px;min-height:24px;min-width:24px;outline:none;position:relative;text-align:left;vertical-align:middle;width:24px}.docs-hc-gecko .docs-revisions-icon{filter:invert(100%)}.docs-hc-ie .docs-revisions-icon{-ms-high-contrast-adjust:none;background-color:#fff}.docs-revisions-icon-rtl{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.docs-revisions-icon-focused:before{-webkit-transform:scale(1.375);-moz-transform:scale(1.375);-ms-transform:scale(1.375);-o-transform:scale(1.375);transform:scale(1.375);-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background-color:#000;content:'';display:block;height:inherit;opacity:.12;position:absolute;width:inherit}.docs-revisions-icon-img-mask{height:inherit;overflow:hidden;position:absolute;width:inherit}.docs-revisions-icon-img:before{content:url(//ssl.gstatic.com/docs/common/revisions_sprite1.svg)}.docs-revisions-icon-img{height:72px;position:absolute;width:24px}.docs-revisions-icon-open .docs-revisions-icon-arrow{left:0;top:-48px}.docs-revisions-icon-arrow{left:0;top:0}.docs-revisions-icon-overflow{left:0;top:-24px}.docs-revisions-sidebar{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;background-color:#fff;height:100%;outline-style:none;position:absolute;right:0;width:250px;z-index:2}.docs-gm .docs-revisions-sidebar{overflow:hidden;box-shadow:-3px 0px 6px -3px rgba(60,64,67,.15),3px 0px 6px -3px rgba(60,64,67,.15);width:300px}.docs-revisions-sidebar-header{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.docs-gm .docs-revisions-sidebar-header{background-color:#fff;color:#202124}.docs-revisions-sidebar[class*="docs-hc"]{border-left:1px solid #fff}.docs-revisions-sidebar[class*="docs-hc"]>.docs-revisions-sidebar-header{border-bottom:1px solid #fff}.docs-revisions-sidebar-header-bg-color-brand{background-color:#0f9d58}.docs-revisions-sidebar-header-text-color-brand{color:#fff}.docs-revisions-sidebar-title{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;height:60px;padding:18px;width:100%}.docs-gm .docs-revisions-sidebar-title{font-size:16px;line-height:24px;padding:20px 16px}.docs-revisions-sidebar-name-filter-switch-container{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:flex;border-top:1px solid rgba(255,255,255,0.2);height:47px;justify-content:space-between;padding:14px 14px 14px 18px;width:100%}.docs-gm .docs-revisions-sidebar-name-filter-switch-container{border-bottom:1px solid #dadce0;border-top:1px solid #dadce0;padding:12px 16px;height:40px}.docs-revisions-sidebar-name-filter-switch-container label{color:#fff;cursor:pointer;font-size:12px;font-weight:normal;opacity:0.87;word-break:break-word}.docs-gm .docs-revisions-sidebar-name-filter-switch-container label{color:#3c4043;line-height:16px}.docs-revisions-sidebar-revisions-list{position:relative;overflow:auto;overflow-x:hidden}.docs-revisions-sidebar-revisions-list:focus{outline-style:none}.docs-revisions-sidebar-revisions-list:focus-visible,.docs-revisions-sidebar-revisions-list:moz-focusring{outline-style:auto}body:not(.docs-gm) .docs-revisions-sidebar-revisions-list::-webkit-scrollbar{width:11px}body:not(.docs-gm) .docs-revisions-sidebar-revisions-list::-webkit-scrollbar-thumb{border-width:1px}body:not(.docs-gm) .docs-revisions-sidebar-revisions-list::-webkit-scrollbar-track{border-width:0}.docs-revisions-sidebar-actions{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;border-top:1px solid #cfcfcf;padding:9px 14px}.docs-revisions-sidebar-detail-button,#docs-revisions-sidebar-iw-button{margin-top:9px}.docs-revisions-sidebar-date-group{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:flex;background-color:#f5f5f5;border-bottom:1px solid #eee;color:#616161;font-size:13px;font-weight:500;height:35px;padding-left:18px}.docs-gm .docs-revisions-sidebar-date-group{color:#3c4043;background-color:#fff;font-size:11px;font-weight:500;line-height:21px;text-transform:uppercase}.docs-revisions-sidebar-revisions-list-container{overflow:auto}.docs-revisions-sidebar-revisions-empty-container{display:flex;-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;-ms-flex:1 0 auto;-webkit-flex:1 0 auto;flex:1 0 auto}.docs-revisions-sidebar-revisions-empty{color:#616161;margin:0 18px;text-align:center}.docs-gm .docs-revisions-sidebar-revisions-empty-details{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px}.docs-revisions-sidebar-revisions-empty-title{font-size:15px;font-weight:500}.docs-gm .docs-revisions-sidebar-revisions-empty-title{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:24px}.docs-revisions-sidebar-revisions-empty-details,.docs-revisions-sidebar-revisions-empty-title{margin-bottom:8px}a.docs-revisions-sidebar-revisions-empty-learn-more{color:#4285f4}.docs-gm a.docs-revisions-sidebar-revisions-empty-learn-more{color:#1a73e8;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;line-height:20px}.docs-ui-toast.docs-revisions-snack{z-index:1001}.docs-revisions-snack .docs-ui-toast-control{font-weight:500;text-transform:uppercase}.docs-revisions-snapshot-prompt .jfk-textinput{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:29px;margin-top:16px;width:100%}.docs-revisions-snapshot-prompt-loading-indicator,.docs-revisions-snapshot-prompt-loading-indicator .docs-spinner{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;display:flex;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.docs-revisions-snapshot-prompt-loading-indicator{min-height:96px;min-width:300px}.docs-revisions-snapshot-prompt-loading-indicator .docs-spinner{height:32px;width:32px}.docs-revisions-snapshot-prompt-loading-indicator .docs-quantum-spinner{margin:0;position:initial}.docs-revisions-switch{cursor:pointer;margin-left:14px}.docs-revisions-switch[class*="docs-hc"]>.apps-ui-material-slide-toggle-thumb,.docs-revisions-switch[class*="docs-hc"]>.apps-ui-material-slide-toggle-track{border:1px solid #fff;will-change:border-style}.docs-revisions-switch .apps-ui-material-slide-toggle-thumb{background-color:#bdbdbd}.docs-gm .docs-revisions-switch .apps-ui-material-slide-toggle-thumb{background-color:#fff}.docs-revisions-switch .apps-ui-material-slide-toggle-track{background-color:#fff;opacity:.3}.docs-gm .docs-revisions-switch .apps-ui-material-slide-toggle-track{background-color:#9aa0a6;opacity:1}.docs-revisions-switch.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-thumb{background-color:#fafafa}.docs-gm .docs-revisions-switch.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-thumb{background-color:#0f9d58}.docs-revisions-switch.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-track{background-color:#000;opacity:.38}.docs-gm .docs-revisions-switch.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-track{background-color:#0f9d58}.docs-revisions-tile{contain:content;outline:none;position:relative}.docs-revisions-tile-content-wrapper{padding-bottom:12px;border-bottom:1px solid #eee}.docs-revisions-tile-selected{background-color:#e2f3eb}.docs-revisions-tile-hover:not(.docs-revisions-tile-selected){background-color:#f5f5f5}.docs-revisions-tile-header{display:flex;flex-direction:column;font-size:13px;font-size:var(--docs-material-font-size-normal,13px);padding:12px 18px 3px 36px;position:relative}.docs-revisions-tile-actions,.docs-revisions-tile-collaborator-list{margin:0 18px 0 36px}.docs-gm .docs-revisions-tile-actions{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:16px;padding-top:3px}.docs-revisions-tile-collaborator{display:flex;flex-direction:column;font-size:12px}.docs-revisions-tile-collaborator-name{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;display:flex;color:#585858}.docs-gm .docs-revisions-tile-collaborator{line-height:16px}.docs-gm .docs-revisions-tile-collaborator-name{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.docs-revisions-tile-collaborator-link{line-height:1;margin-top:3px}.docs-gm .docs-revisions-tile-collaborator-link{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:16px;margin-top:3px}.docs-revisions-tile-indented{margin-left:50px}.docs-revisions-tile-indented .docs-revisions-tile-header{padding-left:0}.docs-revisions-tile-indented .docs-revisions-tile-actions,.docs-revisions-tile-indented .docs-revisions-tile-collaborator-list{margin-left:0}.docs-revisions-tile-caption-v0{color:#808080;font-size:11px}.docs-revisions-tile-show-v0{color:#4275d6;font-size:11px}.docs-revisions-tile-show-v0-link{cursor:pointer;font-weight:500}.docs-revisions-tile-swatch{width:8px;height:8px;margin-right:5px}.docs-gm .docs-revisions-tile-swatch{border-radius:50%}.docs-revisions-tile-arrow-button,.docs-revisions-tile-menu-button{position:absolute}.docs-revisions-tile-arrow-button{left:9px;top:10px}.docs-revisions-tile-menu-button{right:9px;top:10px}.docs-revisions-tile-shade{border-bottom:1px solid #eee;cursor:progress;height:100%;position:absolute;width:100%;z-index:1}.docs-revisions-tile-shade:before{background-color:#fff;content:'';display:block;height:inherit;opacity:0.95;width:inherit}.docs-revisions-tile-shade .docs-spinner{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;display:flex;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transform:scale(0.5);-moz-transform:scale(0.5);-ms-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5);height:48px;left:50%;margin:-24px 0 0 -24px;position:absolute;top:50%;width:48px}.docs-revisions-tile-shade .docs-quantum-spinner{margin:0;position:initial}.docs-revisions-tile-descriptor{color:#000;font-size:14px}.docs-gm .docs-revisions-tile-descriptor{font-style:italic}.docs-revisions-tile-selected .docs-revisions-tile-descriptor{font-weight:500}.docs-gm .docs-revisions-tile-selected .docs-revisions-tile-descriptor,.docs-gm .docs-revisions-tile-selected .docs-revisions-tile-text-box~.docs-revisions-tile-descriptor{color:#188038}.docs-revisions-tile-text-box~.docs-revisions-tile-descriptor{color:#585858;font-size:12px;font-weight:normal;margin-top:3px}.docs-gm .docs-revisions-tile-descriptor,.docs-gm .docs-revisions-tile-text-box~.docs-revisions-tile-descriptor{color:#3c4043;font-size:12px;font-weight:400;line-height:16px}.docs-revisions-tile-text-box{-webkit-transition-duration:0.28s;-moz-transition-duration:0.28s;-o-transition-duration:0.28s;transition-duration:0.28s;-webkit-transition-property:border-color;-moz-transition-property:border-color;-o-transition-property:border-color;transition-property:border-color;-webkit-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-moz-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);-o-transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);transition-timing-function:cubic-bezier(0.4,0.0,0.2,1);background:transparent;border-radius:2px;border:1px solid transparent;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;margin:-3px;margin-right:18px;outline:0;padding:2px;resize:none;will-change:border-color}.docs-revisions-tile-text-box:hover:enabled{border-color:#9e9e9e}.docs-revisions-tile-text-box:focus:enabled{border-color:#498dff}.docs-revisions-tile-text-box:disabled{color:#000;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.docs-revisions-tile-selected .docs-revisions-tile-text-box{font-weight:500}.docs-gm .docs-revisions-tile-text-box{font-weight:400;line-height:20px}.docs-gm .docs-revisions-tile-selected .docs-revisions-tile-text-box{color:#188038;font-weight:700}.docs-gm docs-revisions-tile-text-box:disabled{color:#3c4043}.alt-text-dialog-content textarea{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}#alt-text-dialog-title,#alt-text-dialog-description{width:400px}#alt-text-dialog-description{height:100px;padding-top:6px;padding-left:9px}.alt-text-dialog-content td{padding-top:10px;vertical-align:top}.alt-text-dialog-content tr{margin:5px 0}.alt-text-dialog-content label{font-weight:500;padding-right:30px;position:relative;top:5px}.alt-text-dialog-intro{max-width:500px;padding:5px 0}.docs-bubble{background-color:#fff;border-radius:2px;border:1px solid;border-color:#bbb #bbb #a8a8a8;-moz-box-shadow:0 1px 3px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);-ms-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2);color:#666;cursor:default;padding:12px 20px;position:absolute;z-index:502;white-space:nowrap}.docs-bubble.docs-linkbubble-bubble{z-index:503}.docs-bubble-link,.docs-bubble a{color:#15c!important;cursor:pointer;text-decoration:none!important}.docs-bubble a{display:inline-block;max-width:400px;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.docs-bubble-link:hover,.docs-bubble a:hover{text-decoration:underline!important}.docs-bubble-label{font-weight:500}a.docs-bubble-link-disabled{color:#ccc!important;text-decoration:none!important}.docs-bubble .docs-bubble-button .docs-icon{vertical-align:baseline;width:18px;height:18px;margin:0px}.docs-bubble .docs-bubble-button{box-shadow:none;background-color:transparent;background-image:none;cursor:pointer;height:18px;width:18px;border-radius:50%;border-width:0px;border-style:solid;border-color:transparent;box-shadow:none;background-clip:padding-box;cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:auto;min-width:unset;margin-right:0px;padding:6px}.docs-bubble .docs-bubble-button.jfk-button:hover,.docs-bubble .docs-bubble-button.jfk-button:focus{background-color:rgba(0,0,0,.06)}.docs-bubble .docs-bubble-button.jfk-button:hover:active,.docs-bubble .docs-bubble-button.jfk-button.goog-toolbar-button-checked{background-color:#e6f4ea}.docs-hc-gecko .docs-bubble-button,.docs-hc-ie .docs-bubble-button{border:1px solid transparent}.docs-clipboardshortcutsdialog{color:#666}.docs-clipboardshortcutsdialog-shortcut{padding-right:40px}.docs-clipboardshortcutsdialog-mac .docs-clipboardshortcutsdialog-shortcut{padding-right:95px}.docs-clipboardshortcutsdialog-shortcut-command{padding-bottom:5px}.docs-clipboardshortcutsdialog-shortcuts{padding:15px 0}.docs-clipboardshortcutsdialog-shortcut-command{line-height:1.0;font-size:36px;font-weight:500}.modal-dialog.color-dialog{padding:10px}.color-dialog>.modal-dialog-title{display:none}.color-dialog>.modal-dialog-buttons{margin-top:8px;padding-left:18px}.docs-colormenuitems-header{padding-left:5px}.docs-colormenuitems-custom-header{margin-left:-23px}.docs-gm .colormenuitems-custom-header-add-button .docs-colormenuitems-custom-header,.docs-gm .docs-colormenuitems-scheme-header{margin-left:5px}.docs-gm .docs-colormenuitems .goog-menuitem.colormenuitems-custom-header-add-button{border-radius:4px;border-width:1px 0;font-size:13px;padding:2px 0}.docs-gm .goog-menuitem.colormenuitems-custom-header-add-button.goog-menuitem-highlight{border-width:0}.docs-gm .docs-colormenuitems-scheme-header{padding:4px 0 4px 5px}.docs-gm .goog-menu .goog-menuitem.colormenuitems-no-color{border-color:transparent;border-style:dotted;border-width:1px;padding:5px 15px 5px 38px}.docs-gm .docs-colormenuitems .docs-colormenuitems-scheme-header,.docs-gm .docs-colormenuitems .docs-colormenuitems-custom-header{color:#3c4043;font-size:11px;font-weight:500;letter-spacing:.8px;padding-left:0px;text-transform:uppercase}.docs-gm .docs-colormenuitems .docs-text-color-state-change-button.jfk-button{background-color:#fff;background-image:none;border:none;box-shadow:none;color:#5f6368;cursor:pointer;font-size:14px}.docs-gm .docs-colormenuitems .docs-text-color-state-change-button.jfk-button-checked{border-bottom:2px solid #0f9d58;color:#202124}.docs-colormenuitems.goog-menu{padding:10px}.docs-colormenuitems .jfk-palette-table{margin:0;padding:3px}.docs-colormenuitems .jfk-palette-cell-hover{border:1px solid #fff;outline:1px solid #000}.docs-colormenuitems-theme-header{padding-top:5px}.docs-colormenuitems-custom-palette .jfk-palette-cell{border-color:#ccc;height:16px;width:16px}.docs-colormenuitems-custom-palette .jfk-palette-cell-selected{border-color:black;outline:none}.goog-color-menu-button.goog-menu-button{background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1)}.goog-color-menu-button .goog-menu-button-outer-box,.goog-color-menu-button .goog-menu-button-inner-box{border-color:rgba(0,0,0,0.1)}.goog-color-menu-button.goog-menu-button-focused .goog-menu-button-outer-box,.goog-color-menu-button.goog-menu-button-focused .goog-menu-button-inner-box{border-color:#4d90fe}.goog-color-menu-button.goog-menu-button-open .goog-menu-button-outer-box,.goog-color-menu-button.goog-menu-button-open .goog-menu-button-inner-box{border-color:rgba(0,0,0,0.1)}.goog-color-menu-button.goog-menu-button-hover .goog-menu-button-outer-box,.goog-color-menu-button.goog-menu-button-hover .goog-menu-button-inner-box{border-color:rgba(0,0,0,0.1)!important}.goog-color-menu-button.goog-menu-button-hover .goog-menu-button-outer-box{box-shadow:0 1px 1px rgba(0,0,0,.1)}.docs-flatcolormenubutton.goog-flat-menu-button{min-width:0px}.docs-flatcolormenubutton .goog-flat-menu-button-caption{display:inline-block;height:14px;outline:1px solid #bbb;vertical-align:middle;width:14px}.docs-copy-link{width:500px}.copy-link-dialog{color:black;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;white-space:normal}.copy-link-butter-holder{position:absolute;top:0px;padding-top:16px;left:220px}.docs-chromeextensioninstalldialog-image{vertical-align:top}.docs-chromeextensioninstalldialog-textpart{width:360px;padding:0 0 15px 25px;color:#333}.docs-chromeextensioninstalldialog-note{padding:25px 0 0 0;color:#666}.docs-chromeextensioninstalldialog-noteV2{color:#666;padding:10px 0 0 0}.docs-chromeextensioninstalldialog-shortcuts{color:#666}.docs-findbar-input{width:170px;height:19px}.docs-gm .docs-findbar-content,.docs-gm .docs-gotobar-content{height:36px}.docs-slidingdialog .docs-findbar-text{border:1px solid #aaa;font-size:11px;height:16px;margin-right:4px;padding:2px;width:172px}.docs-slidingdialog #docs-findbar-spinner{display:inline-block;position:relative;transition:left 300ms ease-out;transition:width 300ms ease-out;vertical-align:middle}.docs-gm .docs-slidingdialog #docs-findbar-button-previous,.docs-gm .docs-slidingdialog #waffle-gotobar-button-go{margin-left:8px;margin-right:8px}.docs-slidingdialog #docs-findbar-button-next{margin-right:8px}.docs-gm .docs-slidingdialog .goog-toolbar-separator{height:24px;width:2px;margin:0 8 0 0px;position:center;vertical-align:middle}.docs-slidingdialog #docs-findbar-button-more-options{margin-right:8px}.docs-findbar-button-previous-rtl{margin-left:-1px}.docs-findbar-content .jfk-button-disabled{background-color:#f5f5f5;border-color:rgba(0,0,0,0.1);border-color:#dcdcdc}.docs-gm .docs-findbar-content .jfk-button-disabled,.docs-gm .docs-gotobar-content .jfk-button-disabled{opacity:.38}.docs-gm .docs-findbar-content .jfk-button,.docs-gm .docs-gotobar-content .jfk-button{background-image:none;background-color:transparent;border-color:transparent;margin:0 8px 0 0;min-width:24px;vertical-align:middle}.docs-gm .docs-findbar-content .jfk-button-hover,.docs-gm .docs-gotobar-content .jfk-button-hover{box-shadow:none;background-color:rgba(0,0,0,.06);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docs-gm .docs-findbar-content .jfk-button-active,.docs-gm .docs-gotobar-content .jfk-button-active{box-shadow:none;background-color:rgba(0,0,0,0.12);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docs-findinput-container{background:#fff;border:1px solid #d9d9d9;border-top:1px solid #c0c0c0;min-width:20px;padding:0 8px;width:100%}.docs-findinput-container-focus{border:1px solid #4d90fe;box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);outline:none}.docs-gm .docs-findinput-container,.docs-gm .docs-gotoinput-container{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0;margin:0}.docs-gm .docs-findinput-container-focus,.docs-gm .docs-gotoinput-container:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.docs-findinput-input,.docs-findinput-input:focus{background:transparent!important;border:none!important;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important;font-size:13px;height:25px;margin:0;outline:none!important;padding:1px 0px!important;width:100%}.docs-findinput-count-container{max-width:120px;overflow:hidden;padding:0 8px 0 4px;text-align:right}.docs-findinput-count{color:#ccc;white-space:nowrap}#fontSizeSelect .goog-toolbar-menu-button-caption,#docs-font-size .goog-toolbar-menu-button-caption{overflow:hidden;text-overflow:ellipsis;width:20px;white-space:nowrap}#fontSizeSelect .goog-toolbar-combo-button-caption,#docs-font-size .goog-toolbar-combo-button-caption{width:48px!important}#fontSizeSelect .goog-toolbar-combo-button-input,#docs-font-size .goog-toolbar-combo-button-input{width:28px}#fontSizeSelect.docs-font-size-inc-dec-combobox{border-color:#dadce0!important;border-radius:0;vertical-align:middle;width:39px}.goog-toolbar[role="toolbar"] .docs-font-size-inc-dec-action-button.goog-toolbar-button{border-color:#dadce0!important}#fontSizeDecrement.docs-font-size-inc-dec-action-button.goog-toolbar-button{border-radius:2px 0 0 2px;border-right:0!important;margin-left:5px;margin-right:0}.goog-toolbar[role="toolbar"] .docs-font-size-inc-dec-action-button.goog-toolbar-button,.docs-font-size-inc-dec-action-button.goog-toolbar-button .goog-toolbar-button-outer-box,.docs-font-size-inc-dec-action-button.goog-toolbar-button .goog-toolbar-button-inner-box{height:22px;min-width:23px;width:23px}#fontSizeIncrement.docs-font-size-inc-dec-action-button.goog-toolbar-button{border-left:0!important;border-radius:0 2px 2px 0;margin-left:0;margin-right:5px}#fontSizeSelect.docs-font-size-inc-dec-combobox,#fontSizeSelect.docs-font-size-inc-dec-combobox .goog-toolbar-combo-button-caption,#fontSizeSelect.docs-font-size-inc-dec-combobox .goog-toolbar-combo-button-inner-box{height:22px;margin-left:0;margin-right:0}#fontSizeSelect.docs-font-size-inc-dec-combobox .goog-toolbar-combo-button-input{height:24px!important;margin:-1px;text-align:center;width:41px!important;padding:0}#fontSizeSelect.docs-font-size-inc-dec-combobox .goog-toolbar-combo-button-caption{width:41px!important}#fontSizeSelect.docs-font-size-inc-dec-combobox .goog-toolbar-combo-button-inner-box{padding:0}.docs-font-size-inc-dec-combobox.goog-toolbar-combo-button-hover:not(.goog-toolbar-combo-button-open) .goog-toolbar-combo-button-input{border-right-color:transparent!important}.goog-toolbar[role="toolbar"] .docs-font-size-inc-dec-action-button.goog-toolbar-button .docs-icon{height:22px;margin:0;vertical-align:baseline;width:22px}.docs-gm .goog-menu.goog-menu-noicon.docs-font-size-inc-dec-menu .goog-menuitem{min-width:39px;padding-right:0;padding-left:0;text-align:center}.hsv,.hsva{position:relative;width:182px;height:185px}.hsv label span,.hsva label span{display:none}.hsv-hs-backdrop,.hsv-hs-image,.hsva-hs-backdrop,.hsva-hs-image{position:absolute;top:45px;left:10px;width:128px;height:128px;border:1px solid #999}.hsv-hs-backdrop,.hsva-hs-backdrop{background-color:#000}.hsv-hs-image,.hsv-v-image,.hsv-hs-handle,.hsv-v-handle,.hsva-hs-image,.hsva-v-image,.hsva-a-image,.hsva-hs-handle,.hsva-v-handle,.hsva-a-handle,.hsva-swatch-backdrop{background-image:url(//ssl.gstatic.com/docs/drawings/images/hsva-sprite-sm.png)}.hsv-noalpha .hsv-hs-image,.hsv-noalpha .hsv-v-image,.hsv-noalpha .hsv-hs-handle,.hsv-noalpha .hsv-v-handle,.hsva-noalpha .hsva-hs-image,.hsva-noalpha .hsva-v-image,.hsva-noalpha .hsva-a-image,.hsva-noalpha .hsva-hs-handle,.hsva-noalpha .hsva-v-handle,.hsva-noalpha .hsva-a-handle,.hsva-noalpha .hsva-swatch-backdrop{background-image:url(//ssl.gstatic.com/docs/drawings/images/hsva-sprite-sm.gif)}.hsv-hs-image,.hsva-hs-image{background-position:0 0}.hsv-hs-handle,.hsva-hs-handle{position:absolute;left:5px;top:40px;width:11px;height:11px;overflow:hidden;background-position:0 -128px}.hsv-v-image,.hsva-v-image,.hsva-a-image{position:absolute;top:45px;left:155px;width:9px;height:128px;border:1px solid #999;background-color:#fff;background-position:-128px 0}.hsv-v-handle,.hsva-v-handle,.hsva-a-handle{position:absolute;top:40px;left:148px;width:25px;height:11px;background-position:-11px -128px;overflow:hidden}.hsv-swatch,.hsva-swatch,.hsva-swatch-backdrop{position:absolute;top:10px;right:auto;left:10px;width:30px;height:22px;border:1px solid #999;background-color:#fff}.hsv-input,.hsva-input{position:absolute;top:10px;right:auto;left:50px;width:75px}.hsva{width:205px}.hsva-a-image{left:182px;background-position:-137px 0}.hsva-a-handle{left:175px}.hsva-swatch,.hsva-swatch-backdrop{background-position:-36px -128px}.hsva-swatch{z-index:5}.hsva-swatch-backdrop{z-index:1}.docs-loading-animation{width:28px;height:6px;position:absolute;margin:auto;bottom:0;left:0;right:0;top:0}.docs-loading-animation-dot-1,.docs-loading-animation-dot-2,.docs-loading-animation-dot-3{background-color:rgba(0,0,0,.2);border-radius:6px;display:inline-block;height:6px;position:absolute;width:6px}.docs-loading-animation-dot-1{-webkit-animation:docs-loading-animation-pulse 1s ease-in-out infinite 0s;-moz-animation:docs-loading-animation-pulse 1s ease-in-out infinite 0s;-o-animation:docs-loading-animation-pulse 1s ease-in-out infinite 0s;animation:docs-loading-animation-pulse 1s ease-in-out infinite 0s;left:0}.docs-loading-animation-dot-2{-webkit-animation:docs-loading-animation-pulse 1s ease-in-out infinite .33s;-moz-animation:docs-loading-animation-pulse 1s ease-in-out infinite .33s;-o-animation:docs-loading-animation-pulse 1s ease-in-out infinite .33s;animation:docs-loading-animation-pulse 1s ease-in-out infinite .33s;left:50%;margin-left:-3px}.docs-loading-animation-dot-3{-webkit-animation:docs-loading-animation-pulse 1s ease-in-out infinite .66s;-moz-animation:docs-loading-animation-pulse 1s ease-in-out infinite .66s;-o-animation:docs-loading-animation-pulse 1s ease-in-out infinite .66s;animation:docs-loading-animation-pulse 1s ease-in-out infinite .66s;right:0}@-webkit-keyframes docs-loading-animation-pulse{0%,40%,100%{background-color:rgba(0,0,0,.2);-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}15%{background-color:rgba(0,0,0,1);-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}}@keyframes docs-loading-animation-pulse{0%,40%,100%{background-color:rgba(0,0,0,.2);-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}15%{background-color:rgba(0,0,0,1);-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}}.mobile-apps-promo-base{border-radius:8px!important;bottom:48px!important;height:248px;left:auto!important;right:48px!important;top:auto!important;width:656px}.mobile-apps-promo-base .docs-promo-icon-container{height:200px;margin-left:16px;width:100px}.mobile-apps-promo-base .docs-promo-text-container{height:168px;margin-top:5px;margin-right:8px;width:458px}.mobile-apps-promo-base .docs-promo-header{color:#202124;font-family:'Google Sans';font-size:24px;font-weight:400;max-height:50px}.mobile-apps-promo-base .docs-promo-body{color:#5f6368;font-family:Roboto;font-size:18px;font-weight:100;line-height:24px;max-height:56px;padding-top:16px}.mobile-apps-promo-base .docs-promo-action-row{display:flex;flex-direction:row-reverse;padding-top:35px}.mobile-apps-promo-base .docs-promo-action-container{font-family:'Google Sans';font-size:14px;font-weight:100;letter-spacing:0.25px;line-height:16px;text-transform:none}.mobile-apps-promo-base .docs-promo-action-row .docs-promo-action-button-left{align-items:center;background-color:white;border:1.2px solid #dadce0;border-radius:4px;color:#202124;display:flex;justify-content:center;margin-right:0;max-height:40px;padding:10px 22px 11px 22px;width:58px}.mobile-apps-promo-base .docs-promo-action-row .docs-promo-action-button-right{align-items:center;background:#188038;border:1.2px solid #188038;border-radius:4px;color:#fff;display:flex;justify-content:center;margin-left:0;margin-right:16px;max-height:40px;padding:9px 22.5px 9.5px 23px;width:112px}.mobile-apps-promo-base .docs-promo-action-row .docs-promo-action-button-right:hover{background:#2a8947}.mobile-apps-promo-base .docs-promo-action-row .docs-promo-action-button-left:hover{background:#f1f3f4}.docs-slidingdialog-button-close:focus{outline:1px solid #4d90fe}.docs-gm .docs-slidingdialog-close-container{padding-top:3px;vertical-align:middle}.docs-gm .docs-slidingdialog-close-container .goog-flat-button{cursor:pointer}.docs-gm .docs-slidingdialog .docs-icon-close{opacity:1}.docs-slidingdialog{background-color:#fff;border-bottom:1px solid #d9d9d9;border-top:none;border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;margin-top:-1px;padding:10px 12px;outline:none}.docs-gm .docs-slidingdialog{border-bottom-right-radius:8px;border-bottom-left-radius:8px;padding:16px 12px}.docs-slidingdialog .jfk-textinput{border-top-color:#d9d9d9;margin-right:0}.docs-slidingdialog .jfk-textinput:focus{border-top-color:#4d90fe}.docs-slidingdialog .goog-custom-button-inner-box{padding:1px 2px 0 2px}.docs-slidingdialog .goog-custom-button{margin:-2px 0 0 0}.docs-slidingdialog .docs-icon-up,.docs-slidingdialog .docs-icon-down,.docs-slidingdialog .docs-icon-close,.docs-slidingdialog .docs-icon-ellipsis,.docs-slidingdialog .docs-icon-overflow-three-dots{opacity:.40}.docs-gm .docs-slidingdialog .docs-icon-img{opacity:1}.docs-slidingdialog .jfk-button{vertical-align:top}.docs-slidingdialog .goog-flat-button{background-color:transparent;border:0;cursor:default;margin:0;padding:0}.docs-slidingdialog .goog-flat-button-hover{background-color:transparent}.docs-slidingdialog-holder{margin-top:-1px;overflow:hidden;position:absolute;right:44px;z-index:507;min-width:300px}.docs-slidingdialog-wrapper{left:0;position:relative;width:100%}.jfk-button.docs-submenuitem-splitbutton{background-color:#eee;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;border-bottom-right-radius:0;border-radius:0;border-right:none!important;border-top-right-radius:0;color:#6e6e6e;cursor:pointer;font-size:70%;font-weight:normal;height:57px;left:auto;line-height:59px;margin:0;min-height:26px;min-width:0;padding:0;position:absolute;right:0;top:0;width:34px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0}.goog-menuitem.docs-submenuitem{border:none;border-bottom:1px solid #e6e6e6;height:59px;padding-top:0;padding-bottom:0}.goog-menuitem.docs-submenuitem .goog-menuitem-content{height:59px;line-height:59px}.goog-menuitem.docs-submenuitem .goog-menuitem-checkbox{height:59px;top:0}.docs-squarehandleselectionbox-border{position:absolute;border:1px solid #0096fd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:30;background-color:rgba(0,0,0,0)}.docs-squarehandleselectionbox-handle{position:absolute;border:1px solid #fff;background-color:#0096fd;width:7px;height:7px;font-size:0;z-index:40}.docs-ui-toast{align-items:center;border-radius:2px;display:flex;flex-direction:row;background-color:#323232;bottom:24px;color:white;font-size:14px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;left:24px;line-height:20px;min-width:288px;max-width:568px;outline:none;padding:17px 24px;position:absolute;z-index:999}.docs-gm .docs-ui-toast{background-color:#202124;border-radius:4px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);color:#dadce0;padding:16px 24px}.docs-ui-toast-content{flex-grow:1;flex-shrink:1;display:inline-block}.docs-ui-toast-control-bar{flex-grow:0;flex-shrink:0;color:#a1c2fa;cursor:pointer;display:inline-block;margin-left:24px}.docs-gm .docs-ui-toast-control-bar{color:#34a853}.docs-ui-toast-control{display:inline-block;outline:none;padding-left:10px;font-weight:500}.docs-gm .docs-ui-toast-control{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;text-transform:none}.docs-ui-toast-close-bar{cursor:pointer;display:inline-block;margin-left:24px}.docs-ui-toast-close{display:inline-block;background-color:transparent;border:0}.goog-toolbar-combo-button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background:0;border-color:transparent;border-style:solid;border-width:1px;outline:none;padding:0;height:24px;color:#333;line-height:24px;list-style:none;font-size:11px;font-weight:500;text-decoration:none;vertical-align:middle;cursor:default;top:2px}.goog-toolbar-combo-button-outer-box,.goog-toolbar-combo-button-inner-box{border:0;vertical-align:top}.goog-toolbar-combo-button-outer-box{margin:0;padding:0}.goog-toolbar-combo-button-inner-box{padding:0 2px;margin:0 1px}.goog-toolbar-combo-button-hover{box-shadow:0 1px 1px rgba(0,0,0,.1);background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border-color:#c6c6c6!important;color:#222}.goog-toolbar-combo-button-active{box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#f6f6f6;background-image:-webkit-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:-moz-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:-ms-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:-o-linear-gradient(top,#f6f6f6,#f1f1f1);background-image:linear-gradient(top,#f6f6f6,#f1f1f1);border-color:#c6c6c6}.goog-toolbar-combo-button-open{box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#e0e0e0);background-image:-moz-linear-gradient(top,#eee,#e0e0e0);background-image:-ms-linear-gradient(top,#eee,#e0e0e0);background-image:-o-linear-gradient(top,#eee,#e0e0e0);background-image:linear-gradient(top,#eee,#e0e0e0);border-color:#ccc;color:#222}.goog-toolbar-combo-button-disabled{color:#222!important;opacity:0.3;filter:alpha(opacity=30)}.goog-toolbar-combo-button-dropdown{background:url(//ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png) center no-repeat;float:right;margin:9px 0 0 0px;padding:0 0 0 1px;min-width:7px;opacity:.8;vertical-align:middle;width:5px;height:7px;*float:none;*position:relative;*top:-3px}.goog-toolbar-combo-button-caption{padding:0;margin:0 0 0 -3px}.docs-toolbar-small-separator+div.goog-toolbar-combo-button{margin:4px 1px 0 -1px}.goog-toolbar-combo-button-input{background:transparent;border:1px solid transparent!important;color:#333;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;font-size:12px!important;font-weight:500!important;height:20px!important;overflow:hidden!important}.goog-toolbar-combo-button-hover .goog-toolbar-combo-button-input{border-right:1px solid #d9d9d9!important}.goog-toolbar-combo-button-open .goog-toolbar-combo-button-input{background:transparent;border-right:1px solid transparent!important}.goog-toolbar-combo-button-input:focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);-webkit-user-select:text!important;-moz-user-select:text!important;background:#fff;border:1px solid #4d90fe!important;height:20px;outline:none}.docs-toolbar-zoom-combobox .goog-toolbar-menu-button-caption{overflow:hidden;text-overflow:ellipsis;width:20px;white-space:nowrap}.docs-toolbar-zoom-combobox .goog-toolbar-combo-button-caption{width:48px!important}.docs-toolbar-zoom-combobox .goog-toolbar-combo-button-input{width:28px}.docs-material-dialog{background:#fff;border-radius:2px;border:none;box-shadow:0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12),0px 8px 10px -5px rgba(0,0,0,0.2);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;z-index:1003}.docs-material-dialog-bg{background-color:#000;left:0;position:absolute;top:0;z-index:1002}.docs-material-dialog:focus{outline:none}.docs-material-dialog-title{border-bottom:1px solid rgba(0,0,0,0.12);padding:24px 24px 20px 24px}.docs-material-dialog-title-draggable{cursor:move}.docs-material-dialog-title-text{font:500 21px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding-right:38px}.docs-material-dialog-title-close{border:1px solid transparent;border-radius:2px;box-sizing:border-box;cursor:pointer;display:block;height:20px;opacity:0.54;position:absolute;right:24px;top:26px;width:20px}.docs-material-dialog-title-close:focus{border-color:#4285f4;opacity:1.0;outline:none}.docs-material-dialog-title-close:hover{opacity:1.0}.docs-material-dialog-content{padding:24px}.docs-material-dialog-buttons{float:right;padding:8px 4px 14px 4px}.docs-material-dialog-buttons:after{clear:both;content:"";display:block;height:0;width:0}.docs-material-gm-dialog{background-color:#fff;border:1px solid transparent;border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);position:absolute;z-index:1003}.docs-material-gm-dialog-bg{background-color:#000;left:0;position:absolute;top:0;z-index:1002}.docs-material-gm-dialog:focus{outline:none}.docs-material-gm-dialog-title{border-bottom:none;padding:24px}.docs-material-gm-dialog-title-text{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;line-height:28px}.docs-material-gm-dialog-title-close{height:24px;position:absolute;right:24px;top:26px;width:24px}.docs-material-gm-dialog-content{min-width:312px;padding:0px 24px 24px}.docs-material-gm-dialog-buttons{display:flex;justify-content:flex-end;padding:24px}.docs-material-gm-dialog .docs-material-button-fill-primary.docs-material-button{margin-left:12px;text-transform:none}.docs-material-gm-dialog .docs-material-button-hairline-default.docs-material-button{text-transform:none}.docs-charts-editor-material-color-picker{color:rgba(0,0,0,0.87);cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;line-height:21px;outline:none;width:100%}.docs-charts-editor-material-color-picker-disabled{color:rgba(0,0,0,0.12);cursor:default}.docs-charts-editor-material-color-picker-outer-box{transition:border-color 0.3s ease;border-bottom:1px solid rgba(0,0,0,0.12);margin-bottom:1px;padding-bottom:5px;width:100%}.docs-charts-editor-material-color-picker-hover .docs-charts-editor-material-color-picker-outer-box,.docs-charts-editor-material-color-picker-focused .docs-charts-editor-material-color-picker-outer-box{border-bottom-color:rgba(0,0,0,0.38)}.docs-charts-editor-material-color-picker-open .docs-charts-editor-material-color-picker-outer-box{border-bottom-width:2px;border-bottom-color:#4285f4;margin-bottom:0px}.docs-charts-editor-material-color-picker-inner-box{width:100%}.docs-charts-editor-material-color-picker-disabled .docs-charts-editor-material-color-picker-outer-box{border-bottom:1px dotted rgba(0,0,0,0.12)}.docs-charts-editor-material-color-picker-indicator{border:1px solid rgba(0,0,0,0.12);border-radius:2px;float:left;height:20px;margin-top:6px;position:relative;top:1px;width:20px}.docs-charts-editor-material-color-picker-text{overflow:hidden;padding-left:4px;padding-right:28px;position:relative;text-overflow:ellipsis;top:10px;vertical-align:middle;white-space:nowrap}.docs-charts-editor-material-color-picker-dropdown{position:absolute;right:8px;top:0px}.docs-charts-editor-material-color-picker-dropdown-icon{transition:opacity 0.3s ease;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjMiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDUsMCAyLjUsMyIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;background-size:contain;height:8px;opacity:0.38;position:relative;top:19px;width:8px}.docs-gm .docs-charts-editor-material-color-picker-dropdown-icon{opacity:1}.docs-charts-editor-material-color-picker-hover .docs-charts-editor-material-color-picker-dropdown-icon,.docs-charts-editor-material-color-picker-focused .docs-charts-editor-material-color-picker-dropdown-icon{opacity:0.54}.docs-gm .docs-charts-editor-material-color-picker-hover .docs-charts-editor-material-color-picker-dropdown-icon,.docs-gm .docs-charts-editor-material-color-picker-focused .docs-charts-editor-material-color-picker-dropdown-icon{opacity:1}.docs-charts-editor-material-color-picker-disabled .docs-charts-editor-material-color-picker-dropdown-icon{opacity:0.12}.docs-gm .docs-charts-editor-material-color-picker-disabled .docs-gm .docs-charts-editor-material-color-picker-dropdown-icon{opacity:.38}.docs-charts-editor-material-combo-box{height:26px;line-height:26px;outline:0;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box{height:42px;line-height:42px}.docs-charts-editor-material-combo-box-disabled{cursor:default}.docs-charts-editor-material-combo-box .docs-charts-editor-material-combo-box-outer-box{transition:border-color 0.3s ease;border-bottom:1px solid rgba(0,0,0,0.12);height:26px;line-height:26px;margin-bottom:1px;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box .docs-charts-editor-material-combo-box-outer-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%;height:42px;line-height:42px;padding:8px}.docs-charts-editor-material-combo-box-hover .docs-charts-editor-material-combo-box-outer-box,.docs-charts-editor-material-combo-box-focused .docs-charts-editor-material-combo-box-outer-box{border-bottom-color:rgba(0,0,0,0.38)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-hover .docs-charts-editor-material-combo-box-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-focused .docs-charts-editor-material-combo-box-outer-box{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.docs-charts-editor-material-combo-box-open .docs-charts-editor-material-combo-box-outer-box{border-bottom-width:2px;border-bottom-color:#4285f4;margin-bottom:0px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-open .docs-charts-editor-material-combo-box-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-charts-editor-material-combo-box-disabled .docs-charts-editor-material-combo-box-outer-box{border-bottom:1px dotted rgba(0,0,0,0.12)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-disabled .docs-charts-editor-material-combo-box-outer-box{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%;height:100%}.docs-charts-editor-material-combo-box-inner-box{width:100%}.docs-charts-editor-material-combo-box-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-right:28px;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-caption{padding-right:0}.docs-charts-editor-material-combo-box-input,.docs-charts-editor-material-combo-box-input:focus{background:none;border:none;box-shadow:none;color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;padding:0;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-caption .docs-charts-editor-material-combo-box-input,.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-caption .docs-charts-editor-material-combo-box-input:focus{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:none;padding:0}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-disabled .docs-charts-editor-material-combo-box-input{color:rgba(0,0,0,0.26)}.docs-charts-editor-material-combo-box-disabled .docs-charts-editor-material-combo-box-input{background:none;color:rgba(0,0,0,0.12);cursor:default}.docs-charts-editor-material-combo-box-dropdown{position:absolute;right:8px;top:10px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px;position:static}.docs-charts-editor-material-combo-box-dropdown-icon{transition:opacity 0.3s ease;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjMiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDUsMCAyLjUsMyIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;background-size:contain;cursor:pointer;height:8px;opacity:0.38;width:8px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px;opacity:1}.docs-charts-editor-material-combo-box-hover .docs-charts-editor-material-combo-box-dropdown-icon,.docs-charts-editor-material-combo-box-focused .docs-charts-editor-material-combo-box-dropdown-icon{opacity:0.54}.docs-charts-editor-material-combo-box-disabled .docs-charts-editor-material-combo-box-dropdown-icon{opacity:0.12}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-combo-box-disabled .docs-charts-editor-material-combo-box-dropdown-icon{opacity:.26}.docs-charts-editor-material-icon-menu-button{cursor:pointer;height:26px;margin:0;min-width:40px;outline:none;user-select:none}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button{height:auto;min-width:34px}.docs-charts-editor-material-icon-menu-button-disabled{cursor:default}.docs-charts-editor-material-icon-menu-button .docs-icon-img{transition:opacity 200ms cubic-bezier(0.4,0.0,0.2,1);opacity:0.54}.docs-gm .docs-charts-editor-material-icon-menu-button .docs-icon-img{opacity:1.0}.docs-charts-editor-material-icon-menu-button-disabled .docs-icon-img{opacity:0.12}.docs-gm .docs-charts-editor-material-icon-menu-button-disabled .docs-icon-img{opacity:.38}.docs-charts-editor-material-icon-menu-button-outer-box{transition:background 250ms cubic-bezier(0.4,0.0,0.2,1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,0.04);border-radius:1px;height:26px;line-height:26px;margin-right:4px;padding:0px 4px;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-outer-box{background:#fff;border:2px solid #fff;border-radius:4px;height:100%;line-height:34px;margin-right:0;padding:0}.docs-charts-editor-material-icon-menu-button-open .docs-charts-editor-material-icon-menu-button-outer-box{background:rgba(0,0,0,0.12)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-open .docs-charts-editor-material-icon-menu-button-outer-box{background:#e6f4ea}.docs-charts-editor-material-icon-menu-button-inner-box{width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-caption{margin-left:2px}.docs-charts-editor-material-icon-menu-button-dropdown{position:absolute;right:0;top:0}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-dropdown{left:15px}.docs-charts-editor-material-icon-menu-button-dropdown-icon{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjMiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDUsMCAyLjUsMyIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;background-size:contain;height:8px;opacity:0.54;position:relative;top:9px;width:8px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;opacity:1;width:18px}.docs-charts-editor-material-icon-menu-button-focused .docs-charts-editor-material-icon-menu-button-dropdown-icon,.docs-charts-editor-material-icon-menu-button-open .docs-charts-editor-material-icon-menu-button-dropdown-icon{opacity:0.87}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-open .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-gm .docs-charts-editor-material-icon-menu-button-focused .docs-gm .docs-charts-editor-material-icon-menu-button-dropdown-icon,.docs-gm .docs-charts-editor-material-icon-menu-button-open .docs-gm .docs-charts-editor-material-icon-menu-button-dropdown-icon{opacity:1}.docs-charts-editor-material-icon-menu-button-disabled .docs-charts-editor-material-icon-menu-button-dropdown-icon{opacity:0.12}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-icon-menu-button-disabled .docs-charts-editor-material-icon-menu-button-dropdown-icon{opacity:.26}.docs-gm .docs-charts-editor-material-icon-menu-button-disabled .docs-gm .docs-charts-editor-material-icon-menu-button-dropdown-icon{opacity:.38}.docs-charts-editor-material-menu-button{color:rgba(0,0,0,0.87);cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;outline:0;width:100%}.docs-charts-editor-material-menu-button-disabled{color:rgba(0,0,0,0.12);cursor:default}.docs-charts-editor-material-menu-button-outer-box{transition:border-color 0.3s ease;border-bottom:1px solid rgba(0,0,0,0.12);height:26px;line-height:26px;margin-bottom:1px;width:100%}.docs-charts-editor-material-menu-button-hover .docs-charts-editor-material-menu-button-outer-box,.docs-charts-editor-material-menu-button-focused .docs-charts-editor-material-menu-button-outer-box{border-bottom-color:rgba(0,0,0,0.38)}.docs-charts-editor-material-menu-button-open .docs-charts-editor-material-menu-button-outer-box{border-bottom-width:2px;border-bottom-color:#4285f4;margin-bottom:0px}.docs-charts-editor-material-menu-button-disabled .docs-charts-editor-material-menu-button-outer-box{border-bottom:1px dotted rgba(0,0,0,0.12)}.docs-charts-editor-material-menu-button-inner-box{display:flex;width:100%}.docs-charts-editor-material-menu-button-caption{display:inline-block;line-height:26px;overflow:hidden;padding-right:28px;position:relative;text-overflow:ellipsis;white-space:nowrap;-ms-flex:1;-webkit-flex:1;flex:1}.docs-charts-editor-material-menu-button-dropdown{position:absolute;right:8px;top:10px;white-space:nowrap}.docs-charts-editor-material-menu-button-dropdown-icon{transition:opacity 0.3s ease;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjMiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDUsMCAyLjUsMyIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;background-size:contain;height:8px;opacity:0.38;width:8px}.docs-charts-editor-material-menu-button-hover .docs-charts-editor-material-menu-button-dropdown-icon,.docs-charts-editor-material-menu-button-focused .docs-charts-editor-material-menu-button-dropdown-icon{opacity:0.54}.docs-gm .docs-charts-editor-material-menu-button-hover .docs-charts-editor-material-menu-button-dropdown-icon,.docs-gm .docs-charts-editor-material-menu-button-focused .docs-charts-editor-material-menu-button-dropdown-icon{opacity:1}.docs-charts-editor-material-menu-button-disabled .docs-charts-editor-material-menu-button-dropdown-icon{opacity:0.12}.docs-gm .docs-charts-editor-material-menu-button-disabled .docs-gm .docs-charts-editor-material-menu-button-dropdown-icon{opacity:.38}.docs-charts-editor-material-text-area textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:border-bottom-color 0.3s ease;background:none;border:none;border-bottom:1px solid rgba(0,0,0,0.12);color:rgba(0,0,0,0.87);font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;min-height:26px;outline:none;padding:0;width:100%;resize:none;white-space:pre;overflow-wrap:normal;overflow-y:scroll;overflow-x:hidden}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-text-area textarea{transition:border-color 0.3s ease;color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;height:42px;line-height:36px;min-height:42px}.docs-charts-editor-material-text-area textarea::placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-area textarea::-webkit-input-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-area textarea::-moz-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-area textarea:-ms-input-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-area textarea::-ms-input-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-area textarea:hover,.docs-charts-editor-material-text-area-hover textarea{border-bottom-color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-area textarea:focus,.docs-charts-editor-material-text-area-focus textarea{box-shadow:none;border:none;border-bottom:2px solid #4285f4}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-text-area textarea:focus,.docs-charts-editor-material-text-area-focus textarea{border:2px solid #4285f4}.docs-charts-editor-material-text-area textarea:disabled,.docs-charts-editor-material-text-area-disabled textarea{background:none;border-bottom:1px dotted rgba(0,0,0,0.12);color:rgba(0,0,0,0.12)}.docs-charts-editor-material-textbutton{transition:background 200ms cubic-bezier(0.4,0.0,0.2,1);background:rgba(0,0,0,0.04);border-radius:2px;cursor:pointer;height:26px;margin-right:4px;outline:none;padding:4px;text-align:center}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;height:24px;padding:3px 12px 5px;margin-right:0}.docs-charts-editor-material-textbutton-label{color:#2196f3;font-size:12px;text-transform:uppercase}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton-label{color:#188038;font-size:14px;letter-spacing:.25px;line-height:14px;text-transform:none}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton-disabled .docs-charts-editor-material-textbutton-label{color:#3c4043;opacity:.38}.docs-charts-editor-material-textbutton-outer-box{vertical-align:-webkit-baseline-middle}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton-outer-box{vertical-align:baseline}.docs-charts-editor-material-textbutton-hover,.docs-charts-editor-material-textbutton-focused{}.docs-charts-editor-material-textbutton-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important;height:24px;padding:3px 12px 5px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important;height:24px;padding:3px 12px 5px}.docs-charts-editor-material-textbutton-checked{background:rgba(0,0,0,0.12)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton-checked{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);height:24px;padding:3px 12px 5px}.docs-charts-editor-material-textbutton-disabled{cursor:default}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-textbutton-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;height:24px;padding:3px 12px 5px}.docs-charts-editor-material-textbutton .docs-icon-img{transition:opacity 200ms cubic-bezier(0.4,0.0,0.2,1);opacity:0.54}.docs-gm .docs-charts-editor-material-textbutton .docs-icon-img{opacity:1}.docs-charts-editor-material-textbutton-focused .docs-icon-img,.docs-charts-editor-material-textbutton-checked .docs-icon-img{opacity:0.87}.docs-gm .docs-charts-editor-material-textbutton-focused .docs-icon-img,.docs-gm .docs-charts-editor-material-textbutton-checked .docs-icon-img{opacity:1}.docs-charts-editor-material-textbutton-disabled .docs-icon-img{opacity:0.12}.docs-gm .docs-charts-editor-material-textbutton-disabled .docs-icon-img{opacity:.38}.docs-charts-editor-material-text-input input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:border-bottom-color 0.3s ease;background:none;border:none;border-bottom:1px solid rgba(0,0,0,0.12);color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;outline:none;padding:0;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-text-input .jfk-textinput{transition:border-color 0.3s ease;height:42px;line-height:42px;margin:0}.docs-charts-editor-material-text-input input::placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-input input::-webkit-input-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-input input::-moz-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-input input:-ms-input-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-input input::-ms-input-placeholder{color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-input input:hover,.docs-charts-editor-material-text-input-hover input{border-bottom-color:rgba(0,0,0,0.38)}.docs-charts-editor-material-text-input input:focus,.docs-charts-editor-material-text-input-focus input{box-shadow:none;border:none;border-bottom:2px solid #4285f4}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-text-input input:focus,.docs-charts-editor-material-text-input-focus input{box-shadow:none;border:2px solid #4285f4}.docs-charts-editor-material-text-input input:disabled,.docs-charts-editor-material-text-input-disabled input{background:none;border-bottom:1px dotted rgba(0,0,0,0.12);color:rgba(0,0,0,0.12)}.docs-charts-editor-material-togglebutton{transition:background 200ms cubic-bezier(0.4,0.0,0.2,1);background:rgba(0,0,0,0.04);border-radius:2px;cursor:pointer;height:26px;line-height:26px;margin-right:4px;outline:none;text-align:center;width:26px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-togglebutton{background:#fff;border:2px solid #fff;border-radius:4px;height:34px;line-height:34px;margin-right:0;width:30px}.docs-charts-editor-material-togglebutton-hover,.docs-charts-editor-material-togglebutton-focused{}.docs-charts-editor-material-togglebutton-checked{background:rgba(0,0,0,0.12)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-togglebutton-checked{background:#e6f4ea}.docs-charts-editor-material-togglebutton-checked.docs-charts-editor-material-togglebutton-hover,.docs-charts-editor-material-togglebutton-checked.docs-charts-editor-material-togglebutton-focused{}.docs-charts-editor-material-togglebutton-checked.docs-charts-editor-material-togglebutton-active{}.docs-charts-editor-material-togglebutton-disabled{cursor:default}.docs-charts-editor-material-togglebutton .docs-icon-img{transition:opacity 200ms cubic-bezier(0.4,0.0,0.2,1);opacity:0.54}.docs-gm .docs-charts-editor-material-togglebutton .docs-icon-img{opacity:1}.docs-charts-editor-material-togglebutton-focused .docs-icon-img,.docs-charts-editor-material-togglebutton-checked .docs-icon-img{opacity:0.87}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-togglebutton-checked .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-gm .docs-charts-editor-material-togglebutton-focused .docs-icon-img,.docs-gm .docs-charts-editor-material-togglebutton-checked .docs-icon-img{opacity:1}.docs-charts-editor-material-togglebutton-disabled .docs-icon-img{opacity:0.12}.docs-gm .docs-charts-editor-material-togglebutton-disabled .docs-icon-img{opacity:.38}.docs-charts-editor-material-toolbar-color-picker{cursor:pointer;height:26px;min-width:40px;outline:none;user-select:none}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker{color:#3c4043;outline:none;width:100%;height:42px;max-width:100%;width:auto}.docs-charts-editor-material-toolbar-color-picker-disabled{cursor:default}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-charts-editor-material-toolbar-color-picker-outer-box{transition:background 250ms cubic-bezier(0.4,0.0,0.2,1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,0.04);border-radius:2px;height:100%;padding:2px 4px;width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-outer-box{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%;background:#fff;max-width:100%;width:auto}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-hover .docs-charts-editor-material-toolbar-color-picker-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-outer-box{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-outer-box{background:rgba(0,0,0,0.12)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-charts-editor-material-toolbar-color-picker-inner-box{width:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%;height:100%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-content-container{width:80%}.docs-charts-editor-material-toolbar-color-picker-indicator{border-bottom:3px solid transparent;height:18px;width:22px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-indicator{height:22px;width:22px;border-radius:50%;border:1px solid #dadce0;margin:0;outline:none}.docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-indicator{opacity:0.12}.docs-gm .docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-indicator{opacity:.38}.docs-charts-editor-material-toolbar-color-picker-indicator .docs-icon{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);-webkit-transform:scale(0.9);-moz-transform:scale(0.9);-ms-transform:scale(0.9);-o-transform:scale(0.9);transform:scale(0.9);height:14px;left:1px;opacity:0.54;width:18px}.docs-gm .docs-charts-editor-material-toolbar-color-picker-indicator .docs-icon{opacity:1}.docs-charts-editor-material-toolbar-color-picker-focused .docs-charts-editor-material-toolbar-color-picker-indicator .docs-icon,.docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-indicator .docs-icon{opacity:0.87}.docs-gm .docs-charts-editor-material-toolbar-color-picker-focused .docs-charts-editor-material-toolbar-color-picker-indicator .docs-icon,.docs-gm .docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-indicator .docs-icon{opacity:1}.docs-charts-editor-material-toolbar-color-picker-text{transition:color 250ms cubic-bezier(0.4,0.0,0.2,1);color:rgba(0,0,0,0.54);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;padding:3px 8px 3px 2px;top:1px}.docs-gm .docs-charts-editor-material-toolbar-color-picker-text{color:rgba(0,0,0,0.87)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-text{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:100%;padding:3px 5px;max-width:65%}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-caption{height:100%}.docs-charts-editor-material-toolbar-color-picker-focused .docs-charts-editor-material-toolbar-color-picker-text,.docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-text{color:rgba(0,0,0,0.87)}.docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-text{color:rgba(0,0,0,0.12)}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-text{color:rgba(0,0,0,0.26)}.docs-charts-editor-material-toolbar-color-picker-dropdown{float:right}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-charts-editor-material-toolbar-color-picker-dropdown-icon{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjMiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDUsMCAyLjUsMyIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==") no-repeat;background-size:contain;height:8px;opacity:0.54;position:relative;top:9px;width:8px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px;opacity:1;top:0}.docs-charts-editor-material-toolbar-color-picker-focused .docs-charts-editor-material-toolbar-color-picker-dropdown-icon,.docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-dropdown-icon{opacity:0.87}.docs-gm .docs-charts-editor-material-toolbar-color-picker-focused .docs-charts-editor-material-toolbar-color-picker-dropdown-icon,.docs-gm .docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-dropdown-icon{opacity:1}.docs-gm .waffle-gm-sidebar .docs-charts-editor-material-toolbar-color-picker-open .docs-charts-editor-material-toolbar-color-picker-dropdown-icon{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-dropdown-icon{opacity:0.12}.docs-gm .docs-charts-editor-material-toolbar-color-picker-disabled .docs-charts-editor-material-toolbar-color-picker-dropdown-icon{opacity:.38}.docs-charts-editor-overflow-menu-button{outline:none;cursor:pointer}.docs-charts-editor-overflow-menu-button-icon{transition:opacity 0.3s ease;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgdmlld2JveD0iMCAwIDIwIDIwIiBoZWlnaHQ9IjIwIj48cGF0aCBkPSJtMTAgNmMxLjEgMCAyLTAuOSAyLTJzLTAuOS0yLTItMi0yIDAuOS0yIDIgMC45IDIgMiAyem0wIDJjLTEuMSAwLTIgMC45LTIgMnMwLjkgMiAyIDIgMi0wLjkgMi0yLTAuOS0yLTItMnptMCA2Yy0xLjEgMC0yIDAuOS0yIDJzMC45IDIgMiAyIDItMC45IDItMi0wLjktMi0yLTJ6Ii8+PC9zdmc+") no-repeat;opacity:0.38;height:21px;position:relative;right:5px;top:6px;width:21px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-overflow-menu-button-icon{right:12px;top:7px}.docs-charts-editor-overflow-menu-button-hover .docs-charts-editor-overflow-menu-button-icon,.docs-charts-editor-overflow-menu-button-focused .docs-charts-editor-overflow-menu-button-icon{opacity:0.54}.docs-charts-editor-overflow-menu-button-disabled .docs-charts-editor-overflow-menu-button-icon{opacity:0.12}.docs-charts-editor-overflow-menu-button-caption{min-height:21px;overflow:hidden;padding-right:28px;position:absolute;text-overflow:ellipsis;top:10px;white-space:nowrap}.docs-charts-editor-material-icon-menu-button-palette .toolbar-icon,.docs-charts-editor-material-icon-menu-button-palette .docs-common-icon{margin:3px 5px 4px 2px}.docs-charts-editor-material-icon-menu-button-palette .goog-palette-cell{border:0}.docs-charts-editor-material-icon-menu-button-palette .goog-palette-table{border:0;margin:0 4px}.docs-charts-editor-material-icon-menu-button-palette .goog-palette-cell-hover{background:#eeeeee}.docs-charts-editor-chip-content{display:flex;background-color:#f1f3f4;border-radius:32px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:32px;overflow:hidden;position:relative;white-space:nowrap}.docs-gm .waffle-gm-sidebar .docs-charts-editor-chip-content{border-radius:36px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:36px}.docs-charts-editor-chip-content>*{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.docs-charts-editor-chip-label{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;cursor:default;line-height:32px;margin-left:16px;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.docs-gm .waffle-gm-sidebar .docs-charts-editor-chip-label{line-height:36px;margin-right:10px}.docs-charts-editor-chip-button{box-shadow:none;cursor:pointer;margin:0;min-width:0;outline:0;padding:0;position:absolute;right:0}.docs-charts-editor-chip.docs-charts-editor-chip-invalid .docs-charts-editor-chip-content{border:1px solid #db4437}.docs-charts-editor-chip.docs-charts-editor-chip-invalid .docs-charts-editor-chip-error-message{display:block}.docs-charts-editor-chip-error-message{color:#db4437;display:none;font-size:11px;left:8px;position:relative;top:3px}.docs-charts-editor-collapsible-header{transition:color 250ms cubic-bezier(0.4,0.0,0.2,1);color:rgba(0,0,0,0.54);cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;height:42px;line-height:42px;position:relative}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-header{background-color:#f8f9fa;color:#80868b;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:56px;line-height:56px}.docs-charts-editor-collapsible-header.goog-control-open{color:rgba(0,0,0,0.87)}.docs-charts-editor-collapsible-header.goog-control-disabled{color:rgba(0,0,0,0.26);cursor:default}.docs-charts-editor-collapsible-header.goog-control-focused{color:rgba(0,0,0,0.87);outline:none}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-header.goog-control-focused{color:#3c4043}.docs-charts-editor-collapsible-title{height:42px;line-height:42px;margin:0 2px 0 16px;overflow:hidden;text-overflow:ellipsis;width:190px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-title{height:56px;line-height:56px;padding:0 36px}.docs-charts-editor-collapsible-summary{color:rgba(0,0,0,0.54);height:42px;line-height:42px;overflow:hidden;position:absolute;right:42px;text-align:right;text-overflow:ellipsis;width:115px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-summary{height:56px;line-height:56px}.goog-control-disabled .docs-charts-editor-collapsible-summary{color:#888}.docs-charts-editor-collapsible-icon{transition:all 250ms cubic-bezier(0.4,0.0,0.2,1);background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48ZyBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpub25lIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5IDkpc2NhbGUoMSAtMSl0cmFuc2xhdGUoLTkgLTkpIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiLz48cG9seWdvbiBwb2ludHM9IjkgNSAzIDExIDQuNCAxMi40IDkgNy44IDEzLjYgMTIuNCAxNSAxMSIgZmlsbD0iIzAwMCIvPjwvZz48L2c+PC9zdmc+");height:18px;opacity:0.54;position:absolute;right:16px;top:11px;width:18px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-icon{background:none;height:20px;left:16px;top:20px;transform:rotate(-90deg);width:20px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-icon .docs-icon{height:20px;vertical-align:top;width:20px}.goog-control-checked .docs-charts-editor-collapsible-icon{opacity:0.87;transform:rotate(-180deg)}.docs-gm .waffle-gm-sidebar .goog-control-checked .docs-charts-editor-collapsible-icon{top:14px;transform:none}.docs-gm .waffle-gm-sidebar .goog-control-focused .docs-charts-editor-collapsible-icon{opacity:0.87}.goog-control-disabled .docs-charts-editor-collapsible-icon{display:none}.docs-charts-editor-collapsible-content{transition:max-height 0.25s cubic-bezier(0.4,0.0,0.2,1);overflow:hidden}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-content{background-color:#fff}.docs-charts-editor-collapsible-content-animating{transition:none}.docs-charts-editor-collapsible-content>div{padding:0 16px 6px 16px}.docs-charts-editor-collapsible-content.docs-charts-editor-collapsible-content-no-padding>div{padding:0}.docs-gm .waffle-gm-sidebar .docs-charts-editor-customize-tab .docs-charts-editor-bundle.docs-charts-editor-parent-bundle>.docs-charts-editor-collapsible-opened{box-shadow:0 1px 3px 1px rgba(60,64,67,.15);border:2px solid #fff;border-radius:8px}.docs-gm .waffle-gm-sidebar .docs-charts-editor-collapsible-opened .docs-charts-editor-collapsible-header{background-color:#fff;color:#3c4043}.docs-charts-editor-back-tab-header-back{float:left;margin:6px 7px 0 7px;right:auto}.docs-gm .docs-material .docs-charts-editor-back-tab-header-back .docs-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-charts-editor-back-tab-header-title.jfk-button.docs-sidebar-toggle-tab{text-align:left;width:270px}.docs-charts-editor-back-tab-header.docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab>div{overflow:hidden;text-overflow:ellipsis;width:100%}.docs-charts-editor-back-tab-header .docs-charts-editor-back-tab-header-title.jfk-button.docs-sidebar-toggle-tab-active>div:after{border-bottom:none}.docs-charts-editor-editorslider-hide{display:none}.docs-charts-editor-editorslider-slide-in-right{animation-duration:0.3s;animation-name:docs-charts-editor-editorslider-slide-in-right;animation-timing-function:ease;transform:translateX(0%)}.docs-charts-editor-editorslider-slide-out-right{animation-duration:0.3s;animation-name:docs-charts-editor-editorslider-slide-out-right;animation-timing-function:ease;transform:translateX(100%)}@keyframes docs-charts-editor-editorslider-slide-in-right{from{transform:translateX(100%)}to{transform:translateX(0%)}}@keyframes docs-charts-editor-editorslider-slide-out-right{from{transform:translateX(0%)}to{transform:translateX(100%)}}.docs-charts-editor-labeledinput-error{color:#db4437;display:none;font-size:11px;margin-bottom:4px;margin-top:4px}.docs-charts-editor-labeledinput-haserror .docs-charts-editor-labeledinput-error{display:block}.docs-gm .waffle-gm-sidebar .docs-charts-editor-labeledinput-haserror input:hover{border-color:#c53929}.docs-charts-editor-labeledinput-haserror input,.docs-charts-editor-labeledinput-haserror input:focus{border-bottom:2px solid #db4437}.docs-gm .waffle-gm-sidebar .docs-charts-editor-labeledinput-haserror input,.docs-gm .waffle-gm-sidebar .docs-charts-editor-labeledinput-haserror input:focus{border:2px solid #db4437}.docs-charts-editor-labeledinput-haserror input:hover:not(:focus){border-bottom-color:#c53929}.docs-charts-editor-labeledselect-menu-style-wide{width:255px}.docs-charts-editor-labeledselect-menu-style-narrow{width:146px}.docs-gm .waffle-gm-sidebar .docs-material-gm-labeled-select-disabled .docs-material-gm-labeled-select-caption{color:rgba(0,0,0,0.26)}.docs-gm .waffle-gm-sidebar .docs-material-gm-labeled-select-disabled .docs-material-gm-labeled-select-dropdown-icon{opacity:.26}.docs-gm .waffle-gm-sidebar .docs-charts-editor-customize-tab .docs-charts-editor-bundle.docs-charts-editor-parent-bundle>.docs-charts-editor-noncollapsible-section.docs-charts-editor-collapsible-opened{border:none;border-radius:0;box-shadow:none}.docs-gm .waffle-gm-sidebar .docs-charts-editor-noncollapsible-section .docs-charts-editor-collapsible-header{color:#3c4043;cursor:default;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:auto;line-height:1;padding-bottom:0.5em;padding-top:1.5em}.docs-gm .waffle-gm-sidebar .docs-charts-editor-noncollapsible-section .docs-charts-editor-collapsible-title{height:auto;line-height:1;padding-left:0;overflow:visible}.docs-explore-icon{direction:ltr;text-align:left;overflow:hidden;position:relative;vertical-align:middle}.docs-explore-img:before{content:url(//ssl.gstatic.com/docs/common/menu_feature_sprite7.svg)}.docs-explore-img{height:4332px;position:absolute;width:72px}.docs-explore-hc-gecko .docs-explore-icon{filter:invert(100%)}.docs-explore-hc-ie .docs-explore-icon{-ms-high-contrast-adjust:none;background-color:white}.docs-explore-auto-awesome-grey{left:0;top:-4314px}.docs-explore-back-white{left:0;top:-4194px}.docs-explore-back-white-rtl{left:-36px;top:-640px}.docs-explore-cite-black{left:-42px;top:-2992px}.docs-explore-cite-black-18{left:-48px;top:-4128px}.docs-explore-docs-18{left:0;top:-2974px}.docs-explore-drawing-18{left:-50px;top:-3034px}.docs-explore-email-18{left:-36px;top:-3946px}.docs-explore-excel-18{left:-24px;top:-4128px}.docs-explore-expand-down{left:0;top:-1748px}.docs-explore-expand-up{left:0;top:-164px}.docs-explore-file-18{left:0;top:-1080px}.docs-explore-filter-button-black-18{left:0;top:-434px}.docs-explore-folder-18{left:-20px;top:-4194px}.docs-explore-form-18{left:-18px;top:-1122px}.docs-explore-forward-arrow-black{left:0;top:-4170px}.docs-explore-forward-arrow-black-rtl{left:-18px;top:-988px}.docs-explore-google-logo{left:-24px;top:-3840px}.docs-explore-group-blue-18{left:-18px;top:-4314px}.docs-explore-group-black-18{left:0;top:-1122px}.docs-explore-image-18{left:-24px;top:-164px}.docs-explore-insert-black{left:0;top:-3840px}.docs-explore-insert-black-18{left:-18px;top:-640px}.docs-explore-keep-yellow-18{left:0;top:-3658px}.docs-explore-lock-black-18{left:-50px;top:-2474px}.docs-explore-more-black{left:-48px;top:-4146px}.docs-explore-pdf-18{left:0;top:-988px}.docs-explore-powerpoint-18{left:-18px;top:-3946px}.docs-explore-preview-white{left:0;top:-4128px}.docs-explore-question-green{left:-50px;top:-2454px}.docs-explore-search-black{left:-18px;top:-2992px}.docs-explore-search-close-white{left:0;top:-1098px}.docs-explore-search-history-black{left:0;top:-452px}.docs-explore-sheets-18{left:-36px;top:-4314px}.docs-explore-sites-18{left:0;top:-1944px}.docs-explore-slides-18{left:-24px;top:-1098px}.docs-explore-thumb-down-18{left:-50px;top:-3052px}.docs-explore-thumb-up-18{left:0;top:-2522px}.docs-explore-video-18{left:0;top:-3946px}.docs-explore-word-18{left:-50px;top:-3016px}.docs-explore-show-more-14{left:0;top:-4152px}.docs-explore-promo-icon-wrapper{background-color:white;border-radius:50px;display:flex;height:100px;left:-46px;position:absolute;top:-36px;width:100px}.docs-explore-promo-icon{cursor:pointer;display:block;margin:auto}.waffle-assistant-entry{background-color:rgba(255,255,255,0.8);border:none;border-left:1px solid #c2c2c2;float:right;height:38px;padding-right:10px}.waffle-assistant-entry-button{border:1px solid transparent;cursor:pointer;height:34px;transition:padding 0.5s cubic-bezier(0.4,0.0,0.2,1);width:100%}.waffle-assistant-entry-button-icon{display:inline-block;position:relative;padding:7px 0 7px 8px}.waffle-assistant-entry-label{color:#0f9d58;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;overflow:hidden;padding-left:8px;transition:all 0.5s cubic-bezier(0.4,0.0,0.2,1);vertical-align:middle}.waffle-assistant-entry-button-black-icon{display:none;opacity:.54}.waffle-assistant-entry-inactive{border-left:1px solid transparent;background-color:transparent}.waffle-assistant-entry-inactive .waffle-assistant-entry-button-black-icon{display:block}.waffle-assistant-entry-inactive .waffle-assistant-entry-button-green-icon{display:none}.waffle-assistant-entry-inactive .waffle-assistant-entry-label{color:#737373;opacity:0;padding-right:0}.waffle-assistant-entry-expanded{background-color:rgba(255,255,255,0.8);border-left:1px solid #c2c2c2}.waffle-assistant-entry-expanded .waffle-assistant-entry-label{opacity:1;padding-right:6px}.waffle-assistant-entry-opened{background-color:#dadada;border-left:1px solid #c2c2c2;box-shadow:inset 0 0 6px rgba(0,0,0,.22)}.waffle-assistant-entry-opened .waffle-assistant-entry-button-black-icon{display:block}.waffle-assistant-entry-opened .waffle-assistant-entry-button-green-icon{display:none}.waffle-assistant-entry-opened .waffle-assistant-entry-label{color:#737373}.waffle-assistant-link-button{color:#4285f4;display:inline;text-decoration:underline}.waffle-assistant-link-button:hover,.waffle-assistant-link-button:focus{cursor:pointer;text-decoration:underline}.waffle-assistant-link-button:focus{margin:0 2px;outline-color:#4285f4;outline-width:2px}.waffle-assistant-button{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;border:1px solid transparent;border-radius:2px;font-size:11px;font-weight:500;margin-right:0;min-width:40px;opacity:0.8;padding:0;text-align:center;white-space:nowrap}.waffle-assistant-button-focused{border:1px solid #5e97f6;outline:none}.waffle-assistant-button-hover,.waffle-assistant-button-focused,.waffle-assistant-button-holder .waffle-assistant-button.waffle-assistant-button-hover,.waffle-assistant-button-holder .waffle-assistant-button.waffle-assistant-button-focused{cursor:pointer;opacity:1}.waffle-assistant-button-holder .waffle-assistant-button{height:24px;min-width:24px;opacity:0.6;padding:2px}.waffle-assistant-dragged-formula{box-shadow:1px 1px 4px rgba(0,0,0,0.28);background-color:#fff;border:1px solid #e0e0e0;line-height:22px;overflow-wrap:break-word;word-wrap:break-word}.waffle-assistant-formula-insertion-rect{background-color:#000;opacity:0.06}.waffle-assistant-visible{visibility:visible}.docs-ui-toast.waffle-assistant-toast{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:flex;bottom:60px;color:rgba(255,255,255,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;left:auto;line-height:20px;min-width:0;padding:14px 24px;right:15px;width:286px}.waffle-assistant-toast-content{-ms-flex:1;-webkit-flex:1;flex:1;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-assistant-toast-action{color:#a0c1fc;text-transform:uppercase}.waffle-assistant-panel-title-bar{height:20px}.waffle-assistant-panel-back-button{cursor:pointer}.waffle-assistant-panel-back-button-icon{height:20px;margin-bottom:1px}.waffle-assistant-panel-pane{height:100%}.waffle-assistant-sidebar.waffle-sidebar-container{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);background:#f1f1f1;width:320px}.waffle-assistant-title.waffle-sidebar-title{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:height .3s;background-color:#0f9d58;color:#fff;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;line-height:20px;min-height:36px;padding:0px}.waffle-assistant-title .waffle-sidebar-title-close{right:11px;top:6px}.waffle-assistant-title-bar,.waffle-assistant-panel-title-bar{display:flex;-webkit-align-items:center;align-items:center}.waffle-assistant-replaceable-title,.waffle-assistant-title-bar{padding:8px 12px}.waffle-assistant-replaceable-title .waffle-assistant-title-bar{padding:0}.waffle-assistant-title-text{-ms-flex:1;-webkit-flex:1;flex:1;-webkit-align-items:center;align-items:center;font-weight:500;margin-top:4px;padding-left:12px}.waffle-assistant-title-icon{height:20px;position:relative;width:20px}.waffle-assistant-sidebar-content.waffle-sidebar-content{overflow:hidden}.waffle-assistant-scroll-pane{background:#f1f1f1;height:100%;overflow-x:hidden;overflow-y:auto}.waffle-assistant-scroll-pane-content{height:100%}.waffle-assistant-scroll-pane-feature-content{height:100%}.waffle-assistant-expanded-panel{height:100%;width:320px}.waffle-assistant-spinner-container{text-align:center;pointer-events:none;position:absolute;width:100%}.waffle-assistant-expanded-panel .waffle-assistant-spinner-container{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:100%}.waffle-assistant-empty-list{display:flex;background:#fff;color:rgb(46%,46%,46%);height:100%;text-align:center;width:320px}.waffle-assistant-empty-list-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:auto 24px;width:100%}.waffle-assistant-empty-list svg{padding-bottom:24px}.waffle-assistant-empty-list-title{color:rgb(46%,46%,46%);font-size:15px;font-weight:500}.waffle-assistant-empty-list-body{color:rgb(46%,46%,46%);font-size:13px;padding:8px 0}.waffle-assistant-empty-list-link{font-size:13px;font-weight:400;margin:0}.waffle-assistant-empty-list-link span,.waffle-assistant-empty-list-link a{color:#1a73e8;cursor:pointer}.waffle-assistant-empty-list-link a:hover{text-decoration:none}.waffle-assistant-feature-section{box-shadow:0 2px 2px rgba(0,0,0,0.10);background:white;margin-bottom:8px}.waffle-assistant-feature-section:last-child{margin-bottom:0}.waffle-assistant-section-header{display:flex;-webkit-align-items:center;align-items:center;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:16px 16px 0 16px;position:relative;width:288px}.waffle-assistant-section-title{-ms-flex:1;-webkit-flex:1;flex:1;color:rgba(0,0,0,0.54);font-size:13px;font-weight:600;height:15px;line-height:15px;text-transform:uppercase}.jfk-button.waffle-assistant-section-more-button{border:0;color:#1a73e8;cursor:pointer;height:15px;font-size:13px;line-height:15px;margin-right:16px;text-transform:uppercase}.jfk-button.waffle-assistant-section-more-button:focus{border:1px solid #5e97f6;outline:none}.waffle-assistant-section-content{padding-bottom:10px}.waffle-assistant-scroll-pane::-webkit-scrollbar{width:12px}.waffle-assistant-scroll-pane::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#dadce0;border:solid transparent;border-width:1px 1px 1px 2px;box-shadow:none;min-height:28px;padding:1px}.waffle-assistant-scroll-pane::-webkit-scrollbar-thumb:hover{background-color:#bdc1c6;box-shadow:none}.waffle-assistant-scroll-pane::-webkit-scrollbar-thumb:active{background-color:#80868b}.waffle-assistant-scroll-pane::-webkit-scrollbar-track{background-clip:border-box;background-color:#f8f8f8;border:none;border-width:1px;box-shadow:none}.waffle-assistant-scroll-pane::-webkit-scrollbar-track:hover{background-clip:border-box;background-color:#f8f8f8;border:none;border-width:1px;box-shadow:none}.waffle-assistant-form .waffle-assistant-input-edit-button{flex-shrink:0;margin-right:3px}.waffle-assistant-card-feedback{flex-shrink:0;margin-right:3px}.waffle-assistant-card{background:#fff;border-bottom:1px solid #e0e0e0;margin-bottom:8px;outline:0;overflow:hidden;position:relative}.waffle-assistant-feature-section .waffle-assistant-card{margin-bottom:0}.waffle-assistant-panel-pane .waffle-assistant-card{box-shadow:0 2px 2px rgba(0,0,0,0.10)}.waffle-assistant-card-spinner-container{position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.waffle-assistant-card-inner{position:relative}.waffle-assistant-padded-card{padding:15px}.waffle-assistant-button-holder{background-color:rgba(255,255,255,0.7);padding:3px;position:absolute;top:0;z-index:1}.waffle-assistant-dragger-card .waffle-assistant-button-holder,.waffle-assistant-dragger-card .waffle-assistant-chart-highlights,.waffle-assistant-dragger-card .waffle-assistant-facet-section{display:none}.waffle-assistant-card-draggable{cursor:move}.waffle-assistant-readonly .waffle-assistant-card:hover{cursor:default}.waffle-assistant-card-options{-webkit-border-radius:0 0 0 2px;-moz-border-radius:0 0 0 2px;border-radius:0 0 0 2px;box-shadow:-1px 1px 3px #d3d3d3;right:0}.waffle-assistant-padded-card{padding:15px}.waffle-assistant-feedback-card-content{-ms-flex:1;-webkit-flex:1;flex:1;vertical-align:middle;line-height:19px}.waffle-assistant-feedback-card-text{margin:2px 0}.waffle-assistant-feedback-card-custom-msg-placeholder{font-size:10px;font-style:italic;line-height:11px;margin:2px 0}.waffle-assistant-feedback-card{box-shadow:0px 2px 4px rgba(0,0,0,.3);display:flex;background-color:white;cursor:default;margin:5px;max-height:500px;overflow:hidden;padding:15px;width:250px}.waffle-assistant-feedback-card-close-button{-webkit-align-self:flex-start;align-self:flex-start;min-width:auto}.waffle-assistant-card .waffle-assistant-feedback-card{transition:all .1s}.waffle-assistant-dragger-card .waffle-assistant-feedback-card{display:none}.waffle-assistant-card .waffle-assistant-feedback-card-hidden{padding:0 15px 0 15px;margin:0 5px 0 5px;max-height:0}.waffle-assistant-insert-chart-button.jfk-button,.waffle-assistant-zoom-button.jfk-button,.waffle-assistant-thumbs-down-button.jfk-button,.waffle-assistant-thumbs-up-button.jfk-button{cursor:pointer;display:block;height:24px;margin:0 auto 0 auto;min-width:24px;opacity:.6;padding:1px;width:24px}.waffle-assistant-insert-chart-button.jfk-button:hover,.waffle-assistant-zoom-button.jfk-button:hover,.waffle-assistant-thumbs-down-button.jfk-button:hover,.waffle-assistant-thumbs-up-button.jfk-button:hover{opacity:.8}.waffle-assistant-insert-chart-button.jfk-button:active,.waffle-assistant-zoom-button.jfk-button:active,.waffle-assistant-thumbs-down-button.jfk-button:active,.waffle-assistant-thumbs-up-button.jfk-button:active{opacity:1}.waffle-assistant-thumbs-down-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -150px 0;height:24px;width:24px}.waffle-assistant-thumbs-up-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -113px -46px;height:24px;width:24px}.waffle-assistant-button-separator{border-bottom:1px solid #d3d3d3;height:0;margin:3px;width:21px}.waffle-assistant-card-feedback-container{display:flex;-webkit-align-items:flex-end;align-items:flex-end;-webkit-justify-content:center;justify-content:center;background:rgba(0,0,0,0.38);height:100%;position:absolute;width:100%;z-index:1}.waffle-assistant-feedback-card-hidden{display:none!important}.waffle-assistant-thumbs-container,.waffle-assistant-facet-thumbs-container{border-top:1px dashed #e0e0e0;color:#616161}.waffle-assistant-thumbs{display:flex;-webkit-align-items:center;align-items:center;height:40px;line-height:16px;padding:0 15px}.waffle-assistant-thumbs-button-holder{display:flex}.waffle-assistant-thumbs-up-button,.waffle-assistant-thumbs-down-button{min-width:30px!important}.waffle-assistant-thumbs-text{-ms-flex:1;-webkit-flex:1;flex:1;text-transform:uppercase}.waffle-assistant-quicksum-panel{background:#fff;border-bottom:1px solid #e0e0e0;line-height:19px;margin-bottom:8px;padding:15px;position:relative}.waffle-assistant-scroll-pane-feature-content .waffle-assistant-quicksum-panel{box-shadow:0 2px 2px rgba(0,0,0,0.10)}.waffle-assistant-quicksum-entry{border:1px solid transparent;color:#757575;cursor:move;font-family:Roboto,Arial,sans-serif;padding:0 5px}.waffle-assistant-quicksum-entry:hover,.waffle-assistant-quicksum-entry:focus{border:1px solid #5e97f6}.waffle-assistant-quicksum-panel-readonly .waffle-assistant-quicksum-entry:hover,.waffle-assistant-quicksum-panel-readonly .waffle-assistant-quicksum-entry:focus{border:1px solid transparent}.waffle-assistant-quicksum-panel-readonly .waffle-assistant-quicksum-entry{border:1px solid transparent;cursor:default}.waffle-assistant-quicksum-entry-name{font-weight:500;margin-right:10px}.waffle-assistant-quicksum-entry-value{float:right}.waffle-assistant-walkthrough-promo-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:22px;padding:15px 20px;width:300px}.waffle-assistant-walkthrough-promo-header{font-size:20px}.waffle-assistant-walkthrough-promo-button{cursor:pointer;font-size:14px;font-weight:500;text-transform:uppercase}.waffle-assistant-walkthrough-promo-continue-button{color:#5e97f5;margin-right:10px}.waffle-assistant-walkthrough-promo-close-button{margin-left:10px;opacity:0.7}.waffle-april2018-promo-base,.waffle-assistant-entry-promo{background-color:#0f9d58;border-color:#0f9d58;bottom:-500px;right:-450px}.waffle-april2018-promo-content,.waffle-assistant-entry-promo .docs-explore-promo-content{left:-300px;top:-170px;width:360px}.range-border.waffle-assistant-table-range-border{border-color:#0f9d58;border-style:dashed;line-height:0}.waffle-assistant-table-range-rect{background-color:#0f9d58;opacity:0.06;pointer-events:none}.range-border.waffle-assistant-header-range-border{border-color:#f09300;border-style:dashed;line-height:0}.waffle-assistant-header-range-rect{background-color:#f09300;opacity:0.06;pointer-events:none}.waffle-assistant-card .docs-charts-tooltip{font-size:10px;padding:4px 8px;line-height:1.1em}.waffle-assistant-highlight-styled-rect{background-color:#34a853;opacity:0.06;pointer-events:none}.range-border.waffle-assistant-highlight-styled-border{border-color:#34a853;border-style:dashed}.waffle-assistant-highlight-styled-rect-red{background-color:#ea4335;opacity:0.06;pointer-events:none}.range-border.waffle-assistant-highlight-styled-border-red{border-color:#ea4335;border-style:dashed}.waffle-assistant-mouseover-highlight-styled-rect{background-color:#34a853;opacity:0.25;pointer-events:none}.range-border.waffle-assistant-mouseover-highlight-styled-border{border-color:#34a853;border-style:dashed}.waffle-assistant-mouseover-highlight-styled-rect-red{background-color:#ea4335;opacity:0.25;pointer-events:none}.range-border.waffle-assistant-mouseover-highlight-styled-border-red{border-color:#ea4335;border-style:dashed}.waffle-inline-assistant-refresh-banner{background:white;border:0.5px solid transparent;box-shadow:0 -1px 5px rgba(128,134,139,0.09),0px 3px 5px rgba(128,134,139,0.06),0px 1px 2px rgba(60,64,67,0.3),0px 1px 3px rgba(60,64,67,0.15);margin-bottom:8px;overflow:hidden;position:absolute;z-index:10}.waffle-inline-assistant-refresh-text{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:0.3px;line-height:16px;margin:12px 0 12px 16px;width:166px}.waffle-inline-assistant-refresh-text-container{align-items:center;background:#e6f4ea;border-radius:4px;display:flex;flex-wrap:wrap;justify-content:space-between;margin:8px;position:relative;width:284px}.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard,.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard.jfk-button-hover,.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard.jfk-button-focused,.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard.jfk-button-hover.jfk-button-focused{background:none;border:none!important;color:#188038;cursor:pointer;margin-right:8px;max-width:100%;overflow:hidden;padding:8px;text-overflow:ellipsis;white-space:nowrap}.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard.jfk-button-hover,.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard.jfk-button-focused,.waffle-sidebar-container .waffle-inline-assistant-refresh-button.jfk-button-standard.jfk-button-hover.jfk-button-focused{background:rgba(0,0,0,.06)}.waffle-inline-assistant-sidebar-category-cards{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-inline-assistant-sidebar-category-label{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;height:14px;letter-spacing:0.8px;line-height:14px;text-transform:uppercase}.waffle-inline-assistant-sidebar-category-description{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:16px;letter-spacing:0.3px;font-weight:normal;padding:8px 8px 4px 16px}.waffle-inline-assistant-sidebar-intro{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;padding:16px 16px 6px}.waffle-inline-assistant-sidebar-accepted-container{margin:0 20px;text-align:center}.waffle-inline-assistant-sidebar-accept-back{margin-right:0}.waffle-inline-assistant-sidebar-column-filter-dropdown-container{margin-bottom:16px;overflow:hidden;padding-right:15px;position:relative}.waffle-inline-assistant-sidebar-column-filter-dropdown{float:right;margin:auto;width:125px}.docs-material-gm-labeled-select-focused .docs-material-gm-labeled-select-outer-box{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.waffle-inline-assistant-sidebar-column-filter-dropdown .docs-material-gm-labeled-select-outer-box{border-radius:8px;padding:0 6px 0 10px;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-inline-assistant-sidebar-column-filter-dropdown .waffle-view-icons-error-filled{display:none;height:13px;width:13px}.waffle-inline-assistant-sidebar-column-filter-dropdown .filter-active .waffle-view-icons-error-filled{display:block}.waffle-inline-assistant-sidebar-column-filter-dropdown .filter-active .docs-material-gm-labeled-select-outer-box{border:none;background-color:#fce8e6}.waffle-inline-assistant-sidebar-column-filter-dropdown .filter-active.docs-material-gm-labeled-select-focused .docs-material-gm-labeled-select-outer-box{background-color:#fad2cf}.waffle-inline-assistant-sidebar-column-filter-dropdown .filter-active .docs-material-gm-labeled-select-caption{color:#d93025}.waffle-inline-assistant-recommendation-container{align-items:center;border:1px solid #dadce0;border-top:none;display:flex;height:36px;margin:0;outline:none;overflow-x:auto;overflow-y:hidden;position:relative}.waffle-inline-assistant-recommendation-container:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.waffle-inline-assistant-overflow-suggestions .waffle-inline-assistant-recommendation-container:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.waffle-inline-assistant-gridrange-chip{background-color:#f8f9fa;border-right:1px solid #dadce0;box-sizing:border-box;color:#d93025;flex-shrink:0;font-weight:500;height:36px;line-height:36px;overflow:hidden;padding:1px 0;position:relative;text-align:center;width:48px}.waffle-inline-assistant-gridrange-chip.waffle-inline-assistant-gridrange-chip-changed{color:#1a73e8}.waffle-inline-assistant-gridrange-chip.waffle-inline-assistant-gridrange-chip-neutral{color:#3c4043}.waffle-inline-assistant-gridrange-chip-hovered{background-color:rgba(0,0,0,.06)}.waffle-inline-assistant-suggestion-row{flex-grow:1;overflow:hidden;position:relative;white-space:nowrap}.waffle-inline-assistant-suggestion-overflow-action-strip{align-items:center;border:1px solid #dadce0;border-radius:0 0 4px 4px;border-top:none;display:flex;flex-wrap:wrap;justify-content:flex-end;min-height:32px;padding:0 6px;text-align:left}.waffle-inline-assistant-suggestion-overflow-action-strip .waffle-assistant-feedback-button{height:30px}.waffle-inline-assistant-accept-button,.waffle-inline-assistant-ignore-button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-inline-assistant-card-show-more-button{border-radius:100%;color:#3c4043;cursor:pointer;font-size:12px;font-weight:normal;height:24px;letter-spacing:0.3px;margin:0 auto 0 6px;min-width:24px;padding:2px;width:24px}.waffle-inline-assistant-card-show-more-button.jfk-button-checked{transform:rotate(180deg)}.waffle-inline-assistant-card-show-more-button.jfk-button-checked .docs-icon{margin-bottom:5px;margin-right:1px}.waffle-inline-assistant-card-show-more-button.jfk-button-checked:hover{box-shadow:0 -1px 1px rgba(0,0,0,0.1)}.waffle-inline-assistant-card-show-more-button:hover,.waffle-inline-assistant-card-show-more-button:focus{background:rgba(0,0,0,.06)}.waffle-inline-assistant-card-show-more-button:active{background:rgba(0,0,0,0.12)}.waffle-inline-assistant-card-show-more-button .docs-icon{height:24px;margin:0;width:24px;zoom:75%}.waffle-inline-assistant-suggestion-details{border-radius:4px;border-top:1px solid #dadce0;margin:0 14px 16px;outline:none;overflow:hidden}.waffle-inline-assistant-suggestion-details:last-child{margin:0 14px 14px}.waffle-inline-assistant-nf-suggestion{margin-bottom:8px;outline:none}.waffle-inline-assistant-nf-row{align-items:center;border:none;border-radius:0;display:flex;margin:0;overflow:hidden;padding:0 0 0 8px;text-overflow:ellipsis}.waffle-inline-assistant-nf-suggestion-description{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:0.3px;line-height:16px;margin:0 16px 3px}.waffle-inline-assistant-nf-suggestion-text{flex-grow:1;height:36px;padding:1px 0;line-height:36px;overflow:hidden;position:relative;text-overflow:ellipsis;border-radius:4px 0 0 4px;box-sizing:border-box}.waffle-inline-assistant-nf-original-preview{text-decoration:line-through}.waffle-inline-assistant-nf-suggested-preview{color:#188038}.waffle-inline-assistant-nf-check{border-radius:50%;flex-shrink:0;width:27px;min-width:27px;margin:0 3px;padding:2px;cursor:pointer}.waffle-inline-assistant-nf-check.jfk-button-hover{box-shadow:none}.waffle-inline-assistant-nf-check:hover,.waffle-inline-assistant-nf-check:focus{background:rgba(0,0,0,.06)}.waffle-inline-assistant-nf-check:active{background:rgba(0,0,0,0.12)}.waffle-inline-assistant-sidebar-rd-category-bulk-pill{align-items:center;border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;display:flex;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;justify-content:space-between;margin:0 14px 11px;padding:5px 6px;overflow:hidden}.waffle-inline-assistant-bulk-rd-message{height:30px;line-height:30px;margin:0 10px}.waffle-inline-assistant-rd-cell-preview{border:none;border-radius:0;margin:0;padding:0 8px;overflow:hidden;text-overflow:ellipsis}.waffle-inline-assistant-rd-deleted-strikethrough{position:absolute;left:9px;top:50%;height:1px;background:#3c4043;z-index:1;right:9px}.waffle-inline-assistant-rd-cell-value-divider{height:36px;border-left:1px solid #dadce0;margin:0 10px;display:inline-block;vertical-align:middle}.waffle-inline-assistant-tw-row{height:36px;line-height:36px;padding:0 8px}.waffle-inline-assistant-tw-space{background:#f28b82;border:1px solid transparent;box-sizing:border-box;display:inline-block;height:18px;margin:8px 0.5px 10px 0.5px;mix-blend-mode:multiply;vertical-align:middle;width:4px}.docs-material-gm-checkbox.waffle-inline-assistant-rd-checkbox{position:absolute;right:8px;top:50%!important;transform:translateY(-50%);border:2px solid #5f6368!important}.docs-material-gm-checkbox-checked.waffle-inline-assistant-rd-checkbox{background-color:#5f6368!important;border:2px solid #5f6368!important}.docs-material-gm-checkbox-checked.waffle-assistant-kg-apply-all-check{background-color:#5f6368!important;border:2px solid #5f6368!important}.waffle-inline-assistant-sidebar .waffle-sidebar-content{bottom:0;left:0;position:absolute;right:0;z-index:1}.waffle-inline-assistant-sidebar-toast{align-items:center;background:#202124;border:1px solid transparent;border-radius:4px;bottom:14px;box-shadow:0 5px 7px rgba(60,64,67,0.15),0 2px 2px rgba(60,64,67,0.3);box-sizing:border-box;display:flex;opacity:1;overflow:hidden;padding:16px 12px 16px 16px;position:absolute;right:14px;width:268px;z-index:1000}.waffle-inline-assistant-sidebar-toast-hidden{opacity:0;transition:opacity 0.2s linear}.waffle-inline-assistant-toast-text{color:#dadce0;flex-grow:1;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:normal;letter-spacing:0.25px;line-height:19px}.jfk-button.waffle-inline-assistant-toast-undo-button{box-sizing:border-box;color:#6ba5ed;cursor:pointer;margin:0;padding:0}.waffle-inline-assistant-sidebar-rd-category-bulk-pill .waffle-inline-assistant-bulk-rd-accept-button,.waffle-inline-assistant-toast-undo-button{margin:0 2px 0 0}.waffle-inline-assistant-sidebar-insights-promo{background:#f8f9fa;border-radius:8px;margin:14px;padding:18px}.waffle-inline-assistant-sidebar-insights-button{display:block;margin:0 auto}.waffle-inline-assistant-sidebar-insights-header{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:0.1px;line-height:24px;text-align:center}.waffle-inline-assistant-sidebar-insights-body{color:#3c4043;font-size:14px;letter-spacing:0.2px;line-height:20px;margin:16px 0;text-align:center}.waffle-inline-assistant-sidebar-empty-container{margin:20px;text-align:center}.waffle-inline-assistant-sidebar-accepted-message,.waffle-inline-assistant-sidebar-empty-message{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:0.2px;margin:15px}.waffle-inline-assistant-sidebar-empty-check{filter:invert(100%);height:30px;padding:10px}.waffle-assistant-floating-popup{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:white;border-radius:10px;bottom:30px;left:55px;padding:18px;position:absolute;width:320px;z-index:20}.waffle-assistant-popup-view{box-shadow:0 2px 6px 2px rgba(60,64,67,.15);display:table;position:absolute}.waffle-assistant-popup-suggestion{background:#fff;color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;overflow:hidden;outline:none;margin:2px 10px;padding:8px 0 8px 14px;position:relative;text-align:left;cursor:pointer}.waffle-assistant-popup-suggestion:hover,.waffle-assistant-popup-suggestion:focus{background:rgba(0,0,0,.06)}.waffle-assistant-popup-suggestion:active{background:rgba(0,0,0,0.12)}.waffle-assistant-popup-suggestion-text{font-size:14px;line-height:21px;white-space:normal;word-wrap:break-word}.docs-material-gm-checkbox.waffle-assistant-card-checkbox{border:2px solid #80868b;float:left;margin-top:-1px;position:absolute;top:50%;transform:translateY(-50%)}.docs-material-gm-checkbox-checked.waffle-assistant-card-checkbox{border:2px solid #188038}.waffle-assistant-card-unchecked-hovered-checkbox{opacity:0.7}.waffle-inline-assistant-sidebar-accept{float:right;margin:16px}.waffle-inline-assistant-sidebar-survey-container{background-color:#f8f9fa;cursor:pointer;padding:12px;text-align:center}.waffle-inline-assistant-sidebar-accepted-container .waffle-inline-assistant-sidebar-survey-container{margin:0 -20px}.waffle-inline-assistant-sidebar-survey-link:hover{text-decoration:none}.waffle-inline-assistant-sidebar-survey-container:hover,.waffle-inline-assistant-sidebar-survey-container:focus{background:rgba(0,0,0,.06)}.waffle-inline-assistant-sidebar-survey-container:active{background:rgba(0,0,0,0.12)}.waffle-inline-assistant-sidebar{background-color:white}.waffle-inline-assistant-sidebar .waffle-sidebar-footer-container{background-color:white;border-top:1px solid #dadce0}.waffle-inline-assistant-feedback-button.waffle-ui-text-link-button{align-items:center;color:#5f6368;display:flex;float:right;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:24px;padding:8px}.waffle-inline-assistant-feedback-button svg{margin-right:5px}.waffle-assistant-card-text{color:#5f6368;display:inline-block;font-size:14px;letter-spacing:0.2px;line-height:20px;margin-left:32px;margin-right:40px;white-space:normal;word-wrap:break-word}.waffle-assistant-card-text .waffle-assistant-feedback-button{float:right}.waffle-assistant-form{align-items:center;display:flex;flex-shrink:1;overflow:hidden;width:100%}.waffle-assistant-form .jfk-textinput{flex-shrink:1;min-width:1px;width:100%;text-overflow:ellipsis}.waffle-inline-assistant-sidebar-category-show-more-button{color:#3c4043;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;letter-spacing:0.3px;margin:4px 14px 16px;position:relative;text-align:center}.waffle-inline-assistant-sidebar-category-show-more-description{background:white;display:inline-block;line-height:16px;padding:0 8px}.waffle-inline-assistant-sidebar-category-show-more-background-line{background:#dadce0;height:1px;left:0;margin-top:-1px;position:absolute;right:0;top:50%;z-index:-100}.waffle-inline-assistant-sidebar-category-show-more-button:hover .waffle-inline-assistant-sidebar-category-show-more-description,.waffle-inline-assistant-sidebar-category-show-more-button:focus .waffle-inline-assistant-sidebar-category-show-more-description{background:#f0f0f0}.waffle-inline-assistant-sidebar-category-show-more-button:hover,.waffle-inline-assistant-sidebar-category-show-more-button:focus{background:rgba(0,0,0,.06)}.waffle-inline-assistant-sidebar-category-show-more-button:active .waffle-inline-assistant-sidebar-category-show-more-description{background:#e0e0e0}.waffle-inline-assistant-sidebar-category-show-more-button:active{background:rgba(0,0,0,0.12)}.waffle-inline-assistant-sidebar-divider{border-top:1px solid #dadce0;margin:6px 15px 8px}.waffle-inline-assistant-sidebar-category-show-more-button .docs-icon{height:24px;margin:0 4px 0 0;width:24px}.docs-auto-fix{filter:invert(37%) sepia(93%) saturate(360%) hue-rotate(86deg) brightness(88%) contrast(100%)}.waffle-inline-assistant-sidebar-category-show-more-button.jfk-button-hover{box-shadow:none}.waffle-inline-assistant-sidebar-category-header{color:#188038;margin:12px 0;overflow:hidden;padding:0 3px 0 16px}.waffle-inline-assistant-rec-range{color:#188038;font-weight:500}.waffle-inline-assistant-rec-range-red{color:#d93025;font-weight:500}.waffle-inline-assistant-rec-detail{color:#202124;font-weight:500;white-space:nowrap}.waffle-assistant-popup-num-patterns{font-weight:500}.waffle-assistant-popup-button-row{margin-top:18px;text-align:right}.jfk-button-action.waffle-assistant-popup-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.jfk-button-action.waffle-assistant-popup-button.goog-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.jfk-button-action.waffle-assistant-popup-button.goog-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.jfk-button-action.waffle-assistant-popup-button.goog-button-hover.goog-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.jfk-button-standard.waffle-assistant-popup-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038}.jfk-button-standard.waffle-assistant-popup-button.goog-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important}.jfk-button-standard.waffle-assistant-popup-button.goog-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.jfk-button-standard.waffle-assistant-popup-button.goog-button-hover.goog-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important}.waffle-assistant-popup-button-review{margin-right:0}.waffle-assistant-popup-button-dismiss{background-color:#f1f3f4}.waffle-assistant-popup-logo{float:left;margin-right:18px;min-width:0;outline:none;padding:3px}.waffle-feedback-troubleshoot-item{color:#5f6368;font-size:11px;width:168px}.waffle-feedback-troubleshoot-item-icon,.waffle-feedback-troubleshoot-item-text{display:inline}.waffle-assistant-feedback-dialog,.waffle-assistant-feedback-product-info-dialog{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-assistant-feedback-dialog{min-width:464px;max-width:512px}.waffle-assistant-feedback-dialog .docs-material-gm-dialog-content{font-size:14px;padding-bottom:0}.waffle-assistant-feedback-dialog-radio-button{padding:8px}.waffle-assistant-feedback-dialog-radio-button .jfk-radiobutton-radio{left:0}.waffle-assistant-feedback-dialog-radio-button .jfk-radiobutton-label{margin-left:16px}.waffle-assistant-feedback-dialog-feedback-radio-buttons-control .waffle-assistant-feedback-dialog-radio-button{display:block}.waffle-assistant-feedback-dialog-legal{margin-right:16px;max-width:256px}.waffle-assistant-feedback-dialog-legal-information-text{color:#80868b}.waffle-assistant-feedback-dialog-product-info-display-text{color:#5f6368;cursor:pointer;padding-top:10px;text-decoration:underline}.waffle-assistant-feedback-dialog-header{color:#1967d2;font-weight:500;padding:8px 0;text-transform:uppercase}.waffle-assistant-feedback-product-info-dialog .docs-material-gm-dialog-content{max-height:568px;overflow:auto;overflow-wrap:break-word;width:466px}.waffle-assistant-feedback-product-info-dialog dt{font-weight:500}.waffle-assistant-feedback-dialog .jfk-textinput{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0}.waffle-assistant-feedback-dialog textarea.jfk-textinput{height:auto;height:unset;min-height:52px;min-width:100%;max-height:52px;padding:7px 8px}.waffle-assistant-feedback-dialog .jfk-textinput:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.waffle-assistant-feedback-dialog textarea.jfk-textinput:focus{padding:6px 7px}.waffle-assistant-kg-description{color:#5f6368;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.3px;line-height:16px;margin:0 16px;white-space:normal;word-wrap:break-word}.waffle-assistant-apply-all-description{color:#5f6368;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.3px;line-height:16px;margin:0 16px;white-space:normal;word-wrap:break-word}.waffle-assistant-kg-card{border-radius:8px;box-shadow:0 -1px 5px rgba(128,134,139,0.09),0 3px 5px rgba(128,134,139,0.06),0 1px 2px rgba(60,64,67,0.3),0 1px 3px rgba(60,64,67,0.15);margin:0 14px 16px;outline:none;overflow:hidden;position:relative}.waffle-assistant-kg-cell-input-row{border:1px solid #dadce0;border-top:none;font-size:13px;margin:0;position:relative}.waffle-inline-assistant-overflow-suggestions:last-child .waffle-assistant-kg-cell-input-row{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.waffle-assistant-card-apply-all{background-color:#e6f4ea;border-radius:4px;color:#188038;font-family:'Google Sans Medium',sans-serif;font-size:14px;font-weight:medium;height:36px;margin:0 14px 4px;overflow:hidden;position:relative;z-index:1000}.waffle-assistant-card-apply-all .waffle-inline-assistant-apply-all-input-box.jfk-textinput{color:inherit}.waffle-assistant-card-apply-all-focused{background-color:white;border:1.5px solid #1a73e8;color:inherit;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:0 14px 2px}.waffle-assistant-apply-all-text-empty{background-color:white;border:1px solid #dadce0}.waffle-inline-assistant-category-card{border-radius:8px;box-shadow:0 -1px 5px rgba(128,134,139,0.09),0 3px 5px rgba(128,134,139,0.06),0 1px 2px rgba(60,64,67,0.3),0 1px 3px rgba(60,64,67,0.15);margin:0 14px 16px;overflow:hidden}.waffle-assistant-input-container{display:flex;height:36px;overflow-x:auto;overflow-y:hidden}.waffle-assistant-input-container.waffle-assistant-input-container-focused,.waffle-assistant-input-container.waffle-assistant-input-container-changed{border-radius:4px;margin:0 -1px}.waffle-assistant-input-container.waffle-assistant-input-container-focused{border:1.5px solid #d93025}.waffle-assistant-card-apply-all .waffle-assistant-input-container.waffle-assistant-input-container-focused{margin:0 14px -1px}.waffle-assistant-input-container.waffle-assistant-input-container-changed{border:1.5px solid #1a73e8}.waffle-assistant-input-reject-icon{cursor:pointer;height:36px;line-height:36px;margin:-1px 0 0 0;min-width:27px;opacity:0;z-index:-1}.waffle-inline-assistant-gridrange-chip-hovered .waffle-assistant-input-reject-icon,.waffle-assistant-kg-cell-input-row:hover .waffle-assistant-input-reject-icon,.waffle-assistant-kg-cell-input-row:focus .waffle-assistant-input-reject-icon{opacity:100;z-index:1000}.waffle-assistant-input-reject-icon:focus{background:rgba(0,0,0,.06);opacity:100;z-index:1000}.waffle-assistant-input-reject-icon:hover{background:rgba(0,0,0,.06)}.waffle-assistant-input-reject-icon:active{background:rgba(0,0,0,0.12)}.waffle-assistant-input-return-icon{cursor:pointer;filter:invert(37%) sepia(68%) saturate(4465%) hue-rotate(204deg) brightness(96%) contrast(89%);flex-shrink:0;margin:4px}.waffle-sidebar-container .waffle-assistant-kg-cell-input.jfk-textinput:focus{border:none;outline-offset:0;padding:1px 8px}.waffle-sidebar-container .waffle-assistant-kg-cell-input.jfk-textinput{background-color:transparent;border:none;border-radius:0;margin:0}.waffle-assistant-kg-apply-all-container{display:flex;margin:0;overflow-x:auto;overflow-y:hidden;padding:8px 9px}waffle-assistant-kg-apply-to-all-text{display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:0.3px;line-height:16px;margin:1px 1px 1px 4px;vertical-align:middle}input.jfk-textinput.waffle-assistant-kg-cell-input.waffle-inline-assistant-apply-all-input-box{width:100%}.waffle-assistant-kg-card-apply-all-hint{background:white;color:#1a73e8;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;left:27px;letter-spacing:0.3px;line-height:16px;padding:2px 4px;position:absolute;top:-9px;z-index:1001}.waffle-assistant-kg-card-apply-all-hint.waffle-assistant-kg-card-apply-all-hint-changed{color:#1a73e8}.waffle-inline-assistant-fade-in .waffle-inline-assistant-sidebar-column-filter-dropdown,.waffle-inline-assistant-fade-in .waffle-inline-assistant-sidebar-section{animation-duration:.5s;animation-name:fadein}@keyframes fadein{from{opacity:0;transform:scale(.85,.85)}to{opacity:1;transform:scale(1,1)}}.waffle-assistant-icon-button{background:transparent;border-radius:50%;box-sizing:border-box;cursor:pointer;height:32px;line-height:32px;outline:none;text-align:center;width:32px}.small.waffle-assistant-icon-button{height:24px;line-height:24px;width:24px}.waffle-assistant-icon-button:hover{background:rgba(13,101,45,.06)}.waffle-assistant-icon-button:focus{background:rgba(13,101,45,.12)}.waffle-assistant-icon-button:active{background:rgba(13,101,45,.1)}.goog-grey.waffle-assistant-icon-button:hover{background:rgba(32,33,36,.04)}.goog-grey.waffle-assistant-icon-button:focus{background:rgba(13,101,45,.12)}.goog-grey.waffle-assistant-icon-button:active{background:rgba(13,101,45,.1)}.waffle-assistant-input-return-icon.waffle-assistant-icon-button:hover{background:rgba(0,0,0,.06)}.waffle-assistant-input-return-icon.waffle-assistant-icon-button:focus{background:rgba(0,0,0,.12)}.waffle-assistant-input-return-icon.waffle-assistant-icon-button:active{background:rgba(0,0,0,.1)}.waffle-assistant-kg-card.waffle-assistant-input-edit-button{display:none}.waffle-assistant-anomaly-message{font-weight:bold;text-transform:lowercase}.waffle-assistant-input-edit-button .docs-icon{margin:0 1px 4px 0}.waffle-inline-assistant-bulk-accept-button{border:1px solid #a8dab5;cursor:pointer}.waffle-inline-assistant-bulk-accept-button:hover{background:#e6f4ea}.waffle-inline-assistant-bulk-accept-button:focus{background:#ceead6;border:1px solid #0d652d}.waffle-inline-assistant-bulk-accept-button:active{background:#ceead6;border:1px solid #a8dab5}.waffle-inline-assistant-bulk-action-button-disabled,.waffle-inline-assistant-bulk-action-button-disabled:hover,.waffle-inline-assistant-bulk-action-button-disabled:focus,.waffle-inline-assistant-bulk-action-button-disabled:active{background:white;border:1px solid rgba(60,64,67,0.12);cursor:default}.waffle-inline-assistant-bulk-accept-button-icon.docs-icon{height:24px;margin:1px 2px 1px 5px;width:24px}.waffle-inline-assistant-bulk-accept-button-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)!important}.waffle-inline-assistant-bulk-action-button-disabled .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)}.waffle-inline-assistant-bulk-reject-button{border:1px solid #dadce0}.waffle-inline-assistant-bulk-reject-button:hover{background:#f8f9fa;cursor:pointer}.waffle-inline-assistant-bulk-reject-button:focus{background:#f1f3f4;border:1px solid #202124}.waffle-inline-assistant-bulk-reject-button:active{background:#f1f3f4;border:1px solid #dadce0}.waffle-inline-assistant-bulk-reject-button-icon.docs-icon{height:24px;margin:1.5px 2px 1.5px 5px;width:24px}.waffle-inline-assistant-bulk-action-buttons-wrapper{display:flex;margin:12px 0 12px 16px;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-inline-assistant-bulk-action-button{align-items:center;background:#ffffff;border-radius:20px;box-sizing:border-box;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;height:36px;margin-right:8px;mix-blend-mode:normal;width:36px}.waffle-inline-assistant-bulk-action-button:focus{outline:none}.waffle-inline-assistant-bulk-action-buttons-description{color:#188038;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;margin-left:16px}.waffle-assistant-filter-button{margin:0;max-width:100%;min-width:28px;overflow:hidden;padding:0!important;text-overflow:ellipsis;white-space:nowrap}.waffle-assistant-insert-chart-button.jfk-button{position:relative;left:-1px}.waffle-assistant-zoom-button.jfk-button{position:relative;left:1px}.waffle-assistant-chart-preview{cursor:move;height:238px;width:271px}.waffle-assistant-readonly .waffle-assistant-chart-preview{cursor:default}.waffle-assistant-chart-preview.waffle-assistant-dragged-card{background-color:#fff;border:1px solid #e0e0e0;z-index:1000}.waffle-assistant-chart-highlights{border-left:3px solid #0f9d58;color:#616161;cursor:text;padding-left:15px;margin-top:20px;margin-bottom:20px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.waffle-assistant-facet-section{background-color:#fafafa;cursor:default}.waffle-assistant-facet-header{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;padding:8px 16px}.waffle-assistant-facet-content-wrapper{max-height:1000px;position:relative;transition:all .2s}.waffle-assistant-facet-charts-wrapper-hidden,.waffle-assistant-facet-charts-wrapper-hidden .waffle-assistant-facet-charts-container{margin-top:0;margin-bottom:0;max-height:0}.waffle-assistant-facet-charts-container{overflow-y:hidden;margin:24px 16px 0;max-height:1000px;transition:all .2s;width:350px}.waffle-assistant-pie-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -501px 0;display:inline-block;height:24px;margin-right:10px;opacity:.5;vertical-align:middle;width:24px}.waffle-assistant-facet-chart-larger-icon{height:24px;width:24px}.waffle-assistant-facet-top-text{color:#757575;display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;width:185px}.waffle-assistant-facet-title{font-weight:500}.waffle-assistant-facet-toggle{color:#4285f4;cursor:pointer;float:right;font-size:13px;font-weight:normal;line-height:24px;margin-right:0;min-width:initial;outline:none;text-align:right}.waffle-assistant-facet-toggle:hover{box-shadow:none}.waffle-assistant-facet-chart-row{margin-bottom:16px;white-space:nowrap}.waffle-assistant-single-facet{display:inline-block;margin-right:16px;vertical-align:bottom}.waffle-assistant-single-facet-title{color:#757575;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;white-space:normal;width:130px}.waffle-assistant-faceted-chart{border:1px solid #e0e0e0;cursor:move;height:98px;margin-top:5px;outline:none;overflow:hidden;width:134px}.waffle-assistant-facet-by-color-container{padding:15px}.waffle-assistant-facet-by-color{border:none;height:270px;margin-top:0;overflow:hidden;width:271px}.waffle-assistant-facet-white-section{background-color:#fff}.waffle-assistant-readonly .waffle-assistant-faceted-chart{cursor:default}.waffle-assistant-word-cloud-card{padding:16px 16px 24px}.waffle-assistant-word-cloud-content-container{background-color:#fff;color:rgba(0,0,0,.54);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-assistant-word-cloud-title{color:#757575;font-size:13px;margin-bottom:10px}.waffle-assistant-styled-rect{opacity:0.1}.waffle-assistant-answers-logging-message-container{display:flex;background:#f4f4f4;margin:10px 0;padding:7px}.waffle-assistant-answers-logging-message{-ms-flex:1;-webkit-flex:1;flex:1;color:#757575;font-size:11px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px;margin-left:5px}.waffle-assistant-answers-learn-more,.waffle-assistant-answers-logging-opt-out{padding:0 5px;text-decoration:none}.waffle-assistant-answers-logging-opt-out{border-left:1px solid rgba(0,0,0,0.12)}.waffle-assistant-section-content .waffle-assistant-answers-input{margin:16px 16px 0}.waffle-assistant-suggested-questions{padding-bottom:15px}.waffle-assistant-section-content .waffle-assistant-answers-input{padding-bottom:5px}.waffle-assistant-replaceable-title .waffle-assistant-answers-input{margin:10px 0;padding-bottom:0}.waffle-assistant-answers-query-box{box-shadow:0px 0px 2px 0px rgba(0,0,0,0.12),0px 2px 2px 0px rgba(0,0,0,0.24);display:flex;-webkit-align-items:center;align-items:center;background:#fafafa;border-radius:2px;height:40px;line-height:40px}.waffle-assistant-replaceable-title .waffle-assistant-answers-query-box{background:#fafafa;width:295px}.waffle-assistant-answers-query-box.waffle-assistant-answers-query-box-focused,.waffle-assistant-answers-query-box:hover{background:#fff}.waffle-assistant-replaceable-title .waffle-assistant-answers-query-box-focused,.waffle-assistant-replaceable-title .waffle-assistant-answers-query-box:hover{background:#fafafa}.waffle-assistant-replaceable-title .waffle-assistant-answers-query-box-focused{border-bottom-left-radius:0;border-bottom-right-radius:0}.waffle-assistant-answers-input-container{display:flex;-ms-flex:8;-webkit-flex:8;flex:8}.waffle-assistant-replaceable-title .waffle-assistant-answers-input-box{padding:0 5px 0 10px}.waffle-assistant-answers-input-box{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:transparent;border:none;height:40px;line-height:15px;outline:none;padding:0 5px;width:100%}.waffle-assistant-answers-input-with-icon .waffle-assistant-answers-input-box{padding-left:40px}.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-input-box::-webkit-input-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important}.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-input-box::-moz-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important}.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-input-box:-moz-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important}.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-input-box:-ms-input-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important}.waffle-assistant-answers-input-box::-webkit-input-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important}.waffle-assistant-answers-input-box::-moz-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;line-height:40px!important}.waffle-assistant-answers-input-box:-moz-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;line-height:40px!important}.waffle-assistant-answers-input-box:-ms-input-placeholder{color:#80868b!important;font:14px 'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important}.waffle-assistant-answers-search-icon{display:none;position:absolute}.waffle-assistant-answers-input-with-icon .waffle-assistant-answers-search-icon{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.waffle-assistant-answers-search-icon,.waffle-assistant-answers-input-controls{height:40px;width:40px}.waffle-assistant-answers-query-box-button{height:40px}.waffle-assistant-answers-search-icon .docs-icon-img,.waffle-assistant-answers-clear-query-button .docs-icon-img{opacity:0.7}.waffle-assistant-answers-spinner-container{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:40px;width:40px}.waffle-assistant-answers-spinner-container .waffle-spinner{height:25px;width:25px}.waffle-assistant-answers-output{background:rgba(0,0,0,0.12)}.waffle-assistant-answers-toolbar-ac-renderer,.waffle-assistant-answers-ac-renderer{box-shadow:0px 0px 2px 0px rgba(0,0,0,0.12),0px 2px 2px 0px rgba(0,0,0,0.24);background:#fafafa;border-bottom-left-radius:2px;border-bottom-right-radius:2px;color:#616161;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:20px;position:absolute;width:295px;z-index:10000}.waffle-assistant-answers-toolbar-ac-renderer{-webkit-transform:translate(-1px,-5px);-moz-transform:translate(-1px,-5px);-ms-transform:translate(-1px,-5px);-o-transform:translate(-1px,-5px);transform:translate(-1px,-5px);background:#fff;border-bottom-left-radius:8px;border-bottom-right-radius:8px;width:250px}.waffle-assistant-answers-ac-row{cursor:default;padding:10px}.waffle-assistant-answers-ac-row-suggested-query:first-child,:not(.waffle-assistant-answers-ac-row-suggested-query)+.waffle-assistant-answers-ac-row-suggested-query,.waffle-assistant-answers-ac-row-session-query:first-child,:not(.waffle-assistant-answers-ac-row-session-query)+.waffle-assistant-answers-ac-row-session-query,.waffle-assistant-answers-ac-row-entity:first-child,:not(.waffle-assistant-answers-ac-row-entity)+.waffle-assistant-answers-ac-row-entity{border-top:1px solid rgba(0,0,0,0.12)}.waffle-assistant-answers-ac-active{background:#f5f5f5;cursor:pointer}.waffle-assistant-answers-ac-highlighted{font-weight:700}.waffle-assistant-answers-ac-entity{font-weight:700}.waffle-assistant-answers-ac-suggestion{display:flex}.waffle-assistant-answers-ac-suggestion-icon-container{margin-right:5px;opacity:0.7;width:24px}.waffle-assistant-answers-ac-suggestion-text{-ms-flex:8;-webkit-flex:8;flex:8;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;max-height:60px;overflow:hidden;overflow-wrap:break-word;word-wrap:break-word}.waffle-assistant-answercard-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;color:#757575}.waffle-assistant-answercard-question-container,.waffle-assistant-answercard-answer-container,.waffle-assistant-answercard-error-container{line-height:20px}.waffle-assistant-answercard-answer-container,.waffle-assistant-answercard-error-container,.waffle-assistant-answercard-question-container{padding:5px 0}.waffle-assistant-answercard-answer-container{margin-top:5px}.waffle-assistant-answercard-question-container.waffle-assistant-button,.waffle-assistant-answercard-error-container{display:flex}.waffle-assistant-answercard-question-container.waffle-assistant-button{-webkit-align-items:initial;align-items:initial;color:#757575;padding:5px 16px;opacity:1;text-align:left;white-space:normal;font-weight:400;font-size:13px}.waffle-assistant-answercard-question-container.waffle-assistant-button-hover,.waffle-assistant-answercard-question-container.waffle-assistant-button-focused{background-color:#f5f5f5;outline:none}.waffle-assistant-answercard-question-header,.waffle-assistant-answercard-answer-header{color:#0f9d58;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;padding-bottom:3px;text-transform:uppercase}.waffle-assistant-button .waffle-assistant-answercard-question-header{opacity:0.7}.waffle-assistant-button .waffle-assistant-answercard-question-header,.waffle-assistant-answercard-error-image{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;height:18px;margin-right:10px;width:18px}.waffle-assistant-answercard-error-image{opacity:0.5}.waffle-assistant-answercard-question-content,.waffle-assistant-answercard-interpret-content,.waffle-assistant-answercard-answer-content,.waffle-assistant-answercard-error-content{overflow:hidden}.waffle-assistant-answercard-interpret-content{font-style:italic;padding-bottom:6px}.waffle-assistant-button .waffle-assistant-answercard-question-content,.waffle-assistant-answercard-error-content{-ms-flex:1;-webkit-flex:1;flex:1}.waffle-assistant-answercard-question,.waffle-assistant-answercard-interpret,.waffle-assistant-answercard-answer-col,.waffle-assistant-answercard-formula,.waffle-assistant-answercard-error{overflow:hidden;text-overflow:ellipsis}.waffle-assistant-answercard-question,.waffle-assistant-answercard-interpret,.waffle-assistant-errorcard-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.waffle-assistant-answercard-question-unused-phrase{text-decoration:line-through}.waffle-assistant-answercard-question-used-entity{font-weight:700}.waffle-assistant-answercard-question-error-msg-unused-phrase{font-weight:700;display:block}.waffle-assistant-answercard-answer-rowheader{display:flex;border-bottom:1px solid #979797;font-weight:700;margin-top:0;padding:4px 0 0}.waffle-assistant-answercard-answer-rows{max-height:200px;overflow-x:hidden;overflow-y:auto}.waffle-assistant-answercard-answer-row{display:flex;border-bottom:1px dashed #979797;padding:4px 0}.waffle-assistant-answercard-answer-row:first-child{margin-top:0}.waffle-assistant-answercard-answer-list-row.waffle-assistant-answercard-answer-row{font-weight:400}.waffle-assistant-answercard-answer-list-row.waffle-assistant-answercard-answer-row:last-child{border-bottom:1px dashed #979797}.waffle-assistant-answercard-answer-row:last-child{border:none;margin-bottom:0}.waffle-assistant-answercard-answer-col{-ms-flex:2;-webkit-flex:2;flex:2;margin:0 2px}.waffle-assistant-answercard-answer-col:first-child{margin-left:0}.waffle-assistant-answercard-answer-col:last-child{margin-right:0}.waffle-assistant-answercard-answer-col:nth-child(even){-ms-flex:1;-webkit-flex:1;flex:1;text-align:right}.waffle-assistant-answercard-answer-empty{color:rgba(0,0,0,0.54);font-weight:400;font-style:italic}.waffle-assistant-answercard-answer{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;color:rgba(0,0,0,0.54);font-weight:700}.waffle-assistant-answercard-info-msgs{font-size:12px;color:#949494;line-height:15px;margin:5px 0}.waffle-assistant-answercard-formula-holder{color:#757575;font-size:12px;font-style:italic;line-height:18px;margin-top:10px}.waffle-assistant-answercard-formula{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;border:1px solid #4285f4;margin-top:5px}.waffle-assistant-readonly-card .waffle-assistant-answercard-formula{border:1px solid transparent}.waffle-assistant-answercard-formula-display{display:flex}.waffle-assistant-answercard-formula-help{background:#4285f4;color:#fff;padding-left:5px}.waffle-assistant-answercard-see-formula-link,.waffle-assistant-answercard-hide-formula-link{color:#757575}.waffle-assistant-answercard-formula-icon{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background:rgba(0,0,0,0.12);min-height:28px;width:30px}.waffle-assistant-answercard-formula-text-container{-ms-flex:1;-webkit-flex:1;flex:1;border-radius:3px;overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap}.waffle-assistant-answercard-formula-text:hover,.waffle-assistant-answercard-formula-text:focus{outline:none}.waffle-assistant-answercard-formula-text:hover{cursor:move}.waffle-assistant-readonly-card .waffle-assistant-answercard-formula-text:hover{cursor:default}.waffle-assistant-answercard-formula-text{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#f5f5f5;max-width:257px;padding:5px}.waffle-assistant-answercard-feedback-container{border-top:1px dashed #e0e0e0;padding:0 15px}.waffle-assistant-answercard-feedback-link{color:#757575;line-height:40px}.waffle-assistant-answers-range-styled-rect{opacity:0.20}.waffle-assistant-answers-styled-rect{opacity:0.06}.waffle-assistant-answers-range-styled-rect,.waffle-assistant-answers-styled-rect{background-color:#0f9d58;pointer-events:none}.waffle-assistant-answers-range-styled-border,.waffle-assistant-answers-styled-border{border-color:#0f9d58!important;border-style:dashed!important;line-height:0}.waffle-assistant-answers-suggestioncard{color:#757575}.waffle-assistant-answers-suggestioncard .waffle-assistant-answercard-error-container{padding:15px;padding-bottom:0}.waffle-assistant-suggestionscard-header{color:#0f9d58;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;line-height:20px;padding-bottom:3px;padding-left:15px;padding-right:15px;padding-top:20px;text-transform:uppercase}.waffle-assistant-errorcard-content,.waffle-assistant-errorcard-text{line-height:20px}.waffle-assistant-answers-previousheadercard{color:#757575;padding:20px 15px 10px;text-transform:uppercase}.waffle-assistant-answercard-chart{height:200px;width:278px}.waffle-assistant-answercard-pivot-content{margin-bottom:10px;max-height:200px;overflow:hidden;width:278px}.waffle-pivottable-pivot-canvas{border:1px solid rgba(0,0,0,0.12)}.waffle-pivottable-pivot-canvas:hover,.waffle-pivottable-pivot-canvas:focus{border:1px solid #4285f4;cursor:pointer}.waffle-assistant-answercard-tabs{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;display:flex;box-pack:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.waffle-assistant-answercard-chart-tab,.waffle-assistant-answercard-formula-tab,.waffle-assistant-answercard-pivot-tab{-ms-flex:1;-webkit-flex:1;flex:1;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:18px}.waffle-assistant-answercard-chart-tab.goog-tab.goog-tab-selected,.waffle-assistant-answercard-formula-tab.goog-tab.goog-tab-selected,.waffle-assistant-answercard-pivot-tab.goog-tab.goog-tab-selected{background:#9e9e9e;color:#fff;cursor:default;font-weight:500}.waffle-assistant-answercard-chart-tab.goog-tab,.waffle-assistant-answercard-formula-tab.goog-tab,.waffle-assistant-answercard-pivot-tab.goog-tab{border:1px solid rgba(0,0,0,0.1);color:#8f8f8f;cursor:pointer;padding:2px 4px;text-decoration:none}.waffle-assistant-answercard-chart-tab.goog-tab{border-top-right-radius:2px;border-bottom-right-radius:2px}.waffle-assistant-answercard-formula-tab.goog-tab,.waffle-assistant-answercard-pivot-tab.goog-tab{border-top-left-radius:2px;border-bottom-left-radius:2px}.waffle-assistant-answercard-tabs.goog-tab-bar{background:inherit;margin-bottom:10px}.waffle-assistant-answercard-insert-chart,.waffle-assistant-answercard-insert-pivot{color:rgba(0,0,0,0.87);float:right;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;margin:0 5px}.waffle-assistant-answercard-chart-type-select,.waffle-assistant-answercard-chart-type-select:hover,.waffle-assistant-answercard-chart-type-select:focus{background:none;border-color:transparent;color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;padding:0 18px 0 0}.waffle-assistant-answercard-chart-type-select:hover .goog-flat-menu-button-caption{text-decoration:underline}.waffle-answers-panel{height:100%}.waffle-dbsource-configbar-answers-wrapper{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative}.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-input{opacity:0.3}.waffle-dbsource-configbar-answers-wrapper.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-input{opacity:1}.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-input{margin:0;padding-bottom:0;width:250px}.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-query-box,.waffle-dbsource-configbar-answers-wrapper.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-query-box{box-shadow:none;transition:all 200ms ease-out;background:#f1f3f4;border-radius:8px;height:36px;line-height:36px;width:250px}.waffle-dbsource-configbar-answers-wrapper.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-query-box.waffle-assistant-answers-query-box-focused,.waffle-dbsource-configbar-answers-wrapper.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-query-box:hover{box-shadow:0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12),0px 1px 8px 0px rgba(0,0,0,0.2);background:white}.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-query-box.waffle-assistant-answers-query-box-focused,.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-query-box:hover{background:#f1f3f4}.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-search-icon,.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-input-controls,.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-query-box-button{height:36px}.waffle-dbsource-configbar-answers-wrapper .waffle-assistant-answers-input-box{color:#80868b;font-size:14px;height:36px}.waffle-answers-bar .waffle-assistant-answers-query-box{box-shadow:none;border:1px solid #dadce0;border-radius:8px;background:#fff;opacity:0.5}.waffle-dbanswers-answers-bar-controls{-webkit-align-items:center;align-items:center;display:flex}.waffle-dbanswers-answers-bar-enable-button{padding:5px;font-weight:700}.waffle-answers-button.jfk-button{background:none;border:none;border-radius:50%;height:30px;margin:0 9px 0 0;min-width:30px;opacity:0.5;padding:5px}.waffle-answers-button.jfk-button-hover{background-color:rgba(0,0,0,.06)}.waffle-answers-bar.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-query-box{opacity:1}.waffle-answers-bar.waffle-assistant-answers-toolbar-enabled .waffle-answers-button{opacity:1}.waffle-answers-bar .waffle-assistant-answers-input{margin:2px 4px 2px;width:250px}.waffle-answers-bar.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-query-box.waffle-assistant-answers-query-box-focused,.waffle-answers-bar.waffle-assistant-answers-toolbar-enabled .waffle-assistant-answers-query-box:hover{box-shadow:0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12),0px 1px 3px 0px rgba(0,0,0,0.2)}.waffle-dbanswers-answers-bar-enable-answers-popup{background:#fff;border-radius:5px;box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;padding:20px;position:absolute;width:275px}.waffle-dbanswers-answers-bar-enable-answers-popup-setup-link{font-weight:700}.waffle-dbanswers-answers-bar-message{color:#80868b;font-size:9px}.waffle-assistant-datavalidation-rule-group{margin:16px}.waffle-assistant-datavalidation-rule-holder{border:1px solid #ccc;cursor:pointer;display:block;margin-bottom:5px;padding:1px;width:258px}.waffle-assistant-datavalidation-description{color:rgba(0,0,0,0.54);display:inline-block;text-overflow:ellipsis}.waffle-assistant-datavalidation-apply-button.jfk-button{color:#1a73e8;cursor:pointer;display:inline-block;float:right;font-size:13px;text-align:right;text-transform:uppercase}.waffle-assistant-datavalidation-range{font-weight:500}.waffle-assistant-datavalidation-details{display:inline-block;margin-bottom:12px;width:100%}.waffle-assistant-datavalidation-detail-chip{background-color:#eeeeee;border:1px solid #e0e0e0;border-radius:11px;color:rgba(0,0,0,.87);display:inline-block;line-height:21px;margin:3px;max-width:234px;overflow:hidden;padding:0 16px;text-overflow:ellipsis;white-space:nowrap}.waffle-assistant-conditionalformat-rule-group{margin:16px}.waffle-assistant-conditionalformat-rule-holder{border:1px solid #ccc;cursor:pointer;display:block;margin-bottom:5px;padding:1px;width:258px}.waffle-assistant-conditionalformat-format-preview{border:1px solid transparent;display:inline-table;height:21px;margin:1px;overflow:hidden;text-align:center}.waffle-assistant-conditionalformat-format-preview.one-rule{max-width:254px;width:254px}.waffle-assistant-conditionalformat-format-preview.two-rules{max-width:125px;width:125px}.waffle-assistant-conditionalformat-format-preview.three-rules{max-width:82px;width:82px}.waffle-assistant-conditionalformat-format-preview-label{display:block;height:17px;line-height:17px;max-height:17px;padding:2px;text-overflow:ellipsis}.waffle-assistant-conditionalformat-format-preview.one-rule .waffle-assistant-conditionalformat-format-preview-label{max-width:250px;width:250px}.waffle-assistant-conditionalformat-format-preview.two-rules .waffle-assistant-conditionalformat-format-preview-label{max-width:121px;width:121px}.waffle-assistant-conditionalformat-format-preview.three-rules .waffle-assistant-conditionalformat-format-preview-label{max-width:78px;width:78px}.waffle-assistant-conditionalformat-description{color:#757575;display:inline-block;height:21px;line-height:21px;text-overflow:ellipsis;width:237px}.waffle-assistant-conditionalformat-edit-button.jfk-button{cursor:pointer;width:21px}.waffle-assistant-banding-recommendation{margin:16px;overflow:hidden}.waffle-assistant-banding-color-picker-container{padding-bottom:5px}.waffle-assistant-banding-color-picker-container .waffle-banding-color-picker-table{border-spacing:8px;margin-left:-8px}.waffle-assistant-banding-range-wrapper{border:1px solid transparent;color:#757575;display:inline-block;float:left;line-height:21px;text-align:left}.waffle-assistant-banding-range{font-weight:500}.waffle-assistant-formatting-edit-button{color:#5e97f5;cursor:pointer;display:inline-block;float:right;text-align:right;text-transform:uppercase}.waffle-assistant-insert-pivottable-button.jfk-button{left:-1px}.waffle-assistant-pivottable-rule-group{margin:16px}.waffle-assistant-pivottable-rule-holder{border:1px solid #ccc;cursor:pointer;display:block;margin-bottom:5px;padding:1px;width:258px}.waffle-assistant-pivottable-description{color:#757575;display:inline-block;height:21px;line-height:21px;text-overflow:ellipsis;width:237px}.waffle-assistant-zoom-button.jfk-button{left:1px;position:relative}.waffle-pivottable-preview-pane{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;max-height:80%;max-width:80%}.waffle-pivot-suggestion-preview-insert.jfk-button-focused{border:1px solid #5e97f6!important;outline:none}.waffle-pivottable-canvas{overflow:auto;background:white}.waffle-pivottable-canvas-content{padding:25px}.waffle-pivottable-preview-interpret{-webkit-align-items:left;align-items:left;color:white;max-width:500px;margin-bottom:10px;overflow:visible;overflow-wrap:break-word;padding:5px;text-overflow:ellipsis}.waffle-pivottable-lightbox{-webkit-align-items:center;align-items:center;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background-color:rgba(0,0,0,0.85);height:100%;left:0;position:absolute;top:0;width:100%;z-index:1000}.waffle-assistant-tables-recommendation{display:flex;margin-bottom:15px;overflow:hidden}.waffle-assistant-table-range-container{margin-right:20px;width:50%}.waffle-assistant-header-range-container{width:50%}.waffle-assistant-tables-range-wrapper{-ms-flex:1;-webkit-flex:1;flex:1;border:1px solid transparent;border-bottom:1px solid #d0d0d0;color:rgba(0,0,0,.54);font-size:11px;line-height:21px;text-align:left}.waffle-assistant-header-range-container .waffle-assistant-tables-range-wrapper{border-bottom:none}.waffle-assistant-tables-range-wrapper .waffle-range-selection-input,.waffle-assistant-tables-range-wrapper .waffle-range-selection-input-focus,.waffle-assistant-tables-range-wrapper .waffle-range-selection-input:focus{border:1px solid transparent;color:rgba(0,0,0,.87);font-size:13px;line-height:21px;padding:0 4px!important;text-align:left}.waffle-assistant-tables-range-wrapper .waffle-range-selection-container-focus{border:none;box-shadow:none;outline:none}.waffle-assistant-tables-range-wrapper .waffle-range-selection-button{cursor:default;height:26px}.waffle-assistant-tables-range-wrapper input:disabled{background-color:transparent}.waffle-assistant-table-canvas{border:1px solid #dcdcdc;display:block;margin:0 auto}.waffle-assistant-canvas-container{margin-top:10px;overflow:hidden}.waffle-assistant-tables-edit-headers-button{display:flex}.waffle-assistant-tables-edit-headers-button .docs-charts-editor-material-menu-button-caption{font-size:13px;height:24px;overflow:hidden;text-align:left;text-overflow:ellipsis;width:100%}.waffle-assistant-tables-edit-headers-button .docs-charts-editor-material-menu-button{margin:0;width:100%}.waffle-tables-popup{background:white;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,0.3);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:0 10px;outline:none;overflow:hidden;position:relative;top:45px}.waffle-tables-popup-answers-enabled{top:38px}.waffle-tables-popup-header{background-color:#eeeeee;padding:12px 15px 12px 20px}.waffle-tables-popup-title{color:rgba(0,0,0,87);font-size:16px;font-weight:500}.waffle-tables-popup-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:16px 16px 0}.waffle-tables-popup-buttons{display:flex;flex-direction:row-reverse;padding:8px 8px 8px 24px}.waffle-tables-popup-button{background:none;border:none;border-radius:2px;color:#4285f4;cursor:pointer;display:inline-block;height:36px;margin-left:8px;min-width:64px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0;line-height:36px;overflow:hidden;outline:none;padding:0 8px;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;vertical-align:middle}.waffle-assistant-tables-edit-range-button{border:none;float:right;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;height:100%;padding:0 14px;text-transform:uppercase;white-space:nowrap}.waffle-assistant-sidebar-tables-range{float:left;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;padding:12px 0px 12px 12px;position:relative;top:50%;transform:translateY(-50%);-ms-flex:1;-webkit-flex:1;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waffle-tables-bar-content{overflow:hidden;text-overflow:ellipsis}.waffle-sidebar-tables-bar{box-shadow:inset 0 -2px 2px rgba(0,0,0,.1);background:#f1f1f1;color:#5f5f5f;height:40px;overflow:hidden;vertical-align:middle;display:flex}.waffle-assistant-tables-range-wrapper .waffle-range-selection-container{border:none}.waffle-sidebar-overlay{background-color:rgba(51,51,51,0.3);bottom:0;left:0;overflow-y:auto;position:absolute;right:0;top:0;z-index:1003}.waffle-assistant-table-bar-range{font-weight:500}.waffle-assistant-table-first-header{display:inline-block;font-weight:500;max-width:95px;overflow:hidden;padding-bottom:2px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.waffle-assistant-tables-scroll-pane{bottom:0;height:auto;left:0;position:absolute;right:0;top:40px}.waffle-assistant-tables-range-error{color:#c53929;font-size:11px;padding-top:2px}.waffle-assistant-tables-range-error-input{border-bottom:1px solid #c53929}.docs-action-new-badge{background-color:#c6dafc;border-radius:2px;color:#2a56c6;display:inline-block;float:right;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;margin-left:15px;margin-top:-4px;padding:5px 8px;text-transform:uppercase}.docs-gm .docs-action-new-badge{background-color:transparent;border-radius:4px;border:1px solid #188038;box-sizing:border-box;color:#188038;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:24px;line-height:24px;margin-top:-2px;padding:0px 8px;text-transform:none;vertical-align:middle}.docs-action-new-badge-submenu .docs-action-new-badge{margin-right:-27px}.docs-action-new-badge-submenu{display:inline-block;margin-bottom:-4px;min-width:100%}.docs-action-new-badge-text-ie{float:left}.docs-action-new-badge-clearfix-ie:after{clear:both;content:"";display:table}.docs-action-updated-dot{background-color:#188038;border-radius:50%;display:inline-block;float:right;height:9px;width:9px;margin-top:5px}.docs-action-updated-dot-submenu .docs-action-updated-dot{margin-right:-15px}.docs-action-updated-dot-submenu{display:inline-block;margin-bottom:-6px;margin-right:-5px;min-width:calc(100% - 40px)}.docs-action-updated-dot-shortcut-keys .docs-action-updated-dot{margin-right:-27px}.docs-action-updated-dot-shortcut-keys{display:inline-block;margin-bottom:-4px;margin-right:12px}.apps-marquee{font:bold 13px Arial,sans-serif;height:0;left:20%;position:fixed;_position:absolute;text-align:center;top:0;width:60%;z-index:1001}.apps-marquee-item{display:inline-block;margin:0 5px 4px;color:#fff999}.apps-marquee-text{background:#fff999;border-color:#fff999;border-style:solid;border-width:0 3px;color:black;padding:2px 5px 2px}.apps-marquee-round-bottom{border-left:3px dotted transparent;border-right:3px dotted transparent;border-top:3px solid}.apps-marquee-round-top{border-left:3px dotted transparent;border-right:3px dotted transparent;border-bottom:3px solid}.apps-marquee-warning{color:#a00}.apps-marquee-warning .apps-marquee-text{background:#a00;border-color:#a00;color:white}.apps-promo{position:absolute;z-index:10000;font-size:11px}.apps-promo-arrow-container{position:relative}.apps-promo-arrow{position:absolute;background:transparent url(//ssl.gstatic.com/docs/common/promo_arrows-0.png) no-repeat}.apps-promo-close{position:relative;top:-5px;width:16px;height:16px;float:right;cursor:pointer;background:transparent url(//ssl.gstatic.com/docs/common/promo_close-0.png) no-repeat}.apps-promo-popup{background:#fff;box-shadow:0 7px 7px #666;-moz-box-shadow:0 7px 7px #666;-webkit-box-shadow:0 7px 7px #666;border:1px solid #ccc;width:275px;padding:15px;padding-right:10px}.apps-promo-header-content{font-weight:bold;font-size:14px}.apps-promo-content{padding-top:15px;font-size:13px}.apps-promo-buttons{padding-top:15px;padding-left:4px}.apps-promo-buttons a{font-size:13px;vertical-align:middle;margin-left:15px}.apps-promo-buttons-inner{display:inline}.apps-promo-buttons-inner .goog-imageless-button-content{white-space:nowrap}.apps-toast{font-size:13px;bottom:-200px;width:227px;display:block;opacity:1;position:absolute;z-index:50}.apps-toast-top{height:18px;width:227px;opacity:1;background:url("//ssl.gstatic.com/docs/common/toastBackTop-ltr-1.png")}.apps-toast-fill{height:92px;width:227px;opacity:1;background:url("//ssl.gstatic.com/docs/common/toastBackFill-0.png");z-index:51}.apps-toast-title{font-weight:bold;padding:0px 20px}.apps-toast-content{padding:0 20px 8px}html{overflow:hidden}.waffle,.grid-fixed-table{font-size:13px;table-layout:fixed;border-collapse:separate;border-style:none;border-spacing:0;width:0;cursor:default}.mimic-overlay{position:absolute;z-index:4}.mimic-overlay-canvas{display:block}.scroll-container{position:absolute;overflow:auto;border-width:0;padding:0;margin:0;z-index:1;top:0;left:0}.native-scrollbar{overflow:auto;position:absolute;border-width:0;padding:0;margin:0;top:0;left:0}.static-overlay-container{z-index:6}.grid-container{background-color:#eee;overflow:hidden;position:relative;z-index:0}.grid-table-container{overflow:hidden;z-index:3;position:relative}.ritz.grid-container table.waffle svg{display:block}.fixed-table-container{overflow:visible;z-index:4}.docs-guides-htmlguiderenderer{z-index:14}.fixed4-inner-container,.fixed4-outer-container,.grid4-inner-container,.grid4-outer-container{position:relative;vertical-align:top}.fixed4-outer-container,.grid4-outer-container{overflow:visible}.fixed4-inner-container,.grid4-inner-container{overflow:hidden}.fixed4-inner-container{z-index:4}.grid4-inner-container{z-index:3}.grid-fixed-wrapper{overflow:hidden;white-space:nowrap}.grid-scrollable-wrapper{white-space:nowrap}.uberlay{position:absolute;height:0;width:0;top:0}.overlay-container-ltr{position:absolute;height:0;width:0;top:0;left:0}.overlay-container-rtl{position:absolute;height:0;width:0;top:0;right:0}.focused-overlay-container{position:absolute;overflow:hidden;pointer-events:none}.grid-vertical-scroll{width:20px}.grid-horizontal-scroll{height:20px;float:right}.header-bg{background-color:#e8eef7}.waffle-measurement-table{position:absolute;width:0;height:0;overflow:hidden}.cell-input{width:100%;height:100%;margin:0;outline:none;cursor:text;-webkit-user-modify:read-write-plaintext-only;white-space:pre-wrap;-webkit-transform:translateZ(0);background-color:white}.waffle-formula-preview-decorator{background:white;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;box-shadow:0 1px 2px rgba(0,0,0,0.5);color:#3266d5;font-family:Inconsolata,monospace,arial,sans,sans-serif;font-size:13px;line-height:17px;padding:3px 2px 3px 7px}.waffle-formula-preview-decorator.waffle-formula-preview-equals-aligned::before,.waffle-formula-preview-decorator.waffle-formula-preview-partial::before{background-color:white;bottom:-4.5px;box-shadow:2px 2px 2px rgba(0,0,0,0.2);content:'\0000a0';display:block;margin-left:-5px;height:10px;position:absolute;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);width:10px}.waffle-formula-preview-decorator.waffle-formula-preview-partial::before{left:50%}.waffle-formula-preview-result{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.waffle-formula-preview-button{display:inline-block;margin:-2px;opacity:.35;-webkit-transform:scale(.6,.6);-moz-transform:scale(.6,.6);-ms-transform:scale(.6,.6);-o-transform:scale(.6,.6);transform:scale(.6,.6)}.waffle-formula-preview-button:hover{opacity:.7}.selection{position:absolute;opacity:0.20;z-index:5}.input-box{border:2px #5292f7 solid;border-color:#1a73e8;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:400;margin:0;max-height:9900px;max-width:9900px;outline:none;overflow:auto;padding:0 2px;position:absolute;resize:none;text-align:left;top:-10000px;white-space:pre-wrap;word-wrap:break-word;z-index:15}.input-box-disable-box-shadow{box-shadow:none}.IE .input-box{padding-top:1px}.disabled-input{-webkit-user-modify:read-only;color:#777}.text-sizer,.input-capturer{position:absolute;top:-4000px}.range-border{position:absolute;border-width:0;border-style:solid;padding:0;_overflow:hidden}.border-opacity{filter:alpha(opacity=30);opacity:0.3}.cell-border{line-height:1px}.active-cell-border{border-color:#1a73e8;line-height:1px;z-index:7}.selection-border{border-color:#1a73e8;line-height:0;z-index:7}.selection-border-cover{position:absolute;z-index:7}.selection-border-dragging{border-color:#1a73e8;border-style:dashed;line-height:0;z-index:7}.waffle-clipboard-border{border-color:#1a73e8;border-style:dashed;line-height:0}.autofill-border{border-color:gray;border-style:dashed;line-height:0}.array-border{border-color:#1a73e8;border-style:solid;line-height:0}.autofill-handle{_overflow:hidden;background-color:#1a73e8;border:1px solid white;height:6px;margin-top:1px;position:absolute;width:6px;z-index:8}.autofill-handle-rtl{border-width:1px 1px 0 0}.autofill-handle-ltr{border-width:1px 0 0 1px}.autofill-cover{position:absolute;cursor:crosshair;width:8px;height:8px;z-index:9}.postpaste-parent{background:#f5f5f5;border:1px solid #d9d9d9;box-shadow:inset 0 1px 0 0 #fff;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#eee);background-image:-moz-linear-gradient(top,#f5f5f5,#eee);background-image:-ms-linear-gradient(top,#f5f5f5,#eee);background-image:-o-linear-gradient(top,#f5f5f5,#eee);background-image:linear-gradient(top,#f5f5f5,#eee);position:absolute;z-index:8}.postpaste-parent{background:#fff;border:none;box-shadow:0 1px 3px 1px rgba(60,64,67,.15);border-radius:4px}.goog-toolbar-menu-button.postpaste-container{margin:0;min-width:0px;border-color:transparent!important}.goog-toolbar-menu-button.postpaste-container{border:none!important;height:100%;width:100%}.postpaste-container.goog-toolbar-menu-button-open.goog-toolbar-menu-button-hover{background:#ceead6}.goog-toolbar-menu-button-focused.postpaste-container{border-color:#c6c6c6!important}.goog-toolbar-menu-button-open.postpaste-container{border-color:#c6c6c6!important}.goog-menuitem.postpaste-menu-item{padding-right:26px;padding-left:15px}.post-paste-menu{margin:12px 3px 0 0}.postpaste-clipboard-icon{margin-left:8px;margin-top:4px}.overlay-container-rtl .postpaste-clipboard-icon{margin-right:26px}.postpaste-parent .goog-toolbar-menu-button-dropdown.postpaste-arrow{left:0;margin-left:32px;margin-top:4px;position:absolute;right:0}.overlay-container-rtl .goog-toolbar-menu-button-dropdown.postpaste-arrow{margin-right:10px}.waffle-dbsource-container,.waffle-recommendation-card-overlay,.waffle-texttocolumns-overlay{position:absolute;z-index:8}.waffle-texttocolumns-wrapper{background:#f5f5f5;border:1px solid #d9d9d9;padding:2px}.waffle-texttocolumns-separator-label{font-size:11px;font-weight:500;margin:2px;top:0}.waffle-texttocolumns-custom-input{position:absolute;top:3px;width:120px}.waffle-blameview{background:#fff;border-radius:8px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);display:flex;outline:none;overflow:hidden;position:absolute;width:240px}.waffle-blameview-cell-ref{font-family:Inconsolata,monospace,arial,sans,sans-serif;font-style:normal}.waffle-blameview-formula-text{font-family:Inconsolata,monospace,arial,sans,sans-serif;font-style:normal}a.waffle-blameview-image-link{color:#1a73e8;font-style:italic;text-decoration:underline}.freezebar .freezebar-drop,.freezebar .freezebar-handle-bar,.resizer,.resizer-hover .resizer-handle-bar,.resizer-drop,.rowcol-dragger .rowcol-dragger-handle,.rowcol-dragger .rowcol-dragger-handle-bar,.rowcol-dragger .rowcol-dragger-drop{display:none;outline:0}.freezebar-active .freezebar-drop,.freezebar-active .freezebar-handle-bar,.resizer-hover,.resizer-active,.resizer-active .resizer-handle-bar,.resizer-active .resizer-drop,.rowcol-dragger-hover .rowcol-dragger-handle,.rowcol-dragger-active .rowcol-dragger-handle,.rowcol-dragger-active .rowcol-dragger-handle-bar,.rowcol-dragger-active .rowcol-dragger-drop{display:block}.resizer{z-index:7;position:absolute}.resizer-handle{position:relative;border-style:none}.resizer-horizontal-handle{height:5px;cursor:n-resize;background:#4d90fe}.resizer-vertical-handle{width:5px;cursor:e-resize;background:#4d90fe}.resizer-rtl .resizer-vertical-handle{cursor:w-resize}.resizer-horizontal-handle-bar{position:absolute;height:1px;background-color:#4d90fe;top:2px;overflow:hidden}.resizer-vertical-handle-bar{position:absolute;width:1px;background-color:#4d90fe;left:2px;border:0;padding:0;overflow:hidden}.freezebar-handle,.freezebar-drop{position:absolute;z-index:6}.freezebar-handle-bar,.freezebar-drop-bar{position:relative;z-index:7}.freezebar-vertical-handle-bar{width:2px;background:#dbe5f7;border-color:#a5c6fe;border-style:solid;border-width:0 1px;opacity:0.45;filter:alpha(opacity=45)}.freezebar-horizontal-handle-bar{height:2px;background:#dbe5f7;border-color:#a5c6fe;border-style:solid;border-width:1px 0;opacity:0.45;filter:alpha(opacity=45)}.freezebar-vertical-handle{width:4px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAYCAIAAABSh8vJAAAAEElEQVQYV2PYgwQYRjnEcgDquNOBEawK+wAAAABJRU5ErkJggg==") no-repeat}.overlay-container-rtl .freezebar-vertical-handle{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAYCAIAAABSh8vJAAAAEElEQVQYV2PYgwQYRjnEcgDquNOBEawK+wAAAABJRU5ErkJggg==") no-repeat;background-position:top right}.freezebar-vertical-handle-invisible{width:4px}.freezebar-active .freezebar-vertical-handle{width:5px}.freezebar-hover .freezebar-horizontal-handle{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAECAIAAAB+7JowAAAAFUlEQVQY02NYeuzfIEEMo04Z3E4BAHKzu4gtAIWGAAAAAElFTkSuQmCC") no-repeat;z-index:7}.freezebar-hover .freezebar-vertical-handle{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAYCAIAAABSh8vJAAAAE0lEQVQYV2NYeuwfHDGMcojlAADmjOdhimOdggAAAABJRU5ErkJggg==") no-repeat;z-index:7}.overlay-container-rtl .freezebar-hover .freezebar-horizontal-handle{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAECAIAAAB+7JowAAAAFUlEQVQY02NYeuzfIEEMo04Z3E4BAHKzu4gtAIWGAAAAAElFTkSuQmCC") no-repeat;background-position:top right}.overlay-container-rtl .freezebar-hover .freezebar-vertical-handle{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAYCAIAAABSh8vJAAAAE0lEQVQYV2NYeuwfHDGMcojlAADmjOdhimOdggAAAABJRU5ErkJggg==") no-repeat;background-position:top right}.freezebar-horizontal-handle{height:4px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAECAIAAAB+7JowAAAAEklEQVQY02PYM2gAw6hTBrdTAFI0lXC16jX6AAAAAElFTkSuQmCC") no-repeat}.overlay-container-rtl .freezebar-horizontal-handle{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAECAIAAAB+7JowAAAAEklEQVQY02PYM2gAw6hTBrdTAFI0lXC16jX6AAAAAElFTkSuQmCC") no-repeat;background-position:top right}.overlay-container-rtl .freezebar-horizontal-drop{background-position:right}.freezebar-horizontal-handle-invisible{height:4px}.freezebar-active .freezebar-horizontal-handle{height:5px}.freezebar-origin-rtl,.freezebar-origin-ltr{height:23px;width:45px;position:absolute;top:0px;border:1px #ccc solid}.freezebar-origin-ltr{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -205px 0;left:0px;border-width:0 1px 1px 0}.freezebar-origin-rtl{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -305px -62px;right:0px;border-width:0 0 1px 1px}.freezebar-vertical-drop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAYCAIAAABSh8vJAAAAEklEQVQYV2NInfsHjhhGOcRyAFpkv0GBZT1JAAAAAElFTkSuQmCC") no-repeat;width:4px}.freezebar-horizontal-drop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAECAIAAAB+7JowAAAAFUlEQVQoz2NInftnkCCGUacMbqcAAL1HbqBCYk6sAAAAAElFTkSuQmCC") no-repeat;height:4px}.freezebar-vertical-drop-bar{width:4px;background-color:#afbbd1;border-width:2px 1px 2px 2px}.freezebar-horizontal-drop-bar{height:4px;overflow:hidden;background-color:#afbbd1;border-width:2px 2px 1px 2px}.waffle-incelldropdownselect-menu-vertical{overflow-y:auto}.rowcol-dragger{position:absolute;z-index:6}.rowcol-dragger-drop-bar,.rowcol-dragger-handle-bar{z-index:6;position:absolute;background-color:#777;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.rowcol-dragger-handle-bar{border:2px solid #36c;opacity:0.20;filter:alpha(opacity=20)}.rowcol-dragger-horizontal-handle{width:36px}.rowcol-dragger-horizontal-drop-bar{height:2px}.rowcol-dragger-vertical-handle{height:23px}.rowcol-dragger-vertical-drop-bar{width:2px}.rowcol-dragger-handle,.rowcol-dragger-drop{position:absolute;z-index:6}.jfk-freestanding-menu-button.waffle-kennedy-column-menu-button{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI0IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQkRCREJEIiBkPSJNMCAwTDcgMCBMMy41IDR6Ii8+PC9zdmc+") center no-repeat;background-color:#f8f8f8;z-index:7}.jfk-freestanding-menu-button-hover.waffle-kennedy-column-menu-button{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI0IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMCAwTDcgMCBMMy41IDR6Ii8+PC9zdmc+") center no-repeat;background-color:#f8f8f8}.jfk-freestanding-menu-button-hover.waffle-column-type-button{box-shadow:0px -1px 5px rgba(128,134,139,0.09),0px 3px 5px rgba(128,134,139,0.06),0px 1px 2px rgba(60,64,67,0.3),0px 1px 3px rgba(60,64,67,0.15)}.jfk-freestanding-menu-button-focused.waffle-column-type-button{background:#ffffff;box-shadow:0px -1px 5px rgba(128,134,139,0.09),0px 3px 5px rgba(128,134,139,0.06),0px 1px 2px rgba(60,64,67,0.3),0px 1px 3px rgba(60,64,67,0.15);opacity:0.32}.goog-flat-menu-button-focused.waffle-set-column-type-button,.goog-flat-menu-button-focused.waffle-set-column-type-button:hover{background-color:#80868b;border:1px solid #80868b}a.in-cell-link{text-decoration:underline;cursor:default}.docs-bubble-link.docs-bubble-link-visited{color:#673ab7!important}.docs-link-insertlinkbubble .docs-icon-grid,.docs-link-insertlinkbubble .docs-icon-grid:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.annotation-bubble{position:absolute;z-index:14;margin:0 0 0 -2px;padding:0;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;max-width:200px}.annotation-editable{background-color:white;border:1px solid rgba(60,64,67,.15);border-radius:4px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;margin:0;outline:none;padding:8px;width:100%}.annotation-attribution{background-color:#fff;border-radius:4px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);font-size:13px;overflow:scroll;overflow-wrap:break-word;padding:12px;user-select:text}.annotation-attribution strong{display:block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:20px;margin-bottom:8px}.annotation-attribution span{display:block}.annotation-attribution-error{border-left:4px solid #ea4335}.annotation-attribution-error strong{color:#ea4335}.annotation-attribution-invalid{border-left:4px solid #ea4335}.annotation-attribution-invalid strong{color:#ea4335}.annotation-attribution-help{border-left:4px solid #ea4335}.annotation-attribution-help strong{color:#ea4335}.annotation-importrange{background-color:#ffffff;border:1px solid #ff0000;box-shadow:2px 2px 6px #888;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;margin:0;overflow-x:hidden;text-align:left;vertical-align:top;width:100%}.annotation-importrange-error-msg-box{margin-bottom:10px;text-align:left}.waffle-footer-container{height:4000px;position:relative;z-index:3}.waffle-background-container{background-color:#eee;width:50000px;height:0px;position:absolute;top:0;z-index:-1}.addRowsWidget-ltr{color:#222;float:left;padding:6px 0 0 45px;direction:ltr}.addRowsWidget-rtl{color:#222;float:right;padding:6px 45px 0 0;direction:ltr}div.addRowsButton-ltr{margin-top:0;margin-right:2px;vertical-align:middle}div.addRowsButton-rtl{margin-top:0;margin-left:2px;vertical-align:middle}div.addRowsText{color:#000000;padding-top:5px;vertical-align:middle}.addRowsError-ltr{color:#c00;float:left;padding:13px 0 0 10px}.addRowsError-rtl{color:#c00;float:right;padding:13px 10px 0 0}.addRowsInput{margin:0 4px 0 4px;vertical-align:middle}.waffle-formula-help-popup P{margin-top:0}.waffle-formula-help-popup a:visited{color:#15c}.waffle-formula-help-popup{position:absolute;top:0px;left:0px;-moz-border-radius:2px 2px 2px 2px;border-radius:2px 2px 2px 2px;-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.2);background-color:#ffffff;border:1px solid #cccccc;padding:16px;width:400px;margin-left:-1px;margin-top:-1px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;font-style:normal;color:#333333;white-space:normal}.waffle-input-box-decorator{border-style:none;border-width:0px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-weight:500;overflow:visible;position:absolute;white-space:nowrap;z-index:15}.waffle-input-box-locator{background-color:#4589eb;border-radius:1px;box-shadow:0px 1px 2px rgba(0,0,0,0.5);color:white;font-size:12px;line-height:14px;padding:6px 7px 4px 7px}.waffle-input-box-formula-help-decorator{background:#6da1ff;border:2px solid #5790f6;border-right:none;color:white;-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;cursor:pointer;font-size:11px;height:20px;line-height:13px;padding:2px 2px}.waffle-formula-bar-formula-help-decorator{-webkit-border-radius:2px 2px 2px 2px;-moz-border-radius:2px 2px 2px 2px;border-radius:2px 2px 2px 2px;border-right:2px solid #5790f6;height:18px;line-height:11px}.waffle-collab-presence{-moz-box-sizing:border-box;background-color:#65ad89;border-radius:2px;box-sizing:border-box;color:white;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;line-height:12px;padding:1px 2px;position:absolute;z-index:7}#waffle-loading-screen{background-color:#fff;width:100%;font-size:15px;display:none}.waffle-loading-rows{width:100%;font-size:12px;padding:5px 30px}.waffle-loading-rows-spinner{vertical-align:text-bottom;width:16px;height:16px;margin:0px 10px}.waffle-hyperlink-icon{display:inline-block;position:absolute}.waffle-hyperlink-icon-visited:after{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -565px -12px;cursor:pointer;width:12px;height:12px;display:block;float:right;content:"";margin-top:4px;margin-bottom:-1px}.waffle-hyperlink-icon:after{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -70px -24px;cursor:pointer;width:12px;height:12px;display:block;float:right;content:"";margin-top:4px;margin-bottom:-1px}.waffle-hyperlink-tooltip:hover{background:#fff;box-shadow:0px 0px 2px 0px rgba(0,0,0,0.20),0px 2px 3px 0px rgba(0,0,0,0.30)}.waffle-hyperlink-tooltip{background:#fcfcfc;box-shadow:0px 0px 2px 0px rgba(0,0,0,0.15),0px 1px 2px 0px rgba(0,0,0,0.40);border-radius:1px;display:inline-block;padding:5px 18px 5px 7px;position:absolute}.waffle-hyperlink-tooltip-link{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;color:#15c;line-height:19px;padding:5px 7px 5px 0;text-decoration:none;white-space:nowrap}a.waffle-hyperlink-tooltip-link{color:#15c}.waffle-hyperlink-tooltip-link:hover{text-decoration:none}.waffle-multilink-tooltip{position:absolute}.waffle-insert-link-selection-overlay{background-color:rgba(140,196,116,0.25);overflow:hidden;position:absolute;z-index:16}.waffle-column-menu-button{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -168px -43px;cursor:pointer;list-style:none;width:12px;height:12px;outline:none;position:absolute;z-index:7}.waffle-column-menu-button-hover,.waffle-column-menu-button-checked,.waffle-column-menu-button-focused{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -83px -34px}.waffle-column-menu-button-disabled{cursor:default;filter:alpha(opacity=30);opacity:0.3}.waffle-column-type-button{background:none;border-radius:2px;cursor:pointer;height:18px;list-style:none;outline:none;position:absolute;width:18px;z-index:7}.waffle-set-column-type-button{background-color:#f8f8f8;border:1px solid #e5e5e5;border-radius:1px;cursor:pointer;height:11px;outline:none;width:11px;z-index:7}.waffle-set-column-type-button:hover{border:1px solid #c6c6c6}.waffle-set-column-type-button .docs-icon{height:12px;left:-2px;top:-3px;width:12px}.waffle-set-column-type-button .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg)}.waffle-set-column-type-button .docs-icon-gear{left:0;top:-4504px}.waffle-set-column-type-button .docs-icon-gear:hover{left:-40px;top:-5271px}.goog-flat-menu-button-focused.waffle-set-column-type-button .docs-icon-gear:hover{left:0;top:-4504px}.waffle-calculated-column-button{background:#80868b;border:none;cursor:pointer;list-style:none;opacity:0;outline:none;position:absolute;z-index:7}.waffle-calculated-column-button:hover{opacity:1}.waffle-disclaimer{font-size:11px;background-color:#ececec;color:#656565;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:20px}#waffle-disclaimer-content{border-bottom:1px solid #c0c0c0;border-left:0 none;border-right:0 none;padding-left:47px}.waffle-disclaimer-link{color:#77c;padding-left:3px}.apps-toast{z-index:16}.apps-toast-fill{z-index:17}.trix-offscreen{position:absolute;left:-10000px;top:-10000px}#promo-target{display:inline}#waffle-grid-container{margin-right:auto;position:relative}#docs-editor-container{touch-action:none;-ms-scroll-chaining:none}.border-style-menu-item-container{background-position:left 15px center;padding-left:30px!important;padding-right:40px!important}.border-style-menu-item{height:12px;min-height:12px!important}.border-style-menu-item .border-style-menu-icon{position:relative;left:15px;top:-4px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.border-style-menu-item .border-style-menu-icon{position:relative;left:15.5px;top:-4.78px}}@media screen and (-moz-windows-theme){.border-style-menu-item .border-style-menu-icon{position:relative;left:15px;top:-4.5px}}#t-border-palette .goog-palette-cell-selected{background-color:#e1e1e1}#t-border-palette .goog-palette-cell{padding:2px}#t-border-palette .goog-palette-table{border-right:1px solid #eee}span.jfk-checkbox{margin-bottom:1px}.match-paren{background-color:#e5e5e5;font-weight:500}.match-string{background-color:#eee}.error-code,.boolean{color:#15c}.active-range{box-shadow:0 0 6px 2px #333;opacity:0.1;pointer-events:none}.inactive{opacity:0.5}.formula-error{color:#dd4b39}.argument-error,.formula-eval-error{color:#dd4b39;text-decoration:underline}.number{color:#15c}.string{color:green}.default-formula-text-color{color:black}.insert-range-indicator{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjMiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNjY2MiPjxwYXRoIGQ9Ik0wLjUgMEwwLjUgM00wIDIuNUw4IDIuNU03LjUgM0w3LjUgMCIvPjwvc3ZnPg==") bottom no-repeat;background-size:contain;width:8px;margin-left:2px;cursor:default}.insert-range-indicator:after{content:" "}.formula-replace-text{text-decoration:underline}.trix-tooltip-link{color:#4285f4}.trix-tooltip-link:hover{text-decoration:underline}.formula-content{font-family:Inconsolata,monospace,arial,sans,sans-serif;font-size:14px}#apps-debug-tracers{display:none}.jfk-bubble.waffle-error-bubble{background-color:#fff3f2;border:1px solid #db4437;border-radius:1px;box-shadow:0 1px 2px 0 rgba(0,0,0,0.1);color:#c5221f;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:-0.1px;line-height:16px;max-width:200px;padding:8px;transition:opacity 200ms ease-in}.waffle-function-localization-promo{background-color:#fafafa;bottom:100px;box-shadow:1px 2px 5px rgba(0,0,0,0.28);color:#616161;height:180px;padding:20px;position:absolute;right:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:350px;z-index:1000}.waffle-function-localization-promo-title{font-size:18px;font-weight:500;margin:5px 0 20px 0}.waffle-function-localization-promo-body{font-size:13px;line-height:22px}.waffle-function-localization-promo-button-bar{bottom:25px;right:25px;line-height:22px;position:absolute}.jfk-button.waffle-function-localization-promo-no-button{color:#0f9d58;cursor:pointer;margin-right:10px;padding:5px}.jfk-button.waffle-function-localization-promo-yes-button{background-color:#0f9d58;color:#fafafa;cursor:pointer;padding:5px}.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-track{background-color:#ceead6;opacity:1}.apps-ui-material-slide-toggle-container-checked .apps-ui-material-slide-toggle-thumb{background-color:#188038}.apps-actiondatawidget-shortcut-desc{width:278px}.apps-actiondatawidget-shortcut-key{line-height:17px;width:251px;padding-left:24px}.apps-actiondatawidget-content{width:100%}::-ms-clear,::-ms-reveal{display:none}.waffle-rich-text-link,a.waffle-rich-text-link{color:#15c;text-decoration:underline}.waffle-rich-text-link-popup{background-color:#fff;border:1px solid;border-color:#bbb #bbb #a8a8a8;padding:12px 20px;position:absolute;white-space:nowrap;z-index:15}.waffle-dataconnectormenu-note{color:rgba(0,0,0,0.38);font-size:11px;padding-left:8px}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-button{align-items:center;background-color:#fff;border-radius:15px;border:1px solid #dadce0;box-sizing:border-box;color:#d93025;cursor:pointer;display:flex;float:right;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:30px;margin:4px 8px;outline:none;padding:0 8px}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-button:hover{background:rgba(217,48,37,.04);color:#a50e0e}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-button:focus{background:rgba(217,48,37,.12);color:#a50e0e}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-button:focus{background:rgba(217,48,37,.1);border:1px solid #a50e0e;color:#a50e0e}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-button .waffle-view-icons-error-filled{height:18px;margin-right:8px;width:18px}.jfk-bubble.jfk-bubble-promo.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble{background:#fff;border:none;border-radius:8px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);box-sizing:border-box;min-height:140px;padding:8px;width:275px}.jfk-bubble-promo.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.jfk-bubble-promo.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore{border-color:rgba(60,64,67,.15) transparent}.jfk-bubble-promo.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplafter,.jfk-bubble-promo.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#fff transparent}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble-header{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;letter-spacing:0.1px;margin:8px}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble-body{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;letter-spacing:0.2px;margin:0 8px 8px 8px}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble-buttons{display:flex;justify-content:flex-end}.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble-call-to-action,.waffle-assistant-data-cleanup-suggestions-bottom-entry-point-bubble-dismiss-button{margin-right:8px}.waffle-ui-text-link-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:transparent;border:none;color:#188038;cursor:pointer;outline:none;padding:8px}.waffle-ui-text-link-button.dense{height:24px;padding:0 8px}.waffle-ui-text-link-button-hover{background:rgba(24,128,56,0.04);color:#0d652d}.waffle-ui-text-link-button-focused{background:rgba(24,128,56,0.12);color:#0d652d}.waffle-ui-text-link-button-active{background:rgba(24,128,56,0.1)}.waffle-ui-text-link-button-disabled{color:rgba(60,64,67,0.38)}.waffle-ui-text-link-with-icon-button-text{display:inline-block;margin-left:2px;margin-top:1px;vertical-align:middle}.docs-gm .docs-material .waffle-ui-text-link-green-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.goog-grey.waffle-ui-text-link-button{color:#5f6368}.goog-grey.waffle-ui-text-link-button-hover{background:rgba(32,33,36,0.04);color:#202124}.goog-grey.waffle-ui-text-link-button-focused{background:rgba(32,33,36,0.12);color:#202124}.goog-grey.waffle-ui-text-link-button-active{background:rgba(32,33,36,0.1);color:#202124}.goog-red.waffle-ui-text-link-button{color:#d93025}.goog-red.waffle-ui-text-link-button-hover{background:rgba(217,48,37,0.04);color:#a50e0e}.goog-red.waffle-ui-text-link-button-focused{background:rgba(217,48,37,0.12);color:#a50e0e}.goog-red.waffle-ui-text-link-button-active{background:rgba(217,48,37,0.1);color:#a50e0e}.docs-charts-editor{margin-right:10px}.docs-charts-editor .docs-charts-editor-toggle-tabs{position:absolute;top:0;width:100%}.docs-charts-editor .docs-charts-editor-scroll-pane{bottom:0;position:absolute;top:43px;overflow:auto;width:100%}.docs-charts-editor .docs-charts-editor-scroll-pane .docs-charts-editor-customize-tab{background-color:#f8f9fa;bottom:0;position:absolute;top:0;width:100%}.docs-charts-editor-control-label{color:#5f6368;display:block;font-size:12px;line-height:15px;margin-bottom:8px;margin-right:2px}.docs-charts-editor-row,.docs-charts-editor-tall-row{font-size:0}.docs-charts-editor-row>.docs-charts-editor-col{font-size:13px;vertical-align:top}.docs-charts-editor-row>.docs-charts-editor-col>div{margin:10px 0 10px 0}.docs-charts-editor-checkboxes-container{margin:10px 0}.docs-charts-editor-checkboxes-container-no-bottom-margin{margin:10px 0 0}.docs-charts-editor-checkboxes-container .docs-material-gm-labeled-checkbox{padding:4px 0}.docs-charts-editor-row>.docs-charts-editor-col>div>.docs-material-labeled-checkbox{margin:0}.docs-charts-editor-tall-row>.docs-charts-editor-col>div{margin:20px 0 20px 0}.docs-charts-editor-tall-row:first-child .docs-charts-editor-col>div{margin-top:10px}.docs-charts-editor-col.col-100{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.docs-charts-editor-col.col-50{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;width:50%}.docs-charts-editor-col.col-50~.docs-charts-editor-col.col-50:first-of-type{padding-right:10px}.docs-charts-editor-col.col-50+.docs-charts-editor-col.col-50:last-of-type{padding-left:10px}.docs-charts-editor-col.col-70-left{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;padding-right:10px;width:70%}.docs-charts-editor-col.col-30-right{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;padding-left:10px;width:30%}.docs-charts-editor-col.col-60-left{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;padding-right:10px;width:60%}.docs-charts-editor-col.col-40-right{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;padding-left:10px;width:40%}.docs-charts-editor-col.col-50 .docs-material-gm-labeled-checkbox-content{max-width:80%}.docs-charts-editor-col.col-50>div>.docs-material-labeled-checkbox{margin-top:24px}.docs-charts-editor-scroll-pane.docs-charts-editor-scroll-pane-custom-sidebar::-webkit-scrollbar{width:12px}.docs-charts-editor-scroll-pane.docs-charts-editor-scroll-pane-custom-sidebar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.2);background-clip:padding-box;border:solid transparent;border-width:1px 2px 1px 2px;box-shadow:none;min-height:28px;padding:1px}.docs-charts-editor-scroll-pane.docs-charts-editor-scroll-pane-custom-sidebar::-webkit-scrollbar-thumb:hover{box-shadow:none}.docs-charts-editor-scroll-pane.docs-charts-editor-scroll-pane-custom-sidebar::-webkit-scrollbar-track{background-clip:border-box;background-color:#f5f5f5;border:solid #e0e0e0;border-width:1px;box-shadow:none}.docs-charts-editor-scroll-pane.docs-charts-editor-scroll-pane-custom-sidebar::-webkit-scrollbar-track:hover{background-color:#f5f5f5;background-clip:border-box;box-shadow:none;border:solid #e0e0e0;border-width:1px}.docs-charts-editor-bundle.docs-charts-editor-parent-bundle{border-bottom:1px solid rgba(0,0,0,0.12)}.docs-charts-editor-customize-tab .docs-charts-editor-bundle.docs-charts-editor-parent-bundle{border-bottom:2px solid #f8f9fa}.docs-charts-editor-customize-tab .docs-charts-editor-bundle.docs-charts-editor-parent-bundle>div{border:2px solid #f8f9fa}.docs-charts-editor-bundle.docs-charts-editor-parent-bundle.docs-charts-editor-open-bundle{padding:8px 16px 6px 16px}.docs-charts-editor-selector-bundle-selector-wrapper{padding:0 16px}.docs-charts-editor-selector-bundle-selector-wrapper{padding:8px 16px}.docs-charts-editor-selector-bundle-selector-label{color:rgba(0,0,0,0.54);display:inline-block;line-height:26px;vertical-align:top}.docs-charts-editor-selector-bundle-selector{display:inline-block;max-width:100%;padding-left:0;width:100%}.docs-charts-editor-selector-bundle-selector .docs-material-labeled-select-outer-box{border:none;margin-bottom:0px}.docs-charts-editor-selector-bundle-selector .docs-material-gm-labeled-select-outer-box{box-shadow:0 1px 3px 1px rgba(60,64,67,.15);border:none;margin-bottom:0px}.docs-charts-editor-selector-bundle-selector .docs-material-labeled-select-caption{font-weight:500}.docs-charts-editor-selector-bundle-selector .docs-material-gm-labeled-select-caption{color:#188038;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px}.docs-charts-editor-selector-bundle-selector .docs-material-labeled-select-content{display:none}.docs-charts-editor-selector-bundle-selector .docs-material-gm-labeled-select-content{display:none}.docs-charts-editor-selector-bundle-selector .docs-material-gm-labeled-select-focused .docs-material-gm-labeled-select-outer-box,.docs-charts-editor-selector-bundle-selector .docs-material-gm-labeled-select-open .docs-material-gm-labeled-select-outer-box{background-color:#f1f3f4}.docs-charts-editor-selector-bundle-selector .docs-material-gm-labeled-select-hover .docs-material-gm-labeled-select-outer-box{background-color:#f8f9fa}.docs-charts-editor-selector-bundle{background:transparent;padding:4px 16px 6px 16px}.docs-charts-editor-selector-bundle .docs-charts-editor-selector-bundle-header{color:#3c4043;font-size:14px;font-weight:500;letter-spacing:.2px;line-height:24px;margin-bottom:-4px;padding:10px 0;padding-top:8px}.docs-charts-editor-bundle-container{padding:0 16px 6px}.docs-charts-editor-basic-bundle .docs-charts-editor-bundle.docs-charts-editor-parent-bundle{border-bottom:none}.docs-charts-editor-basic-bundle .docs-charts-editor-bundle.docs-charts-editor-parent-bundle.docs-charts-editor-open-bundle{padding-bottom:0px}.docs-charts-editor-basic-bundle .docs-charts-editor-row,.docs-charts-editor-data-picker-bundle .docs-charts-editor-row{overflow:hidden}.docs-charts-editor-data-picker-bundle .docs-charts-editor-bundle.docs-charts-editor-parent-bundle{border-bottom:none;padding-top:0}.docs-charts-editor-alert-bundle{color:rgba(0,0,0,0.54);line-height:22px;text-align:center}.docs-charts-editor-alert-bundle .docs-charts-editor-bundle.docs-charts-editor-parent-bundle{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;border-bottom:none;bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.docs-charts-editor-alert-bundle .docs-charts-editor-bundle.docs-charts-editor-parent-bundle>div{width:100%}.docs-charts-editor-alert-bundle-icon{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjRTBFMEUwIj48cGF0aCBkPSJNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHptMi41IDJoLTE1VjVoMTV2MTR6bTAtMTZoLTE1Yy0xIDAtMiAxLTIgMnYxNGMwIDEgMSAyIDIgMmgxNWMxIDAgMi0xIDItMlY1YzAtMS0xLTItMi0yeiIvPjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz48L3N2Zz4=");background-position:center;background-repeat:no-repeat;background-size:100px 100px;height:100px;width:100%}.docs-charts-editor-pill-remove-button{background:none;background-color:#bfbfbf;border:none;border-radius:16px;bottom:2px;float:right;height:16px;margin:8px;position:relative;transition:background-color 0.2s ease;width:auto}.docs-charts-editor-pill-remove-button.jfk-button-hover{background-color:#aaa}.docs-charts-editor-pill{background-color:#fff;border-radius:0;box-shadow:none;padding-left:0;padding-right:0}.docs-charts-editor-pill-remove{position:relative;width:100%}.docs-charts-editor-pill-flex{display:flex}.docs-charts-editor-pill-flex-col{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-ms-flex:50%;-webkit-flex:50%;flex:50%;display:inline-block;padding-left:10px}.docs-charts-editor-pill-flex-col:first-of-type{padding-left:0px}.docs-charts-editor-pill-fixed-col{padding-left:10px}.docs-charts-editor-pill-fixed-col:first-of-type{padding-left:0px}.docs-charts-editor-column-names-menu-wrapper{display:none}.docs-charts-editor-column-names-menu-enabled{width:460px!important}.docs-charts-editor-column-names-menu-enabled .docs-charts-editor-toggle-tabs{border-bottom:1px solid #dadce0}.docs-charts-editor-column-names-menu-enabled .docs-charts-editor-scroll-pane{overflow-y:hidden}.docs-charts-editor-column-names-menu-enabled .docs-charts-editor-basic-tab{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;height:100%;overflow:hidden}.docs-charts-editor-column-names-menu-enabled .docs-charts-editor-basic-tab-bundle-wrapper{border-right:1px solid #dadce0;height:100%;overflow-y:auto;width:300px}.docs-charts-editor-column-names-menu-enabled .docs-charts-editor-column-names-menu-wrapper{display:block;height:100%;overflow-y:auto;width:160px}.docs-charts-editor-column-names-menu-enabled .docs-charts-editor-customize-tab{overflow-y:auto}.docs-charts-editor-customize-tab hr{background-color:#dadce0;border:0;height:1px;margin:17px -16px}.docs-charts-editor-charttype-select-icon{float:left}.docs-charts-editor-charttype-select-icon>svg{height:18px;width:18px;margin-right:10px;vertical-align:sub}.docs-material-select-disabled .docs-charts-editor-charttype-select-icon{opacity:0.12}.docs-charts-editor-charttype-new{background-color:#000;border:1px solid #fff;border-radius:1px;bottom:1px;color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:10px;font-weight:500;height:16px;line-height:17px;opacity:.54;padding:0 4px;position:absolute;right:1px;text-transform:uppercase}.docs-charts-editor-chart-type-select .docs-material-gm-select-caption{width:100%}.docs-charts-editor-charttype-menu{box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);background-color:white;margin-left:-12px;margin-top:5px;overflow-x:hidden;overflow-y:scroll;padding:10px 16px;position:absolute;width:270px;z-index:3}.docs-charts-editor-charttype-option{border:1px solid #bdbdbd;cursor:pointer;height:45px;margin:0 23px 10px 0;overflow:hidden;padding:2px;position:relative;width:67px}.docs-charts-editor-palette-label{color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px}.docs-charts-editor-charttype-menu .goog-palette{display:inline-block;margin-bottom:0px;margin-top:10px}.docs-charts-editor-charttype-menu .goog-palette-cell{border:0;cursor:inherit}.docs-charts-editor-charttype-menu .goog-palette-table{border:0;margin:5px 0 0 0}.goog-palette-cell-hover .docs-charts-editor-charttype-option{border:1px solid #9e9e9e}.goog-palette-cell-selected .docs-charts-editor-charttype-option{box-shadow:0 0 0 4px #c6dafc}.docs-charts-editor-charttype-option-canvas{direction:ltr;height:45px;width:67px}.docs-charts-editor-charttype-option-gviz-org-chart{-webkit-transform:scale(0.61,0.68);-moz-transform:scale(0.61,0.68);-ms-transform:scale(0.61,0.68);-o-transform:scale(0.61,0.68);transform:scale(0.61,0.68);background:url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1428px no-repeat}.docs-charts-editor-charttype-option-gviz-radar-chart{-webkit-transform:scale(0.60,0.60);-moz-transform:scale(0.60,0.60);-ms-transform:scale(0.60,0.60);-o-transform:scale(0.60,0.60);transform:scale(0.60,0.60);background:url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2233px no-repeat}.docs-charts-editor-charttype-option-gviz-annotated-timeline-chart{-webkit-transform:scale(0.61,0.68);-moz-transform:scale(0.61,0.68);-ms-transform:scale(0.61,0.68);-o-transform:scale(0.61,0.68);transform:scale(0.61,0.68);background:url("//ssl.gstatic.com/charts/static/thumbs17.png") 0 -1895px no-repeat}.docs-charts-editor-charttype-option-gviz-table-chart{-webkit-transform:scale(0.61,0.68);-moz-transform:scale(0.61,0.68);-ms-transform:scale(0.61,0.68);-o-transform:scale(0.61,0.68);transform:scale(0.61,0.68);background:url("//ssl.gstatic.com/charts/static/thumbs17.png") 0 -1351px no-repeat}.docs-charts-editor-charttype-option-gviz-geo-chart{-webkit-transform:scale(0.61,0.68);-moz-transform:scale(0.61,0.68);-ms-transform:scale(0.61,0.68);-o-transform:scale(0.61,0.68);transform:scale(0.61,0.68);background:url("//ssl.gstatic.com/charts/static/thumbs17.png") 0 -2772px no-repeat}.docs-charts-editor-charttype-option-gviz-geo-chart-with-markers{-webkit-transform:scale(0.61,0.68);-moz-transform:scale(0.61,0.68);-ms-transform:scale(0.61,0.68);-o-transform:scale(0.61,0.68);transform:scale(0.61,0.68);background:url("//ssl.gstatic.com/charts/static/thumbs17.png") 0 -612px no-repeat}.docs-charts-editor-charttype-option-disabled-chart{opacity:0.25}.docs-charts-editor-charttype-option-gviz-org-chart,.docs-charts-editor-charttype-option-gviz-radar-chart,.docs-charts-editor-charttype-option-gviz-annotated-timeline-chart,.docs-charts-editor-charttype-option-gviz-table-chart,.docs-charts-editor-charttype-option-gviz-geo-chart,.docs-charts-editor-charttype-option-gviz-geo-chart-with-markers{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;float:left;height:67px;width:110px}.docs-charts-editor-gauge-colored-range-bundle{border-top:1px dashed #9e9e9e;margin-top:20px;padding-top:5px}.docs-charts-editor-gauge-colored-range-bundle .docs-charts-editor-row>.docs-charts-editor-col>div{margin:0}.docs-charts-editor-gauge-colored-range-bundle .docs-charts-editor-row{margin-top:10px}.docs-charts-editor-number-format-type-container{display:flex;justify-content:space-between}.docs-charts-editor-number-format-type-example{color:#80868b}.docs-material-gm-labeled-select .docs-charts-editor-number-format-type-example{display:none}.docs-charts-editor-number-format-type-header{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;left:38px;line-height:13px;padding:4px 0;text-transform:uppercase}.docs-charts-editor-pie-slice-options hr{background-color:#dadce0;border:0;height:1px;margin:17px -16px}.docs-charts-editor-recommendation-zippy{background-color:#e6f4ea;border:1px solid #ceead6;border-radius:4px}.docs-charts-editor-recommendation-zippy-header{padding:4px 0}.docs-charts-editor-recommendation-zippy-header-icon{display:inline-block;padding:0 8px}.docs-charts-editor-recommendation-zippy-header-text{color:#3c4043;font-weight:500}.docs-charts-editor-recommendation-zippy-toggle{font-weight:400;text-transform:none}.docs-charts-editor-recommendation-zippy-header-left{float:left;line-height:32px}.docs-charts-editor-recommendation-zippy-header-right{float:right}.docs-charts-editor-recommendation-zippy-header:after{content:"";clear:both;display:table}.docs-charts-editor-recommendation-zippy-body{padding:0 4px;text-align:center}.docs-charts-editor-recommendation-zippy .goog-palette-cell{border:0;cursor:inherit}.docs-charts-editor-recommendation-zippy .goog-palette-table{border:0;margin:5px 0 0 0;width:100%}.docs-charts-editor-recommendation-zippy .waffle-charteditor-recommendation-palette.goog-palette{border-bottom:none;display:inline-block;margin:0;padding:0;width:100%}.docs-charts-editor-recommendation-zippy .waffle-charteditor-recommendation-option{background-color:white;height:75px;margin:4px 6px 8px 8px;max-width:114px;padding:0;width:initial}.docs-charts-editor-series-select-color{border-radius:50%;height:15px;left:-15px;margin:0;position:relative;top:3px;width:15px}.docs-charts-editor-series-select .docs-material-gm-labeled-select-caption>div{color:#202124;padding-left:20px}.docs-charts-editor-series-point-shape-icon{fill:rgba(0,0,0,0.87);height:12px;margin-bottom:-1px;margin-right:9px;width:12px}.goog-menuitem-content .docs-charts-editor-series-point-shape-icon{margin-left:-12px}.docs-charts-editor-series-line-dash-type-icon{height:2px;stroke:rgba(0,0,0,0.87);width:75px;vertical-align:middle}.docs-charts-editor-series-item-selection-dialog-input-default-caption{color:#bdbdbd}.docs-charts-editor-series-format-labeledsection .docs-charts-editor-control-label.docs-charts-editor-labeledsection,.docs-charts-editor-series-format-data-point-button .docs-charts-editor-control-label.docs-charts-editor-labeledactionablebutton-label{color:#3c4043;font-size:14px;font-weight:500;letter-spacing:.2px;line-height:24px;margin-bottom:0;padding:10px 0}.docs-charts-editor-series-format-label-hide{display:none}.docs-charts-editor-series-format-data-point-button>div{display:flex;justify-content:space-between}.docs-charts-editor-series-format-data-point-button .docs-charts-editor-labeledactionablebutton{padding:10px 0}.col-50.docs-charts-editor-series-format-data-point-button{padding:10px 0;text-align:right}.docs-charts-editor-series-single-item-style-item-select{max-width:70%}.docs-charts-editor-table-border-container{background:#fdfdfd;border-top:1px solid #e0e0e0;padding:0 16px 6px}.docs-charts-editor-table-border-container .docs-charts-editor-col.col-50>div>.docs-material-labeled-checkbox{margin-top:24px}.docs-charts-editor-textstyle-toolbar{border:1px solid #d8d8d8;border-radius:1px;margin:6px 0;padding:0 4px}#docs-charts-editor-textstyle-font-family .goog-toolbar-menu-button-caption{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;width:67px}#docs-charts-editor-textstyle-font-size .goog-toolbar-combo-button-caption{width:32px}#docs-charts-editor-textstyle-font-size .goog-toolbar-combo-button-input{width:12px}.docs-charts-editor-textstyle-container{border:1px solid #dadce0;border-radius:4px;display:inline-block;height:40px;line-height:40px}.docs-charts-editor-textstyle-separator{border-left:1px solid #dadce0;height:25px;margin:7px 1px;vertical-align:top}.docs-charts-editor-textstyle-italic{margin-left:-1px}.docs-charts-editor-col.docs-charts-editor-waterfall-connector-line-color{width:48%}.docs-charts-editor-col.docs-charts-editor-waterfall-connector-line-thickness{width:52%}.docs-charts-editor-waterfall-add-total-button{color:#4285f4;font-weight:500;padding:2px 1px 0px 1px;text-transform:uppercase}.docs-charts-editor-waterfall-add-total-column{margin-bottom:10px}.docs-charts-editor-waterfall-total-column-label{-ms-flex:1;-webkit-flex:1;flex:1}.docs-charts-contextual-editor .docs-charts-editor-customize-tab .docs-charts-editor-bundle.docs-charts-editor-parent-bundle{border-bottom:none}.docs-charts-contextual-editor{bottom:0;left:0;margin-right:0;position:absolute;right:0;top:0}.docs-charts-editor.docs-charts-contextual-editor .docs-charts-editor-scroll-pane .docs-charts-editor-customize-tab{background-color:white}.docs-charts-editor-data-point-format-fill-style-bundle .docs-charts-editor-selector-bundle,.docs-charts-editor-data-point-format-line-style-bundle .docs-charts-editor-selector-bundle{padding:0}.docs-charts-contextual-editor-content .docs-charts-editor-noncollapsible-section .docs-charts-editor-data-point-format-fill-style-bundle .docs-charts-editor-material-toolbar-color-picker,.docs-charts-contextual-editor-content .docs-charts-editor-noncollapsible-section .docs-charts-editor-data-point-format-fill-style-bundle .docs-charts-editor-material-toolbar-color-picker-outer-box,.docs-charts-contextual-editor-content .docs-charts-editor-noncollapsible-section .docs-charts-editor-data-point-format-line-style-bundle .docs-charts-editor-material-toolbar-color-picker,.docs-charts-contextual-editor-content .docs-charts-editor-noncollapsible-section .docs-charts-editor-data-point-format-line-style-bundle .docs-charts-editor-material-toolbar-color-picker-outer-box{width:100%}.waffle-charteditor-domain-grouping-button-container{display:flex}.waffle-charteditor-domain-grouping-button-label{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;line-height:44px}.waffle-charteditor-domain-grouping-chip .docs-charts-editor-chip-label{color:#424242;font-size:14px}.waffle-charteditor-external-menu-button,.waffle-charteditor-external-menu-button-outer-box,.waffle-charteditor-external-menu-button-inner-box,.waffle-charteditor-external-menu-button-caption,.waffle-charteditor-external-menu-button-dropdown{cursor:pointer;display:block}.waffle-charteditor-data-constraint-disabled .waffle-charteditor-external-menu-button,.waffle-charteditor-data-constraint-disabled .waffle-charteditor-external-menu-button-outer-box,.waffle-charteditor-data-constraint-disabled .waffle-charteditor-external-menu-button-inner-box,.waffle-charteditor-data-constraint-disabled .waffle-charteditor-external-menu-button-caption,.waffle-charteditor-data-constraint-disabled .waffle-charteditor-external-menu-button-dropdown{cursor:not-allowed}.waffle-charteditor-external-menu-button{outline:none}.waffle-charteditor-external-menu-button-dropdown{height:0}.docs-charts-editor-chip.waffle-charteditor-external-menu-button-focused:not(.waffle-charteditor-external-menu-button-open) .docs-charts-editor-chip-content,.waffle-charteditor-pickerchip.waffle-charteditor-external-menu-button-focused:not(.waffle-charteditor-external-menu-button-open) .docs-charts-editor-chip-content{outline:5px auto #4285f4;outline-offset:-3px}.waffle-charteditor-filter-button-container{display:flex}.waffle-charteditor-filter-button-label{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;line-height:44px}.waffle-charteditor-filter-cards{margin-bottom:48px}.waffle-charteditor-filter-card{background-color:#f1f3f4;border-radius:8px;padding:0 10px 10px 10px}.waffle-charteditor-filter-card:not(:last-child){margin-bottom:10px}.waffle-charteditor-filter-card-top-row{-webkit-align-items:center;align-items:center;display:flex;padding-bottom:2px}.waffle-charteditor-filter-card-top-row>div{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.waffle-charteditor-filter-card-remove{margin-right:-10px}.waffle-charteditor-filter-card-top-row>.waffle-charteditor-filter-card-label{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.waffle-charteditor-filter-card-label{color:#424242;font-size:14px;padding-left:8px}.waffle-charteditor-filter-card-select-label{color:#5f6368;font-size:11px;padding-bottom:3px;padding-left:2px}.waffle-charteditor-filter-card-select .jfk-select.goog-flat-menu-button{background-color:#fff;padding-bottom:2px;padding-top:2px;text-align:left;width:100%}.waffle-charteditor-filter-card-select .jfk-select.goog-flat-menu-button-hover{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0}.waffle-charteditor-filter-card-select .jfk-select.goog-flat-menu-button-focused{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.waffle-charteditor-filter-card-select .jfk-select .goog-flat-menu-button-caption{font-size:12px}.waffle-charteditor-rangepicker-multiple-domains-bundle{margin:0 -16px}.waffle-charteditor-multiple-domains-bundle-wrapper{margin:0 16px}.waffle-charteditor-multiple-domains-bundle-wrapper hr{background-color:#f1f3f4;border:0;height:4px;margin:16px -16px 8px -16px}.waffle-charteditor-add-multiple-domains-button-label{color:#188038;display:inline-block;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:250%;margin-left:4px;vertical-align:middle}.waffle-charteditor-multiple-domains-bundle-add-button>div{width:100%}.waffle-charteditor-multiple-domains-bundle-add-button div[role="button"]{cursor:pointer;background:none;outline:none;width:100%}.waffle-charteditor-numeric-group-control-container{-webkit-align-items:center;align-items:center;display:flex}.waffle-charteditor-numeric-group-control-checkbox{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.waffle-charteditor-sort-button-container{display:flex}.waffle-charteditor-sort-button-label{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;line-height:44px}.waffle-charteditor-sort-order-toggle{background:none;border:0;color:#5f6368;cursor:pointer;font-style:italic}.waffle-charteditor-sort-chip .docs-charts-editor-chip-label{color:#424242;font-size:14px}.waffle-charteditor-sidebar.waffle-sidebar-container{width:320px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;z-index:2}.waffle-charteditor-content{background-color:#fff;height:100%}.waffle-charteditor-rangepicker-modification-disabled{display:none;font-size:14px;margin-top:15px}.waffle-charteditor-rangepicker-checkboxes-container{margin:10px 0}.waffle-charteditor-rangepicker-checkboxes-container .docs-material-gm-labeled-checkbox{padding:4px 0}.waffle-charteditor-rangepicker-labels-as-text{margin-left:28px}.waffle-charteditor-rangepicker-has-external-data .waffle-charteditor-rangepicker-labels-as-text{margin-left:0}.docs-charts-editor-row>.waffle-charteditor-rangepicker-data-picker>div{margin-top:0}.waffle-charteditor-rangepicker-data-picker .waffle-charteditor-date-group-control-bucket-type .docs-material-gm-labeled-select-content{display:none}.waffle-charteditor-rangepicker-data-transformation .waffle-charteditor-rangepicker-modification-disabled{display:block}.waffle-charteditor-rangepicker-data-transformation .waffle-charteditor-rangepicker-checkboxes-container,.waffle-charteditor-rangepicker-data-transformation .waffle-charteditor-rangepicker-merge{display:none}.waffle-charteditor-rangepicker-error-label{color:#db4437;font-size:13px}.waffle-charteditor-unsupported-chart-type{box-shadow:0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12),0px 1px 8px 0px rgba(0,0,0,0.2);background:#ffebee;color:rgba(0,0,0,0.87);letter-spacing:0.04em;position:absolute;top:0px;z-index:1}.waffle-charteditor-unsupported-chart-type-message{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:14px;padding:16px}.waffle-charteditor-recommendation-palette.goog-palette{border-bottom:1px solid rgba(0,0,0,0.12);margin-bottom:10px;padding-bottom:20px;width:265px}.waffle-charteditor-recommendation-palette .docs-charts-editor-palette-label{text-transform:uppercase}.waffle-charteditor-recommendation-option{box-shadow:0 0 0 4px #ddd;cursor:pointer;height:80px;margin:3px 12px 10px 0;overflow:hidden;padding:2px;position:relative;width:123px}.goog-palette-cell-hover .waffle-charteditor-recommendation-option{box-shadow:0 0 0 4px #bbc7ed}.goog-palette-cell-selected .waffle-charteditor-recommendation-option{box-shadow:0 0 0 4px #6485f1}.waffle-charteditor-recommendation-option-canvas{direction:ltr}.waffle-charteditor-recommendation-chip{background-color:#4285f4;border:1px solid #fff;bottom:6px;color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:10px;font-weight:500;height:13px;line-height:13px;max-width:84px;overflow-x:hidden;padding:2px 7px 0 7px;position:absolute;right:6px;text-overflow:ellipsis;white-space:nowrap}.waffle-charteditor-recommendation-option .waffle-assistant-feedback-button{margin:0;position:absolute;right:0;top:0}.waffle-charteditor-data-constraint-disabled .waffle-charteditor-picker-button-wrapper{cursor:not-allowed}.waffle-charteditor-picker-button-wrapper{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;box-align:center;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;cursor:pointer;display:flex;height:32px;margin-right:12px}.waffle-charteditor-data-constraint-disabled .waffle-charteditor-pickerchip .docs-charts-editor-chip-label{cursor:not-allowed}.waffle-charteditor-pickerchip .docs-charts-editor-chip-content{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:transparent;border:1px solid #dadce0}.waffle-charteditor-data-constraint-disabled .docs-charts-editor-chip-content{opacity:0.5}.waffle-charteditor-pickerchip-button{transition:opacity 200ms cubic-bezier(0.4,0.0,0.2,1);margin-right:8px;margin-top:1px;opacity:.7}.jfk-button-hover .waffle-charteditor-pickerchip-button{opacity:1}.waffle-charteditor-pickerchip.docs-charts-editor-chip-invalid .docs-charts-editor-chip-content{background-color:#f0f0f0}.waffle-charteditor-pickerchip .docs-charts-editor-chip-label{color:#9e9e9e}.waffle-charteditor-pickerchip .docs-charts-editor-chip-label{color:#80868b;cursor:pointer;font-weight:500}.waffle-charteditor-data-constraint-header{-webkit-align-items:center;align-items:center;display:flex}.waffle-charteditor-data-constraint-name,.waffle-charteditor-annotation-chip-label{color:#3c4043;font-size:11px;font-weight:500;letter-spacing:.8px;margin-top:10px;text-transform:uppercase;vertical-align:top}.waffle-charteditor-data-constraint-name{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;line-height:20px;margin-top:10px;overflow:hidden;text-transform:none}.waffle-charteditor-annotation-chip-label{color:#80868b;line-height:16px;margin-right:10px}.waffle-charteditor-data-constraint-aggregate-type .docs-material-gm-labeled-select-outer-box{padding:0 0 0 8px}.waffle-charteditor-data-constraint-chip{color:#424242;font-size:14px;margin-top:8px}.waffle-charteditor-data-constraint{position:relative}.waffle-charteditor-annotation-chip-wrapper{display:block;margin-bottom:15px;margin-left:50px}.waffle-charteditor-annotation-chip{-ms-flex:1;-webkit-flex:1;flex:1}.waffle-charteditor-chip-icon{left:8px;margin-left:15px;margin-top:9px;top:7px}.waffle-charteditor-chip-delete-button{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+ICA8cGF0aCBmaWxsPSIjZjBmMGYwIiBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPjwvc3ZnPg==");background-color:#5f6368;border:0;border-radius:16px;cursor:pointer;height:16px;margin:10px;transition:background-color 0.2s ease;width:16px}.waffle-charteditor-chip-delete-button:hover{background-color:#aaa}.waffle-charteditor-series-aggregate-type{-webkit-align-items:center;align-items:center;display:flex}.waffle-charteditor-series-aggregate-type-label{color:#616161;font-style:italic;padding:0 10px}.waffle-charteditor-chip-during-dragging.goog-menuitem{box-sizing:border-box;border-radius:16px;cursor:move;margin:0 4px;overflow:hidden;padding-left:8px;padding-right:8px;background:#f8f9fa;box-shadow:0 4px 4px 0px rgba(60,64,67,.3),0 8px 12px 6px rgba(60,64,67,.15);opacity:0.9;width:267px;z-index:2}.waffle-charteditor-chip-during-dragging.goog-menuitem .goog-menuitem-content,.waffle-charteditor-chip-during-dragging.goog-menuitem .goog-menuitem-content span{-ms-flex:1;-webkit-flex:1;flex:1;color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.waffle-charteditor-chip-during-dragging.goog-menuitem .goog-menuitem-content>div{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.waffle-charteditor-chip-during-dragging.goog-menuitem .goog-menuitem-icon{margin:0 8px 0 0;position:relative;top:0}.waffle-charteditor-chip-hover-highlight .docs-charts-editor-chip-content{background:#ceead6;border:1px solid #34a853;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}.waffle-charteditor-chip-hover-highlight.docs-charts-editor-bundle.docs-charts-editor-child-bundle.docs-charts-editor-open-bundle .goog-inline-block.docs-charts-editor-material-textbutton{background-color:#f8fcf9}.waffle-charteditor-chip-hover-highlight.docs-charts-editor-bundle.docs-charts-editor-child-bundle.docs-charts-editor-open-bundle{padding-bottom:56px}.waffle-charteditor-chip-hover-highlight.docs-charts-editor-bundle.docs-charts-editor-child-bundle.docs-charts-editor-open-bundle .waffle-charteditor-filter-card{background:#ceead6;border:1px solid #34a853;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}#docs-editor.companion-enabled{width:100%}#docs-editor.companion-enabled #waffle-grid-container{width:calc(100% - 56px)}#docs-editor.companion-enabled #grid-bottom-bar{width:calc(100% - 56px)}#docs-editor.companion-enabled #grid-bottom-bar.grid-bottom-bar-rtl-companion-collapsed{width:100%}#docs-editor.companion-enabled #grid-bottom-bar.grid-bottom-bar-rtl{right:56px}#docs-editor.companion-enabled #grid-bottom-bar.grid-bottom-bar-rtl.grid-bottom-bar-rtl-companion-collapsed{right:0}#docs-editor.companion-enabled #grid-bottom-bar.grid-bottom-bar-rtl-companion-open{right:calc(56px + 300px)}.docs-ui-toast.waffle-assistant-toast.waffle-assistant-toast-companion{right:calc(56px + 15px)}.waffle-assistant-entry-expanded.companion-collapsed{border-right:1px solid #c2c2c2}.companion-collapser-button-container.companion-collapser-button-container-elevated{margin-bottom:auto}.docs-companion-app-switcher-container-collapsed .companion-collapser-button-container,.docs-companion-app-switcher-container-collapsed .companion-collapser-button{height:38px}.docs-jfk-styling .companion-collapser-button,.docs-jfk-styling .companion-collapser-button .app-switcher-button-icon-container,.docs-jfk-styling .companion-collapser-button .app-switcher-button-icon-background{transition:all 0s ease 0s}.companion-collapser-button.app-switcher-button-checked{right:0}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-container,.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{box-shadow:none;margin:8px;padding:10px;top:calc(-1*8px);width:20px}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{background-color:transparent;border:transparent 1px solid;border-radius:0}.companion-collapser-button{transition:none}.companion-collapser-button .app-switcher-button-icon-container,.companion-collapser-button .app-switcher-button-icon-background{transition-property:background-color}.companion-collapser-button:not(.app-switcher-button-checked) .app-switcher-button-icon-container,.companion-collapser-button:not(.app-switcher-button-checked) .app-switcher-button-icon-background{transition-property:margin-top}.companion-collapser-button.app-switcher-button-hover.app-switcher-button-checked .app-switcher-button-icon-background{background-color:#f1f3f4}.companion-collapser-button.app-switcher-button-focused.app-switcher-button-checked .app-switcher-button-icon-background{background-color:#e8eaed}.companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon{margin-left:0}.docs-jfk-styling .companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-container,.docs-jfk-styling .companion-collapser-button.app-switcher-button-checked .app-switcher-button-icon-background{top:-10px}.docs-jfk-styling .companion-collapser-button .app-switcher-button-icon{border:transparent 1px solid;transition:all 0s ease 0s}.docs-jfk-styling .companion-collapser-button.app-switcher-button-hover.app-switcher-button-checked .app-switcher-button-icon-background{background-color:transparent}.docs-jfk-styling .companion-collapser-button.app-switcher-button-hover.app-switcher-button-checked .app-switcher-button-icon{border-color:#c6c6c6}.docs-jfk-styling .companion-collapser-button.app-switcher-button-focused.app-switcher-button-checked .app-switcher-button-icon{outline:-webkit-focus-ring-color auto 5px}.waffle-dashboard-fab-plus-button{bottom:40px;position:absolute;right:55px;z-index:20}.waffle-dashboard-fab-list{bottom:100px;position:absolute;right:55px;z-index:20}.waffle-dashboard-fab-buttons{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:#fafafa;border-radius:50%;box-shadow:0 10px 10px #bdbdbd;cursor:pointer;height:60px;margin-top:20px;outline:none;width:60px}.waffle-dashboard-fab-buttons:last-child{margin-bottom:20px}.waffle-dashboard-fab-buttons:hover,.waffle-dashboard-fab-buttons:focus{background-color:#eeeeee}.waffle-dashboard-fab-icons{-webkit-transform:scale(1.3);-moz-transform:scale(1.3);-ms-transform:scale(1.3);-o-transform:scale(1.3);transform:scale(1.3)}.waffle-dataconnector-close-badge{background-color:rgba(0,0,0,0.12);border-radius:50%;box-sizing:border-box;height:18px;position:relative;width:18px}.waffle-dataconnector-close-badge svg{height:80%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:80%}.waffle-dataconnector-close-badge polygon{fill:#fff}.waffle-dataconnector-close-badge-hover{background-color:rgba(0,0,0,0.38);cursor:pointer}.waffle-dataconnector-connectioncard{display:flex;align-items:center;background:#fff;border-radius:30px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;padding:12px;width:360px}.waffle-dataconnector-connectioncard-hover{background-color:#f0f0f0}.waffle-dataconnector-connectioncard-focused{background-color:#e8f0fe;outline:none}.waffle-dataconnector-connectioncard-icon{-webkit-transform:scale(1.4,1.4);-moz-transform:scale(1.4,1.4);-ms-transform:scale(1.4,1.4);-o-transform:scale(1.4,1.4);transform:scale(1.4,1.4);background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPGVsbGlwc2UgY3g9IjkiIGN5PSI1IiByeD0iNyIgcnk9IjMiLz4KICAgIDxwYXRoIGQ9Ik0xNiw3IEwxNiw4Ljk5OTk5OTgzIEMxNiwxMC42NTY4NTQyIDEyLjg2NTk5MzIsMTIgOSwxMiBDNS4xMzQwMDY3NSwxMiAyLDEwLjY1Njg1NDIgMiw5IEwyLDcgQzIsOC42NTY4NTQyNSA1LjEzNDAwNjc1LDEwIDksMTAgQzEyLjg2NTk5MzIsMTAgMTYsOC42NTY4NTQyNSAxNiw3IFoiLz4KICAgIDxwYXRoIGQ9Ik0xNiwxMSBMMTYsMTIuOTk5OTk5OCBDMTYsMTQuNjU2ODU0MiAxMi44NjU5OTMyLDE2IDksMTYgQzUuMTM0MDA2NzUsMTYgMiwxNC42NTY4NTQyIDIsMTMgTDIsMTEgQzIsMTIuNjU2ODU0MiA1LjEzNDAwNjc1LDE0IDksMTQgQzEyLjg2NTk5MzIsMTQgMTYsMTIuNjU2ODU0MiAxNiwxMSBaIi8+CiAgPC9nPgo8L3N2Zz4K") no-repeat;background-size:cover;display:inline-block;height:1em;margin-right:12px;width:1em}.waffle-dataconnector-connectioncard-body{border-left:1px solid transparent}.waffle-dataconnector-connectioncard-header{color:rgba(0,0,0,0.87);font-weight:bold;line-height:18px}.waffle-dataconnector-connectioncard-type{color:rgba(0,0,0,0.54)}.waffle-dataconnector-pill{display:flex;background:white;border-radius:40px;box-shadow:0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12),0px 1px 3px 0px rgba(0,0,0,0.2);box-sizing:border-box;padding:5px 20px;position:absolute}.waffle-dataconnector-pill-info{display:flex}.waffle-dataconnector-pill-timestamp{color:#4285f4;height:36px;line-height:36px;margin-right:10px;white-space:nowrap}.waffle-dataconnector-pill-gm .waffle-dataconnector-pill-timestamp,.waffle-dataconnector-pill-gm .waffle-dataconnector-pill-progress,.waffle-dataconnector-pill-gm .waffle-dataconnector-pill-upgrade-button{color:#188038}.waffle-dataconnector-pill .docs-material-button-flat-default{padding:2px 8px}.waffle-dataconnector-pill-progress{-webkit-align-items:center;align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;color:#4285f4;height:36px;line-height:36px}.waffle-dataconnector-pill-error{color:#db4437;height:36px;line-height:36px;margin-right:10px}.waffle-dataconnector-pill-error .waffle-dataconnector-error-icon{height:18px;margin-right:4px;position:relative;top:4px;width:18px}.waffle-dataconnector-pill-menu-button{margin:0;padding:2px 0}.waffle-dataconnector-menu-icon{position:relative;top:3px}.waffle-dataconnector-pill-menu svg{-webkit-transform:scale(1.4,1.4);-moz-transform:scale(1.4,1.4);-ms-transform:scale(1.4,1.4);-o-transform:scale(1.4,1.4);transform:scale(1.4,1.4);bottom:-0.125em;height:1em;margin-right:8px;position:relative;width:1em}.waffle-dataconnector-pill-menuitem{-webkit-align-items:center;align-items:center;display:flex;height:36px;line-height:36px}.waffle-dataconnector-pill-menuitem-refreshquery,.waffle-dataconnector-pill-menuitem-truncation{padding-right:15px!important}.waffle-dataconnector-pill-menuitem-accel{margin-left:auto;padding:0 20px 0 40px;text-align:center;color:#9e9e9e}.waffle-dataconnector-pill-menuitem-refreshquery-info svg{margin:0}.waffle-dataconnector-pill-menuitem-refreshquery-info-progress{font-style:italic}.waffle-dataconnector-pill-menuitem-refreshquery-info-error-button{color:#db4437;text-decoration:underline}.waffle-dataconnector-pill-spinner{border-radius:50%;box-shadow:inset 0 0 0 2px;color:#4285f4;display:inline-block;height:18px;margin:7px 0;position:relative;width:18px;margin-right:7px}.waffle-dataconnector-pill-gm .waffle-dataconnector-pill-spinner{border-radius:50%;box-shadow:inset 0 0 0 2px;color:#188038;display:inline-block;height:18px;margin:7px 0;position:relative;width:18px;margin-right:7px}.waffle-dataconnector-pill-spinner:before{-webkit-animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease 1.5s;-moz-animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease 1.5s;-o-animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease 1.5s;animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease 1.5s;-webkit-transform-origin:11px 10px;-moz-transform-origin:11px 10px;-ms-transform-origin:11px 10px;-o-transform-origin:11px 10px;transform-origin:11px 10px;background:#fff;border-radius:20px 0 0 20px;content:"";height:20px;left:-1px;position:absolute;top:-1px;width:11px}.waffle-dataconnector-pill-spinner:after{-webkit-animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease;-moz-animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease;-o-animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease;animation:waffle-dataconnector-pill-spinner-animation 2s infinite ease;-webkit-transform-origin:0 10px;-moz-transform-origin:0 10px;-ms-transform-origin:0 10px;-o-transform-origin:0 10px;transform-origin:0 10px;background:#fff;border-radius:0 20px 20px 0;content:"";height:20px;left:10px;position:absolute;top:-1px;width:11px}@keyframes waffle-dataconnector-pill-spinner-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.grid-shim-bottom{background-color:#f8f8f8;border-top:1px solid #e5e5e5}.grid-shim-end-ltr,.grid-shim-end-rtl{background:#f8f8f8;height:100%;position:absolute;top:0}.grid-shim-end-ltr{border-left:1px solid #e5e5e5}.grid-shim-end-rtl{border-right:1px solid #e5e5e5}.grid-shim-end-ltr{right:0}.grid-shim-end-rtl{left:0}.grid-bottom-bar{background-color:#eee;z-index:18}.docs-gm .grid-bottom-bar{background-color:#f1f3f4;border-top:1px solid #e8eaed}.docs-gm .grid-bottom-bar td{line-height:0}.docs-gm .grid-bottom-bar .goog-toolbar{min-height:0}.grid-bottom-bar,.grid-shim-bottom{width:100%}.docs-sheet-active-tab .docs-sheet-tab-dropdown{background:none}.docs-sheet-add .docs-sheet-button-inner-box,.docs-sheet-add .docs-sheet-button-icon{background-position:-180px -37px}.docs-sheet-add.docs-sheet-button-hover .docs-sheet-button-inner-box,.docs-sheet-add.docs-sheet-button-hover .docs-sheet-button-icon{background-position:-642px 0}.docs-sheet-left .docs-sheet-button-inner-box,.docs-sheet-left .docs-sheet-button-icon{background-position:-430px -62px}.docs-sheet-left.docs-sheet-button-hover .docs-sheet-button-inner-box,.docs-sheet-left.docs-sheet-button-hover .docs-sheet-button-icon{background-position:-757px -44px}.docs-sheet-left.docs-sheet-button-disabled .docs-sheet-button-inner-box,.docs-sheet-left.docs-sheet-button-disabled .docs-sheet-button-icon{background-position:-430px -62px}.docs-sheet-right .docs-sheet-button-inner-box,.docs-sheet-right .docs-sheet-button-icon{background-position:-509px -62px}.docs-sheet-right.docs-sheet-button-hover .docs-sheet-button-inner-box,.docs-sheet-right.docs-sheet-button-hover .docs-sheet-button-icon{background-position:-597px -37px}.docs-sheet-right.docs-sheet-button-disabled .docs-sheet-button-inner-box,.docs-sheet-right.docs-sheet-button-disabled .docs-sheet-button-icon{background-position:-509px -62px}.docs-sheet-all .docs-sheet-button-inner-box,.docs-sheet-all .docs-sheet-button-icon{background-position:-791px -67px}.docs-sheet-all.docs-sheet-button-hover .docs-sheet-button-inner-box,.docs-sheet-all.docs-sheet-button-hover .docs-sheet-button-icon{background-position:-217px -62px}.docs-sheet-button-inner-box:hover,.docs-sheet-button-outer-box:hover{border-color:#c6c6c6!important}.docs-sheet-button-inner-box{background:none}.docs-sheet-button-icon{background:url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") no-repeat;margin:2px}.docs-sheet-comment-indicator{background:none;color:white;font-size:11px;font-weight:500;text-align:center}.docs-sheet-outer-container{vertical-align:top}.docs-sheet-container{height:30px;overflow:hidden;top:-1px}.docs-gm .docs-sheet-container{height:40px;line-height:normal;margin-top:-1px;top:0}div.docs-sheet-container-bar{background:none;border:none;font-size:13px;padding:0 0 0 0.5em;margin:0 2px 2px 2px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.docs-sheet-container-bar .docs-sheet-tab-open{border-top:none;-moz-box-shadow:0 2px 4px rgba(0,0,0,0.2)!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2)!important;box-shadow:0 2px 4px rgba(0,0,0,0.2)!important;z-index:1004}.docs-sheet-tab-open{border-top:1px solid #fff}div.docs-sheet-button-bar{background:none;border:none;padding:2px 4px 4px 0;margin:0 0 0 2px;overflow:hidden;white-space:nowrap}.docs-sheet-tab{text-decoration:none;list-style:none;vertical-align:top;outline:none;height:24px;z-index:1003;color:#666;background-color:#e9e9e9;border-style:solid;border-width:1px;border-color:#ccc;border-top-color:#aaa;cursor:pointer;padding:2px;margin:0 0 2px 0;min-width:30px;border-radius:0 0 2px 2px}.docs-gm .docs-sheet-tab{align-items:center;background-color:#f1f3f4;border-bottom:none;border-left:1px solid #e8eaed;border-radius:0;border-right:1px solid #e8eaed;border-top:1px solid #e8eaed;display:inline-flex;height:39px;margin-right:-1px;padding:0 12px 0 16px}.docs-sheet-tab.docs-sheet-tab-selected{background-color:#fff;color:#222}.docs-sheet-tab-hover{color:#444;background-color:#f1f1f1;margin:0 0 2px 0}.docs-gm .docs-sheet-tab-hover{background-color:#e8eaed;border-top-color:#e8eaed}.docs-sheet-active-tab{color:#222;cursor:default;background-color:#fff;border-color:#aaa;border-top-color:#fff;border-width:0 1px 1px 1px;box-shadow:0 1px 1px rgba(0,0,0,0.15);font-weight:500;margin:0 0 2px 0;z-index:1004}.docs-gm .docs-sheet-active-tab{background-color:#fff;border-top-color:#f1f3f4;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}.docs-sheet-tab-menu{border-color:#aaa!important}.docs-gm .docs-sheet-tab-menu{border-color:transparent!important}.docs-sheet-tab-outer-box{border-color:#e4e4e4}.docs-sheet-active-tab .docs-sheet-tab-outer-box{border-color:#d8d8d8}.docs-sheet-tab-outer-box{border-width:1px 0;padding:0;margin:0 -1px;white-space:nowrap;padding:3px 0 3px 5px}.docs-gm .docs-sheet-tab-outer-box{margin-top:-2px;padding:0}.docs-sheet-button-outer-box{margin:0;border-width:1px 0;padding:0}.docs-sheet-button-inner-box{margin:0 -1px;border-width:0 1px;white-space:nowrap}.docs-sheet-menu-inner-box{padding:1px 2px}.docs-gm .docs-sheet-button-outer-box,.docs-gm .docs-sheet-button-inner-box{border:none}.docs-gm .docs-sheet-button-disabled{opacity:.38}::root .docs-sheet-tab,::root .docs-sheet-tab-outer-box{line-height:0}::root .docs-sheet-tab-caption,::root .docs-sheet-tab-dropdown{line-height:normal}.docs-sheet-tab-color{height:3px;margin:3px -20px 0 -5px}.docs-gm .docs-sheet-tab-outer-box,.docs-gm .docs-sheet-tab-inner-box,.docs-gm .docs-sheet-tab-caption{position:static}.docs-gm .docs-sheet-tab-color{bottom:0;height:4px;left:0;margin:0;position:absolute;right:0}.docs-sheet-active-tab .docs-sheet-tab-dropdown{display:inline-block}.docs-sheet-tab .docs-sheet-tab-dropdown{display:inline-block;margin-top:-7px}.docs-gm .docs-sheet-tab .docs-sheet-tab-dropdown{border-radius:2px;margin:0;opacity:1}.docs-sheet-tab-dropdown{opacity:0.3;filter:alpha(opacity=30);margin:-2px -1px -2px -2px}.docs-sheet-active-tab .docs-sheet-tab-dropdown:hover{cursor:pointer;opacity:1;filter:alpha(opacity=100)}.docs-sheet-tab-dropdown{vertical-align:middle}.docs-gm .docs-sheet-active-tab .docs-sheet-tab-dropdown{border:1px solid transparent;margin-left:-1px;margin-right:-1px;opacity:1.0}.docs-gm .docs-sheet-active-tab .docs-sheet-tab-dropdown:hover{background-color:#e6f4ea}.docs-gm .docs-sheet-active-tab .docs-sheet-tab-dropdown:active{background-color:#ceead6}.docs-gm .docs-sheet-tab-open .docs-sheet-tab-dropdown,.docs-gm .docs-sheet-tab-open .docs-sheet-tab-dropdown:hover{background-color:#e6f4ea}.docs-gm .docs-sheet-tab-edit .docs-sheet-tab-dropdown{display:none}.docs-sheet-tab-caption{margin-right:2px;vertical-align:middle;white-space:pre}.docs-gm .docs-sheet-tab-caption{margin-right:3px}.docs-sheet-tab-rtl .docs-sheet-tab-caption{margin-right:0;margin-left:2px}.docs-gm .docs-sheet-tab-rtl .docs-sheet-tab-caption{margin-left:3px}.docs-material .docs-sheet-tab-caption .docs-icon{float:none;margin:-3px 5px 0 0}.docs-gm .docs-material.docs-sheet-tab .docs-icon .docs-icon-arrow-dropdown{left:-52px;top:-3064px}.docs-gm .docs-material.docs-sheet-tab .docs-icon .docs-icon-comment-blank{left:-20px;top:-5619px}.docs-gm .docs-material.docs-sheet-tab .docs-icon .docs-icon-database{left:0;top:-2404px}.docs-gm .docs-material.docs-sheet-tab .docs-icon .docs-icon-locked{left:0;top:-5415px}.docs-gm .docs-material.docs-sheet-active-tab .docs-icon .docs-icon-arrow-dropdown{left:-40px;top:-732px}.docs-gm .docs-material.docs-sheet-active-tab .docs-icon .docs-icon-comment-blank{left:0;top:-4681px}.docs-gm .docs-material.docs-sheet-active-tab .docs-icon .docs-icon-database{left:0;top:-2726px}.docs-gm .docs-material.docs-sheet-active-tab .docs-icon .docs-icon-locked{left:0;top:-4464px}.docs-sheet-tab-name{padding:3px 1px;font-size:13px;font-size:var(--docs-material-font-size-normal,13px)}.docs-gm .docs-sheet-tab-name{color:#80868b;display:inline-block;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.025rem}.docs-gm .docs-sheet-active-tab .docs-sheet-tab-name{color:#188038}.docs-sheet-tab-name[contenteditable="true"]{border:1px solid #d9d9d9;display:inline-block;height:16px;min-width:8px;margin:-4px -1px;-moz-user-modify:read-write-plaintext-only;-webkit-user-modify:read-write-plaintext-only;-moz-user-select:text!important;-ms-user-select:text!important;-webkit-user-select:text!important}.docs-gm .docs-sheet-tab-name[contenteditable="true"]{border:2px solid #1a73e8;border-radius:4px;color:#222;height:auto;margin:0 -5px 0 -5px;padding:4px 22px 4px 4px}.docs-sheet-tab-name[contenteditable="true"]:focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);border:1px solid #4d90fe;outline:none}.docs-gm .docs-sheet-tab-name[contenteditable="true"]:focus{border:2px solid #1a73e8;box-shadow:none}.docs-sheet-tab-name-error{border-color:red!important}.docs-sheet-button-inner-box{width:25px;height:25px}.docs-sheet-button,.docs-sheet-menu-button{margin:0 3px;cursor:pointer}.docs-gm .docs-sheet-button{border:1px solid transparent;border-radius:2px;outline:none}.docs-gm .docs-sheet-button-hover{background-color:#f1f3f4}.docs-gm .docs-sheet-button-active{background-color:#e8eaed}.docs-gm .docs-sheet-button-open{background-color:#e6f4ea}.docs-sheet-button-outer-box,.docs-sheet-button-inner-box{border-style:solid;vertical-align:top;border-color:transparent}.docs-sheet-button-disabled,.docs-sheet-button-disabled .docs-sheet-button-outer-box,.docs-sheet-button-disabled .docs-sheet-button-inner-box{cursor:default}.docs-sheet-tab .docs-icon-locked{margin-left:-3px}.docs-material .docs-sheet-tab .docs-icon-locked{margin-left:0}.docs-icon.docs-sheet-lock-container{float:left;margin-top:-3px;width:16px}.docs-sheet-comment-indicator-container{float:left;margin-top:-3px;width:22px}.docs-icon-img-container.docs-sheet-database-icon{width:18px;height:18px;margin-top:2px}.docs-material .docs-icon-img-container.docs-sheet-database-icon{margin-top:0}.docs-sheet-database-icon{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPGVsbGlwc2UgY3g9IjkiIGN5PSI1IiByeD0iNyIgcnk9IjMiLz4KICAgIDxwYXRoIGQ9Ik0xNiw3IEwxNiw4Ljk5OTk5OTgzIEMxNiwxMC42NTY4NTQyIDEyLjg2NTk5MzIsMTIgOSwxMiBDNS4xMzQwMDY3NSwxMiAyLDEwLjY1Njg1NDIgMiw5IEwyLDcgQzIsOC42NTY4NTQyNSA1LjEzNDAwNjc1LDEwIDksMTAgQzEyLjg2NTk5MzIsMTAgMTYsOC42NTY4NTQyNSAxNiw3IFoiLz4KICAgIDxwYXRoIGQ9Ik0xNiwxMSBMMTYsMTIuOTk5OTk5OCBDMTYsMTQuNjU2ODU0MiAxMi44NjU5OTMyLDE2IDksMTYgQzUuMTM0MDA2NzUsMTYgMiwxNC42NTY4NTQyIDIsMTMgTDIsMTEgQzIsMTIuNjU2ODU0MiA1LjEzNDAwNjc1LDE0IDksMTQgQzEyLjg2NTk5MzIsMTQgMTYsMTIuNjU2ODU0MiAxNiwxMSBaIi8+CiAgPC9nPgo8L3N2Zz4K") no-repeat}.docs-sheet-database-icon-container{float:left;margin-top:-3px;width:20px}.docs-sheet-form-icon-container{float:left;margin-top:-3px;opacity:0.5;width:22px}.docs-sheet-active-tab .docs-sheet-form-icon-container{opacity:1}.docs-sheet-comment-indicator{display:block;height:16px;line-height:12px;width:16px;position:absolute;top:4px;left:3px;margin-top:0px}.docs-material .docs-sheet-comment-indicator{height:12px;left:1px;line-height:12px;top:2px}.docs-sheet-all-sheet-menu-item{white-space:nowrap}.docs-sheet-all-sheet-menu-item-hidden .goog-menuitem-content{color:#888}.docs-sheet-all-sheet-menu-item-swatch{border-radius:9px;display:inline-block;height:9px;margin-right:8px;width:9px}.docs-sheet-button-bar-container.fit-content{width:1em}.docs-sheet-button-bar-container:last-child,.docs-sheet-button-bar-container.fit-content:last-child{width:100%}.docs-sheet-status-container{width:158px;overflow:hidden;padding:0;border-left:1px solid #ccc}.docs-sheet-status-container-avs{overflow:hidden;padding:0}.docs-sheet-status{max-width:150px;float:right;margin-right:8px;overflow:hidden}.docs-sheet-status-avs{max-width:150px;float:right;margin-right:8px;overflow:hidden;position:relative;top:3px}.docs-gm .docs-sheet-status-avs{top:4px;max-width:170px}.docs-sheet-status>.jfk-select{line-height:29px;margin:0 3px 0 6px;max-width:119px}.docs-sheet-status-avs>.jfk-select{line-height:29px;max-width:119px}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%;align-items:center;background:white;color:#3c4043;display:inline-flex;justify-content:space-between;outline:none;padding:4px;position:relative;max-width:139px;width:auto;width:unset}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button:active{background-color:#fff;border:1px solid transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-hover{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0;box-shadow:none}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-focused{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-open{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-hover.goog-flat-menu-button-open{background-color:rgba(60,64,67,0.06)}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-focused.goog-flat-menu-button-open{background-color:rgba(60,64,67,0.08)}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-disabled{border:1px solid #dadce0;box-shadow:none;cursor:default}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-disabled .goog-flat-menu-button-caption{color:#5f6368;opacity:.38;cursor:default}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-dropdown{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px;border:none;margin-top:0;position:relative;right:0;top:0}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-disabled .goog-flat-menu-button-dropdown{opacity:.38}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-disabled.goog-flat-menu-button:active{border:1px solid #dadce0;box-shadow:none;cursor:default;box-shadow:none}.docs-gm .docs-sheet-status-avs .goog-flat-menu-button-open .goog-flat-menu-button-dropdown{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.docs-gm .docs-sheet-status-avs .jfk-radiobutton-disabled .jfk-radiobutton-label{color:#5f6368;opacity:.38;cursor:default}.docs-sheet-status .goog-flat-menu-button-caption,.docs-sheet-status-avs .goog-flat-menu-button-caption{text-overflow:ellipsis}.waffle-quicksum-container{color:#333;font-size:11px;font-weight:500;height:30px;line-height:30px;margin-right:22px;overflow:hidden;text-align:right}.waffle-autovis-quicksum{height:34px;margin:1px}.jfk-button.waffle-autovis-quicksum-button{border:1px solid transparent;cursor:pointer;height:28px;margin:0;padding:2px;position:relative;width:154px}.docs-sheet-fade{position:absolute;display:block;top:0;width:6px;height:100%;z-index:1005}.docs-sheet-fade div{background-color:#d7d7d7;width:2px;float:right;position:relative;height:100%}.docs-sheet-fade-left{left:0}.docs-sheet-fade-right{right:0}.docs-sheet-fade1{opacity:0.82;filter:alpha(opacity=82)}.docs-sheet-fade2{opacity:0.62;filter:alpha(opacity=62)}.docs-sheet-fade3{opacity:0.4;filter:alpha(opacity=40)}.waffle-slicereditor-sidebar.waffle-sidebar-container{width:320px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;z-index:2}.waffle-slicer-editor-send-feedback-container{text-align:end}.waffle-slicer-editor-style-tab .waffle-slicer-editor-style-format-option,.waffle-slicer-editor-style-color-option-non-gm .docs-charts-editor-material-toolbar-color-picker-outer-box{background-color:#f1f3f4}.goog-menu-vertical .waffle-slicer-editor-column-selector-menu-seperator{margin-left:0}.waffle-slicer-editor-column-selector-menu-item{display:flex;border:1px solid transparent;line-height:20px;margin:0;padding:5px;width:286px}.waffle-slicer-editor-column-selector-menu-item-name{-ms-flex:1;-webkit-flex:1;flex:1;margin:0 20px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-slicer-editor-column-selector-menu-item-range{display:flex;opacity:0.5;max-width:143px}.waffle-slicer-editor-column-selector-menu-item-rect{-ms-flex:1;-webkit-flex:1;flex:1}.waffle-slicer-editor-column-selector-menu-item-sheet-name{overflow:hidden;text-overflow:ellipsis}.waffle-slicer-editor-setup-tab .waffle-slicer-editor-style-tab{width:100%}.waffle-slicer-editor-sidebar-col{width:50%;margin-right:10px}.waffle-slicer-editor-sidebar-col:last-child{margin-right:0}.waffle-slicer-editor-sidebar-control-label{color:#616161;font-size:11px;line-height:16px;margin-bottom:8px;margin-right:2px}.waffle-slicer-editor-sidebar-custom-row{display:flex}.waffle-slicer-editor-sidebar-title-input-box{width:100%}.waffle-slicer-editor-sidebar-title-input-box>input{border-left:none;border-right:none;border-top:none;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:18px;height:100%;padding:0;width:100%}.waffle-slicer-editor-sidebar-title-input-box>input:disabled{opacity:0.75}.waffle-slicer-editor-sidebar-title-input-box>input:focus{border:none;border-bottom:2px solid #4285f4}.waffle-slicer-editor-sidebar-row{padding:10px 16px}.waffle-slicer-editor-sidebar-align .goog-toolbar-menu-button-dropdown{margin:0}.waffle-slicer-editor-sidebar-align-menu-items .goog-palette-table{border:0;margin:0 4px}.waffle-slicer-editor-sidebar-align-menu-items .goog-palette-cell{border:0;padding:2px}.waffle-slicer-editor-sidebar-align-menu-items .goog-palette-cell-hover{background:#eeeeee}.waffle-slicer-editor-sidebar-rangepicker-error-label{color:#db4437;font-size:13px}.waffle-slicer-editor-apply-to-pivot-table-row{display:flex;-webkit-align-items:center;align-items:center}.waffle-slicer-editor-apply-to-pivot-table-checkbox{display:flex}.waffle-slicer-editor-apply-to-pivot-table-checkbox-label{-ms-flex:1;-webkit-flex:1;flex:1;margin:0 5px}.waffle-slicer-editor-sidebar-title-format{border:1px solid #dadce0;border-radius:4px;display:inline-block;height:40px;line-height:40px}.waffle-slicer-editor-textstyle-separator{border-left:1px solid #dadce0;height:25px;margin:7px 1px;vertical-align:top}.waffle-slicer-editor-sidebar-title-input{transition:border-color 0.3s ease;color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;height:42px;line-height:36px;margin-bottom:0;min-height:42px;resize:none}.waffle-slicer-editor-sidebar-title-input-label{color:#5f6368;font-size:12px;line-height:15px;margin-bottom:8px}.docs-multi-menu-col{float:left}.docs-multi-menu-col .goog-menuheader{color:#777;font-size:11px;padding:.3em .5em .3em 0.5em;text-transform:uppercase}.dialog-separator{border-bottom:1px solid #e5e5e5;margin:0 -42px 20px}.nfd-inputall,.nfd-input,.nfd-apply,.nfd-inner-input-content{display:inline-block}.nfd-input{min-height:18px;position:relative}.nfd-input span:focus{outline:none}.nfd-date-time-left-most{display:inline-block;min-width:1px}.nfd-inner-input-content{text-align:right}.nfd-date-time-input{position:relative;transform:translateZ(0)}.nfd-date-time-input .goog-flat-menu-button{margin:1px 2px}.nfd-input .jfk-select .goog-flat-menu-button-dropdown{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg) 0 -3598px;left:0}.nfd-input table{border-spacing:0;width:100%}.nfd-dialog-content ul{list-style:none;margin:0;padding:0}.nfd-format-pill{border-bottom:1px solid #e5e5e5;border-left:1px solid transparent;font-size:15px;padding:16px;position:relative}.nfd-format-pill:focus{border-left:1px solid #4d90fe;outline:none}.nfd-format-pill:hover{background-color:#f1f1f1}.nfd-format-display{display:inline-block}.nfd-format-sample{color:#777;display:inline-block;position:absolute;right:20px}.nfd-pill-container li:last-child{border-bottom:none}.cnf-sample-table{border-spacing:0;display:inline-table}.cnf-sample-wrapper{position:relative}.cnf-help-link{position:absolute;right:0}td.nfd-sample-label{color:#777;padding-left:0;padding-right:5px}.number-format-menu .goog-menuitem{padding-right:1em}.nfd-date-time-menu-button:focus{outline:none}.nfd-input.nfd-invalid{border:1px solid #dd4b39}.nfd-date-time-menu .goog-menuitem{padding-left:6px;padding-right:4em}.nfd-dialog .nfd-inputall .nfd-input{font-size:13px;height:initial;margin-top:0;min-height:36px;overflow-x:auto;padding:2px 8px;width:366px}.nfd-dialog.modal-dialog{padding:24px}.nfd-dialog .dialog-separator{display:none}.nfd-input input{border:none;font-size:inherit;margin:0;outline:none;padding:0;width:100%}.nfd-input>input{height:18px;padding:6px 0}.nfd-inner-input{height:16px;line-height:16px;min-width:25px;padding:7px 0;width:100%}.nfd-input.nfd-input-focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px;box-shadow:none;outline:none}.nfd-input.nfd-input-focus>input{padding:7px 0}.nfd-input.nfd-input-focus .nfd-inner-input{padding:8px 0}.nfd-dialog.modal-dialog-content{min-width:464px;width:auto;width:unset}.nfd-dialog-content{border:1px solid #e5e5e5;cursor:pointer;height:400px;margin-top:8px;overflow-y:scroll;-webkit-tap-highlight-color:transparent}.nfd-input .goog-flat-menu-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;height:24px;padding:3px 12px 5px;border-radius:24px;color:#3c4043;font-size:12px;line-height:17px;padding:3px 24px 3px 10px}.nfd-input .goog-flat-menu-button-caption{font-weight:500}.nfd-input .goog-flat-menu-button.goog-flat-menu-button-hover{background:#f8f9fa}.nfd-date-time-pill{margin:2px 0}.nfd-input .nfd-currency-other-formats{padding-top:4px;margin-right:0}.nfd-date-time-menu-button{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg) 0 -712px;border:none;float:right;height:18px;margin:6px 0;position:fixed;right:108px;top:2px;width:18px}.nfd-input .goog-flat-menu-button-dropdown{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222.svg) 0 -3598px;height:18px;left:18px;top:0;width:18px}.jfk-button.nfd-apply{margin-left:9px;margin-right:0;vertical-align:top}.goog-palette{cursor:default;outline:none}.goog-palette-table{border:1px solid #666;border-collapse:collapse;margin:5px}.goog-palette-cell{border:0;border-right:1px solid #666;cursor:pointer;height:18px;margin:0;text-align:center;vertical-align:middle;width:18px}.goog-palette-cell .goog-palette-colorswatch{border:none;font-size:x-small;height:18px;position:relative;width:18px}.goog-palette-cell-hover .goog-palette-colorswatch{border:1px solid #fff;height:16px;width:16px}.goog-palette-cell-selected .goog-palette-colorswatch{background:url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -368px 0;border:1px solid #333;color:#fff;font-weight:bold;height:16px;width:16px}.goog-palette-customcolor{background-color:#fafafa;border:1px solid #eee;color:#666;font-size:x-small;height:15px;position:relative;width:15px}.goog-palette-cell-hover .goog-palette-customcolor{background-color:#fee;border:1px solid #f66;color:#f66}.goog-color-menu-button-indicator{border-bottom:4px solid #f0f0f0}.goog-color-menu-button .goog-menu-button-inner-box,.goog-toolbar-color-menu-button .goog-toolbar-menu-button-inner-box{padding-top:2px!important;padding-bottom:2px!important}.goog-tab{position:relative;padding:4px 8px;color:#00c;text-decoration:underline;cursor:default}.goog-tab-bar-top .goog-tab{margin:1px 4px 0 0;border-bottom:0;float:left}.goog-tab-bar-top:after,.goog-tab-bar-bottom:after{content:" ";display:block;height:0;clear:both;visibility:hidden}.goog-tab-bar-bottom .goog-tab{margin:0 4px 1px 0;border-top:0;float:left}.goog-tab-bar-start .goog-tab{margin:0 0 4px 1px;border-right:0}.goog-tab-bar-end .goog-tab{margin:0 1px 4px 0;border-left:0}.goog-tab-hover{background:#eee}.goog-tab-disabled{color:#666}.goog-tab-selected{color:#000;background:#fff;text-decoration:none;font-weight:bold;border:1px solid #6b90da}.goog-tab-bar-top{padding-top:5px!important;padding-left:5px!important;border-bottom:1px solid #6b90da!important}.goog-tab-bar-top .goog-tab-selected{top:1px;margin-top:0;padding-bottom:5px}.goog-tab-bar-bottom .goog-tab-selected{top:-1px;margin-bottom:0;padding-top:5px}.goog-tab-bar-start .goog-tab-selected{left:1px;margin-left:0;padding-right:9px}.goog-tab-bar-end .goog-tab-selected{left:-1px;margin-right:0;padding-left:9px}.goog-tab-bar{margin:0;border:0;padding:0;list-style:none;cursor:default;outline:none;background:#ebeff9}.goog-tab-bar-clear{clear:both;height:0;overflow:hidden}.goog-tab-bar-start{float:left}.goog-tab-bar-end{float:right}* html .goog-tab-bar-start{margin-right:-3px}* html .goog-tab-bar-end{margin-left:-3px}.jfk-scrollbar::-webkit-scrollbar{height:16px;overflow:visible;width:16px}.jfk-scrollbar::-webkit-scrollbar-button{height:0;width:0}.jfk-scrollbar::-webkit-scrollbar-track{background-clip:padding-box;border:solid transparent;border-width:0 0 0 4px}.jfk-scrollbar::-webkit-scrollbar-track:horizontal{border-width:4px 0 0}.jfk-scrollbar::-webkit-scrollbar-track:hover{background-color:rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(0,0,0,.1)}.jfk-scrollbar::-webkit-scrollbar-track:horizontal:hover{box-shadow:inset 0 1px 0 rgba(0,0,0,.1)}.jfk-scrollbar::-webkit-scrollbar-track:active{background-color:rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px 0 0 rgba(0,0,0,.07)}.jfk-scrollbar::-webkit-scrollbar-track:horizontal:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.14),inset 0 -1px 0 rgba(0,0,0,.07)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-track:hover{background-color:rgba(255,255,255,.1);box-shadow:inset 1px 0 0 rgba(255,255,255,.2)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-track:horizontal:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-track:active{background-color:rgba(255,255,255,.1);box-shadow:inset 1px 0 0 rgba(255,255,255,.25),inset -1px 0 0 rgba(255,255,255,.15)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-track:horizontal:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(255,255,255,.15)}.jfk-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;border-width:1px 1px 1px 6px;min-height:28px;padding:100px 0 0;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}.jfk-scrollbar::-webkit-scrollbar-thumb:horizontal{border-width:6px 1px 1px;padding:0 0 0 100px;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset -1px 0 0 rgba(0,0,0,.07)}.jfk-scrollbar::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4);box-shadow:inset 1px 1px 1px rgba(0,0,0,.25)}.jfk-scrollbar::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,0.5);box-shadow:inset 1px 1px 3px rgba(0,0,0,0.35)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.3);box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(255,255,255,.1)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-thumb:horizontal{box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset -1px 0 0 rgba(255,255,255,.1)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.6);box-shadow:inset 1px 1px 1px rgba(255,255,255,.37)}.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-thumb:active{background-color:rgba(255,255,255,.75);box-shadow:inset 1px 1px 3px rgba(255,255,255,.5)}.jfk-scrollbar-borderless.jfk-scrollbar::-webkit-scrollbar-track{border-width:0 1px 0 6px}.jfk-scrollbar-borderless.jfk-scrollbar::-webkit-scrollbar-track:horizontal{border-width:6px 0 1px}.jfk-scrollbar-borderless.jfk-scrollbar::-webkit-scrollbar-track:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 1px 1px 0 rgba(0,0,0,.14),inset -1px -1px 0 rgba(0,0,0,.07)}.jfk-scrollbar-borderless.jfk-scrollbar-dark.jfk-scrollbar::-webkit-scrollbar-track:hover{background-color:rgba(255,255,255,.07);box-shadow:inset 1px 1px 0 rgba(255,255,255,.25),inset -1px -1px 0 rgba(255,255,255,.15)}.jfk-scrollbar-borderless.jfk-scrollbar::-webkit-scrollbar-thumb{border-width:0 1px 0 6px}.jfk-scrollbar-borderless.jfk-scrollbar::-webkit-scrollbar-thumb:horizontal{border-width:6px 0 1px}.jfk-scrollbar::-webkit-scrollbar-corner{background:transparent}body.jfk-scrollbar::-webkit-scrollbar-track-piece{background-clip:padding-box;background-color:#f5f5f5;border:solid #fff;border-width:0 0 0 3px;box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px 0 0 rgba(0,0,0,.07)}body.jfk-scrollbar::-webkit-scrollbar-track-piece:horizontal{border-width:3px 0 0;box-shadow:inset 0 1px 0 rgba(0,0,0,.14),inset 0 -1px 0 rgba(0,0,0,.07)}body.jfk-scrollbar::-webkit-scrollbar-thumb{border-width:1px 1px 1px 5px}body.jfk-scrollbar::-webkit-scrollbar-thumb:horizontal{border-width:5px 1px 1px}body.jfk-scrollbar::-webkit-scrollbar-corner{background-clip:padding-box;background-color:#f5f5f5;border:solid #fff;border-width:3px 0 0 3px;box-shadow:inset 1px 1px 0 rgba(0,0,0,.14)}#docs-toolbar-wrapper{border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;min-height:35px;box-shadow:inset 0 1px 0 0 #fff;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#eee);background-image:-moz-linear-gradient(top,#f5f5f5,#eee);background-image:-ms-linear-gradient(top,#f5f5f5,#eee);background-image:-o-linear-gradient(top,#f5f5f5,#eee);background-image:linear-gradient(top,#f5f5f5,#eee);padding:0 44px 0 58px;position:relative}#docs-toolbar-wrapper.docs-hub-appbar{border:none}#docs-toolbar{background:none;border-width:0!important;display:inline;min-height:35px;padding:0}#docs-primary-toolbars{display:block}#docs-omnibox-toolbar{background:none;border-width:0!important;display:inline-block;padding:0;vertical-align:middle;width:182px;overflow:hidden}#docs-side-toolbar{background:none;border:0;margin:0 44px 0 0;padding:0;position:absolute;right:0;top:0}.goog-toolbar{margin-bottom:0;outline:0}.goog-toolbar-button,.goog-toolbar-menu-button{margin:4px 0 0 -1px}.goog-toolbar-button-inner-box,.goog-toolbar-menu-button-inner-box{height:25px;min-width:25px;padding:0;text-align:center}.docs-toolbar-button-split-left .goog-toolbar-button-inner-box{min-width:23px}.goog-toolbar-button-inner-box .docs-icon,.goog-toolbar-menu-button-caption .docs-icon,.goog-toolbar-menu-button-caption .goog-color-menu-button-indicator .docs-icon{margin-top:-3px}.goog-toolbar-menu-button .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box,.goog-toolbar-button .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box{margin:0 1px}.goog-toolbar-menu-button-dropdown{margin-left:4px;margin-right:0;margin-top:9px}.goog-toolbar-color-menu-button .goog-toolbar-menu-button-dropdown{margin-top:7px}.goog-toolbar-separator.goog-inline-block{border-left:1px solid #d9d9d9;height:35px;margin:0 5px 0 4px;vertical-align:top}.goog-toolbar-select .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box{margin:0;margin-right:1px}.goog-color-menu-button-indicator{position:relative;height:19px}.goog-toolbar-color-menu-button .goog-toolbar-menu-button-caption{top:-2px}.docs-toolbar-small-separator.goog-toolbar-separator{border-left:1px solid #ccc;display:inline;font-size:11px;height:17px;line-height:normal;list-style:none;margin:0 -3px 0 -1px;outline:none;overflow:hidden;padding:0 0 3px 0;text-decoration:none;vertical-align:middle;width:0}.docs-toolbar-small-separator.goog-toolbar-separator,.docs-toolbar-small-separator.goog-toolbar-separator{display:inline-block;height:35px;margin:0 5px 0 4px;padding:0;vertical-align:top}.docs-toolbar-small-separator.goog-toolbar-separator+.docs-toolbar-small-separator.goog-toolbar-separator{display:none}.goog-toolbar-button+div.docs-toolbar-small-separator,div.goog-toolbar-separator+div.docs-toolbar-small-separator,div.goog-toolbar-menu-button+div.docs-toolbar-small-separator{margin-left:3px}.docs-toolbar-small-separator+div.goog-toolbar-button,.docs-toolbar-small-separator+div.goog-toolbar-menu-button,.docs-toolbar-small-separator+div[class~=goog-toolbar-select]{margin-left:-1px}div[class~="goog-toolbar-select"]+div.docs-toolbar-small-separator{margin-left:-1px}.docs-toolbar-small-separator+div.goog-toolbar-select{margin-left:-3px}.docs-toolbar-inset-separator.docs-toolbar-small-separator{border-left:1px solid 1px solid #d9d9d9;height:20px;margin:5px 5px 0 4px;vertical-align:middle}.goog-toolbar-toggle-button.goog-toolbar-button-checked+.goog-toolbar-toggle-button.goog-toolbar-button-checked{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.goog-toolbar-toggle-button.goog-toolbar-button-checked+.goog-toolbar-toggle-button.goog-toolbar-button-checked .goog-toolbar-button-outer-box .goog-toolbar-button-inner-box,.goog-toolbar-toggle-button.goog-toolbar-button-checked+.goog-toolbar-toggle-button.goog-toolbar-button-checked.goog-toolbar-button-hover .goog-toolbar-button-outer-box .goog-toolbar-button-inner-box{margin-left:1px}.goog-toolbar-button .docs-icon,.goog-toolbar-menu-button .docs-icon{opacity:.70}.goog-toolbar-button-hover .docs-icon,.goog-toolbar-button-selected .docs-icon,.goog-toolbar-button-checked .docs-icon,.goog-toolbar-menu-button-hover .docs-icon,.goog-toolbar-menu-button-selected .docs-icon,.goog-toolbar-menu-button-checked .docs-icon{opacity:0.9}.goog-toolbar-button-active .docs-icon,.goog-toolbar-menu-button-open .docs-icon{opacity:1.0}.goog-toolbar-select .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box .goog-toolbar-menu-button-caption{margin-left:10px;text-align:left}.goog-toolbar-select .goog-toolbar-menu-button-outer-box .goog-toolbar-menu-button-inner-box .goog-toolbar-menu-button-dropdown{margin-left:5px;margin-right:4px}.docs-toolbar-button-split-left,.docs-toolbar-button-split-left *{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.docs-toolbar-button-split-right,.docs-toolbar-button-split-right *{border-top-left-radius:0!important;border-bottom-left-radius:0!important;min-width:5px!important}.docs-toolbar-button-split-right .goog-toolbar-menu-button-dropdown{margin-left:3px}.docs-toolbar-button-split-sympathy-hover{border-color:#c6c6c6}.docs-toolbar-button-split-left .goog-toolbar-button-hover,.docs-toolbar-button-split-right .goog-toolbar-button-hover{z-index:1}.docs-toolbar-split-create-button.goog-toolbar-menu-button{margin-right:4px}.docs-toolbar-split-create-button .goog-toolbar-menu-button-dropdown{background:url(//ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png) center no-repeat;height:7px;margin-top:9px;opacity:1}.docs-toolbar-split-create-button{background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-ms-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);border-color:#c6c6c6!important}.docs-toolbar-split-create-button.goog-toolbar-button-disabled{border-right-color:#fff!important}.docs-toolbar-split-create-button.goog-toolbar-button-hover,.docs-toolbar-split-create-button.goog-toolbar-menu-button-hover{background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border-color:#c6c6c6!important}.docs-toolbar-split-create-button.goog-toolbar-button-active,.docs-toolbar-split-create-button.goog-toolbar-menu-button-active{background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border-color:#c6c6c6!important}.docs-toolbar-split-create-button .docs-icon{opacity:1}.docs-toolbar-text-button .goog-toolbar-button-outer-box,.docs-toolbar-text-button .goog-toolbar-menu-button-outer-box{padding-left:4px}.docs-toolbar-text-button .goog-toolbar-button-outer-box{padding-right:4px}.goog-toolbar-menu-button-outer-box{padding-right:3px}.goog-toolbar-menu-button-arrow-hidden.goog-toolbar-menu-button-outer-box{padding-right:0px}.jfk-bubble.docs-toolbar-more-bubble{padding:0px;z-index:902!important}.docs-toolbar-more-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#eee transparent}.docs-toolbar-more-toolbar{background:#eee;border:0;min-height:35px;padding:0 0 0 10px}.docs-collapsable-toolbar{white-space:nowrap}.docs-collapsable-toolbar-control{white-space:normal}.docs-hc-gecko .docs-icon-img{filter:invert(100%)}.docs-hc-gecko .docs-icon-img.docs-icon-document,.docs-hc-gecko .docs-icon-img.docs-icon-punch,.docs-hc-gecko .docs-icon-img.docs-icon-presentation,.docs-hc-gecko .docs-icon-img.docs-icon-spreadsheet,.docs-hc-gecko .docs-icon-img.docs-icon-form,.docs-hc-gecko .docs-icon-img.docs-icon-drawing,.docs-hc-gecko .docs-icon-img.docs-icon-script,.docs-hc-gecko .docs-icon-img.docs-icon-site{filter:none}.docs-hc-ie .docs-icon-img{-ms-high-contrast-adjust:none;background-color:white}.docs-icon-toolbar-button-with-text{padding-left:4px;padding-right:4px}.docs-icon-toolbar-button-with-text .docs-icon-toolbar-button-with-text-icon-container{margin-right:4px}.google-visualization-clickeditor-bubble.jfk-bubble{padding:3px;z-index:inherit!important;background-color:#f5f5f5;font-family:Arial,san-serif;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border-color:#dadada}.google-visualization-clickeditor-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplafter,.google-visualization-clickeditor-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#f5f5f5 transparent}.google-visualization-clickeditor-combobox .goog-toolbar-combo-button-input{width:28px;padding:0 0 0 3px;position:relative}.goog-menuitem .google-visualization-clickeditor-combobox-icon{position:absolute;top:4px;left:100px}.google-visualization-charteditor-menu .goog-menuheader{padding-left:10px;color:#888}.google-visualization-clickeditor-combobox .google-visualization-clickeditor-combobox-icon{position:absolute;height:100%;width:34px;top:0;left:0;background-color:#f5f5f5}.goog-toolbar-combo-button-open .google-visualization-clickeditor-combobox-icon{filter:alpha(opacity=0);opacity:0}.google-visualization-clickeditor-combobox-icon .docs-icon{margin:0 0 0 7px;filter:alpha(opacity=60);opacity:0.6}.google-visualization-clickeditor-bubble .goog-toolbar-combo-button,.google-visualization-clickeditor-bubble .goog-toolbar-menu-button,.google-visualization-clickeditor-bubble .goog-toolbar-button{margin:0;top:auto}.google-visualization-clickeditor-bubble .goog-toolbar-color-menu-button .goog-toolbar-menu-button-dropdown{top:-2px}.google-visualization-clickeditor-color .goog-color-menu-button-indicator{width:14px;height:0;border-bottom-width:14px;margin:6px;outline:1px solid #bbb}.google-visualization-clickeditor-tooltip{font-family:Arial,sans-serif;font-weight:normal;-webkit-transition:background-color .5s;-moz-transition:background-color .5s;-ms-transition:background-color .5s;-o-transition:background-color .5s;transition:background-color .5s}.google-visualization-clickeditor-bubble .goog-toolbar-separator{height:20px;vertical-align:middle;border-color:#ccc}.google-visualization-clickeditor-separator{width:98%;height:0;border:1px solid #f8f8f8;margin:3px}.google-visualization-clickeditor-input-box{padding:5px}.google-visualization-clickeditor-enter-msg{font-size:11px;color:#555;padding:4px}.google-visualization-clickeditor-bubble .google-visualization-charteditor-input:focus{outline-color:#008df0}.google-visualization-clickeditor-bubble .google-visualization-charteditor-input-inline-x,.google-visualization-clickeditor-bubble .google-visualization-charteditor-input-inline-y,.google-visualization-clickeditor-bubble .google-visualization-charteditor-input-inline-right{font-size:12px;margin:4px}.google-visualization-clickeditor-bubble .google-visualization-charteditor-input-inline-x{width:79px}.google-visualization-clickeditor-bubble .google-visualization-charteditor-input-inline-y,.google-visualization-clickeditor-bubble .google-visualization-charteditor-input-inline-right{width:52px}.google-visualization-clickeditor-bubble .google-visualization-charteditor-combobox,.google-visualization-clickeditor-bubble .goog-flat-menu-button{margin:0}.goog-flat-menu-button-disabled .goog-flat-menu-button-dropdown{border-color:#b8b8b8 transparent}.google-visualization-clickeditor-entity-cover{position:absolute;visibility:hidden;overflow:hidden;cursor:pointer}.google-visualization-clickeditor-entity-cover-stripes{position:absolute;top:0;width:100%;height:100%;background:url("//ssl.gstatic.com/charts/static/stripes.png") repeat;visibility:visible;filter:alpha(opacity=10);opacity:0.1}.google-visualization-clickeditor-entity-cover-top,.google-visualization-clickeditor-entity-cover-bottom,.google-visualization-clickeditor-entity-cover-left,.google-visualization-clickeditor-entity-cover-right{visibility:visible;background-color:#008ef1;width:1px;height:1px;position:absolute}.google-visualization-clickeditor-entity-cover-top,.google-visualization-clickeditor-entity-cover-bottom{width:100%}.google-visualization-clickeditor-entity-cover-left,.google-visualization-clickeditor-entity-cover-right{height:100%}.google-visualization-clickeditor-entity-cover-right{right:0}.google-visualization-clickeditor-entity-cover-left{left:0}.google-visualization-clickeditor-entity-cover-bottom{bottom:0}.google-visualization-clickeditor-entity-cover .google-visualization-clickeditor-mid-input{width:98%;filter:alpha(opacity=0);opacity:0}.google-visualization-clickeditor-entity-cover .google-visualization-clickeditor-mid-input:focus{filter:alpha(opacity=100);opacity:1}.google-visualization-clickeditor-header{height:30px;background-color:white;padding:3px;overflow:hidden}.google-visualization-clickeditor-header-text{margin-left:5px;font-family:Arial,sans-serif;font-size:12px;color:#999;white-space:nowrap}.jfk-button.google-visualization-clickeditor-header-view,.jfk-button.google-visualization-clickeditor-header-edit{z-index:0}.jfk-button.jfk-button-disabled.google-visualization-clickeditor-header-view,.jfk-button.jfk-button-disabled.google-visualization-clickeditor-header-edit{background:transparent;border:none;box-shadow:none;margin-top:1px;margin-left:1px;opacity:0.5}.google-visualization-clickeditor-header-view .docs-icon,.google-visualization-clickeditor-header-edit .docs-icon{margin-top:-3px;margin-left:-2px;filter:alpha(opacity=60);opacity:0.6}.jfk-button.google-visualization-clickeditor-header-edit{margin-right:5px}.google-visualization-clickeditor-context-icon{position:absolute;right:10px;padding:0 5px;top:2px}.jfk-button.jfk-button-disabled.google-visualization-clickeditor-resize,.jfk-button.jfk-button-disabled.google-visualization-clickeditor-fit-area{background:#f5f5f5}.google-visualization-clickeditor-resize,.google-visualization-clickeditor-fit-area{height:24px;line-height:24px;border-color:transparent;margin-right:2px}.google-visualization-clickeditor-resize .docs-icon,.google-visualization-clickeditor-fit-area .docs-icon{margin-top:-3px;filter:alpha(opacity=60);opacity:0.6}.google-visualization-clickeditor-resize-text,.google-visualization-clickeditor-fit-area-text{font-size:11px;font-weight:bold;color:#555;margin:0 5px}.google-visualization-resizer-overlay{position:absolute;visibility:hidden}.google-visualization-resizer-bar{background:url("//ssl.gstatic.com/charts/static/stripes.png") #ffffff;position:absolute;opacity:0.1;visibility:visible;width:100%;height:100%}.google-visualization-resizer-bar:hover{opacity:0.2}.google-visualization-resizer-bar-center{height:100%;width:100%;cursor:crosshair;position:absolute;top:0}.google-visualization-resizer-bar-north{height:10px;cursor:n-resize;top:0}.google-visualization-resizer-bar-south{height:10px;cursor:s-resize;position:absolute;bottom:0}.google-visualization-resizer-bar-east{width:10px;cursor:e-resize;position:absolute;right:0}.google-visualization-resizer-bar-west{width:10px;cursor:w-resize;position:absolute;left:0}.google-visualization-charteditor-dialog{height:508px;width:917px}.google-visualization-charteditor-dialog .modal-dialog-title{font-family:Arial,sans-serif}#google-visualization-charteditor-layout-table,.google-visualization-charteditor-custom-panel,#google-visualization-clickeditor,.google-visualization-charteditor-menu{color:#222;font-family:Arial,sans-serif;font-size:12px}.google-visualization-charteditor-small-input,.google-visualization-charteditor-mid-input,.google-visualization-charteditor-input{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border:1px solid #d9d9d9;border-top:1px solid silver;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;font-size:13px;height:16px;padding:5px 2px}.google-visualization-charteditor-dialog .goog-flat-menu-button-dropdown,.google-visualization-clickeditor-bubble .goog-flat-menu-button-dropdown,.google-visualization-charteditor-custom-panel .goog-flat-menu-button-dropdown{background:url(//ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png) center no-repeat;border-width:0;height:7px;opacity:0.8;position:absolute;top:10px;width:5px}.google-visualization-charteditor-dialog .goog-flat-menu-button,.google-visualization-clickeditor-bubble .goog-flat-menu-button,.google-visualization-charteditor-custom-panel .goog-flat-menu-button{height:14px;line-height:normal;margin:0 0 0 5px;min-width:0;padding:6px 0 6px 6px;text-align:left}#google-visualization-clickeditor .goog-flat-menu-button{min-width:34px}#google-visualization-charteditor-series-select-div.goog-flat-menu-button,#google-visualization-charteditor-axes-select-div.goog-flat-menu-button{margin:0;width:100%}#google-visualization-charteditor-select-legend-position{margin-left:0}.google-visualization-charteditor-axis-select-scale.goog-select{margin-left:0;margin-right:36px}#google-visualization-charteditor-select-legend-position .goog-flat-menu-button-caption{width:74px}#google-visualization-charteditor-layout-table,#google-visualization-clickeditor,.google-visualization-charteditor-custom-panel{border:0;font-size:12px;margin:0;padding:0}.google-visualization-charteditor-settings-td,.google-visualization-charteditor-custom-panel{overflow:hidden;padding:0 0 0 4px;position:relative;left:-4px;vertical-align:top;width:288px}.google-visualization-charteditor-custom-panel{height:420px;line-height:1.4em}.google-visualization-charteditor-preview-td{height:411px;left:346px;overflow:hidden;padding:0 0 0 6px;position:absolute;top:81px;vertical-align:top;width:602px}#google-visualization-charteditor-preview-example-template{color:#15c}#google-visualization-charteditor-help-link{color:#1111cc;float:right;font-size:12px;font-weight:normal}.google-visualization-charteditor-dialog-spinner-div{height:370px;position:relative;text-align:center}.google-visualization-charteditor-dialog-spinner{background:url('//ssl.gstatic.com/docs/spreadsheets/spinner.gif') no-repeat;height:20px;position:relative;top:155px;width:20px}#google-visualization-charteditor-panel-wrapper{float:left;height:373px;width:300px}#google-visualization-charteditor-preview-div-wrapper{border:1px solid #e4e4e4;padding:0;position:relative;top:8px}#google-visualization-charteditor-preview-div-chart{overflow:hidden}.google-visualization-charteditor-panel{height:100%;width:100%}.google-visualization-charteditor-panel-scroll{overflow:auto;position:relative}.google-visualization-charteditor-panel .goog-menu-button{cursor:default}#google-visualization-charteditor-custom-data-input{position:relative}#google-visualization-charteditor-custom-data-input .sites-gviz-datasource-control{outline:none}#google-visualization-charteditor-panel-navigate-div{border-bottom:1px solid #ccc;font-size:13px;line-height:1.5em;margin-bottom:15px;padding:5px 0 0 10px;width:900px}#google-visualization-charteditor-panel-navigate-div.goog-tab-bar{background:none;cursor:default;list-style:none;outline:none}.google-visualization-charteditor-panel-navigation-cell.goog-tab{background:white;border:none;color:#666;cursor:default;padding:3px 10px;position:relative;text-decoration:none}.google-visualization-charteditor-panel-navigation-cell.goog-tab-hover{color:#222;cursor:pointer}.google-visualization-charteditor-panel-navigation-cell.goog-tab-selected{color:#202020;border:1px solid #ccc;border-bottom-color:white;-webkit-border-top-left-radius:2px;-webkit-border-top-right-radius:2px;-moz-border-radius-topleft:2px;-moz-border-radius-topright:2px;border-top-left-radius:2px;border-top-right-radius:2px;cursor:default;font-weight:700;margin-bottom:-1px;text-decoration:none}.google-visualization-charteditor-panel-navigation-cell.goog-tab-selected.goog-tab-hover{cursor:default;text-decoration:none}.google-visualization-charteditor-panel-title{font-size:13px;font-weight:800;padding-bottom:6px;position:relative}.google-visualization-charteditor-section{position:relative}#google-visualization-charteditor-options-panel .google-visualization-charteditor-section{background:white;border:1px solid #e5e5e5;margin-top:-1px;padding:10px 10px 20px;width:260px}.google-visualization-charteditor-multi-section-gap{height:4px}.google-visualization-charteditor-item-gap{height:15px}.google-visualization-charteditor-title-gap{height:10px}.google-visualization-charteditor-multi-section-title{background:whiteSmoke;border:1px #e5e5e5 solid;color:#d14836;display:table;font-size:13px;font-weight:bold;padding:6px 10px;text-align:left;width:260px}.google-visualization-charteditor-multi-section-title-text{display:table-cell;padding-right:7px}.google-visualization-charteditor-multi-section-chooser{display:table-cell;width:100%}.google-visualization-charteditor-section-title{color:#222;font-size:13px;font-weight:normal;padding:5px 0}.google-visualization-charteditor-data-range{color:#222;font-size:13px;font-weight:bold;padding:5px 0}.google-visualization-charteditor-short-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:88px}.google-visualization-charteditor-section>div>table{border:0;border-collapse:collapse;border-spacing:0;margin:0;padding:0;table-layout:fixed;width:250px}.google-visualization-charteditor-section>tbody>tr>td{margin:0;padding:0;vertical-align:top;width:125px}#google-visualization-charteditor-select-series{margin:0!important}.google-visualization-charteditor-select-series-color{height:10px;left:-15px;margin:0;position:relative;top:1px;width:10px}.google-visualization-charteditor-series-color-palette .goog-palette-cell{border-right:1px solid #333}.google-visualization-charteditor-menu-item-global{margin-left:10px}.google-visualization-charteditor-color .goog-flat-menu-button{min-width:38px}.google-visualization-charteditor-color .goog-flat-menu-button-disabled{background-image:none}.google-visualization-charteditor-color .goog-flat-menu-button-disabled .goog-flat-menu-button-dropdown{opacity:0.4}.google-visualization-charteditor-color .goog-flat-menu-button-disabled .goog-flat-menu-button-indicator{opacity:0.5}.google-visualization-charteditor-color .goog-flat-menu-button-indicator{height:14px;margin-left:4px;outline:1px solid #bbb;width:14px}.google-visualization-charteditor-inherit-color{height:25px}.google-visualization-charteditor-inherit-color .jfk-palette-colorswatch{background-color:#f3f3f3!important}.google-visualization-charteditor-inherit-color-header{margin:5px;top:-4px}.google-visualization-charteditor-none-color.goog-option-selected .goog-menuitem-checkbox{border:1px solid transparent;outline:1px solid black}.google-visualization-charteditor-none-color.goog-menuitem{color:#333;font-family:Arial,sans-serif;font-size:12px;padding-left:20px}.google-visualization-charteditor-none-color.goog-option-selected{background-image:none}.google-visualization-charteditor-theme-header.goog-menuheader{color:#333;font-family:Arial,sans-serif;font-size:12px;margin-top:4px;padding:5px 0 0 0}.google-visualization-charteditor-colormenu .jfk-palette-table{margin:3px 0 0 0;padding:0}.google-visualization-charteditor-colormenu.jfk-colormenu{padding:10px}.google-visualization-charteditor-none-color .goog-menuitem-checkbox{background:url(//ssl.gstatic.com/ui/v1/dialog/close-x.png) no-repeat 50% 50%!important;height:13px;margin:0;top:7px;width:13px}.google-visualization-charteditor-color-full .goog-menu-button-caption{padding:0}.google-visualization-charteditor-color-full .goog-menu-button-inner-box{padding:2px!important}.google-visualization-charteditor-link{color:blue;font-weight:bold}.google-visualization-charteditor-link:hover{cursor:pointer;text-decoration:underline}.google-visualization-charteditor-input{width:98%}.google-visualization-charteditor-input-disabled{background-color:#f3f3f3;border:1px solid #dadada;color:#ccc}.google-visualization-charteditor-input-label-disabled{color:#ccc}.google-visualization-charteditor-mid-input{width:138px}.google-visualization-charteditor-glasspane{background-color:#eee;filter:alpha(opacity=0.6);opacity:0.6}.google-visualization-charteditor-help-text{color:#ccc;font-size:12px}#google-visualization-charteditor-data-preview{display:none}#google-visualization-charteditor-data-preview-arrow{background:url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -422px center;cursor:default;display:none;height:10px;top:50%;width:10px}.google-visualization-charteditor-data-mismatch{color:#555;font-size:13px;line-height:1em;padding:10px}.google-visualization-charteditor-data-mismatch-header{color:black;font-size:16px;margin-bottom:10px;margin-left:10px}.google-visualization-charteditor-mismatch-icon{background:url("//ssl.gstatic.com/charts/static/alert.png") no-repeat;height:18px;width:20px}#google-visualization-charteditor-preview-mismatch-thumbnail{float:right;height:68px;margin:0 0 0 2px;width:110px}.google-visualization-charteditor-tooltip{font-family:Arial,sans-serif}.google-visualization-charteditor-link{color:#333;font-weight:normal;text-decoration:none}.google-visualization-charteditor-link:hover{cursor:pointer;text-decoration:underline}.google-visualization-charteditor-checkbox{cursor:default;display:inline-block;margin:2px 2px 2px 0;overflow:hidden;padding:0;position:relative;white-space:nowrap}.google-visualization-charteditor-checkbox-container .google-visualization-charteditor-checkbox{width:120px}.google-visualization-charteditor-combobox.google-visualization-charteditor-combobox-closed{background-color:whiteSmoke;background-image:-webkit-linear-gradient(top,whiteSmoke,#f1f1f1);background-image:-moz-linear-gradient(top,whiteSmoke,#f1f1f1);background-image:-ms-linear-gradient(top,whiteSmoke,#f1f1f1);background-image:-o-linear-gradient(top,whiteSmoke,#f1f1f1);background-image:linear-gradient(top,whiteSmoke,#f1f1f1);border:1px solid gainsboro;border:1px solid rgba(0,0,0,0.1)}.google-visualization-charteditor-combobox.google-visualization-charteditor-combobox-disabled{background-color:white;border:1px solid #f2f2f2;opacity:1}.google-visualization-charteditor-combobox .goog-toolbar-combo-button-input{padding:0 0 0 3px;position:relative;width:28px}.google-visualization-charteditor-combobox-disabled .goog-toolbar-combo-button-input{color:#b8b8b8}.google-visualization-charteditor-combobox-disabled .goog-toolbar-combo-button-dropdown{opacity:0.4}.google-visualization-charteditor-combobox.goog-toolbar-combo-button{margin-left:4px;padding:1px 0;top:auto}.google-visualization-charteditor-checkbox-disabled{color:#666}.google-visualization-charteditor-checkbox .goog-checkbox{cursor:default}.google-visualization-charteditor-toggle{min-width:24px;margin:0}.google-visualization-charteditor-toggle.jfk-button{height:26px;line-height:24px;padding:0;z-index:auto}.google-visualization-charteditor-toggle-disabled{opacity:0.3}.google-visualization-charteditor-toggle-bold-content{background:url(//ssl.gstatic.com/docs/common/jfk_sprite40.png) -23px -466px no-repeat;height:16px;top:2px;width:16px}.google-visualization-charteditor-toggle-italic-content{background:url(//ssl.gstatic.com/docs/common/jfk_sprite40.png) -2px -2176px no-repeat;height:16px;top:2px;width:16px}.google-visualization-charteditor-name-input{border:1px solid transparent;color:#202020;font-family:Arial,sans-serif;font-size:13px;font-weight:800;height:14px;padding:4px;width:400px}.google-visualization-charteditor-name-input.google-visualization-charteditor-help-text{color:#666;font-weight:normal}.google-visualization-charteditor-name-input:hover,.google-visualization-charteditor-name-input:focus{border:1px solid #e4e4e4}.google-visualization-charteditor-small-input{width:118px}.google-visualization-charteditor-chart-img-div{border:1px solid #ddd;margin-top:5px;padding:2px;text-align:center;width:45px}.google-visualization-charteditor-chart-type-table{background-color:#f6f6f6;width:100%}.google-visualization-charteditor-type-select-button .goog-custom-button-inner-box{border-width:1px;margin:0;padding:1px;vertical-align:middle}.google-visualization-charteditor-type-select-button .goog-custom-button-outer-box{border-width:1px;margin:0;padding:0.5px;vertical-align:middle}.google-visualization-charteditor-type-select-label{border:0;font-size:10px;height:10px;margin:0;margin-top:-4px;padding:0;text-align:center;vertical-align:text-top}.google-visualization-charteditor-thumbnail .jfk-radiobutton-radio{-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;border:none;left:0;margin:0;position:static;top:0}.google-visualization-charteditor-thumbnail .jfk-radiobutton-radio::after{content:none}.google-visualization-charteditor-thumbnail.jfk-radiobutton{border:4px solid #ddd;display:block;margin:4px 12px 8px 0;padding:0px;height:68px;width:110px}.google-visualization-charteditor-thumbnail.jfk-radiobutton-checked{border:4px solid #6688ee;height:68px;outline-color:#fff;width:110px}.google-visualization-charteditor-thumbnail:focus{border:4px solid #c1d9ff;cursor:pointer}.google-visualization-charteditor-thumbnail.jfk-radiobutton-checked:focus{border:4px solid #6688ee}#google-visualization-charteditor-chart-type-categories{border-right:2px dotted #dcdcdc;float:left;width:105px}#google-visualization-charteditor-chart-type-categories.goog-tab-bar{background:none;cursor:default;list-style:none;outline:none}.google-visualization-charteditor-category.goog-tab{background:white;border:none;cursor:default;font-weight:normal;height:25px;margin-bottom:5px;padding:2px 0;position:relative;text-decoration:none}.google-visualization-charteditor-category.goog-tab-hover{cursor:pointer;background-color:#f2f2f2}.google-visualization-charteditor-category.goog-tab-hover .google-visualization-charteditor-category-label{text-decoration:underline}.google-visualization-charteditor-category.goog-tab-selected{background-color:#ddd!important;font-weight:bold}.google-visualization-charteditor-category.goog-tab-selected.goog-tab-hover{cursor:default;background-color:#ddd}.google-visualization-charteditor-category.goog-tab-selected.goog-tab-hover .google-visualization-charteditor-category-label{text-decoration:none}.google-visualization-charteditor-category-label{color:#666;font-size:13px;font-family:Arial,sans-serif;margin-left:15px;position:relative;top:-7px}.google-visualization-charteditor-category-label{text-decoration:inherit}.google-visualization-charteditor-mini{margin:2px}.google-visualization-charteditor-chart-type-subtypes{display:block;height:100%;overflow-y:scroll;max-height:372px}#google-visualization-charteditor-chart-type-subtypes{float:right;width:155px}.google-visualization-charteditor-combobox-icon{height:12px;left:9px;position:absolute;top:7px;width:12px}.google-visualization-charteditor-horizontal-menu{padding:1px 5px 5px 5px}.google-visualization-charteditor-float-start{float:left}.google-visualization-charteditor-float-end{float:right}.google-visualization-charteditor-float-clear{clear:both}.google-visualization-charteditor-align-end{text-align:right}.google-visualization-charteditor-align-start{text-align:left}.google-visualization-charteditor-display-none{display:none}.annotationsdiv .goog-custom-button-outer-box,.annotationsdiv .goog-custom-button-inner-box{border:0;margin:0;padding:0}.google-visualization-charteditor-mini-area{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -105px;width:21px;height:21px}.google-visualization-charteditor-mini-bar{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -168px;width:21px;height:21px}.google-visualization-charteditor-mini-column{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 0;width:21px;height:21px}.google-visualization-charteditor-mini-combo{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -42px;width:21px;height:21px}.google-visualization-charteditor-mini-line{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -126px;width:21px;height:21px}.google-visualization-charteditor-mini-map{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -21px;width:21px;height:21px}.google-visualization-charteditor-mini-more{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -63px;width:21px;height:21px}.google-visualization-charteditor-mini-pie{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -84px;width:21px;height:21px}.google-visualization-charteditor-mini-scatter{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -147px;width:21px;height:21px}.google-visualization-charteditor-mini-step{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -210px;width:21px;height:21px}.google-visualization-charteditor-mini-trend{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -189px;width:21px;height:21px}.google-visualization-charteditor-mini-histogram{background:no-repeat url("//ssl.gstatic.com/charts/static/mini3.png") 0 -231px;width:21px;height:21px}.google-visualization-charteditor-thumbs-annotatedtimeline-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -612px;width:110px;height:68px}.google-visualization-charteditor-thumbs-annotatedtimeline{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2507px;width:110px;height:68px}.google-visualization-charteditor-thumbs-areachart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3391px;width:110px;height:68px}.google-visualization-charteditor-thumbs-areachart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2779px;width:110px;height:68px}.google-visualization-charteditor-thumbs-areachart-stacked-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -408px;width:110px;height:68px}.google-visualization-charteditor-thumbs-areachart-stacked{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2031px;width:110px;height:68px}.google-visualization-charteditor-thumbs-barchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -4124px;width:110px;height:68px}.google-visualization-charteditor-thumbs-barchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3187px;width:110px;height:68px}.google-visualization-charteditor-thumbs-barchart-stacked-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3527px;width:110px;height:68px}.google-visualization-charteditor-thumbs-barchart-stacked{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -816px;width:110px;height:68px}.google-visualization-charteditor-thumbs-bubblechart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -136px;width:110px;height:68px}.google-visualization-charteditor-thumbs-bubblechart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1020px;width:110px;height:68px}.google-visualization-charteditor-thumbs-candlestickchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1156px;width:110px;height:68px}.google-visualization-charteditor-thumbs-candlestickchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3255px;width:110px;height:68px}.google-visualization-charteditor-thumbs-columnchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3784px;width:110px;height:68px}.google-visualization-charteditor-thumbs-columnchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2099px;width:110px;height:68px}.google-visualization-charteditor-thumbs-columnchart-stacked-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2983px;width:110px;height:68px}.google-visualization-charteditor-thumbs-columnchart-stacked{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1088px;width:110px;height:68px}.google-visualization-charteditor-thumbs-combochart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -340px;width:110px;height:68px}.google-visualization-charteditor-thumbs-combochart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 0;width:110px;height:68px}.google-visualization-charteditor-thumbs-donutchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1360px;width:110px;height:68px}.google-visualization-charteditor-thumbs-donutchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2371px;width:110px;height:68px}.google-visualization-charteditor-thumbs-gauge-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1496px;width:110px;height:68px}.google-visualization-charteditor-thumbs-gauge{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -476px;width:110px;height:68px}.google-visualization-charteditor-thumbs-geochart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2575px;width:110px;height:68px}.google-visualization-charteditor-thumbs-geochart-markers-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -68px;width:110px;height:68px}.google-visualization-charteditor-thumbs-geochart-markers{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2439px;width:110px;height:68px}.google-visualization-charteditor-thumbs-geochart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -4192px;width:110px;height:68px}.google-visualization-charteditor-thumbs-histogram-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3323px;width:110px;height:68px}.google-visualization-charteditor-thumbs-histogram{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1564px;width:110px;height:68px}.google-visualization-charteditor-thumbs-imageradarchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3051px;width:110px;height:68px}.google-visualization-charteditor-thumbs-imageradarchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2235px;width:110px;height:68px}.google-visualization-charteditor-thumbs-imagesparkline-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2643px;width:110px;height:68px}.google-visualization-charteditor-thumbs-imagesparkline{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2167px;width:110px;height:68px}.google-visualization-charteditor-thumbs-linechart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1632px;width:110px;height:68px}.google-visualization-charteditor-thumbs-linechart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -544px;width:110px;height:68px}.google-visualization-charteditor-thumbs-linechart-smooth-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1963px;width:110px;height:68px}.google-visualization-charteditor-thumbs-linechart-smooth{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3119px;width:110px;height:68px}.google-visualization-charteditor-thumbs-map-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -4056px;width:110px;height:68px}.google-visualization-charteditor-thumbs-map-normal{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1904px;width:100px;height:59px}.google-visualization-charteditor-thumbs-map{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1292px;width:110px;height:68px}.google-visualization-charteditor-thumbs-map-satellite{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3595px;width:100px;height:60px}.google-visualization-charteditor-thumbs-map-street-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2915px;width:110px;height:68px}.google-visualization-charteditor-thumbs-map-street{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -680px;width:110px;height:68px}.google-visualization-charteditor-thumbs-map-terrain{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3723px;width:100px;height:61px}.google-visualization-charteditor-thumbs-motionchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2711px;width:110px;height:68px}.google-visualization-charteditor-thumbs-motionchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1836px;width:110px;height:68px}.google-visualization-charteditor-thumbs-orgchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -884px;width:110px;height:68px}.google-visualization-charteditor-thumbs-orgchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1428px;width:110px;height:68px}.google-visualization-charteditor-thumbs-piechart-3d-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -952px;width:110px;height:68px}.google-visualization-charteditor-thumbs-piechart-3d{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3655px;width:110px;height:68px}.google-visualization-charteditor-thumbs-piechart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2303px;width:110px;height:68px}.google-visualization-charteditor-thumbs-piechart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3852px;width:110px;height:68px}.google-visualization-charteditor-thumbs-scatterchart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -272px;width:110px;height:68px}.google-visualization-charteditor-thumbs-scatterchart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3988px;width:110px;height:68px}.google-visualization-charteditor-thumbs-steppedareachart-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -2847px;width:110px;height:68px}.google-visualization-charteditor-thumbs-steppedareachart{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3920px;width:110px;height:68px}.google-visualization-charteditor-thumbs-table-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1768px;width:110px;height:68px}.google-visualization-charteditor-thumbs-table{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -204px;width:110px;height:68px}.google-visualization-charteditor-thumbs-timeline-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1224px;width:110px;height:68px}.google-visualization-charteditor-thumbs-timeline{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -3459px;width:110px;height:68px}.google-visualization-charteditor-thumbs-treemap-disabled{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -1700px;width:110px;height:68px}.google-visualization-charteditor-thumbs-treemap{background:no-repeat url("//ssl.gstatic.com/charts/static/thumbs18.png") 0 -748px;width:110px;height:68px}.google-visualization-atl.container{}.google-visualization-atl .border{border:1px solid #808080;background-color:#ffffff}.google-visualization-atl .containerTable{display:table;table-layout:fixed;width:100%;height:100%;border:0;padding:0}.google-visualization-atl .containerTableRow{display:table-row}.google-visualization-atl .containerTable .td{display:table-cell;vertical-align:top;padding:0}.google-visualization-atl .chartTdContainer{}.google-visualization-atl .outerChartContainer{overflow:hidden}.google-visualization-atl .chartControls{display:table;border-spacing:0;border-collapse:collapse;height:auto;width:100%;white-space:nowrap}.google-visualization-atl .chartControls.twoRows{height:41px}.google-visualization-atl .zoomControls{display:table-cell;padding:4px 7px 1px;font-size:10px;white-space:nowrap;overflow:hidden}.google-visualization-atl .zoomControls button.zoomButton{margin-right:0.33em}.google-visualization-atl button{padding:0 2px;font-size:9px;line-height:10px}.google-visualization-atl .legend{display:table-cell;padding:4px 7px 1px;font-size:10px;text-align:right;white-space:nowrap;overflow:hidden}.google-visualization-atl .legend-dot{display:inline-block;height:8px;width:8px;border-radius:4px;margin-right:2px;-webkit-box-shadow:0px 0px 1px 1px rgba(206,206,195,0.75);-moz-box-shadow:0px 0px 1px 1px rgba(206,206,195,0.75);box-shadow:0px 0px 1px 1px rgba(206,206,195,0.75)}.google-visualization-atl .rangeControl{overflow:hidden}.google-visualization-atl .annotationsTdContainer{height:0;border-left:1px solid #808080}.google-visualization-atl .annotationsFilterContainer{padding:4px;font-size:10px;white-space:nowrap;overflow:hidden}.google-visualization-atl .annotationsFilterContainer input{font-size:10px;width:15em}.google-visualization-atl .annotationsContainer{}.google-visualization-atl .annotationsContainer .google-visualization-table-tr-head{display:none}.google-visualization-atl .annotationsContainer .google-visualization-table-tr-odd,.google-visualization-atl .annotationsContainer .google-visualization-table-tr-odd td{background:none}.google-visualization-atl .annotationsContainer .google-visualization-table-tr-even,.google-visualization-atl .annotationsContainer .google-visualization-table-tr-even td{background:none}.google-visualization-atl .annotationsContainer .google-visualization-table-tr-sel,.google-visualization-atl .annotationsContainer .google-visualization-table-tr-sel td{background-color:#eeeeee}.google-visualization-atl .annotationsContainer .google-visualization-table-td{border-width:0;border-bottom-width:1px;vertical-align:top;font-size:0.75em}.google-visualization-atl .annotationsContainer .title{font-weight:bold}.google-visualization-atl .annotationsContainer .date{color:#666666;font-size:0.75em;white-space:nowrap}.google-visualization-table{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;vertical-align:bottom}.google-visualization-table *{-moz-box-sizing:inherit;-webkit-box-sizing:inherit;box-sizing:inherit}.google-visualization-table>div:first-child{border:solid #eee;border-width:0}.google-visualization-table>div:first-child.scrolling .google-visualization-table-table th,.google-visualization-table>div:first-child.scrolling .google-visualization-table-table .frozen-column{visibility:hidden;opacity:0;color:transparent}.google-visualization-table>div:first-child.doneScrolling .google-visualization-table-table th{-webkit-transition:opacity .25s ease-in .1s;-o-transition:opacity .25s ease-in .1s;transition:opacity 0.25s ease-in 0.1s}.google-visualization-table>div:first-child.doneScrolling .google-visualization-table-table .frozen-column{-webkit-transition:visibility,opacity .15s ease-in .15s;-o-transition:visibility,opacity .15s ease-in .15s;transition:visibility,opacity 0.15s ease-in 0.15s}.google-visualization-table-table{font-family:arial,helvetica;font-size:10pt;cursor:default;margin:0;background:white;border-spacing:0;border-collapse:separate}.google-visualization-table-table *{margin:0}.google-visualization-table .gradient{background-image:url("//ssl.gstatic.com/charts/static/table-title-bg.gif") repeat-x left bottom;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.7) 30%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%);background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.7) 30%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.7) 30%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.7) 30%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.7) 30%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%)}.google-visualization-table-tr-head{background-color:rgb(228,233,244);font-weight:bold;text-align:center}.google-visualization-table-sorthdr{cursor:pointer}.google-visualization-table-sortind{color:#ccc;padding-left:4px}.unsorted .google-visualization-table-sortind{display:none}.unsorted .google-visualization-table-sortind:after{content:"\002003"}.sort-ascending .google-visualization-table-sortind:after{content:"\0025b2"}.sort-descending .google-visualization-table-sortind:after{content:"\0025bc"}.google-visualization-table-th{cursor:pointer;white-space:nowrap}.google-visualization-table-td{overflow:hidden}.google-visualization-table-th,.google-visualization-table-td{padding:2px 0.35em;background-color:inherit;background-clip:padding-box}.google-visualization-table-table td,.google-visualization-table-table th{border:solid #eee;border-width:0 1px 1px 0;padding:2px 0.35em}.google-visualization-table-table th{position:relative;z-index:10}.google-visualization-table-table td.frozen-column{position:relative;z-index:5}.google-visualization-table-table thead th.frozen-column{z-index:15}.google-visualization-table-table .last-frozen-column{border-right:2px ridge #eee}.google-visualization-table-tr-even{background-color:#fff}.google-visualization-table-tr-odd{background-color:#fafafa}.google-visualization-table-tr-sel{background-color:#d6e9f8}.google-visualization-table-tr-over{background-color:#e7e9f9}.google-visualization-table-td.google-visualization-table-type-bool{text-align:center;font-family:"Arial Unicode MS",Arial,Helvetica}.google-visualization-table-td.google-visualization-table-type-date{text-align:center}.google-visualization-table-td.google-visualization-table-type-number{text-align:right;white-space:nowrap}.google-visualization-table-seq{text-align:right;color:#666}.google-visualization-table-div-page{display:inline-block;width:100%;padding:1px 0 0 1px;border:0;background-color:rgb(228,233,244);font-family:Arial,sans-serif}.google-visualization-table-div-page [role="button"]{display:inline-block;cursor:pointer;margin-top:2px;margin-bottom:2px;font-family:"Arial Unicode MS",Arial,Helvetica;font-size:10px;line-height:10px}.google-visualization-table-div-page [role="button"] .goog-custom-button-inner-box{padding:1px 1px 2px 1px}.google-visualization-table-page-prev,.google-visualization-table-page-next{}.google-visualization-table-page-prev:before{content:"\0025c4"}.google-visualization-table-page-next:before{content:"\0025ba"}.google-visualization-table-page-numbers{display:inline-block;zoom:1;margin:0;vertical-align:middle}.ie8 .google-visualization-table-page-numbers{display:inline}.google-visualization-table-page-number{display:inline-block;background-color:rgb(228,233,244);border:1px ButtonShadow outset;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:black;font-size:10px;min-width:10px;margin:2px;padding:0 2px;text-align:center;text-decoration:none;vertical-align:middle}.google-visualization-table-page-number.current{font-weight:bold;font-size:11px;background:#fefefe;border-style:inset}.google-visualization-table-page-number:hover{background:#fefefe;border-style:inset}.google-visualization-table .transparent{background-image:none;background-color:transparent;border-color:transparent}.google-visualization-table .transparentIE6{background:none}.google-visualization-table th .transparent,.google-visualization-table td .transparent{color:transparent;opacity:0}.google-visualization-table .google-visualization-hidden{visibility:hidden;pointer-events:none}.google-visualization-table-loadtest{padding-left:6px}.google-visualization-sparkline-default{background-color:#ffffff;border-spacing:0px;font-size:small;color:gray}.google-visualization-sparkline-selected{background-color:#d6e9f8;padding:1px;border-spacing:0px;font-size:small;color:gray}.google-visualization-sparkline-over{background-color:#e7e9f9;padding:1px;border-spacing:0px;font-size:small;color:gray}.google-visualization-sparkline-image{display:block}.google-visualization-orgchart-table{border:0;text-align:center}.google-visualization-orgchart-table *{margin:0;padding:2px}.google-visualization-orgchart-space-small{width:4px;height:1px;border:0}.google-visualization-orgchart-space-medium{width:10px;height:1px;border:0}.google-visualization-orgchart-space-large{width:16px;height:1px;border:0}.google-visualization-orgchart-noderow-small{height:12px;border:0}.google-visualization-orgchart-noderow-medium{height:30px;border:0}.google-visualization-orgchart-noderow-large{height:46px;border:0}.google-visualization-orgchart-connrow-small{height:2px;font-size:1px}.google-visualization-orgchart-connrow-medium{height:6px;font-size:4px}.google-visualization-orgchart-connrow-large{height:10px;font-size:8px}.google-visualization-orgchart-node{text-align:center;vertical-align:middle;font-family:arial,helvetica;cursor:default;border:2px solid #b5d9ea;-moz-border-radius:5px;-webkit-border-radius:5px;-webkit-box-shadow:rgba(0,0,0,0.5) 3px 3px 3px;-moz-box-shadow:rgba(0,0,0,0.5) 3px 3px 3px;background-color:#edf7ff;background:-webkit-gradient(linear,left top,left bottom,from(#edf7ff),to(#cde7ee))}.google-visualization-orgchart-nodesel{border:2px solid #e3ca4b;background-color:#fff7ae;background:-webkit-gradient(linear,left top,left bottom,from(#fff7ae),to(#eee79e))}.google-visualization-orgchart-node-small{font-size:0.6em}.google-visualization-orgchart-node-medium{font-size:0.8em}.google-visualization-orgchart-node-large{font-size:1.2em;font-weight:bold}.google-visualization-orgchart-linenode{border:0}.google-visualization-orgchart-lineleft{border-left:1px solid #3388dd}.google-visualization-orgchart-lineright{border-right:1px solid #3388dd}.google-visualization-orgchart-linebottom{border-bottom:1px solid #3388dd}.waffle-charteditor-chart-area-resizer .docs-squarehandleselectionbox-border{transition:opacity 250ms cubic-bezier(0.4,0.0,1,1);border:1px solid #9e9e9e;opacity:0}.waffle-charteditor-chart-area-resizer .docs-squarehandleselectionbox-handle{transition:opacity 250ms cubic-bezier(0.4,0.0,1,1);background:#fff;border:1px solid #9e9e9e;opacity:0}.waffle-charteditor-chart-area-resizer:hover .docs-squarehandleselectionbox-border,.waffle-charteditor-chart-area-resizer:hover .docs-squarehandleselectionbox-handle,.waffle-charteditor-chart-area-resizer-active .docs-squarehandleselectionbox-border,.waffle-charteditor-chart-area-resizer-active .docs-squarehandleselectionbox-handle,.waffle-charteditor-chart-area-resizer-dragging .docs-squarehandleselectionbox-border,.waffle-charteditor-chart-area-resizer-dragging .docs-squarehandleselectionbox-handle{opacity:1}.waffle-charteditor-edit-context-menu{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-charteditor-edit-context-menu .goog-menuitem{padding-left:30px;padding-right:110px}.waffle-charteditor-edit-context-menu-header{color:rgba(0,0,0,0.38);font-weight:bold;padding:2px 8px 6px 8px;text-transform:uppercase}.waffle-charteditor-edit-context-menu-submenu-label{float:left}.waffle-charteditor-select-to-zoom{background-color:rgba(0,0,255,0.1);border:1px dashed #9e9e9e;position:absolute}.waffle-charteditor-text-edit-overlay{background-color:#fff;border:1px solid #44a3fa;cursor:text;color:rgba(0,0,0,0.54);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;line-height:1;outline:3px solid rgba(68,163,250,.3);outline-offset:0;position:absolute;resize:none;z-index:1}.waffle-charteditor-text-edit-overlay-vertical{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);-webkit-transform-origin:top left;-moz-transform-origin:top left;-ms-transform-origin:top left;-o-transform-origin:top left;transform-origin:top left}.docs-ui-toast.waffle-charts-customizable-toast{bottom:10px;left:10px;position:absolute}.waffle-charts-switching-chart-component-gviz-backed{background:white}.waffle-dataconnector-dbrecord-projection-column-selection-type-buttons{margin-top:12px}.waffle-dataconnector-dbrecord-projection-column-selection-type-buttons .jfk-radiobutton{margin-left:16px;padding:0}.waffle-dataconnector-dbrecord-projection-column-selection-type-buttons .jfk-radiobutton-label{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px;margin-left:32px;text-decoration-line:none}.waffle-dataconnector-dbrecord-projection-column-selection-type-buttons .jfk-radiobutton-radio{left:0;height:20px;width:20px;top:0}.waffle-dataconnector-dbrecord-projection-column-selection-type-buttons .jfk-radiobutton-checked .jfk-radiobutton-radio::after{height:10px;margin:3px;width:10px}.waffle-dataconnector-dbrecord-projection-column-selection-type-sync-all-helper{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;margin:8px 16px 16px 48px;max-width:200px}.waffle-dataconnector-dbrecord-projection-column-selection-type .goog-menu-filter{margin-left:48px;max-width:184px}.waffle-dataconnector-dbrecord-projection-column-selection-type .waffle-dbsource-column-filtered-menu-select-all-and-clear{margin-left:48px}.waffle-dataconnector-dbrecord-projection-column-selection-type .goog-menu-content{margin-left:16px;margin-bottom:8px}.waffle-dataconnector-dbrecord-projection-column-selection-type .waffle-dbsource-column-filtered-menu-item-icon{margin-left:28px}.waffle-dataconnector-dbrecord-projection-column-selection-type .goog-menuitem .goog-menuitem-content{margin-left:24px}.waffle-dbsource-column-filtered-menu.waffle-dataconnector-dbrecord-projection-column-selection-type .goog-menuitem.goog-option-selected{background-position:left center}.waffle-sidebar-container.waffle-filter-by-value-sidebar{width:460px}.waffle-filter-by-value-sidebar-footer-button-bar{border-top:1px solid #dadce0;display:flex;justify-content:flex-end;padding:16px 0}.waffle-filter-by-value-sidebar .waffle-sidebar-footer-container{background-color:white}.waffle-filter-by-value-cancel-button-wrapper{margin-right:4px}.waffle-filter-by-value-ok-button-wrapper{margin-right:12px}.waffle-filter-by-value-menu .goog-menu,.waffle-filter-by-value-additional-values-menu .goog-menu{position:relative;width:100%}.waffle-filter-by-value-item-value{left:90px;position:absolute}.waffle-filter-by-value-sidebar .waffle-filter-by-value-search-container .waffle-filter-by-value-search-input{border:none;width:100%}.waffle-filter-by-value-search-container{border-bottom:1px solid #dadce0}.waffle-filter-by-value-additional-values-menu-item{font-size:14px;font-weight:bold}.waffle-filter-by-value-separator{border-left:1px solid #dadce0;height:20px;margin-right:16px}.waffle-dataconnector-dbrecord-sidebar-widget{padding:20px 16px 0}.waffle-dataconnector-dbrecord-sidebar-widget-header{display:flex;align-items:center;justify-content:space-between}.waffle-dataconnector-dbrecord-sidebar-widget-header-label{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:40px}.waffle-dataconnector-dbrecord-sidebar .docs-charts-editor-material-textbutton.docs-material:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important;height:24px;padding:3px 12px 5px}.waffle-dataconnector-dbrecord-sidebar-sort-widget-chip,.waffle-dataconnector-dbrecord-sidebar-projection-widget-chip{margin-top:8px}.waffle-dataconnector-dbrecord-sidebar-sort-widget-chip .docs-charts-editor-chip-content,.waffle-dataconnector-dbrecord-sidebar-projection-widget-chip .docs-charts-editor-chip-content{display:flex;align-items:center}.waffle-dataconnector-dbrecord-sidebar-projection-widget-chip .docs-charts-editor-chip-content,.waffle-dataconnector-dbrecord-sidebar-projection-widget-chip .docs-charts-editor-chip-label,.waffle-dataconnector-dbrecord-sidebar-sort-widget-chip .docs-charts-editor-chip-content,.waffle-dataconnector-dbrecord-sidebar-sort-widget-chip .docs-charts-editor-chip-label{cursor:move}.waffle-dataconnector-dbrecord-chip-nodrag .docs-charts-editor-chip-content,.waffle-dataconnector-dbrecord-chip-nodrag .docs-charts-editor-chip-label,.waffle-dataconnector-dbrecord-chip-nodrag{cursor:default}.waffle-dataconnector-dbrecord-sidebar-sort-widget-chip-icon,.waffle-dataconnector-dbrecord-sidebar-projection-widget-chip-icon{margin-left:15px}.waffle-dataconnector-dbrecord-sidebar .waffle-dbsource-table-icon{height:24px;width:24px}.waffle-dataconnector-dbrecord-sidebar-filter-widget .waffle-filter-filtercard{background-color:#f1f3f4}.waffle-dataconnector-dbrecord-sidebar-filter-widget .waffle-filter-filtercard .waffle-filter-filtercard-delete-button{background-color:#5f6368}.waffle-dataconnector-dbrecord-sidebar-filter-widget .waffle-filter-filtercard .waffle-filter-filtercard-select .jfk-select{width:100%}.waffle-dataconnector-dbrecord-sidebar-truncation-widget-row-limit-label{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;padding-bottom:5px}.waffle-dataconnector-dbrecord-sidebar-truncation-widget-repeated-values{align-items:center;display:flex;margin-top:8px}.docs-calendar-select{background-color:#f1f3f4;border-radius:8px;outline:none}.docs-calendar-select-disabled{color:#5f6368;opacity:.38;cursor:default}.docs-calendar-select-outer-box{border-radius:4px;cursor:pointer;padding:8px 6px 8px 8px}.docs-calendar-select-outer-box:active{background-color:#fff;border:1px solid transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-calendar-select-hover .docs-calendar-select-outer-box{background-color:rgba(60,64,67,0.04)}.docs-calendar-select-open .docs-calendar-select-outer-box{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.docs-calendar-select-open.docs-calendar-select-hover .docs-calendar-select-outer-box{background-color:rgba(60,64,67,0.04)}.docs-calendar-select-inner-box{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%}.docs-calendar-select-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-calendar-select-dropdown{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.docs-calendar-select-dropdown-icon{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px}.docs-calendar-select-open .docs-calendar-select-dropdown-icon{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.waffle-dataconnector-refresh-all-dbobject-item{display:inline-block;height:35px;width:100%}.waffle-dataconnector-refresh-all-dbobject-item-enabled:focus{outline:none}.waffle-dataconnector-refresh-all-dbobject-item-enabled.valid-highlight:hover{background-color:#f1f3f4;border-radius:20px;box-sizing:border-box}.waffle-dataconnector-refresh-all-dbobject-item-enabled.valid-highlight:focus{background-color:#e8eaed;border-radius:20px;box-sizing:border-box;outline:none}.waffle-dataconnector-refresh-all-dbobject-item-enabled.error-highlight:hover{background-color:#fce8e6;border-radius:20px;box-sizing:border-box}.waffle-dataconnector-refresh-all-dbobject-item-enabled.error-highlight:focus{background-color:#fad2cf;border-radius:20px;box-sizing:border-box;outline:none}.waffle-dataconnector-refresh-all-dbobject-item-disabled{color:#80868b;cursor:default}.waffle-dataconnector-refresh-all-dbobject-item-icon-wrapper{float:left;margin-left:16px;margin-right:16px;margin-top:8px}.waffle-dataconnector-refresh-all-dbobject-item-title{color:#3c4043;float:left;font:400 14px/20px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.2px;margin-top:8px}.waffle-dataconnector-refresh-all-dbobject-item-status-wrapper{float:right;font:400 12px/16px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.3px;margin-right:16px;margin-top:8px}.waffle-dataconnector-refresh-all-dbobject-item-timestamp{color:#80868b}.waffle-dataconnector-refresh-all-dbobject-item-loading,.waffle-dataconnector-refresh-all-dbobject-item-running{color:#202124}.waffle-dataconnector-refresh-all-dbobject-item-error{color:#d93025;font-weight:bold}.waffle-dataconnector-refresh-all-dbobject-list-footer-button-wrapper{float:right;margin-right:7px}.waffle-dataconnector-refresh-all-dbobject-list-footer{display:inline-block;margin-bottom:10px;margin-top:10px;width:100%}.waffle-dataconnector-refresh-all-dbobject-list-footer-bytes-wrapper{float:left;margin-left:21px;margin-top:9px}.waffle-dataconnector-refresh-all-dbobject-item-icon-spinner .waffle-spinner{height:18px;width:18px}.waffle-dataconnector-refresh-all-dbobject-item-icon-spinner .waffle-spinner-circle{border-width:2px}.waffle-dataconnector-refresh-sidebar-backdrop{background-color:#000;left:0;position:absolute;top:0;z-index:1002;height:100%;opacity:.6;width:100%}.waffle-dataconnector-refresh-all-dbobject-list-single-datasource-title{font-family:Google Sans;font-size:14px;font-weight:500;letter-spacing:0.25px;overflow:hidden;padding:20px 20px 12px;text-overflow:ellipsis}.waffle-dataconnector-refresh-sidebar-refresh-widget{background-color:#f8f9fa;overflow-x:hidden;overflow-y:auto}.waffle-dataconnector-refresh-all-pane{height:100%}.waffle-dataconnector-refresh-all-datasources-container{bottom:0;height:100%;left:0;position:relative;right:0;top:0}.waffle-dataconnector-refresh-all-datasources-container.waffle-dataconnector-refresh-all-single-datasource-container{background-color:white}.waffle-dataconnector-refresh-all-datasources-container .waffle-dataconnector-refresh-all-dbobject-list-collapsible{border:2px solid transparent}.waffle-dataconnector-refresh-all-datasources-container .waffle-dataconnector-refresh-all-dbobject-list-collapsible.docs-charts-editor-collapsible-opened{box-shadow:0 1px 3px 1px rgba(60,64,67,.15);border:2px solid #fff;border-radius:8px}.waffle-dataconnector-refresh-all-dbobject-list-parent{border-bottom:2px solid #f8f9fa}.waffle-dataconnector-refreshall-highlight-valid::after{background-color:#000000;bottom:0;position:absolute;content:"";left:0;opacity:.2;right:0;top:0}.waffle-dataconnector-refreshall-highlight-error::after{background-color:#f6aea9;bottom:0;position:absolute;content:"";left:0;opacity:.2;right:0;top:0}.waffle-dataconnector-refresh-all-datasources-container .docs-charts-editor-collapsible-opened .docs-charts-editor-collapsible-header .docs-charts-editor-collapsible-title{color:#202124}.waffle-dataconnector-refresh-schedules-new-widget{background-color:#fff;border-top:1px solid #dadce0;bottom:65px;position:absolute;width:100%}.waffle-dataconnector-refresh-schedules-new-header{display:flex;flex-direction:column;height:64px;justify-content:center;padding:0 16px}.waffle-dataconnector-refresh-schedules-new-widget-opened .waffle-dataconnector-refresh-schedules-new-header{height:auto}.waffle-dataconnector-refresh-schedules-new-top-section{align-items:center;display:flex;justify-content:space-between;padding-bottom:4px}.waffle-dataconnector-refresh-schedules-new-widget-opened .waffle-dataconnector-refresh-schedules-new-top-section{height:50px}.waffle-dataconnector-refresh-schedules-new-fullview-section{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.waffle-dataconnector-refresh-schedules-new-fullview-text{color:#202124;font-size:14px;font-weight:500;line-height:20px}.waffle-dataconnector-refresh-schedules-new-header .goog-link-button{color:#1a73e8;text-decoration:none}.waffle-dataconnector-refresh-schedules-new-header-title{color:#3c4043;display:flex;font:500 14px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px}.waffle-dataconnector-refresh-schedules-new-info-icon{padding-left:4px}.waffle-dataconnector-refresh-schedules-new-edit-section{padding:16px}.waffle-dataconnector-refresh-schedules-new-edit-section-row{margin-bottom:16px}.waffle-dataconnector-refresh-schedules-new-select .docs-material-gm-labeled-select.docs-material-gm-labeled-select-focused .docs-material-gm-labeled-select-outer-box{background-color:#f1f3f4}.waffle-dataconnector-refresh-schedules-new-select .docs-material-gm-labeled-select{align-items:center;display:flex;justify-content:space-between}.waffle-dataconnector-refresh-schedules-new-select .docs-material-gm-labeled-select-content{margin-bottom:0px}.waffle-dataconnector-refresh-schedules-new-select .docs-material-gm-labeled-select-label{color:#3c4043;font:500 12px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px}.waffle-dataconnector-refresh-schedules-new-select .docs-material-gm-labeled-select-outer-box{padding:0;width:176px}.waffle-dataconnector-refresh-schedules-new-select .docs-material-gm-labeled-select-caption{font-size:13px;height:auto;line-height:16px;padding:4px 0 4px 8px}.waffle-dataconnector-refresh-schedules-new-btns{align-items:center;display:flex;justify-content:flex-end}.waffle-dataconnector-refresh-schedules-new-overview-section{font-size:12px}.waffle-dataconnector-refresh-schedules-new-overview-text{color:#5f6368}.waffle-dataconnector-refresh-schedules-new-edit-btn{padding-left:2px}.waffle-dataconnector-refresh-schedules-new-save-btn .docs-material-button{text-transform:none}.waffle-dataconnector-refresh-schedules-new-owner-info{color:#5f6368;font-size:12px;margin:32px 0 16px 0}.waffle-dataconnector-refresh-schedules-new-widget-opened{animation-name:waffle-dataconnector-refresh-schedules-new-widget-open;animation-duration:300ms;border-radius:8px 8px 0 0;border-top:none;bottom:0;box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);z-index:1002}@keyframes waffle-dataconnector-refresh-schedules-new-widget-open{from{bottom:-300px}to{bottom:0px}}.waffle-dataconnector-refresh-schedules-new-resume-prompt{max-width:420px}.waffle-dataconnector-refresh-schedules-new-resume-prompt .waffle-dataconnector-prompt-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:0 24px 24px}.waffle-dataconnector-refresh-schedules-new-resume-prompt h4{margin:20px 0 4px 0}.waffle-dataconnector-refresh-schedules-new-label{font-weight:bold;padding-bottom:6px}.waffle-dataconnector-refresh-schedules-new-start-date-select{width:89px}.waffle-dataconnector-refresh-schedules-widget{background-color:#fff;border-top:1px solid #dadce0;bottom:65px;position:absolute;width:100%}.waffle-dataconnector-refresh-schedules-header{display:flex;flex-direction:column;height:64px;justify-content:center;padding:0 16px}.waffle-dataconnector-refresh-schedules-widget-opened .waffle-dataconnector-refresh-schedules-header{height:auto}.waffle-dataconnector-refresh-schedules-top-section{align-items:center;display:flex;justify-content:space-between;padding-bottom:4px}.waffle-dataconnector-refresh-schedules-widget-opened .waffle-dataconnector-refresh-schedules-top-section{height:50px}.waffle-dataconnector-refresh-schedules-fullview-section{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.waffle-dataconnector-refresh-schedules-fullview-text{color:#202124;font-size:14px;font-weight:500;line-height:20px}.waffle-dataconnector-refresh-schedules-header .goog-link-button{color:#1a73e8;text-decoration:none}.waffle-dataconnector-refresh-schedules-header-title{color:#3c4043;display:flex;font:500 14px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px}.waffle-dataconnector-refresh-schedules-info-icon{padding-left:4px}.waffle-dataconnector-refresh-schedules-edit-section{padding:16px}.waffle-dataconnector-refresh-schedules-edit-section-row{margin-bottom:16px}.waffle-dataconnector-refresh-schedules-select .docs-material-gm-labeled-select.docs-material-gm-labeled-select-focused .docs-material-gm-labeled-select-outer-box{background-color:#f1f3f4}.waffle-dataconnector-refresh-schedules-select .docs-material-gm-labeled-select{align-items:center;display:flex;justify-content:space-between}.waffle-dataconnector-refresh-schedules-select .docs-material-gm-labeled-select-content{margin-bottom:0px}.waffle-dataconnector-refresh-schedules-select .docs-material-gm-labeled-select-label{color:#3c4043;font:500 12px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px}.waffle-dataconnector-refresh-schedules-select .docs-material-gm-labeled-select-outer-box{padding:0;width:176px}.waffle-dataconnector-refresh-schedules-select .docs-material-gm-labeled-select-caption{font-size:13px;height:auto;line-height:16px;padding:4px 0 4px 8px}.waffle-dataconnector-refresh-schedules-btns{align-items:center;display:flex;justify-content:flex-end}.waffle-dataconnector-refresh-schedules-overview-section{font-size:12px}.waffle-dataconnector-refresh-schedules-overview-text{color:#5f6368}.waffle-dataconnector-refresh-schedules-edit-btn{padding-left:2px}.waffle-dataconnector-refresh-schedules-save-btn .docs-material-button{text-transform:none}.waffle-dataconnector-refresh-schedules-owner-info{color:#5f6368;font-size:12px;margin:32px 0 16px 0}.waffle-dataconnector-refresh-schedules-widget-opened{animation-name:waffle-dataconnector-refresh-schedules-widget-open;animation-duration:300ms;border-radius:8px 8px 0 0;border-top:none;bottom:0;box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);z-index:1002}@keyframes waffle-dataconnector-refresh-schedules-widget-open{from{bottom:-300px}to{bottom:0px}}.waffle-dataconnector-refresh-schedules-resume-prompt{max-width:420px}.waffle-dataconnector-refresh-schedules-resume-prompt .waffle-dataconnector-prompt-content{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:0 24px 24px}.waffle-dataconnector-refresh-schedules-resume-prompt h4{margin:20px 0 4px 0}.waffle-dataconnector-refresh-weekday-select{display:contents;width:24px}.waffle-dataconnector-refresh-weekday-toggle{align-items:center;background-color:#f1f3f4;border-radius:50%;color:#80868b;cursor:pointer;display:inline-flex;font-size:12px;height:30px;justify-content:center;margin-right:8px;width:30px}.waffle-dataconnector-refresh-weekday-toggle-focused{background-color:rgba(95,99,104,0.122)}.waffle-dataconnector-refresh-weekday-toggle-focused{outline:none}.waffle-dataconnector-refresh-weekday-toggle-checked{background-color:#1e8e3e;color:white}.waffle-dataconnector-refresh-weekday-toggle-checked.waffle-dataconnector-refresh-weekday-toggle-focused{background-color:#188038}.waffle-dbsource-advanced-options-menuitem-change-billing-project svg{height:18px;left:10px;position:absolute;width:18px}.waffle-dbsource-advanced-options-menuitem-change-billing-project-short-caption{color:#80868b;font-size:12px}.waffle-bigquery-change-billing-project-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:495px;width:512px}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-modal-header{border-bottom:none;box-sizing:border-box;height:73px;padding:24px 24px 25px 24px}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-modal-title{line-height:24px;opacity:1}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;margin-top:-5px;width:34px}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-modal-body{height:338px;padding:0;z-index:0}.waffle-bigquery-change-billing-project-dialog-project-header{color:#5f6368;font-size:14px;letter-spacing:0.29px;margin:0;opacity:1;padding:10px 24px}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-modal-footer{border-top:none;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);padding:24px;z-index:1}.waffle-bigquery-change-billing-project-dialog-footer-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-bigquery-change-billing-project-dialog-footer-wrapper .docs-material-button{margin:0}.waffle-bigquery-change-billing-project-dialog-footer-wrapper .docs-material-button:first-child{margin-left:auto}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-tablepicker-menuitem-content-nexticon{display:none}.waffle-bigquery-change-billing-project-dialog .waffle-dataconnector-tablepicker-menuitem-content-id{margin-left:auto}.waffle-bigquerydbsourceediterror-error-text{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;margin-bottom:24px}.waffle-bigquerydbsourceediterror .waffle-dataconnector-modal{max-width:600px}.waffle-bigquerydbsourceediterror .waffle-dataconnector-modal-header{border:none;padding-bottom:0}.waffle-bigquerydbsourceediterror .waffle-dataconnector-modal-footer{border:none;display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;padding-top:0}.waffle-bigquerydbsourcesettingsdialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:495px;width:512px}.waffle-bigquerydbsourcesettingsdialog .waffle-dataconnector-modal-header{border-bottom:none;box-sizing:border-box;height:73px;padding:24px 24px 25px 24px}.waffle-bigquerydbsourcesettingsdialog .waffle-dataconnector-modal-title{line-height:24px;opacity:1}.waffle-bigquerydbsourcesettingsdialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;margin-top:-5px;width:34px}.waffle-bigquerydbsourcesettingsdialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-bigquerydbsourcesettingsdialog .waffle-dataconnector-modal-body{height:376px;padding:0;z-index:0}.waffle-bigquerydbsourcesettingsdialog-project-header{font:500 16px/20px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.29px;margin:0;opacity:1;padding:10px 24px}.waffle-bigquerydbsourcesettingsdialog-transition-out .waffle-dataconnector-modal-title,.waffle-bigquerydbsourcesettingsdialog-transition-out .waffle-bigquerydbsourcesettingsdialog-project-header{opacity:0;transition:opacity 150ms cubic-bezier(0.0,0.0,0.2,1)}.waffle-bigquerydbsourcesettingsdialog-error-caption{padding:16px 32px}.waffle-bigquerydbsourcesettingsdialog .waffle-dataconnector-modal-footer{border-top:none;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);z-index:1}.waffle-bigquerydbsourcesettingsdialog-footer-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-bigquerydbsourcesettingsdialog-footer-message{-webkit-box-flex:2;box-flex:2;-ms-flex-positive:2;-webkit-flex-grow:2;flex-grow:2;color:#5f6368;font-size:12px;line-height:16px;margin:0 24px 0 0;width:329px}.waffle-bigquerydbsourcesettingsdialog-footer-wrapper .docs-material-button{margin:0}.waffle-bigquerytabledatasourceviewonly-footer-wrapper{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.waffle-bigquerytableinfopanel-configuration-wrapper{border-bottom:1px solid rgba(0,0,0,0.12);height:68px;margin-bottom:16px}.waffle-bigquerytableinfopanel-configuration-title{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:0.8px;line-height:20px;padding-bottom:4px;text-transform:uppercase;vertical-align:top}.waffle-bigquerytableinfopanel-configuration-wrapper .waffle-dataconnector-tablepicker-menuitem-content-schemaicon{margin-bottom:auto;margin-top:auto}.waffle-bigquerytablepickermodal{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:495px;width:512px}.waffle-bigquerytablepickermodal .waffle-dataconnector-modal-header{border-bottom:none;box-sizing:border-box;height:73px;padding:19px 24px 20px}.waffle-bigquerytablepickermodal-back-button{background:transparent;border-radius:50%;cursor:pointer;display:block;height:33px;margin-left:-5px;opacity:0;position:relative;transition:background-color 0.28s cubic-bezier(0.0,0.0,0.2,1),opacity 150ms cubic-bezier(0.0,0.0,0.2,1);width:33px}.waffle-bigquerytablepickermodal-cloud-project-edit-button{background:transparent;border-radius:50%;cursor:pointer;display:block;height:33px;margin-left:-5px;margin-top:5px;position:relative;width:33px}.waffle-bigquerytablepickermodal-transition-in .waffle-bigquerytablepickermodal-back-button{opacity:1}.waffle-bigquerytablepickermodal-back-button .docs-icon{margin:5px}.waffle-bigquerytablepickermodal-back-button-focused{opacity:1.0;background-color:rgba(0,0,0,0.12);outline:none}.waffle-bigquerytablepickermodal-back-button-hover{opacity:1.0}.waffle-bigquerytablepickermodal .waffle-dataconnector-modal-title{box-sizing:border-box;line-height:34px;opacity:0;padding-right:0;width:400px}.waffle-bigquerytablepickermodal .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-bigquerytablepickermodal .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-bigquerytablepickermodal .waffle-dataconnector-modal-body{height:338px;padding:0;z-index:0}.waffle-bigquerytablepickermodal-project-menu-header-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center;height:40px;-webkit-justify-content:space-between;justify-content:space-between}.waffle-bigquerytablepickermodal-project-menu-header{-webkit-box-flex:2;box-flex:2;-ms-flex-positive:2;-webkit-flex-grow:2;flex-grow:2;font:500 16px/20px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.29px;margin:0;opacity:0;padding:10px 24px}.waffle-bigquerytablepickermodal-project-menu-billing-project-edit-button{background:transparent;border:1px solid transparent;border-radius:4px;box-shadow:none;color:#202124;cursor:pointer;font:500 14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:20px;margin-right:24px;max-width:40%;overflow:hidden;padding:8px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.waffle-bigquerytablepickermodal-project-menu-billing-project-edit-button svg{margin-right:6px;vertical-align:middle}.waffle-bigquerytablepickermodal-project-menu-billing-project-edit-button:hover{background-color:#f1f3f4}.waffle-bigquerytablepickermodal-project-menu-billing-project-edit-button:active{background-color:#e8eaed;outline:none}.waffle-bigquerytablepickermodal-project-menu-billing-project-edit-button:focus{background-color:#e8eaed;outline:none}.waffle-bigquerytablepickermodal-project-menu-billing-project-text{font:400 14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-bigquerytablepickermodal-transition-in .waffle-dataconnector-modal-title,.waffle-bigquerytablepickermodal-transition-in .waffle-bigquerytablepickermodal-project-menu-header{opacity:1;transition:opacity 150ms cubic-bezier(0.4,0.0,1,1)}.waffle-bigquerytablepickermodal-breadcrumbnavigator-wrapper{background-color:#f8f9fa;padding:8px 26px}.waffle-bigquerytablepickermodal .waffle-dataconnector-modal-footer{border-top:none;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);padding:24px;z-index:1}.waffle-bigquerytablepickermodal-footer-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:space-between;justify-content:space-between}.waffle-bigquerytablepickermodal-footer-wrapper .docs-material-button{margin:0}.waffle-bigquerytablepickermodal-write-query-button .goog-flat-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;outline:none;text-transform:none}.waffle-bigquerytablepickermodal-write-query-button .goog-flat-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;color:#188038}.waffle-bigquerytablepickermodal-write-query-button .goog-flat-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#188038;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-bigquerytablepickermodal-write-query-button .goog-flat-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;color:#188038}.waffle-dataconnector-modal.waffle-bigquerywrongskudialog{box-sizing:border-box;height:240px;width:360px}.waffle-bigquerywrongskudialog .waffle-dataconnector-modal-body{padding-right:56px;padding-top:0}.waffle-bigquerywrongskudialog .waffle-dataconnector-modal-header{border-bottom:none}.waffle-bigquerywrongskudialog .waffle-dataconnector-modal-footer{border-top:none;padding-right:24px;padding-top:32px}.waffle-bigquerywrongskudialog-footer-wrapper{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.waffle-bigquerywrongskudialog-message{color:#3c4043;font-family:Roboto;font-size:14px;font-weight:400;text-align:left;vertical-align:top}.waffle-dbsource-flat-default{color:#188038;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:36px;line-height:36px;padding:0 8px;text-transform:none}.waffle-dbsource-flat-default.docs-material-button-flat-default.docs-material-button.docs-material-button-hover{background-color:rgba(52,168,83,0.04)}.waffle-dbsource-flat-default.docs-material-button-flat-default.docs-material-button.docs-material-button-active{background-color:rgba(52,168,83,0.16);color:#188038;line-height:36px}.waffle-dbsource-flat-default.docs-material-button-flat-default.docs-material-button.docs-material-button-focused{background-color:rgba(52,168,83,0.12);border:none;line-height:36px;padding:0 8px}.waffle-dbsource-flat-default.docs-material-button-flat-default.docs-material-button.docs-material-button-no-focus-border{line-height:36px}.waffle-dbsource-flat-default>.docs-material-button-ripple-element{background-color:rgba(52,168,83,0.10)}.waffle-dbobject-estimated-bytes-info{display:flex}.waffle-dbobject-estimated-bytes-spinner .waffle-spinner{height:18px;width:18px}.waffle-dbobject-estimated-bytes-spinner .waffle-spinner-circle{border-width:2px}.waffle-dbobject-estimated-bytes-icon{margin-right:8px}.waffle-dbobject-estimated-bytes-error{color:#db4437;text-decoration:underline}.waffle-dbobject-estimated-bytes-error:focus{outline:none}.waffle-dbobject-estimated-bytes-details{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px}.waffle-dbobject-estimated-bytes-details-tooltip{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center;background-color:#000000;color:white;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;height:24px;text-align:center}.waffle-dbsource-column-filtered-menu .goog-menu-filter{display:flex;border-bottom:1px solid #e0e0e0;padding:6px 6px 12px 10px}.waffle-dbsource-column-filtered-menu input{-ms-flex:1;-webkit-flex:1;flex:1;border:0;color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;min-width:0;outline:0}.waffle-dbsource-column-filtered-menu .waffle-charteditor-picker-button-wrapper{height:24px;margin-right:0}.waffle-dbsource-column-filtered-menu .goog-menu-filter:before{content:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzc1NzU3NSI+CiAgICA8cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiLz4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KPC9zdmc+Cg==');height:24px;margin-right:6px;width:24px}.waffle-dbsource-column-filtered-menu-item-icon{margin-left:5px;margin-top:3px}.goog-menuitem-highlight .waffle-dbsource-column-filtered-menu-item-icon{margin-top:2px}.waffle-dbsource-column-filtered-menu-item-icon.docs-hc-ie{background-color:white;-ms-high-contrast-adjust:none}.waffle-dbsource-column-filtered-menu-item-icon.docs-hc-gecko{filter:invert(1)}.waffle-dbsource-column-filtered-menu.docs-hc-ie .goog-menu-filter:before{background-color:white;padding-top:12px;-ms-high-contrast-adjust:none}.waffle-dbsource-column-filtered-menu.docs-hc-gecko .goog-menu-filter:before{filter:url("data:image/svg+xml;utf8,\00003csvg%20xmlns=\000027http://www.w3.org/2000/svg\000027\00003e\00003cfilter%20id=\000027invertColor\000027\00003e\00003cfeColorMatrix%20type=\000027matrix\000027%20values=\000027-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\000027/\00003e\00003c/filter\00003e\00003c/svg\00003e#invertColor")}.waffle-filterable-by-text-contains-menu-item-match{font-weight:500}.waffle-dbsource-column-filtered-menu .goog-menuitem{padding-right:20px}.waffle-dbsource-column-filtered-menu-select-all-and-clear{margin:6px 0 0 10px}.waffle-dbsource-column-filtered-menu-select-all{color:#1a73e8;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;text-decoration-line:none}.waffle-dbsource-column-filtered-menu-select-all-and-clear-separator{color:#dadce0;display:inline-block;font-size:10px;line-height:16px;margin:0 8px 0 8px;vertical-align:text-bottom}.waffle-dbsource-column-filtered-menu-clear{color:#1a73e8;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;text-decoration-line:none}.waffle-dbsource-column-filtered-menu .goog-menuitem.goog-option-selected{background-position:right 5px center}.waffle-dbsource-configbar-wrapper{background:#e8eaed;border-bottom:1px solid #dadce0;height:110px;padding-top:16px;position:relative}.waffle-dbsource-configbar{background:white;border-bottom:none;border-radius:8px 8px 0 0;box-sizing:border-box;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);height:100%;overflow-x:auto;overflow-y:hidden;padding:16px 28px}.waffle-dbsource-configbar-header{align-items:center;display:flex;flex-direction:row;font-family:Google Sans,Arial,sans-serif;font-weight:400;margin-left:4px;white-space:nowrap}.waffle-dbsource-configbar-header-icon{height:24px;margin-left:0;margin-right:8px;min-width:24px;position:relative}.waffle-dbsource-configbar-header-title{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:18px;font-weight:400;line-height:24px}.waffle-dbsource-configbar-header-subtitle{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;margin-right:12px}.waffle-dbsource-configbar-schedules-widget{-webkit-align-items:center;align-items:center;border-radius:16px;color:#202124;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;height:32px;letter-spacing:0.3px;line-height:16px}.waffle-dbsource-configbar-schedules-widget-content{-webkit-align-items:center;align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-dbsource-configbar-schedules-widget-edit-button-wrapper .goog-link-button{color:#188038;text-decoration:none}.waffle-dbsource-configbar-schedules-widget-highlight{background-color:#f1f3f4;padding:0 12px}.waffle-dbsource-configbar-schedules-widget-content svg,.waffle-dbsource-configbar-schedules-widget-last-refresh-content,.waffle-dbsource-configbar-schedules-widget-last-refresh-divider,.waffle-dbsource-configbar-schedules-widget-next-refresh-content{margin-right:8px}.waffle-dbsource-configbar-schedules-widget-last-refresh-divider{border-right:1px solid #dadce0}.waffle-dbsource-configbar-actions{display:flex;flex-direction:row;padding:16px 0}.waffle-dbsource-configbar-button-wrapper{padding:0}.waffle-dbsource-configbar-button-wrapper .docs-material-button{margin:0}.waffle-dbsource-configbar-button-wrapper .docs-material-button-content>div>span{vertical-align:middle}.waffle-dbsource-configbar-columns-menu-button{background:#e6f4ea;border-color:#e6f4ea;border-radius:8px;height:36px;line-height:36px;padding:0 10px;margin-right:12px}.waffle-dbsource-configbar-columns-menu-button.docs-material-menu-button-flat-default,.waffle-dbsource-configbar-columns-menu-button.docs-material-menu-button-flat-default-focused{border:none}.waffle-dbsource-configbar-columns-menu-button .docs-material-menu-button-flat-default-dropdown{margin-left:10px;margin-top:5px}.goog-menu .goog-menuitem.waffle-datasource-configbar-columns-menu-loading{padding:6px 15px}.waffle-dbsource-configbar-options-wrapper{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;-webkit-justify-content:flex-end;justify-content:flex-end}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button .docs-material-button-content span{-webkit-align-items:center;align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button .docs-material-button-content .waffle-dbsource-configbar-secondary-button-content span,.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button .docs-material-menu-button-flat-default-caption .waffle-dbsource-configbar-secondary-button-content span{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:24px;text-transform:none}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-button-hairline-primary.docs-material-button,.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-menu-button-flat-default{border:none!important;height:24px;line-height:24px;margin-right:0;padding:0}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-button-hairline-primary.docs-material-button.docs-material-button-hover,.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-menu-button-flat-default-hover,.waffle-dbsource-configbar-connection-settings-button.docs-material-button.docs-material-button-hover{background-color:#f8f9fa}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-button-hairline-primary.docs-material-button.docs-material-button-focused{background-color:#f1f3f4}.waffle-dbsource-configbar-secondary-button.docs-material-button-hairline-primary.docs-material-button .waffle-dbsource-configbar-secondary-button-content,.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-menu-button-flat-default .waffle-dbsource-configbar-secondary-button-content{padding:0 8px;text-decoration:none}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button .docs-material-button-content svg{margin-right:5px}.waffle-dbsource-configbar .docs-material-button-hairline-primary.docs-material-button{margin-left:0;margin-right:16px;padding-left:12px;padding-right:16px;white-space:nowrap}.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-button-hairline-primary.docs-material-button,.waffle-dbsource-configbar .waffle-dbsource-configbar-secondary-button.docs-material-menu-button-flat-default{margin-left:8px}.waffle-dbsource-configbar .docs-material-button-content svg{margin-right:8px;vertical-align:middle}.waffle-dbsource-configbar-overflow-menu{width:252px}.goog-menu.waffle-dbsource-configbar-overflow-menu .goog-menuitem,.goog-menu.waffle-dbsource-configbar-overflow-menu .goog-menuitem.goog-menuitem-disabled,.goog-menu.waffle-dbsource-configbar-overflow-menu .goog-menuitem.goog-menuitem-disabled.goog-menuitem:hover{padding:6px 12px}.goog-menu.waffle-dbsource-configbar-overflow-menu .goog-menuitem:hover{padding:5px 12px}.waffle-dbsource-configbar-overflow-menu-button.docs-material-menu-button-flat-default{height:24px;line-height:24px;margin-left:16px;opacity:0.4;padding:0;width:24px}.waffle-dbsource-configbar-overflow-menu-button.docs-hc-ie.docs-material-menu-button-flat-default .docs-material-menu-button-flat-default-caption{background-color:white}.waffle-dbsource-configbar-overflow-menu-button.docs-hc-gecko.docs-material-menu-button-flat-default .docs-material-menu-button-flat-default-caption{filter:url("data:image/svg+xml;utf8,\00003csvg%20xmlns=\000027http://www.w3.org/2000/svg\000027\00003e\00003cfilter%20id=\000027invertColor\000027\00003e\00003cfeColorMatrix%20type=\000027matrix\000027%20values=\000027-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\000027/\00003e\00003c/filter\00003e\00003c/svg\00003e#invertColor")}.waffle-dbsource-configbar-separator{border-left:1px #dadce0 solid;height:20px;margin-left:16px;margin-right:16px}.waffle-dbsource-flat-default.waffle-dbsource-configbar-refresh-options-button,.waffle-dbsource-flat-default.waffle-dbsource-configbar-schedules-widget-main-button{border-radius:4px;font-size:14px;height:20px;letter-spacing:.25px;line-height:20px}.waffle-dbsource-flat-default.waffle-dbsource-configbar-refresh-options-button.docs-material-button-flat-default.docs-material-button.docs-material-button-no-focus-border,.waffle-dbsource-flat-default.waffle-dbsource-configbar-refresh-options-button.docs-material-button-flat-default.docs-material-button.docs-material-button-focused{line-height:24px}.waffle-dbsource-configbar-overflow-menu-button .docs-material-menu-button-flat-default-dropdown{display:none}.waffle-dbsource-configbar-connection-settings-button,.waffle-dbsource-configbar-connection-settings-button.docs-material-button.docs-material-button-no-focus-border,.waffle-dbsource-configbar-connection-settings-button.docs-material-button.docs-material-button-focused{height:24px;line-height:24px}.waffle-dbsource-configbar-connection-settings-button.docs-material-button.docs-material-button-focused{background-color:#f1f3f4;border:none;outline:none;outline-offset:0;padding:0 8px}.waffle-dbsource-configbar-column-insights-icon{margin-right:8px}.waffle-dbsource-configbar-column-insights-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)!important}.waffle-dbsource-configbar-secondary-button-icon{margin:0 5px 0 0!important}.waffle-dbsource-pill-menuitem.waffle-dbsource-configbar-watch-tutorial-menuitem{align-items:start;height:auto}.waffle-dbsource-pill-menuitem.waffle-dbsource-configbar-watch-tutorial-menuitem svg{height:36px}.waffle-dbsource-configbar-watch-tutorial-menuitem-caption{color:#5f6368;font-size:12px;line-height:16px;white-space:break-spaces;width:150px}.waffle-create-datasheet-welcome-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:558px;text-align:center;width:512px}.waffle-create-datasheet-welcome-dialog .waffle-dataconnector-modal-header{border-bottom:none;justify-content:flex-end;padding:24px 24px 0px}.waffle-create-datasheet-welcome-dialog .waffle-dataconnector-modal-title{display:none}.waffle-create-datasheet-welcome-dialog .waffle-dataconnector-modal-body{padding:0}.waffle-create-datasheet-welcome-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-create-datasheet-welcome-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-create-datasheet-welcome-dialog-image{height:222px;user-select:none}.waffle-create-datasheet-welcome-dialog-welcome-message{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:center;justify-content:center;color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400}.waffle-create-datasheet-welcome-dialog-welcome-description{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:0.2px;line-height:20px;margin:0 auto;max-width:392px}.waffle-create-datasheet-welcome-dialog-button-wrapper{padding-top:36px;padding-bottom:16px}.waffle-create-datasheet-welcome-dialog .waffle-dataconnector-modal-footer{border-top:none}.waffle-create-datasource-sheet-loading-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:558px;text-align:center;width:512px}.waffle-create-datasource-sheet-loading-dialog .waffle-dataconnector-modal-header{border-bottom:none;justify-content:flex-end;padding:24px 24px 0px}.waffle-create-datasource-sheet-loading-dialog .waffle-dataconnector-modal-title{display:none}.waffle-create-datasource-sheet-loading-dialog .waffle-dataconnector-modal-body{padding:0;margin-top:-30px}.waffle-create-datasource-sheet-loading-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-create-datasource-sheet-loading-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-create-datasource-sheet-loading-dialog-tip{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;height:32px;letter-spacing:0.2px;line-height:20px;margin:32px auto;max-width:392px}.waffle-create-datasource-sheet-loading-dialog-image{height:400px;user-select:none}.waffle-create-datasource-sheet-loading-dialog .waffle-dataconnector-modal-footer{border-top:none}.waffle-create-datasource-sheet-success-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:558px;text-align:center;width:512px}.waffle-create-datasource-sheet-success-dialog .waffle-dataconnector-modal-header{border-bottom:none;justify-content:flex-end;padding:24px 24px 0px}.waffle-create-datasource-sheet-success-dialog .waffle-dataconnector-modal-title{display:none}.waffle-create-datasource-sheet-success-dialog .waffle-dataconnector-modal-body{padding:0}.waffle-create-datasource-sheet-success-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-create-datasource-sheet-success-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-create-datasource-sheet-success-dialog-image{height:185px}.waffle-create-datasource-sheet-success-dialog-success-message{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;max-width:328px;margin:22px auto 16px auto}.waffle-create-datasource-sheet-success-dialog-success-description{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px;margin:8px auto 16px auto;max-width:392px}.waffle-create-datasource-sheet-success-dialog-datasource-info{color:#188038;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;line-height:20px}.waffle-create-datasource-sheet-success-dialog-metadata-wrapper{margin:auto}.waffle-create-datasource-sheet-success-dialog-delegation-wrapper{margin-bottom:16px}.waffle-create-datasource-sheet-success-dialog-start-analyze-button-wrapper{margin-bottom:16px}.waffle-create-datasource-sheet-success-dialog-watch-tutorial{color:#1a73e8;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;text-decoration-line:none}.waffle-create-datasource-sheet-success-dialog .waffle-dataconnector-modal-footer{border-top:none}.waffle-dbobject-sidebar-footer-estimated-bytes-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center;margin-left:16px;margin-right:16px}.waffle-dbobject-sidebar-footer{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:space-between;justify-content:space-between;align-items:center;background-color:white;border-top:1px solid #dadce0;color:#5f6368;height:64px}.waffle-dbobject-sidebar-footer-refresh-button-wrapper{margin-right:12px}.waffle-dbobject-sidebar-footer-refresh-button{text-transform:none}.waffle-filter-by-value-sidebar-header,.waffle-dbobject-sidebar-header{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;align-items:center;background-color:#fff;border-bottom:1px solid #dadce0;display:flex;flex-direction:row;height:33px;padding-left:18px}.waffle-filter-by-value-sidebar-header-column-name,.waffle-dbobject-sidebar-header-datasource-name{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:0.3px;margin-left:8px;max-width:241px;overflow:hidden;padding-top:1px;text-overflow:ellipsis;white-space:nowrap}.waffle-dataconnector-delegation-widget-toggle{align-items:center;display:flex;justify-content:center}.waffle-dataconnector-delegation-widget-toggle-label{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px}.apps-ui-material-slide-toggle-container{margin-left:8px}.waffle-dbsource-endofpreview{border-top:1px solid #dadce0;box-sizing:border-box;display:block;height:160px;padding:24px;text-align:center;width:100%}.waffle-dbsource-endofpreview-wrapper{display:inline-block;max-width:550px}.waffle-dbsource-endofpreview.hc-enabled-gecko{background-color:black}.waffle-dbsource-endofpreview-enable-endofwaffle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxIiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCAxIDgiPiAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSI+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik0wIDNoMXYxSDB6TTAgN2gxdjFIMHoiLz4gICAgPHBhdGggZmlsbD0iI0YxRjNGNCIgZD0iTTAgMGgxdjNIMHpNMCA0aDF2M0gweiIvPiAgPC9nPjwvc3ZnPg==);background-repeat:repeat-x}.waffle-dbsource-endofpreview-enable-endofwaffle::before{background-color:#f3f3f3;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTkgOCI+ICA8ZyBmaWxsPSJub25lIj4gICAgPHBhdGggZmlsbD0iI0YxRjNGNCIgZD0iTTE4LjUgN2guNVY0aC02LjVjMS40IDEuOCAzLjYgMyA2IDN6Ii8+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik0xOC41IDcuNWMtMi43IDAtNS4yLTEuNC02LjYtMy41aC0uNmMxLjUgMi40IDQuMiA0IDcuMiA0aC41di0uNWgtLjV6Ii8+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik0xOC41IDcuNWguNVY3aC0uNWMtMi40IDAtNC42LTEuMi02LTNoLS42YzEuNCAyLjEgMy45IDMuNSA2LjYgMy41eiIvPiAgICA8cGF0aCBmaWxsPSIjRjFGM0Y0IiBkPSJNNy41IDNIMTlWMEgxLjVjMS40IDEuOCAzLjYgMyA2IDN6Ii8+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik03LjUgMy41QzQuOCAzLjUgMi4zIDIuMS45IDBILjNjMS41IDIuNCA0LjIgNCA3LjIgNEgxOXYtLjVINy41eiIvPiAgICA8cGF0aCBmaWxsPSIjREFEQ0UwIiBkPSJNNy41IDMuNUgxOVYzSDcuNWMtMi40IDAtNC42LTEuMi02LTNILjljMS40IDIuMSAzLjkgMy41IDYuNiAzLjV6Ii8+ICA8L2c+PC9zdmc+);content:"";display:block;height:8px;left:0;position:absolute;top:1px;width:19px}.waffle-dbsource-endofpreview-enable-endofwaffle::after{background-color:#f3f3f3;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTkgOCI+ICA8ZyBmaWxsPSJub25lIj4gICAgPHBhdGggZmlsbD0iI0YxRjNGNCIgZD0iTTE4LjUgN2guNVY0aC02LjVjMS40IDEuOCAzLjYgMyA2IDN6Ii8+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik0xOC41IDcuNWMtMi43IDAtNS4yLTEuNC02LjYtMy41aC0uNmMxLjUgMi40IDQuMiA0IDcuMiA0aC41di0uNWgtLjV6Ii8+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik0xOC41IDcuNWguNVY3aC0uNWMtMi40IDAtNC42LTEuMi02LTNoLS42YzEuNCAyLjEgMy45IDMuNSA2LjYgMy41eiIvPiAgICA8cGF0aCBmaWxsPSIjRjFGM0Y0IiBkPSJNNy41IDNIMTlWMEgxLjVjMS40IDEuOCAzLjYgMyA2IDN6Ii8+ICAgIDxwYXRoIGZpbGw9IiNEQURDRTAiIGQ9Ik03LjUgMy41QzQuOCAzLjUgMi4zIDIuMS45IDBILjNjMS41IDIuNCA0LjIgNCA3LjIgNEgxOXYtLjVINy41eiIvPiAgICA8cGF0aCBmaWxsPSIjREFEQ0UwIiBkPSJNNy41IDMuNUgxOVYzSDcuNWMtMi40IDAtNC42LTEuMi02LTNILjljMS40IDIuMSAzLjkgMy41IDYuNiAzLjV6Ii8+ICA8L2c+PC9zdmc+);content:"";display:block;height:8px;position:absolute;right:0;top:1px;transform:scaleX(-1);width:19px}.waffle-dbsource-endofpreview-header{color:#3c4043;font:400 16px/20px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:0.17px;padding-bottom:8px;text-align:center}.waffle-dbsource-endofpreview-message-line{color:#5f6368;font:400 12px/16px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.3px;text-align:center}.waffle-dbsource-endofpreview-link-button{font:400 12px/16px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;text-decoration:none}.waffle-dbsource-pill{display:flex;background:white;border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);box-sizing:border-box;color:#4285f4;padding:6px;position:fixed;white-space:nowrap}.waffle-dbsource-pill-info{display:flex;font:400 14px/36px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.2px}.waffle-dbsource-pill-preview-icon .waffle-dataconnector-preview-icon{margin-left:10px;position:relative;vertical-align:middle}.waffle-dbsource-pill-updated-icon .waffle-dataconnector-updated-icon{margin-left:10px;position:relative;vertical-align:middle}.waffle-dbsource-pill-status{color:#202124;margin-left:8px}.waffle-dbsource-pill-timestamp{color:#5f6368;height:36px;line-height:36px;margin:0 16px;white-space:nowrap}.waffle-dbsource-pill-progress{-webkit-align-items:center;align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;height:36px;line-height:36px;margin:0 18px 0 10px}.waffle-dbsource-pill-progress .waffle-dataconnector-pill-spinner{border-radius:50%;box-shadow:inset 0 0 0 2px;color:#188038;display:inline-block;height:18px;margin:7px 0;position:relative;width:18px;margin-right:7px}.waffle-dbsource-pill-progress-message{color:#202124}.waffle-dbsource-pill-error-icon{margin-left:10px;width:24px}.waffle-dbsource-pill-error-icon .waffle-dataconnector-error-icon-filled{padding-left:2px;vertical-align:middle}.waffle-dbsource-pill .docs-material-button{font-size:14px;letter-spacing:0.25px}.waffle-dbsource-pill-refresh-button-apply{margin:0 8px 0 0;text-transform:none}.waffle-dbsource-pill-refresh-button-error{color:#202124}.waffle-dbsource-pill-edit-button{border-left:1px #dadce0 solid;padding-top:4px}.waffle-dbsource-pill-refresh-button-error.docs-material-button-flat-default.docs-material-button.docs-material-button-hover{background-color:rgba(60,64,67,0.04)}.waffle-dbsource-pill-refresh-button-error.docs-material-button-flat-default.docs-material-button.docs-material-button-active{background-color:rgba(60,64,67,0.16);color:#202124;line-height:36px}.waffle-dbsource-pill-refresh-button-error>.docs-material-button-ripple-element{background-color:rgba(60,64,67,0.10)}.waffle-dbsource-pill-showerror-button{color:#d93025;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:36px;line-height:36px;text-transform:none}.waffle-dbsource-pill-showerror-button.docs-material-button-flat-default.docs-material-button.docs-material-button-hover{background-color:rgba(234,67,53,0.04)}.waffle-dbsource-pill-showerror-button.docs-material-button-flat-default.docs-material-button.docs-material-button-active{background-color:rgba(234,67,53,0.16)}.waffle-dbsource-pill-showerror-button.docs-material-button-flat-default.docs-material-button.docs-material-button-no-focus-border{line-height:36px}.waffle-dbsource-pill-showerror-button.docs-material-button-flat-default.docs-material-button.docs-material-button-focused{border:none;line-height:36px;padding:0 8px}.waffle-dbsource-pill-showerror-button>.docs-material-button-ripple-element{background-color:rgba(234,67,53,0.10)}.waffle-dbsource-pill-menu-button{border:none;height:36px;margin:0;padding:0 6px}.waffle-dbsource-pill-menu-button .waffle-dataconnector-menu-icon{top:5px}.waffle-dbsource-pill-menu-button.docs-material-menu-button-flat-default-hover{background-color:#f8f9fa}.waffle-dbsource-pill-menu-button.docs-material-menu-button-flat-default-active,.waffle-dbsource-pill-menu-button.docs-material-menu-button-flat-default-focused{background-color:#f1f3f4;border:none;line-height:36px}.waffle-dbsource-pill-menu .goog-menuseparator{margin-bottom:0;margin-top:0}.waffle-dbsource-pill-menu.goog-menu .goog-menuitem{padding-left:11px}.waffle-dbsource-pill-menu svg{height:20px;margin-right:8px;position:relative;width:20px}.waffle-dbsource-pill-menuitem{-webkit-align-items:center;align-items:center;display:flex;height:36px;line-height:36px}.waffle-dbsource-pill-menuitem-generic-action{padding-left:27px}.waffle-dbsource-pill-menuitem-accel{margin-left:auto;padding:0 20px 0 40px;text-align:center;color:#9e9e9e}.waffle-dbsource-pill-menuitem-refreshquery-info svg{margin:0}.waffle-dbsource-pill-menuitem-refreshquery-info-progress{font-style:italic}.waffle-dbsource-pill-menuitem-refreshquery-info-error-button{color:#db4437;text-decoration:underline;white-space:nowrap}.waffle-dbsource-pill-menuitem-refreshquery-info-error-button:focus{outline:none}.waffle-dbsource-pill-menuitem-refreshquery-info-message{white-space:nowrap}.waffle-filter-filtercard{background-color:#f0f0f0;border-radius:8px;padding:8px}.waffle-filter-filtercard:not(:last-child){margin-bottom:8px}.waffle-filter-filtercard-top-row{-webkit-align-items:center;align-items:center;display:flex;padding-bottom:8px}.waffle-filter-filtercard-top-row>div{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.waffle-filter-filtercard-top-row>.waffle-filter-filtercard-label{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.waffle-filter-filtercard-label{color:#424242;font-size:14px;padding-left:8px}.waffle-filter-filtercard-delete-button{transition:background-color 0.2s ease;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+ICA8cGF0aCBmaWxsPSIjZjBmMGYwIiBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPjwvc3ZnPg==");background-color:#bfbfbf;border:0;border-radius:16px;cursor:pointer;height:16px;margin:8px;width:16px}.waffle-filter-filtercard-delete-button:hover{background-color:#aaa}.waffle-filter-filtercard .waffle-filter-filtercard-select .jfk-select{text-align:left;width:100%}.waffle-filterbox-container{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:32px;vertical-align:middle}.waffle-filterdropdown-filter-color{border:1px solid rgba(0,0,0,0.1);border-radius:50%;box-sizing:border-box;height:calc(10px*2);left:-15px;margin-top:calc(-1*10px);position:absolute;top:50%;width:calc(10px*2)}.waffle-filterdropdown-filter-color-text{padding-left:18px}.goog-menu.waffle-filterdropdown-filter-colors-menu{max-height:50vh;overflow-x:hidden;overflow-y:auto}.waffle-filterdropdown-filter-color-checkbox::after{content:"\002713";left:6px;position:absolute}.waffle-types-number-icon:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDV2MmgydjhoMlY1SDB6bTUgMHYyaDR2Mkg3YTIgMiAwIDAwLTIgMnY0aDZ2LTJIN3YtMmgyYTIgMiAwIDAwMi0yVjdhMiAyIDAgMDAtMi0ySDV6bTcgMGg0YTIgMiAwIDAxMiAydjEuNWExLjUgMS41IDAgMDEtMS41IDEuNSAxLjUgMS41IDAgMDExLjUgMS41VjEzYTIgMiAwIDAxLTIgMmgtNHYtMmg0di0yaC0yVjloMlY3aC00VjV6IiBmaWxsPSIjNUY2MzY4Ii8+PC9zdmc+)}.waffle-types-text-icon:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDRoMTB2Mkg4djlINlY2SDJWNHptOCA0aDZ2MmgtMnY1aC0ydi01aC0yVjh6IiBmaWxsPSIjNUY2MzY4Ii8+PC9zdmc+)}.waffle-types-date-icon:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzLjY2N2guNjY3QzE0LjQgMy42NjcgMTUgNC4yNjcgMTUgNXY5LjMzM2MwIC43MzQtLjYgMS4zMzQtMS4zMzMgMS4zMzRINC4zMzNjLS43NCAwLTEuMzMzLS42LTEuMzMzLTEuMzM0TDMuMDA3IDVjMC0uNzMzLjU4Ni0xLjMzMyAxLjMyNi0xLjMzM0g1VjIuMzMzaDEuMzMzdjEuMzM0aDUuMzM0VjIuMzMzSDEzdjEuMzM0ek00LjMzMyAxNC4zMzNoOS4zMzRWN0g0LjMzM3Y3LjMzM3oiIGZpbGw9IiM1RjYzNjgiLz48L3N2Zz4=)}.waffle-types-boolean-icon:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzVGNjM2OCIgZD0iTTkgM2gxLjV2MTJIOXoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuOTUzIDQuOTgybC0uOTk0LS45OTRMNC45NyA1Ljk3NiAyLjk4MiAzLjk4OGwtLjk5NC45OTQgMS45ODkgMS45ODktMS45ODkgMS45ODguOTk0Ljk5NCAxLjk4OS0xLjk4OCAxLjk4OCAxLjk4OC45OTQtLjk5NEw1Ljk2NSA2Ljk3bDEuOTg4LTEuOTg5ek0xOC4wOCAxMC40ODVsLS45OTUtLjk5NC0zLjYgMy42LTEuNDktMS40OTEtLjk5NS45OTQgMi40ODUgMi40ODUuMTIxLS4xMiA0LjQ3My00LjQ3NHoiIGZpbGw9IiM1RjYzNjgiLz48L3N2Zz4=)}.waffle-types-boolean-icon:after,.waffle-types-date-icon:after,.waffle-types-number-icon:after,.waffle-types-text-icon:after{background:none;height:18px;width:18px}.goog-menu.waffle-dataconnector-tablepicker-filtered-menu{border:none;border-radius:0;box-shadow:none;box-sizing:border-box;max-height:auto;overflow-x:hidden;padding-top:2px;width:100%}.goog-menu.waffle-dataconnector-tablepicker-filtered-menu .goog-menu-filter{display:flex;background-color:#f8f9fa;border-radius:8px;height:40px;margin:0 24px 16px 24px;position:relative}.goog-menu.waffle-dataconnector-tablepicker-filtered-menu .goog-menu-filter:after{background:#e8eaed;bottom:-16px;content:'';display:block;height:1px;left:0;position:absolute;width:464px}.waffle-dataconnector-tablepicker-filtered-menu-icon-search{border-bottom:none;padding:11px 0 11px 13px;position:absolute}.waffle-dataconnector-tablepicker-filtered-menu-icon-info{border-bottom:none;border-radius:50%;box-sizing:border-box;height:24px;position:absolute;right:13px;top:8px;width:24px}.waffle-dataconnector-tablepicker-filtered-menu-icon-info:hover{background-color:#f1f3f4}.waffle-dataconnector-tablepicker-filtered-menu-icon-info:active{background-color:#e8eaed}.waffle-dataconnector-tablepicker-filtered-menu-icon-info .docs-material .docs-icon{margin:3px}.goog-menu.waffle-dataconnector-tablepicker-filtered-menu input{-ms-flex:1;-webkit-flex:1;flex:1;background:white;border:1px solid transparent;border-radius:8px;box-shadow:0 1px 3px 1px rgba(60,64,67,.15);font:400 14px/20px "Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.17px;outline:0;padding:0 37px}.goog-menu.waffle-dataconnector-tablepicker-filtered-menu .goog-menu-content{max-height:223px;opacity:0;outline:none;overflow-x:hidden;overflow-y:auto;padding:16px 0 0 16px;position:relative}.waffle-bigquerydbsourcesettingsdialog-project-menu-wrapper .goog-menu.waffle-dataconnector-tablepicker-filtered-menu .goog-menu-content{max-height:261px}.waffle-dataconnector-tablepicker-filtered-menu-loading-bar-wrapper{height:4px;margin-top:-1px;position:absolute;width:100%}.waffle-dataconnector-tablepicker-filtered-menu-loading-bar-wrapper .docs-indeterminate-loading-bar{background-color:#e6f4ea;height:100%;overflow:hidden}.waffle-dataconnector-tablepicker-filtered-menu-loading-bar-wrapper .docs-indeterminate-loading-bar>div{-webkit-animation:loading-bar-animation 1.3s ease-in-out infinite;-moz-animation:loading-bar-animation 1.3s ease-in-out infinite;-o-animation:loading-bar-animation 1.3s ease-in-out infinite;animation:loading-bar-animation 1.3s ease-in-out infinite;background-color:#34a853;border-radius:2px;height:100%;left:0;position:absolute;right:0;top:0;transform:none}@keyframes loading-bar-animation{0%{transform:translateX(-50%) scaleX(0)}23%,54%{transform:translateX(0) scaleX(1)}77%,100%{transform:translateX(50%) scaleX(0)}}.waffle-dataconnector-tablepicker-filtered-menu-error-message{color:#5f6368;font-size:14px;line-height:20px;margin-left:8px;margin-right:24px;text-align:center}.waffle-info-icon-bubble.waffle-dataconnector-tablepicker-filtered-menu-info-bubble{background-color:#3c4043;border-radius:0;opacity:.9;padding:4px 8px}.waffle-dataconnector-tablepicker-filtered-menu-info-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore,.waffle-dataconnector-tablepicker-filtered-menu-info-bubble .jfk-bubble-arrowup .jfk-bubble-arrowimplafter,.waffle-dataconnector-tablepicker-filtered-menu-info-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.waffle-dataconnector-tablepicker-filtered-menu-info-bubble .jfk-bubble-arrowdown .jfk-bubble-arrowimplafter{border-color:#3c4043 transparent}.waffle-dataconnector-tablepicker-filtered-menu-info-bubble-content{color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:12px;line-height:14px;max-width:200px;text-align:center}.goog-menu .waffle-dataconnector-tablepicker-menuitem.goog-menuitem{border-radius:24px;box-sizing:border-box;line-height:36px;padding:0 16px;transition:background-color 100ms linear;white-space:nowrap;width:480px}.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight,.waffle-dataconnector-tablepicker-menuitem.goog-menuitem:focus{border-bottom:none;background-color:#e6f4ea;border-top:none;outline:none}.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight.goog-menuitem-active{background-color:#ceead6;border-top:none}.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight.goog-menuitem-active.goog-option-selected,.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-option-selected{background-color:#e6f4ea;background-image:none;cursor:auto}.docs-hc-gecko.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight,.docs-hc-ie.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight,.docs-hc-gecko.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight.goog-menuitem-active,.docs-hc-ie.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight.goog-menuitem-active,.docs-hc-gecko.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight.goog-menuitem-active.goog-option-selected,.docs-hc-ie.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-menuitem-highlight.goog-menuitem-active.goog-option-selected,.docs-hc-gecko.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-option-selected,.docs-hc-ie.waffle-dataconnector-tablepicker-menuitem.goog-menuitem.goog-option-selected{border:1px solid transparent}.waffle-dataconnector-tablepicker-menu-bottom-border .waffle-dataconnector-tablepicker-menuitem.goog-menuitem{padding-right:12px}.waffle-dataconnector-tablepicker-menuitem .goog-menuitem-content{font-size:13px}.waffle-dataconnector-tablepicker-menuitem-content-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;position:relative}.waffle-dataconnector-tablepicker-menuitem-content-wrapper .goog-menuitem-checkbox{display:none}.waffle-dataconnector-tablepicker-menuitem-content-name,.waffle-dataconnector-tablepicker-menuitem-content-id{display:inline-block;font:400 14px/24px Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-dataconnector-tablepicker-menuitem-content-name{color:rgba(0,0,0,0.87);line-height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.waffle-dataconnector-tablepicker-menuitem-content-wrapper-project .waffle-dataconnector-tablepicker-menuitem-content-name{padding-right:22px;width:176px}.waffle-dataconnector-tablepicker-menuitem-content-wrapper-dataset .waffle-dataconnector-tablepicker-menuitem-content-name{width:389px}.waffle-dataconnector-tablepicker-menuitem-content-id{color:rgba(0,0,0,0.54);line-height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:191px}.waffle-dataconnector-tablepicker-menuitem-content-schemaicon{margin-right:8px;min-width:18px;width:18px}.waffle-dataconnector-tablepicker-menuitem-content-schemaicon svg{margin-right:5px;vertical-align:middle}.waffle-dataconnector-tablepicker-menuitem-content-schemaicon .waffle-dataconnector-tablepicker-filtered-menu-icon-search{padding:0px}.waffle-dataconnector-tablepicker-menuitem-content-nexticon{margin-left:auto;width:18px}.waffle-dataconnector-tablepicker-menuitem-content-nexticon svg{vertical-align:middle}.goog-menuitem-rtl .waffle-dataconnector-tablepicker-menuitem-content-nexticon{transform:rotateY(180deg)}.waffle-dataconnector-tablepicker-multilevelmenu{position:relative}.waffle-dataconnector-tablepicker-multilevelmenu,.waffle-dataconnector-tablepicker-multilevelmenu .goog-menu.waffle-dataconnector-tablepicker-menu{height:286px}.waffle-dataconnector-breadcrumbnavigator{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;vertical-align:middle}.waffle-dataconnector-breadcrumbnavigator-entry{border:1px solid transparent;border-radius:4px;box-shadow:none;color:#202124;cursor:pointer;font-size:22px;letter-spacing:.2px;line-height:24px;overflow:hidden;padding:4px;text-overflow:ellipsis;transition:background-color 100ms linear;vertical-align:middle;white-space:nowrap}.waffle-dataconnector-breadcrumbnavigator-entry{flex:0 1 25%;min-width:45px}.waffle-dataconnector-breadcrumbnavigator-entry-condensed{flex:0 1 10%}.waffle-dataconnector-breadcrumbnavigator-entry:last-of-type{flex:none}.waffle-dataconnector-breadcrumbnavigator-entry.goog-control-hover,.waffle-dataconnector-breadcrumbnavigator-entry.goog-control-focused{background-color:#f1f3f4;outline:none}.waffle-dataconnector-breadcrumbnavigator-entry.goog-control-active{background-color:#e8eaed;outline:none}.waffle-dataconnector-breadcrumbnavigator-entry.goog-control-disabled{cursor:auto}.waffle-dataconnector-breadcrumbnavigator-separator{vertical-align:middle}.waffle-dataconnector-modal-title .waffle-dataconnector-breadcrumbnavigator-separator svg{bottom:unset;height:18px;margin-right:0;transform:unset;vertical-align:middle;width:18px}.waffle-dataconnector-modal-title .waffle-dataconnector-breadcrumbnavigator-separator polygon{fill:#5f6368}.waffle-dataconnector-prompt{background:#fff;border-radius:2px;border:none;box-shadow:0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12),0px 8px 10px -5px rgba(0,0,0,0.2);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;z-index:1302}.waffle-dataconnector-prompt-bg{left:0;position:absolute;top:0;z-index:1300}.waffle-dataconnector-prompt:focus{outline:none}.waffle-dataconnector-prompt-title{padding:24px 24px 20px 24px}.waffle-dataconnector-prompt-title-text{font:500 21px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding-right:38px}.waffle-dataconnector-prompt-title-close{background-size:cover;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHBhdGggZD0iTTAsMCBMMTgsMCBMMTgsMTggTDAsMTggTDAsMCBaIE0wLDAgTDE4LDAgTDE4LDE4IEwwLDE4IEwwLDAgWiIvPgogICAgPHBvbHlnb24gZmlsbD0iIzAwMCIgcG9pbnRzPSIxNC41MyA0LjUzIDEzLjQ3IDMuNDcgOSA3Ljk0IDQuNTMgMy40NyAzLjQ3IDQuNTMgNy45NCA5IDMuNDcgMTMuNDcgNC41MyAxNC41MyA5IDEwLjA2IDEzLjQ3IDE0LjUzIDE0LjUzIDEzLjQ3IDEwLjA2IDkiLz4KICA8L2c+Cjwvc3ZnPgo=") no-repeat;display:block;height:20px;position:absolute;right:24px;top:26px;width:20px}.waffle-dataconnector-prompt-content{padding:0 24px}.waffle-dataconnector-prompt-buttons{float:right;padding:8px 4px 14px 4px}.waffle-dataconnector-prompt-buttons:after{clear:both;content:"";display:block;height:0;width:0}.waffle-dataconnector-modal{background:#fff;border-radius:2px;border:none;box-shadow:0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12),0px 8px 10px -5px rgba(0,0,0,0.2);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;z-index:1003}.waffle-dataconnector-modal.docs-material-gm-dialog{border-radius:8px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-dataconnector-modal-bg{background-color:rgba(0,0,0,0.54);z-index:1002}.waffle-dataconnector-modal:focus{outline:none}.waffle-dataconnector-modal-header{display:flex;-webkit-justify-content:space-between;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.12);padding:24px;user-select:none}.waffle-dataconnector-modal-title{font-weight:500;font-size:18px;padding-right:38px}.docs-material-gm-dialog .waffle-dataconnector-modal-title{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;font-size:22px}.waffle-dataconnector-modal-title svg{-webkit-transform:scale(1.4,1.4);-moz-transform:scale(1.4,1.4);-ms-transform:scale(1.4,1.4);-o-transform:scale(1.4,1.4);transform:scale(1.4,1.4);bottom:-0.125em;font-size:18px;height:1em;margin-right:8px;position:relative;width:1em}.docs-material-gm-dialog .waffle-dataconnector-modal-title svg path{fill:#5f6368}.waffle-dataconnector-modal-close-button{background:transparent;border-radius:50%;cursor:pointer;display:block;height:28px;opacity:0.54;position:relative;transition:background-color 0.28s ease-out,opacity 0.28s ease-out;width:28px}.waffle-dataconnector-modal-close-button svg{height:18px;margin:5px;width:18px}.waffle-dataconnector-modal-close-button:focus{opacity:1.0;background-color:rgba(0,0,0,0.12);outline:none}.waffle-dataconnector-modal-close-button:hover{opacity:1.0}.waffle-dataconnector-modal-body{padding:24px}.waffle-dataconnector-modal-footer{border-top:1px solid rgba(0,0,0,0.12);padding:15px 12px 15px 24px}.docs-hc-gecko.waffle-dataconnector-modal-close-button polygon,.docs-hc-ie.waffle-dataconnector-modal-close-button polygon{fill:#fff}.waffle-dataconnector-bigqueryquerysettingsdialog{width:512px}.waffle-dataconnector-bigqueryquerysettingsdialog .waffle-dataconnector-modal-body{height:283px;padding:0}.waffle-dataconnector-bigqueryquerysettingsdialog-project-select-wrapper{width:100%}.waffle-dataconnector-bigqueryquerysettingsdialog-project-select-header{font-weight:700;margin:16px 0}.waffle-dataconnector-bigqueryquerysettingsdialog-project-section{padding:24px}.waffle-dataconnector-bigqueryquerysettingsdialog-project-select .docs-material-labeled-select-label{color:rgba(0,0,0,0.87);font-size:14px;font-weight:500}.waffle-dataconnector-bigqueryquerysettingsdialog-error-caption{color:#e06055;margin-top:8px}.waffle-dataconnector-bigqueryquerysettingsdialog-project-select .docs-material-labeled-select-outer-box{margin-top:16px}.waffle-dataconnector-bigqueryquerysettingsdialog .waffle-dataconnector-modal-footer{border-top:none;padding:0}.waffle-dataconnector-bigqueryquerysettingsdialog-continue-button-wrapper{display:flex}.waffle-dataconnector-bigqueryquerysettingsdialog-continue-button-wrapper>p{color:rgba(0,0,0,0.54);flex:1;margin:14px 24px}.waffle-dataconnector-bigqueryquerysettingsdialog-continue-button{margin:16px 24px}.waffle-dataconnector-bigqueryquerysettingsdialog-continue-button-wrapper:after{clear:both;content:"";display:block;height:0;width:0}.waffle-dataconnector-footer-sharing-message{background-color:#fafafa;color:rgba(0,0,0,0.54);padding:16px 24px 24px 60px;position:relative}.waffle-dataconnector-footer-sharing-message:after{background-size:contain;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzAwMDAwMCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+CiAgICA8cGF0aCBkPSJNMTggOGgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZ2Mkg2Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjEwYzAtMS4xLS45LTItMi0yem0tNiA5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnptMy4xLTlIOC45VjZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjEgMS43MSAwIDMuMSAxLjM5IDMuMSAzLjF2MnoiLz4KPC9zdmc+Cg==");content:"";display:block;height:18px;left:27px;opacity:0.54;position:absolute;top:23px;width:18px}.waffle-dataconnector-dialog{background:#fff;border-radius:2px;border:none;box-shadow:0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12),0px 8px 10px -5px rgba(0,0,0,0.2);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;z-index:1003}.waffle-dataconnector-dialog-bg{background-color:#000;left:0;position:absolute;top:0;z-index:1002}.waffle-dataconnector-dialog:focus{outline:none}.waffle-dataconnector-dialog-title{border-bottom:1px solid rgba(0,0,0,0.12);padding:24px}.waffle-dataconnector-dialog-title-draggable{cursor:move}.waffle-dataconnector-dialog-title-text{font:500 21px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding-right:38px}.waffle-dataconnector-dialog-title-close{border-radius:50%;cursor:pointer;display:block;height:28px;opacity:0.54;position:absolute;right:18px;top:22px;transition:background-color 0.28s ease-out,opacity 0.28s ease-out;width:28px}.waffle-dataconnector-dialog-title-close svg{-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.waffle-dataconnector-dialog-title-close:focus{opacity:1.0;background-color:rgba(0,0,0,0.12);outline:none}.waffle-dataconnector-dialog-title-close:hover{background-color:rgba(0,0,0,0.26);opacity:1.0}.waffle-dataconnector-dialog-content{padding:24px}.waffle-dataconnector-dialog-buttons{padding:15px 12px 15px 24px}.waffle-dataconnector-dialog-button-wrapper{float:right}.waffle-dataconnector-dialog-button-wrapper>.docs-material-button{float:left}.waffle-dataconnector-dialog-buttons:after{clear:both;content:'';display:block;height:0;width:0}.waffle-dataconnector-dialog-error-message,.waffle-dataconnector-dialog-info-message{color:rgba(0,0,0,0.87);display:block;font:500 13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:18px;margin:7px 0 7px 0px;position:relative;vertical-align:middle}.waffle-dataconnector-dialog-error-message{padding-left:24px;color:#db4437}.waffle-dataconnector-dialog-error-message:before{background-size:cover;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHBvbHlnb24gcG9pbnRzPSIwIDAgMTggMCAxOCAxOCAwIDE4Ii8+CiAgICA8cGF0aCBmaWxsPSIjZGI0NDM3IiBkPSJNMTUuNDk5ODkzOCwxNiBDMTYuNjA0NTIyLDE2IDE3LjA1NDk3MDgsMTUuMjE0NjU0MyAxNi41MTY2MzgyLDE0LjI2NDY1NTcgTDkuOTgzMzYxNzYsMi43MzUzNDQyOCBDOS40NDAyNjYwNiwxLjc3Njk0MDEgOC41NTQ5NzA3OSwxLjc4NTM0NTY2IDguMDE2NjM4MjQsMi43MzUzNDQyOCBMMS40ODMzNjE3NiwxNC4yNjQ2NTU3IEMwLjk0MDI2NjA1NSwxNS4yMjMwNTk5IDEuMzkwMDU4NDEsMTYgMi41MDAxMDYxOCwxNiBMMTUuNDk5ODkzOCwxNiBaIE0xMCwxNCBMOCwxNCBMOCwxMiBMMTAsMTIgTDEwLDE0IEwxMCwxNCBaIE0xMCwxMSBMOCwxMSBMOCw3IEwxMCw3IEwxMCwxMSBMMTAsMTEgWiIvPgogIDwvZz4KPC9zdmc+Cg==") no-repeat;content:'';display:inline-block;height:18px;left:0px;position:absolute;top:0;width:18px}.waffle-dataconnector-dialog-message-container{float:left;min-height:32px;min-width:200px;width:calc(100% - 260px)}.waffle-dataconnector-dialog-progress-message{margin-left:20px}.waffle-dataconnector-dialog-progress-label{font:13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:18px}.waffle-dataconnector-dialog-progress-bar{height:5px;width:450px}.waffle-dataconnector-error-popup{max-width:780px;min-width:480px}.waffle-dataconnector-error-popup .waffle-dataconnector-prompt-content{padding:0 24px;overflow:auto}.waffle-dataconnector-error-popup .waffle-dataconnector-error-message-main{font:500 15px Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-dataconnector-query-parameter-prompt.waffle-dataconnector-modal{width:320px;z-index:calc(1003 + 300)}.waffle-dataconnector-query-parameter-prompt .waffle-dataconnector-modal-body{padding:0 24px}.waffle-dataconnector-query-parameter-prompt-name-field input{text-transform:uppercase}.waffle-dataconnector-query-parameter-prompt-toggle-row{display:flex;height:21px;margin-top:16px}.waffle-dataconnector-query-parameter-prompt-toggle-label{line-height:21px;margin-left:8px}.waffle-dataconnector-query-parameter-prompt .waffle-dataconnector-modal-header{border-bottom:none}.waffle-dataconnector-query-parameter-prompt .waffle-dataconnector-modal-footer{border-top:none;float:right}.waffle-dataconnector-query-parameter-prompt-rangepicker{border-radius:50%;bottom:6px;height:29px;position:relative;right:0;width:29px}.waffle-dataconnector-query-parameter-prompt-rangepicker .docs-icon{margin:4px auto 4px 3px}.waffle-dataconnector-query-parameter-prompt-rangepicker-focused{background:rgba(0,0,0,0.12);outline:none}.waffle-dataconnector-simple-text-input-prompt-text-field{width:400px}.waffle-dataconnector-bigquery-query-settings-widget-project-section-header{color:rgba(0,0,0,0.54);margin-bottom:4px;whitespace:nowrap}.waffle-dataconnector-bigquery-query-settings-widget-alert{color:#e06055;font-size:11px;font-weight:500}.waffle-dataconnector-bigquery-query-settings-widget-alert .waffle-dataconnector-error-icon{bottom:-0.325em;height:1.4em;margin-right:4px;position:relative;width:1.4em}.waffle-dataconnector-bigquery-query-settings-widget-alert-description{color:#e06055;margin-top:4px}.waffle-dataconnector-bigquery-query-validation-widget-open-button{border-radius:50%;bottom:8px;box-sizing:border-box;cursor:pointer;height:20px;position:absolute;right:8px;width:20px;z-index:10}.waffle-dataconnector-bigquery-query-validation-widget-open-button .waffle-dataconnector-info-icon{height:100%;width:100%}.waffle-dataconnector-bigquery-query-validation-widget-open-button-hover,.waffle-dataconnector-bigquery-query-validation-widget-open-button-focused{background:rgba(66,133,244,0.26)}.waffle-dataconnector-bigquery-query-validation-widget-bar{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;background:rgba(66,133,244,0.12);border-top:1px solid rgba(0,0,0,0.12);bottom:0;box-sizing:border-box;color:#4285f4;display:none;font:inherit;font-weight:500;max-height:60px;min-height:40px;padding:8px;padding-left:16px;position:relative;right:0;width:100%}.waffle-dataconnector-bigquery-query-validation-widget-message{max-height:44px;max-width:calc(100% - 30px);overflow-x:hidden;overflow-y:auto}.waffle-dataconnector-bigquery-query-validation-widget-visible>.waffle-dataconnector-bigquery-query-validation-widget-bar{display:flex}.waffle-dataconnector-bigquery-query-validation-widget-visible>.waffle-dataconnector-bigquery-query-validation-widget-open-button{display:none}.waffle-dataconnector-bigquery-query-validation-widget-bar .waffle-dataconnector-error-icon-filled{height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dataconnector-bigquery-query-validation-widget-valid>.waffle-dataconnector-bigquery-query-validation-widget-bar{background:rgba(15,157,88,0.12);color:#0f9d58}.waffle-dataconnector-bigquery-query-validation-widget-bar .waffle-dataconnector-info-icon{height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dataconnector-bigquery-query-validation-widget-valid .waffle-dataconnector-info-icon,.waffle-dataconnector-bigquery-query-validation-widget-invalid .waffle-dataconnector-info-icon{display:none}.waffle-dataconnector-bigquery-query-validation-widget .waffle-dataconnector-error-icon-filled{display:none}.waffle-dataconnector-bigquery-query-validation-widget-bar .waffle-dataconnector-error-icon-filled{margin-right:8px}.waffle-dataconnector-bigquery-query-validation-widget .waffle-dataconnector-valid-icon{display:none}.waffle-dataconnector-bigquery-query-validation-widget-bar .waffle-dataconnector-valid-icon{height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dataconnector-bigquery-query-validation-widget-invalid .waffle-dataconnector-bigquery-query-validation-widget-bar{background:rgba(219,68,55,0.12);color:#db4437}.waffle-dataconnector-bigquery-query-validation-widget-invalid .waffle-dataconnector-error-icon-filled{display:block}.waffle-dataconnector-bigquery-query-validation-widget-valid .waffle-dataconnector-valid-icon{display:block}.waffle-dataconnector-bigquery-query-validation-widget-close-button{border-radius:50%;cursor:pointer;height:24px;margin-left:auto;width:24px}.waffle-dataconnector-bigquery-query-validation-widget-close-button svg{height:20px;margin:2px;width:20px}.waffle-dataconnector-bigquery-query-validation-widget .waffle-dataconnector-close-icon polygon{fill:#4285f4}.waffle-dataconnector-bigquery-query-validation-widget-close-button-hover,.waffle-dataconnector-bigquery-query-validation-widget-close-button-focused{background:rgba(66,133,244,0.26);outline:none}.waffle-dataconnector-bigquery-query-validation-widget-invalid .waffle-dataconnector-bigquery-query-validation-widget-close-button-hover,.waffle-dataconnector-bigquery-query-validation-widget-invalid .waffle-dataconnector-bigquery-query-validation-widget-close-button-focused{background:rgba(219,68,55,0.26)}.waffle-dataconnector-bigquery-query-validation-widget-valid .waffle-dataconnector-bigquery-query-validation-widget-close-button-hover,.waffle-dataconnector-bigquery-query-validation-widget-valid .waffle-dataconnector-bigquery-query-validation-widget-close-button-focused{background:rgba(15,157,88,0.26)}.waffle-dataconnector-bigquery-query-validation-widget-valid .waffle-dataconnector-close-icon polygon{fill:#0f9d58}.waffle-dataconnector-bigquery-query-validation-widget-invalid .waffle-dataconnector-close-icon polygon{fill:#db4437}.waffle-dataconnector-codemirrorquerytexteditor{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;height:100%;position:relative}.waffle-dataconnector-codemirrorquerytexteditor,.waffle-dataconnector-codemirrorquerytexteditor .CodeMirror{font-family:'Roboto Mono','Consolas',monospace;height:100%}.waffle-dataconnector-codemirrorquerytexteditor .CodeMirror-gutters{border-right:1px solid rgba(0,0,0,0.12)}.waffle-dataconnector-codemirrorquerytexteditor>.CodeMirror-focused .CodeMirror-gutters{border-right:1px solid #4285f4}.waffle-dataconnector-codemirrorquerytexteditor .CodeMirror-linenumbers{background:#f5f5f5;color:rgba(0,0,0,0.54);font:500 14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-dataconnector-codemirrorquerytexteditor .CodeMirror-gutter-elt{min-width:0;padding:0 20px}.waffle-dataconnector-codemirrorquerytexteditor .CodeMirror-lines{padding:16px 0}.waffle-dataconnector-codemirrorquerytexteditor .CodeMirror-line{padding-left:16px}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget{border-bottom:1px solid rgba(0,0,0,0.12)}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget .docs-charts-editor-collapsible-header{color:rgba(0,0,0,0.87)}.waffle-dataconnector-queryeditor-query-settings-icon{margin-right:8px}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget .docs-charts-editor-collapsible-title{width:calc(100% - 50px)}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget .docs-charts-editor-collapsible-summary{display:none}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget .docs-charts-editor-collapsible-content>div{padding:8px 16px 16px}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget .docs-charts-editor-collapsible-header{border:1px solid transparent}.waffle-dataconnector-queryeditor-collapsible-sidebar-widget .docs-charts-editor-collapsible-header.goog-control-focused{border:1px solid #4285f4}.waffle-dataconnector-dbschematreenode-label{cursor:pointer;display:flex;height:22px;position:relative;width:100%}.waffle-dataconnector-dbschematreenode-title{height:22px;line-height:22px;max-width:calc(100% - 18px - 10px);overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.waffle-dataconnector-dbschematreenode .waffle-dataconnector-expand-icon{width:18px;height:18px;margin:2px 10px 2px 2px;transform:rotate(-90deg);transition:transform .2s cubic-bezier(0.4,0.0,1,1)}.waffle-dataconnector-dbschematreenode-rtl .waffle-dataconnector-expand-icon{transform:rotate(90deg)}.waffle-dataconnector-dbschematreenode .waffle-spinner{height:14px;margin:4px 12px 4px 4px;width:14px}.waffle-dataconnector-dbschematreenode .waffle-spinner-circle{border-width:2px}.waffle-dataconnector-dbschematreenode>.waffle-dataconnector-dbschematreenode-label>.waffle-dataconnector-dbschematreenode-spinner-container{display:none}.waffle-dataconnector-dbschematreenode-loading>.waffle-dataconnector-dbschematreenode-label>.waffle-dataconnector-dbschematreenode-spinner-container{display:block}.waffle-dataconnector-dbschematreenode-loading>.waffle-dataconnector-dbschematreenode-label>.waffle-dataconnector-expand-icon{display:none}.waffle-dataconnector-dbschematreenode-open>.waffle-dataconnector-dbschematreenode-label>.waffle-dataconnector-expand-icon{transform:rotate(0deg)}.waffle-dataconnector-dbschematreenode-leaf>.waffle-dataconnector-dbschematreenode-label>.waffle-dataconnector-expand-icon{visibility:hidden}.waffle-dataconnector-dbschematreenode-label:hover,.waffle-dataconnector-dbschematreenode-selected>.waffle-dataconnector-dbschematreenode-label{color:#4285f4}.waffle-dataconnector-dbschematreenode-child-container{display:none;margin-left:16px}.waffle-dataconnector-dbschematreenode-open>.waffle-dataconnector-dbschematreenode-child-container{display:block}.waffle-dataconnector-dbschematreenode-error .waffle-dataconnector-dbschematreenode-title{color:#e06055;font-size:11px;padding-left:13px}.waffle-dataconnector-dbschematreenode-error .waffle-dataconnector-expand-icon{display:none}.waffle-dataconnector-draggablebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,0.12);bottom:0;position:absolute}.waffle-dataconnector-draggablebar-horizontal{width:100%}.waffle-dataconnector-draggablebar-vertical{height:100%}.waffle-dataconnector-draggablebar-handle{background:#fff;border:1px solid rgba(0,0,0,0.12);box-sizing:border-box;z-index:100}.waffle-dataconnector-draggablebar-horizontal .waffle-dataconnector-draggablebar-handle{cursor:row-resize;height:9px;left:calc(50% - 32px/2);position:absolute;top:calc(50% - 9px/2);width:32px}.waffle-dataconnector-draggablebar-vertical .waffle-dataconnector-draggablebar-handle{background:transparent;border:1px solid rgba(0,0,0,0.12);cursor:col-resize;height:32px;left:calc(50% - 9px/2);position:absolute;top:calc(50% - 32px/2);width:9px}.waffle-dataconnector-draggablebar-handle-icon{background:rgba(0,0,0,0.12);border:3px solid #fff;box-sizing:border-box;height:100%;width:100%}.waffle-dataconnector-textarea-editor{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;height:100%;position:relative}.waffle-dataconnector-textarea-editor-textareawrapper{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:0;border:none;height:100%;margin:0;overflow:hidden;position:absolute;width:100%}.waffle-dataconnector-textarea-editor-textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:white;border-radius:0;border:none;color:#000;display:block;font-family:'Roboto Mono','Consolas',monospace;font-size:13px;height:100%;line-height:20px;margin:0 0 0 48px;outline:none;overflow:auto;overflow-wrap:normal;padding:8px;resize:none;white-space:pre;width:calc(100% - 48px);word-wrap:normal}.waffle-dataconnector-textarea-editor-linegutter{background:#f5f5f5;border-right:1px solid rgba(0,0,0,0.12);height:100%;left:0;position:absolute;top:0;width:48px}.waffle-dataconnector-textarea-editor-focused .waffle-dataconnector-textarea-editor-linegutter{border-right:1px solid #4285f4}.waffle-dataconnector-textarea-editor-linenumber-container{left:0;padding-top:8px;position:absolute;width:100%}.waffle-dataconnector-textarea-editor-linenumber{height:20px;line-height:20px;text-align:center;user-select:none;vertical-align:middle}.waffle-dataconnector-jdbc-query-settings-widget-connection-name-section{font-family:inherit}.waffle-dataconnector-jdbc-query-settings-widget-connection-name-section{margin-top:8px}.waffle-dataconnector-jdbc-query-settings-widget-connection-name-label{color:rgba(0,0,0,0.54)}.waffle-dataconnector-jdbc-query-settings-widget-connection-name{color:rgba(0,0,0,0.87);font-weight:500;margin-top:8px}.waffle-dataconnector-jdbc-query-settings-widget-connection-name-error{color:#e06055}.waffle-dataconnector-jdbc-query-settings-widget-change-button{left:-8px;margin:8px 0;position:relative}.waffle-dataconnector-plx-query-settings-widget{font:inherit}.waffle-dataconnector-plx-query-settings-widget-engine-section{margin-top:8px}.waffle-dataconnector-plx-query-settings-widget-script-section{margin-top:16px}.waffle-dataconnector-plx-query-settings-widget-script-section .waffle-dataconnector-removable-chip{margin-top:8px}.waffle-dataconnector-plx-query-settings-widget-script-label{font-size:11px}.waffle-dataconnector-plx-query-settings-widget-link-script-button{margin:8px 0 0 0}.waffle-dataconnector-modal.waffle-dataconnector-newqueryeditor{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:calc(100% - 16px);max-height:640px;min-height:400px;width:832px}.waffle-dataconnector-modal.waffle-dataconnector-newqueryeditor.docs-material-gm-dialog{width:880px}.waffle-dataconnector-newqueryeditor .waffle-dataconnector-modal-body{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;max-height:457px;padding:0}.waffle-dataconnector-newqueryeditor.docs-material-gm-dialog .waffle-dataconnector-modal-body{padding:0 24px 24px}.waffle-dataconnector-newqueryeditor.docs-material-gm-dialog .waffle-dataconnector-modal-header{border:none}.waffle-dataconnector-newqueryeditor .waffle-dataconnector-newqueryeditor-container{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;-webkit-justify-content:space-between;justify-content:space-between;height:100%;overflow:hidden;position:relative}.waffle-dataconnector-newqueryeditor.docs-material-gm-dialog .waffle-dataconnector-newqueryeditor-container{border:1px solid rgba(0,0,0,0.12);border-radius:4px}.waffle-dataconnector-newqueryeditor-main{border-right:1px solid rgba(0,0,0,0.12);overflow:hidden;position:relative;width:576px}.waffle-dataconnector-newqueryeditor-sidebar{box-sizing:border-box;overflow-x:hidden;overflow-y:auto;width:calc(100% - 576px)}.waffle-dataconnector-newqueryeditor-preview-pane{bottom:0;height:0;position:absolute;overflow:hidden;width:100%}.waffle-dataconnector-newqueryeditor-info-pane:after{clear:both;content:"";display:block;height:0;width:0}.waffle-dataconnector-newqueryeditor .waffle-dataconnector-modal-footer{display:flex;align-items:center;border-top:1px solid rgba(0,0,0,0.12);padding:16px}.waffle-dataconnector-newqueryeditor-footer-message-container{display:flex;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;align-items:center;height:48px;margin:0 8px;overflow:auto}.waffle-dataconnector-newqueryeditor-footer-message{color:rgba(0,0,0,0.54)}.waffle-dataconnector-newqueryeditor-footer-message .waffle-dataconnector-error-message:before{content:"";display:block;height:20px}.waffle-dataconnector-newqueryeditor-footer-message .waffle-dataconnector-error-message:after{content:"";display:block;height:20px}.waffle-dataconnector-newqueryeditor-footer-message-container .waffle-dataconnector-error-icon{display:none;margin-right:8px;height:24px;min-width:24px;width:24px}.waffle-dataconnector-newqueryeditor-footer-message-container.waffle-dataconnector-newqueryeditor-unhandled-error>.waffle-dataconnector-newqueryeditor-footer-message{color:#db4437}.waffle-dataconnector-newqueryeditor-footer-message-container.waffle-dataconnector-newqueryeditor-unhandled-error .waffle-dataconnector-error-icon{display:block}.waffle-dataconnector-newqueryeditor-preview-query-button,.waffle-dataconnector-newqueryeditor-execute-query-button{min-width:140px;white-space:nowrap}.waffle-dataconnector-newqueryeditor-preview-query-button .waffle-dataconnector-refresh-icon{height:24px;margin:4px;width:24px}.waffle-dataconnector-newqueryeditor-preview-query-button .waffle-dataconnector-refresh-icon path{fill:#4285f4}.waffle-dataconnector-newqueryeditor-preview-query-button.docs-material-button-disabled .waffle-dataconnector-refresh-icon path{fill:rgba(0,0,0,0.26)}.waffle-dataconnector-newqueryeditor-editor-pane{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;position:relative;overflow:hidden}.waffle-dataconnector-newqueryeditor-sidebar::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12);min-height:0;width:8px}.waffle-dataconnector-newqueryeditor-sidebar::-webkit-scrollbar-track{border:none;padding:0;width:8px}.waffle-dataconnector-newqueryeditor-sidebar::-webkit-scrollbar{width:8px;border-left:1px solid rgba(0,0,0,0.12)}.waffle-dataconnector-queryeditor-queryparameterchip-name{font-weight:700}.waffle-dataconnector-queryeditor-removable-chip-error .waffle-dataconnector-queryeditor-queryparameterchip-name{color:#db4437}.waffle-dataconnector-queryeditor-queryparameterwidget .waffle-dataconnector-queryeditor-removable-chip{margin:8px 0}.waffle-dataconnector-queryeditor-queryparameterwidget-header{display:flex;-webkit-align-items:center;align-items:center;height:100%}.waffle-dataconnector-queryeditor-queryparameterwidget-header .waffle-dataconnector-query-parameters-icon{height:18px;margin-right:8px;min-width:18px;width:18px}.waffle-dataconnector-queryeditor-queryparameterwidget .waffle-dataconnector-queryeditor-removable-chip{margin-bottom:0}.waffle-dataconnector-queryeditor-queryparameterwidget-add-parameter-button{margin:8px 0 0 0}.waffle-dataconnector-querypreviewrenderer{height:100%;width:100%}.waffle-dataconnector-querypreviewrenderer-canvas-viewport{background:#f3f3f3;direction:ltr;height:100%;overflow:scroll;width:100%}.waffle-dataconnector-querypreviewrenderer-canvas-viewport.native-scrollbar{position:static}.waffle-dataconnector-querypreviewrenderer-preview-overlay{background:rgba(0,0,0,0.12);height:100%;left:0;line-height:80px;opacity:0;position:absolute;text-align:center;top:0;transition:opacity 0.3s ease-in,visibility 0s linear 0.3s;vertical-align:middle;visibility:hidden;width:100%;z-index:2}.waffle-dataconnector-querypreviewrenderer-preview-overlay-text{-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:rgba(0,0,0,0.54);border-radius:4px;box-shadow:0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12),0px 2px 4px -1px rgba(0,0,0,0.2);color:white;font:500 21px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;left:50%;max-width:80%;padding:20px;position:absolute;top:50%}.waffle-dataconnector-querypreviewrenderer-preview-overlay.visible{opacity:1;transition-delay:0s;visibility:visible}.waffle-dataconnector-querypreviewrenderer-preview-inactive>.waffle-dataconnector-querypreviewrenderer-canvas-viewport{overflow:hidden}.waffle-dataconnector-querypreviewrenderer-canvas-viewport>canvas{height:100%;width:100%}.waffle-dataconnector-querypreviewrenderer-a11y-region{position:absolute;top:-10000px;left:-10000px}.waffle-dataconnector-queryeditor-query-settings-header .docs-icon{margin-right:8px}.waffle-dataconnector-querytexteditor{position:relative}.waffle-dataconnector-querytexteditor-editor-container{height:100%;position:absolute;width:100%}.waffle-dataconnector-querytexteditor-overlay{background-color:#fff;height:100%;left:0;position:absolute;top:0;width:100%;width:100%;z-index:10000}.waffle-dataconnector-querytexteditor-overlay-message{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);color:rgba(0,0,0,0.54);font:500 13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;text-align:center;top:50%;width:100%}.waffle-dataconnector-querytexteditor-overlay-message a{color:inherit;text-decoration:underline}.waffle-dataconnector-queryeditor-removable-chip-inner{display:inline-block;max-width:100%;position:relative}.waffle-dataconnector-queryeditor-removable-chip-button{background:#f0f0f0;border-radius:16px;border:2px solid transparent;cursor:pointer;display:block;height:32px;line-height:32px;padding:0 32px 0 12px}.waffle-dataconnector-queryeditor-removable-chip-chip-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-dataconnector-queryeditor-removable-chip-error .waffle-dataconnector-queryeditor-removable-chip-button{background:#fff;border:2px solid #db4437;overflow:hidden}.waffle-dataconnector-queryeditor-removable-chip-view-only .waffle-dataconnector-queryeditor-removable-chip-button{padding-right:12px}.waffle-dataconnector-queryeditor-removable-chip-button-hover{background:#e0e0e0}.waffle-dataconnector-queryeditor-removable-chip-button-active{background:#d0d0d0}.waffle-dataconnector-queryeditor-removable-chip-button-focused{border:2px solid #4285f4;outline:none}.waffle-dataconnector-queryeditor-removable-chip-button a{color:inherit}.waffle-dataconnector-queryeditor-removable-chip-remove-button{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);background-color:rgba(0,0,0,0.12);border-radius:50%;box-sizing:border-box;height:18px;position:absolute;right:9px;top:50%;width:18px}.waffle-dataconnector-queryeditor-removable-chip-remove-button .waffle-dataconnector-close-icon{height:14px;margin:2px;width:14px}.waffle-dataconnector-queryeditor-removable-chip-remove-button .waffle-dataconnector-close-icon polygon{fill:#fff}.waffle-dataconnector-queryeditor-removable-chip-remove-button-hover{background-color:rgba(0,0,0,0.38);cursor:pointer}.waffle-dataconnector-queryeditor-removable-chip-remove-button-focused{background-color:rgba(0,0,0,0.38);outline:none}.waffle-dataconnector-schema-menu{min-height:30px;position:relative}.waffle-dataconnector-schema-menu .waffle-dataconnector-schema-menu-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.waffle-dataconnector-schema-menu-error-message{color:rgba(0,0,0,0.54)}.waffle-dataconnector-queryeditor-schemamenuwidget-header{display:flex;-webkit-align-items:center;align-items:center;height:100%}.waffle-dataconnector-queryeditor-schemamenuwidget-header .waffle-dataconnector-database-icon{height:18px;margin-right:8px;min-width:18px;width:18px}.waffle-dataconnector-queryeditor-sidebaraccordion{box-sizing:border-box;display:flex;flex-direction:column;min-width:200px}.waffle-dataconnector-queryeditor-sidebaraccordion:focus{outline-color:#4285f4}.waffle-dataconnector-upgrade-loading-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:558px;text-align:center;width:512px}.waffle-dataconnector-upgrade-loading-dialog .waffle-dataconnector-modal-header{border-bottom:none;justify-content:flex-end;padding:24px 24px 0px}.waffle-dataconnector-upgrade-loading-dialog .waffle-dataconnector-modal-title{display:none}.waffle-dataconnector-upgrade-loading-dialog .waffle-dataconnector-modal-body{padding:0;margin-top:-30px}.waffle-dataconnector-upgrade-loading-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-dataconnector-upgrade-loading-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-dataconnector-upgrade-loading-dialog-tip{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;height:32px;letter-spacing:0.2px;line-height:20px;margin:32px auto;max-width:392px}.waffle-dataconnector-upgrade-loading-dialog-image{height:350px;user-select:none}.waffle-dataconnector-upgrade-loading-dialog-description{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px;margin:4px auto 4px auto;max-width:392px}.waffle-dataconnector-upgrade-loading-dialog .waffle-dataconnector-modal-footer{border-top:none}.waffle-dataconnector-upgrade-prompt-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:558px;text-align:center;width:512px;height:630px}.waffle-dataconnector-upgrade-prompt-dialog .waffle-dataconnector-modal-header{border-bottom:none;justify-content:flex-end;padding:24px 24px 0px}.waffle-dataconnector-upgrade-prompt-dialog .waffle-dataconnector-modal-title{display:none}.waffle-dataconnector-upgrade-prompt-dialog .waffle-dataconnector-modal-body{padding:0}.waffle-dataconnector-upgrade-prompt-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-dataconnector-upgrade-prompt-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-dataconnector-upgrade-prompt-dialog-image{height:185px}.waffle-dataconnector-upgrade-prompt-dialog-title{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;max-width:428px;margin:22px auto 16px auto}.waffle-dataconnector-upgrade-prompt-dialog-description{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px;margin:4px auto 4px auto;max-width:392px}.waffle-dataconnector-upgrade-prompt-dialog-bullet-point{font-weight:bold;padding-right:4px}.waffle-dataconnector-upgrade-prompt-dialog-upgrade-button-wrapper{margin-top:20px}.waffle-dataconnector-upgrade-prompt-dialog .waffle-dataconnector-modal-footer{border-top:none}.waffle-dataconnector-upgrade-success-dialog{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;box-sizing:border-box;height:558px;text-align:center;width:512px;height:545px}.waffle-dataconnector-upgrade-success-dialog .waffle-dataconnector-modal-header{border-bottom:none;justify-content:flex-end;padding:24px 24px 0px}.waffle-dataconnector-upgrade-success-dialog .waffle-dataconnector-modal-title{display:none}.waffle-dataconnector-upgrade-success-dialog .waffle-dataconnector-modal-body{padding:0}.waffle-dataconnector-upgrade-success-dialog .waffle-dataconnector-modal-close-button{height:34px;margin-right:-5px;width:34px}.waffle-dataconnector-upgrade-success-dialog .waffle-dataconnector-modal-close-button svg{height:24px;width:24px}.waffle-dataconnector-upgrade-success-dialog-image{height:185px}.waffle-dataconnector-upgrade-success-dialog-title{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:22px;font-weight:400;max-width:428px;margin:22px auto 16px auto}.waffle-dataconnector-upgrade-success-dialog-description{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px;margin:4px auto 8px auto;max-width:400px}.waffle-dataconnector-upgrade-success-dialog-start-analyze-button-wrapper{margin-top:30px}.waffle-dataconnector-upgrade-success-dialog .waffle-dataconnector-modal-footer{border-top:none}.trix-data-prep-highlight-styled-rect{background-color:#0f9d58;opacity:0.06;pointer-events:none}.range-border.trix-data-prep-highlight-styled-border{border-color:#0f9d58;border-style:dashed}.trix-data-prep-active-column-label{overflow:hidden;padding:6px 12px 0;text-overflow:ellipsis;white-space:nowrap}.trix-data-prep-insights-cta{background:red;border-radius:8px;height:8px;margin:4px;width:8px}.trix-data-prep-column-label-container{align-items:center;background-color:#f1f3f4;border-radius:8px;display:flex;height:40px;padding:0 8px}.trix-data-prep-column-label{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;overflow:hidden;padding-left:12px;text-overflow:ellipsis;width:210px}.trix-data-prep-column-navigation-arrows{display:flex;direction:ltr;margin-left:auto}.trix-data-prep-select-column-menu-button,.trix-data-prep-column-right-button,.trix-data-prep-column-left-button{align-items:center;background-color:transparent;border:none;border-radius:50%;display:flex;height:18px;justify-content:center;outline:none;padding:0;width:18px}.trix-data-prep-select-column-menu-button .docs-icon,.trix-data-prep-column-right-button .docs-icon,.trix-data-prep-column-left-button .docs-icon{left:-3px;margin:0;top:-3px}.trix-data-prep-column-left-button{margin-right:4px}.trix-data-prep-select-column-menu-button:hover,.trix-data-prep-select-column-menu-button:focus,.trix-data-prep-column-right-button:hover,.trix-data-prep-column-right-button:focus,.trix-data-prep-column-left-button:hover,.trix-data-prep-column-left-button:focus{background:#e8eaed;cursor:pointer}.trix-data-prep-select-column-menu-button:active,.trix-data-prep-column-right-button:active,.trix-data-prep-column-left-button:active{background:#dadce0}.trix-data-prep-headers-count{overflow:hidden;padding:6px 12px 0;text-overflow:ellipsis;white-space:nowrap}.trix-data-prep-headers-count-container{align-items:center;border-radius:8px;color:#5f6368;display:flex;float:right;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:normal;justify-content:flex-end}.trix-data-prep-headers-count-prompt{align-content:center;height:24px;letter-spacing:0.3px;line-height:24px;padding:5px 3px}.trix-data-prep-headers-count-select{direction:ltr;display:flex;padding:5px}.trix-data-prep-headers-count-decrement,.trix-data-prep-headers-count-increment{background-color:white;border:0;margin:0;padding:0}.trix-data-prep-headers-count-decrement .goog-toolbar-button,.trix-data-prep-headers-count-increment .goog-toolbar-button{border-color:#dadce0!important}.trix-data-prep-headers-count-decrement .goog-toolbar-button{border-radius:2px 0 0 2px;border-right:0;margin-right:0}.trix-data-prep-headers-count-increment .goog-toolbar-button{border-radius:0 2px 2px 0;border-left:0;margin-left:0}.trix-data-prep-headers-count-decrement .goog-toolbar-button,.trix-data-prep-headers-count-decrement .goog-toolbar-button-outer-box,.trix-data-prep-headers-count-decrement .goog-toolbar-button-inner-box,.trix-data-prep-headers-count-decrement .docs-icon,.trix-data-prep-headers-count-increment .goog-toolbar-button,.trix-data-prep-headers-count-increment .goog-toolbar-button-outer-box,.trix-data-prep-headers-count-increment .goog-toolbar-button-inner-box,.trix-data-prep-headers-count-increment .docs-icon{box-sizing:border-box;height:24px;margin:0;padding:0;width:24px}.waffle-insights-headers-count-combo-box .waffle-insights-headers-count-combo-box-input.jfk-textinput{border-radius:0;height:24px;margin:0;padding:0;text-align:center;width:41px}.goog-inline-block.waffle-insights-headers-count-combo-box-dropdown{display:none}.waffle-insights-headers-count-combo-box-hover .waffle-insights-headers-count-combo-box-input{background-color:#f1f3f4}.trix-data-prep-insights-tab .trix-data-prep-insights-container .docs-charts-editor-material-togglebutton{border:none;display:table;height:inherit;line-height:inherit;text-align:unset;width:100%}.trix-data-prep-sidebar-survey-container{align-items:center;background-color:#f8f9fa;display:flex;height:40px;padding:0 8px}.trix-data-prep-sidebar-survey-link{color:#188038!important;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.25px}.trix-data-prep-sidebar-survey-link:hover{text-decoration:none}.trix-data-prep-sidebar-survey-container:hover,.trix-data-prep-sidebar-survey-container:focus{background:rgba(0,0,0,.06)}.trix-data-prep-sidebar-survey-container:active{background:rgba(0,0,0,0.12)}.trix-data-prep-insight-row,.trix-data-prep-actionable-insight-row{box-sizing:border-box;display:flex;font-size:14px;height:40px;justify-content:space-between;line-height:40px;vertical-align:middle}.trix-data-prep-actionable-insight-row{padding:0 24px 0 11px}.trix-data-prep-actionable-insight-row:hover{background-color:#e6f4ea}.trix-data-prep-actionable-insight-row:hover .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.trix-data-prep-actionable-insight-icon{margin-right:8px}.trix-data-prep-insight-row{margin:0 3px;padding:0 9px}.trix-data-prep-insights-frequency-separator{background:#dadce0;height:1px;margin:0 12px}.trix-data-prep-insight-row-value{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;margin-right:4px;margin-top:2px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:50%}.trix-data-prep-insights-toggle-separator{background:#dadce0;height:16px;margin:0 15px;width:1px}.trix-data-prep-insight-row-name{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;overflow:hidden;padding-right:5px;text-overflow:clip;white-space:nowrap}.trix-data-prep-insight-frequency-row-name{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;overflow:hidden;padding-right:5px;text-overflow:clip;white-space:nowrap}.trix-data-prep-insight-row:hover{background:#e8eaed;border-radius:32px}.trix-data-prep-insights-container{padding-top:12px}.trix-data-prep-insights-chart-container,.trix-data-prep-insights-frequency-tables,.trix-data-prep-insights-section{border:1px solid #dadce0;border-radius:8px;box-sizing:border-box;margin:0 12px;overflow:hidden}.trix-data-prep-insights-toggle-container{box-sizing:border-box;display:flex;justify-content:flex-end;padding:16px;width:100%}.trix-data-prep-insights-label-active,.trix-data-prep-insights-label-inactive{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trix-data-prep-insights-label-active{color:#188038;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;text-align:center}.docs-gm .docs-material .trix-data-prep-insights-label-active .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.trix-data-prep-insights-label-inactive{color:#80868b;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;outline:none;text-align:center}.trix-data-prep-insights-label-inactive:hover,.trix-data-prep-insights-label-inactive:focus{background-color:#f1f3f4}.trix-data-prep-insights-label-inactive:active{background-color:#e8eaed}.goog-control-disabled.trix-data-prep-insights-label-inactive{color:#dadce0;cursor:default;font-size:14px}.goog-control-disabled.trix-data-prep-insights-label-inactive:hover,.goog-control-disabled.trix-data-prep-insights-label-inactive:focus{background-color:transparent}.trix-data-prep-insights-section-label{color:#3c4043;font-family:Google Sans;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;margin-left:12px;padding-bottom:8px}.trix-data-prep-insights-chart,.trix-data-prep-insights-value-most-frequent-table,.trix-data-prep-insights-value-least-frequent-table{overflow:auto}.trix-data-prep-insights-separator{height:24px}.trix-data-prep-type-button,.trix-data-prep-date-time-input-dropdown,.trix-data-prep-currency-input-dropdown,.trix-data-prep-min-box,.trix-data-prep-max-box,.trix-data-prep-blank-checkbox,.trix-data-prep-duplicate-checkbox,.trix-data-prep-dropdown-list-input,.trix-data-prep-dropdown-type-input{margin:16px}.trix-data-prep-insights-hidden-data-message{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;padding:16px 0 40px 0;text-align:center}.trix-data-prep-db-insights .trix-data-prep-insights-local-only{display:none}.trix-column-insights-sidebar-column-selector-menu{margin-left:10px;width:270px}.trix-column-insights-sidebar-column-selector-menu-scrollable-wrapper{max-height:270px;overflow-y:auto}.trix-column-insights-sidebar-column-selector-menuitem{-webkit-align-items:center;align-items:center;display:flex;font-family:Roboto;font-size:14px;font-weight:500;height:32px;letter-spacing:0.2px;line-height:20px;overflow:hidden;padding:0 8px;text-overflow:ellipsis;width:230px;white-space:nowrap}.trix-column-insights-sidebar-column-selector-menuitem-accel{color:#9e9e9e;margin-left:auto;padding-left:20px;text-align:center}.trix-column-insights-sidebar-column-selector-menuitem-refreshquery-info{font-style:italic}.trix-column-insights-sidebar-column-selector-menuitem-refreshquery-info-error-button{color:#db4437;text-decoration:underline}.trix-column-insights-sidebar-column-selector-menuitem-refreshquery-estimate-placeholder{font-style:italic}.trix-data-prep-column-insights-sidebar-refresh-label{overflow:hidden;padding:0 12px 12px;text-overflow:ellipsis;white-space:nowrap}.trix-data-prep-column-insights-sidebar-refresh-label-container{align-items:center;background-color:#f1f3f4;border-radius:8px;display:flex;height:40px}.trix-data-prep-column-insights-sidebar-refresh-label-last-updated{align-items:center;color:#202124;display:flex;font-family:Roboto;font-size:12px;font-weight:500;letter-spacing:0.2px;overflow:hidden;padding:0 12px;text-overflow:ellipsis;width:170px}.trix-data-prep-column-insights-sidebar-refresh-label-last-updated-loaded-msg{overflow:hidden;padding-left:5px;text-overflow:ellipsis}.trix-data-prep-column-insights-sidebar-refresh-label-last-updated-time{overflow:hidden;padding-left:4px;text-overflow:ellipsis}.trix-data-prep-column-insights-sidebar-refresh-label-button{color:#188038;background-color:transparent;border:none;border-radius:50%;font-family:Roboto;font-size:12px;justify-content:center;outline:none;padding:0 12px;width:60px}.trix-data-prep-column-insights-sidebar-refresh-label-separator{border-left:1px #dadce0 solid;height:20px}.trix-data-prep-column-insights-sidebar-refresh-label-last-updated-icon{height:17px;width:17px}.trix-data-prep-column-insights-sidebar-refresh-label-button-wrapper{padding:0}.trix-data-prep-column-insights-sidebar-refresh-label-button-wrapper .docs-material-button{margin:0;text-transform:none}.trix-data-prep-column-insights-sidebar-refresh-label-button-wrapper .docs-material-button-content>div>span{vertical-align:middle}.waffle-dataprep-column-insights-sidebar-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)!important}.waffle-dataprep-column-insights .waffle-sidebar-title .docs-gm-sidebar-icon{margin-right:0}.trix-data-prep-column-insights-refresh-placeholder-container{align-items:center;display:flex;flex-direction:column;font-family:Roboto;font-size:12px;font-weight:500;letter-spacing:0.2px;padding:60px 65px}.trix-data-prep-column-insights-refresh-placeholder-retrieving-data{align-items:center;display:flex;height:35px}.trix-data-prep-column-insights-refresh-placeholder-retrieving-data-spinner .waffle-spinner{height:12px;width:12px}.trix-data-prep-column-insights-refresh-placeholder-retrieving-data-msg{padding:0 5px}.trix-data-prep-column-insights-refresh-placeholder-load-time-msg{color:#80868b;text-align:center}.trix-data-prep-column-insights-refresh-placeholder-retrieving-data-msg{color:#188038;text-align:center}.docs-material-button-hairline-primary.docs-material-button.waffle-datavalidation-add-rule-button{align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;padding:6px 14px}.docs-material-button-hairline-primary.docs-material-button.waffle-datavalidation-delete-all-button{color:#5f6368}.waffle-boolean-condition-picker-checked-text-holder,.waffle-boolean-condition-picker-unchecked-text-holder{align-items:baseline;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:space-between;justify-content:space-between}.waffle-boolean-condition-picker-checked-text-description,.waffle-boolean-condition-picker-unchecked-text-description{float:left}.waffle-boolean-condition-picker-checked-text-input-wrapper,.waffle-boolean-condition-picker-unchecked-text-input-wrapper{float:right}.waffle-boolean-condition-picker-checked-text-input,.waffle-boolean-condition-picker-unchecked-text-input{width:168px}.waffle-datavalidation-add-rule-button-wrapper,.waffle-datavalidation-delete-all-button-wrapper{float:right}.waffle-datavalidation-add-rule-plus{font-size:24px;font-weight:100;line-height:20px;margin-right:8px;vertical-align:text-bottom}.waffle-datavalidation-edit-pill-invalid-type-buttons .jfk-radiobutton-label{margin-bottom:13px}.waffle-datavalidation-edit-pill-button-bar{align-items:center;border-top:1px solid #dadce0;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;padding:16px 0 16px 60px;position:relative;text-align:right}.waffle-datavalidation-edit-pill-cancel-button,.waffle-datavalidation-edit-pill-done-button{cursor:pointer;margin-left:16;text-transform:none}.waffle-datavalidation-edit-pill-section{padding:0 0 24px 0}.waffle-datavalidation-edit-pill-invalid-type-buttons{margin-top:12px}.waffle-datavalidation-edit-pill-invalid-type-buttons .jfk-radiobutton{margin-left:2px;padding:0}.waffle-datavalidation-edit-pill-invalid-type-buttons .jfk-radiobutton-label{color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px;margin-left:32px;text-decoration-line:none}.waffle-datavalidation-edit-pill-invalid-type-buttons .jfk-radiobutton-radio{height:20px;left:0;top:0;width:20px}.waffle-datavalidation-edit-pill-invalid-type-buttons .jfk-radiobutton-checked .jfk-radiobutton-radio::after{height:10px;margin:3px;width:10px}.waffle-datavalidation-edit-pill-condition-pane,.waffle-datavalidation-slide-frame{position:relative;width:268px}.waffle-datavalidation-edit-pill-help-text-input{width:208px}.waffle-datavalidation-edit-pill-help-text-input-wrapper{align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:space-between;justify-content:space-between}.waffle-datavalidation-edit-pill-help-text-reset-button-wrapper:hover,.waffle-datavalidation-edit-pill-help-text-reset-button-wrapper:focus{outline:none}.waffle-datavalidation-edit-pill-help-text-reset-button-wrapper{color:#5f6368;cursor:pointer;display:inline;margin:8px}.waffle-datavalidation-edit-pill-range-picker{border-bottom:none;padding:16px 16px 12px 16px}.waffle-datavalidation-edit-pill-boolean-condition-picker{margin-bottom:12px}.waffle-datavalidation-edit-pill-section-header{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin-bottom:8px}.waffle-datavalidation-one-of-range-wrapper{padding:8px 0}.waffle-datavalidation-sidebar-button-bar{align-items:center;border-top:1px solid #dadce0;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;padding:16px;position:relative}.waffle-datavalidation-sidebar-scroll-pane{overflow-x:hidden;overflow-y:auto}.waffle-datavalidation-sidebar-widget{padding:20px 16px 0}.waffle-datavalidation-sidebar-widget-header{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;align-items:center;justify-content:space-between}.waffle-datavalidation-slide-frame{padding:12px 16px 8px 16px;position:relative;width:268px}.waffle-datavalidation-view-pill{background-color:#fff;border-bottom:1px solid #dadce0;cursor:pointer;display:flex;height:56px;padding:10px;position:relative}.waffle-datavalidation-view-pill:focus,.waffle-datavalidation-view-pill:hover{background-color:#f1f3f4;outline:none}.waffle-datavalidation-view-pill-condition{color:#202124;font-size:14px;font-weight:500;letter-spacing:0.15px;line-height:16px;max-height:30px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;width:142px}.waffle-datavalidation-view-pill-delete-button-wrapper{height:56px;right:16px;line-height:56px;position:absolute;opacity:0.5}.waffle-datavalidation-view-pill-delete-button-wrapper:hover{opacity:1}.waffle-datavalidation-view-pill-delete-button-wrapper .docs-icon{width:21px;height:21px}.waffle-datavalidation-view-pill-range{color:#3c4043;height:20px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:0.2px;overflow:hidden;text-overflow:ellipsis;width:142px}.range-border.waffle-datavalidation-view-pill-highlight-styled-border{border-color:#34a853;border-style:solid;line-height:0}.waffle-datavalidation-view-pill-highlight-styled-rect{background-color:#34a853;opacity:0.06;pointer-events:none}.waffle-datavalidation-view-pill-summary{margin:auto 8px auto 14px;position:relative;width:142px}.waffle-datavalidation-edit-pill-error-bubble{z-index:1000!important}.waffle-datavalidation-edit-pill-boolean-condition-picker-body .waffle-conditionalformat-edit-pill-section-body .jfk-select:focus{border:2px solid #1a73e8!important}.waffle-assistant-overlay-informational-card{background-color:#ffffff;border-radius:8px;box-shadow:0px -3px 11px rgba(128,134,139,0.09),0px 6px 11px rgba(128,134,139,0.06),0px 1px 3px rgba(60,64,67,0.3),0px 4px 8px rgba(60,64,67,0.15);min-height:108px;min-width:220px}.waffle-assistant-overlay-informational-card-content-wrapper{padding:8px 12px 0 12px}.waffle-assistant-overlay-informational-card-headline-message{color:#188038;float:left;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:0.1px;line-height:24px;white-space:normal;width:100%;word-break:break-word}.waffle-assistant-overlay-informational-card-send-feedback-cta{color:#80868b;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;max-height:40px;overflow-y:scroll;text-overflow:clip;white-space:normal;width:100%;word-wrap:break-word}.waffle-assistant-overlay-informational-card-footer-wrapper{padding:8px 12px}.waffle-assistant-overlay-informational-card-buttons-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-assistant-overlay-informational-card-button{align-items:center;background:#ffffff;border-radius:16px;box-sizing:border-box;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;height:24px;margin-right:8px;mix-blend-mode:normal;width:24px}.waffle-assistant-overlay-informational-card-send-feedback-button{border:1px solid #a8dab5}.waffle-assistant-overlay-informational-card-feedback-icon{display:flex;margin:auto}.waffle-assistant-overlay-informational-decorator{background-color:#188038;border-radius:8px 8px 0 0;color:#fff;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;letter-spacing:0.25px;padding:1px 8px;position:absolute}.waffle-assistant-overlay-informational-range-highlighter-border{border-color:#188038;border-style:solid}.waffle-assistant-overlay-informational-range-highlighter-rect{background-color:#e6f4ea;opacity:0.50;pointer-events:none}.waffle-assistant-overlay-recommendation-card{background-color:#ffffff;border-radius:8px;box-shadow:0px -3px 11px rgba(128,134,139,0.09),0px 6px 11px rgba(128,134,139,0.06),0px 1px 3px rgba(60,64,67,0.3),0px 4px 8px rgba(60,64,67,0.15);min-height:134px;width:240px}.waffle-assistant-overlay-recommendation-card-header-wrapper{align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:space-between;justify-content:space-between;min-height:32px;padding:8px 12px 0 12px}.waffle-assistant-overlay-recommendation-card-title{color:#5f6368;float:left;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:0.8px;line-height:16px;text-transform:uppercase}.waffle-assistant-overlay-recommendation-card-info-icon{float:right}.waffle-assistant-overlay-recommendation-card-content-wrapper{min-height:58px;padding:0 12px}.waffle-assistant-overlay-recommendation-card-recommendation-wrapper{align-items:center;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-assistant-overlay-recommendation-card-recommendation{color:#188038;float:left;overflow-x:hidden;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:0.1px;line-height:24px;white-space:normal;width:100%;word-break:break-word}.waffle-assistant-overlay-recommendation-card-additional-information{color:#80868b;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px;overflow-y:scroll;text-overflow:clip;white-space:normal}.waffle-assistant-overlay-recommendation-card-show-more-information{color:#1a73e8}.waffle-assistant-overlay-recommendation-card-footer-wrapper{padding:8px 12px}.waffle-assistant-overlay-recommendation-card-buttons-wrapper{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-assistant-overlay-recommendation-card-button{align-items:center;background:#ffffff;border-radius:16px;box-sizing:border-box;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;height:24px;margin-right:8px;mix-blend-mode:normal;width:24px}.waffle-assistant-overlay-recommendation-card-accept-button-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)!important}.waffle-assistant-overlay-recommendation-card-button-icon{margin:1px}.waffle-assistant-overlay-recommendation-card-accept-button{border:1px solid #a8dab5}.waffle-assistant-overlay-recommendation-card-reject-button{border:1px solid #dadce0}.waffle-assistant-overlay-recommendation-card-menu-button{padding:0}.waffle-autofill-previews-range-highlighter-border{border-color:#188038;border-style:solid}.waffle-autofill-previews-range-highlighter-rect{background-color:#e6f4ea;opacity:0.50;pointer-events:none}.waffle-db-object-formula-tooltip-help-button{box-sizing:border-box;display:inline-block;height:20px;outline:none;padding:2px;vertical-align:bottom;width:20px}.waffle-db-object-formula-tooltip-help-button-hover{background:#f1f3f4;border-radius:75%}.waffle-db-object-formula-tooltip-help-bubble-visible .waffle-db-object-formula-tooltip-help-button,.waffle-db-object-formula-tooltip-help-button-focused,.waffle-db-object-formula-tooltip-help-button-active{background:#e6f4ea;border-radius:75%}.waffle-db-object-formula-tooltip-help-icon{height:100%;width:100%}.waffle-db-object-formula-tooltip-help-bubble-visible .waffle-db-object-formula-tooltip-help-button .waffle-db-object-formula-tooltip-help-icon,.waffle-db-object-formula-tooltip-help-button-focused .waffle-db-object-formula-tooltip-help-icon,.waffle-db-object-formula-tooltip-help-button-active .waffle-db-object-formula-tooltip-help-icon{fill:#188038}.waffle-db-object-formula-tooltip-help-bubble{border:none;border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);font-size:12px;padding:16px 16px 16px 18px;max-width:280px;width:280px}.waffle-db-object-formula-tooltip-help-bubble:focus{outline:1px solid transparent}.waffle-db-object-formula-tooltip-help-bubble-title{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;margin-bottom:19px}.waffle-db-object-formula-tooltip-help-bubble-subtitle{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px}.waffle-db-object-formula-tooltip-help-bubble-example{background-color:#f1f3f4;border-radius:3px;color:#202124;display:inline-block;font-family:'Roboto Mono','Consolas',monospace;font-size:14px;letter-spacing:0.25px;line-height:20px;margin:9px 0 16px 0;opacity:70%;padding:3px 8px 2px 7px}.waffle-db-object-formula-tooltip-help-bubble-link{color:#1a73e8;display:block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.25px;line-height:20px}.waffle-dv-table .waffle-data-validation-dialog{min-width:672px}.waffle-data-validation-dialog .waffle-dv-table .waffle-dv-list-options-textarea{margin:0;max-width:251px;padding:7px}.waffle-data-validation-dialog .waffle-dv-table .waffle-dv-editbox-number{margin:0;width:50px}.waffle-data-validation-dialog .waffle-dv-table .waffle-dv-editbox-text{margin:0}.waffle-data-validation-dialog .waffle-dv-table .waffle-dv-editbox-date{margin:0;width:72px}.waffle-data-validation-dialog .waffle-input-error-butter-container{margin-left:180px;margin-top:-50px;z-index:999;width:auto}.waffle-dv-table .waffle-dv-customcheckboxlabel{padding-top:14px}.waffle-dv-table .docs-material-gm-labeled-checkbox{padding:0}.waffle-dv-table{width:672px}.waffle-dv-table.jfk-select{margin-right:8px}.waffle-dv-table.goog-flat-menu-button{margin-left:0;height:36px}.waffle-dv-table .waffle-dv-on-invalid-data .jfk-radiobutton-radio{left:2px}.waffle-dv-table .waffle-dv-on-invalid-data .jfk-radiobutton:not(:last-child){padding-right:20px}.waffle-db-object-formula-dialog{height:505px;max-width:670px;min-width:510px}.waffle-db-object-formula-dialog .modal-dialog-title{margin-bottom:12px}.waffle-db-object-formula-dialog .modal-dialog-title-text{height:24px}.waffle-db-object-formula-description{color:#3c4043;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;height:40px;letter-spacing:0.25px;line-height:20px;margin:0 0 16px 0}.waffle-db-object-formula-tooltip{display:inline-block}.waffle-db-object-formula-display-name-title{color:#3c4043;display:inline-block;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;margin-bottom:7px}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-display-name-input{display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;letter-spacing:0.17px;margin:0}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-display-name-input-invalid,.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-display-name-input-invalid:focus{border:2px solid #d93025;padding:0 7px}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-display-name-error{color:#d93025;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;height:16px;letter-spacing:0.3px;line-height:16px;margin:4px 0 8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-formula-editor{display:inline-block;position:relative}.waffle-db-object-formula-display-name-title,.waffle-db-object-formula-display-name-error,.waffle-db-object-formula-display-name-input,.waffle-db-object-formula-formula-editor{width:calc(100% - 212px)}.waffle-db-object-formula-dialog-view-only .waffle-db-object-formula-display-name-title,.waffle-db-object-formula-dialog-view-only .waffle-db-object-formula-display-name-input,.waffle-db-object-formula-dialog-view-only .waffle-db-object-formula-formula-editor{width:100%}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-toggle-tabs{display:inline-block;float:right;height:27px;line-height:27px;margin-left:7px;min-width:205px;width:205px}.waffle-db-object-formula-dialog .waffle-db-object-formula-toggle-tabs.waffle-gm-sidebar .docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab,.waffle-db-object-formula-dialog .waffle-db-object-formula-toggle-tabs.waffle-gm-sidebar .docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab:hover{height:27px;line-height:27px;margin-top:0}.waffle-db-object-formula-dialog .waffle-db-object-formula-toggle-tabs.waffle-gm-sidebar .docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab-active{color:#188038}.waffle-db-object-formula-dialog .waffle-db-object-formula-toggle-tabs.waffle-gm-sidebar .docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab-active>div:after{border-bottom:3px solid #188038}.waffle-db-object-formula-dialog .waffle-db-object-formula-toggle-tabs.waffle-gm-sidebar .docs-sidebar-toggle-tabs .jfk-button-focused.docs-sidebar-toggle-tab-inactive>div:after{border-bottom:2px dotted #188038}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-column-menu-tab,.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-function-menu-tab{display:inline;float:right;height:319px;margin-bottom:24px;margin-left:7px;margin-top:0;min-width:205px;position:relative;width:205px}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-column-menu-tab .goog-menu.waffle-dbsource-column-filtered-menu,.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-function-menu-tab .goog-menu.waffle-function-filtered-menu{border:1px solid #dadce0;box-shadow:none;box-sizing:border-box;display:inline-block;height:319px;min-width:205px;overflow-x:hidden;position:absolute;width:205px}.waffle-db-object-formula-webkit-tab-override{position:absolute!important;margin-top:27px!important}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-column-menu-tab .goog-menu.waffle-dbsource-column-filtered-menu::-webkit-scrollbar-thumb{min-height:70px}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-column-menu-tab .goog-menu.waffle-dbsource-column-filtered-menu .goog-menu-filter{padding:4px 4px 10px 7px}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-column-menu-tab .goog-menu.waffle-dbsource-column-filtered-menu .goog-menu-filter input{line-height:24px;padding:0}.docs-dialog.waffle-db-object-formula-dialog .waffle-db-object-formula-column-menu-tab .goog-menu.waffle-dbsource-column-filtered-menu .goog-menu-filter:before{margin-right:7px;transform:scale(0.75)}.waffle-db-object-formula-dialog .modal-dialog-buttons{margin-top:0}.waffle-db-object-formula-editor-container-overall{display:flex;flex-direction:column;height:255px!important;margin-bottom:24px}.waffle-db-object-formula-editor-container{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.waffle-db-object-formula-editor-container-focus{border:2px solid #1a73e8;border-radius:4px}.waffle-db-object-formula-editor-container-invalid{border:2px solid #d93025;border-radius:4px}.waffle-db-object-formula-editor-container .waffle-db-object-formula-editor-input-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1;height:100%;position:relative;width:100%}.waffle-db-object-formula-editor-container .waffle-db-object-formula-editor-input-container .waffle-db-object-formula-editor-input,.waffle-db-object-formula-editor-container .waffle-db-object-formula-editor-input-container .waffle-db-object-formula-editor-input:focus{border:none;font-family:'Roboto Mono','Consolas',monospace;font-size:14px;font-weight:500;height:100%!important;letter-spacing:0.2px;margin:0;outline:none;resize:none;width:100%}.waffle-db-object-formula-editor-container .waffle-db-object-formula-editor-input-container .waffle-db-object-formula-editor-input::placeholder{font-weight:400}.waffle-db-object-formula-editor-container .waffle-db-object-formula-editor-input-container .waffle-db-object-formula-editor-input{padding:7px 8px}.waffle-db-object-formula-editor-container-invalid .waffle-db-object-formula-editor-input-container .waffle-db-object-formula-editor-input,.waffle-db-object-formula-editor-container-focus .waffle-db-object-formula-editor-input-container .waffle-db-object-formula-editor-input{padding:6px 7px}.waffle-db-object-formula-editor-summarize-function-containter{height:40px;margin-top:10px}.waffle-db-object-formula-editor-summarize-function-label{color:#5f6368;display:inline;line-height:40px;padding-right:5px;font-size:14px;vertical-align:middle}.waffle-db-object-formula-editor-summarize-function-menu{display:inline}.waffle-db-object-formula-editor-summarize-function-menu .goog-flat-menu-button.jfk-select{width:100px}.waffle-material-confirm-dialog{background:#fff;border-radius:2px;border:none;box-shadow:0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12),0px 8px 10px -5px rgba(0,0,0,0.2);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:absolute;z-index:1002}.waffle-material-confirm-dialog-bg{background-color:rgba(0,0,0,.6);left:0;position:absolute;top:0;z-index:1001}.waffle-material-confirm-dialog-header{font-size:18px;height:18px;line-height:18px;padding:24px 24px 20px 24px}.waffle-material-confirm-dialog-content{padding:0 24px}.waffle-material-confirm-dialog-footer{display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;padding:8px 14px 14px 14px}.waffle-source-destination-selection-dialog{min-width:350px;border-radius:10px}.waffle-source-destination-selection-dialog .docs-material-dialog-title{border-bottom:0}.waffle-source-destination-selection-dialog .docs-material-gm-dialog-title-close{cursor:pointer}.waffle-sdsd-source-container .waffle-sdsd-rangepicker-container{padding:0 0 16px}.waffle-sdsd-destination-container .waffle-sdsd-rangepicker-container{padding:0 0 16px 22px}.waffle-sdsd-rangepicker-label{color:rgba(0,0,0,0.54)}.waffle-sdsd-rangepicker-error-label{color:#d23f31;font-size:13px}.waffle-sdsd-destination-selection{padding:10px 0}.waffle-sdsd-destination-selection .jfk-radiobutton{padding:5px 0}.waffle-sdsd-destination-selection .jfk-radiobutton-radio{left:0}.waffle-range-selection-container{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0;align-items:center;background:#fff;display:flex;margin:0;min-width:20px;padding:1px;width:100%}.waffle-range-selection-input,.waffle-range-selection-input:focus{background:transparent;border:none;box-sizing:border-box;box-shadow:none;height:25px;color:inherit;font:inherit;margin:0;outline:none;padding:1px 8px;width:calc(100% - 34px)}.waffle-range-selection-button-container{overflow:hidden;padding:0;text-align:right;width:34px}.waffle-range-selection-button:hover,.waffle-range-selection-button:focus{opacity:0.9}.waffle-range-selection-container.waffle-range-selection-container-focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px;padding:0}.modal-dialog .waffle-range-selection-container .waffle-range-selection-button,.modal-dialog .waffle-range-selection-container .waffle-range-selection-button:hover,.modal-dialog .waffle-range-selection-container .waffle-range-selection-button:focus,.modal-dialog .waffle-range-selection-container .waffle-range-selection-button:hover:focus,.modal-dialog .waffle-range-selection-container .waffle-range-selection-button:active,.waffle-range-selection-container .waffle-range-selection-button{background:transparent!important;border:transparent!important;cursor:pointer;line-height:34px;padding:0;white-space:nowrap}.waffle-range-selection-button{line-height:33px;margin:0;opacity:.70}.waffle-dialog-validation-widget-open-button{border-radius:50%;bottom:8px;box-sizing:border-box;cursor:pointer;height:20px;position:absolute;right:8px;width:20px;z-index:10}.waffle-dialog-formula-editor-container-focus .waffle-dialog-validation-widget-open-button,.waffle-dialog-formula-editor-container-invalid .waffle-dialog-validation-widget-open-button{bottom:7px;right:7px}.waffle-dialog-validation-widget-open-button .waffle-dataconnector-info-icon{height:100%;width:100%}.waffle-dialog-validation-widget-open-button-hover,.waffle-dialog-validation-widget-open-button-focused{background:rgba(66,133,244,0.26)}.waffle-dialog-validation-widget-loading>.waffle-dialog-validation-widget-bar .waffle-dialog-validation-widget-spinner{display:block;height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dialog-validation-widget-bar .waffle-dialog-validation-widget-spinner,.waffle-dialog-validation-widget-spinner{display:none}.waffle-dialog-validation-widget-loading .waffle-dialog-validation-widget-spinner{display:block}.waffle-dialog-validation-widget-loading .waffle-dialog-validation-widget-spinner .waffle-spinner,.waffle-dialog-validation-widget-loading .waffle-dialog-validation-widget-bar .waffle-dialog-validation-widget-spinner .waffle-spinner{height:18px;width:18px}.waffle-dialog-validation-widget-loading .waffle-dialog-validation-widget-spinner .waffle-spinner-circle,.waffle-dialog-validation-widget-loading .waffle-dialog-validation-widget-bar .waffle-dialog-validation-widget-spinner .waffle-spinner-circle{border-width:2px}.waffle-dialog-validation-widget-bar{display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;background:rgba(66,133,244,0.12);bottom:0;box-sizing:border-box;color:#4285f4;display:none;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;max-height:76px;min-height:40px;padding:8px 8px 8px 16px;position:relative;right:0;width:100%}.waffle-dialog-formula-editor-container-focus .waffle-dialog-validation-widget-bar,.waffle-dialog-formula-editor-container-invalid .waffle-dialog-validation-widget-bar{max-height:75px;min-height:39px;padding:8px 7px 7px 15px}.waffle-dialog-validation-widget-visible>.waffle-dialog-validation-widget-bar{display:flex}.waffle-dialog-validation-widget-visible>.waffle-dialog-validation-widget-open-button{display:none}.waffle-dialog-validation-widget-bar .waffle-dataconnector-error-icon-filled{height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dialog-validation-widget-valid>.waffle-dialog-validation-widget-bar{background:rgba(15,157,88,0.12);color:#0f9d58}.waffle-dialog-validation-widget-bar .waffle-dataconnector-info-icon{height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dialog-validation-widget-valid .waffle-dataconnector-info-icon,.waffle-dialog-validation-widget-invalid .waffle-dataconnector-info-icon,.waffle-dialog-validation-widget-loading .waffle-dataconnector-info-icon{display:none}.waffle-dialog-validation-widget .waffle-dataconnector-error-icon-filled{display:none}.waffle-dialog-validation-widget-bar .waffle-dataconnector-error-icon-filled{margin-right:8px}.waffle-dialog-validation-widget .waffle-dataconnector-valid-icon{display:none}.waffle-dialog-validation-widget-bar .waffle-dataconnector-valid-icon{height:20px;margin-right:8px;min-width:20px;width:20px}.waffle-dialog-validation-widget-invalid .waffle-dialog-validation-widget-bar{background:rgba(219,68,55,0.12);color:#db4437}.waffle-dialog-validation-widget-invalid .waffle-dataconnector-error-icon-filled{display:block}.waffle-dialog-validation-widget-valid .waffle-dataconnector-valid-icon{display:block}.waffle-dialog-validation-widget-message{line-height:20px;max-height:60px;max-width:calc(100% - 30px);overflow:auto}.waffle-dialog-validation-widget-close-button{border-radius:50%;cursor:pointer;height:24px;margin-left:auto;width:24px}.waffle-dialog-validation-widget-close-button svg{height:20px;margin:2px;width:20px}.waffle-dialog-validation-widget .waffle-dataconnector-close-icon polygon{fill:#4285f4}.waffle-dialog-validation-widget-close-button-hover,.waffle-dialog-validation-widget-close-button-focused{background:rgba(66,133,244,0.26);outline:none}.waffle-dialog-validation-widget-invalid .waffle-dialog-validation-widget-close-button-hover,.waffle-dialog-validation-widget-invalid .waffle-dialog-validation-widget-close-button-focused{background:rgba(219,68,55,0.26)}.waffle-dialog-validation-widget-valid .waffle-dialog-validation-widget-close-button-hover,.waffle-dialog-validation-widget-valid .waffle-dialog-validation-widget-close-button-focused{background:rgba(15,157,88,0.26)}.waffle-dialog-validation-widget-valid .waffle-dataconnector-close-icon polygon{fill:#0f9d58}.waffle-dialog-validation-widget-invalid .waffle-dataconnector-close-icon polygon{fill:#db4437}.waffle-name-box-container{background-color:#fff;display:inline-flex;height:24px}.waffle-name-box{border:none;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:19px;margin:2px 0 2px 2px;padding:0 8px 0 6px;width:69px}.waffle-name-box:disabled,.waffle-name-box-menu-active .waffle-name-box:focus,.waffle-name-box-container:hover .waffle-name-box:focus,.waffle-name-box-container:hover .waffle-name-box:disabled,.waffle-name-box-container:hover .waffle-name-box:disabled+.name-box-dropdown,.waffle-name-box-menu-active.waffle-name-box-container:hover .waffle-name-box:focus{background:#fff}.waffle-name-box:focus{border:2px solid #4d90fe;margin:0;padding:0 6px}.name-box-dropdown.goog-toolbar-menu-button{cursor:pointer;height:18px;margin:2px 2px 2px 0;opacity:1}.name-box-dropdown.goog-toolbar-menu-button .goog-toolbar-menu-button-dropdown{margin-top:6px}.name-box-dropdown.goog-toolbar-menu-button:focus{background:#e8eaed}.goog-menu.waffle-named-box-menu{padding:2px 0 0 0;width:340px}.waffle-named-box-menu-open-sidebar-button-container{padding:4px 0}.waffle-named-box-menu-open-sidebar-button-focus,.waffle-named-box-menu-open-sidebar-button-hover,.waffle-name-box-menu-item-active{background:#f5f5f5}.waffle-named-box-menu-open-sidebar-button{color:#5f6368;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;padding:8px 0 6px 32px}.waffle-named-box-menu-open-sidebar-button:focus{outline:none}.waffle-named-box-menu-open-sidebar-button-disabled{background:white;cursor:default;opacity:0.38}.waffle-name-box-menu-open-sidebar-button-title{padding-bottom:4px}.waffle-name-box-menu-open-sidebar-button-subtext{color:#80868b;font-size:12px;letter-spacing:0.3px;line-height:16px;padding-right:4px}.goog-menu.waffle-named-box-menu .waffle-function-autocomplete-row{width:auto}.goog-menu.waffle-named-box-menu .waffle-function-autocomplete-row-name,.goog-menu.waffle-named-box-menu .waffle-named-range-autocomplete-row-content{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;overflow:hidden}.goog-menu.waffle-named-box-menu .waffle-function-autocomplete-row-description{color:#80868b;display:flex;font-size:12px;padding:7px 0 4px}.goog-menu.waffle-named-box-menu .waffle-named-range-autocomplete-row-icon-container{margin:4px}.goog-menu.waffle-named-box-menu .waffle-named-range-autocomplete-row-content{margin:4px 0}.waffle-named-box-menu-scrollable-wrapper{max-height:324px;overflow-y:auto}.waffle-name-box-menu-open-sidebar-button-separator{border-top:1px solid #dadce0;margin-left:30px}.waffle-name-box-container:hover .waffle-name-box,.waffle-name-box-container:hover .name-box-dropdown,.waffle-name-box-menu-active .waffle-name-box,.waffle-name-box-menu-active .name-box-dropdown,.waffle-name-box-menu-active.waffle-name-box-container:hover .waffle-name-box,.waffle-name-box-menu-active.waffle-name-box-container:hover .name-box-dropdown,.waffle-name-box-menu-active .name-box-dropdown.goog-toolbar-menu-button:focus,.waffle-name-box-container:hover .name-box-menu-separator-container,.waffle-name-box-menu-active .name-box-menu-separator-container,.waffle-name-box-menu-active.waffle-name-box-container:hover .name-box-menu-separator-container{background:#f5f5f5;display:inline-flex}.waffle-name-box-container:hover .waffle-name-box,.waffle-name-box-menu-active .waffle-name-box{width:67px}.waffle-histogram-grouping-box-input{background:white;border:1px solid #dadce0;border-radius:2px;box-sizing:border-box;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:28px;width:105px}.waffle-histogram-grouping-box-input-with-label{display:inline-block;margin:0 4px;vertical-align:top}.waffle-histogram-grouping-box-container{padding:8px 12px}.waffle-histogram-grouping-box-input-caption{color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:11px;line-height:13px;padding-bottom:4px}.waffle-histogram-grouping-box-button-container{display:flex;justify-content:flex-end;padding-top:8px}.waffle-histogram-grouping-box-min-max-row{padding-top:8px}.waffle-histogram-grouping-box-input-error{color:#d93025;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;min-height:15px;padding-top:4px}.waffle-histogram-grouping-box-button-container .waffle-histogram-grouping-box-remove-button .docs-icon{height:24px;width:24px}.waffle-histogram-grouping-box-button-container .waffle-histogram-grouping-box-remove-button .docs-material-button{border-radius:18px;height:36px;margin:0;padding:2px 5px;width:36px}.waffle-histogram-grouping-box-button-container .waffle-histogram-grouping-box-remove-button .docs-material-button.docs-material-button-focused,.waffle-histogram-grouping-box-button-container .waffle-histogram-grouping-box-remove-button .docs-material-button.docs-material-button-no-focus-border{border:none;line-height:36px;padding:0 5px}.waffle-histogram-grouping-box-button-container .waffle-histogram-grouping-box-remove-button .docs-material-button.docs-material-button-focused{background-color:rgba(0,0,0,0.12)}.waffle-db-column-insights-menuitem{-webkit-align-items:center;align-items:center;height:auto;line-height:20px;white-space:nowrap}.waffle-db-column-insights-menuitem-accel{color:#9e9e9e;margin-left:auto;text-align:left}.waffle-db-column-insights-menuitem-refreshquery-info-progress{font-style:italic}.waffle-db-column-insights-menuitem-refreshquery-info-error-button{color:#db4437;text-decoration:underline}.waffle-material-labeledinput{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;position:relative}.waffle-material-labeledinput-inputwrapper{height:46px;position:relative}.waffle-material-labeledinput-inputrow{display:flex;bottom:6px;color:rgba(0,0,0,0.87);height:20px;left:0;position:absolute;vertical-align:top;width:100%;z-index:100}.waffle-material-labeledinput-input{-webkit-box-flex:100;box-flex:100;-ms-flex-positive:100;-webkit-flex-grow:100;flex-grow:100;background:transparent;border:none;color:rgba(0,0,0,0.87);display:block;font-size:13px;height:18px;line-height:18px;outline:none;vertical-align:top}.waffle-material-labeledinput-label{transition:transform 0.2s cubic-bezier(0.4,0.0,1,1);bottom:6px;color:rgba(0,0,0,0.54);font-size:13px;position:absolute;transform-origin:left bottom;width:100%}.waffle-material-labeledinput-errorcontainer{font-size:11px;height:11px;line-height:11px;margin-top:3px;text-align:right}.waffle-material-labeledinput-underline{background:rgba(0,0,0,.42);bottom:3px;height:1px;padding:0;position:absolute;width:100%}.waffle-material-labeledinput-accentunderline{transition:transform 0.2s cubic-bezier(0.4,0.0,1,1);background:#4285f4;bottom:2px;height:2px;padding:0;position:absolute;transform:scaleX(.6);visibility:hidden;width:100%}.waffle-material-labeledinput.waffle-material-labeledinput-focus .waffle-material-labeledinput-accentunderline{transform:scaleX(1);visibility:visible}.waffle-material-labeledinput.waffle-material-labeledinput-focus .waffle-material-labeledinput-label{color:#4285f4}.waffle-material-labeledinput.waffle-material-labeledinput-float .waffle-material-labeledinput-label{transform:translateY(-21px) scale(.846,.846)}.waffle-material-labeledinput.waffle-material-labeledinput-error .waffle-material-labeledinput-accentunderline{background:#db4437;transform:scaleX(1);visibility:visible}.waffle-material-labeledinput.waffle-material-labeledinput-error .waffle-material-labeledinput-label,.waffle-material-labeledinput-errormessage{color:#db4437}.waffle-material-labeledinput-embedded-control{position:relative}.waffle-material-selectioninput .waffle-range-selection-container{border:none;color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:33px;line-height:33px;outline:none;padding:0;position:relative;width:100%}.waffle-material-selectioninput .waffle-range-selection-container:after{background-color:rgba(0,0,0,0.12);content:'';height:1px;left:0;position:absolute;top:100%;transition:background-color 0.3s ease;width:100%}.waffle-material-selectioninput:hover .waffle-range-selection-container:after{background-color:rgba(0,0,0,0.38)}.waffle-material-selectioninput .waffle-range-selection-container-focus.waffle-range-selection-container:after{background-color:#4285f4;height:2px}.waffle-material-selectioninput .waffle-range-selection-container.waffle-range-selection-container-focus{box-shadow:none;outline:none}.waffle-material-selectioninput .waffle-range-selection-input,.waffle-material-selectioninput .waffle-range-selection-container-focus .waffle-range-selection-input{padding:0!important}.waffle-material-toolbar-menu-button{color:rgba(0,0,0,0.87);cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:26px;line-height:26px;margin:4px;outline:0}.waffle-material-toolbar-menu-button-disabled{color:rgba(0,0,0,0.12);cursor:default}.waffle-material-toolbar-menu-button-outer-box{border-radius:2px;height:26px;line-height:26px}.waffle-material-toolbar-menu-button-inner-box{height:100%;opacity:.54;width:100%}.waffle-material-toolbar-menu-button-inner-box svg{height:18px;margin:4px 0 4px 4px;width:18px}.waffle-material-toolbar-menu-button-dropdown svg{margin-left:0}.waffle-material-toolbar-menu-button-caption,.waffle-material-toolbar-menu-button-dropdown{display:inline-block;height:26px;line-height:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-material-toolbar-menu-button-hover .waffle-material-toolbar-menu-button-outer-box,.waffle-material-toolbar-menu-button-focused .waffle-material-toolbar-menu-button-outer-box{background-color:rgba(0,0,0,.06)}.waffle-material-toolbar-menu-button-active .waffle-material-toolbar-menu-button-outer-box{background-color:rgba(0,0,0,.12)}.waffle-material-toolbar-menu-button-hover .waffle-material-toolbar-menu-button-inner-box,.waffle-material-toolbar-menu-button-focused .waffle-material-toolbar-menu-button-inner-box,.waffle-material-toolbar-menu-button-active .waffle-material-toolbar-menu-button-inner-box{opacity:0.87}.jfk-bubble.jfk-bubble-promo.waffle-promo-bubble{box-shadow:0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12),0px 1px 8px 0px rgba(0,0,0,0.2);background:#eeeeee;border:none;color:rgba(0,0,0,0.87);font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;max-width:265px;padding:18px 30px}.jfk-bubble.jfk-bubble-promo.waffle-promo-bubble .jfk-bubble-arrowimplbefore{border-color:transparent #eeeeee}.jfk-bubble.jfk-bubble-promo.waffle-promo-bubble .jfk-bubble-arrowimplafter{border-color:transparent #eeeeee}.waffle-promo-bubble-icon{background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzAwMDAwMCI+PHBhdGggZD0iTTIzIDEybC0yLjQ0LTIuNzguMzQtMy42OC0zLjYxLS44Mi0xLjg5LTMuMThMMTIgMyA4LjYgMS41NCA2LjcxIDQuNzJsLTMuNjEuODEuMzQgMy42OEwxIDEybDIuNDQgMi43OC0uMzQgMy42OSAzLjYxLjgyIDEuODkgMy4xOEwxMiAyMWwzLjQgMS40NiAxLjg5LTMuMTggMy42MS0uODItLjM0LTMuNjhMMjMgMTJ6bS0xMCA1aC0ydi0yaDJ2MnptMC00aC0yVjdoMnY2eiIvPjwvc3ZnPg==');display:inline-block;height:24px;margin-right:8px;position:relative;top:6px;width:24px}.waffle-promo-bubble-header{display:inline-block;font-size:18px;font-weight:500;line-height:14px}.waffle-promo-bubble-description{font-size:14px;line-height:22px}.waffle-promo-bubble-content .jfk-button{transition:color 200ms cubic-bezier(0.4,0.0,0.2,1);cursor:pointer;font-size:14px;letter-spacing:0.04em;padding-right:15px;padding-top:5px;text-transform:uppercase}.jfk-button.waffle-promo-bubble-close{color:rgba(0,0,0,0.54)}.jfk-button-hover.waffle-promo-bubble-close{color:rgba(0,0,0,0.87)}.jfk-button.waffle-promo-bubble-continue{color:rgba(66,133,244,0.87);font-weight:500}.jfk-button-hover.waffle-promo-bubble-continue{color:rgba(66,133,244,1)}.docs-colormenuitems .goog-menuitem.goog-inline-block.waffle-colormenuitems-scheme-header-edit-button{border-radius:4px;border-width:1px 0;height:22px;margin-left:4px;padding:0;width:24px}.goog-menuitem.goog-inline-block.waffle-colormenuitems-scheme-header-edit-button.goog-menuitem-highlight{border-width:0}.waffle-ui-floating-toast{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;bottom:60px;color:rgba(255,255,255,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;left:15px;line-height:20px;padding:14px 24px}.waffle-ui-floating-toast-action{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);color:#a1c2fa;font-weight:400;opacity:0.87;text-transform:uppercase}.waffle-ui-floating-toast-action:hover{opacity:1}.waffle-function-filtered-menu .goog-menu-filter{display:flex;border-bottom:1px solid #dadce0;padding:4px 4px 10px 7px}.waffle-function-filtered-menu .goog-menu-filter:before{content:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzc1NzU3NSI+CiAgICA8cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiLz4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KPC9zdmc+Cg==');height:24px;margin-right:7px;transform:scale(0.75);width:24px}.waffle-function-filtered-menu .goog-menu-filter input{border:0;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:24px;min-width:0;outline:0;padding:0}.waffle-function-filtered-menu-item{border-bottom:1px solid #dadce0;padding:10px 10px 10px 15px}.waffle-function-filtered-menu-item:hover,.waffle-function-filtered-menu-item.goog-menuitem-highlight{border-top-width:0}.waffle-function-filtered-menu-item .waffle-filterable-by-text-contains-menu-item-label{color:#3c4043;display:block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500}.waffle-function-filtered-menu-item .waffle-function-filtered-menu-item-description{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400}.waffle-function-filtered-menu-item .waffle-filterable-by-text-contains-menu-item-match{font-weight:700}.waffle-function-filtered-menu-item .waffle-function-filtered-menu-item-description-match{font-weight:500}.waffle-function-filtered-menu::-webkit-scrollbar-thumb{min-height:70px}.waffle-insert-function-row>.goog-menuitem-content{min-width:125px}.waffle-function-category-row{background:#fff;color:#333;cursor:pointer;font-size:13px;font-weight:normal;margin:0;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap;width:250px}.waffle-function-category-row-name,.waffle-function-category-row-description{-ms-flex:1;-webkit-flex:1;flex:1;max-width:95%}.waffle-function-category-row-name{overflow:hidden;text-overflow:ellipsis}.waffle-function-category-row-description{color:#666;display:none;font-size:11px;overflow:hidden;padding:2px 0;text-overflow:ellipsis;white-space:nowrap}.waffle-function-category-active .waffle-function-category-row-description{display:block}.waffle-function-category-active{background:#eee;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:1px 10px}.waffle-info-icon-bubble{border-radius:8px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);font-size:12px;max-width:200px}.waffle-ui-input-with-edit-button-container{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0;align-items:center;background:#fff;display:flex;height:24px;margin:0;min-width:20px;padding:1px;width:100%}.waffle-ui-input-with-edit-button-input,.waffle-ui-input-with-edit-button-input:focus{background:transparent;border:none;box-shadow:none;box-sizing:border-box;color:#3c4043;font-size:12px;padding:4px 0 4px 8px;text-overflow:ellipsis;width:calc(100% - 24px)}.waffle-ui-input-with-edit-button-button-container{overflow:hidden;padding:0;text-align:right;width:24px}.waffle-ui-input-with-edit-button-button:hover,.waffle-ui-input-with-edit-button-button:focus{opacity:0.9}.waffle-ui-input-with-edit-button-container.waffle-ui-input-with-edit-button-container-focus{padding:0}.waffle-input-with-edit-button-button-container{box-sizing:border-box;height:24px;padding:2px;width:24px}.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button,.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button:hover,.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button:focus,.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button:hover:focus,.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button:active,.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button{box-shadow:none;cursor:pointer;height:20px;line-height:20px;min-width:20px;padding:0;white-space:nowrap;width:20px}.waffle-ui-input-with-edit-button-container .waffle-ui-input-with-edit-button-button .jfk-button{height:20px;line-height:20px;margin:0;min-width:20px;opacity:.70;width:20px}.waffle-ui-input-with-edit-button-button .waffle-dataconnector-edit-outline-icon{height:20px;width:20px}.waffle-legacy-mnemonics-toast{background-color:#323232;border-radius:2px;bottom:70px;box-shadow:2px 2px 10px 0 rgba(0,0,0,0.4);color:white;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:15px;left:60px;padding:17px 24px;position:absolute}.waffle-legacy-mnemonics-toast-container{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-legacy-mnemonics-toast-content{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.waffle-legacy-mnemonics-toast-text{font-weight:bold;padding-left:4px}.waffle-legacy-mnemonics-toast-cancel{color:#1a73e8;cursor:pointer;font-weight:bold;padding-left:35px;text-transform:uppercase}.waffle-progress-bar.progress-bar-horizontal{background:#c6dafc;height:100%}.waffle-progress-bar>.progress-bar-thumb{background:#4285f4;height:100%}.waffle-indeterminate-progress-bar>.progress-bar-thumb{-webkit-animation:waffle-indeterminate-progress-bar-animation 2s linear infinite;-moz-animation:waffle-indeterminate-progress-bar-animation 2s linear infinite;-o-animation:waffle-indeterminate-progress-bar-animation 2s linear infinite;animation:waffle-indeterminate-progress-bar-animation 2s linear infinite;position:relative;transition:width .2s cubic-bezier(.4,0,.2,1)}@keyframes waffle-indeterminate-progress-bar-animation{0%{left:0%;width:0}50%{left:25%;width:75%}75%{left:100%;width:0%}}.waffle-printing-select-list{background-color:#fafafa;box-shadow:0 0 8px 0 rgba(0,0,0,0.12),0 8px 8px 0 rgba(0,0,0,0.24);border-radius:0 2px 2px 0 2px 2px;left:0;overflow-y:auto;padding:18px 32px;position:absolute;top:0;width:204px;z-index:1003}.waffle-printing-select-list>div{outline:none}.waffle-printing-select-list-checkboxes{margin-bottom:10px}.waffle-printing-select-list-checkboxes .waffle-printing-checkbox-label{line-height:28px;margin-left:12px}.waffle-printing-select-list-cancel{margin-left:0}.goog-menu.waffle-sidebar-draglist-menu{border:none;border-radius:none;box-shadow:none;height:calc(100% - 13px);padding-bottom:12px;padding-top:0;width:160px;z-index:0}.goog-menu.waffle-sidebar-draglist-menu .goog-menu-filter::before{margin-left:2px;margin-right:1px;transform:scale(0.75)}.goog-menu.waffle-sidebar-draglist-menu .goog-menu-filter{padding-bottom:8px;padding-top:8px}.goog-menu.waffle-sidebar-draglist-menu .goog-menu-filter input{line-height:18px}.goog-menu.waffle-sidebar-draglist-menu .goog-menu-content{margin-top:8px;width:100%}.goog-menu.waffle-sidebar-draglist-menu .goog-menuitem{box-sizing:border-box;border-radius:16px;cursor:move;margin:0 4px;overflow:hidden;padding-left:8px;padding-right:8px;margin-bottom:2px;max-width:160px}.waffle-sidebar-draglist-menu .goog-menuitem-highlight{background:#f8f9fa;border-radius:16px;box-shadow:0 1px 2px 0px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}.goog-menu.waffle-sidebar-draglist-menu .goog-menuitem-content,.goog-menu.waffle-sidebar-draglist-menu .goog-menuitem-content span{-ms-flex:1;-webkit-flex:1;flex:1;color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goog-menu.waffle-sidebar-draglist-menu .goog-menuitem-content>div{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.goog-menu.waffle-sidebar-draglist-menu .goog-menuitem-icon{margin:0 8px 0 0;position:relative;top:0}.waffle-column-error-button{background:white;border:none;border-radius:2px;box-shadow:0 -1px 5px rgba(128,134,139,0.09),0 3px 5px rgba(128,134,139,0.06),0 1px 2px rgba(60,64,67,0.3),0 1px 3px rgba(60,64,67,0.15);box-sizing:border-box;cursor:pointer;list-style:none;outline:none;overflow:hidden;padding:0;position:absolute;z-index:7}.waffle-column-error-button .waffle-view-icons-error-filled{height:100%;transform:scale(.9);width:100%;z-index:2}.waffle-column-error-button-shim{border-radius:50%;background-color:#fff;height:100%;position:absolute;transform:scale(.5);width:100%}.waffle-column-error-button-ripple{border-radius:50%;background-color:#d93025;height:100%;position:absolute;transform:scale(.5);transition:transform 0.5s;width:100%}.waffle-column-error-button-hover{box-shadow:0 4px 8px 3px rgba(60,64,67,.15)}.waffle-column-error-button-hover>.waffle-column-error-button-ripple{transform:scale(1.5)}.waffle-column-error-button-active>.waffle-column-error-button-ripple{background-color:#c5221f}.waffle-column-error-button-active>.waffle-column-error-button-icon{fill:#c5221f}.docs-charts-component:focus{outline:none}.docs-charts-component-canvas{direction:ltr}.docs-charts-tooltip{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background-color:#ffffff;border:1px solid #c1c1c1;border-radius:2px;color:rgba(0,0,0,0.87);cursor:default;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;padding:3px 12px;pointer-events:none;position:absolute}.docs-charts-tooltip-label,.docs-charts-tooltip-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-charts-tooltip-entry{margin-bottom:3px;margin-top:3px}.docs-charts-tooltip-symbol-value{white-space:nowrap}.docs-charts-tooltip-entry .docs-charts-tooltip-label{color:rgba(0,0,0,0.54)}.docs-charts-tooltip-entry .docs-charts-tooltip-symbol{margin-right:6px}.docs-charts-tooltip-entry .docs-charts-tooltip-symbol .docs-charts-tooltip-symbol-icon{height:12px;stroke:rgba(0,0,0,0.54);stroke-width:1px;width:12px}.docs-charts-tooltip-entry-single .docs-charts-tooltip-label{margin-bottom:3px}.docs-charts-tooltip-entry-single .docs-charts-tooltip-value{font-size:1.1em;font-weight:700}.docs-charts-tooltip-entry-domain .docs-charts-tooltip-value{color:rgba(0,0,0,0.54)}.docs-charts-tooltip-entry-range .docs-charts-tooltip-value{font-weight:700}.docs-charts-tooltip-entry-range .docs-charts-tooltip-symbol .docs-charts-tooltip-symbol-icon{margin-bottom:-1px}.prof-feedback-bank-xframe-docos-autocomplete-row{box-sizing:border-box;padding:8px 4px;word-wrap:break-word}.docs-ml-icon{direction:ltr;display:inline-block;text-align:left;overflow:hidden;position:relative;vertical-align:middle}.docs-ml-img:before{content:url("//ssl.gstatic.com/docs/common/mobileweb_sprite1.png")}.docs-ml-img-container{height:156px;position:absolute;width:36px}.docs-ml-docs-logo-icon{left:0;top:-36px}.docs-ml-sheets-logo-icon{left:0;top:0}.docs-ml-slides-logo-icon{left:0;top:-96px}.docs-ml-arrow-back-icon{left:0;top:-132px}.docs-ml-edit-icon{left:0;top:-72px}@media screen and (-webkit-min-device-pixel-ratio:2.0){.docs-ml-img{content:url(//ssl.gstatic.com/docs/common/mobileweb_sprite1.png)}.docs-ml-img-container{height:156px;position:absolute;width:36px}.docs-ml-docs-logo-icon{left:0;top:-36px}.docs-ml-sheets-logo-icon{left:0;top:0}.docs-ml-slides-logo-icon{left:0;top:-96px}.docs-ml-arrow-back-icon{left:0;top:-132px}.docs-ml-edit-icon{left:0;top:-72px}}.docs-ml-header{background:#fafafa;border-bottom:1px solid #cbcbcb;box-shadow:0 1px 1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;padding:4px 0;position:fixed;left:0;top:0;width:100%}.docs-ml-header-icon{height:24px;opacity:0.6;width:24px}.docs-ml-header-icon-container{padding:12px}.docs-ml-header-item{display:inline-block;vertical-align:middle}.docs-ml-header-drive-link{padding-left:4px}body[dir="rtl"] .docs-ml-arrow-back-dir{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.docs-ml-header-document-title{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:24px;padding:0 12px;width:60%;width:calc(100% - 104px)}.docs-ml-header-document-title-text{font-size:20px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-ml-header-edit-button{float:right;padding-right:4px}.docs-ml-promotion{background:white;bottom:0;box-shadow:0 4px 12px rgba(0,0,0,0.4);font-family:Arial,Helvetica,sans-serif;left:0;position:fixed;width:100%}.docs-ml-promotion-off-screen{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);-o-transform:translateY(100%);transform:translateY(100%)}.docs-ml-promotion-shown{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform 333ms cubic-bezier(0.4,0.0,0.2,1);transition:transform 333ms cubic-bezier(0.4,0.0,0.2,1)}.docs-ml-promotion-dismissed{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);-o-transform:translateY(100%);transform:translateY(100%);box-shadow:none}.docs-ml-promotion-no-horizontal-scroll{overflow-x:hidden}.docs-ml-promotion-header{display:table;padding:24px 24px 0 24px}.docs-ml-promotion-app-icon-container{display:table-cell}.docs-ml-promotion-app-icon{height:36px;width:36px}@media (min-width:600px){.docs-ml-promotion-app-icon{-webkit-transform:scale(1.33);-moz-transform:scale(1.33);-ms-transform:scale(1.33);-o-transform:scale(1.33);transform:scale(1.33)}}.docs-ml-promotion-text{display:table-cell;padding-left:20px;vertical-align:top}.docs-ml-promotion-text-heading{color:rgba(0,0,0,0.87);font-size:16px;font-weight:bold;padding-bottom:7px}.docs-ml-promotion-text-body{color:rgba(0,0,0,0.87);font-size:14px}.docs-ml-promotion-action-row{float:right;margin-top:6px;padding:8px 24px}.docs-ml-promotion-action-row-desktop{margin-top:6px}.docs-ml-promotion-action-container{display:inline-block;height:48px;margin:6px 4px;vertical-align:middle}.docs-ml-promotion-action-button{display:inline-block;font-size:14px;font-weight:500;padding:9px 12px;vertical-align:middle}.docs-ml-promotion-action-button-wrapper:focus{outline-color:#d6d6d6}.docs-ml-promotion-action-button.docs-ml-promotion-yes-button{background-color:#4285f4;border-radius:4px;color:#fafafa;border:1px solid transparent}.docs-ml-promotion-action-button.docs-ml-promotion-yes-button:active{background-color:#1967d2}.docs-ml-promotion-action-button.docs-ml-promotion-no-button{background-color:#fafafa;color:#5f6368;border-radius:4px;border:1px solid #dadce0}.docs-ml-promotion-action-button.docs-ml-promotion-no-button:active{background-color:#f5f5f5}.docs-ml-promotion.desktop{text-align:center}@media (orientation:portrait){.docs-ml-promotion.desktop{padding-top:56px;padding-bottom:80px}}@media (orientation:landscape){.docs-ml-promotion.desktop{padding-top:36px;padding-bottom:56px}}.docs-ml-promotion-heading-desktop{font-family:'Google Sans';font-size:18px;font-weight:bold;color:#202124;padding-top:18px;padding-bottom:10px;line-height:1.5;max-width:360px;margin:0px auto}@media (orientation:landscape){.docs-ml-promotion-heading-desktop{padding-top:0px;max-width:none}}.docs-ml-promotion-text-body-desktop{font-size:14px;line-height:1.5;color:#5f6368;padding-bottom:10px}.docs-icon.docs-ml-promotion-desktop-icon{height:40px;width:40px;-webkit-transform:scale(2.5);-moz-transform:scale(2.5);-ms-transform:scale(2.5);-o-transform:scale(2.5);transform:scale(2.5);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;-o-transform-origin:top;transform-origin:top}.docs-icon-ml-promotion-icon-container-desktop{height:100px;width:100px;margin-left:auto;margin-right:auto}@media (orientation:landscape){.docs-icon-ml-promotion-icon-container-desktop{display:inline-block;vertical-align:top}.docs-ml-promotion-description-desktop{display:inline-block;vertical-align:top;text-align:left;padding-left:39px;max-width:645px}}@media (orientation:landscape){.docs-ml-promotion-action-row-desktop{margin-left:-8px}}.docs-ml-promotion-action-row-desktop .docs-ml-promotion-action-container{margin:6px 8px;font-family:'Google Sans'}.docs-ml-promotion-action-row-desktop .docs-ml-promotion-action-button-wrapper:focus{outline:none}.docs-ml-promotion-action-button.docs-ml-promotion-yes-button.docs-ml-promotion-app-themed{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.docs-ml-promotion-action-button.docs-ml-promotion-yes-button.docs-ml-promotion-app-themed:active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.docs-ml-promotion-action-button.docs-ml-promotion-no-button.docs-ml-promotion-app-themed{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038}.docs-ml-promotion-action-button-wrapper:focus .docs-ml-promotion-action-button.docs-ml-promotion-yes-button.docs-ml-promotion-app-themed{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.docs-ml-promotion-action-button-wrapper:focus .docs-ml-promotion-action-button.docs-ml-promotion-no-button.docs-ml-promotion-app-themed{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.docs-ml-promotion{z-index:1002}.docs-ml-header{z-index:1002}.ess-button{cursor:pointer;display:inline-block}.ess-disabled-button{opacity:0.25;filter:alpha(opacity=25);display:inline-block}.ess-button,.ess-disabled-button{margin:6px;vertical-align:middle}.ess-icon{width:32px;height:32px;background-image:url(//ssl.gstatic.com/docs/documents/share/images/ess-icons-4.png);background-repeat:no-repeat}.ess-gplus-icon{background-position:0 0}.ess-gmail-icon{background-position:-34px 0}.ess-facebook-icon{background-position:-68px 0}.ess-twitter-icon{background-position:-102px 0}.scope-icon-default-group{background-repeat:no-repeat;background-position:0 -24px}.scope-icon-default-user{background-repeat:no-repeat;background-position:0 -342px}.scope-icon-default{display:inline-block}.scope-icon-default{width:21px;height:21px;opacity:0.55;filter:alpha(opacity=55);margin-top:4px;margin-left:4px}.scope-icon-holder{display:inline-block}.scope-icon-holder{background-color:#f5f5f5;height:29px;width:29px;vertical-align:middle}.scope-icon-invite-holder{background-color:#fff}.scope-icon-custom{width:29px;height:29px;vertical-align:middle}.scope-icon-disabled{opacity:0.25;filter:alpha(opacity=25)}.scope-icon-unused-invite{background-position:0 -770px}.scope-icon-used-invite{background-position:0 -417px}.scope-icon-unused-invite,.scope-icon-used-invite{width:29px;height:29px;vertical-align:middle;margin-top:0px;margin-left:0px;background-repeat:no-repeat;opacity:1;filter:alpha(opacity=100)}.vo-public-icon,.vo-unlisted-icon,.vo-domain-public-icon,.vo-domain-unlisted-icon,.vo-privately-shared-icon,.vo-private-icon{width:21px;height:21px;background-repeat:no-repeat;margin-right:4px;vertical-align:bottom}.vo-public-icon{background-position:0 -671px}.vo-unlisted-icon{background-position:0 -294px}.vo-domain-public-icon{background-position:0 -850px}.vo-domain-unlisted-icon{background-position:0 -551px}.vo-privately-shared-icon{background-position:0 -72px}.vo-private-icon{background-position:0 -575px}.waffle-filterbox-content{border:none;height:130px;margin:0px 4px;overflow-y:auto}.waffle-filterbox-content>.goog-menuitem-content{font-size:12px}.waffle-filterbox-content>.goog-menuitem{padding:1px 7em 1px 26px}.waffle-filterbox-content>.goog-menuitem-highlight{border:0px;background-color:#d0d0d0}.waffle-filterbox-action-link,.waffle-filterbox-dash{color:#15c;text-decoration:none}.waffle-filterbox-action-link:hover{text-decoration:underline}.waffle-filterbox-input{margin-right:-23px;padding-right:23px;width:221px}.waffle-filterbox-input-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -205px -62px;display:inline-block;margin-top:2px;height:12px;width:12px}.waffle-filterbox-label{padding-left:6px}div.waffle-filterbox-label-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -283px -73px;float:right;height:16px;margin-left:18px;width:16px}.waffle-filterbox-label>div,.waffle-filterbox-label>a{display:inline;font-size:12px;margin-right:3px}.waffle-filterbox-menu-spinner{text-align:center}.waffle-filterbox-menu .goog-menu-filter input{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#fff;border:1px solid #dadce0!important;font-weight:normal}.waffle-filterbox-ok-button .goog-imageless-button-content{font-weight:500;padding:0 15px}.waffle-autofilter-border{border-color:#188038;line-height:0}.filtered-incelldropdown-button{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -791px -13px;cursor:pointer;list-style:none;outline:none}.filtered-incelldropdown-button-disabled{cursor:default;filter:alpha(opacity=30);opacity:0.3}.filtered-incelldropdown-button-hover,.filtered-incelldropdown-button-checked,.filtered-incelldropdown-button-focused{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -137px -46px}.waffle-autovis-lightbox{background-color:rgba(0,0,0,0.7);height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:100%;z-index:1000}.waffle-autovis-lightbox-container{height:100%;width:100%}.waffle-autovis-lightbox-chart{height:100%;width:100%}.waffle-autovis-lightbox-content{bottom:0;left:0;margin:auto;position:absolute;right:0;top:60px}.waffle-autovis-lightbox-content-inner{position:relative;white-space:nowrap}.waffle-autovis-lightbox-previous.jfk-button-disabled,.waffle-autovis-lightbox-next.jfk-button-disabled{color:grey;cursor:default}.waffle-autovis-lightbox-page-count{color:white;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;margin-top:35px;text-align:center;width:100%}.waffle-autovis-lightbox-button{background-color:transparent;background-image:none;border:0;color:white;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;margin:0;outline:0;padding:0}.waffle-autovis-lightbox-button:focus{border:none;padding:0}.waffle-autovis-lightbox-previous,.waffle-autovis-lightbox-next{bottom:0;color:white;cursor:pointer;height:50px;line-height:50px;margin:auto;position:absolute;text-align:center;top:0;width:50px}.waffle-autovis-lightbox-previous{margin-right:25px;right:100%}.waffle-autovis-lightbox-next{left:100%;margin-left:25px}.waffle-autovis-lightbox-readonly .waffle-autovis-lightbox-readonly-hidden{display:none}.waffle-autovis-lightbox-header{background-color:rgba(0,0,0,0.7);height:60px;width:100%}.waffle-autovis-lightbox-buttons-wrapper{color:white;font-weight:500;line-height:60px;margin-left:auto;margin-right:auto;text-align:center;width:100%}.waffle-autovis-lightbox-close{cursor:pointer;position:absolute;right:20px;top:19px}.goog-date-picker-wday,.goog-date-picker table tbody td{width:22px!important;height:17px;text-align:center;vertical-align:middle;padding:0}.goog-date-picker-btn{border:0;display:block;float:left;width:12px;cursor:pointer;font:9px Verdana;font-weight:500;text-align:center;margin:0;padding:0}* html .goog-date-picker table{margin-left:-1px}.goog-date-picker-menu{position:absolute;background:threedface;-moz-user-focus:normal;border-style:solid;border-width:1px}.goog-date-picker-menu ul{list-style:none;margin:0;padding:0}.goog-date-picker-menu ul li{float:none;cursor:default}.goog-date-picker,.goog-date-picker-wday{background-color:#d9e6f7}.goog-date-picker-btn{background-color:transparent;color:#069}.goog-date-picker-wkend-start,.goog-date-picker-wkend-end{background-color:#e8eef7}#goog-dp-0,#goog-dp-1,#goog-dp-2,#goog-dp-3,#goog-dp-4,#goog-dp-5,#goog-dp-6{border-top:1px solid #a2bbdd}#goog-dp-0,#goog-dp-7,#goog-dp-14,#goog-dp-21,#goog-dp-28,#goog-dp-35{border-left:1px solid #a2bbdd}#goog-dp-6,#goog-dp-13,#goog-dp-20,#goog-dp-27,#goog-dp-34,#goog-dp-41{border-right:1px solid #fff}.waffle-date-picker,.waffle-date-picker *{box-sizing:border-box;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400}.waffle-date-picker{position:absolute;width:188px;z-index:1000}.goog-date-picker{-moz-user-focus:normal;-moz-user-select:none;background-color:#fff;border:1px solid #dadce0;border-radius:4px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);outline:none;padding:0 10px 8px 10px;position:relative;user-select:none;width:188px}.goog-date-picker table{empty-cells:hide;outline:none;width:100%}.goog-date-picker table,.goog-date-picker-head td{background-color:transparent}.goog-date-picker table tbody tr th:first-of-type{display:none}.goog-date-picker table tbody:focus{outline:none;background-color:#e6f4ea}.goog-date-picker-head{color:#80868b;font-size:11px;height:40px}.goog-date-picker-monthyear{letter-spacing:0.2px;padding-left:7px;text-align:left;width:63px}.goog-date-picker-button{border:0;border-radius:50%;cursor:pointer;display:block;font-size:10px;height:20px;left:2px;line-height:20px;margin:0 auto;padding-left:0;position:relative;text-align:center;width:20px;background-color:rgba(0,0,0,0);transition:background-color 100ms linear}.goog-date-picker-button:hover{background-color:#f1f3f4;transition:background-color 100ms linear}.goog-date-picker-button:focus{outline:none}.goog-date-picker-button:active{background-color:#dadce0;transition:background-color 100ms linear}.goog-date-picker-nextMonth,.goog-date-picker-previousMonth{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgPHBhdGggZmlsbD0iIzc1NzU3NSIgZD0iTS43MjY2NjY2NyA3LjA2TDMuNzggNCAuNzI2NjY2NjcuOTRsLjk0LS45NEw1LjY2NjY2NjcgNCAxLjY2NjY2NjY3IDh6Ii8+CiAgICAgIDxwYXRoIGQ9Ik0tNS00aDE2djE2SC01eiIvPgogICAgPC9nPgogIDwvc3ZnPg==") center no-repeat}[dir="rtl"] .goog-date-picker-nextMonth{transform:rotate(180deg)}.goog-date-picker-previousMonth{transform:rotate(180deg)}[dir="rtl"] .goog-date-picker-previousMonth{transform:rotate(0deg)}.goog-date-picker-foot{display:none}.goog-date-picker-wday,.goog-date-picker .goog-date-picker-date{font-size:10px;font-weight:400;height:20px;line-height:20px;margin:auto;position:relative;text-align:center;width:24px}.goog-date-picker-wday{background-color:transparent;color:#80868b}.goog-date-picker-date{color:#202124;cursor:pointer;background-color:transparent;z-index:1}.goog-date-picker-date:focus{outline:none}.goog-date-picker-date::before{border-radius:50%;content:"";display:block;height:20px;left:2px;position:absolute;top:0;width:20px;z-index:-1;background-color:rgba(0,0,0,0);transition:background-color 100ms linear}.goog-date-picker-date::after{content:"";display:block;height:20px;left:0;position:absolute;top:0;width:24px;z-index:2}.goog-date-picker-date:hover::before{background-color:#dadce0;transition:background-color 100ms linear}.goog-date-picker-other-month{color:#80868b}.goog-date-picker-other-month:hover::before{background-color:#f1f3f4;transition:background-color 100ms linear}.goog-date-picker-selected{background-color:transparent!important;color:#fff!important;font-weight:400!important}.goog-date-picker-selected,.goog-date-picker-selected:hover{color:#fff}.goog-date-picker-selected::before,.goog-date-picker-selected:hover::before{background-color:#188038;transition:background-color 100ms linear}.docs-ui-toast{bottom:74px}.docs-butterbar-container{z-index:1003}.waffle-ellipses{display:inline-block;height:12px;position:relative;width:25px}.waffle-ellipses-message-container{height:0;overflow:hidden;position:absolute;width:0}.waffle-ellipses-container{height:100%;overflow:hidden;width:100%}.waffle-ellipses-sprite{display:block;position:relative}.waffle-ellipses.waffle-ellipses-active svg.waffle-ellipses-sprite{-webkit-animation:waffle-ellipses-sprite-cycle 1000ms steps(5) infinite reverse;-moz-animation:waffle-ellipses-sprite-cycle 1000ms steps(5) infinite reverse;-o-animation:waffle-ellipses-sprite-cycle 1000ms steps(5) infinite reverse;animation:waffle-ellipses-sprite-cycle 1000ms steps(5) infinite reverse}@keyframes waffle-ellipses-sprite-cycle{from{left:0}to{left:-125px}}.waffle-filter-menu{max-height:400px;overflow:auto}.waffle-filter-bar{display:flex;color:#fff;margin-left:35px;height:30px}.waffle-filter-bar-header{font-weight:500;margin-left:10px}.waffle-filter-bar-name-label,.waffle-filter-bar-range-label{padding:7px 0}.waffle-filter-bar-name-input,.waffle-filter-bar-range-input{background-color:transparent;border:1px solid transparent;box-shadow:none;color:#fff;height:19px;margin-top:2.5px}.waffle-filter-bar-name-input:hover,.waffle-filter-bar-range-input:hover{background-color:#6b6b6b}.waffle-filter-bar-name-input:focus,.waffle-filter-bar-range-input:focus{background:#fff;border:1px solid #4d90fe;color:black}.waffle-filter-bar-range-readonly,.waffle-filter-bar-name-readonly{border:1px dotted transparent;margin:0 3px 0 6px;outline:none;overflow:hidden;padding:6px 4px;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.waffle-filter-bar-range-readonly:focus,.waffle-filter-bar-name-readonly:focus{border-color:#ccc}.waffle-filter-bar-options{margin-top:4px}.waffle-filter-bar-close{margin-top:4px}.waffle-filter-bar .goog-flat-button{background-color:transparent;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;outline:none}.waffle-filter-bar .goog-flat-button:focus,.waffle-filter-bar .goog-flat-button:hover{background-color:#5f6368}.waffle-filter-bar .goog-flat-button.goog-flat-button-open,.waffle-filter-bar .goog-flat-button:active{background-color:#202124}.waffle-slidingdialog-filterbar{background-color:#3c4043;border-bottom:1px solid black;border-left:none;border-right:none;border-top:1px solid black;padding:4px 12px}.waffle-filter-bar-name-inputbox{display:inline}.waffle-filter-bar-name-inputbox,.waffle-filter-bar-name-readonly{width:175px}.waffle-filter-bar-promo-container{display:inline;margin-left:32px;margin-top:30px;position:absolute}.waffle-filter-bar-align-right{float:right}.waffle-filter-bar-promo{font-size:11px;width:200px}.waffle-filter-bar-range-filter-pills-container{display:flex;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 10px;overflow-y:scroll}.waffle-filter-bar-add-range-filter-button{-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;color:white;margin-top:5px;white-space:nowrap}.waffle-filter-bar-rangepill{-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;background-color:white;margin-right:5px;margin-top:2.5px;min-width:100px;height:25px}.waffle-filter-bar-rangepill-range{background-color:transparent;color:black;margin-left:10px;min-width:60px;padding:5px 0}.waffle-filter-bar .waffle-filter-bar-rangepill .waffle-filter-bar-rangepill-close:focus,.waffle-filter-bar .waffle-filter-bar-rangepill .waffle-filter-bar-rangepill-close:hover{background:transparent}.waffle-filter-bar-rangepill-close{margin:0}.waffle-filter-bar-range-pill-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:25px}.waffle-filter-bar-range-section,.waffle-filter-bar-range-section-container{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;overflow:hidden}.waffle-filter-bar-range-section-space-eater{-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.waffle-slidingdialog-formbar{background-color:#424242;border-left:none;border-right:none;padding:4px 16px 4px 55px}.waffle-form-bar{color:#fff;height:30px}.waffle-form-bar-forms-icon{position:relative;top:5px}.waffle-form-bar-forms-text{font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;margin-left:16px;padding:7px 0}.waffle-form-bar-right-all-buttons{float:right}.waffle-form-bar-right-all-buttons button{background-color:transparent;border-radius:2px;border:0;color:white;cursor:pointer;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;margin-right:8px;min-width:88px;padding:3px 8px;position:relative;text-transform:uppercase;top:-7px}.waffle-form-bar-right-all-buttons button.goog-button-disabled{color:rgba(255,255,255,0.3);cursor:default}.waffle-form-bar-more-options{margin-left:8px;margin-top:4px}.waffle-form-bar .goog-flat-button{background-color:transparent;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;outline:none}.waffle-form-bar .goog-flat-button:focus,.waffle-form-bar .goog-flat-button-hover,.waffle-form-bar-right-all-buttons button:focus,.waffle-form-bar-right-all-buttons button:hover{background-color:rgba(204,204,204,0.15);outline-width:0}.waffle-form-bar .goog-flat-button.goog-flat-button-open,.waffle-form-bar .goog-flat-button:active,.waffle-form-bar-right-all-buttons button:active{background-color:rgba(204,204,204,0.25);outline-width:0}.waffle-arguments-help-popup{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background-color:white;border:1px solid rgba(0,0,0,.2);box-shadow:0 1px 3px 1px rgba(60,64,67,.15);color:#222;font-size:11px;line-height:15px;position:absolute;width:calc(340px + 2*10px);word-wrap:break-word;z-index:1000}.waffle-arguments-help-title{-webkit-border-radius:4px 4px 0px 0px;-moz-border-radius:4px 4px 0px 0px;border-radius:4px 4px 0px 0px;display:flex;background-color:#f5f5f5;color:#3c4043;direction:ltr;line-height:16px;padding:8px 12px}.waffle-arguments-help-function-name{text-decoration:inherit}.waffle-arguments-help-body{border-top:1px solid #ebebeb}.waffle-arguments-help-content{padding-bottom:2px}.waffle-arguments-help-section{padding:5px 10px}.waffle-arguments-help-section-title{font-size:11px;color:#666;line-height:18px}.formulas-arguments-help-info-title .waffle-arguments-help-section-title{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:.8px;text-transform:uppercase}.formulas-arguments-help-info-title.waffle-arguments-help-section{padding:8px 12px 3px}.waffle-arguments-help-content .formulas-arguments-help-info-title.waffle-arguments-help-section{padding-bottom:12px;padding-top:4px}.waffle-arguments-parameter-help-section{padding:12px 0px}.waffle-arguments-parameter-help-section .waffle-arguments-help-section-title{color:#3c4043;font-family:'Roboto Mono','Consolas',monospace;font-size:13px;line-height:20px;transition:0.218s ease-in}.waffle-arguments-parameter-help-section .waffle-arguments-help-section-active .waffle-arguments-help-section-title{color:#188038;font-weight:bold}.waffle-arguments-parameter-help-section .waffle-arguments-help-section{padding:0 12px 4px}.waffle-arguments-parameter-help-section .waffle-arguments-help-section:last-of-type{padding-bottom:0}.waffle-arguments-help-parameter-content{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.waffle-arguments-help-section-inactive .waffle-arguments-help-parameter-content,.waffle-arguments-help-section.waffle-arguments-help-section-inactive .waffle-arguments-help-section-title{color:#80868b}.waffle-arguments-help-section-active .waffle-arguments-help-parameter-content,.formulas-arguments-help-info-title .waffle-arguments-help-parameter-content{color:#3c4043}.waffle-arguments-parameter-help-section .waffle-arguments-help-parameter-content{transition:0.218s ease-in}.waffle-arguments-help-formula{-ms-flex:1;-webkit-flex:1;flex:1;direction:ltr;font-family:'Roboto Mono','Consolas',monospace;font-size:13px;overflow:hidden;padding:0}.waffle-arguments-help-formula .waffle-arguments-parameter-holder{overflow-wrap:anywhere}.waffle-arguments-help-example-holder{line-height:13px;text-align:left}.waffle-arguments-help-footer{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;padding:0 12px 12px}.waffle-arguments-help-parameter{border-radius:4px;display:inline-block;padding-left:1px;transition:0.218s ease-in}.waffle-arguments-help-parameter-active{background-color:transparent;color:#188038;font-weight:bold}#waffle-arguments-help-learn-more{color:#15c;text-decoration:none}#waffle-arguments-help-learn-more:hover{text-decoration:underline}.waffle-arguments-help-send-feedback{color:#c53929;float:right;text-decoration:none}.waffle-arguments-help-send-feedback:hover,.waffle-arguments-help-send-feedback:focus{text-decoration:underline}.waffle-arguments-help-code{background-color:transparent;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-arguments-help-button-container{margin-right:0}.waffle-arguments-help-button{display:inline-block;margin:-4px;opacity:1;padding:0}.waffle-arguments-help-button:first-of-type{margin-right:8px}.waffle-arguments-help-button:hover{opacity:1}.waffle-arguments-help-button .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg)}.waffle-arguments-help-button-hover .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_dark.svg)}.waffle-arguments-help-arg-suggestions-title-container .waffle-arguments-help-button{opacity:1}.waffle-arguments-help-toggle-icon{transition:400ms ease-out;-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.waffle-arguments-help-toggle-icon-flipped{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.waffle-formula-help-button-hover-container{padding-left:1px;padding-top:1px}.waffle-formula-help-button-hover-container:hover,.waffle-arguments-help-button.waffle-arguments-help-button-focused{background-color:#dadce0;border-radius:50%;outline:none}.waffle-arguments-help-arg-suggestions-section{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;display:flex;background:#e6f4ea;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:10px;padding-bottom:14px;padding-right:12px}.waffle-arguments-help-arg-suggestions-v1-ui.waffle-arguments-help-arg-suggestions-section{background:#0f9d58;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-arguments-help-arg-suggestions-title-container{display:flex;color:#188038;font-size:13px}.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-title-container{color:#fff}.waffle-arguments-help-arg-suggestions-title{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:1;-webkit-flex:1;flex:1}.waffle-arguments-help-arg-suggestions-title-text{font-weight:500;text-transform:capitalize}.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-title-text{font-weight:700;text-transform:uppercase}.waffle-arguments-help-arg-suggestions-selection-message{font-size:12px;font-weight:400}.waffle-arguments-help-arg-suggestions-chips{margin-top:8px;margin-right:10px}.waffle-arguments-help-arg-suggestions-chips-container{-webkit-align-items:center;align-items:center;display:flex}.waffle-arguments-help-arg-suggestions-chip{box-shadow:0 1px 2px 0 rgba(60,64,67,0.30),0 1px 3px 1px rgba(60,64,67,0.15);background:#fff;border:1px solid transparent;border-radius:8px;color:#5f6368;cursor:pointer;font-size:13px;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:16px;line-height:16px;margin-right:8px;max-width:100px;overflow:hidden;padding:7px;text-overflow:ellipsis;white-space:nowrap}.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-chip{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);background:#fff;border-radius:4px;border:1px solid #e0e0e0;color:rgba(0,0,0,0.87);font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;min-width:60px;text-align:center}.waffle-arguments-help-arg-suggestions-v2-ui .waffle-arguments-help-arg-suggestions-chip.goog-button-hover,.waffle-arguments-help-arg-suggestions-v2-ui .waffle-arguments-help-arg-suggestions-chip.goog-button-focused{box-shadow:0 1px 1px 0 rgba(52,168,83,0.50),0 1px 3px 1px rgba(52,168,83,0.50);-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05);border:1px solid #1e8e3e;outline:none}.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-chip.goog-button-hover,.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-chip.goog-button-focused{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05);outline:none}.waffle-arguments-help-arg-suggestions-chip.waffle-suggested-arg-chip-selected{box-shadow:0 1px 1px 0 rgba(52,168,83,0.50),0 1px 3px 1px rgba(52,168,83,0.50);background:rgba(52,168,83,0.04);border:1px solid #1e8e3e;color:#1e8e3e}.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-chip.waffle-suggested-arg-chip-selected{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);background:#4285f4;border:1px solid #4285f4;font-weight:700;color:#fff}.waffle-arguments-help-arg-suggestions-chip-icon{display:inline-block;float:left;margin-right:7px;height:16px;width:16px}.waffle-arguments-help-arg-suggestions-v1-ui .waffle-arguments-help-arg-suggestions-chip-icon,.waffle-arguments-help-arg-suggestions-v2-ui-no-chip-icon .waffle-arguments-help-arg-suggestions-chip-icon{display:none}.waffle-arguments-help-arg-suggestions-chip-value{line-height:17px;margin-left:-1px}.waffle-formula-autocomplete-renderer .waffle-ac-active{background:#f5f5f5}.waffle-formula-autocomplete-renderer{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 3px 1px rgba(60,64,67,.15);width:calc(340px + 2*10px)}.waffle-function-autocomplete-row{text-overflow:ellipsis;width:340px}.waffle-function-autocomplete-row-name,.waffle-function-autocomplete-row-formula{-ms-flex:1;-webkit-flex:1;flex:1;color:#202124;direction:ltr;font-size:14px;font-family:Inconsolata,monospace,arial,sans,sans-serif;margin:-2px 0}.waffle-function-autocomplete-row-name{overflow:hidden;text-overflow:ellipsis}.waffle-formula-autocomplete-row-primary-content .waffle-function-autocomplete-row-formula{margin:0;overflow:hidden}.waffle-function-autocomplete-row-description{color:#5f6368;display:none;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-ac-active .waffle-function-autocomplete-row-description{display:block}.waffle-function-autocomplete-row-shortcut,.waffle-function-autocomplete-row-simplified-shortcut{color:#666;direction:ltr}.waffle-actionable-autocomplete-row,.waffle-contextual-formula-autocomplete-row,.waffle-named-range-autocomplete-row{-webkit-align-items:flex-start;align-items:flex-start;display:flex;cursor:pointer;direction:ltr}.waffle-ac-row.waffle-ac-actionable-row{padding:1px 10px}.waffle-ac-row.waffle-ac-named-range-row,.waffle-ac-row.waffle-ac-contextual-row{padding-top:1px}.waffle-ac-active.active.waffle-ac-row:first-of-type{border-top-left-radius:4px;border-top-right-radius:4px}.waffle-ac-active.active.waffle-ac-row:last-of-type{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.waffle-ac-actionable-row{border-bottom:1px solid rgba(0,0,0,0.12);border-top:1px solid rgba(0,0,0,0.12)}.waffle-function-autocomplete-row-icon-container,.waffle-named-range-autocomplete-row-icon-container{display:flex;margin-right:3px;width:25px}.waffle-ac-actionable-row .waffle-function-autocomplete-row-icon-container{opacity:0.4}.waffle-ac-contextual-row .waffle-function-autocomplete-row-icon-container{margin:1px 2px 2px 1px}.waffle-actionable-formula-autocomplete-row-content,.waffle-contextual-formula-autocomplete-row-content,.waffle-named-range-autocomplete-row-content{-ms-flex:1;-webkit-flex:1;flex:1;direction:ltr;padding-top:2px;white-space:normal;width:calc(340px - 25px)}.waffle-actionable-formula-autocomplete-row-content,.waffle-contextual-formula-autocomplete-row-content{word-wrap:break-word}.waffle-named-range-autocomplete-row-content{word-wrap:ellipsis}.waffle-formula-autocomplete-row-primary-content{-webkit-align-items:center;align-items:center;display:flex;direction:ltr}.waffle-contextual-formula-autocomplete-row .waffle-formula-autocomplete-row-primary-content{margin:-2px 0}.waffle-ac-close-autocomplete-row{border:none!important}.waffle-ac-close-autocomplete-row{cursor:default!important;background:rgba(0,0,0,0.15)}.waffle-close-autocomplete-row-content{-webkit-align-items:center;align-items:center;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;-ms-flex:1;-webkit-flex:1;flex:1}.waffle-close-autocomplete-row-close-button{cursor:pointer;opacity:0.3}.waffle-close-autocomplete-row-close-button:hover,.waffle-close-autocomplete-row-close-button:focus{opacity:0.5}.waffle-close-autocomplete-row-message{-ms-flex:1;-webkit-flex:1;flex:1;color:#000;font-weight:500;overflow:hidden;overflow-wrap:break-word;white-space:normal}.waffle-arguments-help-popup hr{background-color:#dadce0;border:0;height:1px;margin:0 12px}.waffle-sidebar-container.waffle-pivot-sidebar{display:block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;width:300px}.waffle-sidebar-container.waffle-pivot-sidebar:focus{outline:1px solid #4285f4}#waffle-pivot-aggr{display:inline;font-weight:normal;margin-right:5px}#waffle-pivot-aggr .docs-material-select-outer-box{display:flex;border-bottom:none}#waffle-pivot-aggr-select{font-size:12px}.waffle-pivot-container{border:none;padding:12px 16px 0}.waffle-pivot-label{color:rgba(0,0,0,0.87);font-weight:bold;padding:0 0 14px 2px;position:relative}#waffle-pivot-aggr-label{color:rgba(0,0,0,0.87);font-size:13px;font-weight:500;text-decoration:none}.waffle-pivot-label,#waffle-pivot-aggr-label{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.2px;padding-bottom:18px}.waffle-pivot-add-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;height:24px;padding:3px 12px 5px;border:transparent;color:#188038;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:.25px;margin:0;padding:3px 11px 1px 13px;position:absolute;right:0;text-transform:none;top:-3px}.waffle-pivot-add-button:hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important;height:24px;padding:3px 12px 5px;padding:3px 11px 1px 13px}.waffle-pivot-add-button:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important;height:24px;padding:3px 12px 5px;background-color:rgba(66,133,244,.12);border:transparent;padding:3px 11px 1px 13px}.hc-enabled .waffle-pivot-add-button:focus{outline:1px solid}.waffle-pivot-add-button:hover:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important;height:24px;padding:3px 12px 5px;padding:3px 11px 1px 13px}.waffle-pivot-add-button:active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);height:24px;padding:3px 12px 5px;padding:3px 11px 1px 13px}.waffle-pivot-add-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38;height:24px;padding:3px 12px 5px;color:rgba(0,0,0,.12);cursor:default;padding:3px 11px 1px 13px}.waffle-pivot-rangepicker-container{padding:8px 16px 8px}#waffle-pivot-range-selection{padding-bottom:8px}#waffle-pivot-range-selection .waffle-range-selection-button{border-radius:50%;margin:0;padding:4px 2px 4px 0}#waffle-pivot-range-selection .waffle-range-selection-button:focus{background-color:rgba(0,0,0,.12)!important}.waffle-pivot-rangepicker-error-label{color:#db4437;font-size:13px}.waffle-pivot-drop-target{height:auto;margin-bottom:-22px;margin-top:-24px;padding-bottom:24px;padding-top:24px}.waffle-pivot-pill{background-color:#fff;border:none;border-radius:2px;box-shadow:0 1px 3px 1px rgba(60,64,67,.15);cursor:move;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;margin-bottom:16px;transition:max-height 0.25s cubic-bezier(0.4,0.0,0.2,1)}.waffle-pivot-pill:focus{outline-color:#4285f4}.hc-enabled .waffle-pivot-pill:focus{outline:1px solid}.waffle-pivot-pill-disabled{cursor:default}.waffle-pivot-pill-checkbox-label{color:#5f6368;font-size:12px;letter-spacing:.13px;margin-left:10px;vertical-align:middle}.waffle-pivot-pill-align-middle{vertical-align:middle}.waffle-pivot-pill-close{color:#8d8d8d;cursor:pointer;float:right;font-size:14px;transform:translateY(-15%)}.waffle-pivot-pill-close .jfk-button{border:transparent;border-radius:50%;font-size:18px;outline:none;width:20px}.waffle-pivot-pill-close .jfk-button:focus{background-color:rgba(0,0,0,.12)}.waffle-pill-during-dragging{height:33px}.waffle-pill-during-dragging .waffle-pivot-pill-section{display:none}.waffle-pivot-pill-close-disabled{color:rgba(0,0,0,.12)}.waffle-pivot-pill-section{box-sizing:border-box;display:inline-block;margin:8px 0;padding:0 8px;vertical-align:top;width:50%}.hc-enabled .waffle-pivot-pill-section .docs-material-gm-select.waffle-pivot-pill-nodrag:focus{outline:1px solid}#waffle-pivot-filter .waffle-pivot-pill-section,.waffle-pill-section-checkbox,.waffle-pivot-date-grouping-section{width:100%}#waffle-pivot-filter .waffle-pivot-filter-pill-select{padding-bottom:2px;padding-top:2px;width:100%}.hc-enabled .waffle-pivot-pill-section .waffle-pivot-filter-pill-select:focus{outline:1px solid}#waffle-pivot-filter .waffle-pivot-filter-pill-select .goog-flat-menu-button-caption{font-size:12px}.waffle-pivot-date-grouping-section{margin-top:4px}.waffle-pill-section-checkbox{margin-top:0}.waffle-pivot-pill-main-table{background:none;border-bottom:none;min-height:16px;padding:10px 8px 6px 12px}.waffle-pivot-pill-main-table-text{float:left;max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-pivot-pill-title{color:#202124;font-size:14px;font-weight:500;letter-spacing:.25px;overflow:hidden;white-space:nowrap}.waffle-pivot-pill-nodrag{cursor:pointer}.waffle-pivot-pill-type-icon{float:left;margin-right:8px;opacity:1!important;position:relative;top:-1px}.waffle-pivot-pill-type-icon.docs-hc-ie{background-color:white;-ms-high-contrast-adjust:none}.waffle-pivot-pill-type-icon.docs-hc-gecko{filter:invert(1)}.waffle-pivot-pill-limit-combobox.docs-material-gm-select{height:26px}.waffle-pivot-pill-limit-combobox .docs-material-gm-select-input.jfk-textinput{background:transparent}.waffle-pivot-pill-limit-combobox.docs-material-gm-select-open .docs-material-gm-select-input.jfk-textinput{background:white;border:2px solid #1a73e8}.waffle-pivot-pill-limit-combobox .docs-material-gm-select-input.jfk-textinput{border:0;font-size:12px;height:20px;margin:0;max-width:100%;width:83px}.waffle-pivot-multi-select{background:#efefef;background-color:#f1f3f4;border:1px solid #d7d7d7;border-color:transparent;border-radius:4px;display:block;margin:3px 0 0 0;padding:3px;position:relative}.waffle-pivot-multi-select .docs-material-gm-select{margin-bottom:4px}.waffle-pivot-multi-select .docs-material-gm-select:last-child{margin-bottom:0}.waffle-pivot-multi-select .docs-material-gm-select-outer-box{background-color:white}.waffle-pivot-pill-sort-by{vertical-align:top;width:100%}.waffle-pivot-multi-select .waffle-pivot-select-caption{color:#555}.waffle-pivot-select-divider{color:#555;margin:0 3px}.waffle-pivot-checkbox{vertical-align:middle}.waffle-pivot-feedback-section{float:right;margin-right:10px;margin-top:5px;position:relative}#waffle-pivot-feedback{padding-left:10px}.waffle-pivot-add-field-menu{overflow-y:auto}.waffle-pivot-add-field-label{display:inline-block;letter-spacing:0.2px;padding-top:2px}.waffle-pivot-aggr-select-container{display:inline-block;height:20px;margin-top:-5px}#waffle-pivot-aggr-select{border-bottom:2px solid transparent}#waffle-pivot-aggr-select:focus{border-color:#4d90fe}.waffle-pivot-select-label{color:#5f6368;font-size:11px;padding-bottom:3px;padding-left:2px}.waffle-pivot-calculated-input{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;font-size:12px;padding:4px 0px 4px 8px;width:100%}.waffle-pivot-calculated-input:focus{outline-color:#4d90fe}.waffle-pill-section-formula{margin-bottom:0;width:100%}.waffle-pill-section-formula .waffle-pivot-pill-nodrag{padding-top:0}.waffle-pill-section-formula .waffle-pivot-pill-nodrag{padding-top:8px}#waffle-pivot-filter{min-height:20px}.waffle-pivot-recommendation-header{outline:none}.waffle-pivot-recommendation-box .waffle-pivot-container{padding:12px 0 0 16px}.waffle-pivot-curr-drag-item{max-height:30px}.waffle-pivot-recommendation-box.legacy .waffle-pivot-container{border-top:1px solid #efefef;height:auto;padding:8px 8px 0px;padding-bottom:12px}.waffle-pivot-recommendation-box.legacy .waffle-pivot-label{font-size:13px;font-weight:500;margin:0;padding-top:2px;padding-bottom:6px}.waffle-pivot-recommendation-header .waffle-pivot-recommendation-toggle-icon{float:right;transition:200ms ease-out;-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.goog-zippy-expanded .waffle-pivot-recommendation-toggle-icon{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0);border:1px solid transparent}.waffle-pivot-recommendation-header:focus .waffle-pivot-recommendation-toggle-icon{border:1px solid #5e97f6!important;outline:none}.waffle-pivot-recommendation-toggle-icon-disabled{opacity:0.24}.waffle-pivot-recommendation-error{margin-left:2px}.waffle-pivot-recommendation-error,.waffle-pivot-recommendation-container{opacity:0.7}.waffle-pivot-recommendation-container{-webkit-align-items:flex-start;align-items:flex-start;display:flex;background-color:transparent;color:black;cursor:pointer}.waffle-pivot-recommendation-container:hover,.waffle-pivot-recommendation-container:hover .waffle-pivot-recommendation-icon{opacity:1.0}.waffle-pivot-recommendation-body{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.waffle-pivot-recommendation-content{-webkit-align-items:flex-start;align-items:flex-start;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;background-color:transparent;overflow-wrap:break-word;overflow:hidden;padding:4px 0}.waffle-pivot-recommendation-text{-ms-flex:1;-webkit-flex:1;flex:1;color:rgba(0,0,0,0.87);line-height:21px;padding-left:5px;white-space:normal}.waffle-pivot-recommendation-preview-btn{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);background-color:white;display:none;opacity:0.7;padding:4px;position:absolute;right:0}.waffle-pivot-recommendation-preview-btn-visible,.waffle-pivot-recommendation-container:hover .waffle-pivot-recommendation-preview-btn{cursor:pointer;display:block;opacity:0.9}.waffle-pivot-recommendation-content:focus,.waffle-pivot-recommendation-content:hover{background-color:#f5f5f5;outline:none}.waffle-recommendation-box-spinner-container{-webkit-align-self:center;align-self:center;height:40px;width:40px}.waffle-recommendation-box-spinner-container .waffle-spinner{height:25px;width:25px}.waffle-pivot-recommendation-error-container{display:flex}.waffle-pivot-recommendation-error-image{opacity:0.5}.waffle-pivot-recommendation-error-content{margin-left:10px}.waffle-pivot-rangepicker-label{color:rgba(0,0,0,0.54)}.waffle-pivot-sidebar .docs-material-gm-select-caption{color:#3c4043;font-size:12px;padding-left:8px}.waffle-pivot-sidebar .docs-material-gm-select-outer-box{padding:0}.waffle-pivot-sidebar .docs-material-gm-checkbox{display:inline-block}.waffle-sidebar-container.waffle-pivot-sidebar-column-names-enabled{width:460px}.waffle-sidebar-container.waffle-pivot-sidebar.waffle-pivot-sidebar-column-names-enabled:focus{outline:none}.waffle-pivot-sidebar-column-names-enabled .waffle-sidebar-content{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden}.waffle-pivot-sidebar-column-names-enabled #waffle-pivot-sidebar{border-right:1px solid #dadce0;height:100%;overflow-y:auto;width:300px}.waffle-pivot-sidebar-column-names-enabled #waffle-pivot-sidebar .waffle-pivot-container{box-sizing:border-box;max-width:284px;padding-right:0}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-recommendation-list{position:relative}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-column-names-container{display:block;height:100%;overflow-y:auto;width:160px}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill{background:#f1f3f4;border:1px solid #f1f3f4;border-radius:8px;box-shadow:none;margin-left:2px;margin-right:2px}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill:focus{box-shadow:0 1px 3px 1px rgba(60,64,67,.15);outline:none}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-main-table{padding:6px 8px}.waffle-pivot-pill-type-icon{top:1px}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-main-table-text,.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-title{line-height:20px}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-title{color:#3c4043;font-weight:500}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-close{transform:translateX(4px)}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-close:focus{background-color:#dadce0}.waffle-pivot-sidebar-column-names-enabled .waffle-pivot-pill-close .jfk-button{color:#5f6368;font-size:14px;height:20px;vertical-align:middle;width:20px}.hc-enabled .waffle-pivot-pill-close .jfk-button-flat:focus{outline:1px solid}.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging{background:#f8f9fa;border-radius:16px;box-shadow:0 4px 4px 0px rgba(60,64,67,.3),0 8px 12px 6px rgba(60,64,67,.15);opacity:0.9}.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging .waffle-pivot-pill-close{display:none}.waffle-pivot-sidebar-column-names-enabled .docs-material-gm-select{background:white;border-radius:4px}.waffle-pivot-sidebar-column-names-enabled #waffle-pivot-sidebar .waffle-pivot-pill.waffle-pivot-pill-highlight{background:#ceead6;border-color:#34a853}.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging.goog-menuitem{box-sizing:border-box;border-radius:16px;cursor:move;margin:0 4px;overflow:hidden;padding-left:8px;padding-right:8px;background:#f8f9fa;box-shadow:0 4px 4px 0px rgba(60,64,67,.3),0 8px 12px 6px rgba(60,64,67,.15);opacity:0.9}.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging.goog-menuitem .goog-menuitem-content,.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging.goog-menuitem .goog-menuitem-content span{-ms-flex:1;-webkit-flex:1;flex:1;color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging.goog-menuitem .goog-menuitem-content>div{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.waffle-pivot-sidebar-column-names-enabled.waffle-pill-during-dragging.goog-menuitem .goog-menuitem-icon{margin:0 8px 0 0;position:relative;top:0}.waffle-printing-pane{left:0;outline:none;position:absolute;height:100%;top:0;width:100%}.waffle-printing-fullscreen-cover{background:rgba(0,0,0,.54);bottom:0;left:0;position:absolute;right:0;top:0}.waffle-printing-loader-message{color:#fff;font:13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;line-height:60px;text-align:center;width:100%}.waffle-printing-indeterminate-loader{height:4px;left:0;position:absolute;right:0;top:60px}.waffle-printing-body-wrapper{bottom:0;left:0;position:absolute;right:0;top:60px}.waffle-printing-header-bar{background-color:#424242;height:60px;line-height:60px;width:100%}.waffle-printing-header-bar-left{margin-left:12px}.waffle-printing-header-bar-right{margin-right:12px}.waffle-printing-header-bar-middle{height:100%;line-height:60px;overflow:hidden;text-align:center;width:auto}.waffle-printing-top-level-header-left{float:left;height:60px}.waffle-printing-top-level-header-left>div{vertical-align:middle}.waffle-printing-header-title{color:white;display:inline-block;font:18px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;margin-left:28px;margin-right:16px}.waffle-printing-page-counter{color:white;display:inline-block;font:13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500}.waffle-printing-header-page-total{font-weight:400}.waffle-printing-cancel-button,.waffle-printing-cancel-button.docs-material-button-focused.docs-material-button-no-focus-border{padding-left:4px}.waffle-printing-cancel-button.docs-material-button-focused{padding-left:3px}.waffle-printing-cancel-button .docs-icon{margin:-4px 8px 0 0}.waffle-printing-header-button-set,.waffle-printing-custom-headers-footers-confirm,.waffle-printing-custom-page-breaks-confirm{float:right}.waffle-printing-header-button-set,.waffle-printing-custom-headers-footers-confirm,.waffle-printing-custom-page-breaks-confirm,.waffle-printing-custom-headers-footers-cancel,.waffle-printing-custom-page-breaks-cancel{margin-top:14px;margin-bottom:14px}.waffle-printing-print-button,.waffle-printing-top-level-cancel-button{float:right}.waffle-printing-float-clear{clear:both}.waffle-printing-preview-pane{background-color:#d1d1d1;height:100%;overflow:hidden;position:relative;width:auto}.waffle-printing-preview-outer{height:100%}.waffle-printing-preview-inner{height:100%;overflow-x:auto;overflow-y:scroll}.waffle-printing-preview-card-wrapper{margin:41px 20px 20px 36px}.waffle-printing-preview-card{background-color:#fff;box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 3px rgba(0,0,0,0.12),0 4px 5px 0 rgba(0,0,0,0.20);margin:auto;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:100%}.waffle-printing-preview-card>canvas{height:100%;width:100%}.waffle-printing-preview-spinner{position:absolute;left:50%;top:50%;transform:translate(-14px,-14px)}.waffle-printing-preview-page-counter-outer{bottom:22px;margin:0 10%;pointer-events:none;position:absolute;width:80%}.waffle-printing-preview-page-counter-inner{background-color:rgba(0,0,0,0.7);border-radius:12px;color:#fff;display:table;font:16px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;margin:auto;padding:20px 32px;text-align:center}.waffle-printing-preview-page-counter-ellipses{max-height:19px}.waffle-printing-options-pane{background-color:#fff;color:#474747;float:right;height:100%;overflow-y:auto;width:300px}.waffle-printing-options-top-section{padding:8px 16px}.waffle-printing-options-section{border-bottom:1px solid #d2d2d2}.waffle-printing-options-wrapper .docs-charts-editor-collapsible-header{font:16px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500}.waffle-printing-options-wrapper .docs-charts-editor-collapsible-title{width:auto}.waffle-printing-options-wrapper .docs-charts-editor-collapsible-summary{display:none}.waffle-printing-options-wrapper h2{color:rgba(0,0,0,.87);font-size:13px;font-weight:normal;margin:20px 0 0}.waffle-printing-options-wrapper h3,.waffle-printing-options-wrapper .docs-material-labeled-select-label,.waffle-printing-options-wrapper .docs-material-gm-labeled-select-label{color:rgba(0,0,0,.54);font:11px Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-printing-options-wrapper h3,.waffle-printing-options-wrapper .docs-material-labeled-select,.waffle-printing-options-wrapper .docs-material-gm-labeled-select{margin:20px 0 0}.waffle-printing-options-wrapper .waffle-printing-fine-grained-selection-header{margin-bottom:8px}.waffle-printing-options-wrapper .waffle-material-labeledinput{margin:16px 0 0}.waffle-printing-options-wrapper .waffle-material-labeledinput-underline,.waffle-printing-options-wrapper .waffle-material-labeledinput-accentunderline{bottom:0}.waffle-printing-options-wrapper .waffle-material-labeledinput-input{bottom:3px}.waffle-printing-options-pane .docs-charts-editor-material-menu-button-caption{font-size:16px}.waffle-printing-full-size{display:block;padding:0}.waffle-printing-custom-paper-height-wrapper{float:left;width:120px}.waffle-printing-custom-paper-width-wrapper{float:right;width:120px}.waffle-printing-scale .docs-charts-editor-material-text-input{margin-top:12px}.waffle-printing-custom-scale{float:right;margin-left:20px;width:33%}.waffle-printing-scale-wrapper{overflow:hidden;width:auto}.waffle-printing-page-breaks-edit-button{float:right;margin-right:-8px}.waffle-printing-page-breaks-button-and-toggle{line-height:32px;margin:18px 0}.waffle-printing-page-breaks-toggle-wrapper{color:rgba(0,0,0,0.87);vertical-align:middle;float:left;width:auto}.waffle-printing-page-breaks-toggle{display:inline-block;margin-left:12px;position:relative;top:3px}.waffle-printing-page-breaks-toggle-ie{top:5px}.waffle-printing-page-breaks-toggle-label{display:inline-block}.docs-charts-editor-collapsible-content>div.waffle-printing-formatting-section{padding-bottom:16px}.waffle-printing-horizontal-alignment,.waffle-printing-vertical-alignment{float:left;width:118px}.waffle-printing-horizontal-alignment{margin-right:20px}.waffle-printing-options-section.waffle-printing-repeat-header-cells-section{border-bottom:none}.waffle-printing-options-section.waffle-printing-repeat-header-cells-section h2{margin-bottom:10px}.waffle-printing-options-section.waffle-printing-repeat-header-cells-section h3{margin:0 0 16px}.waffle-printing-rfs-columns,.waffle-printing-rfs-rows,.waffle-printing-rfs-columns .docs-charts-editor-labeledcheckbox,.waffle-printing-rfs-rows .docs-charts-editor-labeledcheckbox{display:inline}.waffle-printing-zoom-wrapper{position:absolute;right:22px;bottom:10px;z-index:1}.waffle-printing-zoom-in-button .jfk-button,.waffle-printing-zoom-out-button .jfk-button{background:#fff;border-radius:20px;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);height:15px;min-width:0;padding:12.5px;position:relative;margin:0 0 12px 0;right:-80px;transition:.2s right;width:15px}.waffle-printing-zoom-in-button .jfk-button .waffle-printing-zoom-icon-wrapper,.waffle-printing-zoom-out-button .jfk-button .waffle-printing-zoom-icon-wrapper{line-height:0;opacity:.54}.waffle-printing-zoom-out-button .jfk-button{transition-delay:.1s}.waffle-printing-preview-pane:hover .waffle-printing-zoom-in-button .jfk-button{right:0}.waffle-printing-preview-pane:hover .waffle-printing-zoom-out-button .jfk-button,.waffle-printing-zoom-out-button .jfk-button-focused{right:0;transition-delay:.1s}.waffle-printing-zoom-force-visible.jfk-button{right:0;transition:none}.waffle-printing-zoom-in-button .jfk-button.jfk-button-hover,.waffle-printing-zoom-in-button .jfk-button.jfk-button-focused,.waffle-printing-zoom-out-button .jfk-button.jfk-button-hover,.waffle-printing-zoom-out-button .jfk-button.jfk-button-focused{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.4)}.waffle-printing-zoom-in-button .jfk-button.jfk-button-hover .waffle-printing-zoom-icon-wrapper,.waffle-printing-zoom-in-button .jfk-button.jfk-button-focused .waffle-printing-zoom-icon-wrapper,.waffle-printing-zoom-out-button .jfk-button.jfk-button-hover .waffle-printing-zoom-icon-wrapper,.waffle-printing-zoom-out-button .jfk-button.jfk-button-focused .waffle-printing-zoom-icon-wrapper{opacity:.87}.waffle-printing-zoom-in-button .jfk-button.jfk-button-active,.waffle-printing-zoom-in-button .jfk-button:active,.waffle-printing-zoom-out-button .jfk-button.jfk-button-active,.waffle-printing-zoom-out-button .jfk-button:active{background:#aaa;border-color:#aaa}.waffle-printing-margins-control{outline:none;position:absolute;top:0;left:0}.waffle-printing-margins-control-top,.waffle-printing-margins-control-bottom{cursor:ns-resize;height:5px;left:0;position:absolute;right:0}.waffle-printing-margins-control-right,.waffle-printing-margins-control-left{bottom:0;cursor:ew-resize;position:absolute;top:0;width:5px}.waffle-printing-margins-control-top{border-bottom:2px dashed #4285f4;margin-top:-7px}.waffle-printing-margins-control-top:hover,.waffle-printing-margins-control-top.waffle-printing-margins-control-active{border-bottom:2px solid #4285f4}.waffle-printing-margins-control-bottom{border-top:2px dashed #4285f4;margin-bottom:-7px}.waffle-printing-margins-control-bottom:hover,.waffle-printing-margins-control-bottom.waffle-printing-margins-control-active{border-top:2px solid #4285f4}.waffle-printing-margins-control-right{border-left:2px dashed #4285f4;margin-right:-7px}.waffle-printing-margins-control-right:hover,.waffle-printing-margins-control-right.waffle-printing-margins-control-active{border-left:2px solid #4285f4}.waffle-printing-margins-control-left{border-right:2px dashed #4285f4;margin-left:-7px}.waffle-printing-margins-control-left:hover,.waffle-printing-margins-control-left.waffle-printing-margins-control-active{border-right:2px solid #4285f4}.waffle-printing-margins-control-top-wrapper,.waffle-printing-margins-control-bottom-wrapper,.waffle-printing-margins-control-right-wrapper,.waffle-printing-margins-control-left-wrapper{background:#fff;border:2px dashed #4285f4;height:34px;padding:16px;width:60px}.waffle-printing-margins-control-top:hover .waffle-printing-margins-control-top-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-top-wrapper,.waffle-printing-margins-control-bottom:hover .waffle-printing-margins-control-bottom-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-bottom-wrapper,.waffle-printing-margins-control-right:hover .waffle-printing-margins-control-right-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-right-wrapper,.waffle-printing-margins-control-left:hover .waffle-printing-margins-control-left-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-left-wrapper{border:2px solid #4285f4}.waffle-printing-margins-control-top-title,.waffle-printing-margins-control-bottom-title,.waffle-printing-margins-control-right-title,.waffle-printing-margins-control-left-title{font:11px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;color:rgba(0,0,0,.54);margin-left:-1px}.waffle-printing-margins-control-top-wrapper,.waffle-printing-margins-control-top:hover .waffle-printing-margins-control-top-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-top-wrapper{border-radius:0 0 2px 2px;border-top:none;box-shadow:0 4px 4px 0 rgba(0,0,0,0.25);left:50%;position:absolute;top:5px;transform:translateX(-50%)}.waffle-printing-margins-control-bottom-wrapper,.waffle-printing-margins-control-bottom:hover .waffle-printing-margins-control-bottom-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-bottom-wrapper{border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 4px 0 rgba(0,0,0,0.25);bottom:5px;left:50%;position:absolute;transform:translateX(-50%)}.waffle-printing-margins-control-right-wrapper,.waffle-printing-margins-control-right:hover .waffle-printing-margins-control-right-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-right-wrapper{border-radius:2px 0 0 2px;border-right:none;box-shadow:-4px 0 4px 0 rgba(0,0,0,0.25);position:absolute;right:5px;top:50%;transform:translateY(-50%)}.waffle-printing-margins-control-left-wrapper,.waffle-printing-margins-control-left:hover .waffle-printing-margins-control-left-wrapper,.waffle-printing-margins-control-active .waffle-printing-margins-control-left-wrapper{border-left:none;border-radius:0 2px 2px 0;box-shadow:4px 0 4px 0 rgba(0,0,0,0.25);left:5px;position:absolute;top:50%;transform:translateY(-50%)}.waffle-printing-radio-button-wrapper{float:left;margin-top:6px;width:50%}.waffle-printing-radio-button-wrapper .jfk-radiobutton-label{color:rgba(0,0,0,.87);font:13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:18px;margin-left:23px}.waffle-printing-radio-button-wrapper .jfk-radiobutton-label label{margin-left:0}.waffle-printing-radio-button-wrapper .jfk-radiobutton-radio,.waffle-printing-radio-button-wrapper .jfk-radiobutton-hover .jfk-radiobutton-radio{border:2px solid #bebebe;height:16px;left:2px;width:16px}.waffle-printing-radio-button-wrapper .jfk-radiobutton-radio::after{background:#4285f4;border:none;height:8px;left:2px;top:2px;width:8px}.waffle-printing-custom-headers-footers-entry-button,.waffle-printing-page-breaks-entry-button{margin-top:8px;margin-left:-8px}.waffle-printing-custom-headers-footers-cancel,.waffle-printing-custom-page-breaks-cancel{float:left}.waffle-printing-custom-headers-footers-body,.waffle-printing-custom-page-breaks-body{background-color:#d1d1d1;bottom:0;left:0;position:absolute;overflow:hidden;right:0;top:60px}.waffle-printing-custom-headers-footers-overlay{background-color:rgba(255,255,255,0.54);outline:none;position:absolute;top:0;left:0}.waffle-printing-custom-headers-footers-content-area{color:rgba(0,0,0,0.24);font:36px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;text-align:center;overflow:hidden;width:100%}.waffle-printing-custom-headers-footers-overlay-group{border-spacing:12px 0;direction:ltr;position:absolute;table-layout:fixed}.waffle-printing-custom-headers-footers-section-wrapper{width:33.3333%}.waffle-printing-custom-headers-footers-section{background-color:white;height:100%;overflow:hidden;padding:0 8px;transition:border-color 0.2s ease;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;white-space:nowrap}.waffle-printing-custom-headers-footers-section-inactive{border:1px dotted #bdbdbd}.waffle-printing-custom-headers-footers-section-inactive:hover{border-color:transparent;border-bottom:1px solid rgba(0,0,0,.87);cursor:pointer}.waffle-printing-custom-headers-footers-section-active{border-bottom:2px solid #4285f4}.waffle-printing-custom-headers-footers-section-content{box-sizing:border-box;color:rgba(0,0,0,.87);height:100%;overflow:hidden}.waffle-printing-custom-headers-footers-section-placeholder{color:rgba(0,0,0,.54)}.waffle-printing-custom-header-footer-section-header-left,.waffle-printing-custom-header-footer-section-footer-left{text-align:left}.waffle-printing-custom-header-footer-section-header-right,.waffle-printing-custom-header-footer-section-footer-right{text-align:right}.waffle-printing-custom-header-footer-section-header-middle,.waffle-printing-custom-header-footer-section-footer-middle{text-align:center}.waffle-printing-custom-headers-footers-section:focus,.waffle-printing-custom-headers-footers-section-content:focus{outline:none}.waffle-printing-custom-headers-footers-pill{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all}.waffle-printing-custom-headers-footers-pill-select{background-color:#fafafa;border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);height:34px;min-width:195px;position:absolute;z-index:1003}.waffle-printing-custom-headers-footers-pill-select:focus{outline:none}.waffle-printing-custom-headers-footers-pill-select .goog-toolbar-separator{height:34px;margin:0}.waffle-printing-custom-page-breaks-header-middle{color:white;font:13px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:14px 0}.waffle-printing-custom-page-breaks-scale{display:inline-block;margin-right:8px;position:relative;top:1px}.waffle-printing-custom-page-breaks-scale .waffle-ellipses{padding-left:4px;top:2px}.waffle-printing-custom-page-breaks-scale-label{font-weight:500}.waffle-printing-custom-page-breaks-reset{margin-left:8px}.waffle-printing-custom-page-breaks-waffle{bottom:0;left:0;position:absolute;right:0;top:0}.waffle-printing-custom-page-breaks-canvas-wrapper{left:0;overflow:hidden;position:absolute;top:0;z-index:1}.waffle-printing-custom-page-breaks-dragger-container{position:absolute}.waffle-printing-custom-page-breaks-overlay{border:2px solid #4285f4;box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 3px rgba(0,0,0,0.12),0 4px 5px 0 rgba(0,0,0,0.20);position:absolute}.waffle-printing-snapping-dragger,.waffle-printing-snapping-dragger-handle,.waffle-printing-snapping-dragger-handle-bar{border-width:0;box-sizing:border-box;position:absolute}.waffle-printing-snapping-dragger-handle-horizontal .waffle-printing-page-breaks-rounded-corner{left:-24px;top:-11px;transform:rotate(-90deg)}.waffle-printing-snapping-dragger-rtl .waffle-printing-snapping-dragger-handle-horizontal .waffle-printing-page-breaks-rounded-corner{transform:rotate(90deg)}.waffle-printing-snapping-dragger-rtl .waffle-printing-snapping-dragger-handle-horizontal .waffle-printing-page-breaks-rounded-corner-ie{transform:rotate(-90deg)}.waffle-printing-snapping-dragger-handle-vertical .waffle-printing-page-breaks-rounded-corner{left:-11px;top:-24px}.waffle-printing-snapping-dragger-handle-horizontal,.waffle-printing-snapping-dragger-handle-bar-horizontal{height:5px;transform:translateY(-1px)}.waffle-printing-snapping-dragger-handle-bar-horizontal{border-top:2px dashed #4285f4;cursor:row-resize}.waffle-printing-snapping-dragger-handle-vertical,.waffle-printing-snapping-dragger-handle-bar-vertical{transform:translateX(-1px);width:5px}.waffle-printing-snapping-dragger-handle-bar-vertical{border-left:2px dashed #4285f4;cursor:col-resize}.waffle-printing-snapping-dragger-rtl .waffle-printing-snapping-dragger-handle-vertical,.waffle-printing-snapping-dragger-rtl .waffle-printing-snapping-dragger-handle-bar-vertical{transform:translateX(1px)}.waffle-printing-hard-break .waffle-printing-snapping-dragger-handle-bar{border-style:solid}.waffle-printing-snapping-dragger-active .waffle-printing-snapping-dragger-handle-bar,.waffle-printing-snapping-dragger-highlight .waffle-printing-snapping-dragger-handle-bar{border-color:transparent}.waffle-printing-page-breaks-rounded-corner,.waffle-printing-custom-page-breaks-delete{display:block;position:absolute;z-index:1}.waffle-printing-snapping-dragger-hover-bar{background:#4285f4;border:1px solid white;box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 3px rgba(0,0,0,0.12),0 4px 5px 0 rgba(0,0,0,0.20);position:absolute;display:none}.waffle-printing-snapping-dragger-hover .waffle-printing-snapping-dragger-hover-bar,.waffle-printing-snapping-dragger-active .waffle-printing-snapping-dragger-hover-bar{display:block}.waffle-printing-snapping-dragger-hover-bar-horizontal{border-left:none;border-right:none;height:2px;left:0;top:-2px;width:100%}.waffle-printing-snapping-dragger-hover-bar-vertical{border-bottom:none;border-top:none;height:100%;left:-2px;top:0;width:2px}.waffle-printing-custom-page-breaks-delete{background-color:transparent;border:none;box-shadow:none;cursor:pointer;fill:#4285f4;height:24px;margin:0;min-width:0;padding:0;transform:scale(0.4);transition:200ms;width:24px}.waffle-printing-custom-page-breaks-delete-horizontal{left:-16px;top:-13px}.waffle-printing-custom-page-breaks-delete-vertical{left:-12px;top:-17px}.waffle-printing-custom-page-breaks-delete .waffle-printing-custom-page-breaks-delete-background{fill:#4285f4;transition:200ms}.waffle-printing-snapping-dragger-hover .waffle-printing-custom-page-breaks-delete,.waffle-printing-snapping-dragger-active .waffle-printing-custom-page-breaks-delete{fill:#000;transform:scale(1.0)}.waffle-printing-snapping-dragger-hover .waffle-printing-custom-page-breaks-delete-horizontal,.waffle-printing-snapping-dragger-active .waffle-printing-custom-page-breaks-delete-horizontal{left:-24px;top:-12px}.waffle-printing-snapping-dragger-hover .waffle-printing-custom-page-breaks-delete-vertical,.waffle-printing-snapping-dragger-active .waffle-printing-custom-page-breaks-delete-vertical{left:-11px;top:-24px}.waffle-printing-snapping-dragger-hover .waffle-printing-custom-page-breaks-delete-background,.waffle-printing-snapping-dragger-active .waffle-printing-custom-page-breaks-delete-background{opacity:0.0}.waffle-printing-custom-page-breaks-delete-icon{background-color:transparent;opacity:0.54;transition:0s}.waffle-printing-custom-page-breaks-delete.jfk-button-hover .waffle-printing-custom-page-breaks-delete-icon,.waffle-printing-custom-page-breaks-delete.jfk-button-focused .waffle-printing-custom-page-breaks-delete-icon{opacity:0.87}.waffle-printing-custom-page-breaks-delete.jfk-button-active,.waffle-printing-custom-page-breaks-delete:active,.waffle-printing-custom-page-breaks-delete.jfk-button-focused,.waffle-printing-custom-page-breaks-delete:focus{border:none;box-shadow:none;outline:none}.waffle-printing-pane .docs-charts-editor-material-menu-button-caption{color:rgba(0,0,0,.87);font-size:13px}.waffle-printing-pane .docs-charts-editor-collapsible-header{color:rgba(0,0,0,.87);font-size:13px;font-weight:normal}.waffle-printing-pane .waffle-printing-headers-and-footers-section h2{color:rgba(0,0,0,.87);font-size:13px;font-weight:normal;margin-top:16px}.waffle-printing-pane .waffle-printing-headers-and-footers-section h3{font-weight:normal;margin-bottom:11px;margin-top:9px}.waffle-printing-pane-base .docs-material-button-content{display:inline-block;min-width:54px}.apps-promo{z-index:21}.apps-promo-popup{width:300px}.apps-promo-buttons{display:none}#waffle-promo-button .goog-custom-button-inner-box{font-weight:500}.waffle-promo{background:#188038!important;border-radius:8px!important;box-shadow:0px 2px 6px rgba(60,64,67,0.15),0px 1px 2px rgba(0,64,67,0.3)!important;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;width:300px!important}.waffle-promo .docs-promo-container{padding:24px!important}.waffle-promo .docs-promo-text-container{width:252px!important}.waffle-promo .docs-promo-header{color:#fff!important;font-weight:700}.waffle-promo .docs-promo-body{color:#fff!important;padding-top:8px}.waffle-promo .docs-promo-action-row{padding-top:16px;padding-right:0;padding-bottom:0}.waffle-promo .docs-promo-action-container{color:#fff!important;font-weight:500;text-transform:lowercase;display:inline-block}.waffle-promo .docs-promo-action-container::first-letter{text-transform:uppercase}.waffle-promo .jfk-bubble-arrowdown .jfk-bubble-arrowimplbefore,.waffle-promo .jfk-bubble-arrowdown .jfk-bubble-arrowimplafter,.waffle-promo .jfk-bubble-arrowup .jfk-bubble-arrowimplbefore,.waffle-promo .jfk-bubble-arrowup .jfk-bubble-arrowimplafter{border-color:#188038 transparent!important}.waffle-promo .jfk-bubble-arrowleft .jfk-bubble-arrowimplbefore,.waffle-promo .jfk-bubble-arrowleft .jfk-bubble-arrowimplafter,.waffle-promo .jfk-bubble-arrowright .jfk-bubble-arrowimplbefore,.waffle-promo .jfk-bubble-arrowright .jfk-bubble-arrowimplafter{border-color:transparent #188038!important}.waffle-shortcut-override-inside-promo{border:240px solid #0f9d58;border-radius:100%;bottom:-260px;height:95px;position:absolute;right:60px;width:95px;background-color:#fff;z-index:500}.waffle-legacy-shortcut-override-inside-promo{border-radius:100%;bottom:-20px;box-shadow:175px 0 0 190px #0f9d58;height:90px;position:absolute;right:435px;width:80px;z-index:500}[dir="rtl"] .waffle-legacy-shortcut-override-inside-promo{box-shadow:-175px 0 0 190px #0f9d58;left:220px}.waffle-shortcut-override-inside-promo-content,.waffle-legacy-shortcut-override-inside-promo-content{color:white;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;left:-100px;line-height:22px;position:absolute;text-align:left;top:-125px;width:275px}.waffle-legacy-shortcut-override-inside-promo-content{left:100px}.waffle-legacy-shortcut-override-dismiss-button{cursor:pointer;color:white;font:500 15px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:25px 0 0 0;min-width:0;outline:none;padding:0;right:5px;text-transform:uppercase;width:0}.waffle-shortcut-override-inside-promo-header{font:500 21px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:27px;margin-bottom:16px}.waffle-shortcut-override-inside-promo-description{font-size:15px;opacity:0.87}.apps-ui-material-slide-toggle-container{z-index:1000}.waffle-shortcut-override-outside-promo{background-color:#fafafa;bottom:80px;box-shadow:rgba(255,255,255,.9) 0 1px 0 inset,rgba(0,0,0,.03) 0 -1px 0 inset,rgba(0,0,0,.15) 0 15px 10px,rgba(0,0,0,.3) 0 8px 36px;position:absolute;right:40px;width:380px;z-index:1000}.waffle-shortcut-override-outside-promo-header{font-size:16px;font-weight:500;opacity:0.87;padding:22px 25px 0 25px}.waffle-shortcut-override-outside-promo-description{color:#666;line-height:20px;padding:15px 25px}.waffle-shortcut-override-outside-promo-button-container{padding:0 24px 16px;text-align:right}.waffle-shortcut-override-outside-promo-continue-button,.waffle-shortcut-override-outside-promo-dismiss-button{align-items:center;cursor:pointer;display:inline-flex;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;justify-content:center;text-transform:uppercase}.waffle-shortcut-override-outside-promo-continue-button{background-color:#4285f4;color:white;padding:6px 15px}.waffle-shortcut-override-outside-promo-dismiss-button{color:#4285f4;margin-right:16px}.waffle-sidebar-container{overflow:hidden;box-shadow:-3px 0px 6px -3px rgba(60,64,67,.15),3px 0px 6px -3px rgba(60,64,67,.15);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;border-left:0;outline:none;position:absolute;right:0;top:0;width:300px}.waffle-sidebar-content{background-color:#fff;font-size:100%;overflow-x:hidden;overflow-y:auto;position:relative}.waffle-sidebar-footer-container{bottom:0;position:absolute;width:100%}.waffle-sidebar-header-container{width:100%}.waffle-sidebar-spinner-container{background-color:#fff;height:100%;position:absolute;width:100%}.waffle-sidebar-spinner-container>.waffle-spinner{left:50%;margin-left:-14px;margin-top:-14px;position:absolute;top:50%}.waffle-sidebar-title{display:flex;align-items:center;color:#202124;background-color:#fff;height:56px;padding:0 16px;border-bottom:1px solid #dadce0;border-top:1px solid #dadce0;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;z-index:1}.waffle-sidebar-title-text{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:16px;font-weight:500;line-height:24px;position:relative;left:auto}.waffle-sidebar-title-close.docs-sidebar-close-button{cursor:pointer;position:absolute;right:5px;top:7px}.waffle-sidebar-container .jfk-textinput{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0}.waffle-sidebar-container .jfk-textinput:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.waffle-sidebar-container .jfk-select .goog-flat-menu-button-dropdown{margin-top:0px}.waffle-sidebar-container .goog-flat-menu-button.jfk-select{padding-left:8px!important}.waffle-range-selection-holder .docs-icon-grid,.waffle-range-selection-holder .docs-icon-grid:before,.waffle-sidebar-title .docs-gm-sidebar-icon .docs-icon-sheets-table-24,.waffle-sidebar-title .docs-gm-sidebar-icon .docs-icon-sheets-table-24:before,.waffle-sidebar-title .docs-gm-sidebar-icon .docs-icon-filter-control,.waffle-sidebar-title .docs-gm-sidebar-icon .docs-icon-filter-control:before,.waffle-sidebar-title .docs-gm-sidebar-icon .docs-icon-database,.waffle-sidebar-title .docs-gm-sidebar-icon .docs-icon-database:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.waffle-sidebar-container .goog-flat-menu-button{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;cursor:pointer;padding:8px 6px 8px 8px;width:100%;align-items:center;background:none;box-sizing:border-box;color:#3c4043;display:inline-flex;justify-content:space-between;outline:none;position:relative;width:auto;width:unset}.waffle-sidebar-container .goog-flat-menu-button-disabled{color:#5f6368;opacity:.38;cursor:default}.waffle-sidebar-container .goog-flat-menu-button:active{background-color:#fff;border:1px solid transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-sidebar-container .goog-flat-menu-button-hover{background-color:rgba(60,64,67,0.04);border:1px solid #dadce0;box-shadow:none}.waffle-sidebar-container .goog-flat-menu-button-focused{background-color:rgba(60,64,67,0.06);border:1px solid #dadce0}.waffle-sidebar-container .goog-flat-menu-button-open{background-color:rgba(60,64,67,0.04);border:1px solid transparent}.waffle-sidebar-container .goog-flat-menu-button-hover.goog-flat-menu-button-open{background-color:rgba(60,64,67,0.06)}.waffle-sidebar-container .goog-flat-menu-button-focused.goog-flat-menu-button-open{background-color:rgba(60,64,67,0.08)}.waffle-sidebar-container .goog-flat-menu-button-disabled{border:1px solid #dadce0;box-shadow:none;cursor:default}.waffle-sidebar-container .goog-flat-menu-button-caption{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#202124;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;height:20px;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-sidebar-container .goog-flat-menu-button-dropdown{background:no-repeat url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_medium.svg) -40px -732px;height:18px;width:18px;border:none;margin-top:0;position:relative;right:0;top:0}.waffle-sidebar-container .goog-flat-menu-button-open .goog-flat-menu-button-dropdown{-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.waffle-sidebar-container .docs-flatcolormenubutton .goog-flat-menu-button-caption{height:22px;width:22px;border-radius:50%;border:1px solid #dadce0;margin:0;outline:none}.waffle-sidebar-container .docs-flatcolormenubutton.goog-flat-menu-button{padding:6px 0 6px 6px}.waffle-sidebar-container .jfk-button-action{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff}.waffle-sidebar-container .jfk-button-action.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.waffle-sidebar-container .jfk-button-action.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.waffle-sidebar-container .jfk-button-action.jfk-button-hover.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15)}.waffle-sidebar-container .jfk-button-action.jfk-button-active,.waffle-sidebar-container .jfk-button-action.jfk-button-focus.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15)}.waffle-sidebar-container .jfk-button-action.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38}.waffle-sidebar-container .jfk-button-standard{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038}.waffle-sidebar-container .jfk-button-standard.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important}.waffle-sidebar-container .jfk-button-standard.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important}.waffle-sidebar-container .jfk-button-standard.jfk-button-hover.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important}.waffle-sidebar-container .jfk-button-standard.jfk-button-active,.waffle-sidebar-container .jfk-button-standard.jfk-button-focus.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-sidebar-container .jfk-button-standard.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38}.waffle-sidebar-container .jfk-button-standard.waffle-range-selection-button,.waffle-sidebar-container .jfk-button-standard.jfk-button-hover.waffle-range-selection-button,.waffle-sidebar-container .jfk-button-standard.jfk-button-focused.waffle-range-selection-button,.waffle-sidebar-container .jfk-button-standard.jfk-button-hover.jfk-button-focused.waffle-range-selection-button{border:none!important;padding:8px 0px 0px!important}.docs-sidebar-toggle-tabs{background-color:white;border-bottom:0;height:40px;margin-top:0;width:100%}.docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab>div{display:inline-block;position:relative}.docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab-active{color:#188038;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:none;border-bottom:none;line-height:calc(40px - 8px);height:calc(40px - 8px);margin-top:8px}.docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab-inactive{color:#5f6368;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:none;border-bottom:none;line-height:calc(40px - 8px);height:calc(40px - 8px);margin-top:8px}.docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab-inactive:hover{color:#202124;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:none;border-bottom:none;line-height:calc(40px - 8px);height:calc(40px - 8px);margin-top:8px}.docs-sidebar-toggle-tabs .jfk-button.docs-sidebar-toggle-tab-active>div:after{border-bottom:3px solid #188038;border-radius:3px 3px 0 0;bottom:0;content:'';display:block;height:0;left:-4px;position:absolute;width:calc(100% + 8px)}.docs-sidebar-toggle-tabs .jfk-button-focused.docs-sidebar-toggle-tab-inactive>div:after{border-bottom:3px dotted #188038;border-radius:3px 3px 0 0;bottom:0;content:'';display:block;height:0;left:-4px;position:absolute;width:calc(100% + 8px)}.docs-sidebar-toggle-tabs .jfk-button-active.jfk-button-focused.docs-sidebar-toggle-tab-inactive>div:after{border-top:none}.waffle-slicer-overlay,.waffle-embedded-object-container,.waffle-slicer-container{border-radius:20px}.waffle-slicer-container{-webkit-align-items:center;align-items:center;display:flex;direction:ltr;height:inherit;min-height:100%;min-width:100%}.waffle-slicer-filter-box-container .goog-menu-filter{display:flex;-webkit-align-items:center;align-items:center;position:relative}.waffle-slicer-filter-box-container .waffle-filterbox-input{-ms-flex:1;-webkit-flex:1;flex:1;margin-right:0!important;width:100%}.waffle-slicer-filter-box-container .waffle-filterbox-input-icon{height:18px;position:absolute;right:8px;top:5px;width:18px}.waffle-slicer-filter-box-container .waffle-filterbox-label-icon-jfk{display:none}.waffle-slicer-filter-box-container .waffle-filterbox-content{height:auto!important;margin:3px 0;max-height:320px}.waffle-slicer-filter-box-container .goog-menuitem .goog-menuitem-content{margin:0 6px}.waffle-slicer-filter-container{box-shadow:0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12),0px 1px 3px 0px rgba(0,0,0,0.2);background:white;direction:ltr;margin-top:4px;overflow-y:auto;padding-top:8px;position:absolute;right:0;left:0;z-index:1000}.waffle-slicer-filter-container .waffle-filterbox-button-container{display:flex;justify-content:flex-end;min-width:200px}.waffle-slicer-filter-container{border-radius:8px}.waffle-slicer-icon-container{height:24px;padding:5px}.waffle-slicer-icon-filtered{border-radius:50%}.waffle-slicer-row{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:1;-webkit-flex:1;flex:1;margin:0 30px 0 5px;overflow:hidden}.waffle-slicer-row-enabled{cursor:pointer}.waffle-slicer-header{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;max-height:100%;overflow:hidden}.waffle-slicer-title-container{-ms-flex:1;-webkit-flex:1;flex:1;margin:0 10px;overflow:hidden;padding:2px 0;text-overflow:ellipsis;white-space:nowrap}.waffle-slicer-status-container{display:flex;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;border-radius:10%;max-width:100px;overflow:hidden;padding:2px 5px 2px 10px;text-overflow:ellipsis;white-space:nowrap}.waffle-slicer-status-icon-container{-webkit-align-items:center;align-items:center;display:flex;-ms-flex:1;-webkit-flex:1;flex:1}.waffle-slicer-icon-container:hover{border-radius:50%}.waffle-slicer-filter-box-container .waffle-conditionalformat-condition-type-select .goog-flat-menu-button,.waffle-slicer-filter-box-container .waffle-conditionalformat-condition-date-select .goog-flat-menu-button,.waffle-slicer-filter-box-container .waffle-conditionalformat-range-args-holder{width:100%}.waffle-slicer-filter-box-container .waffle-conditionalformat-range-args-holder .waffle-conditionalformat-arg1{margin-right:0;padding:10px;width:100%}.waffle-slicer-filter-box-container .waffle-conditionalformat-arg-separator{margin:0 5px}.waffle-slicer-filter-box-container .waffle-conditionalformat-range-args-holder .waffle-conditionalformat-arg2{padding:10px}.waffle-slicer-help-icon-container{margin:0 3px 0 3px;padding:5px;background-color:transparent}.waffle-spinner{display:inline-block;position:relative;width:28px;height:28px}.waffle-spinner-message-container{position:absolute;width:0;height:0;overflow:hidden}.waffle-spinner-container{width:100%;height:100%}.waffle-spinner.waffle-spinner-active .waffle-spinner-container{-webkit-animation:waffle-spinner-container-rotate 1568ms linear infinite;animation:waffle-spinner-container-rotate 1568ms linear infinite}.waffle-spinner-layer{position:absolute;width:100%;height:100%;opacity:0}.waffle-spinner-color-one{border-color:#4285f4}.waffle-spinner-color-two{border-color:#db4437}.waffle-spinner-color-three{border-color:#f4b400}.waffle-spinner-color-four{border-color:#0f9d58}.waffle-spinner.waffle-spinner-active .waffle-spinner-layer.waffle-spinner-color-one{-webkit-animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.waffle-spinner.waffle-spinner-active .waffle-spinner-layer.waffle-spinner-color-two{-webkit-animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.waffle-spinner.waffle-spinner-active .waffle-spinner-layer.waffle-spinner-color-three{-webkit-animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.waffle-spinner.waffle-spinner-active .waffle-spinner-layer.waffle-spinner-color-four{-webkit-animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:waffle-spinner-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,waffle-spinner-green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.waffle-spinner-gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.waffle-spinner-gap-patch .waffle-spinner-circle{width:1000%;left:-450%}.waffle-spinner-circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.waffle-spinner-circle-clipper .waffle-spinner-circle{width:200%}.waffle-spinner-circle{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent;border-radius:50%;-webkit-animation:none;animation:none}.waffle-spinner-circle-clipper.waffle-spinner-left .waffle-spinner-circle{border-right-color:transparent;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.waffle-spinner-circle-clipper.waffle-spinner-right .waffle-spinner-circle{left:-100%;border-left-color:transparent;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.waffle-spinner.waffle-spinner-active .waffle-spinner-circle-clipper.waffle-spinner-left .waffle-spinner-circle{-webkit-animation:waffle-spinner-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:waffle-spinner-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.waffle-spinner.waffle-spinner-active .waffle-spinner-circle-clipper.waffle-spinner-right .waffle-spinner-circle{-webkit-animation:waffle-spinner-right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:waffle-spinner-right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.waffle-spinner.waffle-spinner-isWarmdown .waffle-spinner-container{-webkit-animation:waffle-spinner-container-rotate 1568ms linear infinite,waffle-spinner-fade-out 400ms cubic-bezier(0.4,0.0,0.2,1);animation:waffle-spinner-container-rotate 1568ms linear infinite,waffle-spinner-fade-out 400ms cubic-bezier(0.4,0.0,0.2,1)}@keyframes waffle-spinner-container-rotate{to{transform:rotate(360deg)}}@keyframes waffle-spinner-fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes waffle-spinner-blue-fade-in-out{from{opacity:0.99}25%{opacity:0.99}26%{opacity:0}89%{opacity:0}90%{opacity:0.99}100%{opacity:0.99}}@keyframes waffle-spinner-red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:0.99}50%{opacity:0.99}51%{opacity:0}}@keyframes waffle-spinner-yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:0.99}75%{opacity:0.99}76%{opacity:0}}@keyframes waffle-spinner-green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:0.99}90%{opacity:0.99}100%{opacity:0}}@keyframes waffle-spinner-left-spin{from{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@keyframes waffle-spinner-right-spin{from{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}@keyframes waffle-spinner-fade-out{from{opacity:0.99}to{opacity:0}}.row-header-wrapper{overflow:hidden;border-width:0;margin:0;padding:0}.column-headers-background,.row-headers-background{z-index:1}.selected-row-headers-background{position:absolute;background-color:#c8c8c8;width:45px;z-index:2}.selected-column-headers-background{position:absolute;background-color:#c8c8c8;height:23px;z-index:2}.waffle td,.grid-fixed-table td{overflow:hidden;border:1px #e5e5e5 solid;border-color:rgba(0,0,0,0.15);border-width:0 1px 1px 0;vertical-align:bottom;line-height:inherit;background-color:#fff;padding:0 3px}.waffle .softmerge{overflow:visible}.softmerge-inner{white-space:nowrap;overflow:hidden;text-overflow:hidden;position:relative}.waffle-ltr td,.grid-fixed-table-ltr td{border-width:0 1px 1px 0}.waffle-rtl td,.grid-fixed-table-rtl td{border-width:0 0 1px 1px}.waffle th,.grid-fixed-table th{font-weight:normal;background:transparent;text-align:center;vertical-align:middle;font-size:8pt;color:#222;height:23px;border:solid 1px #ccc;border-width:0 1px 1px 0;overflow:hidden;padding:0}.waffle-ltr th,.grid-fixed-table-ltr th{border-width:0 1px 1px 0}.waffle-rtl th,.grid-fixed-table-rtl th{border-width:0 0 1px 1px}.no-grid td{border:solid 1px rgb(255,255,255);border:solid 1px rgba(204,204,204,0);border-width:0 1px 1px 0}td.empty{font-size:0!important}th.row-header{background-color:#eee;width:45px;text-align:center;vertical-align:middle;font-size:8pt;color:#333;line-height:inherit;overflow:hidden}th.tall-row,td.tall-row{vertical-align:top}th.row-header-shim,td.row-header-shim{width:0;margin:0;overflow:hidden}div.column-headers-background{position:absolute;height:23px;background:#eee}th.column-headers-background{background:#eee;position:relative}div.row-headers-background{position:absolute;width:45px;background:#eee}th.row-headers-background{background:#eee;position:relative}tr.column-header-row{height:23px}th.selected,td.selected{background-color:#c8c8c8;border-bottom:1px solid #9fc2fd}td.header-shim,th.header-shim{border-width:0 1px 0 0;height:0;margin:0}td.freezebar-cell,th.freezebar-cell{border-color:#dadfe8!important;background-color:#dadfe8;padding:0;border-width:0}th.freezebar-origin-rtl{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -305px -62px}th.freezebar-origin-ltr{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -205px 0}th.freezebar-origin-ltr,th.freezebar-origin-rtl{background-color:#eee;position:relative}th.frozen-column-cell{width:4px}td.freezebar-hidden,th.freezebar-hidden{height:0px;width:0px;display:none}td.frozen-row-cell,th.frozen-row-cell{height:4px}.grid-fixed-table tr{height:10px}.row-header,.row-header-shim{background:#f8f9fa}div.column-headers-background,th.column-headers-background,div.row-headers-background,th.row-headers-background{background:#f8f9fa;color:#5f6368;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-current-theme{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:16px;padding-left:15px}.waffle-current-theme-bar{background:#fff;border-bottom:1px solid #dadce0;z-index:1}.waffle-current-theme-bar-shadow{box-shadow:0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12),0px 1px 3px 0px rgba(0,0,0,0.2)}.waffle-current-theme-common-content{display:flex;-webkit-align-items:center;align-items:center}.waffle-current-theme-preview{padding-bottom:20px}.waffle-current-theme-title-section{-ms-flex:1;-webkit-flex:1;flex:1;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin:16px 0;overflow:hidden}.waffle-custom-theme-warning-message{background:#f4f4f4;height:32px;margin:auto;padding:10px}.waffle-theme-thumbnail.waffle-theme-active{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);border:1px solid #34a853}.waffle-theme-button{outline:none}.waffle-theme-container-element{background:#fff;padding-top:16px;outline:none}.waffle-theme-container-element-focus .waffle-theme-thumbnail{border-color:#1a73e8}.waffle-theme-editor-content{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%}.waffle-theme-editor-send-feedback-container{text-align:end;padding:10px}.waffle-theme-editor-themes-container{overflow:auto}.waffle-theme-edit-panel-color{display:flex;margin:5px 0}.waffle-theme-edit-panel-color-text{-ms-flex:1;-webkit-flex:1;flex:1;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:40px;overflow:hidden;text-overflow:ellipsis}.waffle-theme-edit-panel-font-family{margin-top:5px;margin-bottom:25px}.waffle-theme-editor-edit-panel{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;overflow:auto;padding:25px}.waffle-theme-edit-panel-color-picker{height:32px;margin:auto}.waffle-theme-edit-panel-title{font-weight:500;overflow:hidden;text-overflow:ellipsis}.waffle-theme-title.waffle-current-theme-title{line-height:20px}.waffle-theme-title{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;line-height:32px;overflow:hidden;padding:0px 15px;text-overflow:ellipsis;white-space:nowrap}.waffle-theme-thumbnail{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;cursor:pointer;border:1px solid #dadce0;height:154px;margin:auto;width:250px}.waffle-filterbox-container{padding-top:4px;padding-bottom:0;width:300px}.waffle-filtermenu,.waffle-db-filter-by-value-container{background-color:#fff;padding-left:17px;padding-right:20px;letter-spacing:0.2px}.waffle-filterbox-boolean-condition-picker{background-color:#fff;padding-left:17px;padding-right:20px;letter-spacing:0.2px}.waffle-filterbox-with-condition:focus{outline:none}.waffle-autofilter-sort{padding-left:20px;margin:3px 0px 3px 0px}.waffle-autofilter-sort.waffle-datasourcesheet-sort-selected.hc-enabled-focus{outline:1px solid}.waffle-autofilter-sort.waffle-datasourcesheet-sort-selected{background-color:#e8eaed}.goog-menu.waffle-datasourcesheet-filterbox-container .goog-menuitem{padding-left:17px}.waffle-datasourcesheet-filterbox-container .goog-menuseparator{margin-left:17px;margin-right:20px}.waffle-filterbox-container.waffle-datasourcesheet-filterbox-container .waffle-conditionalformat-condition-type-select .goog-flat-menu-button{width:100%}.waffle-filterbox-content{padding:3px 8px 2px 8px}.waffle-filterbox-content>.goog-menuitem{padding:6px 0px 6px 22px}.waffle-filterbox-label{margin-top:15px;margin-bottom:13px}.waffle-filterbox-with-condition .waffle-filterbox-label{margin-top:0}.waffle-filterbox-label-icon-jfk{background:none;float:right}.waffle-filterbox-button-container{padding:14px 0 14px 20px;text-align:right}.waffle-filterbox-with-condition{overflow-y:auto}.waffle-filterbox-input-icon{background:none}.waffle-action-menu{max-height:400px;overflow:auto}.waffle-recording-toast{background-color:#fff;border-bottom:1px solid rgba(0,0,0,0.14);border-radius:8px;bottom:52px;box-shadow:0 4px 8px 3px rgba(60,64,67,.15);color:#3c4043;font:14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;outline:none;position:absolute}.waffle-recording-toast-top{height:64px;min-width:454px;overflow:hidden;position:relative}.waffle-recording-toast-bottom{background-color:#fff;border-radius:0 0 8px 8px;border-top:1px solid rgba(0,0,0,0.14);box-sizing:border-box;color:#3c4043;font-size:14px;font-weight:500;width:100%}.waffle-recording-toast-relativity-split .jfk-radiobutton{max-width:232px;padding:12px 12px}.waffle-recording-toast-new-content.waffle-recording-toast-slide-in{-webkit-animation:waffle-recording-toast-new-message 2.1s cubic-bezier(0.4,0,0.2,1) forwards;-moz-animation:waffle-recording-toast-new-message 2.1s cubic-bezier(0.4,0,0.2,1) forwards;-o-animation:waffle-recording-toast-new-message 2.1s cubic-bezier(0.4,0,0.2,1) forwards;animation:waffle-recording-toast-new-message 2.1s cubic-bezier(0.4,0,0.2,1) forwards;opacity:1}.waffle-recording-toast-new-content{overflow:hidden;position:absolute;text-overflow:ellipsis;top:-42px;white-space:nowrap}@keyframes waffle-recording-toast-new-message{0%{top:-42px}14%,86%{top:0}100%{top:42px}}.waffle-recording-toast-content{display:inline-block;height:64px;line-height:64px;margin:0 4px 0 16px}.waffle-recording-toast-content,.waffle-recording-toast-new-content,.waffle-recording-toast-default-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:205px}.waffle-recording-toast-default-content{opacity:1;transition:opacity 0.3s cubic-bezier(0.4,0,0.2,1)}.waffle-recording-toast-relativity-split{width:50%;display:inline-block;vertical-align:top}.waffle-recording-toast-label-description{color:#3c4043;font-size:12px;font-weight:normal;margin-top:4px}.waffle-recording-toast-right{float:right}.waffle-recording-toast-expand-section{display:inline-block;border-left:1px solid rgba(0,0,0,0.14);box-sizing:border-box;height:64px;padding:20px 5px;vertical-align:bottom}.waffle-recording-toast-expand{border:none;border-radius:2px;display:inline-block;outline:none;padding:3px}.waffle-recording-toast .goog-flat-button{background-color:transparent;border:none;border-radius:2px;color:#5f6368;display:inline-block;font:14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;height:16px;margin:14px 0;padding:10px}.waffle-recording-toast-cancel,.waffle-recording-toast-stop{text-transform:none}.waffle-recording-toast .waffle-recording-toast-stop{margin:14px 16px}.waffle-recording-toast-close-button{background-color:transparent;border:none;cursor:pointer;display:inline-block;margin:0;padding:0}.waffle-recording-toast-relativity{display:inline-block;padding-left:12px}.waffle-recording-toast-relativity-label{display:inline-block;padding-left:24px}.waffle-edit-actions-dialog,.waffle-import-custom-function-actions-dialog,.waffle-record-script-dialog{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.waffle-record-script-dialog-gm.modal-dialog{width:286px}.waffle-record-script-dialog.modal-dialog{border:none;box-shadow:0 4px 16px 0 rgba(0,0,0,.4);min-height:239px;padding:0;width:334px}.waffle-record-script-dialog .modal-dialog-content{line-height:1em;padding:0 24px}.waffle-record-script-dialog .modal-dialog-title{color:rgba(0,0,0,0.87);font-size:19px;font-weight:500;margin:0;padding:21px 24px 16px 24px}.waffle-record-script-dialog .modal-dialog-buttons{float:right;margin:33px 0 14px 0}.waffle-record-script-dialog-label{color:rgba(0,0,0,0.54);font-size:11px;padding-top:3px}.waffle-record-script-dialog-gm .waffle-record-script-dialog-label{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;padding:0 0 4px 0}.waffle-record-script-dialog-name-section{margin-bottom:16px}.waffle-record-script-dialog .docs-charts-editor-material-text-input,.waffle-record-script-dialog .docs-charts-editor-material-text-input input{font-size:13px}.waffle-record-script-dialog-gm .waffle-record-script-name-input{width:100%}.waffle-record-script-shortcut input{margin-left:8px;text-align:center;width:60px}.waffle-record-script-dialog-gm .waffle-record-script-shortcut label{margin-right:8px}.waffle-record-script-dialog-gm .waffle-record-script-shortcut input{width:74px}.waffle-recording-toast .jfk-radiobutton-label{margin-left:28px}.waffle-recording-toast .jfk-radiobutton-radio,.waffle-recording-toast .jfk-radiobutton-hover .jfk-radiobutton-radio{border:2px solid #bebebe;height:16px;left:8px;top:12px;width:16px}.waffle-recording-toast .jfk-radiobutton-radio::after{background:#188038;border:4px solid #188038;box-sizing:border-box;height:8px;left:2px;top:2px;width:8px}.waffle-recording-toast .jfk-radiobutton-checked .jfk-radiobutton-radio{border:2px solid #188038}.waffle-recording-toast-relativity-split .jfk-radiobutton-focused .jfk-radiobutton-radio{border:2px solid #188038}.waffle-recording-toast-relativity-split .jfk-radiobutton-checked.jfk-radiobutton-focused .jfk-radiobutton-radio{border:2px solid #0d652d}.waffle-recording-toast-relativity-split .jfk-radiobutton-checked.jfk-radiobutton-focused .jfk-radiobutton-radio::after{background-color:#0d652d;border:4px solid #0d652d}.waffle-recording-toast-icon{color:#ea4335;display:inline-block;height:16px;margin-bottom:24px;margin-left:16px;margin-top:24px;width:16px}.waffle-recording-toast-outer-circle{border:2px solid #ff5959;border-radius:50%;box-sizing:border-box;height:16px;position:relative;width:16px}.waffle-recording-toast-inner-circle{-webkit-animation:waffle-recording-toast-recording-cycle 1333ms steps(1) infinite;-moz-animation:waffle-recording-toast-recording-cycle 1333ms steps(1) infinite;-o-animation:waffle-recording-toast-recording-cycle 1333ms steps(1) infinite;animation:waffle-recording-toast-recording-cycle 1333ms steps(1) infinite;border:4px solid #ff5959;border-radius:50%;box-sizing:border-box;height:8px;left:2px;position:relative;top:2px;width:8px}@keyframes waffle-recording-toast-recording-cycle{0%{border:4px solid #ff5959}50%{border:0}100%{border:4px solid #ff5959}}.waffle-recording-toast-expand-icon{height:18px;width:18px}.waffle-recording-toast-expand-icon::after{content:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48ZyBzdHlsZT0iZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpub25lIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5IDkpc2NhbGUoMSAtMSl0cmFuc2xhdGUoLTkgLTkpIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiLz48cG9seWdvbiBwb2ludHM9IjkgNSAzIDExIDQuNCAxMi40IDkgNy44IDEzLjYgMTIuNCAxNSAxMSIgZmlsbD0iIzVmNjM2OCIvPjwvZz48L2c+PC9zdmc+")}.goog-zippy-collapsed .waffle-recording-toast-expand-icon{transform:rotate(-180deg)}.waffle-recording-toast-relativity-info{color:white;display:inline-block;float:right;font-weight:500;height:20px;text-align:center;width:20px}.waffle-recording-toast-info-circle{border:2px solid white;border-radius:50%;height:16px;left:-2px;position:relative;top:-2px;width:16px}.waffle-edit-actions-dialog.modal-dialog{box-shadow:0 4px 16px 0 rgba(0,0,0,.4);border:none;padding:0px;width:441px}.waffle-edit-actions-dialog .modal-dialog-title{color:rgba(0,0,0,0.87);font-size:18px;font-weight:500;margin-bottom:16px;padding:24px 24px 0 24px}.waffle-import-custom-function-actions-dialog .modal-dialog-title .title-action-number{color:rgba(0,0,0,0.54);font-size:18px;font-weight:400;margin-left:5px}.waffle-edit-actions-dialog .modal-dialog-buttons{float:right;margin-bottom:14px;margin-top:8px}.waffle-edit-actions-dialog .modal-dialog-buttons button,.waffle-record-script-dialog .modal-dialog-buttons button{background-color:white;background-image:none;border:none;border-radius:2px;color:rgba(0,0,0,0.54);font-size:13px;font-weight:500;height:32px;margin-right:8px;min-width:64px;padding-left:8px;padding-right:8px;text-transform:uppercase}.waffle-edit-actions-dialog .modal-dialog-buttons .goog-buttonset-default,.waffle-record-script-dialog .modal-dialog-buttons .goog-buttonset-default,.waffle-recording-toast .waffle-recording-toast-stop{color:#4285f4}.waffle-edit-actions-dialog .modal-dialog-buttons button:hover:enabled,.waffle-record-script-dialog .modal-dialog-buttons button:hover:enabled,.waffle-recording-toast .goog-flat-button-hover,.waffle-recording-toast-expand:hover{background-color:rgba(0,0,0,0.12)}.waffle-edit-actions-dialog .modal-dialog-buttons button:focus,.waffle-record-script-dialog .modal-dialog-buttons button:focus,.waffle-recording-toast .goog-flat-button-focused,.waffle-recording-toast-expand:focus{background-color:#ddd;background-image:none;border:none}.waffle-edit-actions-dialog .modal-dialog-buttons button:active:enabled,.waffle-record-script-dialog .modal-dialog-buttons button:active:enabled,.waffle-recording-toast .goog-flat-button-active,.waffle-recording-toast-expand:active{background-color:rgba(0,0,0,0.12);color:rgba(0,0,0,0.87)}.waffle-edit-actions-dialog .modal-dialog-buttons button.goog-buttonset-default:hover:enabled,.waffle-record-script-dialog .modal-dialog-buttons button.goog-buttonset-default:hover:enabled,.waffle-recording-toast .waffle-recording-toast-stop.goog-flat-button-hover{background-color:rgba(66,133,244,0.12)}.waffle-edit-actions-dialog .modal-dialog-buttons button.goog-buttonset-default:active:enabled,.waffle-record-script-dialog .modal-dialog-buttons button.goog-buttonset-default:active:enabled,.waffle-recording-toast .waffle-recording-toast-stop.goog-flat-button-active,.waffle-recording-toast .waffle-recording-toast-stop.goog-flat-button-enabled{background-color:rgba(66,133,244,0.32);color:#3367d6}.waffle-import-custom-function-add-function .goog-flat-button,.waffle-recording-toast-stop.goog-flat-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;outline:none;text-transform:none}.waffle-import-custom-function-add-function .goog-flat-button-hover,.waffle-recording-toast-stop.goog-flat-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;color:#188038}.waffle-import-custom-function-add-function .goog-flat-button-focused,.waffle-recording-toast-stop.goog-flat-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;color:#188038}.waffle-import-custom-function-add-function .goog-flat-button-active,.waffle-recording-toast-stop.goog-flat-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#188038;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-import-custom-function-view-script .goog-flat-button,.waffle-recording-toast-cancel.goog-flat-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#5f6368;outline:none;text-transform:none}.waffle-import-custom-function-view-script .goog-flat-button-hover,.waffle-recording-toast-cancel.goog-flat-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;color:#5f6368}.waffle-import-custom-function-view-script .goog-flat-button-focused,.waffle-recording-toast-cancel.goog-flat-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;color:#5f6368}.waffle-import-custom-function-view-script .goog-flat-button-active,.waffle-recording-toast-cancel.goog-flat-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#5f6368;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-recording-toast-expand:hover{background-color:#f8fcf9}.waffle-recording-toast-expand:focus{background-color:#e7f5eb}.waffle-recording-toast-expand:focus:hover{background-color:#dff2e4}.waffle-recording-toast-expand:active{background-color:#dff2e4;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-edit-actions-dialog .waffle-edit-actions-row{padding-bottom:10px;padding-top:10px}.waffle-edit-actions-row{color:rgba(0,0,0,0.87);font-size:13px;font-weight:400;height:30px}.waffle-edit-actions-row-name{float:left;margin-right:10px;width:175px}.waffle-edit-actions-row-shortcut-prefix{display:inline-block;margin-right:5px;padding-top:4px}.waffle-edit-actions-row-shortcut{display:inline-block;width:32px}.waffle-edit-actions-row-shortcut-input{max-width:100%;text-align:center}.waffle-edit-actions-row-name input:disabled{color:rgba(0,0,0,0.87);border:none}.waffle-edit-actions-row-name input{max-width:100%}.waffle-edit-actions-dialog .modal-dialog-title-close{margin-right:7px;padding:24px 17px 24px 24px}.waffle-edit-actions-dialog-scroll{max-height:346px;min-height:160px;overflow-y:auto;padding:10px 24px 10px 24px}.waffle-edit-actions-dialog-gm .waffle-edit-actions-dialog-scroll{padding:0 4px}.waffle-edit-actions-options{float:right}.waffle-edit-actions-row-menu{display:inline-block;margin-left:10px}.waffle-edit-actions-options .goog-menuitem{padding-right:30px}.waffle-edit-actions-row .goog-menu{display:inline-block;overflow:hidden}.waffle-edit-actions-shortcut-conflict-message{clear:left;color:#db4437;font-size:11px}.waffle-edit-actions-undo-remove-toast{z-index:1003}.waffle-edit-actions-dialog .modal-dialog-buttons button:disabled{opacity:0.38}.waffle-import-custom-function-title-description{color:rgba(0,0,0,0.54);font-size:11px;font-weight:400}.waffle-import-custom-functions-row-container{padding-top:8px}.waffle-import-custom-function-actions-dialog.modal-dialog{border:none;box-shadow:0 4px 16px 0 rgba(0,0,0,.4);padding:24px 12px;width:451px}.waffle-import-custom-function-actions-dialog .modal-dialog-title{color:rgba(0,0,0,0.87);font-size:18px;font-weight:500;margin-bottom:16px;padding:0 12px}.waffle-import-custom-function-actions-title-separator{border-bottom:1px solid rgba(0,0,0,0.12);margin:0 12px}.waffle-import-custom-function-actions-dialog-scroll{max-height:381px;min-height:185px;overflow-y:scroll;padding:0 1px 10px 2px}.waffle-import-custom-function-row{margin-top:8px;padding-left:10px}.waffle-import-custom-function-add-function{display:inline-block;float:right}.waffle-import-custom-function-add-function button{background-color:white;border:none;border-radius:2px;color:#4285f4;font:500 15px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:32px;padding:8px;text-transform:uppercase}.waffle-import-custom-function-add-function button:hover{background-color:rgba(66,133,244,0.12)}.waffle-import-custom-function-add-function button:active{background-color:rgba(66,133,244,0.32);color:#3367d6}.waffle-import-custom-function-name{color:rgba(0,0,0,0.87);font-weight:500;font-size:13px}.waffle-import-custom-function-metadata{color:rgba(0,0,0,0.54);font-size:11px;font-weight:400;margin-top:6px}.waffle-import-custom-function-description-label{font-weight:500}.waffle-import-custom-function-project-name{display:inline-block}.waffle-import-custom-function-file-name{display:inline-block;margin-left:16px}.waffle-import-custom-function-view-script{display:inline-block}.waffle-import-custom-function-view-script button{background-color:white;background-image:none;border:none;border-radius:2px;color:rgba(0,0,0,0.6);font:500 15px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;height:32px;margin-left:-8px;text-transform:uppercase;padding:8px;line-height:1em}.waffle-import-custom-function-view-script button:hover{background-color:rgba(0,0,0,0.12)}.waffle-import-custom-function-view-script button:active{background-color:rgba(0,0,0,0.12);color:rgba(0,0,0,0.87)}.function-description-seperator{padding-left:5px}.waffle-import-custom-function-actions-status-toast{z-index:1003}.waffle-import-custom-function-actions-checkmark{height:24px;width:24px}.waffle-import-custom-function-actions-checkmark::after{content:url("data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPScyNHB4JyBoZWlnaHQ9JzI0cHgnIHZpZXdCb3g9JzAgMCAxNSAxNSc+PHBhdGggZmlsbD0nZ3JleScgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNywxNCBDMTAuODY1OTkzMiwxNCAxNCwxMC44NjU5OTMyIDE0LDcgQzE0LDMuMTM0MDA2NzUgMTAuODY1OTkzMiwwIDcsMCBDMy4xMzQwMDY3NSwwIDAsMy4xMzQwMDY3NSAwLDcgQzAsMTAuODY1OTkzMiAzLjEzNDAwNjc1LDE0IDcsMTQgWiBNMi4yNSw3LjUgTDMuMzA3NSw2LjQ0MjUgTDUuNSw4LjYyNzUgTDEwLjY5MjUsMy40MzUgTDExLjc1LDQuNSBMNS41LDEwLjc1IEwyLjI1LDcuNSBaJz48L3BhdGg+PC9zdmc+")}.waffle-edit-actions-empty{color:rgba(0,0,0,0.54);font-size:15px;font-weight:400;line-height:160px;text-align:center}.docs-ui-toast-content .waffle-ellipses{left:4px;top:3px}.grid-shim-bottom{border-top:1px solid #d9d9d9}.grid-shim-end-ltr{border-left:1px solid #d9d9d9}.grid-shim-end-rtl{border-right:1px solid #d9d9d9}.row-freezebar-extension{background-color:#dadfe8;border-top:1px solid #d9d9d9;border-bottom:1px solid #dbdbdb;position:relative}.grid-bottom-bar{border-top:1px solid #d9d9d9}.grid-bottom-bar{border-top:1px solid #aaa}.column-freezebar-extension{height:100%;background-color:#dadfe8;border-left:1px solid #d9d9d9;border-right:1px solid #dbdbdb;position:relative}.mimic-overlay::-webkit-scrollbar{background-color:rgba(255,255,255,1.0)}.mimic-overlay::-webkit-scrollbar-corner{background-color:rgba(255,255,255,1.0)}.scroll-container::-webkit-scrollbar:vertical{width:12px}.scroll-container::-webkit-scrollbar:horizontal{height:12px}.scroll-container::-webkit-scrollbar-button:start{display:none}.scroll-container::-webkit-scrollbar-button:end{display:block}.scroll-container::-webkit-scrollbar-button{border:1px solid #d9d9d9}.scroll-container::-webkit-scrollbar-button:horizontal{border-width:1px 0 0 0}.scroll-container-ltr::-webkit-scrollbar-button:vertical{border-width:0 0 0 1px}.scroll-container-rtl::-webkit-scrollbar-button:vertical{border-width:0 1px 0 0}.scroll-container::-webkit-scrollbar-button:horizontal:increment{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -663px -13px;width:15px;padding-left:1px;background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8}.scroll-container::-webkit-scrollbar-button:horizontal:increment:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -395px -62px}.scroll-container::-webkit-scrollbar-button:horizontal:increment:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -679px -13px}.scroll-container::-webkit-scrollbar-button:horizontal:decrement{border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -283px -62px;width:17px}.scroll-container::-webkit-scrollbar-button:horizontal:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -145px -70px}.scroll-container::-webkit-scrollbar-button:horizontal:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -552px 0}.scroll-container::-webkit-scrollbar-button:vertical:increment{padding-top:1px;background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -531px -24px;height:15px}.scroll-container::-webkit-scrollbar-button:vertical:increment:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -570px -42px}.scroll-container::-webkit-scrollbar-button:vertical:increment:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -83px -46px}.scroll-container::-webkit-scrollbar-button:vertical:decrement{border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -631px -27px;height:17px}.scroll-container::-webkit-scrollbar-button:vertical:decrement:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -180px -58px}.scroll-container::-webkit-scrollbar-button:vertical:decrement:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -776px -28px}.scroll-container::-webkit-scrollbar-track:vertical{background-clip:border-box;border:1px solid #d9d9d9;box-shadow:none;background-color:#f8f8f8}.scroll-container-ltr::-webkit-scrollbar-track:vertical{border-width:0 0 0 1px}.scroll-container-rtl::-webkit-scrollbar-track:vertical{border-width:0 1px 0 0}.scroll-container::-webkit-scrollbar-track:horizontal{background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8}.scroll-container::-webkit-scrollbar-track:hover{background:none;box-shadow:none}.native-scrollbar::-webkit-scrollbar-track:hover{border-width:0;background:none;box-shadow:none}.scroll-container::-webkit-scrollbar-track:horizontal:hover,.scroll-container::-webkit-scrollbar-track:vertical:hover{box-shadow:none;background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8}.scroll-container::-webkit-scrollbar-track:horizontal:hover{border-width:1px 0 0 0}.scroll-container::-webkit-scrollbar-track:vertical:hover{border-width:0 1px 0 1px}.scroll-container::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;min-height:28px;padding:none;box-shadow:none;border-width:1px 1px 1px 1px}.scroll-container::-webkit-scrollbar-thumb:horizontal{box-shadow:none;border-width:2px 1px 1px 1px}.scroll-container::-webkit-scrollbar-thumb:vertical{padding:1px 1px 1px 1px;box-shadow:none}.scroll-container-ltr::-webkit-scrollbar-thumb:vertical{border-width:1px 1px 1px 2px}.scroll-container-rtl::-webkit-scrollbar-thumb:vertical{border-width:1px 2px 1px 1px}.scroll-container::-webkit-scrollbar-thumb:hover{box-shadow:none}.native-scrollbar::-webkit-scrollbar-thumb:hover{background:none;background-color:#bdc1c6;box-shadow:none}.native-scrollbar::-webkit-scrollbar-thumb:active{background-color:#80868b}.docs-gm .native-scrollbar::-webkit-scrollbar-track:vertical,.docs-gm .native-scrollbar::-webkit-scrollbar-track:horizontal,.docs-gm .native-scrollbar::-webkit-scrollbar-track:horizontal:hover,.docs-gm .native-scrollbar::-webkit-scrollbar-track:vertical:hover{background-color:#fff}.scroll-container::-webkit-scrollbar-corner{border:1px solid #d9d9d9}.scroll-container-rtl::-webkit-scrollbar-corner{border-width:1px 1px 0 0}.scroll-container-ltr::-webkit-scrollbar-corner{border-width:1px 0 0 1px}.native-scrollbar::-webkit-scrollbar:vertical{width:12px}.native-scrollbar::-webkit-scrollbar:horizontal{height:12px}.native-scrollbar::-webkit-scrollbar-button:start{display:none}.native-scrollbar::-webkit-scrollbar-button:end{display:block}.native-scrollbar::-webkit-scrollbar-button{border:1px solid #d9d9d9}.native-scrollbar::-webkit-scrollbar-button:horizontal{border-width:1px 0 0 0}.native-scrollbar-ltr::-webkit-scrollbar-button:vertical{border-width:0 0 0 1px}.native-scrollbar-rtl::-webkit-scrollbar-button:vertical{border-width:0 1px 0 0}.native-scrollbar::-webkit-scrollbar-button:horizontal:increment{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -663px -13px;width:15px;padding-left:1px;background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8}.native-scrollbar::-webkit-scrollbar-button:horizontal:increment:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -395px -62px}.native-scrollbar::-webkit-scrollbar-button:horizontal:increment:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -679px -13px}.native-scrollbar::-webkit-scrollbar-button:horizontal:decrement{border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -283px -62px;width:17px}.native-scrollbar::-webkit-scrollbar-button:horizontal:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -145px -70px}.native-scrollbar::-webkit-scrollbar-button:horizontal:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -552px 0}.native-scrollbar::-webkit-scrollbar-button:vertical:increment{padding-top:1px;background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -531px -24px;height:15px}.native-scrollbar::-webkit-scrollbar-button:vertical:increment:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -570px -42px}.native-scrollbar::-webkit-scrollbar-button:vertical:increment:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -83px -46px}.native-scrollbar::-webkit-scrollbar-button:vertical:decrement{border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -631px -27px;height:17px}.native-scrollbar::-webkit-scrollbar-button:vertical:decrement:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -180px -58px}.native-scrollbar::-webkit-scrollbar-button:vertical:decrement:active{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -776px -28px}.native-scrollbar::-webkit-scrollbar-track{margin:0px}.native-scrollbar::-webkit-scrollbar-track:vertical{background-clip:border-box;border:1px solid #d9d9d9;box-shadow:none;background-color:#f8f8f8}.native-scrollbar-ltr::-webkit-scrollbar-track:vertical{border-width:0 0 0 1px}.native-scrollbar-rtl::-webkit-scrollbar-track:vertical{border-width:0 1px 0 0}.native-scrollbar::-webkit-scrollbar-track:horizontal{background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8}.native-scrollbar::-webkit-scrollbar-track:horizontal:hover,.native-scrollbar::-webkit-scrollbar-track:vertical:hover{box-shadow:none;background-clip:border-box;border:1px solid #d9d9d9;border-width:1px 0 0 0;box-shadow:none;background-color:#f8f8f8}.native-scrollbar::-webkit-scrollbar-track:horizontal:hover{border-width:1px 0 0 0}.native-scrollbar::-webkit-scrollbar-track:vertical:hover{border-width:0 1px 0 1px}.native-scrollbar::-webkit-scrollbar-thumb:horizontal{box-shadow:none;border-width:2px 1px 1px 1px}.native-scrollbar::-webkit-scrollbar-thumb:vertical{padding:1px 1px 1px 1px;box-shadow:none}.native-scrollbar-ltr::-webkit-scrollbar-thumb:vertical{border-width:1px 1px 1px 2px}.native-scrollbar-rtl::-webkit-scrollbar-thumb:vertical{border-width:1px 2px 1px 1px}.native-scrollbar::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#dadce0;border:solid transparent;border-width:1px 1px 1px 1px;box-shadow:none;min-height:28px;padding:none}.native-scrollbar::-webkit-scrollbar-corner{border:1px solid #d9d9d9}.native-scrollbar-rtl::-webkit-scrollbar-corner{border-width:1px 1px 0 0}.native-scrollbar-ltr::-webkit-scrollbar-corner{border-width:1px 0 0 1px}.native-scrollbar-x{overflow-x:scroll;overflow-y:hidden;border:1px solid #d9d9d9;border-width:0 1px 0 0}.native-scrollbar-y{overflow-x:hidden;overflow-y:scroll;border:1px solid #d9d9d9;border-width:0 0 1px 0}.waffle-verbal-title{text-align:center}.waffle-verbal-wrapper{height:0;overflow:hidden;position:absolute;width:0}.waffle-verbal-highlights-container{background-color:white;border:1px solid #9e9e9e;border-left:4px solid #009e55;font-family:Roboto,Arial,sans-serif;font-size:13px;margin:3px -1px 0 -1px;min-width:400px;padding:20px 20px 15px 20px;white-space:normal}.waffle-verbal-highlights-icon{margin-right:4px}.waffle-verbal-highlights-header{color:#009e55;font-weight:500;margin-bottom:10px}.waffle-verbal-highlights-header-left{float:left}.waffle-verbal-highlights-title-icon{display:inline-block;padding-bottom:2px;padding-right:4px;margin-left:-2px}.waffle-verbal-highlights-title{display:inline-block;vertical-align:bottom}.waffle-verbal-highlights-close{float:right;opacity:0.46}.waffle-verbal-highlights-close.goog-flat-button{position:static;border:none;margin:-4px -4px 0 0;padding:0;background-color:transparent}.waffle-verbal-highlights-bullet{color:#515151;font-family:Roboto,Arial,sans-serif;font-size:13px;margin-top:10px;white-space:pre-wrap}.waffle-verbal-highlights-empty-notice{color:#9e9e9e;margin-bottom:25px;text-align:center}.waffle-verbal-highlights-pager{float:right}.waffle-verbal-highlights-viewall.goog-flat-button{color:#009e55;background-color:transparent;border:none;display:inline-block;float:left;font-family:Roboto,Arial,sans-serif;font-size:13px;padding:0}.waffle-verbal-highlights-previous.goog-flat-button,.waffle-verbal-highlights-next.goog-flat-button{color:#009e55;background-color:transparent;border:none;display:inline-block;font-family:Roboto,Arial,sans-serif;font-size:13px;padding:0}.waffle-verbal-highlights-previous.goog-flat-button-disabled,.waffle-verbal-highlights-next.goog-flat-button-disabled{color:#ccc}.waffle-verbal-highlights-counter{color:#9e9e9e;display:inline-block;font-family:Roboto,Arial,sans-serif;font-size:13px;text-align:center;width:70px}.waffle-verbal-highlights-floatclear{clear:both}.waffle-verbal-highlights-one-option-footer{margin:15px 0}.waffle-verbal-highlights-footer{margin:15px 0 0 0}.waffle-verbal-highlights-viewall-footer.goog-flat-button{background-color:transparent;border:none;margin:15px 0 0 -5px;padding:0}.waffle-verbal-highlights-viewall-back-label{color:#009e55;display:inline-block;font-family:Roboto,Arial,sans-serif;font-size:13px;margin-left:5px;vertical-align:middle}.waffle-overflow-menu-material{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);cursor:pointer;height:18px;opacity:0.54;width:18px}.waffle-overflow-menu-material::after{content:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgdmlld2JveD0iMCAwIDIwIDIwIiBoZWlnaHQ9IjIwIj48cGF0aCBkPSJtMTAgNmMxLjEgMCAyLTAuOSAyLTJzLTAuOS0yLTItMi0yIDAuOS0yIDIgMC45IDIgMiAyem0wIDJjLTEuMSAwLTIgMC45LTIgMnMwLjkgMiAyIDIgMi0wLjkgMi0yLTAuOS0yLTItMnptMCA2Yy0xLjEgMC0yIDAuOS0yIDJzMC45IDIgMiAyIDItMC45IDItMi0wLjktMi0yLTJ6Ii8+PC9zdmc+")}.waffle-overflow-menu-material.waffle-overflow-menu-material-white::after{content:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld2JveD0iMCAwIDIwIDIwIj48cGF0aCBkPSJNMTAgNmMxLjEgMCAyLTAuOSAyLTJzLTAuOS0yLTItMlM4IDIuOSA4IDQgOC45IDYgMTAgNnpNMTAgOGMtMS4xIDAtMiAwLjktMiAyczAuOSAyIDIgMiAyLTAuOSAyLTJTMTEuMSA4IDEwIDh6TTEwIDE0Yy0xLjEgMC0yIDAuOS0yIDJzMC45IDIgMiAyIDItMC45IDItMlMxMS4xIDE0IDEwIDE0eiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==")}.waffle-overflow-menu-material:hover{opacity:0.70}.goog-modalpopup-bg,.modal-dialog-bg{z-index:1002}.goog-modalpopup,.modal-dialog{z-index:1003}.waffle-dialog-header{font-weight:500;font-size:14px;line-height:2.25em}.menuMainLink{border-style:none;border-width:0px;font-size:12px;color:#15c;text-decoration:underline;cursor:pointer;padding:2px 0 0 6px;vertical-align:middle}.dlgImportDisabled{color:#666}div.uploadBox{margin-top:8px}div.dlgImportClear{width:100%;height:1px;clear:both}div.dlgImportButterPane,div.dlgRitzImportButterPane{background-color:#ffd969;padding:8px;margin:8px -8px 0 -8px}span.dlgImportButterPane{padding-left:20px}span.dlgRitzImportButterPane{display:block;padding-top:10px}div.dlgImportHeader{font-weight:500;margin-top:10px}.dlgImportError{font-weight:500;color:red}span.waitSpinner{padding-left:5px}#dlgImportCustomOption{display:inline-block}div.dlgImport{width:730px;font-size:10pt;line-height:130%}div.dlgRitzImport{width:310px;font-size:10pt;line-height:130%}#customDelimiter{width:40px}.dlgImport .jfk-radiobutton,.dlgRitzImport .jfk-radiobutton{display:block}.dlgImportPreview{background-color:#eee;height:300px;width:360px;border:1px solid #ccc;display:table-cell;text-align:center;vertical-align:middle;overflow:scroll}div.dlgImportPreviewMessage{color:gray}table.dlgImport{width:376px;border:0px;padding:0px}.waffle-alert-dialog-inner{width:376px;font-size:10pt}.pub-dialog-wrap{width:500px}.pub-dialog-txt{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500}.pub-dialog-content-div{padding:0px 0px 10px 30px}.pub-dialog-checkbox-label{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px}.pub-dialog-url-box{width:450px;font-family:monospace;padding:5px}.pub-dialog-input{width:220px}.pub-dialog-date-label{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;color:#afafaf;padding:0px 0px 0px 3px}.pub-dialog-input-div{padding:0px 0px 6px 0px}.pub-dialog-helpertext{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;color:#afafaf}.pub-dialog-hr{background-color:#bfbfbf;color:#bfbfbf;height:1px;width:96%}.pub-dialog-hr-div{padding:2px 0 2px 0}.pub-dialog-stjw-infotext-span{font-size:11px;padding-left:5px}.pub-dialog-link-options-document-part-menu-button,.pub-dialog-published-content-menu-button{margin-left:0;max-width:150px}.pub-dialog-link-options-document-part-menu-button-content,.pub-dialog-published-content-menu-button-content{overflow:hidden;text-overflow:ellipsis;width:100%}.pub-dialog-link-options-container,.pub-dialog-published-content-container{margin-top:20px}.pub-dialog-link-options-menu,.pub-dialog-published-content-menu{overflow:auto}.pub-dialog-link-options-chart-menu-item,.pub-dialog-published-content-chart-menu-item{max-width:340px;overflow:hidden;padding-left:15px;text-overflow:ellipsis}.pub-dialog-chart-notice{color:#999;font-size:11px;margin-top:5px}.pub-dialog-chart-notice-emphasis{color:#666;font-weight:500}.dialog-publishobject-div{border:1px solid #ccc;background-color:#efefef;font-family:inherit;font-size:12px;max-height:500px;overflow:auto;padding:15px;width:350px}.dialog-publishobject-msg{font-size:12px}.waffle-selection-dialog-content{margin-right:0;max-height:400px;overflow-x:auto;overflow-y:overlay;width:314px}.waffle-selection-dialog-editbox{margin:5px 0;width:260px}.waffle-selection-dialog-active-editbox,.waffle-flat-multi-range-active-editbox{border:none;box-shadow:none}.waffle-selection-dialog-remove,.waffle-flat-multi-range-remove{color:#999;cursor:pointer;display:inline;margin:0 0 0 8px}.waffle-selection-dialog-remove .docs-icon{width:24px;height:24px;margin:0}.waffle-flat-multi-range-remove-table{display:inline-block}.waffle-selection-dialog-error{color:#212121;font-size:13px}.waffle-dv-trrules .waffle-range-selection-container{width:160px}.waffle-dv-recs-title-bar{font-size:13px;margin:25px 0 9px 3px}.waffle-dv-rec-wrapper{background-color:#eee;margin:0 -42px;min-height:42px;overflow:hidden;padding:5px 38px;position:relative;white-space:nowrap;width:570px}.waffle-dv-rec-description{color:#404040;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-dv-rec-range{color:#3b80f4;float:right;margin-left:6px}.waffle-dv-rec-chip{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;float:left;font-size:13px;font-weight:normal;height:auto;line-height:21px;margin:5px;max-width:241px;padding:3px 16px 5px}.waffle-dv-rec-chip.jfk-button-focused{box-shadow:none;border:1px solid rgba(0,0,0,.4)}.waffle-dv-rec-chip.jfk-button-hover{box-shadow:0 1px 2px rgba(0,0,0,.25)}.waffle-dv-rec-chip.waffle-dv-rec-chip-selected{box-shadow:0 2px 2px rgba(0,0,0,.2);border:1px solid #3b80f4}@media screen and (-ms-high-contrast:active){.waffle-dv-rec-chip.waffle-dv-rec-chip-selected{border:2px solid #3b80f4}}.waffle-dv-no-suggestions{color:#757575;font-style:italic;padding-left:10px;position:absolute;top:50%;transform:translateY(-50%)}.waffle-dv-rec-spinner-container{height:100%;text-align:center}.waffle-dv-rec-spinner-container .waffle-spinner{top:7px}.waffle-dv-table-with-suggestions{padding-top:10px}.waffle-dv-feedback-link{float:right;font-family:'Google Sans',Roboto,RobotoDraft,Helvetica,Arial,sans-serif;text-decoration:none;text-transform:uppercase}.waffle-range-selection-error{border:1px solid #dd4b39}.input-selection-button-div{margin-top:-1px;margin-left:4px}.waffle-flat-range-select-done{margin-top:3px}.waffle-flat-multi-range-row .waffle-range-selection-holder{width:168px;display:inline-block}.waffle-flat-multi-range-select-done{margin-top:10px}.waffle-flat-range-select-message,.waffle-flat-multi-range-select-message{display:none;margin-top:3px;width:110px}.waffle-flat-range-select-listening .waffle-flat-range-select-message,.waffle-flat-multi-range-select-listening .waffle-flat-multi-range-select-message{display:inline-block}.waffle-flat-range-select-listening,.waffle-flat-multi-range-select-listening{background-color:#fbf2cd;margin:0 -20px 0;padding:10px 20px}.waffle-flat-multi-range-add-another{display:block}.waffle-notification-listrule-container{padding:5px}.waffle-notification-rule-row{display:inline-block;margin-bottom:10px;width:100%}.waffle-notification-rule-text{font-size:10pt}.waffle-notification-rule-description{float:left}.waffle-notification-rulerow-buttons-container{float:right}.waffle-notification-rulerow-edit-container{float:left}.waffle-notification-rulerow-delete-container{float:right}.waffle-notification-rule-disabled{font-size:8pt;color:lightgray!important}.waffle-dialog-notifications-list{width:100%;vertical-align:top}.waffle-dialog-notifications{width:100%;padding:6px 8px 8px 2px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;vertical-align:top}.waffle-dialog-notifications-gap{padding-left:25px}.waffle-dialog-notifications-input .disabled{color:lightgray!important}.waffle-dialog-notifications-label .disabled{color:lightgray!important}.waffle-dialog-notifications-text{vertical-align:top;padding-left:20px;color:#676767;font-size:8pt;width:150px}.waffle-notifications-add{font-weight:500;display:block}.waffle-notification-rule-area-separator{padding:5px}.waffle-notification-listrule-container{padding:0!important}.waffle-dialog-notifications-bounds{border:1px solid #999;border-color:#dadce0;border-radius:8px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:250px;max-width:672px;min-width:464px;overflow:auto;padding:10px;width:auto;width:unset;vertical-align:top}.waffle-notification-buttons-container{text-align:right}.waffle-notification-addbutton-container{align-self:flex-end;border:none;padding-bottom:6px}.waffle-notifications-dialog .goog-link-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;height:24px;padding:3px 12px 5px;text-decoration:none}.waffle-dialog-notifications-input{padding-left:0;vertical-align:top}.waffle-notifications-dialog .jfk-radiobutton{left:-7px}.waffle-dialog-notifications-toplabel{font-weight:500;padding-bottom:5px}.waffle-dialog-notifications-label{font-weight:500;padding-bottom:5px}.waffle-notifications-dialog .modal-dialog-buttons{justify-content:space-between}.waffle-notifications-dialog .waffle-notification-addbutton-container .goog-link-button{padding-left:0}.waffle-notification-rule-separator{border-bottom:1px solid #dadce0;clear:both;padding-top:10px}.waffle-notification-helpbutton-container{float:right;margin-right:34px}.waffle-notification-helpbutton-container .goog-link-button{color:#1a73e8}.waffle-notification-bottom-group{padding-bottom:2px}.waffle-notification-end-button{margin-right:0}.sketchy-dialog,.sketchy-dialog-fg{z-index:1003}.waffle-find-replace-dialog-label{padding-right:8px}.waffle-find-replace-dialog-border{border-color:#8cc474;border-style:solid;line-height:0}.waffle-find-replace-dialog-display-message{display:inline-block;line-height:20px;max-width:375px;min-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-findandreplacedialog-checkbox-label{vertical-align:bottom;padding-left:8px}.waffle-find-replace-find-scope-select{margin:8px 8px 8px 0;width:126px}.waffle-find-replace-selection-input{margin-top:8px;vertical-align:top;width:150px}.waffle-find-replace-dialog{min-width:464px}.waffle-find-replace-dialog .modal-dialog-buttons{margin-top:7px}.waffle-find-replace-dialog .find-replace-regex-help{display:inline-block;font:14px Roboto,RobotoDraft,Helvetica,Arial,sans-serif;line-height:16px;margin-left:8px;padding:3px 0;width:auto}.waffle-dv-trrules .waffle-range-selection-container{width:160px}.waffle-dv-table{border-spacing:3px;width:562px}.waffle-dv-table .jfk-checkbox{margin-bottom:1px;margin-left:7px}.waffle-dv-table td{white-space:nowrap}.waffle-dv-helptext{width:310px;margin-left:5px}.waffle-dv-errortext{color:red;font-weight:500}.waffle-dv-smalltext{font-size:10px}.waffle-dv-editbox-number{text-align:right;width:60px}.waffle-dv-editbox-text{width:150px}.waffle-dv-editbox-date{text-align:right;width:100px}.waffle-dv-list-options-textarea{padding-top:5px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;-webkit-appearance:textfield;width:180px}.waffle-dv-table .jfk-select{float:left;margin-right:10px}.waffle-dv-trrules{height:41px}.waffle-dv-trrules-appearance,.waffle-dv-trrules-showitems{height:26px}.waffle-dv-trrules>td,.waffle-table-dialog-trrules>td{padding-bottom:7px;vertical-align:top}.waffle-dv-trrules>td .input-selection,.waffle-table-dialog-trrules>td .input-selection{margin-left:2px}.waffle-cf-tr-rules .jfk-checkbox{margin-bottom:1px}.waffle-dv-show-dropdown{padding-top:5px;padding-bottom:1px}.waffle-dv-customcheckboxlabel{width:80px;padding-top:11px}.waffle-dv-label{padding-top:5px;padding-left:2px;width:96px;white-space:nowrap}.waffle-dv-label-disabled{color:#d3d3d3}.waffle-dv-separator{margin-left:5px;margin-right:5px}.waffle-dv-highlight-styled-rect{background-color:#0f9d58;opacity:0.06;pointer-events:none}.range-border.waffle-dv-highlight-styled-border{border-color:#0f9d58;border-style:dashed}.waffle-sd-tr-rules{padding-top:7px}.waffle-sd-td-rules{white-space:nowrap;width:50px}.waffle-sd-td-ascending{white-space:nowrap}.waffle-sd-column-selector{width:120px}.waffle-sd-delete{color:#999;cursor:pointer;margin-right:5px;width:10px;text-decoration:none}.waffle-sd-row-separator{border-bottom:1px solid #dadce0;margin-bottom:4px;margin-top:4px}.waffle-sd-add{padding-top:12px;font-weight:500;display:block}.waffle-sd-menu-item{padding-right:30px}.script-gui-dialog-content{padding:0px}.waffle-custom-decimals-error-div{padding-left:.7em;color:#dd4b39}textarea.waffle-input-error:focus,input.waffle-input-error:focus,.waffle-input-error{border:1px solid #dd4b39}.waffle-input-error-butter-container{width:100%;position:absolute;margin-top:-25px;left:0;text-align:center}.waffle-input-error-butter-wrap{display:inline-block;line-height:normal}.dialog-settings-text{max-width:300px;padding-left:25px}.dialog-settings-sep-td{padding:14px 0 9px 0}.dialog-settings-sep{border-top-color:#e8eaed;border-top-style:solid;border-width:1px 0 0 0;color:#bfbfbf;height:0}.jfk-radiobutton-checked .jfk-radiobutton-radio::after{background:#188038;border:4px solid #188038;height:8px;left:0;margin:2px;top:0;width:8px}.jfk-radiobutton-radio{height:16px;width:16px}.jfk-radiobutton-checked.jfk-radiobutton:hover .jfk-radiobutton-radio{border:2px solid #188038}.jfk-radiobutton-checked .jfk-radiobutton-radio{border:2px solid #188038}.jfk-radiobutton:focus .jfk-radiobutton-radio{border:2px solid #188038}.jfk-radiobutton-checked.jfk-radiobutton:focus .jfk-radiobutton-radio{border:2px solid #0d652d}.jfk-radiobutton-checked.jfk-radiobutton:focus .jfk-radiobutton-radio::after{background-color:#0d652d;border:4px solid #0d652d}.dialog-settings-general-settings-div{padding:10px 0 18px 0}.dialog-settings-english-name-div{padding-top:10px}#waffle-settings-dialog-english-name-checkbox-label{padding-left:3px}.waffle-prompt-dialog{width:340px}.waffle-prompt-dialog .modal-dialog-userInput{width:300px;margin:4px}.waffle-spellcheck-cell-display{font-weight:500}.waffle-resize-option{margin:7px}.waffle-resize-inset-input{margin-left:30px}.waffle-resize-row-input-container{margin-left:30px}.waffle-resize-row-input{width:70px}.waffle-resize-row-input-label{margin-left:10px}#waffle-resize-input-error-butter-container{margin-top:-15px}.waffle-confirm-suppress-checkbox{margin-top:8px}.waffle-confirm-learn-more{margin-top:2px}.waffle-slidingdialogbar-wrapper{outline:none;overflow:hidden;width:100%}.waffle-pivot-histogram-errorable-input{display:inline-block;margin:4px;vertical-align:top;width:120px}.waffle-pivot-histogram-dialog-caption{color:rgba(0,0,0,0.54);font-size:11px;padding-top:3px}.waffle-pivot-histogram-dialog-error{color:#db4437;height:15px;margin-top:6px}.waffle-rd-section{padding:8px 0}.waffle-rd-section-title{font-weight:500}.waffle-rd-columns-container{margin-left:-12px;max-height:300px;overflow-x:hidden;overflow-y:auto;padding-top:6px}.waffle-rd-expand-to-range{color:#188038;cursor:pointer;padding-top:2px;text-decoration:underline}.waffle-rd-dialog-gm{min-width:312px}.waffle-rd-ignore-headers{padding-top:6px}.waffle-rd-columns-checkbox{padding-left:12px;position:relative}.waffle-rd-ignore-headers .docs-material-gm-labeled-checkbox,.waffle-rd-columns-checkbox .docs-material-gm-labeled-checkbox{padding:6px 0}.waffle-rd-checkbox-label{display:inline-block;padding-left:5px}.waffle-sort-dialog-gm{min-width:464px}.waffle-sort-dialog-radio-option{display:inline-block;padding-left:8px}.waffle-sd-delete .docs-icon{width:24px;height:24px;margin:0 4px 0 0}.waffle-sd-row-separator{margin-top:16px;margin-bottom:16px}.waffle-sort-dialog-data-header{margin-bottom:25px;overflow:hidden}.waffle-sort-dialog-data-header .docs-material-gm-labeled-checkbox{padding:0}.docs-dialog .modal-dialog-title-close{top:-1px}.modal-dialog.jfk-confirm .modal-dialog-title-close.docs-hc-ie{-ms-high-contrast-adjust:none}.modal-dialog.jfk-confirm .modal-dialog-title-close.docs-hc-gecko:after{background-color:white;filter:invert(1)}.docs-dialog .goog-flat-menu-button{padding-top:7px;padding-bottom:7px}.importThemeLabel{padding:0px 3px}.importThemeOption{padding:5px 7px}.importThemeWarningMessage{color:#9e9e9e;padding:0px 25px}.waffle-dialog-range-suggestion-pill{display:flex;border-radius:20px;cursor:pointer;padding:10px;width:240px}.waffle-dialog-range-suggestion-pill:hover{background:lightgray}.waffle-dialog-range-suggestion-pill-icon{margin-right:9px;min-width:21px}.waffle-dialog-range-suggestion-pill-sheet-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-dialog-range-suggestion-section{margin-top:24px}.waffle-dialog-range-suggestion-section-header{color:#3c4043;font-family:GoogleSans-Medium,Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:0.25px;line-height:20px}.goog-palette-cell-selected .goog-palette-colorswatch{background:url("//ssl.gstatic.com/docs/spreadsheets/MainMenuVerSprite007.png") transparent no-repeat;background-position:0px -15px}.goog-palette-cell{border:1px #666 solid}.trix-palette .goog-palette-cell{border:0}.trix-palette .goog-palette-table{border:0;border-spacing:2px;border-collapse:separate;margin:0 4px}.trix-palette .goog-palette-cell-hover{background:#eee}.trix-palette .toolbar-icon,.trix-palette .docs-common-icon{margin:0}.docs-toolbar-menu-button .goog-toolbar-menu-button-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-toolbar-menu-button .goog-toolbar-menu-button-icon{margin-left:3px;margin-right:6px;opacity:1}.docs-toolbar-menu-button .goog-toolbar-menu-button-inner-box{text-align:left}#docs-access-level-indicator.goog-flat-menu-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;cursor:pointer;height:24px;line-height:20px;margin:6px 0 6px 8px;padding:0 1px;user-select:none}#docs-access-level-indicator.goog-flat-menu-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);cursor:pointer;height:24px;line-height:20px;margin:6px 0 6px 8px;padding:0 1px;user-select:none}#docs-access-level-indicator.goog-flat-menu-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);cursor:pointer;height:24px;line-height:20px;margin:6px 0 6px 8px;padding:0 1px;user-select:none}#docs-access-level-indicator.goog-flat-menu-button-hover.goog-flat-menu-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);cursor:pointer;height:24px;line-height:20px;margin:6px 0 6px 8px;padding:0 1px;user-select:none}#docs-access-level-indicator.goog-flat-menu-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;cursor:pointer;height:24px;line-height:20px;margin:6px 0 6px 8px;padding:0 1px;user-select:none;cursor:default;opacity:.38}#docs-access-level-indicator.goog-flat-menu-button-pressed,#docs-access-level-indicator.goog-flat-menu-button:active,#docs-access-level-indicator.goog-flat-menu-button-open,#docs-access-level-indicator.goog-flat-menu-button-hover.goog-flat-menu-button-open,#docs-access-level-indicator.goog-flat-menu-button-focused.goog-flat-menu-button-open{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15);cursor:pointer;height:24px;line-height:20px;margin:6px 0 6px 8px;padding:0 1px;user-select:none}#docs-access-level-indicator .docs-access-level-indicator-icon-container{margin:2px 4px 4px 6px}#docs-access-level-indicator .goog-flat-menu-button-caption{margin-right:20px;font-size:12px;font-weight:500;line-height:21px}#docs-access-level-indicator .goog-flat-menu-button-dropdown{border-bottom-color:#fff;border-top-color:#fff;right:7px;top:10px}.goog-menu.docs-access-level-indicator-menu{border-radius:8px;max-width:272px;padding:22px 24px 24px 24px}.docs-access-level-indicator-menu .docs-access-level-indicator-menu-text{padding:0;font-size:14px;color:#3c4043;line-height:20px;width:196px}.docs-access-level-indicator-menu .docs-access-level-indicator-request-access-button{height:24px;margin:16px 0 0 0;padding:4px 12px;text-transform:none}#docs-approvals-status-indicator-toolbar-separator{margin-right:0px}.docs-gm #docs-primary-toolbars #docs-approvals-locked-menu-button.goog-toolbar-menu-button{cursor:pointer;height:24px;line-height:24px;margin:6px 0 6px 4px;padding:0 4px;user-select:none}#docs-approvals-locked-menu-button .goog-toolbar-menu-button-dropdown{margin-left:2px}.docs-gm #docs-primary-toolbars .docs-approval-status-indicator{cursor:pointer;color:#188038;font-size:14px;font-weight:500;height:26px;letter-spacing:.25px;margin:5px 0px 5px 4px;min-width:unset;padding:0px 12px 0px 9px;user-select:none}.docs-gm #docs-primary-toolbars .docs-approval-status-indicator .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg);cursor:default;margin:-1px 2px 4px 0px}.docs-approval-status-indicator-text{line-height:23px}.docs-icon-inputtools-button-inner{margin:2px 0}.docs-icon-inputtools-menuitem-inner{margin:1px 0;opacity:.70}.docs-icon.docs-icon-inputtools-menuitem-outter,.docs-material .docs-icon.docs-icon-inputtools-menuitem-outter{margin:0 10px 0 12px}.docs-material .docs-icon.docs-icon-inputtools-menuitem-outter,.docs-material #inputToolsToggleButton .docs-icon{width:21px;height:21px}@media print{.docs-ui-unprintable{display:none!important}#docs-editor-container.docs-ui-unprintable{display:none!important}}.docs-fontmenu-icon{left:16px}.docs-fontmenu-text{padding-left:23px}.docs-fontmenu-newlyadded{background-color:#fffecc}.goog-menuitem-highlight.docs-menuitem-add-fonts{border:none;padding-top:6px;padding-bottom:6px}.goog-menuitem-highlight.docs-fontmenu-newlyadded,.goog-menuitem-hover.docs-fontmenu-newlyadded{background-color:#eee}#docs-font-family .goog-toolbar-menu-button-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:70px}.docs-fontmenu .docs-submenuitem{border:none;height:18px;padding:6px 8em 6px 30px}.docs-fontmenu .docs-submenuitem-splitbutton{height:28px;line-height:28px}.docs-fontmenu .docs-submenuitem .goog-menuitem-content{height:17px;line-height:normal}.docs-fontmenu .docs-submenuitem .goog-menuitem-checkbox{height:21px;top:3px}.docs-fontmenu .docs-submenuitem::before{content:'\0025ba';position:absolute;right:0;color:#6e6e6e;width:34px;text-align:center;font-size:70%;line-height:30px;top:0}body[dir="rtl"] .docs-fontmenu .docs-submenuitem::before{content:'\0025c4'}.docs-fontmenu .docs-halfhovermenuitem .goog-submenu-arrow{display:none}#contain-402{bottom:10px;position:fixed;right:50px;z-index:1002}.docs-hats-survey-followup-card{bottom:10px;position:fixed;right:50px;z-index:1002;background-color:#fafafa;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;box-shadow:rgba(255,255,255,.9) 0 1px 0 inset,rgba(0,0,0,.03) 0 -1px 0 inset,rgba(0,0,0,.15) 0 15px 10px,rgba(0,0,0,.3) 0 8px 36px;padding:20px 26px 10px 16px;width:350px}.docs-hats-survey-followup-card-text{color:#3c4043;font:14px/20px Roboto-Medium,sans-serif;height:46px;padding:12px;width:304px}.docs-hats-survey-followup-card-button-container{text-align:right}.docs-hats-survey-followup-card-button{border-radius:2px;cursor:pointer;display:inline-block;font:14px/20px Roboto-Medium,sans-serif;height:36px;line-height:36px;text-align:center;width:127px}.docs-hats-survey-followup-card-cancel-button{color:#4285f4}.docs-hats-survey-followup-card-survey-button{background-color:#4285f4;color:#fff}.sketchy-dialog.modal-dialog{padding:0}.sketchy-dialog .modal-dialog-title{margin:24px 44px 14px 44px;position:relative}.docs-gm .sketchy-dialog .modal-dialog-title{margin:24px}.sketchy-dialog-title-close{margin-right:0;position:absolute;right:0;top:-8px}.docs-gm .sketchy-dialog-title-close{top:-5px}.sketchy-dialog-title-autosave{color:#999;font-weight:normal;font-size:12px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;margin-left:24px}.docs-gm .sketchy-dialog-title-autosave{color:#80868b}.waffle-comment-anchor{width:282px}.docos-mole{bottom:28px}.waffle-docos-target-cell-border{border-color:#f4b400}.waffle-docos-target-cell-rect{background-color:#ffe168;opacity:.5;pointer-events:none}.waffle-docos-target-cell-resolved-rect{background-color:#d9d9d9;opacity:.5;pointer-events:none}th.waffle-docos-target-cell-header{background-color:#fcfac6}.waffle-objwrap-gvizchart{background-color:white;height:100%;z-index:18;overflow:hidden}.waffle-embedded-object-overlay{outline:0;position:absolute;z-index:10}.waffle-obj-menu-open{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -763px -13px;border:none;color:#15c;float:right;height:13px;margin:10px;padding:0;text-decoration:none;width:13px}.waffle-obj-menu-open-active,.waffle-obj-menu-open:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -618px -27px}.waffle-obj-message-div{padding:15px 0 15px 15px;font-size:12pt}.waffle-borderless-embedded-object-overlay{border:1px solid #999;margin:0;outline:none;position:absolute;z-index:10;user-select:none;pointer-events:all}.waffle-borderless-embedded-object-container{position:relative}.waffle-borderless-embedded-object-container .waffle-objwrap-gvizchart{background-color:transparent;z-index:15}.waffle-obj-control{position:absolute;z-index:18}.waffle-obj-glasspane-control.waffle-obj-control{z-index:17}.waffle-obj-glasspane-control{left:0;position:absolute;top:0}.waffle-obj-gviz-control{border:1px solid #999;position:absolute;right:-48px;top:-1px}.waffle-obj-drag-component{position:absolute;border:none;background-color:#0096fd}.waffle-selectionbox-background{display:none}.docs-charts-tooltip{z-index:3}.waffle-charts-alert{box-shadow:0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12),0px 1px 5px 0px rgba(0,0,0,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;background:rgba(0,0,0,0.87);border-radius:2px;bottom:0;line-height:16px;margin:4px;max-height:93%;max-width:99%;padding:10px 14px;position:absolute;white-space:nowrap;z-index:1000}.waffle-charts-alert-text{color:#fff;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;white-space:normal}.waffle-charts-alert-link-div{float:right;padding-left:35px}a.waffle-charts-alert-link{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);color:#a1c2fa;cursor:pointer;text-decoration:none;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;opacity:0.87;text-transform:uppercase}a.waffle-charts-alert-link:hover{opacity:1}a.waffle-charts-alert-link-close{color:white;margin-left:15px}.waffle-charts-overflow-legend{background-color:#ffffff;border:1px solid #999;position:absolute}.waffle-charts-overflow-legend-scrollbar{position:absolute;top:0;width:10px}.waffle-obj-menu-control{right:5px;top:5px}.waffle-obj-menu-button{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -763px -13px;cursor:pointer;height:13px;width:13px}.waffle-obj-menu-button.waffle-obj-menu-control-active,.waffle-obj-menu-button:hover{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -618px -27px}.waffle-obj-menu-control-material{right:6px;top:6px}.waffle-obj-menu-control-table-chart{right:20px}.waffle-chart-filter-indicator-control{right:6px;top:6px}.waffle-borderless-embedded-object-overlay-focused .waffle-chart-filter-indicator-control{right:24px}.waffle-chart-filter-indicator-control-table-chart{right:20px}.waffle-borderless-embedded-object-overlay-focused .waffle-chart-filter-indicator-control-table-chart{right:38px}.waffle-objwrap-gvizchart div[id^='google-visualization-errors-all-']{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjRTBFMEUwIj48cGF0aCBkPSJNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHptMi41IDJoLTE1VjVoMTV2MTR6bTAtMTZoLTE1Yy0xIDAtMiAxLTIgMnYxNGMwIDEgMSAyIDIgMmgxNWMxIDAgMi0xIDItMlY1YzAtMS0xLTItMi0yeiIvPjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz48L3N2Zz4="),url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNjAwIDM3MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCAxdjFoNjAwVjF6bTAgOTB2MWg2MDB2LTF6bTAgOTF2MWg2MDB2LTF6bTAgOTF2MWg2MDB2LTF6IiBmaWxsPSIjZWVlIi8+PHBhdGggZD0iTTAgMzY2djJoNjAwdi0yeiIgZmlsbD0iI2NmY2ZjZiIvPjwvc3ZnPgo=");background-position:center,0 0;background-repeat:no-repeat,repeat-x;background-size:100px 100px,auto 100%;height:100%;width:100%;white-space:normal}.waffle-objwrap-gvizchart div[id^='google-visualization-errors-all-']>div{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif!important;font-size:14px!important;padding-top:15px;text-align:center}.waffle-objwrap-gvizchart div[id^='google-visualization-errors-all-']>div>span{background-color:transparent!important;color:#db4437!important;display:block}.waffle-objwrap-gvizchart div[id^='google-visualization-errors-all-']>div>span:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0RCNDQzNyIgZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6bS44IDEySDcuMnYtMS42aDEuNlYxMnptMC0zLjJINy4yVjRoMS42djQuOHoiLz48L3N2Zz4K");background-position:0 0;background-repeat:no-repeat;background-size:16px 16px;content:'';display:inline-block;height:16px;margin-right:10px;vertical-align:sub;width:16px}div.ac-datavalidation-renderer{z-index:1001;overflow:auto;box-shadow:1px 2px 5px rgba(0,0,0,0.4)}div.ac-datavalidation-renderer-upside-down{z-index:1001;overflow:auto;box-shadow:1px 0 5px rgba(0,0,0,0.4)}.waffle-ac-renderer{margin:0px 0px;padding:0;z-index:85;overflow:visible;position:absolute;white-space:nowrap;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:22px;border:1px solid rgba(0,0,0,0.2);background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.waffle-ac-row{margin:0;cursor:pointer;padding:2px 10px;color:#666666}.waffle-ac-active{background:#f5f5f5;color:#000;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb;padding:1px 10px}.waffle-ac-highlighted{font-weight:500}#docs-chrome{zoom:1}.docs-toolbar .goog-menuitem-highlight{background-color:#e0edfe}.ie8 .goog-toolbar-button-disabled .toolbar-icon,.ie8 .goog-toolbar-button-disabled .docs-icon-img,.ie8 .goog-toolbar-button-disabled .goog-toolbar-button-inner-box,.ie8 .goog-toolbar-menu-button-disabled .toolbar-icon,.ie8 .goog-toolbar-menu-button-disabled .docs-icon-img,.ie8 .goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-caption,.ie8 .goog-toolbar-menu-button-disabled .goog-color-menu-button-indicator,.ie8 .goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-dropdown{filter:alpha(opacity=30)}.close-icon-small{width:12px;background-position:-720px 2px}.docs-icon.goog-menuitem-icon{position:absolute}.goog-clipboard{width:16px}#chart-toolbar-container{width:100%}.chart-toolbar-container-with-omnibox{display:inline-block}#chart-toolbar{border:none;padding:0 30px 0 0;position:absolute;right:0;top:0}#datasheet-toolbar{background:none;border-width:0!important;display:inline;min-height:35px;padding:0}.chart-toolbar-with-omnibox#chart-toolbar{right:40px}.docs-material .chart-toolbar-with-omnibox{background:none}#chart-toolbar-title{padding-top:3px}.chart-toolbar-title-with-omnibox{display:inline-block;vertical-align:middle}#chart-toolbar-title.sheet-toolbar-title{line-height:normal}.sheet-toolbar{min-height:22px}.object-toolbar-secondary{margin-right:13px!important}.sheet-toolbar-title{font-weight:500;vertical-align:middle;line-height:20px;padding:0 6px 0 4px}.goog-color-menu-button-indicator{border-bottom:4px solid #f0f0f0}#num-fmt-currency{margin-top:-250px}#num-fmt-date{margin-top:-100px}.num-fmt{clear:both;height:1em;width:180px}.num-fmt b{display:block;font-weight:normal;float:left}.num-fmt span{display:block;float:right;color:#666;font-size:85%}.currency-fmt{width:120px;font-size:92%;height:0.9em}.date-fmt{width:140px;font-size:92%;height:0.9em}.cond-fmt .goog-color-menu-button-indicator{border-bottom-style:double}#formula-bar{padding:4px 0;background:#e5e5e5;margin-right:auto}#formula-bar table{width:100%;border-spacing:0}#t-formula-bar-label{vertical-align:middle;color:#444;padding:0 8px}#t-formula-bar-label.waffle-formulabar-label-disabled{color:#9fa4b3}#t-formula-bar-input-container{width:100%;padding:0}#t-formula-bar-input{resize:none;border:1px #7f9db9 solid;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;background-color:#ffffff}#t-formula-bar-input.waffle-formulabar-input-disabled{background-color:#eee;border-color:#c0c0c0}#t-formula-bar-input .cell-input{word-wrap:break-word;-webkit-nbsp-mode:space;-webkit-line-break:after-white-space}#t-formula-bar-input .waffle-rich-text-link{color:black;text-decoration:none}.ie8 .goog-toolbar-button-disabled .toolbar-icon,.ie8 .goog-toolbar-button-disabled .docs-icon-img,.ie8 .goog-toolbar-button-disabled .goog-toolbar-button-inner-box,.ie8 .goog-toolbar-menu-button-disabled .toolbar-icon,.ie8 .goog-toolbar-menu-button-disabled .docs-icon-img,.ie8 .goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-caption,.ie8 .goog-toolbar-menu-button-disabled .goog-color-menu-button-indicator,.ie8 .goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-dropdown{filter:alpha(opacity=30)}.docs-toolbar-small-separator+div.goog-toolbar-select{margin-left:-4px}#t-text-rotation-palette .goog-palette-table{border-right:1px solid #dadce0}.waffle-text-rotation-combobox{border-color:transparent}.docs-gm .goog-toolbar-combo-button.waffle-text-rotation-combobox{margin:1px}.waffle-text-rotation-combobox.goog-toolbar-combo-button-hover{background:transparent}.docs-material .waffle-text-rotation-combobox.goog-toolbar-combo-button-hover{background:rgba(0,0,0,.06)}.waffle-text-rotation-combobox .goog-toolbar-combo-button-input{height:28px;width:25px}.waffle-revisions-frame{border-style:none}.waffle-revisions-older-text{color:#676767}.waffle-revisions-container{background-color:#fff;z-index:15;overflow:hidden;position:absolute;left:0}#revisions-toolbar{padding:2px 0}#t-revisions-back{margin-left:6px}#t-revisions-revert,#t-revisions-label{margin:0 8px;font-weight:500}#t-revisions-label{line-height:180%}#t-revisions-highlighted-label{position:absolute;right:6px;top:0;line-height:217%}#t-revisions-highlighted{border:2px solid #ffa82d;background-color:#ffd396;padding:2px}#t-revisions-menu{overflow-y:auto;max-height:75%;width:290px}#t-revisions-menu .goog-menuitem{padding:4px 0px;width:268px;clear:both;height:1em}#t-revisions-menu em{display:block;float:left;white-space:nowrap;text-align:right;font-style:normal;width:134px}#t-revisions-menu span{display:block;float:left;white-space:nowrap;color:#666;width:134px}.waffle-spellcheck-target-cell-rect{background-color:#f8b39b;opacity:.5;pointer-events:none}div.sheet-toolbar{width:100%;background-image:none;min-height:35px;border-bottom:1px solid #d9d9d9;padding:0}.docs-material #docs-toolbar-wrapper{padding-left:30px}.docs-material #docs-toolbar-wrapper.docs-hub-appbar{border-bottom:1px solid #d9d9d9;padding-left:21px}.sheet-toolbar-button{margin:3px 2px 0 0}.sheet-toolbar-title{line-height:35px;padding:0 44px 0 44px}.toolbar-decimal-icon{margin-bottom:-7px}.docs-material .docs-icon.toolbar-decimal-icon{margin-bottom:-4px}.docs-material #t-num-fmt-currency,.docs-material #t-num-fmt-percent{font-size:13px}#formula-bar{background:#fff;border-bottom:1px solid #c0c0c0;height:23px;padding:0;position:relative}#t-formula-bar-input{border:none;bottom:4px;left:0;line-height:13px;position:absolute;right:0;top:4px}.name-box-enabled #t-formula-bar-input{height:100%;line-height:23px;top:0}.formula-bar-with-name-box-wrapper{background-color:#eee;display:flex}#t-formula-bar-input.waffle-formulabar-input-disabled{background-color:#fff;border:none}#t-formula-bar-label{align-items:center;display:flex;float:left;justify-content:center;opacity:.55;padding:0;position:relative;text-align:center;width:45px}.docs-icon-insert-formula{margin-top:-1px}.docs-material .docs-icon-insert-formula{margin-top:0;opacity:.70}.formulabar-disabled#formula-bar{background-color:#f8f8f8}.formulabar-disabled #t-formula-bar-label{color:#9fa4b3;opacity:.4}.formulabar-disabled #t-formula-bar-input{background-color:#f8f8f8!important}.formulabar-disabled .default-formula-text-color{color:#777}#t-formula-bar-input-container{height:100%;padding:0 10px;overflow:hidden;width:auto}.name-box-enabled #t-formula-bar-input-container,.name-box-enabled #t-formula-bar-input-container>div{width:100%}#t-formula-bar-input-container>div{height:100%;overflow-x:hidden;overflow-y:auto;position:relative}#t-formula-bar-progress-bar{float:right;margin-top:7px;padding:0;width:161px}#t-formula-bar-progress-bar .progress-bar-horizontal{width:146px;height:5px;border:1px solid #999;padding:1px;background-color:#fff}#t-formula-bar-progress-bar .progress-bar-thumb{background-color:#ccc}.name-box-enabled .formula-bar{display:inline-flex;width:100%}.formula-bar-separator,.name-box-menu-separator{float:left;width:1px;height:100%;position:relative}.name-box-menu-separator-container{background:#f5f5f5;display:none;margin:1px 1px 2px 0}.formula-bar-separator-container,.waffle-name-box-container:hover .name-box-menu-separator-container{display:inline-flex}.formula-bar-separator>div,.name-box-menu-separator>div{background-color:#ccc;bottom:3px;left:0;position:absolute;right:0;top:3px;width:1px}#formula-bar-dragger{border-bottom:1px solid #c0c0c0;height:4px;margin-top:-5px;position:absolute;width:100%}#formula-bar-dragger.formula-bar-hoverable{cursor:ns-resize}#formula-bar-dragger.formula-bar-hoverable:hover{border-bottom:1px solid #a0a0a0}div.formula-bar-disabled{background-color:#ccc}.waffle-formulabar-cellinput-disabled{background-color:#ccc}#t-merge-menu{margin-right:2px}.docs-material #t-merge-menu{margin-right:1px}.goog-toolbar-color-menu-button .goog-toolbar-menu-button-dropdown{margin-top:9px}.goog-menuitem-mnemonic-separator{font-weight:normal}.docos-actionmenu-outer{width:11px;height:11px}.docos-actionmenu-outer>.docos-docomenu-dropdown{width:11px;height:11px;margin:auto;vertical-align:top;cursor:pointer}.docs-gm .docos-actionmenu-outer>.docos-docomenu-dropdown{background-color:transparent}.docos-actionmenu-outer .goog-toolbar-menu-button-dropdown{width:11px;height:11px;margin:0;padding:0}.docos-actionmenu-outer .goog-toolbar-menu-button-inner-box,.docos-actionmenu-outer .goog-toolbar-menu-button-outer-box{width:11px;min-width:11px;height:11px;min-height:11px}.docos-actionmenu>.goog-menuitem{padding-left:10px;padding-right:10px}.docs-gm .docos-actionmenu>.goog-menuitem{padding-left:15px;padding-right:15px}.docos{color:black;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);font-size:13px;white-space:normal}.docs-gm .docos{font-size:14px}.docos .jfk-button{font-family:Arial,sans-serif,sans;font-family:var(--docs-material-header-font-family,Arial,sans-serif,sans);font-weight:700;font-weight:var(--docs-material-font-weight-bold,700)}.docs-gm .docos .jfk-button{margin:0 8px 0 0;min-width:24px;vertical-align:middle}.docs-gm .docos .jfk-button-hover{box-shadow:none;background-color:rgba(0,0,0,.06);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docs-gm .docos .jfk-button-active{box-shadow:none;background-color:rgba(0,0,0,0.12);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docos.docs-gm .jfk-button.jfk-button-standard{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #f1f3f4!important;color:#3c4043;opacity:0.38;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-focused.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-action{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-disabled{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#f1f3f4;color:#3c4043;opacity:0.38;height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-focused.jfk-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);height:24px;padding:3px 12px 5px}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-focused.jfk-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#188038;color:#fff;background:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15);height:24px;padding:3px 12px 5px}.docos .modal-dialog-buttons{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,Roboto,RobotoDraft,Helvetica,Arial,sans-serif)}.docos .modal-dialog-buttons button{font-weight:500}.docos .modal-dialog-title{font-size:16px}.docs-gm .docos .modal-dialog-title{font-size:22px}.docos .modal-dialog-title-text{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-family:var(--docs-material-header-font-family,Roboto,RobotoDraft,Helvetica,Arial,sans-serif);font-weight:normal}.docs-gm .doco-modal.modal-dialog{width:300px}.docs-gm .doco-modal .modal-dialog-title-text{display:block;width:220px;word-wrap:break-word}.docos.docs-gm .jfk-button.jfk-button-standard{color:#188038}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-focused{background-color:#e7f5eb;border-color:#bbe2c6!important}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-hover{background-color:#f8fcf9;border-color:#c8e7d1!important}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-focused.jfk-button-hover{background-color:#dff2e4;border-color:#b5e0c1!important}.docos.docs-gm .jfk-button.jfk-button-standard.jfk-button-active{background-color:#dff2e4;color:#188038}.docos.docs-gm .jfk-button.jfk-button-action{background-color:#188038;color:#fff}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-focused{background-color:#4f9e67;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);color:#fff}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-hover{background-color:#2a8947;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);color:#fff}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-focused.jfk-button-hover{background-color:#62a877;box-shadow:0 1px 3px 1px rgba(52,168,83,0.15);color:#fff}.docos.docs-gm .jfk-button.jfk-button-action.jfk-button-active{background-color:#62a877;box-shadow:0 2px 6px 2px rgba(52,168,83,0.15);color:#fff}.docos.docs-gm .docs-material-gm-checkbox.docs-material-gm-checkbox-checked,.docos.docs-gm .docs-material-gm-checkbox.docs-material-gm-checkbox-checked.docs-material-gm-checkbox-focused{background-color:#188038}.docos.docs-gm .docs-material-gm-checkbox.docs-material-gm-checkbox-checked,.docos.docs-gm .docs-material-gm-checkbox.docs-material-gm-checkbox-focused{border-color:#188038}.docos-anchoreddocoview{background-color:#f5f5f5;cursor:pointer;direction:ltr;position:relative;width:240px;border:none;box-shadow:0 1px 3px rgba(0,0,0,0.3);border-radius:2px}.docs-gm .docos-anchoreddocoview{background-color:#fff;border:1px solid rgba(60,64,67,.15);box-shadow:none;width:282px}.docs-gm .docos-anchoreddocoview:hover{border-color:transparent;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}.docs-gm .docos-anchoreddocoview.docos-docoview-active,.docs-gm .docos-anchoreddocoview.docos-docoview-active:hover{border-color:transparent;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docs-gm .docos-anchoreddocoview-internal,.docs-gm .docos-anchoreddocoview{border-radius:8px}.docos-docoview-active.docos-anchoreddocoview{cursor:default}.docos-presenceindicator{height:12px;font-size:11px;color:#787878;padding-top:8px}.unfocused-presenceindicator{padding-left:8px;padding-bottom:8px;background-color:white}.docos-anchoreddocoview:focus,.docos-anchoreddocoview:active{outline:0}.docos-anchoreddocoview-internal{max-height:inherit;overflow-y:auto;overflow-x:hidden}.docos-anchoreddocoview-content{overflow-y:auto;overflow-x:hidden}.docos-anchoreddocoview .docos-anchoreddocoview-input-pane{border:none;display:none;padding:8px}.docos-anchoreddocoview .docos-anchoreddocoview-input-pane.docos-draftdiscussionview-input-pane{padding-top:0}.docos-anchoreddocoview .docos-draftdiscussionview-input-pane{background:#fff}.docos-docoview-active.docos-anchoreddocoview .docos-anchoreddocoview-input-pane{display:block}.docos-anchoreddocoview-input-pane .docos-input-textarea{display:block;height:26px}.docos-anchoreddocoview-input-pane .docos-input-buttons{text-align:left}.docos-draftdiscussionview-input-pane{border-top:none!important;padding-top:0}.docos-anchoreddocoview .docos-input-at-reply-message,.docos-anchoreddocoview .docos-input-acl-fixer-message,.docos-anchoreddocoview .docos-input-assignment-message,.docos-anchoreddocoview .docos-input-static-message{color:#777;font-size:12px;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-header-font-family,Arial,sans-serif,sans);margin-top:8px}.docs-gm .docos-anchoreddocoview .docos-input-at-reply-message,.docs-gm .docos-anchoreddocoview .docos-input-acl-fixer-message,.docs-gm .docos-anchoreddocoview .docos-input-assignment-message,.docs-gm .docos-anchoreddocoview .docos-input-static-message{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px}.docos-layout-anchored .docos-anchoreddocoview{position:absolute;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;z-index:500}.docos-layout-anchored .docos-docomenu-visible.docos-anchoreddocoview{z-index:502}.docos-layout-anchored .docos-docoview-active.docos-anchoreddocoview{z-index:501}.docos-layout-anchored-shadows .docos-anchoreddocoview{box-shadow:0 2px 4px rgba(0,0,0,0.2)}.docos-anchoreddocoview .docos-input-post{margin-right:10px}.docs-gm .docos-layout-vertical .docos-anchoreddocoview .docos-anchoreddocoview-arrow-inner.docos-assignee-you{background-color:#188038}.docos-anchoredreplyview .docos-find-match{background-color:rgba(140,196,116,0.5)}.docos-anchoredreplyview .docos-selected-find-match{background-color:rgba(140,196,116,1)}.docos-anchoredreplyview:focus{outline:none}.docos-anchoredreplyview,.docos-showrepliesbutton{border:none;border-bottom:1px solid #e5e5e5;padding:3px 8px 5px 8px;zoom:1;background:#f5f5f5;position:static}.docos-anchoreddocoview.docos-docoview-active{box-shadow:0px 3px 6px rgba(0,0,0,0.2)}.docs-gm .docos-anchoredreplyview,.docs-gm .docos-showrepliesbutton,.docs-gm .docos-anchoreddocoview-input-pane{background-color:#fff;border-bottom:none;border-top:1px solid #dadce0}.docs-gm .docos-showrepliesbutton{border-top:none;margin:0px 16px 16px 16px;padding-left:0}.docs-gm .docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton{color:#1a73e8;letter-spacing:0.2px;margin:0 8px;padding:0;position:relative;text-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center}.docs-gm .docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton:not([style*="display: none"])+.docos-anchoredreplyview:not([style*="display: none"]),.docs-gm .docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton:not([style*="display: none"])~.docos-anchoredreplyview[style*="display: none"]+.docos-anchoredreplyview:not([style*="display: none"]){border-top:none}.docs-gm .docos-anchoreddocoview .docos-anchoredreplyview{padding:8px 0;margin:0 12px}.docs-gm .docos-anchoreddocoview .docos-replyview-first.docos-anchoredreplyview{border-bottom:none;padding:12px 12px 8px 12px;margin:0}.docs-gm .docos-anchoreddocoview-input-pane{padding:12px}.docs-gm .docos-input-buttons{padding-top:8px}.docs-gm .docos-anchoreddocoview.docos-docoview-active{border-radius:8px;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.docos-anchoreddocoview .docos-anchoreddocoview-content>.docos-anchoredreplyview:last-of-type,.docos-anchoreddocoview .docos-docoview-rootreply:only-child .docos-anchoredreplyview{padding-bottom:12px}.docos-anchoreddocoview .docos-replyview-first.docos-anchoredreplyview{padding:8px;border-bottom:1px solid #ddd;background:#fff;min-height:36px}.docos-docoview-resolved .docos-anchoredreplyview,.docos-docoview-resolved .docos-showrepliesbutton,.docos-anchoreddocoview.docos-docoview-resolved .docos-replyview-first.docos-anchoredreplyview{background:#eee}.docos-anchoreddocoview .docos-anchoreddocoview-draft .docos-replyview-first.docos-anchoredreplyview{border:none}.docos-anchoredreplyview .docos-anchoredreplyview-avatar{left:0!important;display:block}.docos-anchoredreplyview.docos-replyview-first{border-top:none!important}.docos-anchoredreplyview-header .docos-anchoredreplyview-author{margin:0;margin-top:2px;color:#333;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-header-font-family,Arial,sans-serif,sans);font-size:13px;font-weight:normal;font-weight:var(--docs-material-font-weight-bold,normal);height:18px}.docs-gm .docos-anchoredreplyview-header .docos-anchoredreplyview-author{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;letter-spacing:0.25px;line-height:20px;margin-top:0}.docos-anchoreddocoview .docos-anchoreddocoview-input-pane .docos-input-textarea,.docos-anchoredreplyview .docos-anchoredreplyview-body .docos-anchoredreplyview-origin{line-height:1.4}.docs-gm .docos-anchoreddocoview .docos-anchoreddocoview-input-pane .docos-input-textarea{line-height:20px}.docos-anchoredreplyview .docos-anchoredreplyview-body{word-wrap:break-word;color:#333;padding:0}.docs-gm .docos-anchoredreplyview .docos-anchoredreplyview-body{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:0.2px;line-height:20px}.docs-gm .docos-anchoredreplyview .docos-anchoredreplyview-body a{color:#1a73e8}.docos-anchoredreplyview-header .docos-anchoredreplyview-timestamp{margin:0;color:#777;font-size:11px}.docs-gm .badging-enabled-doco .docos-anchoredreplyview-header .docos-anchoredreplyview-timestamp{-webkit-align-items:center;align-items:center;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.docs-gm .docos-anchoredreplyview-header .docos-anchoredreplyview-timestamp{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0.3px}.docs-gm .docos-anchoredreplyview .docos-new-tag{-ms-flex:none;-webkit-flex:none;flex:none;align-items:center;background-color:#1a73e8;border-radius:9px;border:1px solid white;color:white;height:16px;justify-content:center;margin:auto 0 auto 0;overflow:hidden;transform-origin:left;transition:transform 0.2s ease-out,color 0.1s ease-in,border-radius 0.2s ease}.docs-gm .docos-anchoredreplyview .docos-new-tag:not(:hover){border-radius:50%;color:transparent;width:6px;transform:scale(0.375)}.docs-gm .docos-anchoredreplyview span+.docos-new-tag{margin-left:4px}.docos-new-tag{font-weight:600;display:inline-block;font-size:0.75rem;font-family:'Roboto',sans-serif;padding:0 5px}.docos-anchoredreplyview .docos-replyview-resolve-button-plus-one,.docos-anchoredreplyview .docos-accept-suggestion,.docos-anchoredreplyview .docos-reject-suggestion{min-width:28px;width:28px;opacity:0.2}.docos-anchoredreplyview .docos-vote-button,.docos-anchoredreplyview .docos-like-button,.docos-anchoredreplyview .docos-replyview-resolve-button-plus-one,.docos-anchoredreplyview .docos-accept-suggestion,.docos-anchoredreplyview .docos-reject-suggestion{height:28px;margin:0;position:relative;top:auto;right:auto;display:inline-block;vertical-align:middle}.docos-anchoredreplyview .docos-vote-button,.docos-anchoredreplyview .docos-replyview-resolve-button-plus-one,.docos-anchoredreplyview .docos-accept-suggestion,.docos-anchoredreplyview .docos-reject-suggestion{padding:0}.docos-anchoredreplyview .docos-accept-suggestion{right:-1px}.docos-anchoredreplyview .docos-accept-suggestion div,.docos-anchoredreplyview .docos-reject-suggestion div{margin:auto;margin-top:1px}.docos-accept-suggestion{border-radius:3px 0 0 3px}.docos-reject-suggestion{border-radius:0 3px 3px 0}.docos.docs-gm .docos-accept-suggestion path,.docos.docs-gm .docos-reject-suggestion path{fill:#188038}.docos.docs-gm .docos-accept-suggestion.jfk-button-disabled path,.docos.docs-gm .docos-reject-suggestion.jfk-button-disabled path{fill:#3c4043}.docos.docs-gm .docos-accept-suggestion.jfk-button-disabled,.docos.docs-gm .docos-reject-suggestion.jfk-button-disabled{background-color:white;opacity:.38}.docos-accept-suggestion.jfk-button-disabled,.docos-reject-suggestion.jfk-button-disabled{background-color:#f9f9f9}.docos-docoview-active.docos-anchoreddocoview .docos-replyview-control,.docos-docoview-active.docos-showrepliesbutton .docos-replyview-control{display:block}.docos-showrepliesbutton-collapsed{word-wrap:break-word;color:#15c}.docos-showrepliesbutton-collapsed:hover,.docos-anchoreddocoview:hover .docos-showrepliesbutton-collapsed{text-decoration:underline}.docos-anchoreddocoview-show-replies-on-border:hover .docos-showrepliesbutton-collapsed-internal,.docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton-collapsed:hover .docos-showrepliesbutton-collapsed-internal,.docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton-collapsed-internal:hover{text-decoration:underline}.docs-gm .docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton-collapsed{position:relative;width:100%}.docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton-line{border-top:1px solid #dadce0;height:50%;position:absolute;top:50%;width:100%}.docs-gm .docos-anchoreddocoview-show-replies-on-border .docos-showrepliesbutton-collapsed-internal{background-color:#fff;display:inline-block;margin:0 20px;overflow-wrap:break-word;padding:0 8px;position:relative;word-wrap:break-word;word-break:break-word}.docos-collapsible-replyview{position:relative;margin:6px 0;padding:0}.docs-gm .docos-collapsible-replyview{margin-bottom:0}.docos-collapsible-replyview.docos-collapsible-replyview-empty{margin:0}.docos-anchoredreplyview .docos-collapsed-replyview{height:78px;overflow:hidden}.docos-show-more,.docos-show-less{color:#15c;display:none;opacity:1;width:100%;outline:none}.docos-show-more:focus,.docos-show-less:focus{text-decoration:underline}.docos-show-more{bottom:0;padding-top:16px;position:absolute;right:0}.docos-anchoreddocoview .docos-show-less,.docos-anchoreddocoview .docos-show-more{cursor:pointer;font-size:11px}.docos-anchoreddocoview .docos-show-less{background:#f5f5f5;padding:2px 0}.docos-anchoreddocoview .docos-show-more{padding:7px 0 2px 0}.docos-anchoreddocoview .docos-replyview-first .docos-show-less{background:#fff}.docos-show-more:hover,.docos-show-less:hover{text-decoration:underline}.docos-anchoreddocoview .docos-show-more{background:#f5f5f5;-ms-filter:none;filter:none}.docos-anchoreddocoview .docos-replyview-first .docos-show-more{background:#fff}.docos-anchoreddocoview.docos-docoview-tesla-conflict:hover .docos-show-more{background:#f5f5f5;-ms-filter:none;filter:none}.docos-anchoreddocoview.docos-docoview-tesla-conflict:hover .docos-replyview-first .docos-show-more{background:#fff}.docos-anchoreddocoview.docos-docoview-active .docos-show-more,.docos-anchoreddocoview.docos-docoview-active:hover .docos-show-more{background:#f5f5f5;-ms-filter:none;filter:none}.docs-gm .docos-anchoreddocoview .docos-show-more,.docs-gm .docos-anchoreddocoview .docos-show-less,.docs-gm .docos-anchoreddocoview.docos-docoview-active .docos-show-more,.docs-gm .docos-anchoreddocoview.docos-docoview-active .docos-show-less,.docs-gm .docos-replyview-first .docos-show-more,.docs-gm .docos-anchoreddocoview.docos-docoview-tesla-conflict:hover .docos-show-more{background:#fff}.docos-anchoreddocoview.docos-docoview-active .docos-replyview-first .docos-show-more,.docos-anchoreddocoview.docos-docoview-active:hover .docos-replyview-first .docos-show-more{background:#fff}.docos-collapsed-replyview>.docos-replyview-static>.docos-show-more{display:block}.docos-anchoreddocoview.docos-docoview-active .docos-show-less{background:#f5f5f5}.docos-anchoreddocoview.docos-docoview-active .docos-replyview-first .docos-show-less{background:#fff}.docos-anchoredreplyview-header{margin:6px 0;height:38px;white-space:nowrap;display:flex}.docs-gm .docos-anchoredreplyview-header{margin-top:0}.docos-replyview-first .docos-anchoredreplyview-header{margin:0;margin-bottom:8px}.docos-anchoreddocoview-draft .docos-replyview-first .docos-anchoredreplyview-header{margin:0}.docos-anchoredreplyview-buttonholder{white-space:nowrap}.docos-anchoreddocoview:hover .docos-reject-suggestion,.docos-anchoreddocoview.docos-docoview-active .docos-reject-suggestion,.docos-anchoreddocoview.docos-docomenu-visible .docos-reject-suggestion,.docos-anchoreddocoview:hover .docos-accept-suggestion,.docos-anchoreddocoview.docos-docoview-active .docos-accept-suggestion,.docos-anchoreddocoview.docos-docomenu-visible .docos-accept-suggestion,.docos-anchoreddocoview:hover .docos-mark-done-button-black,.docos-anchoreddocoview.docos-docoview-active .docos-mark-done-button-black,.docos-anchoreddocoview.docos-docomenu-visible .docos-mark-done-button-black,.docos-anchoreddocoview:hover .docos-replyview-resolve-button,.docos-anchoreddocoview.docos-docoview-active .docos-replyview-resolve-button,.docos-anchoreddocoview.docos-docomenu-visible .docos-replyview-resolve-button,.docos-anchoreddocoview:hover .docos-overflowmenu-outer>.docos-docomenu-dropdown,.docos-anchoreddocoview.docos-docoview-active .docos-overflowmenu-outer>.docos-docomenu-dropdown,.docos-anchoreddocoview.docos-docomenu-visible .docos-overflowmenu-outer>.docos-docomenu-dropdown{opacity:0.7}.docos-anchoreddocoview:hover .docos-mark-done-button-white,.docos-anchoreddocoview.docos-docoview-active .docos-mark-done-button-white,.docos-anchoreddocoview.docos-docomenu-visible .docos-mark-done-button-white{border:1px solid rgba(255,255,255,.7)}.docos-overflowmenu-outer .goog-menu{z-index:600}.docos-anchoredreplyview-buttonholder:hover .docos-reject-suggestion,.docos-anchoredreplyview-buttonholder:hover .docos-replyview-resolve-button{border-top-right-radius:0;border-bottom-right-radius:0}.docos-anchoredreplyview-buttonholder>.docos-reject-suggestion:hover,.docos-anchoredreplyview-buttonholder>.docos-replyview-resolve-button:hover{border-top-right-radius:2px;border-bottom-right-radius:2px}.docos-replyview-first .docos-anchoredreplyview-buttonholder{padding:4px 0 4px 4px}.docos-accept-suggestion{margin-right:-1px}.docos-anchoredreplyview-authortimestamp{padding-left:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-box-flex:1;box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.badging-enabled-doco .docos-anchoredreplyview-authortimestamp span{overflow:hidden;text-overflow:ellipsis}.docs-gm .docos-anchoredreplyview-authortimestamp{display:flex;-webkit-align-items:start;align-items:start;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center}.docos-anchoredreplyview-authortimestamp>*{overflow:hidden;text-overflow:ellipsis}.docs-gm .docos-anchoredreplyview-authortimestamp>*{align-self:stretch}.docos-anchoredreplyview-avatar-holder{max-width:32px}.docs-gm .docos-anchoredreplyview-avatar-holder{height:38px;margin-top:2px;max-width:36px;width:36px}.docos-anchoredreplyview-header .docos-avatar{position:relative}.docs-gm .docos-anchoredreplyview-header .docos-avatar{margin-left:2px;margin-top:2px}.docos-user-presence{width:32px;height:6px}.docs-gm .docos-user-presence{width:36px;height:36px;border-radius:50%;margin-top:-34px;margin-left:0}.docos-replyview-resolve-button-original{display:inline-block;margin:0;opacity:0.2;padding-left:2px;position:relative;padding:0 4px 0 4px;min-width:50px;height:28px;vertical-align:top}.docs-gm .docos-replyview-resolve-button-original{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;height:24px;padding:3px 12px 5px}.docs-gm .docos-replyview-resolve-button-original:hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important;height:24px;padding:3px 12px 5px}.docs-gm .docos-replyview-resolve-button{border-radius:3px 0 0 3px;display:inline-block;margin:auto;margin-top:1px;padding:0;position:relative;top:auto;right:auto;vertical-align:middle;width:28px;height:28px}.docs-gm .docos-anchoreddocoview:hover .docos-replyview-resolve-button,.docs-gm .docos-anchoreddocoview.docos-docoview-active .docos-replyview-resolve-button{opacity:1}.docos-anchoredreplyview .docos-replyview-edit{margin-left:0}.docos-anchoredreplyview-origin{word-wrap:break-word;color:#777;margin:8px -8px 0 -8px;padding:8px 8px 4px 8px;border-color:#e5e5e5;border-top-style:solid;border-top-width:1px;font-size:11px;font-style:italic}.docs-gm .docos-anchoredreplyview-origin{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:16px}.docos-anchoredreplyview .docos-action-text{color:#707070;font-style:italic;word-wrap:break-word;-ms-word-wrap:break-word;overflow-wrap:break-word}.docs-gm .docos-anchoredreplyview .docos-action-text{color:#80868b;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0.2px;line-height:20px}.docos-action-text-bottom-wrapper{padding:8px 0 3px 0;position:relative}.docos-anchoreddocoview .docos-anchoredreplyview:last-of-type .docos-action-text-bottom-wrapper{padding:8px 0 0 0}.docos-assigneeview{border-bottom:solid #dddddd 1px;padding:7px 10px 7px 8px}.docs-gm .docos-assigneeview{border-bottom:solid #dadce0 1px;padding:12px}.docos-assigneeview table{border-spacing:0;width:100%}.docos-assigneeview.docos-assignee-other{background-color:#f2f2f2;color:#333333}.docs-gm .docos-assigneeview.docos-assignee-other{background-color:#e6f4ea;color:#3c4043}.docos-assigneeview.docos-assignee-you{background-color:#4285f4;color:white}.docos.docs-gm .docos-assigneeview.docos-assignee-you{background-color:#188038;color:#fff}.docs-gm .docos-assigneeview-avatar-container{padding:2px}.docos-assigneeview-avatar.docos-avatar{position:relative;display:block}.docos-assigneeview-assigneeinfo{padding:0px 0px 0px 10px;width:100%;max-width:135px}.docs-gm .docos-assigneeview-label{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:0.3px;line-height:16px}.docos-assigneeview-assignee-text{font-weight:700;font-weight:var(--docs-material-font-weight-bold,700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-gm .docos-assigneeview-assignee-text{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px}.docos-assigneeview .docos-icon-checkmark-black{margin-top:1px}.docos-assigneeview .docos-icon-checkmark-white{margin-top:6px}.docs-gm .docos-assigneeview .docos-icon-checkmark-white{margin-top:1px}.docos-assigneeview .docos-mark-done-button{width:28px;height:28px;min-width:28px;padding:0px;margin:0px;background:none}.docos-assigneeview .docos-mark-done-button-black{opacity:0.2}.docos.docs-gm .docos-assigneeview .docos-mark-done-button-black{opacity:1}.docos-assigneeview .docos-mark-done-button-white{border:1px solid rgba(255,255,255,.38);opacity:0.7}.docos-assigneeview .docos-mark-done-button-white:hover{border:1px solid rgba(255,255,255,1);opacity:1;background:none}.docs-gm .docos-assigneeview .docos-mark-done-button-white{border:none;opacity:1}.CSS_ASSISTED_WRITING_TAB_ICON{align-items:center;background-color:#f9f9f9;border:.0625em solid #bababa;border-radius:.2em;bottom:.1em;box-sizing:border-box;display:inline-flex;height:1.1em;justify-content:center;margin-left:.3em;position:relative;width:1.8em}.CSS_ASSISTED_WRITING_TAB_ICON_TEXT{color:#bababa;font-size:.6em;font-weight:bold}.CSS_ASSISTED_WRITING_TYPEAHEAD_CONTAINER{color:#80868b!important}.docos-ac{background:#fff;border:1px solid #c8c8c8;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);margin:0px 0px;padding:4px 0px 4px 0px;position:absolute;z-index:900}.docs-gm .docos-ac{border-color:transparent;border-radius:8px;box-shadow:0 1px 3px 1px rgba(60,64,67,.15);padding:9px 0px 9px 0px}.docos-ac div{cursor:pointer}.docos-ac .ac-row{height:auto;padding:0px}.docos-ac .ac-active{background-color:#eee}.docos-ac div.active{background-color:#eee}.docs-gm .docos-ac .ac-active,.docs-gm .docos-ac div.active{background-color:#f1f3f4}.docos-ac-highlighted{font-weight:bold}.docos-availability-banner{width:268px;background-color:#fef7e0;left:-12px;padding:8px 0 8px 14px;margin:12px 0 8px 0;display:flex;align-items:center}.availability-icon-size{width:18px;height:18px;margin:1px 2px 2px 1px}.docos-availability-banner-text{width:221px;font-size:12px;padding-left:11px}.docos-avatar{left:0;position:absolute;object-fit:cover}.docs-gm .docos-avatar{border-radius:50%}.docos-avatar-unverified{opacity:0.4}.docs-gm .docos-avatar-unverified{background-color:white;opacity:1}.docos-build-info{font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);font-size:10px/12px;color:#bbb;text-align:right;padding-right:30px}.docos-build-info a{color:#bbb}.docos-calltoactionview{min-height:36px}.docos-calltoactionview-container{background:#f2f2f2;padding:8px}.docs-gm .docos-calltoactionview-container{background:white;padding:16px}.docos-calltoactionview-headertext{color:#3c4043;line-height:20px;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;vertical-align:top;width:100%}.docos-calltoactionview-body{padding:12px 0}.docos-calltoactionview-collapsible{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;overflow:hidden}.docos-calltoactionview-body a{color:#1a73e8}.docos-calltoactionview-checkbox-container{border-bottom:1px solid #dadce0;margin-bottom:16px;padding-bottom:16px;padding-top:4px}.docos-calltoactionview-checkbox-container .docs-material-gm-checkbox{cursor:pointer}.docos-calltoactionview-dont-show-again-checkbox{margin-bottom:10px}.docos-calltoactionview-dont-show-again-label{color:#3c4043;padding-left:10px;position:relative;top:2px}.docos-calltoactionview-show-more,.docos-calltoactionview-show-less{color:#15c;cursor:pointer;font-size:11px;outline:none;padding-top:4px}.docos-calltoactionview-show-more:hover,.docos-calltoactionview-show-less:hover{text-decoration:underline}.docos-contact-row{height:32px;color:rgb(0,0,0);padding:4px 8px;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans)}.docs-gm .docos-contact-row{height:36px;padding:6px 8px}.docos-contact-row .docos-avatar{float:left;left:initial;position:relative;padding-right:8px}.docs-gm .docos-contact-row .docos-avatar{padding-right:0;margin-right:8px;margin-top:2px}.docos-contact-row-name,.docos-contact-row-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docos-contact-row-email{color:#777;font-size:0.9em}.docs-gm .docos-contact-row-name{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:20px}.docs-gm .docos-ac-highlighted{font-weight:700}.docs-gm .docos-contact-row-email{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:16px}.docos-delete-dialog{font-size:14px;white-space:normal;width:472px}.docos-delete-dialog .docos-delete-dialog-subtitle{width:424px}.docos-delete-dialog span.docs-material-button-content{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif}.docos-icon{overflow:hidden;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.docos-icon-img:before{content:url(//ssl.gstatic.com/docs/common/d-icons30.png)}.docos-icon-img-hdpi:before{transform:scale(0.5);transform-origin:0 0;display:inline-block;image-rendering:optimizeSpeed;image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:optimize-contrast;-ms-interpolation-mode:nearest-neighbor}.docos-icon-img{*background:url(//ssl.gstatic.com/docs/common/d-icons30.png)}.docos-icon-img-container{position:absolute}.docos-icon-thumb-black{top:-88px;left:-4px}.docos-icon-thumb-green{top:-106px;left:-4px}.docos-icon-thumb-size{height:18px;width:18px}.docos-icon-bell{top:-25px;left:-25px}.docos-icon-bell-size{height:13px;width:11px}.docos-icon-insert-comment{top:-48px;left:-1px}.docos-icon-accept-checkmark-black{left:0px;top:0px}.docos-icon-accept-checkmark-white{top:-140px;left:-49px}.docos-icon-accept-checkmark-size{height:21px;width:21px}.docs-gm .docos-icon-accept-checkmark-black{left:-42px;top:-24px}.docs-gm .docos-icon-accept-checkmark-white{top:0;left:-42px}.docs-gm .docos-icon-accept-checkmark-size{height:24px;width:24px}.docos-icon-reject-suggestion-cross{top:-45px;left:-21px}.docos-icon-reject-suggestion-cross-size{height:21px;width:21px}.docs-gm .docos-icon-reject-suggestion-cross-size{height:24px;width:24px}.docos-icon-insert-comment-size{height:14px;width:18px}.docos-icon-overflow-three-dots{left:-25px;top:0px}.docos-icon-overflow-three-dots-size{height:21px;width:14px}.docs-gm .docos-icon-overflow-three-dots{left:0;top:-164px}.docs-gm .docos-icon-overflow-three-dots-size{height:24px;width:14px}.docos-icon-explore{top:-64px;left:-2px}.docos-icon-explore-size{height:21px;width:21px}.docos-hc-edge .docos-icon-img,.docos-hc-gecko .docos-icon-img{filter:invert(100%)}.docos-hc-ie .docos-icon-img{-ms-high-contrast-adjust:none;background-color:white}.docos-icon-instant-docos-ltr{top:-48px;left:12px;height:14px;width:18px;position:absolute;clip:rect(48px,20px,72px,0px)}.docos-icon-instant-docos-rtl{top:-48px;left:60px;height:14px;width:18px;position:absolute;clip:rect(48px,-28px,63px,-48px)}.docos-hc-edge .jfk-checkbox-checked .jfk-checkbox-checkmark::before,.docos-hc-gecko .jfk-checkbox-checked .jfk-checkbox-checkmark::before{content:url(//ssl.gstatic.com/docs/common/d-icons30.png);position:absolute;left:-50px;top:-124px;width:15px;height:15px;clip:rect(125px,65px,140px,51px)}.docs-material>.docos-new-comment-icon>.docos-icon-add-comment{top:-125px;left:-4px}.docs-material>.docos-icon-add-comment-size{height:18px;width:18px}.docs-material .docos-icon-instant-docos-ltr{top:-125px;left:11px;height:18px;width:18px;clip:rect(125px,20px,145px,0px)}.docs-material .docos-icon-instant-docos-rtl{top:-125px;left:59px;height:18px;width:18px;clip:rect(125px,-28px,145px,-48px)}.docs-suggestion-button:not(.jfk-button-disabled) .docs-material .docs-icon-img,.docs-suggestion-button:not(.jfk-button-disabled) .docs-material .docs-icon-img::before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.docs-suggestion-button.jfk-button-disabled .docs-material .docs-icon-img,.docs-suggestion-button.jfk-button-disabled .docs-material .docs-icon-img::before{opacity:.38}.docos-input{position:relative;outline:none;zoom:1}.docos-input.docos-input-nohide{display:block!important}.docos-input-contenteditable{cursor:text;text-align:start;word-wrap:break-word}.docos-input-contenteditable:empty:before{color:#80868b;content:attr(placeholder);display:block;pointer-events:none}.docos-input-contenteditable p{margin:0}.docos-input-textarea{box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;color:#999;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);font-size:13px;margin:0;overflow-x:hidden;overflow-y:hidden;outline-width:0!important;padding:4px;resize:none;width:100%;border:1px solid #c8c8c8}.docs-gm .docos-input-textarea{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;font-size:14px;line-height:20px;min-height:36px;padding:8px}.docs-gm .docos-input-textarea:focus{border:2px solid #1a73e8;box-shadow:none;padding:7px}.docos-input-textarea:disabled{background-color:#eee!important}*:first-child+html .docos-input-textarea{width:95%}.docos-input-buttons{display:none;zoom:1}.docos-input-buttons-post{font-weight:700;font-weight:var(--docs-material-font-weight-bold,700)}.docos-input-typing>.docos-input-textarea{color:#000}.docs-gm .docos-input-typing>.docos-input-textarea{color:#3c4043}.docos-input-typing>.docos-input-buttons{display:block}.docos-input-assign-to-text{color:#616161;font-style:italic;padding:5px 0 3px 0;word-wrap:break-word}.docos-input-assignment-panel{padding:6px 8px 4px 8px;background-color:#f5f5f5;border-style:solid;border-width:0 1px 1px 1px;border-color:#c8c8c8;margin-bottom:8px;cursor:pointer}.docs-gm .docos-input-assignment-panel{padding:6px 8px 11px 0;background-color:#fff;border:1px solid transparent;border-bottom:1px solid #dadce0;margin-bottom:18px;cursor:pointer}.docos-input-assignment-box{margin:2px 10px 0 0;float:left;width:11px}.docos-anchoreddocoview .docos-input-assignee-text{margin-top:1px}.docos-input-assignee-text{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);color:#707070;font-weight:normal;display:inline-block;width:calc(100% - 51px)}.docos-input-assignee-text.docos-input-assignee-text-no-chevron{width:calc(100% - 23px)}.docs-gm .docos-input-assignee-text{margin-top:6px;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);color:#3c4043;font-weight:normal;display:inline-block;width:calc(100% - 57px)}.docs-gm .docos-input-assignee-text.docos-input-assignee-text-no-chevron{width:calc(100% - 29px)}.docos-streamdocoview .docos-input-assignee-select{margin-top:0px}.docos-assignee-select-focus{border:1px solid #4d90fe!important;border-radius:2px}.docos-input-assignee-select{border:none;-moz-box-shadow:none;-webkit-box-shadow:none;background:none;box-shadow:none;cursor:pointer;float:right;width:24px;height:15px;margin:2px}.docs-gm .docos-anchoreddocoview .docos-input-assignee-select{margin-top:6px}.docos-input-assignee-select .goog-menu-button-caption{padding:0px}.docos-input-assignee-select .goog-menu-button-inner-box{margin:0px}.docos-assignee-select-item{padding:0px;border-width:0px}.docos-assignee-select-item.goog-menuitem-highlight{background-color:#f2f2f2}.goog-menu.goog-menu-vertical.docos-assignee-select-menu{padding:4px 0 4px 0;max-height:222px;overflow-y:auto;box-sizing:border-box}.goog-menu.goog-menu-vertical.docs-gm.docos-assignee-select-menu{padding:8px 0 8px 0}.goog-menu.goog-menu-vertical.docs-gm.docos-assignee-select-menu .docos-assignee-select-item,.goog-menu.goog-menu-vertical.docs-gm.docos-assignee-select-menu .docos-assignee-select-item.goog-menu-item-highlight{border:none;padding:0}.docos-input-assignment-panel .goog-menu-button-dropdown{width:24px;background:url(//ssl.gstatic.com/images/icons/material/system/2x/arrow_drop_down_black_24dp.png) center no-repeat;background-size:24px;opacity:0.54;box-sizing:border-box}.docos-input-assignment-panel .goog-menu-button-dropdown:hover{opacity:0.87}.docos-input-assignment-panel .goog-menu-button-outer-box,.docos-input-assignment-panel .goog-menu-button-inner-box{border-style:none;padding:0}.docos-instant-button-bubble-icon{margin-left:-3px;margin-top:13px}.docs-material .docos-instant-button-bubble-icon{margin-top:11px}.docos-vote-button{font-size:14px;min-width:38px;background-color:rgba(245,245,245,0.2);border-color:rgba(0,0,0,0.01880392);background-image:-moz-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:-ms-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:-o-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:-webkit-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2))}.docos-anchoreddocoview:hover .docos-vote-button,.docos-anchoreddocoview.docos-docoview-active .docos-vote-button,.docos-anchoreddocoview.docos-docomenu-visible .docos-vote-button{background-color:rgba(245,245,245,0.7);border-color:rgba(0,0,0,0.0686274);background-image:-webkit-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:-moz-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:-ms-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:-o-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7))}.docos-vote-button.jfk-button-hover{border:1px solid rgba(198,198,198,0.7)!important}.vote-button-text{color:rgb(51,51,51);opacity:0.2}.docos-anchoreddocoview:hover .vote-button-text,.docos-anchoreddocoview.docos-docoview-active .vote-button-text,.docos-anchoreddocoview.docos-docomenu-visible .vote-button-text{opacity:0.6}.post-has-votes-no-current-user-vote,.jfk-button-hover .vote-button-text,.current-user-has-up-vote{opacity:1!important}.vote-button-text.current-user-has-up-vote{color:#0f9d58}.docos-like-button{padding:0px 4px 0px 4px;min-width:20px;background-color:rgba(245,245,245,0.2);border-color:rgba(0,0,0,0.01880392);background-image:-moz-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:-ms-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:-o-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2));background-image:-webkit-linear-gradient(top,rgba(245,245,245,0.2),rgba(241,241,241,0.2))}.docos-anchoreddocoview:hover .docos-like-button,.docos-anchoreddocoview.docos-docoview-active .docos-like-button,.docos-anchoreddocoview.docos-docomenu-visible .docos-like-button{background-color:rgba(245,245,245,0.7);border-color:rgba(0,0,0,0.0686274);background-image:-webkit-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:-moz-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:-ms-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:-o-linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7));background-image:linear-gradient(top,rgba(245,245,245,0.7),rgba(241,241,241,0.7))}.docos-like-button.jfk-button-hover{border:1px solid rgba(198,198,198,0.7)!important}.docos-like-button .jfk-button-img{margin-top:0px}.docos-like-button .docos-icon{opacity:0.2}.docos-anchoreddocoview:hover .docos-icon,.docos-anchoreddocoview.docos-docoview-active .docos-icon,.docos-anchoreddocoview.docos-docomenu-visible .docos-icon{opacity:0.6}.post-has-votes-no-current-user-vote,.jfk-button-hover .docos-icon,.current-user-has-up-vote{opacity:1!important}.like-button-text{font-size:12px;display:inline-block;vertical-align:middle;color:rgb(51,51,51);opacity:1;margin-left:2px;font-weight:normal}.like-button-text.no-votes{display:none}.docos-spinner{height:100px;overflow:hidden;position:relative}.docos-quantum-spinner{height:28px;left:50%;margin-left:-14px;position:absolute;top:36px;width:28px}.docos-notificationdialog-content{width:500px}.docos-notificationdialog-label{padding:0 3px 0 8px}.docos-notificationdialog-control{padding-left:3px;margin-bottom:12px}.docos-notificationdialog-header{font-weight:700;font-weight:var(--docs-material-font-weight-bold,700);margin-bottom:12px}.docos-notificationdialog-help{position:absolute;right:20px}.docos-overflowmenu-outer{display:inline-block}.docos-overflowmenu-outer>.docos-docomenu-dropdown{border:1px solid transparent;width:14px;height:28px;margin:auto;position:relative;left:-1px;opacity:0.2}.docs-gm .docos-overflowmenu-outer>.docos-docomenu-dropdown{transition:opacity 250ms cubic-bezier(0.4,0.0,0.2,1);border:none;cursor:pointer}.docos-overflowmenu-outer>.docos-docomenu-dropdown:hover,.docos-overflowmenu-outer>.docos-docomenu-dropdown:focus{border:1px solid #4d90fe;border-top-left-radius:0;border-bottom-left-radius:0}.docs-gm .docos-overflowmenu-outer>.docos-docomenu-dropdown:hover,.docs-gm .docos-overflowmenu-outer>.docos-docomenu-dropdown:focus{border:none;background:none;box-shadow:none;opacity:1.0}.docos-overflowmenu-outer .goog-toolbar-menu-button-inner-box,.docos-overflowmenu-outer .goog-toolbar-menu-button-outer-box{min-width:14px;margin:0;padding:0}.docos-overflowmenu-outer .docos-icon{vertical-align:middle;opacity:0.7}.docos-overflowmenu-outer .goog-toolbar-menu-button-dropdown{display:none}.docos-overflowmenu .goog-menuitem,.docs-gm .docos-overflowmenu.goog-menu .goog-menuitem{padding-right:15px;padding-left:15px}.drive-quantum-spinner.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0}.spinner-blue{border-color:#4285f4}.spinner-red{border-color:#db4437}.spinner-yellow{border-color:#f4b400}.spinner-green{border-color:#0f9d58}.drive-quantum-spinner.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.drive-quantum-spinner.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.drive-quantum-spinner.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.drive-quantum-spinner.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.spinner-gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.spinner-gap-patch .spinner-circle{width:1000%;left:-450%}.spinner-circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.spinner-circle-clipper .spinner-circle{width:200%}.spinner-circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none}.spinner-circle-clipper.spinner-left .spinner-circle{border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.spinner-circle-clipper.spinner-right .spinner-circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.drive-quantum-spinner.active .spinner-circle-clipper.spinner-left .spinner-circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.drive-quantum-spinner.active .spinner-circle-clipper.spinner-right .spinner-circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}.spinner-fit{position:absolute;top:0;bottom:0;right:0;left:0}.docos-quantum-spinner.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-circle-clipper.spinner-left .spinner-circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.active .spinner-circle-clipper.spinner-right .spinner-circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.docos-readonly .hide-on-readonly{display:none!important}.show-on-readonly{display:none}.docos-readonly .show-on-readonly{display:inline-block!important}.docos-resolve-highlight{border:1px solid rgba(0,0,0,0.2)}.docos-resolve-animation{-webkit-transition:all 270ms ease-out;-moz-transition:all 270ms ease-out;-o-transition:all 270ms ease-out;transition:all 270ms ease-out;-webkit-transform:scale(0.3);-moz-transform:scale(0.3);-o-transform:scale(0.3);transform:scale(0.3);-webkit-transform-origin:center top;-moz-transform-origin:center top;-o-transform-origin:center top;transform-origin:center top;opacity:0.3}#docos-shadow-wrapper{position:relative}#docos-shadow{background:#000;background:rgba(0,0,0,0.7);color:#fff;position:absolute;z-index:700;left:0;top:0}#docos-shadow,.docos-shadow-table{height:100%;width:100%}#docos-shadow-description{font-weight:700;font-weight:var(--docs-material-font-weight-bold,700)}#docos-shadow-confirm,#docos-shadow-delete{margin:2px 7px}.docos-smarttodoview{min-height:36px}.docos-smarttodoview-container{padding:8px;background:#f2f2f2}.docs-gm .docos-smarttodoview-container{background:white;padding:16px}.docos-smarttodoview .docos-icon-explore-container{display:inline-block;padding:3px 2px 0px 2px;width:20px;height:20px;opacity:.54}.docos-gm-sidebars .docos-smarttodoview .docos-icon-explore-container{padding-top:5px}.docos-smarttodoview-header{height:38px}.docos-smarttodoview-header table{border-spacing:0}.docos-smarttodoview-headertext{padding-left:8px;width:100%;vertical-align:top}.docos-smarttodoview-headertext-outer{position:relative}.docos-smarttodoview-headertext-inner{position:absolute;padding-top:4px;width:100%;color:#616161;font-weight:700;font-weight:var(--docs-material-font-weight-bold,700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-gm .docos-smarttodoview-headertext-inner{color:#3c4043;line-height:20px;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:700}.docos-smarttodoview-body{color:#333;padding-bottom:4px;word-wrap:break-word}.docs-gm .docos-smarttodoview-body{border-bottom:1px solid #dadce0;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;margin-bottom:10px;padding-bottom:16px}.docos-gm-sidebars .docos-smarttodoview .docos-input-assign-to-text{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.docos-smarttodoview-showfeedbackdialog-container{display:inline-block;margin-top:8px}.docos-smarttodoview-showfeedbackdialog-button{color:#616161;font-size:12px}.docos-smarttodoview-showfeedbackdialog-button:hover,.docos-smarttodoview-showfeedbackdialog-button:focus{text-decoration:underline;cursor:pointer;outline:none}.docos-smarttodoview-feedback{padding:13px 8px 10px 8px;border-top:1px solid #ddd;background-color:#fff}.docos-smarttodoview-feedback-headertext{color:#333;font-weight:700;font-weight:var(--docs-material-font-weight-bold,700)}.docos-smarttodoview-feedback-checkboxlist{margin:7px 0 7px 0}.docos-smarttodoview-feedback-checkbox-container{margin:4px 0 3px 0}.docos-smarttodoview-feedback-checkbox-container label{cursor:pointer}.docos-smarttodoview-feedback-checkbox-container .jfk-checkbox{border:1px solid rgba(0,0,0,.54);cursor:pointer}.docos-smarttodoview-feedback-checkbox-container .jfk-checkbox-focused{border:1px solid #4d90fe}.docos-smarttodoview-feedback-checkbox-container .jfk-checkbox-hover{border:1px solid #333}.docos-smarttodoview-feedback-checkbox-container .jfk-checkbox-clearOutline{border:1px solid rgba(0,0,0,.54)}.docos-smarttodoview-feedback-checkbox{margin:0 8px 0 4px}.docos-smarttodoview-feedback-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333;display:inline-block;vertical-align:middle}.docos-smarttodoview-writefeedback-link{margin:2px 0 5px 0;color:#4285f4;cursor:pointer}.docos-streamdocoview{border-top:1px solid #e8e8e8;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);font-size:12px;font-size:var(--docs-material-font-size-normal,12px);padding:18px 0 7px 0;position:relative;outline:none;zoom:1}.docs-gm .docos-streamdocoview{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;padding:16px}.docs-gm .docos-streampanemargin-legacy{border:1px solid #dadce0;border-radius:4px;margin:16px 0}.docs-gm .docos-streamdocoview-avatar{left:16px}.docos:not(.docs-gm) .docos-streamdocoview:last-child{padding-bottom:0}.docos:not(.docs-gm) .docos-streamdocoview:last-child .docos-streamdocoview-controls{padding-bottom:0}.docos-streamdocoview .docos-docoview-rootreply{min-height:48px}.docos-streamrootreplyview{margin-right:12px;min-height:51px;padding:0 6px;position:relative;top:-3px}.docs-gm .docos-streamrootreplyview{margin-bottom:8px;padding:0;top:0}.docos:not(.docs-gm) .docos-docoview-resolved .docos-streamrootreplyview{background-color:#f6f6f6}.docos:not(.docs-gm) .docos-docoview-active .docos-streamrootreplyview{background-color:#fffbe1}.docs-gm .docos-streamdocoview.docos-docoview-resolved{background-color:#f1f3f4}.docos.docs-gm .docos-streamdocoview.docos-docoview-active{background-color:#fffbe1}.docos.docs-gm .docos-streamdocoview.docos-docoview-active-experiment{background-color:#e6f4ea}.docos-streamdocoview-content{margin-left:60px;position:relative}.docs-gm .docos-streamdocoview-content{margin-left:40px}.docos-streamdocoview-authorname{font-weight:700;font-weight:var(--docs-material-font-weight-bold,700);font-family:Arial,sans-serif,sans;font-family:var(--docs-material-header-font-family,Arial,sans-serif,sans)}.docs-gm .badging-enabled-doco .docos-streamdocoview-authorname{-webkit-align-items:center;align-items:center;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.docs-gm .docos-streamdocoview-authorname .docos-new-tag{-ms-flex:none;-webkit-flex:none;flex:none;align-items:center;background-color:#1a73e8;border-radius:9px;border:1px solid white;color:white;height:16px;justify-content:center;margin:auto 0 auto 0;overflow:hidden;transform-origin:left;transition:transform 0.2s ease-out,color 0.1s ease-in,border-radius 0.2s ease;line-height:16px}.docs-gm .docos-streamdocoview-authorname .docos-new-tag:not(:hover){border-radius:50%;color:transparent;transform:scale(0.375);width:6px}.docs-gm .docos-streamdocoview-authorname span+.docos-new-tag{margin-left:4px}.docos-streamdocoview-body{color:#333;word-wrap:break-word;top:-7px;zoom:1}.docos-streamdocoview-timestamp,.docos-streamdocoview-comments-off{color:#5f6368;font-size:11px;font-size:var(--docs-material-font-size-12,11px);padding:0}.docos-streamdocoview-timestamp,.docos-streamdocoview-reopen-control{right:2px}.docos-streamdocoview-bullet{color:#ccc;font-size:12px;line-height:100%;padding:0 2px}.docos-streamdocoview-controls{font-family:Arial,sans-serif,sans;font-family:var(--docs-material-header-font-family,Arial,sans-serif,sans);font-weight:normal;font-weight:var(--docs-material-font-weight-bold,normal);padding:4px 0}.docos-streamdocoview-timestamp:hover{text-decoration:underline;cursor:pointer}.docos-streamdocoview-input-pane{padding-right:6px;margin-left:30px}.docs-gm .docos-streamdocoview-input-pane{margin-left:40px;padding-right:0}.docos-streamdocoview-input-pane .docos-input-textarea{background-color:#fff;border:1px solid #c9d4ec;height:23px;font-size:12px}.docs-gm .docos-streamdocoview-input-pane .docos-input-textarea{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;font-size:14px;line-height:20px;min-height:36px;padding:8px;height:unset}.docs-gm .docos-streamdocoview-input-pane .docos-input-textarea:focus{border:2px solid #1a73e8;box-shadow:none;padding:7px}.docos-streamdocoview-input-pane.docos-input-typing .docos-input-textarea{background-color:#fff}.docos-streamdocoview-edit-pane .docos-input-textarea{height:36px}.docos-streamdocoview-inputcontainer,.docos-streamdocoview-replycontainer{margin:4px 12px 3px 0}.docs-gm .docos-streamdocoview-inputcontainer,.docs-gm .docos-streamdocoview-replycontainer{margin:0}.docos-streamdocoview-inputcontainer{background-color:#eff2f9;-moz-border-radius:0 0 6px 6px;-webkit-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;padding:6px 0 2px 6px;position:relative;zoom:1}.docs-gm .docos-streamdocoview-inputcontainer{background-color:white;border:1px solid #dadce0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;padding:16px}.docos-docoview-resolved .docos-streamdocoview-inputcontainer{background-color:#f6f6f6}.docs-gm .docos-docoview-resolved .docos-streamdocoview-inputcontainer{background-color:white}.docos-streamdocoview-details{position:absolute;right:0;top:0}.docos-streamdocoview.docos-docoview-resolved .docos-streamdocoview-details{right:4px}.docos-streamdocoview .docos-actionmenu-outer{position:absolute;right:-12px;top:3px}.docos-streamdocoview-reopen-control{display:inline}.docos-streamdocoview-reopen-control>.docos-docoview-reopen{font-family:Arial,sans-serif,sans;font-family:var(--docs-material-header-font-family,Arial,sans-serif,sans);font-size:11px;font-size:var(--docs-material-font-size-12,11px);font-weight:normal;font-weight:var(--docs-material-font-weight-bold,normal);color:#15c}.docos-streamdocoview-comment-control>.docos-docoview-comment,.docos-streamdocoview-resolve-control>.docos-docoview-resolve{color:#999;line-height:100%}.docos-streamdocoview-comment-control>.docos-docoview-comment:hover,.docos-streamdocoview-reopen-control>.docos-docoview-reopen:hover,.docos-streamdocoview-resolve-control>.docos-docoview-resolve:hover{text-decoration:underline;cursor:pointer}.docos-streamrootreplyview:hover .docos-docoview-comment,.docos-streamrootreplyview:hover .docos-docoview-resolve,.docos-docoview-active .docos-docoview-comment,.docos-docoview-active .docos-docoview-resolve{color:#15c}.docos-streampane .docos-input-buttons{padding-bottom:6px}.docos-streampane .docos-input-post{margin:0 4px 0 0}.docos-streampane .docos-input-cancel{background:none}.docos-streampane-container{line-height:140%;outline:none}.docos-streampane-content{position:relative}.docos-streampane-notificationslink{color:#15c;cursor:pointer;font-size:12px;position:absolute;right:0;top:-3px}.docos-streampane-notificationslink:hover{text-decoration:underline}.docos-offline .docos-streampane-notificationslink{color:#999;cursor:default}.docos-offline .docos-streampane-notificationslink:hover{text-decoration:none}.docos-streampane-feedbacklink{bottom:-10px;color:#15c;cursor:pointer;font-size:12px;padding-right:5px;padding-top:5px;position:absolute;right:5px;text-decoration:none}.docos-offline .docos-streampane-feedbacklink{display:none}.docos-streampane-readonlytext{color:#333;padding:12px 0 12px 20px}.docos-streampane-bannertext{background-color:#fef7e0;border-top:1px solid #dadce0;border-bottom:1px solid #dadce0;color:#5f6368;font-weight:500;padding:12px 20px 12px 20px;position:relative}.docos-streampane-bannerlink,.docos-streampane-bannerlink:visited{color:#1a73e8;font-weight:400;margin-left:8px}.docs-gm .docos-streampane-bannertext{border-top:0px}.docos-streampane-entryarea{margin:6px 29px 10px 20px;position:relative;zoom:1}.docos-streampane-entryarea-content{margin-left:61px;position:relative;zoom:1}.docos-streampane-username{font-size:12px;font-weight:700;font-weight:var(--docs-material-font-weight-bold,700);margin-bottom:3px;top:-3px}.docos-streampane-title{font-size:1.2em;margin:20px 5px 2px}.docos-streampane-input-pane{top:-4px}.docos-streampane-input-pane .docos-input-post{font-weight:700;font-weight:var(--docs-material-font-weight-bold,700)}.docos-streampane-input-pane .docos-input-textarea{font-size:12px;height:30px}.docos-streamdocoview-inputcontainer .docos-input-at-reply-message,.docos-streamdocoview-inputcontainer .docos-input-acl-fixer-message,.docos-streamdocoview-inputcontainer .docos-input-assignment-message,.docos-streamdocoview-inputcontainer .docos-input-static-message{color:#777;line-height:normal;margin-top:8px}.docos-streampane-error{background-color:#dd4b39;border:1px solid #602019;border-radius:4px;color:#fff;margin:6px;padding:6px;text-align:center}.docos-streampane-header{overflow:hidden;padding:10px 29px 10px 20px;background-color:#f5f5f5}.docs-gm .docos-streampane-header{background-color:white;border-bottom:1px solid #dadce0}.docos-streampane-header .docos-notification-settings,.docos-streampane-header .docos-new-comment-button,.docos-streampane-header .docos-feedback-button,.docos-streampane-header .docos-priority-checkbox{display:inline-block;float:right}.docos-streampane-header .goog-flat-menu-button,.docos-streampane-header .jfk-button{border-color:transparent;background-color:transparent;background-image:none}.docos-streampane-header .goog-flat-menu-button-hover,.docos-streampane-header .goog-flat-menu-button-active,.docos-streampane-header .goog-flat-menu-button-open,.docos-streampane-header .goog-flat-menu-button-focused,.docos-streampane-header .jfk-button-hover,.docos-streampane-header .jfk-button-active,.docos-streampane-header .jfk-button-focused{border-color:#c6c6c6;background-color:#f8f8f8;background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-moz-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-ms-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:-o-linear-gradient(top,#f8f8f8,#f1f1f1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1)}.docos-streampane-header .goog-flat-menu-button-dropdown{visibility:hidden}.docos-streampane-header .goog-flat-menu-button-hover .goog-flat-menu-button-dropdown,.docos-streampane-header .goog-flat-menu-button-active .goog-flat-menu-button-dropdown,.docos-streampane-header .goog-flat-menu-button-open .goog-flat-menu-button-dropdown,.docos-streampane-header .goog-flat-menu-button-focused .goog-flat-menu-button-dropdown{visibility:visible}.docos-streampane-header .goog-flat-menu-button-disabled .docos-ns-caption-icon{opacity:0.3}.docos-streampane-header .jfk-button-disabled .docos-new-comment-icon{opacity:0.15}.docos-streampane-header .docos-new-comment-button,.docos-streampane-header .docos-feedback-button{margin-left:12px;margin-right:0}.docos-enable-docs-header .docos-stream-view-legacy{padding:0 29px 0 20px}.docos-enable-docs-header .docos-stream-view{position:relative;overflow:auto}.docos-enable-docs-header .docos-stream-view-height{max-height:369px}.docos-enable-docs-header .docos-stream-view-height-legacy{max-height:450px}.docos-enable-docs-header:not(.docs-gm) .docos-stream-view>.docos-streamdocoview:first-child{border-top-color:transparent}.docos-new-comment-icon{display:inline-block;vertical-align:middle;margin:4px 5px 5px 2px;opacity:0.65}.docs-gm .docos-new-comment-icon{opacity:1}.docs-gm .docos-new-comment-button,.docs-gm .docos-notification-settings .goog-flat-menu-button,.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox .docs-material-gm-labeled-checkbox-label{box-shadow:none;background-color:white;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;border:none;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:16px;padding-bottom:1px;padding-left:6px;padding-right:6px;padding-top:2px}.docs-gm .docos-notification-settings .goog-flat-menu-button{margin-right:8px}.docs-gm .docos-notification-settings .goog-flat-menu-button-caption{font-weight:500;vertical-align:middle}.docs-gm .docos-notification-settings .goog-flat-menu-button-dropdown{display:none}.docs-gm .docos-new-comment-button,.docs-gm .docos-notification-settings .goog-flat-menu-button,.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-label{background-color:white;color:#188038}.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox{padding:5px 0}.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox .docs-material-gm-labeled-checkbox-checkbox{border-color:#188038}.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-circle{display:none}.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-content{margin-left:0}.docs-gm .docos-new-comment-button.jfk-button-hover,.docs-gm .docos-new-comment-button.jfk-button-focused,.docs-gm .docos-notification-settings .goog-flat-menu-button.goog-flat-menu-button-hover,.docs-gm .docos-notification-settings .goog-flat-menu-button.goog-flat-menu-button-focused,.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-hover,.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-focused,.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-hover .docs-material-gm-labeled-checkbox-label,.docs-gm .docos-priority-checkbox .docs-material-gm-labeled-checkbox-focused .docs-material-gm-labeled-checkbox-label{box-shadow:none;background-color:#e6f4ea;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docs-gm .docos-new-comment-button.jfk-button-active,.docs-gm .docos-notification-settings .goog-flat-menu-button.goog-flat-menu-button-open{box-shadow:none;background-color:#ceead6;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.docos-notification-settings .goog-option-selected{background-image:none}.docos-notification-settings .goog-option-selected .goog-menuitem-checkbox{content:url(//ssl.gstatic.com/ui/v1/menu/checkmark.png);margin-left:-3px;margin-top:3px}.docos-notification-settings .goog-menuitem-highlight.goog-option-selected .goog-menuitem-checkbox{margin-top:2px}.docs-gm .docos-new-comment-button.jfk-button-disabled{background-color:white;color:#f1f3f4;cursor:default}.docs-gm .docos-streampane-content .docos-streampane-submit-feedback-container{max-height:369px;overflow:auto}.docs-gm .docos-streampane-content .docos-streampane-submit-feedback-container .docos-stream-view-height{max-height:none;overflow:visible}.docs-gm .docos-streampane-content .docos-streampane-submit-feedback{box-shadow:none;background-color:#f1f3f4;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;border-radius:1000px;color:#3c4043;font-weight:500;margin:16px;padding:5px 15px}.docs-gm .docos-streampane-content .docos-stream-view-legacy .docos-streampane-submit-feedback{margin-bottom:0;margin-left:0;margin-right:0}.docs-gm .docos-streampane-content .docos-streampane-submit-feedback.jfk-button-hover,.docs-gm .docos-streampane-content .docos-streampane-submit-feedback.jfk-button-focused{box-shadow:none;background-color:#e8eaed;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;border-radius:1000px}.docos-ns-caption-icon{display:inline-block;vertical-align:middle;margin:4px 5px 5px 2px}.docs-gm .docos-ns-caption-icon{margin-left:0}.docos-gm-notification-icon-path,.docos-new-comment-icon-path{fill:#188038}.jfk-button-disabled .docos-new-comment-icon-path{fill:#f1f3f4}.docos-ns-caption{text-align:left}.docs-gm .docos-ns-caption{height:27px}.docos-ns-caption-text{display:inline-block;height:17px}.docs-gm .docos-ns-caption-text{line-height:16px;height:16px}.docos-ns-caption-placeholder{visibility:hidden}.docos-streamreplyview{background-color:#eff2f9;color:#666;font-size:12px;padding:6px 6px 0 6px;position:relative;margin-bottom:3px;min-height:24px}.docos-streamreplyview,.docos-streamrootreplyview{outline:none}.docs-gm .docos-streamreplyview{background-color:white;border:1px solid #dadce0;border-radius:4px;font-size:14px;margin-bottom:8px;padding:16px}.docos-docoview-resolved .docos-streamreplyview{background-color:#f6f6f6}.docs-gm .docos-docoview-resolved .docos-streamreplyview{background-color:white}.docos-streamreplyview-avatar{left:6px}.docs-gm .docos-streamreplyview-avatar{left:16px}.docos-streamreplyview-content{padding-left:30px}.docs-gm .docos-streamreplyview-content{padding-left:40px}.docos-streamreplyview-author{color:black;font-weight:700;font-weight:var(--docs-material-font-weight-bold,700)}.docos:not(.docs-gm) .docos-streamreplyview-author{left:-2px;margin:0 4px;right:-2px}.docs-gm .badging-enabled-doco .docos-streamreplyview-author{-webkit-align-items:center;align-items:center;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.docs-gm .docos-streamreplyview-author{color:#3c4043;letter-spacing:0.25px;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;line-height:20px;padding-right:8px}.docs-gm .docos-streamreplyview .docos-new-tag{-ms-flex:none;-webkit-flex:none;flex:none;align-items:center;background-color:#1a73e8;border-radius:9px;border:1px solid white;color:white;height:16px;justify-content:center;margin:auto 0 auto 0;overflow:hidden;transform-origin:left;transition:transform 0.2s ease-out,color 0.1s ease-in,border-radius 0.2s ease;line-height:16px}.docs-gm .docos-streamreplyview .docos-new-tag:not(:hover){border-radius:50%;color:transparent;transform:scale(0.375);width:6px}.docs-gm .docos-streamreplyview span+.docos-new-tag{margin-left:4px}.docos-streamreplyview-body{color:#333;margin:0;top:-4px;width:100%;word-wrap:break-word}.docos-streamreplyview-text,.docos-streamreplyview-timestamp{position:relative;top:-3px}.docos-streamreplyview-text{width:100%}.docos-streamreplyview-origin{padding-bottom:4px;font-style:italic}.docos-streamreplyview-origin,.docos-streamreplyview-timestamp{color:#999;font-size:11px;white-space:pre}.docos-streamdocoview .docos-streamreplyview .docos-replyview-control{display:inline;top:-3px}.docos-streamreplyview-edit-pane .docos-input-textarea{height:23px}.docos-streamdocoview .docos-replyview-quote{border-left:1px solid #ccc;font-style:italic;font-size:12px;padding:3px 10px 3px 10px;position:relative;zoom:1;word-wrap:break-word}.docs-gm .docos-streamdocoview .docos-replyview-quote{margin:8px 0;padding:0 8px 0 16px;border-left-width:3px}.docs-gm .docos-streamdocoview .docos-replyview-quote{border-left-color:#188038}.docos-replyview-quote-caption{font-size:11px;font-weight:normal;font-weight:var(--docs-material-font-weight-bold,normal);color:#999;margin-right:2px;padding:0}.docs-gm .docos-replyview-quote-caption{color:#3c4043;letter-spacing:0.8px;line-height:21px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;text-transform:uppercase}.docos-replyview-quote-collapsed{overflow:hidden;height:18px;padding-left:3px}.docs-gm .docos-replyview-quote-collapse{height:21px;padding-left:0}.docos-replyview-quote-expand{background:#fff;padding:3px 5px 0 5px;position:absolute;right:0;top:0}.docs-gm .docos-replyview-quote-expand{padding:0 5px 0 8px}.docos-replyview-quote-collapse,.docos-replyview-quote-expand{color:#15c;visibility:hidden}.docs-gm .docos-replyview-quote-collapse,.docs-gm .docos-replyview-quote-expand{color:#1a73e8}.docos-docoview-active .docos-replyview-quote-collapse,.docos-docoview-active .docos-replyview-quote-expand{visibility:visible}.docos-docoview-active .docos-replyview-quote-expand{background:#fffbe1}.docos-replyview-quote-collapse:hover,.docos-replyview-quote-expand:hover{cursor:pointer;text-decoration:underline}.docos-streamrootreplyview .docos-action-text,.docos-streamreplyview .docos-action-text{color:#777;font-style:italic;word-wrap:break-word;-ms-word-wrap:break-word;overflow-wrap:break-word}.docs-gm .docos-streamrootreplyview .docos-action-text,.docs-gm .docos-streamreplyview .docos-action-text{color:#3c4043;opacity:0.7}.docos-streamrootreplyview .docos-action-text{display:inline-block}.docos-streamdocoview-content .docos-input-assignment-panel{margin-top:-5px}.docos-textarea{margin:0;padding:2px;font-family:Arial,sans-serif,sans;font-family:var(--docs-material-font-family,Arial,sans-serif,sans);outline-width:0!important;resize:none}.docos-replyview-delete,.docos-replyview-edit{color:#15c;font-size:11px;margin:0 2px}.docos-replyview-delete:hover,.docos-replyview-edit:hover{text-decoration:underline;cursor:pointer}.docos-input-cancel{margin:0 0}.docos-input-post{margin:8px 7px 0 0}.docos-root-reply-action-text-wrapper{padding:8px 0 0 0;position:relative}.docos-hc-ie .jfk-checkbox{-ms-high-contrast-adjust:none!important;background-color:white!important}.peoplekitComponentsListImplList{list-style:none;margin:0;padding:0}.peoplekitComponentsListImplList:focus{outline:none}.peoplekitComponentsAvatarImplAvatar{-webkit-border-radius:50%;border-radius:50%;overflow:hidden}.peoplekitComponentsAvatarImplContainer{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;height:inherit;width:inherit}.peoplekitComponentsAvatarImplColumn{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow:hidden;height:inherit;-webkit-align-items:stretch;align-items:stretch}.peoplekitComponentsAvatarImplRow{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow:hidden}.peoplekitComponentsAvatarImplDivider{margin:1px}.peoplekitComponentsAvatarImplImageRoot{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-box-flex:auto;-webkit-flex:auto;flex:auto;-webkit-align-items:center;align-items:center;justify-items:center;-webkit-transition:background 50ms ease-in-out;transition:background 50ms ease-in-out}.isLoading.peoplekitComponentsAvatarImplImageRoot{background-clip:padding-box;background-color:#5f6368}.peoplekitComponentsAvatarImplImage{opacity:1;display:block;-webkit-transition:opacity 50ms ease-in-out;transition:opacity 50ms ease-in-out}.isLoading .peoplekitComponentsAvatarImplImage{opacity:0}.peoplekitComponentsResultlistitemResultListItem{background-color:#fff;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;height:64px;-webkit-justify-content:center;justify-content:center}.peoplekitComponentsResultlistitemResultListItem.comfortableDensity{height:52px}.peoplekitComponentsResultlistitemResultListItem.compactDensity{height:44px}.peoplekitComponentsResultlistitemResultListItem.isActive{background-color:#e8eaed}.peoplekitComponentsResultlistitemResultListItem.isOutOfOffice{background-color:papayawhip}.peoplekitComponentsResultlistitemResultListItemRow{-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;padding-left:12px;padding-right:12px}.peoplekitComponentsResultlistitemLeft{-webkit-box-flex:initial;-webkit-flex:initial;flex:initial}.peoplekitComponentsResultlistitemCenter{-webkit-box-flex:auto;-webkit-flex:auto;flex:auto;overflow:hidden}.peoplekitComponentsResultlistitemRight{-webkit-box-flex:initial;-webkit-flex:initial;flex:initial}.peoplekitComponentsResultlistitemLabelContainer{-webkit-align-content:flex-start;align-content:flex-start;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin-left:12px;margin-right:0}.peoplekitComponentsResultlistitemLabelRow{-webkit-box-flex:initial;-webkit-flex:initial;flex:initial;width:100%}.peoplekitComponentsResultlistitemLabel{letter-spacing:.00625em;font-family:Roboto,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5rem;color:#3c4043;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peoplekitComponentsResultlistitemResultListItem.comfortableDensity .peoplekitComponentsResultlistitemLabel{line-height:1.375rem}.peoplekitComponentsResultlistitemResultListItem.compactDensity .peoplekitComponentsResultlistitemLabel{letter-spacing:.01428571em;font-family:Roboto,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.125}.peoplekitComponentsResultlistitemSublabel{letter-spacing:.01428571em;font-family:Roboto,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;color:#5f6368;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peoplekitComponentsResultlistitemResultListItem.comfortableDensity .peoplekitComponentsResultlistitemSublabel{line-height:1.125rem}.peoplekitComponentsResultlistitemResultListItem.compactDensity .peoplekitComponentsResultlistitemSublabel{letter-spacing:.025em;font-family:Roboto,Arial,sans-serif;font-size:.75rem;font-weight:400;line-height:.875rem}.peoplekitComponentsResultlistitemResultListItem.isDisabled .peoplekitComponentsResultlistitemLabel,.peoplekitComponentsResultlistitemResultListItem.isDisabled .peoplekitComponentsResultlistitemSublabel{color:#3c4043;opacity:.38}.peoplekitComponentsResultlistitemAvatar{position:relative}.peoplekitComponentsResultlistitemResultListItem.isDisabled .peoplekitComponentsResultlistitemAvatar{opacity:.5}.peoplekitComponentsResultlistitemAvatarContainer{height:inherit;width:inherit;position:relative}.peoplekitComponentsResultlistitemAvatarSelectionOverlay{background-color:#1a73e8;-webkit-border-radius:50%;border-radius:50%;height:100%;left:0;opacity:0;position:absolute;top:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:transform .15s ease-out;transition:transform .15s ease-out;width:100%}.peoplekitComponentsResultlistitemResultListItem.isSelected .peoplekitComponentsResultlistitemAvatarSelectionOverlay{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.peoplekitComponentsResultlistitemWhiteCheck{fill:#fff;margin:8px}.peoplekitComponentsResultlistitemOutOfOffice{letter-spacing:.01428571em;font-family:Roboto,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;color:#5f6368;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none}.peoplekitComponentsResultlistitemDisabledDisableReasonContainer{-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:flex}.peoplekitComponentsResultlistitemDisabledTextIndicator{letter-spacing:.00625em;font-family:Roboto,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5rem;color:#5f6368}.peoplekitComponentsResultlistitemDisabledIconIndicator{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;background-color:#f1f3f4;-webkit-border-radius:50px;border-radius:50px;width:32px;height:32px;margin-left:16px;margin-right:calc(16px - 12px)}.peoplekitComponentsResultlistitemDisabledSelectedIcon{fill:#5f6368}.peolekitUiResultlistHeader{letter-spacing:.07272727em;font-family:Roboto,Arial,sans-serif;font-size:.6875rem;font-weight:500;line-height:1rem;text-transform:uppercase;color:#3c4043;padding-bottom:4px;padding-left:24px;padding-right:0;padding-top:16px}.peolekitUiResultlistGroup{letter-spacing:.01785714em;font-family:Roboto,Arial,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;padding-bottom:4px;padding-top:8px;padding-left:24px;padding-right:0}.peoplekitComponentsAutocompleteInlineContainer,.peoplekitComponentsAutocompleteInlineListContainer{height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;overflow:hidden}.isLoading .peoplekitComponentsAutocompleteInlineListContainer,.peoplekitComponentsAutocompleteInlineCircularProgress{display:none}.isLoading .peoplekitComponentsAutocompleteInlineCircularProgress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center;height:100%}.isLoading .peoplekitComponentsAutocompleteInlineCircularProgress:before,.isLoading .peoplekitComponentsAutocompleteInlineCircularProgress:after{-webkit-box-flex:auto;-webkit-flex:auto;flex:auto}.peoplekitComponentsCircularprogressCircularProgress{display:inline-block;height:40px;position:relative;width:40px}.peoplekitComponentsCircularprogressMessageContainer{height:0;overflow:hidden;position:absolute;width:0}.peoplekitComponentsCircularprogressCircularProgressContainer{width:100%;height:100%}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircularProgressContainer{-webkit-animation:circular-progress-container-rotate 1568ms linear infinite;-webkit-animation:circular-progress-container-rotate 1568ms linear infinite;animation:circular-progress-container-rotate 1568ms linear infinite}.peoplekitComponentsCircularprogressCircularProgressLayer{height:100%;opacity:0;position:absolute;width:100%}.peoplekitComponentsCircularprogressColorOne{border-color:#4285f4}.peoplekitComponentsCircularprogressColorTwo{border-color:#ea4335}.peoplekitComponentsCircularprogressColorThree{border-color:#fbbc04}.peoplekitComponentsCircularprogressColorFour{border-color:#34a853}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircularProgressLayer.peoplekitComponentsCircularprogressColorOne{-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-blue-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircularProgressLayer.peoplekitComponentsCircularprogressColorTwo{-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-red-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircularProgressLayer.peoplekitComponentsCircularprogressColorThree{-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-yellow-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircularProgressLayer.peoplekitComponentsCircularprogressColorFour{-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;-webkit-animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:circular-progress-fill-unfill-rotate 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both,circular-progress-green-fade-in-out 5332ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.peoplekitComponentsCircularprogressGapPatch{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.peoplekitComponentsCircularprogressGapPatch .peoplekitComponentsCircularprogressCircle{width:1000%;left:-450%}.peoplekitComponentsCircularprogressCircleClipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.peoplekitComponentsCircularprogressCircleClipper .peoplekitComponentsCircularprogressCircle{width:200%}.peoplekitComponentsCircularprogressCircle{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent;-webkit-border-radius:50%;border-radius:50%;-webkit-animation:none;-webkit-animation:none;animation:none}.peoplekitComponentsCircularprogressCircleClipper.peoplekitComponentsCircularprogressLeft .peoplekitComponentsCircularprogressCircle{border-right-color:transparent;-webkit-transform:rotate(129deg);-webkit-transform:rotate(129deg);transform:rotate(129deg)}.peoplekitComponentsCircularprogressCircleClipper.peoplekitComponentsCircularprogressRight .peoplekitComponentsCircularprogressCircle{left:-100%;border-left-color:transparent;-webkit-transform:rotate(-129deg);-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircleClipper.peoplekitComponentsCircularprogressLeft .peoplekitComponentsCircularprogressCircle{-webkit-animation:circular-progress-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;-webkit-animation:circular-progress-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:circular-progress-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.peoplekitComponentsCircularprogressCircularProgress.isActive .peoplekitComponentsCircularprogressCircleClipper.peoplekitComponentsCircularprogressRight .peoplekitComponentsCircularprogressCircle{-webkit-animation:circular-progress-right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;-webkit-animation:circular-progress-right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both;animation:circular-progress-right-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both}.peoplekitComponentsCircularprogressCircularProgress.isWarmdown .peoplekitComponentsCircularprogressCircularProgressContainer{-webkit-animation:circular-progress-container-rotate 1568ms linear infinite,circular-progress-fade-out 400ms cubic-bezier(0.4,0.0,0.2,1);-webkit-animation:circular-progress-container-rotate 1568ms linear infinite,circular-progress-fade-out 400ms cubic-bezier(0.4,0.0,0.2,1);animation:circular-progress-container-rotate 1568ms linear infinite,circular-progress-fade-out 400ms cubic-bezier(0.4,0.0,0.2,1)}@keyframes circular-progress-container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes circular-progress-container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circular-progress-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes circular-progress-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes circular-progress-blue-fade-in-out{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@-webkit-keyframes circular-progress-blue-fade-in-out{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes circular-progress-red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}}@-webkit-keyframes circular-progress-red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}}@keyframes circular-progress-yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}}@-webkit-keyframes circular-progress-yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}}@keyframes circular-progress-green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@-webkit-keyframes circular-progress-green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes circular-progress-left-spin{0%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes circular-progress-left-spin{0%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes circular-progress-right-spin{0%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@-webkit-keyframes circular-progress-right-spin{0%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes circular-progress-fade-out{0%{opacity:.99}to{opacity:0}}@-webkit-keyframes circular-progress-fade-out{0%{opacity:.99}to{opacity:0}}.peoplekitComponentsScrollboxScrollbar::-webkit-scrollbar-thumb{background:#ddd;border-bottom:1px solid white;border-left:4px solid white;-webkit-border-radius:8px;border-radius:8px;border-right:4px solid white;border-top:1px solid white;-webkit-box-shadow:none;box-shadow:none;min-height:40px}.peoplekitComponentsScrollboxScrollbar::hover::-webkit-scrollbar-thumb{background:#80868b}.peoplekitComponentsScrollboxScrollbar::-webkit-scrollbar-thumb:hover{background:#80868b}.peoplekitComponentsScrollboxScrollbar::-webkit-scrollbar-thumb:active{background:#5f6368}.peoplekitComponentsScrollboxScrollbar{border:none;outline:none;overflow:auto}.peoplekitComponentsAutocompletePopupContainer{border:0;box-shadow:0 1px 3px 0 rgba(60,64,67,.30),0 4px 8px 3px rgba(60,64,67,.15);background-color:#fff;-webkit-border-radius:4px;border-radius:4px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-bottom:8px;padding-top:8px;position:absolute;-webkit-user-select:none;z-index:999999}sentinel{}.waffle-banding-sidebar-content{overflow-y:hidden}.waffle-banding-sidebar{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;height:calc(100% - 36px);overflow-y:auto}.waffle-banding-range-picker{border-bottom:1px solid lightgrey;padding:15px 10px}.waffle-banding-range-label{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;padding-bottom:10px}.waffle-banding-header-footer-checkbox-wrapper{border-bottom:1px solid lightgrey;padding:10px 10px 0}.waffle-banding-range-picker,.waffle-banding-header-footer-checkbox-wrapper{border-bottom:0}.waffle-banding-checkbox-wrapper{align-items:flex-start;display:flex;flex-wrap:wrap}.waffle-banding-checkbox-wrapper .docs-material-gm-labeled-checkbox{max-width:none;padding:1px 20px 0 0;width:auto}.waffle-banding-checkbox-wrapper .docs-material-gm-labeled-checkbox:last-child{padding-right:0}.waffle-banding-sidebar-color-picker{padding:15px 10px}.waffle-banding-sidebar-color-picker-label{color:#3c4043;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;line-height:12px;padding:5px 0}.waffle-banding-color-picker-table,.waffle-banding-color-picker-focused,.waffle-banding-color-picker-hover{border:0;margin:0;outline:none;padding:0;width:0}.waffle-banding-color-picker-table{border-collapse:separate;border-spacing:4px}.waffle-banding-color-picker-cell{border-width:0}.waffle-banding-color-picker-cell:focus{outline:1px solid #5e97f6}.waffle-banding-sidebar-color-tile-wrapper{border:1px solid transparent}.waffle-banding-color-picker-cell-selected .waffle-banding-sidebar-color-tile-wrapper{border:1px solid #4d90fe}.waffle-banding-color-picker-cell-hover .waffle-banding-sidebar-color-tile{border-color:darkgrey}.waffle-banding-sidebar-color-tile{border:1px solid lightgrey;cursor:pointer;height:35px;line-height:35px;margin:1px;vertical-align:middle;width:33px}.waffle-assistant-banding-recommendation .waffle-banding-sidebar-color-tile{width:26px}.waffle-banding-sidebar-color-tile-wrapper .docs-sheet-add .docs-icon{margin-left:7px}.docs-sheet-add .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.waffle-banding-sidebar-color-tile-band{border-bottom:1px solid lightgrey;height:8px;width:100%}.waffle-banding-sidebar-color-tile-band:last-child{border-bottom-width:0}.waffle-banding-sidebar-color-picker-preview{padding:5px}.waffle-banding-sidebar-color-preview{display:flex;padding:5px 0}.waffle-banding-sidebar-color-preview .goog-toolbar-menu-button{margin:0}.waffle-banding-sidebar-color-preview-label{border:1px solid lightgrey;border-radius:4px;box-sizing:border-box;display:inline-block;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;height:36px;letter-spacing:0.25px;line-height:16px;margin-right:5px;padding:9px 24px 11px 24px;text-align:center;vertical-align:middle;width:170px}.waffle-banding-sidebar-color-picker-container{border:1px solid #dadce0;border-radius:4px;margin-top:5px}.waffle-banding-sidebar-custom-color-wrapper{border-bottom:1px solid #dadce0}.waffle-banding-sidebar-color-preview-picker{background-color:#f8f8f8;border-color:#c6c6c6;display:inline-block;margin:0}.waffle-banding-sidebar-color-preview-picker.goog-flat-menu-button-active{background-color:#fff!important}.waffle-banding-sidebar-buttons{margin-bottom:0;padding:0 10px 10px 10px;text-align:right}.waffle-banding-sidebar-buttons .jfk-button{margin-left:16px;margin-right:0}.waffle-named-ranges-edit-buttons{text-align:right}.waffle-banding-sidebar-clear-container{border-top:1px solid lightgrey;bottom:0;left:0;position:absolute;text-align:center;vertical-align:bottom;width:100%}.waffle-banding-sidebar-clear .docs-icon{opacity:1;opacity:unset}.waffle-banding-sidebar-clear .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.waffle-banding-sidebar-clear:hover{background-color:#eee;border-color:darkgrey;color:#424242}.waffle-banding-sidebar-clear-label{padding-left:3px}.waffle-banding-sidebar-color-wrapper{margin-bottom:3px;margin-left:1px}.waffle-banding-sidebar-clear{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;border-radius:0!important;cursor:pointer;outline:none}.waffle-banding-sidebar-clear.goog-button-hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;color:#188038}.waffle-banding-sidebar-clear.goog-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;color:#188038}.waffle-banding-sidebar-clear.goog-button-hover.goog-button-focused{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#188038}.waffle-banding-sidebar-clear.goog-button-active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;color:#188038;box-shadow:0 2px 6px 2px rgba(60,64,67,.15)}.waffle-conditionalformat-warning{background:#fff;border-bottom:1px solid #bdbdbd;border-left:8px solid #f4b400;box-sizing:border-box;box-shadow:0 1px 4px 0 rgba(0,0,0,0.22);color:#424242;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;line-height:16px;padding:14px 14px 14px 16px;z-index:2}.waffle-conditionalformat-dismiss-warning-button-holder{height:14px;margin-top:6px;width:212px}.waffle-conditionalformat-dismiss-warning-button{color:#3367d6;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;height:14px;line-height:14px;position:absolute;right:14px}.waffle-conditionalformat-scroll-pane{overflow-x:hidden;overflow-y:auto}.jfk-button-clear-outline.waffle-conditionalformat-add-rule-button{border:1px solid #bdbdbd}.waffle-conditionalformat-add-rule-button:focus,.waffle-conditionalformat-add-rule-button:hover{cursor:pointer}.jfk-button-clear-outline.waffle-conditionalformat-add-another-rule-button{border:1px solid #eee}.waffle-conditionalformat-add-another-rule-button:focus,.waffle-conditionalformat-add-another-rule-button:hover{cursor:pointer}.waffle-filterbox-container .waffle-conditionalformat-condition-type-select .goog-flat-menu-button,.waffle-filterbox-container .waffle-conditionalformat-condition-date-select .goog-flat-menu-button,.waffle-filterbox-container .waffle-conditionalformat-arg1,.waffle-filterbox-container .waffle-conditionalformat-arg2,.waffle-filterbox-container .waffle-filterbox-input{width:252px}.waffle-conditionalformat-condition-type-select .goog-flat-menu-button,.waffle-conditionalformat-condition-date-select .goog-flat-menu-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#fff;border:1px solid #dadce0!important;font-weight:normal;text-align:left}.waffle-filterbox-boolean-condition-picker-body input{border:1px solid #dadce0;border-radius:4px;box-sizing:border-box;color:#3c4043;padding:1px 8px;font-size:14px;height:36px;margin:8px 0}.waffle-filterbox-boolean-condition-picker-body input:focus{border:2px solid #1a73e8;box-shadow:none;padding:0px 7px}.waffle-conditionalformat-condition-type-select .goog-flat-menu-button,.waffle-conditionalformat-condition-date-select .goog-flat-menu-button{padding-right:8px}.waffle-filterbox-boolean-condition-picker-body{margin:6px 0 8px 0}.waffle-conditionalformat-add-rule-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -83px -24px;height:10px;position:absolute;right:15px;top:18px;width:10px}.waffle-conditionalformat-add-another-rule-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -552px -42px;height:18px;position:absolute;right:18px;top:13px;width:18px}.waffle-conditionalformat-view-pill.waffle-conditionalformat-filter-border{border-left:4px solid #f4b400;padding-left:6px}.waffle-conditionalformat-view-pill:focus,.waffle-conditionalformat-view-pill:hover{background-color:#f3f3f3;outline:none}.waffle-conditionalformat-drag-handle{cursor:move;height:76px;line-height:76px;left:0;position:absolute;top:0;visibility:hidden;width:10px}.waffle-conditionalformat-view-pill:hover .waffle-conditionalformat-drag-handle{visibility:visible}.waffle-conditionalformat-view-pill.waffle-conditionalformat-filter-border .waffle-conditionalformat-drag-handle{left:-4px}.waffle-conditionalformat-drag-handle-icon{background:no-repeat url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png") -716px -17px;height:18px;left:4px;position:absolute;top:29px;width:3px}.waffle-conditionalformat-format-preview{height:54px;line-height:54px;margin-right:10px;position:absolute;text-align:center;width:44px}.waffle-conditionalformat-condition{color:#333;font-size:13px;font-weight:500;line-height:15px;max-height:30px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;width:142px}.waffle-conditionalformat-range{color:#555;height:14px;font-size:12px;line-height:14px;overflow:hidden;text-overflow:ellipsis;width:142px}.waffle-conditionalformat-view-pill.waffle-conditionalformat-filter-border .waffle-conditionalformat-delete-button-holder{left:212px}.waffle-conditionalformat-delete-button-holder .waffle-conditionalformat-delete-rule{opacity:0.5}.waffle-conditionalformat-delete-button-holder .waffle-conditionalformat-delete-rule:hover{opacity:1}.waffle-conditionalformat-range-border{border-color:#8cc474;border-style:solid;line-height:0}.waffle-conditionalformat-range-wrapper{color:#444;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px}.waffle-conditionalformat-boolean-format-picker{padding:0 18px}.waffle-conditionalformat-edit-pill-section-label{color:#646464;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:12px;line-height:14px;margin-bottom:6px;margin-top:18px}.waffle-conditionalformat-cancel-button,.waffle-conditionalformat-done-button{cursor:pointer}.waffle-sidebar-content .waffle-conditionalformat-format-button-inner{font-size:13px;font-weight:normal;height:30px;line-height:30px;padding-left:6px;text-align:left}.waffle-conditionalformat-default-style-button,.waffle-conditionalformat-custom-style-button{background:#fff;background-clip:padding-box;cursor:pointer;height:26px;line-height:26px;margin:3px}.waffle-conditionalformat-active-style-check{color:#000;font-weight:500}.waffle-conditionalformat-condition-date-select .jfk-select{margin-top:6px}.waffle-conditionalformat-arg1{margin:6px 6px 0 0;width:196px}.waffle-conditionalformat-arg1-short{width:162px}.waffle-conditionalformat-arg2{margin:6px 6px 0 0;width:162px}.waffle-conditionalformat-multi-arg-content{max-height:135px;overflow:auto}.waffle-filterbox-container .waffle-conditionalformat-multi-arg-content .waffle-conditionalformat-editbox{width:208px}.waffle-conditionalformat-remove{color:#999;cursor:pointer;display:inline;margin:0 0 0 8px}.waffle-conditionalformat-remove .docs-icon{height:24px;margin:0;width:24px}.waffle-filterbox-container .waffle-conditionalformat-editbox{margin:5px 0;width:225px}.waffle-conditionalformat-custom-toolbar{background-color:#fff;border:1px solid #d8d8d8;border-radius:0 0 4px 4px!important;border-top:none;box-sizing:border-box;margin:6px 0;margin-left:-1px;margin-top:0;padding:0 2px;width:100%}.waffle-conditionalformat-gradient-point-holder{margin-bottom:18px}.waffle-conditionalformat-gradient-point-holder-last{margin-bottom:0}.waffle-conditionalformat-gradient-input-holder{margin-right:6px;top:1px;width:90px}.waffle-conditionalformat-gradient-min-input,.waffle-conditionalformat-gradient-mid-input,.waffle-conditionalformat-gradient-max-input{width:66px}.waffle-conditionalformat-gradient-min-input.label-input-label-disabled,.waffle-conditionalformat-gradient-mid-input.label-input-label-disabled,.waffle-conditionalformat-gradient-max-input.label-input-label-disabled{background-color:#ebebe4}.waffle-conditionalformat-gradient-min-color:focus,.waffle-conditionalformat-gradient-mid-color:focus,.waffle-conditionalformat-gradient-max-color:focus{border-color:#4d90fe}.waffle-conditionalformat-gradient-min-color.goog-toolbar-menu-button,.waffle-conditionalformat-gradient-mid-color.goog-toolbar-menu-button,.waffle-conditionalformat-gradient-max-color.goog-toolbar-menu-button{height:27px;margin:0}.jfk-bubble.waffle-error-bubble.waffle-conditionalformat-error-bubble{z-index:1!important}.waffle-conditionalformat-no-suggestions{color:#757575;font-size:12px;font-style:italic;padding-top:12px}.waffle-conditionalformat-suggestion{-ms-flex:1;-webkit-flex:1;flex:1;background-clip:content-box;height:24px;line-height:24px;padding:1px;text-align:center}.waffle-conditionalformat-suggestion-chip{padding-top:14px}.waffle-conditionalformat-suggestion-group{display:flex;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;border:1px solid #d0d0d0;padding:1px}.waffle-conditionalformat-suggestion-range{font-weight:500}.waffle-conditionalformat-collapsible-suggestions{border-bottom:1px solid #d6d6d6}.waffle-conditionalformat-suggestions-section{padding:18px}.waffle-conditionalformat-suggestion-text{color:#646464;font-size:12px;padding-top:6px}.waffle-conditionalformat-suggestions-title{color:#646464;font-weight:500}.waffle-conditionalformat-suggestions-spinner-container{padding-top:14px;text-align:center}.waffle-conditionalformat-edit-pill-section-header{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin-bottom:18px;margin-top:25px}.waffle-conditionalformat-range-picker{border-bottom:none;padding:0 18px 18px 18px}.waffle-conditionalformat-boolean-condition-picker,.waffle-conditionalformat-gradient-format-picker{border-top:none;padding:0 18px}.waffle-conditionalformat-slide-pane .waffle-conditionalformat-edit-pill-section-header{margin-top:10px;padding:0 18px}.waffle-conditionalformat-slide-pane .waffle-conditionalformat-edit-pill-button-bar{padding:12px 18px 18px 24px}.waffle-conditionalformat-slide-frame,.waffle-conditionalformat-slide-pane{position:absolute;width:100%}.waffle-conditionalformat-condition-type-select .jfk-select,.waffle-conditionalformat-condition-date-select .jfk-select{margin:0;width:100%}.waffle-conditionalformat-default-boolean-picker{width:100%}.waffle-conditionalformat-arg1-holder,.waffle-conditionalformat-arg2,.waffle-conditionalformat-arg1{width:100%}.waffle-conditionalformat-arg2,.waffle-conditionalformat-arg1{padding-left:8px;padding-right:8px}.waffle-conditionalformat-arg-separator{color:#424242;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;margin:0 7px}.waffle-conditionalformat-twoArgs-holder{align-items:center;display:flex;justify-content:space-evenly}.waffle-sidebar-content .waffle-conditionalformat-format-button{border-radius:4px 4px 0 0!important;font-size:14px;height:36px;left:-1px;margin:0}.waffle-conditionalformat-format-button.goog-flat-menu-button,.waffle-conditionalformat-format-button .goog-flat-menu-button-caption,.waffle-conditionalformat-format-button-inner{width:100%}.waffle-conditionalformat-default-menu .goog-palette-table{width:100%}.waffle-conditionalformat-default-menu{border-radius:4px;width:262px}.waffle-conditionalformat-custom-style-button{padding:0 6px;text-align:left;width:auto}.waffle-conditionalformat-default-style-button{height:31px;line-height:30px;margin-left:1px;margin-right:0;width:69px}.waffle-conditionalformat-default-menu .trix-palette .goog-palette-table{margin:0px}.waffle-conditionalformat-default-menu .goog-palette.trix-palette{padding:5px}.waffle-conditionalformat-default-menu .trix-palette .goog-palette-cell{padding:5px}.waffle-conditionalformat-edit-pill-button-bar{position:relative;text-align:right;padding:0 18px 24px 18px;border-bottom:1px solid #dadce0}.waffle-conditionalformat-done-button{margin-right:0px}.waffle-conditionalformat-add-another-rule-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;background-color:#fff;padding:16px 24px;text-align:left;width:100%}.waffle-conditionalformat-add-another-rule-plus,.waffle-conditionalformat-add-rule-plus{font-size:24px;font-weight:100;line-height:21px;margin-right:8px;vertical-align:text-bottom}.waffle-conditionalformat-default-gradient-picker{width:100%}.waffle-conditionalformat-gradient-min-color .goog-toolbar-menu-button-inner-box,.waffle-conditionalformat-gradient-mid-color .goog-toolbar-menu-button-inner-box,.waffle-conditionalformat-gradient-max-color .goog-toolbar-menu-button-inner-box{min-width:30px}.waffle-conditionalformat-gradient-min-select .jfk-select,.waffle-conditionalformat-gradient-mid-select .jfk-select,.waffle-conditionalformat-gradient-max-select .jfk-select{margin:0 6px 0 0;text-align:left;width:123px}.waffle-conditionalformat-gradient-input-holder input{width:100%}.waffle-conditionalformat-gradient-point{align-items:center;display:flex;justify-content:flex-start}.waffle-conditionalformat-gradient-point .jfk-select{height:36px;margin-top:1px;width:123px}.waffle-conditionalformat-delete-button-holder{height:56px;left:250px!important;line-height:56px;position:absolute}.waffle-conditionalformat-delete-button-holder .docs-icon{width:21px;height:21px}.waffle-conditionalformat-view-pill{background-color:#fff;border-bottom:1px solid #ccc;cursor:pointer;display:flex;height:56px;padding:10px;position:relative}.waffle-conditionalformat-view-pill-summary{left:56px;margin-bottom:auto;margin-right:8px;margin-top:auto;position:relative;width:142px}.waffle-conditionalformat-add-rule-button{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;color:#188038;height:44px;padding-top:17px;text-align:left;width:100%}.waffle-conditionalformat-drag-item{border:1px solid #ccc;width:280px}.waffle-conditionalformat-range-args-holder .waffle-conditionalformat-arg1-holder,.waffle-conditionalformat-range-args-holder .waffle-conditionalformat-arg2-holder,.waffle-conditionalformat-range-args-holder .waffle-conditionalformat-arg1{display:flex;-ms-flex:1;-webkit-flex:1;flex:1;overflow:hidden}.waffle-conditionalformat-range-args-holder .waffle-conditionalformat-arg2{-ms-flex:1;-webkit-flex:1;flex:1;margin-right:0;overflow:hidden}.waffle-conditionalformat-range-slider{margin-top:10px}.waffle-find-replace-active-cell-rect{-webkit-animation-name:waffle-find-replace-pulse;-moz-animation-name:waffle-find-replace-pulse;-o-animation-name:waffle-find-replace-pulse;animation-name:waffle-find-replace-pulse;-webkit-animation-duration:200ms;-moz-animation-duration:200ms;-o-animation-duration:200ms;animation-duration:200ms;-webkit-animation-timing-function:ease-in-out;-moz-animation-timing-function:ease-in-out;-o-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;background-color:rgba(140,196,116,0.5);border:1px solid white;border-radius:1px;box-shadow:0px 0px 0px 2px black,0 2px 3px 0 rgba(60,64,67,0.30),0 6px 10px 4px rgba(60,64,67,0.15);margin:-1px 0 0 -1px;pointer-events:none;position:absolute}.waffle-find-replace-not-active-cell-rect{background-color:rgba(140,196,116,0.25);pointer-events:none;position:absolute}@keyframes waffle-find-replace-pulse{from{-webkit-transform:scale(1.1,1.3);-moz-transform:scale(1.1,1.3);-ms-transform:scale(1.1,1.3);-o-transform:scale(1.1,1.3);transform:scale(1.1,1.3);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}}#waffle-gotobar-button-go{margin-right:8px}.docs-slidingdialog .docs-icon-next{filter:alpha(opacity=40);opacity:.40;-moz-opacity:.40}#waffle-gotobar-input{width:200px}.waffle-gotobar-rangematcher-row-icon{width:20px}.waffle-gotobar-rangematcher-row-suggestion{padding:5px}.waffle-gotobar-rangematcher-row-message{color:#aaa;padding:5px}#waffle-gotobar-error{color:#dd4b39;cursor:default;padding:0 7px 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#waffle-gotobar-error-icon{background:#dd4b39;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:white;display:inline-block;font-weight:500;padding:0 5px;position:relative;text-decoration:none;top:-1px}#waffle-named-ranges-container{border:none;height:auto;overflow-y:auto}#waffle-named-ranges-add-range{background:white;border-bottom:1px solid #ddd;color:#188038;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:16px;height:auto;padding:13px 10px 13px 10px}.waffle-named-ranges-add-range-active{color:#dd4b39}.waffle-named-ranges-add-range-inactive{color:#15c}.waffle-named-ranges-add-range-icon{margin-top:-1px}.waffle-named-ranges-add-range-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}.waffle-named-ranges-pill{border-bottom:1px solid #ddd;cursor:default;padding:10px 20px 10px 20px;position:relative}.waffle-named-ranges-pill:focus,.waffle-named-ranges-pill:hover{background-color:white;outline:none}#waffle-named-ranges-add-range,#waffle-named-ranges-add-range:focus{outline:none}#waffle-named-ranges-add-range:hover{background-color:#f8fcf9}#waffle-named-ranges-add-range:focus,.waffle-named-ranges-pill:not(.waffle-named-ranges-edit-pill):focus{background-color:#e7f5eb}#waffle-named-ranges-add-range:active{background-color:#dff2e4}.waffle-named-ranges-range-name,.waffle-named-ranges-range-rect,.waffle-named-ranges-edit-range-name{overflow:hidden;text-overflow:ellipsis}.waffle-named-ranges-pill:focus .waffle-named-ranges-edit-range-button,.waffle-named-ranges-pill:hover .waffle-named-ranges-edit-range-button{display:inline-block}.waffle-named-ranges-edit-range-button{box-shadow:none;background-color:transparent;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;color:#15c;cursor:pointer;display:none;position:absolute;right:24px;top:13px}#waffle-named-ranges-edit-delete{box-shadow:none;background-color:white;background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px;float:none;margin-left:4px;margin-right:0;top:0}#waffle-named-ranges-edit-delete .docs-icon{height:24px;margin:0;width:24px}.waffle-named-ranges-edit-range-button.jfk-button-hover,#waffle-named-ranges-edit-delete.jfk-button-hover,#waffle-named-ranges-edit-delete.jfk-button-focus{box-shadow:none;background-color:rgba(0,0,0,.06);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.waffle-named-ranges-edit-range-button.jfk-button-active,#waffle-named-ranges-edit-delete.jfk-button-active{box-shadow:none;background-color:rgba(0,0,0,0.12);background-image:none;cursor:pointer;border-color:transparent!important;border-radius:2px;border-width:1px}.waffle-named-ranges-range-name{font-size:14px;font-weight:500}.waffle-named-ranges-edit-pill{background-color:#fff;cursor:default}.waffle-named-ranges-edit-title-bar{padding:12px 0}.waffle-named-ranges-edit-range-name{font-size:15px;font-weight:500;margin:0;max-width:190px}.waffle-named-ranges-add-range-name-input{margin:5px 0 10px;position:relative;top:2px;width:calc(100%)}.waffle-named-ranges-add-range-name-input.waffle-named-ranges-add-range-name-input-with-delete{width:calc(100% - 32px)}.waffle-named-ranges-select-error{border-color:#dd4b39}.waffle-named-ranges-range-select-listening{background-color:transparent;background-color:unset;margin:0 -20px 0;padding:10px 20px;padding-top:0}.waffle-named-ranges-edit-range-select-done{margin-top:16px}.waffle-named-ranges-edit-range-select-message{color:#3c4043;display:none;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;margin-top:3px;width:110px}.waffle-named-ranges-range-select-listening .waffle-named-ranges-edit-range-select-message{display:inline-block}.waffle-named-ranges-edit-done,.waffle-named-ranges-edit-cancel{margin-top:10px}.waffle-named-ranges-edit-buttons{text-align:right}.waffle-named-ranges-edit-buttons .jfk-button{margin-left:16px;margin-right:0}#waffle-named-ranges-edit-validation-error{font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:400;margin-top:10px}#waffle-named-ranges-edit-validation-error-text{color:#dd4b39;padding:0 7px 0 0}#waffle-named-ranges-edit-validation-error-icon{background:#dd4b39;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:white;display:inline-block;font-weight:500;padding:0 5px;position:relative;text-decoration:none;top:-1px}#waffle-named-ranges-promo{border-radius:8px;background-color:#e6f4ea;cursor:default;margin:16px;padding:16px}.waffle-named-ranges-promo-title{align-items:center;color:#188038;display:flex;font-size:14px;font-weight:500;margin-bottom:10px}.waffle-named-ranges-promo-title .docs-icon{margin:0 8px 0 0}.waffle-named-ranges-promo-title-text{font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500}.waffle-named-ranges-promo-content{color:#188038;font-size:12px;letter-spacing:.3px;margin:24px 0}.waffle-named-ranges-promo-example{align-items:center;background-color:#fff;border-radius:4px;color:#202124;display:flex;margin-top:8px;padding:8px}.waffle-named-ranges-promo-example .docs-icon{margin:0 4px 0 0}.waffle-named-ranges-promo-example .docs-icon-img:before{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_dark.svg)}.waffle-named-ranges-promo-example .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_grey_dark.svg)}.waffle-named-ranges-promo-separator{background-color:#ddd;border:none;color:#ddd;height:1px;margin:20px 0 20px;width:95%}.waffle-named-ranges-promo-formulabar{border:solid #f3f3f3;border-width:10px 0 10px 0;margin:15px 0 20px}.waffle-named-ranges-promo-footer{display:flex;justify-content:flex-end}.waffle-named-ranges-promo-footer a{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e6f4ea;color:#188038;display:inline-block}.waffle-named-ranges-promo-footer a:hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e6f4ea;color:#188038;text-decoration:none}.waffle-named-ranges-promo-footer a:focus,.waffle-named-ranges-promo-footer a:hover:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#ceead6;color:#188038}.waffle-named-ranges-promo-footer a:active,.waffle-named-ranges-promo-footer a:hover:active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#ceead6;color:#188038;box-shadow:0 1px 3px 1px rgba(60,64,67,.15)}.waffle-named-ranges-promo-lock-container{height:27px;margin-right:12px;overflow:hidden;vertical-align:middle;width:23px}.waffle-named-ranges-promo-lock:before{content:url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png")}.waffle-named-ranges-promo-lock{background:url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png");left:-618px;opacity:.60;position:relative;top:0}.docs-icon.waffle-named-ranges-locked{height:21px;margin-bottom:3px;width:21px}.docs-icon.waffle-named-ranges-unlocked{height:21px;width:21px}#waffle-named-ranges-edit-manage-named-ranges{color:#15c;cursor:pointer;margin-top:5px;padding-bottom:5px}.waffle-named-ranges-border{border-color:#8cc474;border-style:solid;line-height:0}#waffle-ritz-protection-container{border:none;height:auto;overflow-y:auto;width:300px}.waffle-ritz-protection-link-button{background:white;color:#188038;cursor:pointer;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:16px;height:16px;padding:16px}.docs-icon.waffle-ritz-protection-add-range-icon{margin-top:-1px}.docs-icon.waffle-ritz-protection-add-range-icon .docs-icon-img{content:url(//ssl.gstatic.com/docs/common/material_common_sprite222_green.svg)}#waffle-ritz-protection-add-range{border-bottom:1px solid #ddd}.waffle-ritz-protection-link-button,.waffle-ritz-protection-link-button:focus{outline:none}.waffle-ritz-protection-link-button:hover{background-color:#f8fcf9}.waffle-ritz-protection-link-button:focus{background-color:#e7f5eb}.waffle-ritz-protection-link-button:active{background-color:#dff2e4}.waffle-ritz-protection-pill{border-bottom:1px solid #ddd;cursor:default;padding-bottom:10px;padding-top:10px;position:relative}.waffle-ritz-protection-pill-contents{color:#5f6368;font-size:14px;padding-left:16px;padding-right:16px}.waffle-ritz-protection-edit-permissions{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding-bottom:15px;padding-top:15px;margin-top:15px}.waffle-ritz-protection-edit-permissions-lock{left:-5px;width:15px}.waffle-ritz-protection-edit-buttons{display:flex;justify-content:flex-end;padding-top:8px}.waffle-ritz-protection-edit-permissions-title{font-size:14px;font-weight:500;word-wrap:break-word}.waffle-ritz-protection-edit-permissions-description{color:gray}.waffle-ritz-protection-range-rect,.waffle-ritz-protection-edit-range-name{overflow:hidden;text-overflow:ellipsis}.waffle-ritz-protection-range-rect-holder{color:#202124;font-weight:500}.waffle-ritz-protection-view-pill{cursor:pointer}.waffle-ritz-protection-view-pill:focus,.waffle-ritz-protection-view-pill:hover{background-color:#f3f3f3}.waffle-ritz-protection-range-name{font-size:14px;font-weight:500;word-wrap:break-word}.waffle-ritz-protection-edit-pill{background-color:#fff;cursor:default}.waffle-ritz-protection-edit-title-bar{padding:12px 0}.waffle-ritz-protection-edit-range-name{font-size:15px;font-weight:500;margin:0;max-width:190px}#waffle-ritz-protection-edit-delete{cursor:pointer;float:right;top:16px}#waffle-ritz-protection-edit-delete .docs-icon{height:24px;margin:0;width:24px}.waffle-ritz-protection-add-description-input{margin:5px 0 10px;position:relative;top:2px;width:100%}.waffle-ritz-protection-edit-description-input{width:236px}.waffle-ritz-protection-select-error{border-color:#dd4b39}#waffle-ritz-protection-edit-sheet-select{margin:0px;text-align:left;width:100%}#waffle-ritz-protection-edit-sheet-select .goog-flat-menu-button-caption{text-overflow:ellipsis;overflow:hidden;width:inherit}#waffle-ritz-protection-edit-sheet-label{font-weight:500;margin:0px 5px;overflow:hidden;text-overflow:ellipsis}.waffle-ritz-protection-holes-checkbox-container{margin-bottom:5px;margin-top:10px}#waffle-ritz-protection-holes-checkbox-label{color:#3c4043;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:24px;padding-left:8px;vertical-align:middle}.waffle-ritz-protection-edit-done,.waffle-ritz-protection-edit-cancel{margin-top:10px}.waffle-ritz-protection-edit-cancel{margin-right:8px}.waffle-ritz-protection-edit-done{margin-right:0}.waffle-ritz-protection-edit-toggle-range,.waffle-ritz-protection-edit-toggle-sheet{margin:10px 0px;width:85px}.waffle-ritz-protection-tab-separator{border-top:1px solid #dadce0;margin-left:-16px;padding-top:16px;width:300px}#waffle-ritz-protection-edit-validation-error{margin-top:5px}#waffle-ritz-protection-edit-validation-error-text{color:#dd4b39;padding:0 7px 0 0}#waffle-ritz-protection-edit-validation-error-icon{background:#dd4b39;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:white;display:inline-block;font-weight:500;padding:0 5px;position:relative;text-decoration:none;top:-1px}.waffle-ritz-protection-edit-permissions-button{margin-top:10px;padding-right:15px}#waffle-ritz-protection-promo{cursor:default;padding:0 15px 0 15px}.waffle-ritz-protection-promo-content{color:#636363;margin:20px 0 20px}.waffle-ritz-protection-promo-separator{background-color:#ddd;border:none;color:#ddd;height:1px;margin:20px 0 20px;width:95%}.waffle-ritz-protection-promo-lock-container{height:27px;margin-right:12px;overflow:hidden;vertical-align:middle;width:23px}.waffle-ritz-protection-promo-lock:before{content:url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png")}.waffle-ritz-protection-promo-lock{background:url("//ssl.gstatic.com/docs/spreadsheets/waffle_sprite53.png");left:-618px;opacity:.60;position:relative;top:0}#waffle-ritz-protection-edit-manage-ritz-protection{color:#15c;cursor:pointer;margin-top:5px;padding-bottom:5px}.waffle-ritz-protection-border{border-color:#8cc474;border-style:solid;line-height:0}.waffle-ritz-protection-acl-loading{width:400px}.waffle-ritz-protection-acl-loading-spinner,.waffle-ritz-protection-acl-loading-text{display:inline-block;position:relative;transition:left 300ms ease-out;transition:width 300ms ease-out;vertical-align:middle}.waffle-ritz-protection-type-buttons .jfk-radiobutton{display:block;margin-bottom:4px}.waffle-ritz-protection-dropdown{margin:4px 0 24px 27px}.waffle-ritz-protection-dropdown .goog-flat-menu-button-caption{font-size:12px;text-align:left;width:345px}.waffle-ritz-protection-custom-container{margin-left:27px}.waffle-ritz-protection-acl-table-container{border-collapse:collapse;border-top:1px solid #d6d6d6;font-family:arial,sans-serif;font-size:13px;margin-bottom:10px;max-height:230px;overflow:auto;width:373px}.waffle-ritz-protection-acl-header-name,.waffle-ritz-protection-acl-header-edit{color:#616161;display:inline-block;font-family:arial,sans-serif;font-size:11px;font-weight:500}.waffle-ritz-protection-acl-header{margin-bottom:10px}.waffle-ritz-protection-acl-header-edit{text-align:right}.waffle-ritz-protection-acl-scope-col,.waffle-ritz-protection-acl-header-name{width:85%}.waffle-ritz-protection-acl-edit-col,.waffle-ritz-protection-acl-header-edit{width:15%}.waffle-ritz-protection-acl-header-edit-checkbox{margin-right:10px}.waffle-ritz-protection-acl-table{empty-cells:show;width:100%}.waffle-ritz-protection-acl-table td{border-bottom:1px solid #ebebeb;font-size:13px;padding:8px 0px}.waffle-ritz-protection-acl-missing{opacity:0.5}.waffle-ritz-protection-acl-row td{text-overflow:ellipsis}.waffle-ritz-protection-acl-scope{width:313px}.waffle-ritz-protection-acl-text{display:inline-block;margin-left:15px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;width:239px;white-space:nowrap}.waffle-ritz-protection-acl-email{color:#777;margin-left:5px}.waffle-ritz-protection-acl-checkbox{display:block;margin-left:auto;margin-right:10px}.waffle-ritz-protection-acl-default-icon{display:inline-block;filter:alpha(opacity=55);height:21px;opacity:0.55;margin-left:4px;margin-top:4px;width:21px}.waffle-ritz-protection-acl-icon-container{background-color:#f5f5f5;display:inline-block;height:29px;vertical-align:middle;width:29px}.waffle-ritz-protection-acl-custom-icon{height:29px;vertical-align:middle;width:29px}.waffle-ritz-protection-acl-icon-disabled{filter:alpha(opacity=25);opacity:0.25}.waffle-ritz-protection-add-editors-container{background-color:#f5f5f5;margin-bottom:24px;padding:16px}.waffle-ritz-protection-add-editors-label{font-size:11px;font-weight:500;padding-right:15px}.waffle-ritz-protection-add-editors-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-left:8px;padding-right:8px;transition:height 200ms ease-out;width:100%}.waffle-ritz-protection-ac-renderer{background:#fff;border:1px solid #666;box-shadow:2px 2px 2px rgba(102,102,102,.4);color:#333;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;max-height:120px;overflow:hidden;position:absolute;width:369px;white-space:nowrap;z-index:1010}.waffle-ritz-protection-ac-renderer .goog-contacts-ui-autocomplete-new-section{border-top:1px solid #666;padding-top:2px}.waffle-ritz-protection-ac-renderer .ac-row{cursor:pointer;padding:4px 10px 4px 4px}.waffle-ritz-protection-ac-renderer .ac-highlighted{color:#222}.waffle-ritz-protection-ac-renderer .ac-active{background:#eee}.waffle-ritz-protection-list{border-collapse:collapse;border-top:1px solid #ebebeb;font-family:arial,sans-serif;font-size:13px;margin-bottom:24px;margin-left:27px;max-height:200px;outline:transparent;overflow:auto}.waffle-ritz-protection-item{border-bottom:1px solid #ebebeb;padding:5px 0}.waffle-ritz-protection-item-hover{background:#eee}.waffle-ritz-protection-item-name{font-size:13px;font-weight:500;word-wrap:break-word}.waffle-ritz-protection-item-range{color:gray;font-size:12px;word-wrap:break-word}.waffle-ritz-protection-acl-butter{background:#f9edbe;border:1px solid #f0c36d;color:#222;font-family:arial,sans-serif;font-size:13px;margin-bottom:10px;margin-top:10px;max-width:358px;padding:5px;text-align:center;width:100%}.waffle-ritz-protection-acl-butter-text{display:inline-block}.waffle-ritz-protection-acl-butter-href{text-decoration:underline}.waffle-ritz-protection-acl-butter-action{cursor:pointer;color:#15c;display:inline-block}.waffle-flat-multi-range-select-done{margin-top:8px}.waffle-flat-range-select-listening,.waffle-flat-multi-range-select-listening{background-color:transparent;background-color:unset}.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-row{margin-bottom:8px}.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-add-another{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:white;border:1px solid #dadce0!important;color:#188038;height:24px;padding:3px 12px 5px;display:inline-block;margin:0}.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-add-another:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#e7f5eb;border:1px solid #bbe2c6!important;height:24px;padding:3px 12px 5px}.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-add-another:hover{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#f8fcf9;border:1px solid #c8e7d1!important;height:24px;padding:3px 12px 5px}.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-add-another:hover:focus{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid #b5e0c1!important;height:24px;padding:3px 12px 5px}.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-add-another:active,.waffle-ritz-protection-pill-contents .waffle-flat-multi-range-add-another:hover:active{background-image:none;border:1px solid transparent!important;border-radius:4px;box-shadow:none;box-sizing:border-box;font-family:"Google Sans",Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-weight:500;font-size:14px;height:36px;letter-spacing:0.25px;line-height:16px;padding:9px 24px 11px 24px;background:#dff2e4;border:1px solid transparent!important;box-shadow:0 2px 6px 2px rgba(60,64,67,.15);height:24px;padding:3px 12px 5px}.goog-tab-bar.spreadsheet-settings-dialog-tab-bar .goog-tab.spreadsheet-settings-tab{color:#5f6368;cursor:pointer;font-weight:500;margin:1px 15px 0 0;padding:4px 8px;text-align:center;text-decoration:none;top:1px;width:120px}.goog-tab-bar.spreadsheet-settings-dialog-tab-bar{background:none;border-bottom-color:#e8eaed!important;margin-bottom:20px;padding-left:0!important}.goog-tab-bar.spreadsheet-settings-dialog-tab-bar .goog-tab.spreadsheet-settings-tab.goog-tab-selected,.goog-tab-bar.spreadsheet-settings-dialog-tab-bar .goog-tab.spreadsheet-settings-tab.goog-tab-hover{background:none;border-bottom:2px solid #188038;border-left:none;border-right:none;border-top:none;color:#202124}.dialog-settings .dialog-settings-input{width:210px}.dialog-settings .jfk-select{box-sizing:border-box;max-width:210px}.dialog-settings{width:670px}.dialog-settings-label{padding-bottom:4px;padding-top:4px}.dialog-settings-display-language{padding-top:4px}.dialog-settings .goog-flat-menu-button-caption{text-align:left;text-overflow:ellipsis}.modal-dialog.dialog-settings .jfk-select.goog-flat-menu-button{padding-left:14px}.grid-container {height:100%;width:100%;overflow:auto}aHash-0.8.11/compare/src/000077500000000000000000000000001457113102300150375ustar00rootroot00000000000000aHash-0.8.11/compare/src/main.rs000066400000000000000000000015751457113102300163410ustar00rootroot00000000000000use std::io::Error; use std::fs::File; use std::io::Write; use pcg_mwc::Mwc256XXA64; use ahash::RandomState; use std::io::BufWriter; use std::path::Path; use rand_core::SeedableRng; use rand::Rng; use std::time::Instant; fn main() -> Result<(), Error> { let mut r = Mwc256XXA64::seed_from_u64(0xe786_c22b_119c_1479); let path = Path::new("hash_output"); let mut file = BufWriter::new(File::create(path)?); let hasher = RandomState::with_seeds(r.gen(), r.gen(), r.gen(), r.gen()); let start = Instant::now(); let mut sum: u64 = 0; for i in 0..i32::MAX { let value = hasher.hash_one(i as u64); sum = sum.wrapping_add(value); let value: [u8; 8] = value.to_ne_bytes(); file.write_all(&value)?; } let elapsed = start.elapsed(); println!("Sum {} Elapsed time: {}", sum, elapsed.as_millis()); file.flush()?; Ok(()) }aHash-0.8.11/compare/tests/000077500000000000000000000000001457113102300154125ustar00rootroot00000000000000aHash-0.8.11/compare/tests/compare.rs000066400000000000000000000076101457113102300174120ustar00rootroot00000000000000use ahash::RandomState; use criterion::*; use farmhash::FarmHasher; use fnv::FnvBuildHasher; use fxhash::FxBuildHasher; use std::hash::{BuildHasher, BuildHasherDefault, Hash, Hasher}; use xxhash_rust::xxh3::Xxh3Builder; fn ahash(k: &K, builder: &RandomState) -> u64 { let mut hasher = builder.build_hasher(); k.hash(&mut hasher); hasher.finish() } fn generic_hash(key: &K, builder: &B) -> u64 { let mut hasher = builder.build_hasher(); key.hash(&mut hasher); hasher.finish() } fn create_string(len: usize) -> String { let mut string = String::default(); for pos in 1..=len { let c = (48 + (pos % 10) as u8) as char; string.push(c); } string } fn compare_ahash(c: &mut Criterion) { let builder = RandomState::new(); let test = "compare_ahash"; for num in &[1, 3, 7, 15, 31, 63, 127, 255, 511, 1023] { let name = "string".to_owned() + &num.to_string(); let string = create_string(*num); c.bench_with_input(BenchmarkId::new(test, &name), &string, |bencher, s| { bencher.iter(|| black_box(ahash(s, &builder))); }); } } fn compare_other(c: &mut Criterion, test: &str, builder: B) { for num in &[1, 3, 7, 15, 31, 63, 127, 255, 511, 1023] { let name = "string".to_owned() + &num.to_string(); let string = create_string(*num); c.bench_with_input(BenchmarkId::new(test, &name), &string, |bencher, s| { bencher.iter(|| black_box(generic_hash(&s, &builder))); }); } } fn compare_farmhash(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = BuildHasherDefault::::default(); compare_other(c, "compare_farmhash", builder) } fn compare_fnvhash(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = FnvBuildHasher::default(); compare_other(c, "compare_fnvhash", builder) } fn compare_fxhash(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = FxBuildHasher::default(); compare_other(c, "compare_fxhash", builder) } fn compare_highway(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = highway::HighwayBuildHasher::default(); compare_other(c, "compare_highway", builder) } fn compare_metro(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = metrohash::MetroBuildHasher::default(); compare_other(c, "compare_metro", builder) } fn compare_t1ha(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = t1ha::T1haBuildHasher::default(); compare_other(c, "compare_t1ha", builder) } fn compare_sip13(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = BuildHasherDefault::::default(); compare_other(c, "compare_sip13", builder) } fn compare_sip24(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = BuildHasherDefault::::default(); compare_other(c, "compare_sip24", builder) } fn compare_wyhash(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = BuildHasherDefault::::default(); compare_other(c, "compare_wyhash", builder) } fn compare_xxhash(c: &mut Criterion) { let int: u64 = 1234; let string = create_string(1024); let builder = Xxh3Builder::default(); compare_other(c, "compare_xxhash", builder) } criterion_main!(compare); criterion_group!( compare, compare_ahash, compare_farmhash, compare_fnvhash, compare_fxhash, compare_highway, compare_metro, compare_t1ha, compare_sip13, compare_sip24, compare_wyhash, compare_xxhash, ); aHash-0.8.11/no_std_test/000077500000000000000000000000001457113102300151475ustar00rootroot00000000000000aHash-0.8.11/no_std_test/Cargo.toml000066400000000000000000000011221457113102300170730ustar00rootroot00000000000000[workspace] [package] name = "no_std_test" version = "0.1.0" edition = "2018" authors = ["Stephen Chung"] description = "no-std test application" [dependencies] ahash = { path = "../", default_features = false } wee_alloc = { version = "0.4.5", default_features = false } [profile.dev] panic = "abort" [profile.release] opt-level = "z" # optimize for size debug = false rpath = false debug-assertions = false codegen-units = 1 panic = "abort" [profile.unix] inherits = "release" lto = true [profile.windows] inherits = "release" [profile.macos] inherits = "release" lto = "fat" aHash-0.8.11/no_std_test/src/000077500000000000000000000000001457113102300157365ustar00rootroot00000000000000aHash-0.8.11/no_std_test/src/main.rs000066400000000000000000000021711457113102300172310ustar00rootroot00000000000000//! This is a bare-bones `no-std` application that hashes a value and //! uses the hash value as the return value. #![no_std] #![feature(alloc_error_handler, start, core_intrinsics, lang_items, link_cfg)] #[global_allocator] static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; use core::hash::{Hash, Hasher}; // NB: Rust needs a CRT runtime on Windows MSVC. #[cfg(all(windows, target_env = "msvc"))] #[link(name = "msvcrt")] #[link(name = "libcmt")] extern "C" {} #[start] fn main(_argc: isize, _argv: *const *const u8) -> isize { let mut h: ahash::AHasher = Default::default(); 42_i32.hash(&mut h); return h.finish() as isize; } #[alloc_error_handler] fn foo(_: core::alloc::Layout) -> ! { core::intrinsics::abort(); } #[panic_handler] #[lang = "panic_impl"] fn rust_begin_panic(_: &core::panic::PanicInfo) -> ! { core::intrinsics::abort(); } #[no_mangle] extern "C" fn _rust_eh_personality() {} #[no_mangle] extern "C" fn rust_eh_personality() {} #[no_mangle] extern "C" fn rust_eh_register_frames() {} #[no_mangle] extern "C" fn rust_eh_unregister_frames() {} #[no_mangle] extern "C" fn _Unwind_Resume() {} aHash-0.8.11/rustfmt.toml000066400000000000000000000000201457113102300152130ustar00rootroot00000000000000max_width = 120 aHash-0.8.11/smhasher/000077500000000000000000000000001457113102300144345ustar00rootroot00000000000000aHash-0.8.11/smhasher/ahash-cbindings/000077500000000000000000000000001457113102300174565ustar00rootroot00000000000000aHash-0.8.11/smhasher/ahash-cbindings/Cargo.toml000066400000000000000000000010341457113102300214040ustar00rootroot00000000000000[package] name = "ahash-cbindings" version = "0.1.2" authors = ["Tom Kaitchuck "] edition = "2018" description = "C bindings for aHash so that it can be invoked by SMHasher to verify quality." # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name = "ahash_c" crate-type = ["staticlib"] # Creates static lib [profile.release] opt-level = 3 debug = false lto = 'fat' debug-assertions = false [dependencies] ahash = { path = "../../", default-features = false }aHash-0.8.11/smhasher/ahash-cbindings/install.sh000077500000000000000000000002201457113102300214550ustar00rootroot00000000000000RUSTFLAGS="-C opt-level=3 -C target-cpu=native -C codegen-units=1" cargo build --release && sudo cp target/release/libahash_c.a /usr/local/lib/ aHash-0.8.11/smhasher/ahash-cbindings/src/000077500000000000000000000000001457113102300202455ustar00rootroot00000000000000aHash-0.8.11/smhasher/ahash-cbindings/src/lib.rs000066400000000000000000000005151457113102300213620ustar00rootroot00000000000000use ahash::*; use core::slice; use std::hash::{BuildHasher}; #[no_mangle] pub extern "C" fn ahash64(buf: *const (), len: usize, seed: u64) -> u64 { let buf: &[u8] = unsafe { slice::from_raw_parts(buf as *const u8, len) }; let build_hasher = RandomState::with_seeds(seed, seed, seed, seed); build_hasher.hash_one(&buf) } aHash-0.8.11/smhasher/ahashOutput.txt000066400000000000000000002015121457113102300175030ustar00rootroot00000000000000------------------------------------------------------------------------------- --- Testing ahash64 "ahash 64bit" GOOD [[[ Sanity Tests ]]] Verification value 0x74CCCAD5 ....... SKIP (self- or unseeded) Running sanity check 1 .......... PASS Running AppendedZeroesTest .......... PASS [[[ Speed Tests ]]] Bulk speed test - 262144-byte keys Alignment 7 - 21.075 bytes/cycle - 60295.19 MiB/sec @ 3 ghz Alignment 6 - 20.741 bytes/cycle - 59341.51 MiB/sec @ 3 ghz Alignment 5 - 20.881 bytes/cycle - 59741.43 MiB/sec @ 3 ghz Alignment 4 - 21.013 bytes/cycle - 60117.99 MiB/sec @ 3 ghz Alignment 3 - 20.976 bytes/cycle - 60012.54 MiB/sec @ 3 ghz Alignment 2 - 20.998 bytes/cycle - 60074.72 MiB/sec @ 3 ghz Alignment 1 - 21.026 bytes/cycle - 60154.64 MiB/sec @ 3 ghz Alignment 0 - 22.039 bytes/cycle - 63054.96 MiB/sec @ 3 ghz Average - 21.094 bytes/cycle - 60349.12 MiB/sec @ 3 ghz Small key speed test - 1-byte keys - 18.00 cycles/hash Small key speed test - 2-byte keys - 18.00 cycles/hash Small key speed test - 3-byte keys - 18.00 cycles/hash Small key speed test - 4-byte keys - 18.00 cycles/hash Small key speed test - 5-byte keys - 18.00 cycles/hash Small key speed test - 6-byte keys - 18.00 cycles/hash Small key speed test - 7-byte keys - 18.00 cycles/hash Small key speed test - 8-byte keys - 18.00 cycles/hash Small key speed test - 9-byte keys - 18.00 cycles/hash Small key speed test - 10-byte keys - 18.19 cycles/hash Small key speed test - 11-byte keys - 18.00 cycles/hash Small key speed test - 12-byte keys - 18.00 cycles/hash Small key speed test - 13-byte keys - 19.00 cycles/hash Small key speed test - 14-byte keys - 18.97 cycles/hash Small key speed test - 15-byte keys - 18.73 cycles/hash Small key speed test - 16-byte keys - 19.41 cycles/hash Small key speed test - 17-byte keys - 20.00 cycles/hash Small key speed test - 18-byte keys - 20.00 cycles/hash Small key speed test - 19-byte keys - 20.00 cycles/hash Small key speed test - 20-byte keys - 20.41 cycles/hash Small key speed test - 21-byte keys - 20.00 cycles/hash Small key speed test - 22-byte keys - 20.00 cycles/hash Small key speed test - 23-byte keys - 20.00 cycles/hash Small key speed test - 24-byte keys - 20.59 cycles/hash Small key speed test - 25-byte keys - 20.12 cycles/hash Small key speed test - 26-byte keys - 20.16 cycles/hash Small key speed test - 27-byte keys - 20.00 cycles/hash Small key speed test - 28-byte keys - 20.00 cycles/hash Small key speed test - 29-byte keys - 20.31 cycles/hash Small key speed test - 30-byte keys - 20.33 cycles/hash Small key speed test - 31-byte keys - 20.15 cycles/hash Average 19.173 cycles/hash [[[ 'Hashmap' Speed Tests ]]] std::unordered_map Init std HashMapTest: 186.422 cycles/op (104334 inserts, 1% deletions) Running std HashMapTest: 120.371 cycles/op (5.2 stdv) greg7mdp/parallel-hashmap Init fast HashMapTest: 110.249 cycles/op (104334 inserts, 1% deletions) Running fast HashMapTest: 86.785 cycles/op (3.2 stdv) ....... PASS [[[ Avalanche Tests ]]] Testing 24-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.626000% Testing 32-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.587333% Testing 40-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.720667% Testing 48-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.648667% Testing 56-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.687333% Testing 64-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.652667% Testing 72-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.724000% Testing 80-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.824000% Testing 96-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.698667% Testing 112-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.697333% Testing 128-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.692000% Testing 160-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.748667% Testing 512-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.754667% Testing 1024-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.821333% [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (high 19-25 bits) - Worst is 20 bits: 1227/1203 (1.02x) Testing collisions (low 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (low 19-25 bits) - Worst is 25 bits: 43/38 (1.13x) Testing distribution - Worst bias is the 13-bit window at bit 20 - 0.620% Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 188.2, actual 203 (1.08x) (15) Testing collisions (high 24-35 bits) - Worst is 32 bits: 203/188 (1.08x) Testing collisions (low 32-bit) - Expected 188.2, actual 203 (1.08x) (15) Testing collisions (low 24-35 bits) - Worst is 33 bits: 110/94 (1.17x) Testing distribution - Worst bias is the 17-bit window at bit 48 - 0.116% Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2372.2, actual 2445 (1.03x) (73) Testing collisions (high 25-38 bits) - Worst is 34 bits: 642/593 (1.08x) Testing collisions (low 32-bit) - Expected 2372.2, actual 2392 (1.01x) (20) Testing collisions (low 25-38 bits) - Worst is 32 bits: 2392/2372 (1.01x) Testing distribution - Worst bias is the 19-bit window at bit 46 - 0.050% Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2460.8, actual 2585 (1.05x) (125) Testing collisions (high 25-38 bits) - Worst is 38 bits: 44/38 (1.14x) Testing collisions (low 32-bit) - Expected 2460.8, actual 2462 (1.00x) (2) Testing collisions (low 25-38 bits) - Worst is 37 bits: 86/76 (1.12x) Testing distribution - Worst bias is the 19-bit window at bit 32 - 0.039% Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 23437.8, actual 23507 (1.00x) (70) Testing collisions (high 27-42 bits) - Worst is 42 bits: 25/22 (1.09x) Testing collisions (low 32-bit) - Expected 23437.8, actual 23406 (1.00x) (-31) Testing collisions (low 27-42 bits) - Worst is 42 bits: 32/22 (1.40x) Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.019% Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2069.0, actual 2109 (1.02x) (41) Testing collisions (high 25-38 bits) - Worst is 38 bits: 41/32 (1.27x) Testing collisions (low 32-bit) - Expected 2069.0, actual 2063 (1.00x) (-5) Testing collisions (low 25-38 bits) - Worst is 29 bits: 16692/16513 (1.01x) Testing distribution - Worst bias is the 19-bit window at bit 24 - 0.070% Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8021.7, actual 7956 (0.99x) (-65) Testing collisions (high 26-40 bits) - Worst is 40 bits: 33/31 (1.05x) Testing collisions (low 32-bit) - Expected 8021.7, actual 8042 (1.00x) (21) Testing collisions (low 26-40 bits) - Worst is 33 bits: 4038/4012 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.025% Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 26451.8, actual 26636 (1.01x) (185) Testing collisions (high 27-42 bits) - Worst is 42 bits: 35/25 (1.35x) Testing collisions (low 32-bit) - Expected 26451.8, actual 26728 (1.01x) (277) Testing collisions (low 27-42 bits) - Worst is 37 bits: 874/827 (1.06x) Testing distribution - Worst bias is the 20-bit window at bit 7 - 0.029% Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1401.0, actual 1415 (1.01x) (15) Testing collisions (high 25-38 bits) - Worst is 38 bits: 23/21 (1.05x) Testing collisions (low 32-bit) - Expected 1401.0, actual 1407 (1.00x) (7) Testing collisions (low 25-38 bits) - Worst is 35 bits: 209/175 (1.19x) Testing distribution - Worst bias is the 19-bit window at bit 29 - 0.092% Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 84546.1, actual 84863 (1.00x) (317) Testing collisions (high 28-44 bits) - Worst is 44 bits: 23/20 (1.11x) Testing collisions (low 32-bit) - Expected 84546.1, actual 84657 (1.00x) (111) Testing collisions (low 28-44 bits) - Worst is 34 bits: 21448/21169 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 48 - 0.011% Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 910.2, actual 950 (1.04x) (40) Testing collisions (high 25-37 bits) - Worst is 37 bits: 34/28 (1.20x) Testing collisions (low 32-bit) - Expected 910.2, actual 840 (0.92x) Testing collisions (low 25-37 bits) - Worst is 26 bits: 57659/57462 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 15 - 0.108% Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 58155.4, actual 58002 (1.00x) (-153) Testing collisions (high 28-43 bits) - Worst is 39 bits: 470/455 (1.03x) Testing collisions (low 32-bit) - Expected 58155.4, actual 58146 (1.00x) (-9) Testing collisions (low 28-43 bits) - Worst is 34 bits: 14592/14557 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 39 - 0.011% Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 32.1, actual 35 (1.09x) (3) Testing collisions (high 22-32 bits) - Worst is 32 bits: 35/32 (1.09x) Testing collisions (low 32-bit) - Expected 32.1, actual 38 (1.19x) (6) Testing collisions (low 22-32 bits) - Worst is 31 bits: 78/64 (1.22x) Testing distribution - Worst bias is the 16-bit window at bit 5 - 0.137% Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.4, actual 521 (1.02x) (9) Testing collisions (high 24-36 bits) - Worst is 32 bits: 521/512 (1.02x) Testing collisions (low 32-bit) - Expected 512.4, actual 541 (1.06x) (29) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1111/1024 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.070% [[[ Keyset 'Permutation' Tests ]]] Combination Lowbits Tests: Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 668.6, actual 693 (1.04x) (25) Testing collisions (high 24-37 bits) - Worst is 32 bits: 693/668 (1.04x) Testing collisions (low 32-bit) - Expected 668.6, actual 634 (0.95x) Testing collisions (low 24-37 bits) - Worst is 37 bits: 26/20 (1.24x) Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.093% Combination Highbits Tests Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 668.6, actual 672 (1.01x) (4) Testing collisions (high 24-37 bits) - Worst is 36 bits: 47/41 (1.12x) Testing collisions (low 32-bit) - Expected 668.6, actual 644 (0.96x) Testing collisions (low 24-37 bits) - Worst is 28 bits: 10798/10667 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 32 - 0.067% Combination Hi-Lo Tests: Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 17322.9, actual 17436 (1.01x) (114) Testing collisions (high 27-41 bits) - Worst is 41 bits: 39/33 (1.15x) Testing collisions (low 32-bit) - Expected 17322.9, actual 17236 (0.99x) (-86) Testing collisions (low 27-41 bits) - Worst is 41 bits: 36/33 (1.06x) Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.022% Combination 0x8000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8158 (1.00x) (-28) Testing collisions (high 26-40 bits) - Worst is 38 bits: 133/127 (1.04x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8229 (1.01x) (43) Testing collisions (low 26-40 bits) - Worst is 35 bits: 1050/1023 (1.03x) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.048% Combination 0x0000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8178 (1.00x) (-8) Testing collisions (high 26-40 bits) - Worst is 31 bits: 16405/16362 (1.00x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8238 (1.01x) (52) Testing collisions (low 26-40 bits) - Worst is 40 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 20-bit window at bit 48 - 0.036% Combination 0x800000000000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8237 (1.01x) (51) Testing collisions (high 26-40 bits) - Worst is 40 bits: 40/31 (1.25x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8221 (1.00x) (35) Testing collisions (low 26-40 bits) - Worst is 40 bits: 42/31 (1.31x) Testing distribution - Worst bias is the 20-bit window at bit 15 - 0.045% Combination 0x000000000000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8213 (1.00x) (27) Testing collisions (high 26-40 bits) - Worst is 39 bits: 75/63 (1.17x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8324 (1.02x) (138) Testing collisions (low 26-40 bits) - Worst is 39 bits: 76/63 (1.19x) Testing distribution - Worst bias is the 20-bit window at bit 30 - 0.042% Combination 16-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8277 (1.01x) (91) Testing collisions (high 26-40 bits) - Worst is 40 bits: 38/31 (1.19x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8219 (1.00x) (33) Testing collisions (low 26-40 bits) - Worst is 32 bits: 8219/8186 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 60 - 0.037% Combination 16-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8215 (1.00x) (29) Testing collisions (high 26-40 bits) - Worst is 33 bits: 4122/4094 (1.01x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8281 (1.01x) (95) Testing collisions (low 26-40 bits) - Worst is 32 bits: 8281/8186 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.051% Combination 32-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8101 (0.99x) (-85) Testing collisions (high 26-40 bits) - Worst is 26 bits: 503871/503108 (1.00x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8230 (1.01x) (44) Testing collisions (low 26-40 bits) - Worst is 38 bits: 143/127 (1.12x) Testing distribution - Worst bias is the 20-bit window at bit 34 - 0.035% Combination 32-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8055 (0.98x) (-131) Testing collisions (high 26-40 bits) - Worst is 37 bits: 261/255 (1.02x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8018 (0.98x) Testing collisions (low 26-40 bits) - Worst is 40 bits: 43/31 (1.34x) Testing distribution - Worst bias is the 20-bit window at bit 20 - 0.042% Combination 64-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8397 (1.03x) (211) Testing collisions (high 26-40 bits) - Worst is 33 bits: 4244/4094 (1.04x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8234 (1.01x) (48) Testing collisions (low 26-40 bits) - Worst is 39 bits: 69/63 (1.08x) Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.041% Combination 64-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8164 (1.00x) (-22) Testing collisions (high 26-40 bits) - Worst is 39 bits: 70/63 (1.09x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8084 (0.99x) (-102) Testing collisions (low 26-40 bits) - Worst is 40 bits: 33/31 (1.03x) Testing distribution - Worst bias is the 20-bit window at bit 41 - 0.049% Combination 128-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8193 (1.00x) (7) Testing collisions (high 26-40 bits) - Worst is 34 bits: 2090/2047 (1.02x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8006 (0.98x) Testing collisions (low 26-40 bits) - Worst is 38 bits: 151/127 (1.18x) Testing distribution - Worst bias is the 20-bit window at bit 58 - 0.032% Combination 128-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8109 (0.99x) (-77) Testing collisions (high 26-40 bits) - Worst is 38 bits: 137/127 (1.07x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8095 (0.99x) (-91) Testing collisions (low 26-40 bits) - Worst is 34 bits: 2059/2047 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 51 - 0.040% [[[ Keyset 'Window' Tests ]]] Keyset 'Window' - 32-bit key, 25-bit window - 32 tests, 33554432 keys per test Window at 0 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 1 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 2 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 3 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 4 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 5 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 6 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 7 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 8 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 9 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 10 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 11 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 12 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 13 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 14 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 15 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 16 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 17 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 18 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 19 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 20 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 21 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 22 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 23 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 24 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 25 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 26 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 27 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 28 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 29 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 30 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 31 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 32 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 116 (1.00x) Testing collisions (high 23-34 bits) - Worst is 34 bits: 32/29 (1.10x) Testing collisions (low 32-bit) - Expected 116.4, actual 114 (0.98x) Testing collisions (low 23-34 bits) - Worst is 30 bits: 468/465 (1.01x) Testing distribution - Worst bias is the 17-bit window at bit 8 - 0.118% Keyset 'Cyclic' - 8 cycles of 9 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 104 (0.89x) Testing collisions (high 23-34 bits) - Worst is 24 bits: 29435/29218 (1.01x) Testing collisions (low 32-bit) - Expected 116.4, actual 116 (1.00x) Testing collisions (low 23-34 bits) - Worst is 34 bits: 39/29 (1.34x) Testing distribution - Worst bias is the 17-bit window at bit 26 - 0.084% Keyset 'Cyclic' - 8 cycles of 10 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 126 (1.08x) (10) Testing collisions (high 23-34 bits) - Worst is 31 bits: 257/232 (1.10x) Testing collisions (low 32-bit) - Expected 116.4, actual 122 (1.05x) (6) Testing collisions (low 23-34 bits) - Worst is 33 bits: 67/58 (1.15x) Testing distribution - Worst bias is the 17-bit window at bit 16 - 0.128% Keyset 'Cyclic' - 8 cycles of 11 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 144 (1.24x) (28) Testing collisions (high 23-34 bits) - Worst is 32 bits: 144/116 (1.24x) Testing collisions (low 32-bit) - Expected 116.4, actual 114 (0.98x) Testing collisions (low 23-34 bits) - Worst is 34 bits: 34/29 (1.17x) Testing distribution - Worst bias is the 17-bit window at bit 16 - 0.097% Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 110 (0.94x) Testing collisions (high 23-34 bits) - Worst is 34 bits: 35/29 (1.20x) Testing collisions (low 32-bit) - Expected 116.4, actual 109 (0.94x) Testing collisions (low 23-34 bits) - Worst is 25 bits: 14795/14754 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 36 - 0.084% Keyset 'Cyclic' - 8 cycles of 16 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 116 (1.00x) Testing collisions (high 23-34 bits) - Worst is 31 bits: 240/232 (1.03x) Testing collisions (low 32-bit) - Expected 116.4, actual 114 (0.98x) Testing collisions (low 23-34 bits) - Worst is 31 bits: 259/232 (1.11x) Testing distribution - Worst bias is the 17-bit window at bit 47 - 0.123% [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 49.6, actual 52 (1.05x) (3) Testing collisions (high 23-33 bits) - Worst is 33 bits: 29/24 (1.17x) Testing collisions (low 32-bit) - Expected 49.6, actual 42 (0.85x) Testing collisions (low 23-33 bits) - Worst is 33 bits: 27/24 (1.09x) Testing distribution - Worst bias is the 16-bit window at bit 52 - 0.122% Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 3483.1, actual 3394 (0.97x) Testing collisions (high 26-39 bits) - Worst is 39 bits: 30/27 (1.10x) Testing collisions (low 32-bit) - Expected 3483.1, actual 3467 (1.00x) (-16) Testing collisions (low 26-39 bits) - Worst is 36 bits: 231/217 (1.06x) Testing distribution - Worst bias is the 20-bit window at bit 59 - 0.057% Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 40289.5, actual 40020 (0.99x) (-269) Testing collisions (high 27-42 bits) - Worst is 38 bits: 666/630 (1.06x) Testing collisions (low 32-bit) - Expected 40289.5, actual 40431 (1.00x) (142) Testing collisions (low 27-42 bits) - Worst is 29 bits: 320229/319083 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.017% Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 227182.3, actual 227270 (1.00x) (88) Testing collisions (high 29-45 bits) - Worst is 44 bits: 67/55 (1.20x) Testing collisions (low 32-bit) - Expected 227182.3, actual 227273 (1.00x) (91) Testing collisions (low 29-45 bits) - Worst is 39 bits: 1795/1780 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.009% Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 865959.1, actual 866294 (1.00x) (335) Testing collisions (high 30-47 bits) - Worst is 45 bits: 123/106 (1.16x) Testing collisions (low 32-bit) - Expected 865959.1, actual 864993 (1.00x) (-966) Testing collisions (low 30-47 bits) - Worst is 47 bits: 30/26 (1.13x) Testing distribution - Worst bias is the 20-bit window at bit 53 - 0.003% [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25389.0, actual 25536 (1.01x) (147) Testing collisions (high 27-42 bits) - Worst is 42 bits: 31/24 (1.25x) Testing collisions (low 32-bit) - Expected 25389.0, actual 25106 (0.99x) (-283) Testing collisions (low 27-42 bits) - Worst is 40 bits: 107/99 (1.08x) Testing distribution - Worst bias is the 20-bit window at bit 4 - 0.021% Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25389.0, actual 25442 (1.00x) (53) Testing collisions (high 27-42 bits) - Worst is 38 bits: 414/397 (1.04x) Testing collisions (low 32-bit) - Expected 25389.0, actual 25549 (1.01x) (160) Testing collisions (low 27-42 bits) - Worst is 42 bits: 26/24 (1.05x) Testing distribution - Worst bias is the 20-bit window at bit 49 - 0.037% Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25389.0, actual 25430 (1.00x) (41) Testing collisions (high 27-42 bits) - Worst is 40 bits: 121/99 (1.22x) Testing collisions (low 32-bit) - Expected 25389.0, actual 25196 (0.99x) (-193) Testing collisions (low 27-42 bits) - Worst is 42 bits: 32/24 (1.29x) Testing distribution - Worst bias is the 20-bit window at bit 49 - 0.017% Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1862.1, actual 1941 (1.04x) (79) Testing collisions (high 25-38 bits) - Worst is 38 bits: 41/29 (1.41x) Testing collisions (low 32-bit) - Expected 1862.1, actual 1816 (0.98x) Testing collisions (low 25-38 bits) - Worst is 26 bits: 117041/116875 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 53 - 0.037% Keyset 'Words' - 4000000 random keys of len 6-16 from password charset Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1862.1, actual 1911 (1.03x) (49) Testing collisions (high 25-38 bits) - Worst is 38 bits: 31/29 (1.07x) Testing collisions (low 32-bit) - Expected 1862.1, actual 1872 (1.01x) (10) Testing collisions (low 25-38 bits) - Worst is 34 bits: 503/465 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 17 - 0.046% Keyset 'Words' - 104334 dict words Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1.3, actual 1 (0.79x) Testing collisions (high 20-28 bits) - Worst is 26 bits: 82/81 (1.01x) Testing collisions (low 32-bit) - Expected 1.3, actual 1 (0.79x) Testing collisions (low 20-28 bits) - Worst is 28 bits: 24/20 (1.18x) Testing distribution - Worst bias is the 14-bit window at bit 60 - 0.295% [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 204800 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 4.9, actual 2 (0.41x) Testing collisions (high 21-29 bits) - Worst is 26 bits: 337/312 (1.08x) Testing collisions (low 32-bit) - Expected 4.9, actual 5 (1.02x) (1) Testing collisions (low 21-29 bits) - Worst is 29 bits: 44/39 (1.13x) Testing distribution - Worst bias is the 15-bit window at bit 53 - 0.229% [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 5000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2909.3, actual 2940 (1.01x) (31) Testing collisions (high 26-39 bits) - Worst is 36 bits: 202/181 (1.11x) Testing collisions (low 32-bit) - Expected 2909.3, actual 2971 (1.02x) (62) Testing collisions (low 26-39 bits) - Worst is 39 bits: 26/22 (1.14x) Testing distribution - Worst bias is the 19-bit window at bit 31 - 0.037% [[[ Keyset 'PerlinNoise' Tests ]]] Testing 16777216 coordinates (L2) : Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 32725.4, actual 32639 (1.00x) (-86) Testing collisions (high 27-42 bits) - Worst is 38 bits: 551/511 (1.08x) Testing collisions (low 32-bit) - Expected 32725.4, actual 32654 (1.00x) (-71) Testing collisions (low 27-42 bits) - Worst is 39 bits: 261/255 (1.02x) Testing AV variant, 128 count with 4 spacing, 4-12: Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1116.2, actual 1143 (1.02x) (27) Testing collisions (high 25-37 bits) - Worst is 37 bits: 39/34 (1.12x) Testing collisions (low 32-bit) - Expected 1116.2, actual 1111 (1.00x) (-5) Testing collisions (low 25-37 bits) - Worst is 35 bits: 160/139 (1.15x) [[[ Diff 'Differential' Tests ]]] Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 64 bit hashes. 1000 reps, 8303632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 64 bit hashes. 1000 reps, 11017632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 64 bit hashes. 1000 reps, 2796416000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored [[[ DiffDist 'Differential Distribution' Tests ]]] Testing bit 0 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 517 (1.01x) (6) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 519 (1.01x) (8) Testing collisions (low 24-36 bits) - Worst is 33 bits: 268/255 (1.05x) Testing distribution - Worst bias is the 18-bit window at bit 41 - 0.066% Testing bit 1 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 464 (0.91x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 66/63 (1.03x) Testing collisions (low 32-bit) - Expected 511.9, actual 507 (0.99x) (-4) Testing collisions (low 24-36 bits) - Worst is 35 bits: 64/63 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 27 - 0.090% Testing bit 2 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 526 (1.03x) (15) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1068/1023 (1.04x) Testing collisions (low 32-bit) - Expected 511.9, actual 556 (1.09x) (45) Testing collisions (low 24-36 bits) - Worst is 34 bits: 154/127 (1.20x) Testing distribution - Worst bias is the 18-bit window at bit 50 - 0.074% Testing bit 3 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 534 (1.04x) (23) Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 527 (1.03x) (16) Testing collisions (low 24-36 bits) - Worst is 34 bits: 140/127 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.045% Testing bit 4 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 539 (1.05x) (28) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1091/1023 (1.07x) Testing collisions (low 32-bit) - Expected 511.9, actual 589 (1.15x) (78) Testing collisions (low 24-36 bits) - Worst is 32 bits: 589/511 (1.15x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.072% Testing bit 5 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (high 24-36 bits) - Worst is 34 bits: 139/127 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 478 (0.93x) Testing collisions (low 24-36 bits) - Worst is 24 bits: 125492/125777 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 35 - 0.067% Testing bit 6 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 546 (1.07x) (35) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 540 (1.05x) (29) Testing collisions (low 24-36 bits) - Worst is 35 bits: 81/63 (1.27x) Testing distribution - Worst bias is the 18-bit window at bit 39 - 0.073% Testing bit 7 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 539 (1.05x) (28) Testing collisions (high 24-36 bits) - Worst is 33 bits: 293/255 (1.14x) Testing collisions (low 32-bit) - Expected 511.9, actual 560 (1.09x) (49) Testing collisions (low 24-36 bits) - Worst is 36 bits: 41/31 (1.28x) Testing distribution - Worst bias is the 18-bit window at bit 38 - 0.051% Testing bit 8 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 554 (1.08x) (43) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1113/1023 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 553 (1.08x) (42) Testing collisions (low 24-36 bits) - Worst is 36 bits: 43/31 (1.34x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.102% Testing bit 9 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (high 24-36 bits) - Worst is 35 bits: 74/63 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 17-bit window at bit 19 - 0.078% Testing bit 10 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 547 (1.07x) (36) Testing collisions (high 24-36 bits) - Worst is 36 bits: 41/31 (1.28x) Testing collisions (low 32-bit) - Expected 511.9, actual 517 (1.01x) (6) Testing collisions (low 24-36 bits) - Worst is 32 bits: 517/511 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 39 - 0.067% Testing bit 11 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 539 (1.05x) (28) Testing collisions (high 24-36 bits) - Worst is 33 bits: 273/255 (1.07x) Testing collisions (low 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 34 bits: 150/127 (1.17x) Testing distribution - Worst bias is the 18-bit window at bit 8 - 0.067% Testing bit 12 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 548 (1.07x) (37) Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 537 (1.05x) (26) Testing collisions (low 24-36 bits) - Worst is 32 bits: 537/511 (1.05x) Testing distribution - Worst bias is the 18-bit window at bit 3 - 0.062% Testing bit 13 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 35 bits: 71/63 (1.11x) Testing distribution - Worst bias is the 18-bit window at bit 20 - 0.058% Testing bit 14 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 486 (0.95x) Testing collisions (high 24-36 bits) - Worst is 28 bits: 8219/8170 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (low 24-36 bits) - Worst is 30 bits: 2084/2046 (1.02x) Testing distribution - Worst bias is the 18-bit window at bit 33 - 0.095% Testing bit 15 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 471 (0.92x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 493 (0.96x) Testing collisions (low 24-36 bits) - Worst is 27 bits: 16461/16298 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 60 - 0.069% Testing bit 16 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 495 (0.97x) Testing collisions (high 24-36 bits) - Worst is 26 bits: 32491/32429 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 480 (0.94x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 45 - 0.089% Testing bit 17 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 542 (1.06x) (31) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing collisions (low 24-36 bits) - Worst is 36 bits: 41/31 (1.28x) Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.065% Testing bit 18 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (high 24-36 bits) - Worst is 33 bits: 266/255 (1.04x) Testing collisions (low 32-bit) - Expected 511.9, actual 580 (1.13x) (69) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing distribution - Worst bias is the 17-bit window at bit 32 - 0.061% Testing bit 19 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 523 (1.02x) (12) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 522 (1.02x) (11) Testing collisions (low 24-36 bits) - Worst is 35 bits: 78/63 (1.22x) Testing distribution - Worst bias is the 18-bit window at bit 60 - 0.080% Testing bit 20 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 469 (0.92x) Testing collisions (high 24-36 bits) - Worst is 27 bits: 16203/16298 (0.99x) Testing collisions (low 32-bit) - Expected 511.9, actual 538 (1.05x) (27) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.089% Testing bit 21 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 551 (1.08x) (40) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 32-bit) - Expected 511.9, actual 518 (1.01x) (7) Testing collisions (low 24-36 bits) - Worst is 32 bits: 518/511 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.061% Testing bit 22 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 493 (0.96x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 58 - 0.075% Testing bit 23 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 517 (1.01x) (6) Testing collisions (high 24-36 bits) - Worst is 30 bits: 2075/2046 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 522 (1.02x) (11) Testing collisions (low 24-36 bits) - Worst is 36 bits: 43/31 (1.34x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.071% Testing bit 24 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing collisions (low 32-bit) - Expected 511.9, actual 488 (0.95x) Testing collisions (low 24-36 bits) - Worst is 34 bits: 137/127 (1.07x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.078% Testing bit 25 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 570 (1.11x) (59) Testing collisions (low 24-36 bits) - Worst is 34 bits: 144/127 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 50 - 0.072% Testing bit 26 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4166/4090 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 528 (1.03x) (17) Testing collisions (low 24-36 bits) - Worst is 36 bits: 41/31 (1.28x) Testing distribution - Worst bias is the 18-bit window at bit 59 - 0.082% Testing bit 27 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 477 (0.93x) Testing collisions (high 24-36 bits) - Worst is 33 bits: 261/255 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 542 (1.06x) (31) Testing collisions (low 24-36 bits) - Worst is 35 bits: 90/63 (1.41x) Testing distribution - Worst bias is the 18-bit window at bit 3 - 0.058% Testing bit 28 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 475 (0.93x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 521 (1.02x) (10) Testing collisions (low 24-36 bits) - Worst is 35 bits: 76/63 (1.19x) Testing distribution - Worst bias is the 18-bit window at bit 40 - 0.056% Testing bit 29 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 485 (0.95x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 68/63 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing collisions (low 24-36 bits) - Worst is 34 bits: 148/127 (1.16x) Testing distribution - Worst bias is the 18-bit window at bit 5 - 0.094% Testing bit 30 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 512 (1.00x) (1) Testing collisions (high 24-36 bits) - Worst is 34 bits: 138/127 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (low 24-36 bits) - Worst is 34 bits: 137/127 (1.07x) Testing distribution - Worst bias is the 18-bit window at bit 47 - 0.065% Testing bit 31 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 482 (0.94x) Testing collisions (high 24-36 bits) - Worst is 25 bits: 64038/64191 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 549 (1.07x) (38) Testing collisions (low 24-36 bits) - Worst is 33 bits: 277/255 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.108% Testing bit 32 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 536 (1.05x) (25) Testing collisions (high 24-36 bits) - Worst is 34 bits: 146/127 (1.14x) Testing collisions (low 32-bit) - Expected 511.9, actual 584 (1.14x) (73) Testing collisions (low 24-36 bits) - Worst is 36 bits: 46/31 (1.44x) Testing distribution - Worst bias is the 18-bit window at bit 57 - 0.129% Testing bit 33 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 490 (0.96x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 517 (1.01x) (6) Testing collisions (low 24-36 bits) - Worst is 33 bits: 268/255 (1.05x) Testing distribution - Worst bias is the 18-bit window at bit 33 - 0.073% Testing bit 34 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 452 (0.88x) Testing collisions (high 24-36 bits) - Worst is 26 bits: 32421/32429 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 505 (0.99x) (-6) Testing collisions (low 24-36 bits) - Worst is 36 bits: 33/31 (1.03x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.097% Testing bit 35 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 466 (0.91x) Testing collisions (high 24-36 bits) - Worst is 28 bits: 8249/8170 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 573 (1.12x) (62) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.075% Testing bit 36 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 506 (0.99x) (-5) Testing collisions (high 24-36 bits) - Worst is 35 bits: 66/63 (1.03x) Testing collisions (low 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing collisions (low 24-36 bits) - Worst is 32 bits: 515/511 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 33 - 0.078% Testing bit 37 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 565 (1.10x) (54) Testing collisions (high 24-36 bits) - Worst is 33 bits: 288/255 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 493 (0.96x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.069% Testing bit 38 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 541 (1.06x) (30) Testing collisions (high 24-36 bits) - Worst is 34 bits: 151/127 (1.18x) Testing collisions (low 32-bit) - Expected 511.9, actual 505 (0.99x) (-6) Testing collisions (low 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing distribution - Worst bias is the 18-bit window at bit 58 - 0.077% Testing bit 39 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 502 (0.98x) (-9) Testing collisions (high 24-36 bits) - Worst is 35 bits: 70/63 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing collisions (low 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 17 - 0.070% Testing bit 40 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 508 (0.99x) (-3) Testing collisions (high 24-36 bits) - Worst is 36 bits: 46/31 (1.44x) Testing collisions (low 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 1 - 0.067% Testing bit 41 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4142/4090 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 542 (1.06x) (31) Testing collisions (low 24-36 bits) - Worst is 36 bits: 45/31 (1.41x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.061% Testing bit 42 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (high 24-36 bits) - Worst is 24 bits: 125202/125777 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 546 (1.07x) (35) Testing collisions (low 24-36 bits) - Worst is 32 bits: 546/511 (1.07x) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.075% Testing bit 43 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 35 bits: 74/63 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 552 (1.08x) (41) Testing collisions (low 24-36 bits) - Worst is 34 bits: 148/127 (1.16x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.087% Testing bit 44 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 496 (0.97x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 552 (1.08x) (41) Testing collisions (low 24-36 bits) - Worst is 34 bits: 146/127 (1.14x) Testing distribution - Worst bias is the 18-bit window at bit 44 - 0.047% Testing bit 45 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 500 (0.98x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 520 (1.02x) (9) Testing collisions (low 24-36 bits) - Worst is 34 bits: 136/127 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 48 - 0.058% Testing bit 46 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 530 (1.04x) (19) Testing collisions (high 24-36 bits) - Worst is 33 bits: 272/255 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 549 (1.07x) (38) Testing collisions (low 24-36 bits) - Worst is 35 bits: 75/63 (1.17x) Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.052% Testing bit 47 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 559 (1.09x) (48) Testing collisions (high 24-36 bits) - Worst is 35 bits: 76/63 (1.19x) Testing collisions (low 32-bit) - Expected 511.9, actual 476 (0.93x) Testing collisions (low 24-36 bits) - Worst is 24 bits: 126098/125777 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 57 - 0.094% Testing bit 48 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 502 (0.98x) (-9) Testing collisions (low 24-36 bits) - Worst is 34 bits: 131/127 (1.02x) Testing distribution - Worst bias is the 18-bit window at bit 0 - 0.093% Testing bit 49 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 557 (1.09x) (46) Testing collisions (high 24-36 bits) - Worst is 34 bits: 145/127 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing collisions (low 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing distribution - Worst bias is the 18-bit window at bit 37 - 0.088% Testing bit 50 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (low 24-36 bits) - Worst is 36 bits: 44/31 (1.38x) Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.096% Testing bit 51 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 495 (0.97x) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4185/4090 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing collisions (low 24-36 bits) - Worst is 36 bits: 44/31 (1.38x) Testing distribution - Worst bias is the 18-bit window at bit 54 - 0.064% Testing bit 52 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 525 (1.03x) (14) Testing collisions (high 24-36 bits) - Worst is 32 bits: 525/511 (1.03x) Testing collisions (low 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing distribution - Worst bias is the 18-bit window at bit 39 - 0.085% Testing bit 53 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 509 (0.99x) (-2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing collisions (low 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.101% Testing bit 54 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 540 (1.05x) (29) Testing collisions (high 24-36 bits) - Worst is 32 bits: 540/511 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (low 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 48 - 0.071% Testing bit 55 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing collisions (high 24-36 bits) - Worst is 34 bits: 131/127 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 504 (0.98x) (-7) Testing collisions (low 24-36 bits) - Worst is 26 bits: 32368/32429 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 62 - 0.079% Testing bit 56 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 491 (0.96x) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1044/1023 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 500 (0.98x) Testing collisions (low 24-36 bits) - Worst is 34 bits: 136/127 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 8 - 0.110% Testing bit 57 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 493 (0.96x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 75/63 (1.17x) Testing collisions (low 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.043% Testing bit 58 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 493 (0.96x) Testing collisions (high 24-36 bits) - Worst is 27 bits: 16608/16298 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 525 (1.03x) (14) Testing collisions (low 24-36 bits) - Worst is 34 bits: 142/127 (1.11x) Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.079% Testing bit 59 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 521 (1.02x) (10) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 511 (1.00x) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1054/1023 (1.03x) Testing distribution - Worst bias is the 18-bit window at bit 43 - 0.099% Testing bit 60 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 489 (0.96x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 512 (1.00x) (1) Testing collisions (low 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 12 - 0.081% Testing bit 61 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 508 (0.99x) (-3) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1062/1023 (1.04x) Testing distribution - Worst bias is the 18-bit window at bit 50 - 0.081% Testing bit 62 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 524 (1.02x) (13) Testing collisions (high 24-36 bits) - Worst is 32 bits: 524/511 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 498 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 33/31 (1.03x) Testing distribution - Worst bias is the 18-bit window at bit 54 - 0.063% Testing bit 63 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 545 (1.06x) (34) Testing collisions (high 24-36 bits) - Worst is 33 bits: 277/255 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 499 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 50 - 0.051% [[[ MomentChi2 Tests ]]] Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 2 ... Target values to approximate : 38918200.000000 - 273633.333333 4 threads starting... done Popcount 1 stats : 38919778.788079 - 273658.616603 Popcount 0 stats : 38918384.825367 - 273648.377654 MomentChi2 for bits 1 : 4.55437 MomentChi2 for bits 0 : 0.0624183 Derivative stats (transition from 2 consecutive values) : Popcount 1 stats : 38919174.788465 - 273677.376630 Popcount 0 stats : 38918977.878709 - 273635.552771 MomentChi2 for deriv b1 : 1.73615 MomentChi2 for deriv b0 : 1.10566 Great [[[ Prng Tests ]]] Generating 33554432 random numbers : Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 130731.3, actual 130258 (1.00x) (-473) Testing collisions (high 28-44 bits) - Worst is 41 bits: 261/255 (1.02x) Testing collisions (low 32-bit) - Expected 130731.3, actual 130995 (1.00x) (264) Testing collisions (low 28-44 bits) - Worst is 40 bits: 529/511 (1.03x) [[[ BadSeeds Tests ]]] Testing 0 internal secrets: 0x0 PASS Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001 Verification value is 0x00000001 - Testing took 799.788256 seconds ------------------------------------------------------------------------------- aHash-0.8.11/smhasher/clone_smhasher.sh000077500000000000000000000000611457113102300177620ustar00rootroot00000000000000git clone https://github.com/rurban/smhasher.git aHash-0.8.11/smhasher/fallbackNoFoldedOutput.txt000066400000000000000000002015701457113102300215750ustar00rootroot00000000000000------------------------------------------------------------------------------- --- Testing ahash64 "ahash 64bit" GOOD [[[ Sanity Tests ]]] Verification value 0x4F80BA96 ....... SKIP (self- or unseeded) Running sanity check 1 .......... PASS Running AppendedZeroesTest .......... PASS [[[ Speed Tests ]]] Bulk speed test - 262144-byte keys Alignment 7 - 18.833 bytes/cycle - 53881.77 MiB/sec @ 3 ghz Alignment 6 - 18.835 bytes/cycle - 53887.84 MiB/sec @ 3 ghz Alignment 5 - 18.835 bytes/cycle - 53888.73 MiB/sec @ 3 ghz Alignment 4 - 19.338 bytes/cycle - 55327.26 MiB/sec @ 3 ghz Alignment 3 - 19.422 bytes/cycle - 55566.47 MiB/sec @ 3 ghz Alignment 2 - 19.475 bytes/cycle - 55717.32 MiB/sec @ 3 ghz Alignment 1 - 19.266 bytes/cycle - 55120.73 MiB/sec @ 3 ghz Alignment 0 - 19.932 bytes/cycle - 57026.80 MiB/sec @ 3 ghz Average - 19.242 bytes/cycle - 55052.12 MiB/sec @ 3 ghz Small key speed test - 1-byte keys - 33.00 cycles/hash Small key speed test - 2-byte keys - 33.00 cycles/hash Small key speed test - 3-byte keys - 32.02 cycles/hash Small key speed test - 4-byte keys - 30.73 cycles/hash Small key speed test - 5-byte keys - 30.81 cycles/hash Small key speed test - 6-byte keys - 31.95 cycles/hash Small key speed test - 7-byte keys - 33.00 cycles/hash Small key speed test - 8-byte keys - 33.00 cycles/hash Small key speed test - 9-byte keys - 30.83 cycles/hash Small key speed test - 10-byte keys - 30.79 cycles/hash Small key speed test - 11-byte keys - 30.86 cycles/hash Small key speed test - 12-byte keys - 31.79 cycles/hash Small key speed test - 13-byte keys - 32.00 cycles/hash Small key speed test - 14-byte keys - 32.31 cycles/hash Small key speed test - 15-byte keys - 30.51 cycles/hash Small key speed test - 16-byte keys - 30.93 cycles/hash Small key speed test - 17-byte keys - 33.07 cycles/hash Small key speed test - 18-byte keys - 35.00 cycles/hash Small key speed test - 19-byte keys - 35.00 cycles/hash Small key speed test - 20-byte keys - 33.93 cycles/hash Small key speed test - 21-byte keys - 32.86 cycles/hash Small key speed test - 22-byte keys - 32.96 cycles/hash Small key speed test - 23-byte keys - 34.30 cycles/hash Small key speed test - 24-byte keys - 35.00 cycles/hash Small key speed test - 25-byte keys - 35.00 cycles/hash Small key speed test - 26-byte keys - 32.65 cycles/hash Small key speed test - 27-byte keys - 33.00 cycles/hash Small key speed test - 28-byte keys - 33.44 cycles/hash Small key speed test - 29-byte keys - 35.00 cycles/hash Small key speed test - 30-byte keys - 35.00 cycles/hash Small key speed test - 31-byte keys - 34.00 cycles/hash Average 32.830 cycles/hash [[[ 'Hashmap' Speed Tests ]]] std::unordered_map Init std HashMapTest: 199.037 cycles/op (102774 inserts, 1% deletions) Running std HashMapTest: 125.873 cycles/op (2.4 stdv) greg7mdp/parallel-hashmap Init fast HashMapTest: 113.297 cycles/op (102774 inserts, 1% deletions) Running fast HashMapTest: 85.337 cycles/op (2.7 stdv) ....... PASS [[[ Avalanche Tests ]]] Testing 24-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.653333% Testing 32-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.654667% Testing 40-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.725333% Testing 48-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.680667% Testing 56-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.686000% Testing 64-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.676000% Testing 72-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.676000% Testing 80-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.620667% Testing 96-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.699333% Testing 112-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.684667% Testing 128-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.734000% Testing 160-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.673333% Testing 512-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.748000% Testing 1024-bit keys -> 64-bit hashes, 300000 reps.......... worst bias is 0.780000% [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (high 19-25 bits) - Worst is 22 bits: 313/304 (1.03x) Testing collisions (low 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (low 19-25 bits) - Worst is 25 bits: 43/38 (1.13x) Testing distribution - Worst bias is the 13-bit window at bit 9 - 0.766% Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 188.2, actual 179 (0.95x) Testing collisions (high 24-35 bits) - Worst is 30 bits: 772/752 (1.03x) Testing collisions (low 32-bit) - Expected 188.2, actual 180 (0.96x) Testing collisions (low 24-35 bits) - Worst is 24 bits: 46572/46996 (0.99x) Testing distribution - Worst bias is the 17-bit window at bit 52 - 0.099% Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2372.2, actual 2386 (1.01x) (14) Testing collisions (high 25-38 bits) - Worst is 33 bits: 1206/1186 (1.02x) Testing collisions (low 32-bit) - Expected 2372.2, actual 2291 (0.97x) Testing collisions (low 25-38 bits) - Worst is 35 bits: 299/296 (1.01x) Testing distribution - Worst bias is the 19-bit window at bit 7 - 0.048% Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2460.8, actual 2467 (1.00x) (7) Testing collisions (high 25-38 bits) - Worst is 38 bits: 42/38 (1.09x) Testing collisions (low 32-bit) - Expected 2460.8, actual 2431 (0.99x) (-29) Testing collisions (low 25-38 bits) - Worst is 37 bits: 80/76 (1.04x) Testing distribution - Worst bias is the 18-bit window at bit 32 - 0.044% Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 23437.8, actual 23394 (1.00x) (-43) Testing collisions (high 27-42 bits) - Worst is 41 bits: 58/45 (1.27x) Testing collisions (low 32-bit) - Expected 23437.8, actual 23042 (0.98x) (-395) Testing collisions (low 27-42 bits) - Worst is 40 bits: 97/91 (1.06x) Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.026% Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2069.0, actual 2131 (1.03x) (63) Testing collisions (high 25-38 bits) - Worst is 38 bits: 44/32 (1.36x) Testing collisions (low 32-bit) - Expected 2069.0, actual 2134 (1.03x) (66) Testing collisions (low 25-38 bits) - Worst is 38 bits: 40/32 (1.24x) Testing distribution - Worst bias is the 19-bit window at bit 28 - 0.078% Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8021.7, actual 8004 (1.00x) (-17) Testing collisions (high 26-40 bits) - Worst is 35 bits: 1003/1003 (1.00x) Testing collisions (low 32-bit) - Expected 8021.7, actual 8045 (1.00x) (24) Testing collisions (low 26-40 bits) - Worst is 40 bits: 39/31 (1.24x) Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.045% Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 26451.8, actual 26592 (1.01x) (141) Testing collisions (high 27-42 bits) - Worst is 33 bits: 13368/13233 (1.01x) Testing collisions (low 32-bit) - Expected 26451.8, actual 26315 (0.99x) (-136) Testing collisions (low 27-42 bits) - Worst is 40 bits: 113/103 (1.09x) Testing distribution - Worst bias is the 20-bit window at bit 59 - 0.018% Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1401.0, actual 1354 (0.97x) Testing collisions (high 25-38 bits) - Worst is 36 bits: 88/87 (1.00x) Testing collisions (low 32-bit) - Expected 1401.0, actual 1422 (1.02x) (22) Testing collisions (low 25-38 bits) - Worst is 36 bits: 96/87 (1.10x) Testing distribution - Worst bias is the 18-bit window at bit 43 - 0.055% Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 84546.1, actual 84656 (1.00x) (110) Testing collisions (high 28-44 bits) - Worst is 42 bits: 84/82 (1.02x) Testing collisions (low 32-bit) - Expected 84546.1, actual 84598 (1.00x) (52) Testing collisions (low 28-44 bits) - Worst is 41 bits: 199/165 (1.20x) Testing distribution - Worst bias is the 20-bit window at bit 3 - 0.014% Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 910.2, actual 914 (1.00x) (4) Testing collisions (high 25-37 bits) - Worst is 36 bits: 62/56 (1.09x) Testing collisions (low 32-bit) - Expected 910.2, actual 887 (0.97x) Testing collisions (low 25-37 bits) - Worst is 35 bits: 130/113 (1.14x) Testing distribution - Worst bias is the 19-bit window at bit 47 - 0.068% Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 58155.4, actual 58437 (1.00x) (282) Testing collisions (high 28-43 bits) - Worst is 33 bits: 29437/29102 (1.01x) Testing collisions (low 32-bit) - Expected 58155.4, actual 58276 (1.00x) (121) Testing collisions (low 28-43 bits) - Worst is 35 bits: 7362/7280 (1.01x) Testing distribution - Worst bias is the 19-bit window at bit 11 - 0.011% Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 32.1, actual 39 (1.22x) (7) Testing collisions (high 22-32 bits) - Worst is 32 bits: 39/32 (1.22x) Testing collisions (low 32-bit) - Expected 32.1, actual 29 (0.90x) Testing collisions (low 22-32 bits) - Worst is 30 bits: 136/128 (1.06x) Testing distribution - Worst bias is the 16-bit window at bit 59 - 0.126% Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.4, actual 513 (1.00x) (1) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/32 (1.19x) Testing collisions (low 32-bit) - Expected 512.4, actual 491 (0.96x) Testing collisions (low 24-36 bits) - Worst is 34 bits: 134/128 (1.05x) Testing distribution - Worst bias is the 18-bit window at bit 17 - 0.134% [[[ Keyset 'Permutation' Tests ]]] Combination Lowbits Tests: Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 668.6, actual 705 (1.05x) (37) Testing collisions (high 24-37 bits) - Worst is 32 bits: 705/668 (1.05x) Testing collisions (low 32-bit) - Expected 668.6, actual 619 (0.93x) Testing collisions (low 24-37 bits) - Worst is 24 bits: 163754/163326 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 19 - 0.061% Combination Highbits Tests Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 668.6, actual 662 (0.99x) (-6) Testing collisions (high 24-37 bits) - Worst is 30 bits: 2701/2672 (1.01x) Testing collisions (low 32-bit) - Expected 668.6, actual 689 (1.03x) (21) Testing collisions (low 24-37 bits) - Worst is 36 bits: 48/41 (1.15x) Testing distribution - Worst bias is the 18-bit window at bit 47 - 0.053% Combination Hi-Lo Tests: Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 17322.9, actual 17227 (0.99x) (-95) Testing collisions (high 27-41 bits) - Worst is 27 bits: 538234/538415 (1.00x) Testing collisions (low 32-bit) - Expected 17322.9, actual 17271 (1.00x) (-51) Testing collisions (low 27-41 bits) - Worst is 41 bits: 43/33 (1.27x) Testing distribution - Worst bias is the 20-bit window at bit 5 - 0.027% Combination 0x8000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8305 (1.01x) (119) Testing collisions (high 26-40 bits) - Worst is 32 bits: 8305/8186 (1.01x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8198 (1.00x) (12) Testing collisions (low 26-40 bits) - Worst is 34 bits: 2097/2047 (1.02x) Testing distribution - Worst bias is the 20-bit window at bit 57 - 0.044% Combination 0x0000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8255 (1.01x) (69) Testing collisions (high 26-40 bits) - Worst is 38 bits: 142/127 (1.11x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8105 (0.99x) (-81) Testing collisions (low 26-40 bits) - Worst is 40 bits: 34/31 (1.06x) Testing distribution - Worst bias is the 20-bit window at bit 48 - 0.036% Combination 0x800000000000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8071 (0.99x) (-115) Testing collisions (high 26-40 bits) - Worst is 27 bits: 256884/256766 (1.00x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8209 (1.00x) (23) Testing collisions (low 26-40 bits) - Worst is 40 bits: 38/31 (1.19x) Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.032% Combination 0x000000000000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8052 (0.98x) (-134) Testing collisions (high 26-40 bits) - Worst is 35 bits: 1029/1023 (1.00x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8128 (0.99x) (-58) Testing collisions (low 26-40 bits) - Worst is 40 bits: 40/31 (1.25x) Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.070% Combination 16-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8235 (1.01x) (49) Testing collisions (high 26-40 bits) - Worst is 38 bits: 134/127 (1.05x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8072 (0.99x) (-114) Testing collisions (low 26-40 bits) - Worst is 26 bits: 503674/503108 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 54 - 0.046% Combination 16-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8207 (1.00x) (21) Testing collisions (high 26-40 bits) - Worst is 34 bits: 2088/2047 (1.02x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8017 (0.98x) Testing collisions (low 26-40 bits) - Worst is 40 bits: 37/31 (1.16x) Testing distribution - Worst bias is the 20-bit window at bit 10 - 0.037% Combination 32-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8218 (1.00x) (32) Testing collisions (high 26-40 bits) - Worst is 32 bits: 8218/8186 (1.00x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8233 (1.01x) (47) Testing collisions (low 26-40 bits) - Worst is 38 bits: 152/127 (1.19x) Testing distribution - Worst bias is the 20-bit window at bit 2 - 0.029% Combination 32-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8324 (1.02x) (138) Testing collisions (high 26-40 bits) - Worst is 37 bits: 268/255 (1.05x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8099 (0.99x) (-87) Testing collisions (low 26-40 bits) - Worst is 36 bits: 525/511 (1.03x) Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.044% Combination 64-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8033 (0.98x) (-153) Testing collisions (high 26-40 bits) - Worst is 39 bits: 67/63 (1.05x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8293 (1.01x) (107) Testing collisions (low 26-40 bits) - Worst is 37 bits: 274/255 (1.07x) Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.037% Combination 64-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8335 (1.02x) (149) Testing collisions (high 26-40 bits) - Worst is 32 bits: 8335/8186 (1.02x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8163 (1.00x) (-23) Testing collisions (low 26-40 bits) - Worst is 40 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 20-bit window at bit 20 - 0.033% Combination 128-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8238 (1.01x) (52) Testing collisions (high 26-40 bits) - Worst is 31 bits: 16565/16362 (1.01x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8062 (0.98x) (-124) Testing collisions (low 26-40 bits) - Worst is 37 bits: 262/255 (1.02x) Testing distribution - Worst bias is the 20-bit window at bit 16 - 0.042% Combination 128-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8186.7, actual 8270 (1.01x) (84) Testing collisions (high 26-40 bits) - Worst is 39 bits: 70/63 (1.09x) Testing collisions (low 32-bit) - Expected 8186.7, actual 8144 (0.99x) (-42) Testing collisions (low 26-40 bits) - Worst is 40 bits: 41/31 (1.28x) Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.042% [[[ Keyset 'Window' Tests ]]] Keyset 'Window' - 32-bit key, 25-bit window - 32 tests, 33554432 keys per test Window at 0 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 1 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 2 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 3 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 4 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 5 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 6 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 7 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 8 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 9 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 10 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 11 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 12 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 13 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 14 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 15 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 16 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 17 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 18 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 19 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 20 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 21 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 22 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 23 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 24 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 25 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 26 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 27 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 28 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 29 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 30 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 31 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 32 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 129 (1.11x) (13) Testing collisions (high 23-34 bits) - Worst is 34 bits: 35/29 (1.20x) Testing collisions (low 32-bit) - Expected 116.4, actual 105 (0.90x) Testing collisions (low 23-34 bits) - Worst is 26 bits: 7507/7413 (1.01x) Testing distribution - Worst bias is the 17-bit window at bit 40 - 0.089% Keyset 'Cyclic' - 8 cycles of 9 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 112 (0.96x) Testing collisions (high 23-34 bits) - Worst is 28 bits: 1915/1860 (1.03x) Testing collisions (low 32-bit) - Expected 116.4, actual 109 (0.94x) Testing collisions (low 23-34 bits) - Worst is 30 bits: 472/465 (1.01x) Testing distribution - Worst bias is the 17-bit window at bit 28 - 0.111% Keyset 'Cyclic' - 8 cycles of 10 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 106 (0.91x) Testing collisions (high 23-34 bits) - Worst is 25 bits: 14825/14754 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 130 (1.12x) (14) Testing collisions (low 23-34 bits) - Worst is 34 bits: 39/29 (1.34x) Testing distribution - Worst bias is the 17-bit window at bit 51 - 0.114% Keyset 'Cyclic' - 8 cycles of 11 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 110 (0.94x) Testing collisions (high 23-34 bits) - Worst is 27 bits: 3703/3716 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 105 (0.90x) Testing collisions (low 23-34 bits) - Worst is 29 bits: 977/930 (1.05x) Testing distribution - Worst bias is the 17-bit window at bit 32 - 0.120% Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 107 (0.92x) Testing collisions (high 23-34 bits) - Worst is 23 bits: 57386/57305 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 132 (1.13x) (16) Testing collisions (low 23-34 bits) - Worst is 34 bits: 40/29 (1.37x) Testing distribution - Worst bias is the 17-bit window at bit 57 - 0.073% Keyset 'Cyclic' - 8 cycles of 16 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 132 (1.13x) (16) Testing collisions (high 23-34 bits) - Worst is 32 bits: 132/116 (1.13x) Testing collisions (low 32-bit) - Expected 116.4, actual 118 (1.01x) (2) Testing collisions (low 23-34 bits) - Worst is 32 bits: 118/116 (1.01x) Testing distribution - Worst bias is the 17-bit window at bit 46 - 0.095% [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 49.6, actual 53 (1.07x) (4) Testing collisions (high 23-33 bits) - Worst is 32 bits: 53/49 (1.07x) Testing collisions (low 32-bit) - Expected 49.6, actual 60 (1.21x) (11) Testing collisions (low 23-33 bits) - Worst is 33 bits: 35/24 (1.41x) Testing distribution - Worst bias is the 16-bit window at bit 21 - 0.145% Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 3483.1, actual 3402 (0.98x) Testing collisions (high 26-39 bits) - Worst is 29 bits: 27946/27781 (1.01x) Testing collisions (low 32-bit) - Expected 3483.1, actual 3541 (1.02x) (58) Testing collisions (low 26-39 bits) - Worst is 38 bits: 56/54 (1.03x) Testing distribution - Worst bias is the 19-bit window at bit 30 - 0.034% Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 40289.5, actual 39891 (0.99x) (-398) Testing collisions (high 27-42 bits) - Worst is 27 bits: 1232174/1233446 (1.00x) Testing collisions (low 32-bit) - Expected 40289.5, actual 40423 (1.00x) (134) Testing collisions (low 27-42 bits) - Worst is 42 bits: 42/39 (1.07x) Testing distribution - Worst bias is the 20-bit window at bit 6 - 0.016% Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 227182.3, actual 227113 (1.00x) (-69) Testing collisions (high 29-45 bits) - Worst is 45 bits: 32/27 (1.15x) Testing collisions (low 32-bit) - Expected 227182.3, actual 227820 (1.00x) (638) Testing collisions (low 29-45 bits) - Worst is 45 bits: 30/27 (1.08x) Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.006% Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 865959.1, actual 866474 (1.00x) (515) Testing collisions (high 30-47 bits) - Worst is 45 bits: 108/106 (1.01x) Testing collisions (low 32-bit) - Expected 865959.1, actual 865864 (1.00x) (-95) Testing collisions (low 30-47 bits) - Worst is 37 bits: 27468/27237 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.005% [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25389.0, actual 25545 (1.01x) (156) Testing collisions (high 27-42 bits) - Worst is 40 bits: 106/99 (1.07x) Testing collisions (low 32-bit) - Expected 25389.0, actual 25253 (0.99x) (-136) Testing collisions (low 27-42 bits) - Worst is 42 bits: 25/24 (1.01x) Testing distribution - Worst bias is the 20-bit window at bit 51 - 0.027% Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25389.0, actual 25219 (0.99x) (-170) Testing collisions (high 27-42 bits) - Worst is 31 bits: 50616/50719 (1.00x) Testing collisions (low 32-bit) - Expected 25389.0, actual 25549 (1.01x) (160) Testing collisions (low 27-42 bits) - Worst is 40 bits: 106/99 (1.07x) Testing distribution - Worst bias is the 20-bit window at bit 60 - 0.022% Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25389.0, actual 25373 (1.00x) (-16) Testing collisions (high 27-42 bits) - Worst is 42 bits: 29/24 (1.17x) Testing collisions (low 32-bit) - Expected 25389.0, actual 25204 (0.99x) (-185) Testing collisions (low 27-42 bits) - Worst is 39 bits: 221/198 (1.11x) Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.020% Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1862.1, actual 1800 (0.97x) Testing collisions (high 25-38 bits) - Worst is 37 bits: 65/58 (1.12x) Testing collisions (low 32-bit) - Expected 1862.1, actual 1819 (0.98x) Testing collisions (low 25-38 bits) - Worst is 34 bits: 484/465 (1.04x) Testing distribution - Worst bias is the 19-bit window at bit 63 - 0.041% Keyset 'Words' - 4000000 random keys of len 6-16 from password charset Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1862.1, actual 1827 (0.98x) (-35) Testing collisions (high 25-38 bits) - Worst is 35 bits: 237/232 (1.02x) Testing collisions (low 32-bit) - Expected 1862.1, actual 1885 (1.01x) (23) Testing collisions (low 25-38 bits) - Worst is 35 bits: 237/232 (1.02x) Testing distribution - Worst bias is the 19-bit window at bit 60 - 0.059% Keyset 'Words' - 102774 dict words Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1.2, actual 0 (0.00x) Testing collisions (high 20-27 bits) - Worst is 27 bits: 46/39 (1.17x) Testing collisions (low 32-bit) - Expected 1.2, actual 1 (0.81x) Testing collisions (low 20-27 bits) - Worst is 25 bits: 173/157 (1.10x) Testing distribution - Worst bias is the 14-bit window at bit 35 - 0.340% [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 204800 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 4.9, actual 6 (1.23x) (2) Testing collisions (high 21-29 bits) - Worst is 25 bits: 651/623 (1.04x) Testing collisions (low 32-bit) - Expected 4.9, actual 5 (1.02x) (1) Testing collisions (low 21-29 bits) - Worst is 27 bits: 166/156 (1.06x) Testing distribution - Worst bias is the 15-bit window at bit 55 - 0.298% [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 5000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2909.3, actual 2790 (0.96x) Testing collisions (high 26-39 bits) - Worst is 26 bits: 181311/181723 (1.00x) Testing collisions (low 32-bit) - Expected 2909.3, actual 2885 (0.99x) (-24) Testing collisions (low 26-39 bits) - Worst is 39 bits: 33/22 (1.45x) Testing distribution - Worst bias is the 19-bit window at bit 55 - 0.051% [[[ Keyset 'PerlinNoise' Tests ]]] Testing 16777216 coordinates (L2) : Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 32725.4, actual 32807 (1.00x) (82) Testing collisions (high 27-42 bits) - Worst is 39 bits: 266/255 (1.04x) Testing collisions (low 32-bit) - Expected 32725.4, actual 33071 (1.01x) (346) Testing collisions (low 27-42 bits) - Worst is 42 bits: 44/31 (1.38x) Testing AV variant, 128 count with 4 spacing, 4-12: Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1116.2, actual 1124 (1.01x) (8) Testing collisions (high 25-37 bits) - Worst is 36 bits: 83/69 (1.19x) Testing collisions (low 32-bit) - Expected 1116.2, actual 1026 (0.92x) Testing collisions (low 25-37 bits) - Worst is 27 bits: 35507/35452 (1.00x) [[[ Diff 'Differential' Tests ]]] Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 64 bit hashes. 1000 reps, 8303632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 64 bit hashes. 1000 reps, 11017632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 64 bit hashes. 1000 reps, 2796416000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored [[[ DiffDist 'Differential Distribution' Tests ]]] Testing bit 0 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 530 (1.04x) (19) Testing collisions (high 24-36 bits) - Worst is 33 bits: 273/255 (1.07x) Testing collisions (low 32-bit) - Expected 511.9, actual 537 (1.05x) (26) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.083% Testing bit 1 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 518 (1.01x) (7) Testing collisions (high 24-36 bits) - Worst is 32 bits: 518/511 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 526 (1.03x) (15) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 63 - 0.070% Testing bit 2 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 524 (1.02x) (13) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1063/1023 (1.04x) Testing collisions (low 32-bit) - Expected 511.9, actual 528 (1.03x) (17) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1062/1023 (1.04x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.078% Testing bit 3 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (high 24-36 bits) - Worst is 35 bits: 68/63 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.059% Testing bit 4 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 519 (1.01x) (8) Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 492 (0.96x) Testing collisions (low 24-36 bits) - Worst is 24 bits: 125969/125777 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.068% Testing bit 5 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 498 (0.97x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 504 (0.98x) (-7) Testing collisions (low 24-36 bits) - Worst is 35 bits: 75/63 (1.17x) Testing distribution - Worst bias is the 18-bit window at bit 39 - 0.077% Testing bit 6 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 477 (0.93x) Testing collisions (high 24-36 bits) - Worst is 34 bits: 134/127 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 465 (0.91x) Testing collisions (low 24-36 bits) - Worst is 26 bits: 32805/32429 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 34 - 0.086% Testing bit 7 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 498 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 48/31 (1.50x) Testing distribution - Worst bias is the 18-bit window at bit 33 - 0.090% Testing bit 8 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 474 (0.93x) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4132/4090 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 483 (0.94x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8305/8170 (1.02x) Testing distribution - Worst bias is the 16-bit window at bit 37 - 0.063% Testing bit 9 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 481 (0.94x) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1048/1023 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 501 (0.98x) Testing collisions (low 24-36 bits) - Worst is 35 bits: 68/63 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.065% Testing bit 10 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 504 (0.98x) (-7) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 43 - 0.068% Testing bit 11 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 509 (0.99x) (-2) Testing collisions (high 24-36 bits) - Worst is 34 bits: 140/127 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 572 (1.12x) (61) Testing collisions (low 24-36 bits) - Worst is 32 bits: 572/511 (1.12x) Testing distribution - Worst bias is the 18-bit window at bit 51 - 0.091% Testing bit 12 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 486 (0.95x) Testing collisions (high 24-36 bits) - Worst is 24 bits: 125213/125777 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 520 (1.02x) (9) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1043/1023 (1.02x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.083% Testing bit 13 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 547 (1.07x) (36) Testing collisions (high 24-36 bits) - Worst is 35 bits: 78/63 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 32 - 0.074% Testing bit 14 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 457 (0.89x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 509 (0.99x) (-2) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.084% Testing bit 15 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing collisions (high 24-36 bits) - Worst is 30 bits: 2133/2046 (1.04x) Testing collisions (low 32-bit) - Expected 511.9, actual 476 (0.93x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing distribution - Worst bias is the 18-bit window at bit 52 - 0.071% Testing bit 16 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 503 (0.98x) (-8) Testing collisions (high 24-36 bits) - Worst is 28 bits: 8161/8170 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 508 (0.99x) (-3) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing distribution - Worst bias is the 18-bit window at bit 49 - 0.062% Testing bit 17 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 41/31 (1.28x) Testing collisions (low 32-bit) - Expected 511.9, actual 520 (1.02x) (9) Testing collisions (low 24-36 bits) - Worst is 33 bits: 279/255 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 50 - 0.070% Testing bit 18 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 546 (1.07x) (35) Testing collisions (high 24-36 bits) - Worst is 33 bits: 283/255 (1.11x) Testing collisions (low 32-bit) - Expected 511.9, actual 487 (0.95x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8185/8170 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.058% Testing bit 19 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 498 (0.97x) Testing collisions (low 24-36 bits) - Worst is 24 bits: 125639/125777 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 54 - 0.082% Testing bit 20 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 525 (1.03x) (14) Testing collisions (high 24-36 bits) - Worst is 35 bits: 74/63 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 541 (1.06x) (30) Testing collisions (low 24-36 bits) - Worst is 30 bits: 2173/2046 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.062% Testing bit 21 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 510 (1.00x) (-1) Testing collisions (high 24-36 bits) - Worst is 33 bits: 275/255 (1.07x) Testing collisions (low 32-bit) - Expected 511.9, actual 517 (1.01x) (6) Testing collisions (low 24-36 bits) - Worst is 34 bits: 135/127 (1.05x) Testing distribution - Worst bias is the 17-bit window at bit 29 - 0.059% Testing bit 22 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 505 (0.99x) (-6) Testing collisions (high 24-36 bits) - Worst is 27 bits: 16472/16298 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 529 (1.03x) (18) Testing collisions (low 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing distribution - Worst bias is the 18-bit window at bit 45 - 0.071% Testing bit 23 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 526 (1.03x) (15) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 32-bit) - Expected 511.9, actual 542 (1.06x) (31) Testing collisions (low 24-36 bits) - Worst is 36 bits: 43/31 (1.34x) Testing distribution - Worst bias is the 18-bit window at bit 57 - 0.070% Testing bit 24 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing distribution - Worst bias is the 18-bit window at bit 50 - 0.060% Testing bit 25 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 511 (1.00x) Testing collisions (high 24-36 bits) - Worst is 28 bits: 8353/8170 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 497 (0.97x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.067% Testing bit 26 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 499 (0.97x) Testing collisions (high 24-36 bits) - Worst is 34 bits: 132/127 (1.03x) Testing collisions (low 32-bit) - Expected 511.9, actual 538 (1.05x) (27) Testing collisions (low 24-36 bits) - Worst is 36 bits: 40/31 (1.25x) Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.073% Testing bit 27 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing collisions (high 24-36 bits) - Worst is 32 bits: 533/511 (1.04x) Testing collisions (low 32-bit) - Expected 511.9, actual 485 (0.95x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.105% Testing bit 28 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 532 (1.04x) (21) Testing collisions (high 24-36 bits) - Worst is 34 bits: 136/127 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 506 (0.99x) (-5) Testing collisions (low 24-36 bits) - Worst is 33 bits: 265/255 (1.04x) Testing distribution - Worst bias is the 18-bit window at bit 63 - 0.073% Testing bit 29 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 494 (0.97x) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4145/4090 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 492 (0.96x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 51 - 0.081% Testing bit 30 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 505 (0.99x) (-6) Testing collisions (high 24-36 bits) - Worst is 26 bits: 32853/32429 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 500 (0.98x) Testing collisions (low 24-36 bits) - Worst is 30 bits: 2081/2046 (1.02x) Testing distribution - Worst bias is the 18-bit window at bit 4 - 0.073% Testing bit 31 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 503 (0.98x) (-8) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 503 (0.98x) (-8) Testing collisions (low 24-36 bits) - Worst is 26 bits: 32504/32429 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 48 - 0.068% Testing bit 32 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 536 (1.05x) (25) Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 526 (1.03x) (15) Testing collisions (low 24-36 bits) - Worst is 33 bits: 274/255 (1.07x) Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.072% Testing bit 33 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 500 (0.98x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 562 (1.10x) (51) Testing collisions (low 24-36 bits) - Worst is 33 bits: 292/255 (1.14x) Testing distribution - Worst bias is the 18-bit window at bit 19 - 0.116% Testing bit 34 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 569 (1.11x) (58) Testing collisions (high 24-36 bits) - Worst is 34 bits: 151/127 (1.18x) Testing collisions (low 32-bit) - Expected 511.9, actual 529 (1.03x) (18) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1087/1023 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 42 - 0.070% Testing bit 35 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 518 (1.01x) (7) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4155/4090 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 546 (1.07x) (35) Testing collisions (low 24-36 bits) - Worst is 34 bits: 149/127 (1.16x) Testing distribution - Worst bias is the 18-bit window at bit 9 - 0.097% Testing bit 36 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 519 (1.01x) (8) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1084/1023 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 502 (0.98x) (-9) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 59 - 0.069% Testing bit 37 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 542 (1.06x) (31) Testing collisions (high 24-36 bits) - Worst is 35 bits: 81/63 (1.27x) Testing collisions (low 32-bit) - Expected 511.9, actual 544 (1.06x) (33) Testing collisions (low 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing distribution - Worst bias is the 17-bit window at bit 36 - 0.069% Testing bit 38 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 516 (1.01x) (5) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 486 (0.95x) Testing collisions (low 24-36 bits) - Worst is 27 bits: 16424/16298 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.116% Testing bit 39 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 516 (1.01x) (5) Testing collisions (high 24-36 bits) - Worst is 34 bits: 139/127 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 536 (1.05x) (25) Testing collisions (low 24-36 bits) - Worst is 35 bits: 70/63 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 43 - 0.066% Testing bit 40 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 32-bit) - Expected 511.9, actual 540 (1.05x) (29) Testing collisions (low 24-36 bits) - Worst is 36 bits: 40/31 (1.25x) Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.065% Testing bit 41 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 501 (0.98x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 33/31 (1.03x) Testing collisions (low 32-bit) - Expected 511.9, actual 548 (1.07x) (37) Testing collisions (low 24-36 bits) - Worst is 33 bits: 277/255 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 60 - 0.091% Testing bit 42 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 516 (1.01x) (5) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 553 (1.08x) (42) Testing collisions (low 24-36 bits) - Worst is 32 bits: 553/511 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.057% Testing bit 43 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 545 (1.06x) (34) Testing collisions (high 24-36 bits) - Worst is 32 bits: 545/511 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 497 (0.97x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8234/8170 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 61 - 0.090% Testing bit 44 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 461 (0.90x) Testing collisions (high 24-36 bits) - Worst is 24 bits: 125866/125777 (1.00x) Testing collisions (low 32-bit) - Expected 511.9, actual 526 (1.03x) (15) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.043% Testing bit 45 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 551 (1.08x) (40) Testing collisions (high 24-36 bits) - Worst is 32 bits: 551/511 (1.08x) Testing collisions (low 32-bit) - Expected 511.9, actual 512 (1.00x) (1) Testing collisions (low 24-36 bits) - Worst is 35 bits: 65/63 (1.02x) Testing distribution - Worst bias is the 17-bit window at bit 52 - 0.060% Testing bit 46 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 506 (0.99x) (-5) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 490 (0.96x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.079% Testing bit 47 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 536 (1.05x) (25) Testing collisions (high 24-36 bits) - Worst is 33 bits: 282/255 (1.10x) Testing collisions (low 32-bit) - Expected 511.9, actual 483 (0.94x) Testing collisions (low 24-36 bits) - Worst is 35 bits: 70/63 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 9 - 0.079% Testing bit 48 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 527 (1.03x) (16) Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/63 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 503 (0.98x) (-8) Testing collisions (low 24-36 bits) - Worst is 35 bits: 70/63 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 56 - 0.081% Testing bit 49 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 560 (1.09x) (49) Testing collisions (high 24-36 bits) - Worst is 35 bits: 74/63 (1.16x) Testing collisions (low 32-bit) - Expected 511.9, actual 523 (1.02x) (12) Testing collisions (low 24-36 bits) - Worst is 33 bits: 263/255 (1.03x) Testing distribution - Worst bias is the 17-bit window at bit 41 - 0.058% Testing bit 50 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 522 (1.02x) (11) Testing collisions (high 24-36 bits) - Worst is 33 bits: 271/255 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 519 (1.01x) (8) Testing collisions (low 24-36 bits) - Worst is 36 bits: 40/31 (1.25x) Testing distribution - Worst bias is the 18-bit window at bit 39 - 0.079% Testing bit 51 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 531 (1.04x) (20) Testing collisions (high 24-36 bits) - Worst is 35 bits: 76/63 (1.19x) Testing collisions (low 32-bit) - Expected 511.9, actual 489 (0.96x) Testing collisions (low 24-36 bits) - Worst is 29 bits: 4122/4090 (1.01x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.071% Testing bit 52 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 512 (1.00x) (1) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 562 (1.10x) (51) Testing collisions (low 24-36 bits) - Worst is 36 bits: 46/31 (1.44x) Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.055% Testing bit 53 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 501 (0.98x) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4137/4090 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 535 (1.05x) (24) Testing collisions (low 24-36 bits) - Worst is 32 bits: 535/511 (1.05x) Testing distribution - Worst bias is the 18-bit window at bit 62 - 0.093% Testing bit 54 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 465 (0.91x) Testing collisions (high 24-36 bits) - Worst is 27 bits: 16437/16298 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 515 (1.01x) (4) Testing collisions (low 24-36 bits) - Worst is 34 bits: 139/127 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 46 - 0.076% Testing bit 55 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 555 (1.08x) (44) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 32-bit) - Expected 511.9, actual 491 (0.96x) Testing collisions (low 24-36 bits) - Worst is 34 bits: 138/127 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 52 - 0.074% Testing bit 56 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 539 (1.05x) (28) Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (low 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing collisions (low 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.108% Testing bit 57 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 513 (1.00x) (2) Testing collisions (high 24-36 bits) - Worst is 33 bits: 272/255 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 522 (1.02x) (11) Testing collisions (low 24-36 bits) - Worst is 35 bits: 68/63 (1.06x) Testing distribution - Worst bias is the 18-bit window at bit 8 - 0.114% Testing bit 58 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 28 bits: 8230/8170 (1.01x) Testing collisions (low 32-bit) - Expected 511.9, actual 545 (1.06x) (34) Testing collisions (low 24-36 bits) - Worst is 36 bits: 43/31 (1.34x) Testing distribution - Worst bias is the 18-bit window at bit 7 - 0.092% Testing bit 59 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 500 (0.98x) Testing collisions (high 24-36 bits) - Worst is 30 bits: 2120/2046 (1.04x) Testing collisions (low 32-bit) - Expected 511.9, actual 503 (0.98x) (-8) Testing collisions (low 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.065% Testing bit 60 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 496 (0.97x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 65/63 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 486 (0.95x) Testing collisions (low 24-36 bits) - Worst is 29 bits: 4218/4090 (1.03x) Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.081% Testing bit 61 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 520 (1.02x) (9) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (low 32-bit) - Expected 511.9, actual 486 (0.95x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing distribution - Worst bias is the 18-bit window at bit 6 - 0.064% Testing bit 62 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 522 (1.02x) (11) Testing collisions (high 24-36 bits) - Worst is 32 bits: 522/511 (1.02x) Testing collisions (low 32-bit) - Expected 511.9, actual 533 (1.04x) (22) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing distribution - Worst bias is the 18-bit window at bit 52 - 0.084% Testing bit 63 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 511.9, actual 498 (0.97x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing collisions (low 32-bit) - Expected 511.9, actual 496 (0.97x) Testing collisions (low 24-36 bits) - Worst is 30 bits: 2053/2046 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 53 - 0.104% [[[ MomentChi2 Tests ]]] Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 2 ... Target values to approximate : 38918200.000000 - 273633.333333 4 threads starting... done Popcount 1 stats : 38918835.315783 - 273623.606930 Popcount 0 stats : 38918226.200577 - 273605.413971 MomentChi2 for bits 1 : 0.737544 MomentChi2 for bits 0 : 0.00125443 Derivative stats (transition from 2 consecutive values) : Popcount 1 stats : 38919083.803108 - 273655.817065 Popcount 0 stats : 38919331.387736 - 273661.792772 MomentChi2 for deriv b1 : 1.42723 MomentChi2 for deriv b0 : 2.33884 Great [[[ Prng Tests ]]] Generating 33554432 random numbers : Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 130731.3, actual 131908 (1.01x) (1177) Testing collisions (high 28-44 bits) - Worst is 37 bits: 4198/4095 (1.02x) Testing collisions (low 32-bit) - Expected 130731.3, actual 131430 (1.01x) (699) Testing collisions (low 28-44 bits) - Worst is 42 bits: 144/127 (1.13x) [[[ BadSeeds Tests ]]] Testing 0 internal secrets: 0x0 PASS Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001 Verification value is 0x00000001 - Testing took 631.594488 seconds ------------------------------------------------------------------------------- aHash-0.8.11/smhasher/fallbackOutput.txt000066400000000000000000002771451457113102300201750ustar00rootroot00000000000000------------------------------------------------------------------------------- --- Testing ahash64 "ahash 64bit" GOOD [[[ Sanity Tests ]]] Verification value 0xE15404B7 ....... SKIP (self- or unseeded) Running sanity check 1 .......... PASS Running AppendedZeroesTest .......... PASS [[[ Speed Tests ]]] Bulk speed test - 262144-byte keys Alignment 7 - 7.097 bytes/cycle - 20304.54 MiB/sec @ 3 ghz Alignment 6 - 7.075 bytes/cycle - 20242.50 MiB/sec @ 3 ghz Alignment 5 - 7.070 bytes/cycle - 20228.27 MiB/sec @ 3 ghz Alignment 4 - 7.079 bytes/cycle - 20253.31 MiB/sec @ 3 ghz Alignment 3 - 7.053 bytes/cycle - 20178.99 MiB/sec @ 3 ghz Alignment 2 - 7.059 bytes/cycle - 20194.86 MiB/sec @ 3 ghz Alignment 1 - 7.066 bytes/cycle - 20215.71 MiB/sec @ 3 ghz Alignment 0 - 7.166 bytes/cycle - 20501.12 MiB/sec @ 3 ghz Average - 7.083 bytes/cycle - 20264.91 MiB/sec @ 3 ghz Small key speed test - 1-byte keys - 13.92 cycles/hash Small key speed test - 2-byte keys - 13.98 cycles/hash Small key speed test - 3-byte keys - 13.98 cycles/hash Small key speed test - 4-byte keys - 13.99 cycles/hash Small key speed test - 5-byte keys - 13.98 cycles/hash Small key speed test - 6-byte keys - 13.98 cycles/hash Small key speed test - 7-byte keys - 13.99 cycles/hash Small key speed test - 8-byte keys - 13.98 cycles/hash Small key speed test - 9-byte keys - 13.25 cycles/hash Small key speed test - 10-byte keys - 13.25 cycles/hash Small key speed test - 11-byte keys - 13.26 cycles/hash Small key speed test - 12-byte keys - 13.26 cycles/hash Small key speed test - 13-byte keys - 13.30 cycles/hash Small key speed test - 14-byte keys - 13.26 cycles/hash Small key speed test - 15-byte keys - 13.63 cycles/hash Small key speed test - 16-byte keys - 13.70 cycles/hash Small key speed test - 17-byte keys - 21.55 cycles/hash Small key speed test - 18-byte keys - 27.87 cycles/hash Small key speed test - 19-byte keys - 27.96 cycles/hash Small key speed test - 20-byte keys - 14.57 cycles/hash Small key speed test - 21-byte keys - 15.23 cycles/hash Small key speed test - 22-byte keys - 15.56 cycles/hash Small key speed test - 23-byte keys - 15.67 cycles/hash Small key speed test - 24-byte keys - 15.60 cycles/hash Small key speed test - 25-byte keys - 15.67 cycles/hash Small key speed test - 26-byte keys - 15.69 cycles/hash Small key speed test - 27-byte keys - 15.68 cycles/hash Small key speed test - 28-byte keys - 15.69 cycles/hash Small key speed test - 29-byte keys - 16.94 cycles/hash Small key speed test - 30-byte keys - 16.95 cycles/hash Small key speed test - 31-byte keys - 16.95 cycles/hash Average 15.688 cycles/hash [[[ 'Hashmap' Speed Tests ]]] std::unordered_map Init std HashMapTest: 343.665 cycles/op (102401 inserts, 1% deletions) Running std HashMapTest: 122.429 cycles/op (1.9 stdv) greg7mdp/parallel-hashmap Init fast HashMapTest: 119.334 cycles/op (102401 inserts, 1% deletions) Running fast HashMapTest: 84.563 cycles/op (1.5 stdv) ....... PASS [[[ Avalanche Tests ]]] Testing 24-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.784000% Testing 32-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.640667% Testing 40-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.592000% Testing 48-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.704667% Testing 56-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.772667% Testing 64-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.766000% Testing 72-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.738667% Testing 80-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.665333% Testing 96-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.744000% Testing 112-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.706000% Testing 128-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.731333% Testing 160-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.685333% Testing 512-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.830667% Testing 1024-bit keys -> 64-bit hashes, 300000 reps worst bias is 0.796000% [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (high 19-25 bits) - Worst is 25 bits: 48/38 (1.26x) Testing collisions (high 12-bit) - Expected 46547.0, actual 46547 (1.00x) Testing collisions (high 8-bit) - Expected 50387.0, actual 50387 (1.00x) Testing collisions (low 32-bit) - Expected 0.3, actual 0 (0.00x) Testing collisions (low 19-25 bits) - Worst is 23 bits: 170/152 (1.11x) Testing collisions (low 12-bit) - Expected 46547.0, actual 46547 (1.00x) Testing collisions (low 8-bit) - Expected 50387.0, actual 50387 (1.00x) Testing distribution - Worst bias is the 13-bit window at bit 26 - 0.598% Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 188.2, actual 193 (1.03x) (5) Testing collisions (high 24-35 bits) - Worst is 32 bits: 193/188 (1.03x) Testing collisions (high 12-bit) - Expected 1267530.0, actual 1267530 (1.00x) Testing collisions (high 8-bit) - Expected 1271370.0, actual 1271370 (1.00x) Testing collisions (low 32-bit) - Expected 188.2, actual 154 (0.82x) Testing collisions (low 24-35 bits) - Worst is 26 bits: 11981/12047 (0.99x) Testing collisions (low 12-bit) - Expected 1267530.0, actual 1267530 (1.00x) Testing collisions (low 8-bit) - Expected 1271370.0, actual 1271370 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 26 - 0.074% Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2373.0, actual 2361 (0.99x) (-12) Testing collisions (high 25-38 bits) - Worst is 37 bits: 84/74 (1.13x) Testing collisions (high 12-bit) - Expected 4510777.0, actual 4510777 (1.00x) Testing collisions (high 8-bit) - Expected 4514617.0, actual 4514617 (1.00x) Testing collisions (low 32-bit) - Expected 2373.0, actual 2372 (1.00x) (-1) Testing collisions (low 25-38 bits) - Worst is 33 bits: 1215/1186 (1.02x) Testing collisions (low 12-bit) - Expected 4510777.0, actual 4510777 (1.00x) Testing collisions (low 8-bit) - Expected 4514617.0, actual 4514617 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 62 - 0.060% Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2461.7, actual 2479 (1.01x) (18) Testing collisions (high 25-38 bits) - Worst is 36 bits: 160/153 (1.04x) Testing collisions (high 12-bit) - Expected 4594383.0, actual 4594383 (1.00x) Testing collisions (high 8-bit) - Expected 4598223.0, actual 4598223 (1.00x) Testing collisions (low 32-bit) - Expected 2461.7, actual 2461 (1.00x) Testing collisions (low 25-38 bits) - Worst is 30 bits: 9912/9846 (1.01x) Testing collisions (low 12-bit) - Expected 4594383.0, actual 4594383 (1.00x) Testing collisions (low 8-bit) - Expected 4598223.0, actual 4598223 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 37 - 0.049% Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 23463.6, actual 23570 (1.00x) (107) Testing collisions (high 27-42 bits) - Worst is 41 bits: 60/45 (1.31x) Testing collisions (high 12-bit) - Expected 14192773.0, actual 14192773 (1.00x) Testing collisions (high 8-bit) - Expected 14196613.0, actual 14196613 (1.00x) Testing collisions (low 32-bit) - Expected 23463.6, actual 23383 (1.00x) (-80) Testing collisions (low 27-42 bits) - Worst is 42 bits: 27/22 (1.18x) Testing collisions (low 12-bit) - Expected 14192773.0, actual 14192773 (1.00x) Testing collisions (low 8-bit) - Expected 14196613.0, actual 14196613 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.021% Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2069.7, actual 2105 (1.02x) (36) Testing collisions (high 25-38 bits) - Worst is 33 bits: 1070/1034 (1.03x) Testing collisions (high 12-bit) - Expected 4212327.0, actual 4212327 (1.00x) Testing collisions (high 8-bit) - Expected 4216167.0, actual 4216167 (1.00x) Testing collisions (low 32-bit) - Expected 2069.7, actual 2124 (1.03x) (55) Testing collisions (low 25-38 bits) - Worst is 34 bits: 557/517 (1.08x) Testing collisions (low 12-bit) - Expected 4212327.0, actual 4212327 (1.00x) Testing collisions (low 8-bit) - Expected 4216167.0, actual 4216167 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 31 - 0.057% Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8026.9, actual 7860 (0.98x) Testing collisions (high 26-40 bits) - Worst is 30 bits: 31911/32107 (0.99x) Testing collisions (high 12-bit) - Expected 8299537.0, actual 8299537 (1.00x) Testing collisions (high 8-bit) - Expected 8303377.0, actual 8303377 (1.00x) Testing collisions (low 32-bit) - Expected 8026.9, actual 7934 (0.99x) (-92) Testing collisions (low 26-40 bits) - Worst is 39 bits: 78/62 (1.24x) Testing collisions (low 12-bit) - Expected 8299537.0, actual 8299537 (1.00x) Testing collisions (low 8-bit) - Expected 8303377.0, actual 8303377 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 38 - 0.047% Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 26482.7, actual 26535 (1.00x) (53) Testing collisions (high 27-42 bits) - Worst is 42 bits: 30/25 (1.16x) Testing collisions (high 12-bit) - Expected 15078507.0, actual 15078507 (1.00x) Testing collisions (high 8-bit) - Expected 15082347.0, actual 15082347 (1.00x) Testing collisions (low 32-bit) - Expected 26482.7, actual 26509 (1.00x) (27) Testing collisions (low 27-42 bits) - Worst is 39 bits: 218/206 (1.05x) Testing collisions (low 12-bit) - Expected 15078507.0, actual 15078507 (1.00x) Testing collisions (low 8-bit) - Expected 15082347.0, actual 15082347 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 34 - 0.022% Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1401.3, actual 1459 (1.04x) (58) Testing collisions (high 25-38 bits) - Worst is 38 bits: 29/21 (1.32x) Testing collisions (high 12-bit) - Expected 3465401.0, actual 3465401 (1.00x) Testing collisions (high 8-bit) - Expected 3469241.0, actual 3469241 (1.00x) Testing collisions (low 32-bit) - Expected 1401.3, actual 1445 (1.03x) (44) Testing collisions (low 25-38 bits) - Worst is 38 bits: 27/21 (1.23x) Testing collisions (low 12-bit) - Expected 3465401.0, actual 3465401 (1.00x) Testing collisions (low 8-bit) - Expected 3469241.0, actual 3469241 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 54 - 0.068% Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 84723.3, actual 85179 (1.01x) (456) Testing collisions (high 28-44 bits) - Worst is 38 bits: 1340/1323 (1.01x) Testing collisions (high 12-bit) - Expected 26973065.0, actual 26973065 (1.00x) Testing collisions (high 8-bit) - Expected 26976905.0, actual 26976905 (1.00x) Testing collisions (low 32-bit) - Expected 84723.3, actual 84918 (1.00x) (195) Testing collisions (low 28-44 bits) - Worst is 44 bits: 28/20 (1.35x) Testing collisions (low 12-bit) - Expected 26973065.0, actual 26973065 (1.00x) Testing collisions (low 8-bit) - Expected 26976905.0, actual 26976905 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 47 - 0.014% Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 910.4, actual 867 (0.95x) Testing collisions (high 25-37 bits) - Worst is 37 bits: 31/28 (1.09x) Testing collisions (high 12-bit) - Expected 2792321.0, actual 2792321 (1.00x) Testing collisions (high 8-bit) - Expected 2796161.0, actual 2796161 (1.00x) Testing collisions (low 32-bit) - Expected 910.4, actual 947 (1.04x) (37) Testing collisions (low 25-37 bits) - Worst is 34 bits: 238/227 (1.05x) Testing collisions (low 12-bit) - Expected 2792321.0, actual 2792321 (1.00x) Testing collisions (low 8-bit) - Expected 2796161.0, actual 2796161 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 41 - 0.082% Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 58256.4, actual 58441 (1.00x) (185) Testing collisions (high 28-43 bits) - Worst is 43 bits: 43/28 (1.51x) Testing collisions (high 12-bit) - Expected 22365953.0, actual 22365953 (1.00x) Testing collisions (high 8-bit) - Expected 22369793.0, actual 22369793 (1.00x) Testing collisions (low 32-bit) - Expected 58256.4, actual 58230 (1.00x) (-26) Testing collisions (low 28-43 bits) - Worst is 40 bits: 241/227 (1.06x) Testing collisions (low 12-bit) - Expected 22365953.0, actual 22365953 (1.00x) Testing collisions (low 8-bit) - Expected 22369793.0, actual 22369793 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 43 - 0.013% Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 32.1, actual 38 (1.19x) (6) Testing collisions (high 22-32 bits) - Worst is 32 bits: 38/32 (1.19x) Testing collisions (high 12-bit) - Expected 520705.0, actual 520705 (1.00x) Testing collisions (high 8-bit) - Expected 524545.0, actual 524545 (1.00x) Testing collisions (low 32-bit) - Expected 32.1, actual 33 (1.03x) (1) Testing collisions (low 22-32 bits) - Worst is 31 bits: 72/64 (1.12x) Testing collisions (low 12-bit) - Expected 520705.0, actual 520705 (1.00x) Testing collisions (low 8-bit) - Expected 524545.0, actual 524545 (1.00x) Testing distribution - Worst bias is the 16-bit window at bit 38 - 0.117% Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.5, actual 536 (1.05x) (24) Testing collisions (high 24-36 bits) - Worst is 32 bits: 536/512 (1.05x) Testing collisions (high 12-bit) - Expected 2094081.0, actual 2094081 (1.00x) Testing collisions (high 8-bit) - Expected 2097921.0, actual 2097921 (1.00x) Testing collisions (low 32-bit) - Expected 512.5, actual 492 (0.96x) Testing collisions (low 24-36 bits) - Worst is 27 bits: 16444/16400 (1.00x) Testing collisions (low 12-bit) - Expected 2094081.0, actual 2094081 (1.00x) Testing collisions (low 8-bit) - Expected 2097921.0, actual 2097921 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 44 - 0.056% [[[ Keyset 'Permutation' Tests ]]] Combination Lowbits Tests: Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 668.7, actual 701 (1.05x) (33) Testing collisions (high 25-37 bits) - Worst is 36 bits: 48/41 (1.15x) Testing collisions (high 12-bit) - Expected 2392648.0, actual 2392648 (1.00x) Testing collisions (high 8-bit) - Expected 2396488.0, actual 2396488 (1.00x) Testing collisions (low 32-bit) - Expected 668.7, actual 671 (1.00x) (3) Testing collisions (low 25-37 bits) - Worst is 36 bits: 57/41 (1.36x) Testing collisions (low 12-bit) - Expected 2392648.0, actual 2392648 (1.00x) Testing collisions (low 8-bit) - Expected 2396488.0, actual 2396488 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 61 - 0.065% Combination Highbits Tests Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 668.7, actual 652 (0.97x) Testing collisions (high 25-37 bits) - Worst is 34 bits: 182/167 (1.09x) Testing collisions (high 12-bit) - Expected 2392648.0, actual 2392648 (1.00x) Testing collisions (high 8-bit) - Expected 2396488.0, actual 2396488 (1.00x) Testing collisions (low 32-bit) - Expected 668.7, actual 660 (0.99x) (-8) Testing collisions (low 25-37 bits) - Worst is 37 bits: 25/20 (1.20x) Testing collisions (low 12-bit) - Expected 2392648.0, actual 2392648 (1.00x) Testing collisions (low 8-bit) - Expected 2396488.0, actual 2396488 (1.00x) Testing distribution - Worst bias is the 18-bit window at bit 0 - 0.052% Combination Hi-Lo Tests: Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 17339.3, actual 17349 (1.00x) (10) Testing collisions (high 27-41 bits) - Worst is 41 bits: 37/33 (1.09x) Testing collisions (high 12-bit) - Expected 12200144.0, actual 12200144 (1.00x) Testing collisions (high 8-bit) - Expected 12203984.0, actual 12203984 (1.00x) Testing collisions (low 32-bit) - Expected 17339.3, actual 17458 (1.01x) (119) Testing collisions (low 27-41 bits) - Worst is 40 bits: 74/67 (1.09x) Testing collisions (low 12-bit) - Expected 12200144.0, actual 12200144 (1.00x) Testing collisions (low 8-bit) - Expected 12203984.0, actual 12203984 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 15 - 0.032% Combination 0x8000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8225 (1.00x) (34) Testing collisions (high 26-40 bits) - Worst is 40 bits: 35/31 (1.09x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8174 (1.00x) (-17) Testing collisions (low 26-40 bits) - Worst is 40 bits: 35/31 (1.09x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 44 - 0.040% Combination 0x0000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8146 (0.99x) (-45) Testing collisions (high 26-40 bits) - Worst is 39 bits: 73/63 (1.14x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8268 (1.01x) (77) Testing collisions (low 26-40 bits) - Worst is 40 bits: 37/31 (1.16x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 30 - 0.031% Combination 0x800000000000000 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8259 (1.01x) (68) Testing collisions (high 26-40 bits) - Worst is 32 bits: 8259/8191 (1.01x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8238 (1.01x) (47) Testing collisions (low 26-40 bits) - Worst is 40 bits: 38/31 (1.19x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 3 - 0.036% Combination 0x000000000000001 Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8145 (0.99x) (-46) Testing collisions (high 26-40 bits) - Worst is 40 bits: 35/31 (1.09x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 7977 (0.97x) Testing collisions (low 26-40 bits) - Worst is 40 bits: 35/31 (1.09x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.042% Combination 16-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8278 (1.01x) (87) Testing collisions (high 26-40 bits) - Worst is 40 bits: 39/31 (1.22x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8070 (0.99x) (-121) Testing collisions (low 26-40 bits) - Worst is 37 bits: 267/255 (1.04x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.033% Combination 16-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8038 (0.98x) (-153) Testing collisions (high 26-40 bits) - Worst is 38 bits: 131/127 (1.02x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8156 (1.00x) (-35) Testing collisions (low 26-40 bits) - Worst is 40 bits: 38/31 (1.19x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.035% Combination 32-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8268 (1.01x) (77) Testing collisions (high 26-40 bits) - Worst is 38 bits: 130/127 (1.02x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8158 (1.00x) (-33) Testing collisions (low 26-40 bits) - Worst is 30 bits: 32831/32767 (1.00x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.038% Combination 32-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8197 (1.00x) (6) Testing collisions (high 26-40 bits) - Worst is 35 bits: 1055/1023 (1.03x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8202 (1.00x) (11) Testing collisions (low 26-40 bits) - Worst is 36 bits: 529/511 (1.03x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 58 - 0.031% Combination 64-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8127 (0.99x) (-64) Testing collisions (high 26-40 bits) - Worst is 39 bits: 69/63 (1.08x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8076 (0.99x) (-115) Testing collisions (low 26-40 bits) - Worst is 37 bits: 261/255 (1.02x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 63 - 0.028% Combination 64-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8181 (1.00x) (-10) Testing collisions (high 26-40 bits) - Worst is 40 bits: 35/31 (1.09x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8184 (1.00x) (-7) Testing collisions (low 26-40 bits) - Worst is 39 bits: 68/63 (1.06x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.041% Combination 128-bytes [0-1] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8275 (1.01x) (84) Testing collisions (high 26-40 bits) - Worst is 40 bits: 36/31 (1.13x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8208 (1.00x) (17) Testing collisions (low 26-40 bits) - Worst is 37 bits: 270/255 (1.05x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 1 - 0.043% Combination 128-bytes [0-last] Tests: Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 8192.0, actual 8243 (1.01x) (52) Testing collisions (high 26-40 bits) - Worst is 34 bits: 2082/2047 (1.02x) Testing collisions (high 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (high 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing collisions (low 32-bit) - Expected 8192.0, actual 8315 (1.02x) (124) Testing collisions (low 26-40 bits) - Worst is 40 bits: 38/31 (1.19x) Testing collisions (low 12-bit) - Expected 8384510.0, actual 8384510 (1.00x) Testing collisions (low 8-bit) - Expected 8388350.0, actual 8388350 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 25 - 0.039% [[[ Keyset 'Window' Tests ]]] Keyset 'Window' - 32-bit key, 25-bit window - 32 tests, 33554432 keys per test Window at 0 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 1 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 2 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 3 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 4 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 5 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 6 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 7 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 8 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 9 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 10 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 11 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 12 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 13 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 14 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 15 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 16 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 17 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 18 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 19 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 20 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 21 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 22 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 23 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 24 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 25 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 26 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 27 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 28 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 29 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 30 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 31 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Window at 32 - Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 96 (0.82x) Testing collisions (high 23-34 bits) - Worst is 24 bits: 28916/29802 (0.97x) Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 126 (1.08x) (10) Testing collisions (low 23-34 bits) - Worst is 32 bits: 126/116 (1.08x) Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 13 - 0.085% Keyset 'Cyclic' - 8 cycles of 9 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 95 (0.82x) Testing collisions (high 23-34 bits) - Worst is 34 bits: 30/29 (1.03x) Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 123 (1.06x) (7) Testing collisions (low 23-34 bits) - Worst is 34 bits: 37/29 (1.27x) Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 47 - 0.120% Keyset 'Cyclic' - 8 cycles of 10 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 115 (0.99x) (-1) Testing collisions (high 23-34 bits) - Worst is 33 bits: 62/58 (1.07x) Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 114 (0.98x) Testing collisions (low 23-34 bits) - Worst is 34 bits: 35/29 (1.20x) Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 7 - 0.123% Keyset 'Cyclic' - 8 cycles of 11 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 117 (1.01x) (1) Testing collisions (high 23-34 bits) - Worst is 33 bits: 66/58 (1.13x) Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 106 (0.91x) Testing collisions (low 23-34 bits) - Worst is 34 bits: 31/29 (1.07x) Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 57 - 0.192% Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 105 (0.90x) Testing collisions (high 23-34 bits) - Worst is 34 bits: 38/29 (1.31x) Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 114 (0.98x) Testing collisions (low 23-34 bits) - Worst is 28 bits: 1868/1862 (1.00x) Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 47 - 0.099% Keyset 'Cyclic' - 8 cycles of 16 bytes - 1000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 116.4, actual 99 (0.85x) Testing collisions (high 23-34 bits) - Worst is 28 bits: 1951/1862 (1.05x) Testing collisions (high 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (high 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing collisions (low 32-bit) - Expected 116.4, actual 123 (1.06x) (7) Testing collisions (low 23-34 bits) - Worst is 32 bits: 123/116 (1.06x) Testing collisions (low 12-bit) - Expected 995904.0, actual 995904 (1.00x) Testing collisions (low 8-bit) - Expected 999744.0, actual 999744 (1.00x) Testing distribution - Worst bias is the 17-bit window at bit 35 - 0.105% [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 49.6, actual 58 (1.17x) (9) Testing collisions (high 23-33 bits) - Worst is 32 bits: 58/49 (1.17x) Testing collisions (high 12-bit) - Expected 648449.0, actual 648449 (1.00x) Testing collisions (high 8-bit) - Expected 652289.0, actual 652289 (1.00x) Testing collisions (low 32-bit) - Expected 49.6, actual 40 (0.81x) Testing collisions (low 23-33 bits) - Worst is 30 bits: 213/198 (1.07x) Testing collisions (low 12-bit) - Expected 648449.0, actual 648449 (1.00x) Testing collisions (low 8-bit) - Expected 652289.0, actual 652289 (1.00x) Testing distribution - Worst bias is the 16-bit window at bit 4 - 0.136% Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 3484.6, actual 3477 (1.00x) (-7) Testing collisions (high 26-39 bits) - Worst is 38 bits: 62/54 (1.14x) Testing collisions (high 12-bit) - Expected 5466929.0, actual 5466929 (1.00x) Testing collisions (high 8-bit) - Expected 5470769.0, actual 5470769 (1.00x) Testing collisions (low 32-bit) - Expected 3484.6, actual 3518 (1.01x) (34) Testing collisions (low 26-39 bits) - Worst is 36 bits: 224/217 (1.03x) Testing collisions (low 12-bit) - Expected 5466929.0, actual 5466929 (1.00x) Testing collisions (low 8-bit) - Expected 5470769.0, actual 5470769 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 9 - 0.071% Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 40347.8, actual 40448 (1.00x) (101) Testing collisions (high 27-42 bits) - Worst is 35 bits: 5127/5043 (1.02x) Testing collisions (high 12-bit) - Expected 18612689.0, actual 18612689 (1.00x) Testing collisions (high 8-bit) - Expected 18616529.0, actual 18616529 (1.00x) Testing collisions (low 32-bit) - Expected 40347.8, actual 40175 (1.00x) (-172) Testing collisions (low 27-42 bits) - Worst is 33 bits: 20112/20173 (1.00x) Testing collisions (low 12-bit) - Expected 18612689.0, actual 18612689 (1.00x) Testing collisions (low 8-bit) - Expected 18616529.0, actual 18616529 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 24 - 0.022% Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 227963.2, actual 227655 (1.00x) (-308) Testing collisions (high 29-45 bits) - Worst is 38 bits: 3590/3561 (1.01x) Testing collisions (high 12-bit) - Expected 44247329.0, actual 44247329 (1.00x) Testing collisions (high 8-bit) - Expected 44251169.0, actual 44251169 (1.00x) Testing collisions (low 32-bit) - Expected 227963.2, actual 226913 (1.00x) (-1050) Testing collisions (low 29-45 bits) - Worst is 37 bits: 7121/7123 (1.00x) Testing collisions (low 12-bit) - Expected 44247329.0, actual 44247329 (1.00x) Testing collisions (low 8-bit) - Expected 44251169.0, actual 44251169 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.009% Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 871784.7, actual 868710 (1.00x) (-3074) Testing collisions (high 30-47 bits) - Worst is 47 bits: 30/26 (1.13x) Testing collisions (high 12-bit) - Expected 86532449.0, actual 86532449 (1.00x) Testing collisions (high 8-bit) - Expected 86536289.0, actual 86536289 (1.00x) Testing collisions (low 32-bit) - Expected 871784.7, actual 864922 (0.99x) (-6862) Testing collisions (low 30-47 bits) - Worst is 45 bits: 118/106 (1.11x) Testing collisions (low 12-bit) - Expected 86532449.0, actual 86532449 (1.00x) Testing collisions (low 8-bit) - Expected 86536289.0, actual 86536289 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 24 - 0.004% [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25418.1, actual 25174 (0.99x) (-244) Testing collisions (high 27-42 bits) - Worst is 31 bits: 50550/50836 (0.99x) Testing collisions (high 12-bit) - Expected 14772240.0, actual 14772240 (1.00x) Testing collisions (high 8-bit) - Expected 14776080.0, actual 14776080 (1.00x) Testing collisions (low 32-bit) - Expected 25418.1, actual 25567 (1.01x) (149) Testing collisions (low 27-42 bits) - Worst is 41 bits: 55/49 (1.11x) Testing collisions (low 12-bit) - Expected 14772240.0, actual 14772240 (1.00x) Testing collisions (low 8-bit) - Expected 14776080.0, actual 14776080 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 61 - 0.025% Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25418.1, actual 25389 (1.00x) (-29) Testing collisions (high 27-42 bits) - Worst is 40 bits: 106/99 (1.07x) Testing collisions (high 12-bit) - Expected 14772240.0, actual 14772240 (1.00x) Testing collisions (high 8-bit) - Expected 14776080.0, actual 14776080 (1.00x) Testing collisions (low 32-bit) - Expected 25418.1, actual 25370 (1.00x) (-48) Testing collisions (low 27-42 bits) - Worst is 42 bits: 29/24 (1.17x) Testing collisions (low 12-bit) - Expected 14772240.0, actual 14772240 (1.00x) Testing collisions (low 8-bit) - Expected 14776080.0, actual 14776080 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 55 - 0.020% Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 25418.1, actual 25523 (1.00x) (105) Testing collisions (high 27-42 bits) - Worst is 34 bits: 6505/6354 (1.02x) Testing collisions (high 12-bit) - Expected 14772240.0, actual 14772240 (1.00x) Testing collisions (high 8-bit) - Expected 14776080.0, actual 14776080 (1.00x) Testing collisions (low 32-bit) - Expected 25418.1, actual 25486 (1.00x) (68) Testing collisions (low 27-42 bits) - Worst is 39 bits: 219/198 (1.10x) Testing collisions (low 12-bit) - Expected 14772240.0, actual 14772240 (1.00x) Testing collisions (low 8-bit) - Expected 14776080.0, actual 14776080 (1.00x) Testing distribution - Worst bias is the 20-bit window at bit 62 - 0.016% Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1862.6, actual 1928 (1.04x) (66) Testing collisions (high 25-38 bits) - Worst is 32 bits: 1928/1862 (1.04x) Testing collisions (high 12-bit) - Expected 3995904.0, actual 3995904 (1.00x) Testing collisions (high 8-bit) - Expected 3999744.0, actual 3999744 (1.00x) Testing collisions (low 32-bit) - Expected 1862.6, actual 1861 (1.00x) (-1) Testing collisions (low 25-38 bits) - Worst is 38 bits: 34/29 (1.17x) Testing collisions (low 12-bit) - Expected 3995904.0, actual 3995904 (1.00x) Testing collisions (low 8-bit) - Expected 3999744.0, actual 3999744 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 32 - 0.073% Keyset 'Words' - 4000000 random keys of len 6-16 from password charset Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1862.6, actual 1964 (1.05x) (102) Testing collisions (high 25-38 bits) - Worst is 33 bits: 1006/931 (1.08x) Testing collisions (high 12-bit) - Expected 3995904.0, actual 3995904 (1.00x) Testing collisions (high 8-bit) - Expected 3999744.0, actual 3999744 (1.00x) Testing collisions (low 32-bit) - Expected 1862.6, actual 1913 (1.03x) (51) Testing collisions (low 25-38 bits) - Worst is 38 bits: 34/29 (1.17x) Testing collisions (low 12-bit) - Expected 3995904.0, actual 3995904 (1.00x) Testing collisions (low 8-bit) - Expected 3999744.0, actual 3999744 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 21 - 0.090% Keyset 'Words' - 102401 dict words Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 1.2, actual 2 (1.64x) (1) Testing collisions (high 20-27 bits) - Worst is 24 bits: 351/312 (1.12x) Testing collisions (high 12-bit) - Expected 98305.0, actual 98305 (1.00x) Testing collisions (high 8-bit) - Expected 102145.0, actual 102145 (1.00x) Testing collisions (low 32-bit) - Expected 1.2, actual 0 (0.00x) Testing collisions (low 20-27 bits) - Worst is 27 bits: 45/39 (1.15x) Testing collisions (low 12-bit) - Expected 98305.0, actual 98305 (1.00x) Testing collisions (low 8-bit) - Expected 102145.0, actual 102145 (1.00x) Testing distribution - Worst bias is the 14-bit window at bit 0 - 0.511% [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 204800 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 4.9, actual 2 (0.41x) Testing collisions (high 21-29 bits) - Worst is 25 bits: 647/624 (1.04x) Testing collisions (high 12-bit) - Expected 200704.0, actual 200704 (1.00x) Testing collisions (high 8-bit) - Expected 204544.0, actual 204544 (1.00x) Testing collisions (low 32-bit) - Expected 4.9, actual 1 (0.20x) Testing collisions (low 21-29 bits) - Worst is 23 bits: 2466/2499 (0.99x) Testing collisions (low 12-bit) - Expected 200704.0, actual 200704 (1.00x) Testing collisions (low 8-bit) - Expected 204544.0, actual 204544 (1.00x) Testing distribution - Worst bias is the 15-bit window at bit 49 - 0.287% [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 5000000 keys Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 2910.4, actual 2880 (0.99x) (-30) Testing collisions (high 26-39 bits) - Worst is 34 bits: 728/727 (1.00x) Testing collisions (high 12-bit) - Expected 4995904.0, actual 4995904 (1.00x) Testing collisions (high 8-bit) - Expected 4999744.0, actual 4999744 (1.00x) Testing collisions (low 32-bit) - Expected 2910.4, actual 2967 (1.02x) (57) Testing collisions (low 26-39 bits) - Worst is 37 bits: 104/90 (1.14x) Testing collisions (low 12-bit) - Expected 4995904.0, actual 4995904 (1.00x) Testing collisions (low 8-bit) - Expected 4999744.0, actual 4999744 (1.00x) Testing distribution - Worst bias is the 19-bit window at bit 1 - 0.073% [[[ Keyset 'PerlinNoise' Tests ]]] Testing 16777216 coordinates (L2) : Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 32768.0, actual 32536 (0.99x) (-231) Testing collisions (high 27-42 bits) - Worst is 42 bits: 49/31 (1.53x) Testing collisions (high 12-bit) - Expected 16773120.0, actual 16773120 (1.00x) Testing collisions (high 8-bit) - Expected 16776960.0, actual 16776960 (1.00x) Testing collisions (low 32-bit) - Expected 32768.0, actual 32601 (0.99x) (-166) Testing collisions (low 27-42 bits) - Worst is 35 bits: 4114/4095 (1.00x) Testing collisions (low 12-bit) - Expected 16773120.0, actual 16773120 (1.00x) Testing collisions (low 8-bit) - Expected 16776960.0, actual 16776960 (1.00x) [[[ Diff 'Differential' Tests ]]] Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 64 bit hashes. 1000 reps, 8303632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 64 bit hashes. 1000 reps, 11017632000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 64 bit hashes. 1000 reps, 2796416000 total tests, expecting 0.00 random collisions.......... 0 total collisions, of which 0 single collisions were ignored [[[ DiffDist 'Differential Distribution' Tests ]]] Testing bit 0 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 512 (1.00x) (1) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1034/1023 (1.01x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 533 (1.04x) (22) Testing collisions (low 24-36 bits) - Worst is 34 bits: 145/127 (1.13x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 1 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 529 (1.03x) (18) Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 492 (0.96x) Testing collisions (low 24-36 bits) - Worst is 27 bits: 16152/16383 (0.99x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 2 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 492 (0.96x) Testing collisions (high 24-36 bits) - Worst is 34 bits: 136/127 (1.06x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 514 (1.00x) (3) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 3 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 506 (0.99x) (-5) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 507 (0.99x) (-4) Testing collisions (low 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 4 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 493 (0.96x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 530 (1.04x) (19) Testing collisions (low 24-36 bits) - Worst is 34 bits: 146/127 (1.14x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 5 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 520 (1.02x) (9) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1052/1023 (1.03x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (low 24-36 bits) - Worst is 33 bits: 264/255 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 6 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 549 (1.07x) (38) Testing collisions (high 24-36 bits) - Worst is 36 bits: 41/31 (1.28x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 514 (1.00x) (3) Testing collisions (low 24-36 bits) - Worst is 34 bits: 130/127 (1.02x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 7 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 471 (0.92x) Testing collisions (high 24-36 bits) - Worst is 30 bits: 2065/2047 (1.01x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 501 (0.98x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8319/8191 (1.02x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 8 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 524 (1.02x) (13) Testing collisions (high 24-36 bits) - Worst is 32 bits: 524/511 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 524 (1.02x) (13) Testing collisions (low 24-36 bits) - Worst is 35 bits: 78/63 (1.22x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 9 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4161/4095 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 494 (0.96x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 33/31 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 10 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 538 (1.05x) (27) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1086/1023 (1.06x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 536 (1.05x) (25) Testing collisions (low 24-36 bits) - Worst is 35 bits: 77/63 (1.20x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 11 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 499 (0.97x) Testing collisions (high 24-36 bits) - Worst is 33 bits: 274/255 (1.07x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 548 (1.07x) (37) Testing collisions (low 24-36 bits) - Worst is 35 bits: 73/63 (1.14x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 12 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (high 24-36 bits) - Worst is 28 bits: 8243/8191 (1.01x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 490 (0.96x) Testing collisions (low 24-36 bits) - Worst is 29 bits: 4076/4095 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 13 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 509 (0.99x) (-2) Testing collisions (high 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (low 24-36 bits) - Worst is 35 bits: 76/63 (1.19x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 14 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 541 (1.06x) (30) Testing collisions (high 24-36 bits) - Worst is 34 bits: 141/127 (1.10x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 518 (1.01x) (7) Testing collisions (low 24-36 bits) - Worst is 32 bits: 518/511 (1.01x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 15 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 527 (1.03x) (16) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 16 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 499 (0.97x) Testing collisions (high 24-36 bits) - Worst is 34 bits: 131/127 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 519 (1.01x) (8) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1052/1023 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 17 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 513 (1.00x) (2) Testing collisions (low 24-36 bits) - Worst is 33 bits: 277/255 (1.08x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 18 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 531 (1.04x) (20) Testing collisions (high 24-36 bits) - Worst is 33 bits: 276/255 (1.08x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 495 (0.97x) Testing collisions (low 24-36 bits) - Worst is 35 bits: 69/63 (1.08x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 19 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 531 (1.04x) (20) Testing collisions (high 24-36 bits) - Worst is 33 bits: 278/255 (1.09x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 557 (1.09x) (46) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 20 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 544 (1.06x) (33) Testing collisions (high 24-36 bits) - Worst is 32 bits: 544/511 (1.06x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 557 (1.09x) (46) Testing collisions (low 24-36 bits) - Worst is 34 bits: 143/127 (1.12x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 21 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 531 (1.04x) (20) Testing collisions (low 24-36 bits) - Worst is 34 bits: 137/127 (1.07x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 22 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 520 (1.02x) (9) Testing collisions (high 24-36 bits) - Worst is 34 bits: 134/127 (1.05x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 498 (0.97x) Testing collisions (low 24-36 bits) - Worst is 27 bits: 16348/16383 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 23 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 522 (1.02x) (11) Testing collisions (high 24-36 bits) - Worst is 32 bits: 522/511 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 509 (0.99x) (-2) Testing collisions (low 24-36 bits) - Worst is 35 bits: 68/63 (1.06x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 24 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 517 (1.01x) (6) Testing collisions (high 24-36 bits) - Worst is 33 bits: 261/255 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 489 (0.96x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 32/31 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 25 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 532 (1.04x) (21) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 499 (0.97x) Testing collisions (low 24-36 bits) - Worst is 34 bits: 129/127 (1.01x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 26 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 494 (0.96x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 70/63 (1.09x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1032/1023 (1.01x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 27 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 520 (1.02x) (9) Testing collisions (high 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 516 (1.01x) (5) Testing collisions (low 24-36 bits) - Worst is 32 bits: 516/511 (1.01x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 28 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 486 (0.95x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 66/63 (1.03x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 461 (0.90x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8374/8191 (1.02x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 29 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 468 (0.91x) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4195/4095 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 492 (0.96x) Testing collisions (low 24-36 bits) - Worst is 27 bits: 16390/16383 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 30 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 504 (0.98x) (-7) Testing collisions (high 24-36 bits) - Worst is 33 bits: 269/255 (1.05x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 514 (1.00x) (3) Testing collisions (low 24-36 bits) - Worst is 35 bits: 80/63 (1.25x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 31 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 508 (0.99x) (-3) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1017/1023 (0.99x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 532 (1.04x) (21) Testing collisions (low 24-36 bits) - Worst is 35 bits: 77/63 (1.20x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 32 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 541 (1.06x) (30) Testing collisions (high 24-36 bits) - Worst is 34 bits: 137/127 (1.07x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 487 (0.95x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 33/31 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 33 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 505 (0.99x) (-6) Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 474 (0.93x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 34 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 539 (1.05x) (28) Testing collisions (high 24-36 bits) - Worst is 32 bits: 539/511 (1.05x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 523 (1.02x) (12) Testing collisions (low 24-36 bits) - Worst is 34 bits: 145/127 (1.13x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 35 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 463 (0.90x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 32/31 (1.00x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 564 (1.10x) (53) Testing collisions (low 24-36 bits) - Worst is 36 bits: 42/31 (1.31x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 36 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 519 (1.01x) (8) Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 506 (0.99x) (-5) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 37 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 524 (1.02x) (13) Testing collisions (high 24-36 bits) - Worst is 35 bits: 79/63 (1.23x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 535 (1.04x) (24) Testing collisions (low 24-36 bits) - Worst is 33 bits: 270/255 (1.05x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 38 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 536 (1.05x) (25) Testing collisions (high 24-36 bits) - Worst is 35 bits: 79/63 (1.23x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 538 (1.05x) (27) Testing collisions (low 24-36 bits) - Worst is 32 bits: 538/511 (1.05x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 39 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 557 (1.09x) (46) Testing collisions (high 24-36 bits) - Worst is 35 bits: 80/63 (1.25x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 530 (1.04x) (19) Testing collisions (low 24-36 bits) - Worst is 35 bits: 70/63 (1.09x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 40 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 543 (1.06x) (32) Testing collisions (high 24-36 bits) - Worst is 34 bits: 144/127 (1.13x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 542 (1.06x) (31) Testing collisions (low 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 41 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 497 (0.97x) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1031/1023 (1.01x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 509 (0.99x) (-2) Testing collisions (low 24-36 bits) - Worst is 34 bits: 139/127 (1.09x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 42 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 514 (1.00x) (3) Testing collisions (high 24-36 bits) - Worst is 30 bits: 2135/2047 (1.04x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 535 (1.04x) (24) Testing collisions (low 24-36 bits) - Worst is 36 bits: 35/31 (1.09x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 43 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 498 (0.97x) Testing collisions (high 24-36 bits) - Worst is 35 bits: 68/63 (1.06x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 478 (0.93x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8288/8191 (1.01x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 44 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 511 (1.00x) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1028/1023 (1.00x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 500 (0.98x) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1054/1023 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 45 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 517 (1.01x) (6) Testing collisions (high 24-36 bits) - Worst is 34 bits: 140/127 (1.09x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 526 (1.03x) (15) Testing collisions (low 24-36 bits) - Worst is 32 bits: 526/511 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 46 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 535 (1.04x) (24) Testing collisions (high 24-36 bits) - Worst is 36 bits: 34/31 (1.06x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 499 (0.97x) Testing collisions (low 24-36 bits) - Worst is 30 bits: 2042/2047 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 47 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 521 (1.02x) (10) Testing collisions (high 24-36 bits) - Worst is 31 bits: 1054/1023 (1.03x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 486 (0.95x) Testing collisions (low 24-36 bits) - Worst is 29 bits: 4074/4095 (0.99x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 48 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 502 (0.98x) (-9) Testing collisions (high 24-36 bits) - Worst is 36 bits: 44/31 (1.38x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 498 (0.97x) Testing collisions (low 24-36 bits) - Worst is 28 bits: 8186/8191 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 49 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 494 (0.96x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 508 (0.99x) (-3) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1016/1023 (0.99x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 50 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 508 (0.99x) (-3) Testing collisions (high 24-36 bits) - Worst is 33 bits: 259/255 (1.01x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 519 (1.01x) (8) Testing collisions (low 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 51 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 518 (1.01x) (7) Testing collisions (high 24-36 bits) - Worst is 35 bits: 79/63 (1.23x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 523 (1.02x) (12) Testing collisions (low 24-36 bits) - Worst is 33 bits: 272/255 (1.06x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 52 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 551 (1.08x) (40) Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 486 (0.95x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 39/31 (1.22x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 53 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 495 (0.97x) Testing collisions (high 24-36 bits) - Worst is 30 bits: 2090/2047 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 510 (1.00x) (-1) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1038/1023 (1.01x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 54 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 543 (1.06x) (32) Testing collisions (high 24-36 bits) - Worst is 34 bits: 137/127 (1.07x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 517 (1.01x) (6) Testing collisions (low 24-36 bits) - Worst is 30 bits: 2099/2047 (1.02x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 55 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 471 (0.92x) Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 539 (1.05x) (28) Testing collisions (low 24-36 bits) - Worst is 33 bits: 271/255 (1.06x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 56 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 519 (1.01x) (8) Testing collisions (high 24-36 bits) - Worst is 35 bits: 73/63 (1.14x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 475 (0.93x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 33/31 (1.03x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 57 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 512 (1.00x) (1) Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 507 (0.99x) (-4) Testing collisions (low 24-36 bits) - Worst is 35 bits: 65/63 (1.02x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 58 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 528 (1.03x) (17) Testing collisions (high 24-36 bits) - Worst is 32 bits: 528/511 (1.03x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 512 (1.00x) (1) Testing collisions (low 24-36 bits) - Worst is 36 bits: 40/31 (1.25x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 59 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 506 (0.99x) (-5) Testing collisions (high 24-36 bits) - Worst is 35 bits: 66/63 (1.03x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 511 (1.00x) Testing collisions (low 24-36 bits) - Worst is 31 bits: 1022/1023 (1.00x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 60 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 502 (0.98x) (-9) Testing collisions (high 24-36 bits) - Worst is 36 bits: 43/31 (1.34x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 519 (1.01x) (8) Testing collisions (low 24-36 bits) - Worst is 34 bits: 136/127 (1.06x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 61 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 524 (1.02x) (13) Testing collisions (high 24-36 bits) - Worst is 33 bits: 265/255 (1.04x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 529 (1.03x) (18) Testing collisions (low 24-36 bits) - Worst is 36 bits: 37/31 (1.16x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 62 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 496 (0.97x) Testing collisions (high 24-36 bits) - Worst is 29 bits: 4125/4095 (1.01x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 490 (0.96x) Testing collisions (low 24-36 bits) - Worst is 36 bits: 38/31 (1.19x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing bit 63 Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 512.0, actual 479 (0.94x) Testing collisions (high 24-36 bits) - Worst is 33 bits: 262/255 (1.02x) Testing collisions (high 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (high 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) Testing collisions (low 32-bit) - Expected 512.0, actual 510 (1.00x) (-1) Testing collisions (low 24-36 bits) - Worst is 34 bits: 133/127 (1.04x) Testing collisions (low 12-bit) - Expected 2093056.0, actual 2093056 (1.00x) Testing collisions (low 8-bit) - Expected 2096896.0, actual 2096896 (1.00x) [[[ MomentChi2 Tests ]]] Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 3 ... Target values to approximate : 38918200.000000 - 410450.000000 Popcount 1 stats : 38919632.307917 - 410479.005598 Popcount 0 stats : 38918367.673773 - 410464.964389 MomentChi2 for bits 1 : 2.49901 MomentChi2 for bits 0 : 0.0342478 Derivative stats (transition from 2 consecutive values) : Popcount 1 stats : 38921086.495604 - 410506.484777 Popcount 0 stats : 38916867.679739 - 410442.803573 MomentChi2 for deriv b1 : 10.149 MomentChi2 for deriv b0 : 2.16237 Good ! [[[ Prng Tests ]]] Generating 33554432 random numbers : Testing collisions ( 64-bit) - Expected 0.0, actual 0 (0.00x) Testing collisions (high 32-bit) - Expected 131072.0, actual 130738 (1.00x) (-333) Testing collisions (high 28-44 bits) - Worst is 43 bits: 76/63 (1.19x) Testing collisions (high 12-bit) - Expected 33550336.0, actual 33550336 (1.00x) Testing collisions (high 8-bit) - Expected 33554176.0, actual 33554176 (1.00x) Testing collisions (low 32-bit) - Expected 131072.0, actual 130564 (1.00x) (-507) Testing collisions (low 28-44 bits) - Worst is 38 bits: 2080/2047 (1.02x) Testing collisions (low 12-bit) - Expected 33550336.0, actual 33550336 (1.00x) Testing collisions (low 8-bit) - Expected 33554176.0, actual 33554176 (1.00x) Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001 Verification value is 0x00000001 - Testing took 631.756439 seconds ------------------------------------------------------------------------------- aHash-0.8.11/src/000077500000000000000000000000001457113102300134115ustar00rootroot00000000000000aHash-0.8.11/src/aes_hash.rs000066400000000000000000000315351457113102300155410ustar00rootroot00000000000000use crate::convert::*; use crate::operations::*; use crate::random_state::PI; use crate::RandomState; use core::hash::Hasher; /// A `Hasher` for hashing an arbitrary stream of bytes. /// /// Instances of [`AHasher`] represent state that is updated while hashing data. /// /// Each method updates the internal state based on the new data provided. Once /// all of the data has been provided, the resulting hash can be obtained by calling /// `finish()` /// /// [Clone] is also provided in case you wish to calculate hashes for two different items that /// start with the same data. /// #[derive(Debug, Clone)] pub struct AHasher { enc: u128, sum: u128, key: u128, } impl AHasher { /// Creates a new hasher keyed to the provided keys. /// /// Normally hashers are created via `AHasher::default()` for fixed keys or `RandomState::new()` for randomly /// generated keys and `RandomState::with_seeds(a,b)` for seeds that are set and can be reused. All of these work at /// map creation time (and hence don't have any overhead on a per-item bais). /// /// This method directly creates the hasher instance and performs no transformation on the provided seeds. This may /// be useful where a HashBuilder is not desired, such as for testing purposes. /// /// # Example /// /// ``` /// use std::hash::Hasher; /// use ahash::AHasher; /// /// let mut hasher = AHasher::new_with_keys(1234, 5678); /// /// hasher.write_u32(1989); /// hasher.write_u8(11); /// hasher.write_u8(9); /// hasher.write(b"Huh?"); /// /// println!("Hash is {:x}!", hasher.finish()); /// ``` #[inline] pub(crate) fn new_with_keys(key1: u128, key2: u128) -> Self { let pi: [u128; 2] = PI.convert(); let key1 = key1 ^ pi[0]; let key2 = key2 ^ pi[1]; Self { enc: key1, sum: key2, key: key1 ^ key2, } } #[allow(unused)] // False positive pub(crate) fn test_with_keys(key1: u128, key2: u128) -> Self { Self { enc: key1, sum: key2, key: key1 ^ key2, } } #[inline] pub(crate) fn from_random_state(rand_state: &RandomState) -> Self { let key1 = [rand_state.k0, rand_state.k1].convert(); let key2 = [rand_state.k2, rand_state.k3].convert(); Self { enc: key1, sum: key2, key: key1 ^ key2, } } #[inline(always)] fn hash_in(&mut self, new_value: u128) { self.enc = aesdec(self.enc, new_value); self.sum = shuffle_and_add(self.sum, new_value); } #[inline(always)] fn hash_in_2(&mut self, v1: u128, v2: u128) { self.enc = aesdec(self.enc, v1); self.sum = shuffle_and_add(self.sum, v1); self.enc = aesdec(self.enc, v2); self.sum = shuffle_and_add(self.sum, v2); } #[inline] #[cfg(feature = "specialize")] fn short_finish(&self) -> u64 { let combined = aesenc(self.sum, self.enc); let result: [u64; 2] = aesdec(combined, combined).convert(); result[0] } } /// Provides [Hasher] methods to hash all of the primitive types. /// /// [Hasher]: core::hash::Hasher impl Hasher for AHasher { #[inline] fn write_u8(&mut self, i: u8) { self.write_u64(i as u64); } #[inline] fn write_u16(&mut self, i: u16) { self.write_u64(i as u64); } #[inline] fn write_u32(&mut self, i: u32) { self.write_u64(i as u64); } #[inline] fn write_u128(&mut self, i: u128) { self.hash_in(i); } #[inline] #[cfg(any( target_pointer_width = "64", target_pointer_width = "32", target_pointer_width = "16" ))] fn write_usize(&mut self, i: usize) { self.write_u64(i as u64); } #[inline] #[cfg(target_pointer_width = "128")] fn write_usize(&mut self, i: usize) { self.write_u128(i as u128); } #[inline] fn write_u64(&mut self, i: u64) { self.write_u128(i as u128); } #[inline] #[allow(clippy::collapsible_if)] fn write(&mut self, input: &[u8]) { let mut data = input; let length = data.len(); add_in_length(&mut self.enc, length as u64); //A 'binary search' on sizes reduces the number of comparisons. if data.len() <= 8 { let value = read_small(data); self.hash_in(value.convert()); } else { if data.len() > 32 { if data.len() > 64 { let tail = data.read_last_u128x4(); let mut current: [u128; 4] = [self.key; 4]; current[0] = aesenc(current[0], tail[0]); current[1] = aesdec(current[1], tail[1]); current[2] = aesenc(current[2], tail[2]); current[3] = aesdec(current[3], tail[3]); let mut sum: [u128; 2] = [self.key, !self.key]; sum[0] = add_by_64s(sum[0].convert(), tail[0].convert()).convert(); sum[1] = add_by_64s(sum[1].convert(), tail[1].convert()).convert(); sum[0] = shuffle_and_add(sum[0], tail[2]); sum[1] = shuffle_and_add(sum[1], tail[3]); while data.len() > 64 { let (blocks, rest) = data.read_u128x4(); current[0] = aesdec(current[0], blocks[0]); current[1] = aesdec(current[1], blocks[1]); current[2] = aesdec(current[2], blocks[2]); current[3] = aesdec(current[3], blocks[3]); sum[0] = shuffle_and_add(sum[0], blocks[0]); sum[1] = shuffle_and_add(sum[1], blocks[1]); sum[0] = shuffle_and_add(sum[0], blocks[2]); sum[1] = shuffle_and_add(sum[1], blocks[3]); data = rest; } self.hash_in_2(current[0], current[1]); self.hash_in_2(current[2], current[3]); self.hash_in_2(sum[0], sum[1]); } else { //len 33-64 let (head, _) = data.read_u128x2(); let tail = data.read_last_u128x2(); self.hash_in_2(head[0], head[1]); self.hash_in_2(tail[0], tail[1]); } } else { if data.len() > 16 { //len 17-32 self.hash_in_2(data.read_u128().0, data.read_last_u128()); } else { //len 9-16 let value: [u64; 2] = [data.read_u64().0, data.read_last_u64()]; self.hash_in(value.convert()); } } } } #[inline] fn finish(&self) -> u64 { let combined = aesenc(self.sum, self.enc); let result: [u64; 2] = aesdec(aesdec(combined, self.key), combined).convert(); result[0] } } #[cfg(feature = "specialize")] pub(crate) struct AHasherU64 { pub(crate) buffer: u64, pub(crate) pad: u64, } /// A specialized hasher for only primitives under 64 bits. #[cfg(feature = "specialize")] impl Hasher for AHasherU64 { #[inline] fn finish(&self) -> u64 { folded_multiply(self.buffer, self.pad) } #[inline] fn write(&mut self, _bytes: &[u8]) { unreachable!("Specialized hasher was called with a different type of object") } #[inline] fn write_u8(&mut self, i: u8) { self.write_u64(i as u64); } #[inline] fn write_u16(&mut self, i: u16) { self.write_u64(i as u64); } #[inline] fn write_u32(&mut self, i: u32) { self.write_u64(i as u64); } #[inline] fn write_u64(&mut self, i: u64) { self.buffer = folded_multiply(i ^ self.buffer, MULTIPLE); } #[inline] fn write_u128(&mut self, _i: u128) { unreachable!("Specialized hasher was called with a different type of object") } #[inline] fn write_usize(&mut self, _i: usize) { unreachable!("Specialized hasher was called with a different type of object") } } #[cfg(feature = "specialize")] pub(crate) struct AHasherFixed(pub AHasher); /// A specialized hasher for fixed size primitives larger than 64 bits. #[cfg(feature = "specialize")] impl Hasher for AHasherFixed { #[inline] fn finish(&self) -> u64 { self.0.short_finish() } #[inline] fn write(&mut self, bytes: &[u8]) { self.0.write(bytes) } #[inline] fn write_u8(&mut self, i: u8) { self.write_u64(i as u64); } #[inline] fn write_u16(&mut self, i: u16) { self.write_u64(i as u64); } #[inline] fn write_u32(&mut self, i: u32) { self.write_u64(i as u64); } #[inline] fn write_u64(&mut self, i: u64) { self.0.write_u64(i); } #[inline] fn write_u128(&mut self, i: u128) { self.0.write_u128(i); } #[inline] fn write_usize(&mut self, i: usize) { self.0.write_usize(i); } } #[cfg(feature = "specialize")] pub(crate) struct AHasherStr(pub AHasher); /// A specialized hasher for strings /// Note that the other types don't panic because the hash impl for String tacks on an unneeded call. (As does vec) #[cfg(feature = "specialize")] impl Hasher for AHasherStr { #[inline] fn finish(&self) -> u64 { let result: [u64; 2] = self.0.enc.convert(); result[0] } #[inline] fn write(&mut self, bytes: &[u8]) { if bytes.len() > 8 { self.0.write(bytes); self.0.enc = aesenc(self.0.sum, self.0.enc); self.0.enc = aesdec(aesdec(self.0.enc, self.0.key), self.0.enc); } else { add_in_length(&mut self.0.enc, bytes.len() as u64); let value = read_small(bytes).convert(); self.0.sum = shuffle_and_add(self.0.sum, value); self.0.enc = aesenc(self.0.sum, self.0.enc); self.0.enc = aesdec(aesdec(self.0.enc, self.0.key), self.0.enc); } } #[inline] fn write_u8(&mut self, _i: u8) {} #[inline] fn write_u16(&mut self, _i: u16) {} #[inline] fn write_u32(&mut self, _i: u32) {} #[inline] fn write_u64(&mut self, _i: u64) {} #[inline] fn write_u128(&mut self, _i: u128) {} #[inline] fn write_usize(&mut self, _i: usize) {} } #[cfg(test)] mod tests { use super::*; use crate::convert::Convert; use crate::operations::aesenc; use crate::RandomState; use std::hash::{BuildHasher, Hasher}; #[test] fn test_sanity() { let mut hasher = RandomState::with_seeds(1, 2, 3, 4).build_hasher(); hasher.write_u64(0); let h1 = hasher.finish(); hasher.write(&[1, 0, 0, 0, 0, 0, 0, 0]); let h2 = hasher.finish(); assert_ne!(h1, h2); } #[cfg(feature = "compile-time-rng")] #[test] fn test_builder() { use std::collections::HashMap; use std::hash::BuildHasherDefault; let mut map = HashMap::>::default(); map.insert(1, 3); } #[cfg(feature = "compile-time-rng")] #[test] fn test_default() { let hasher_a = AHasher::default(); let a_enc: [u64; 2] = hasher_a.enc.convert(); let a_sum: [u64; 2] = hasher_a.sum.convert(); assert_ne!(0, a_enc[0]); assert_ne!(0, a_enc[1]); assert_ne!(0, a_sum[0]); assert_ne!(0, a_sum[1]); assert_ne!(a_enc[0], a_enc[1]); assert_ne!(a_sum[0], a_sum[1]); assert_ne!(a_enc[0], a_sum[0]); assert_ne!(a_enc[1], a_sum[1]); let hasher_b = AHasher::default(); let b_enc: [u64; 2] = hasher_b.enc.convert(); let b_sum: [u64; 2] = hasher_b.sum.convert(); assert_eq!(a_enc[0], b_enc[0]); assert_eq!(a_enc[1], b_enc[1]); assert_eq!(a_sum[0], b_sum[0]); assert_eq!(a_sum[1], b_sum[1]); } #[test] fn test_hash() { let mut result: [u64; 2] = [0x6c62272e07bb0142, 0x62b821756295c58d]; let value: [u64; 2] = [1 << 32, 0xFEDCBA9876543210]; result = aesenc(value.convert(), result.convert()).convert(); result = aesenc(result.convert(), result.convert()).convert(); let mut result2: [u64; 2] = [0x6c62272e07bb0142, 0x62b821756295c58d]; let value2: [u64; 2] = [1, 0xFEDCBA9876543210]; result2 = aesenc(value2.convert(), result2.convert()).convert(); result2 = aesenc(result2.convert(), result.convert()).convert(); let result: [u8; 16] = result.convert(); let result2: [u8; 16] = result2.convert(); assert_ne!(hex::encode(result), hex::encode(result2)); } #[test] fn test_conversion() { let input: &[u8] = "dddddddd".as_bytes(); let bytes: u64 = as_array!(input, 8).convert(); assert_eq!(bytes, 0x6464646464646464); } } aHash-0.8.11/src/convert.rs000066400000000000000000000104751457113102300154460ustar00rootroot00000000000000pub(crate) trait Convert { fn convert(self) -> To; } macro_rules! convert { ($a:ty, $b:ty) => { impl Convert<$b> for $a { #[inline(always)] fn convert(self) -> $b { zerocopy::transmute!(self) } } impl Convert<$a> for $b { #[inline(always)] fn convert(self) -> $a { zerocopy::transmute!(self) } } }; } convert!([u128; 4], [u64; 8]); convert!([u128; 4], [u32; 16]); convert!([u128; 4], [u16; 32]); convert!([u128; 4], [u8; 64]); convert!([u128; 2], [u64; 4]); convert!([u128; 2], [u32; 8]); convert!([u128; 2], [u16; 16]); convert!([u128; 2], [u8; 32]); convert!(u128, [u64; 2]); convert!(u128, [u32; 4]); convert!(u128, [u16; 8]); convert!(u128, [u8; 16]); convert!([u64; 8], [u32; 16]); convert!([u64; 8], [u16; 32]); convert!([u64; 8], [u8; 64]); convert!([u64; 4], [u32; 8]); convert!([u64; 4], [u16; 16]); convert!([u64; 4], [u8; 32]); convert!([u64; 2], [u32; 4]); convert!([u64; 2], [u16; 8]); convert!([u64; 2], [u8; 16]); convert!([u32; 4], [u16; 8]); convert!([u32; 4], [u8; 16]); convert!([u16; 8], [u8; 16]); convert!(u64, [u32; 2]); convert!(u64, [u16; 4]); convert!(u64, [u8; 8]); convert!([u32; 2], [u16; 4]); convert!([u32; 2], [u8; 8]); convert!(u32, [u16; 2]); convert!(u32, [u8; 4]); convert!([u16; 2], [u8; 4]); convert!(u16, [u8; 2]); convert!([[u64; 4]; 2], [u8; 64]); convert!([f64; 2], [u8; 16]); convert!([f32; 4], [u8; 16]); convert!(f64, [u8; 8]); convert!([f32; 2], [u8; 8]); convert!(f32, [u8; 4]); macro_rules! as_array { ($input:expr, $len:expr) => {{ { #[inline(always)] fn as_array(slice: &[T]) -> &[T; $len] { core::convert::TryFrom::try_from(slice).unwrap() } as_array($input) } }}; } pub(crate) trait ReadFromSlice { fn read_u16(&self) -> (u16, &[u8]); fn read_u32(&self) -> (u32, &[u8]); fn read_u64(&self) -> (u64, &[u8]); fn read_u128(&self) -> (u128, &[u8]); fn read_u128x2(&self) -> ([u128; 2], &[u8]); fn read_u128x4(&self) -> ([u128; 4], &[u8]); fn read_last_u16(&self) -> u16; fn read_last_u32(&self) -> u32; fn read_last_u64(&self) -> u64; fn read_last_u128(&self) -> u128; fn read_last_u128x2(&self) -> [u128; 2]; fn read_last_u128x4(&self) -> [u128; 4]; } impl ReadFromSlice for [u8] { #[inline(always)] fn read_u16(&self) -> (u16, &[u8]) { let (value, rest) = self.split_at(2); (as_array!(value, 2).convert(), rest) } #[inline(always)] fn read_u32(&self) -> (u32, &[u8]) { let (value, rest) = self.split_at(4); (as_array!(value, 4).convert(), rest) } #[inline(always)] fn read_u64(&self) -> (u64, &[u8]) { let (value, rest) = self.split_at(8); (as_array!(value, 8).convert(), rest) } #[inline(always)] fn read_u128(&self) -> (u128, &[u8]) { let (value, rest) = self.split_at(16); (as_array!(value, 16).convert(), rest) } #[inline(always)] fn read_u128x2(&self) -> ([u128; 2], &[u8]) { let (value, rest) = self.split_at(32); (as_array!(value, 32).convert(), rest) } #[inline(always)] fn read_u128x4(&self) -> ([u128; 4], &[u8]) { let (value, rest) = self.split_at(64); (as_array!(value, 64).convert(), rest) } #[inline(always)] fn read_last_u16(&self) -> u16 { let (_, value) = self.split_at(self.len() - 2); as_array!(value, 2).convert() } #[inline(always)] fn read_last_u32(&self) -> u32 { let (_, value) = self.split_at(self.len() - 4); as_array!(value, 4).convert() } #[inline(always)] fn read_last_u64(&self) -> u64 { let (_, value) = self.split_at(self.len() - 8); as_array!(value, 8).convert() } #[inline(always)] fn read_last_u128(&self) -> u128 { let (_, value) = self.split_at(self.len() - 16); as_array!(value, 16).convert() } #[inline(always)] fn read_last_u128x2(&self) -> [u128; 2] { let (_, value) = self.split_at(self.len() - 32); as_array!(value, 32).convert() } #[inline(always)] fn read_last_u128x4(&self) -> [u128; 4] { let (_, value) = self.split_at(self.len() - 64); as_array!(value, 64).convert() } } aHash-0.8.11/src/fallback_hash.rs000066400000000000000000000275401457113102300165310ustar00rootroot00000000000000use crate::convert::*; use crate::operations::folded_multiply; use crate::operations::read_small; use crate::operations::MULTIPLE; use crate::random_state::PI; use crate::RandomState; use core::hash::Hasher; const ROT: u32 = 23; //17 /// A `Hasher` for hashing an arbitrary stream of bytes. /// /// Instances of [`AHasher`] represent state that is updated while hashing data. /// /// Each method updates the internal state based on the new data provided. Once /// all of the data has been provided, the resulting hash can be obtained by calling /// `finish()` /// /// [Clone] is also provided in case you wish to calculate hashes for two different items that /// start with the same data. /// #[derive(Debug, Clone)] pub struct AHasher { buffer: u64, pad: u64, extra_keys: [u64; 2], } impl AHasher { /// Creates a new hasher keyed to the provided key. #[inline] #[allow(dead_code)] // Is not called if non-fallback hash is used. pub(crate) fn new_with_keys(key1: u128, key2: u128) -> AHasher { let pi: [u128; 2] = PI.convert(); let key1: [u64; 2] = (key1 ^ pi[0]).convert(); let key2: [u64; 2] = (key2 ^ pi[1]).convert(); AHasher { buffer: key1[0], pad: key1[1], extra_keys: key2, } } #[allow(unused)] // False positive pub(crate) fn test_with_keys(key1: u128, key2: u128) -> Self { let key1: [u64; 2] = key1.convert(); let key2: [u64; 2] = key2.convert(); Self { buffer: key1[0], pad: key1[1], extra_keys: key2, } } #[inline] #[allow(dead_code)] // Is not called if non-fallback hash is used. pub(crate) fn from_random_state(rand_state: &RandomState) -> AHasher { AHasher { buffer: rand_state.k1, pad: rand_state.k0, extra_keys: [rand_state.k2, rand_state.k3], } } /// This update function has the goal of updating the buffer with a single multiply /// FxHash does this but is vulnerable to attack. To avoid this input needs to be masked to with an /// unpredictable value. Other hashes such as murmurhash have taken this approach but were found vulnerable /// to attack. The attack was based on the idea of reversing the pre-mixing (Which is necessarily /// reversible otherwise bits would be lost) then placing a difference in the highest bit before the /// multiply used to mix the data. Because a multiply can never affect the bits to the right of it, a /// subsequent update that also differed in this bit could result in a predictable collision. /// /// This version avoids this vulnerability while still only using a single multiply. It takes advantage /// of the fact that when a 64 bit multiply is performed the upper 64 bits are usually computed and thrown /// away. Instead it creates two 128 bit values where the upper 64 bits are zeros and multiplies them. /// (The compiler is smart enough to turn this into a 64 bit multiplication in the assembly) /// Then the upper bits are xored with the lower bits to produce a single 64 bit result. /// /// To understand why this is a good scrambling function it helps to understand multiply-with-carry PRNGs: /// https://en.wikipedia.org/wiki/Multiply-with-carry_pseudorandom_number_generator /// If the multiple is chosen well, this creates a long period, decent quality PRNG. /// Notice that this function is equivalent to this except the `buffer`/`state` is being xored with each /// new block of data. In the event that data is all zeros, it is exactly equivalent to a MWC PRNG. /// /// This is impervious to attack because every bit buffer at the end is dependent on every bit in /// `new_data ^ buffer`. For example suppose two inputs differed in only the 5th bit. Then when the /// multiplication is performed the `result` will differ in bits 5-69. More specifically it will differ by /// 2^5 * MULTIPLE. However in the next step bits 65-128 are turned into a separate 64 bit value. So the /// differing bits will be in the lower 6 bits of this value. The two intermediate values that differ in /// bits 5-63 and in bits 0-5 respectively get added together. Producing an output that differs in every /// bit. The addition carries in the multiplication and at the end additionally mean that the even if an /// attacker somehow knew part of (but not all) the contents of the buffer before hand, /// they would not be able to predict any of the bits in the buffer at the end. #[inline(always)] fn update(&mut self, new_data: u64) { self.buffer = folded_multiply(new_data ^ self.buffer, MULTIPLE); } /// Similar to the above this function performs an update using a "folded multiply". /// However it takes in 128 bits of data instead of 64. Both halves must be masked. /// /// This makes it impossible for an attacker to place a single bit difference between /// two blocks so as to cancel each other. /// /// However this is not sufficient. to prevent (a,b) from hashing the same as (b,a) the buffer itself must /// be updated between calls in a way that does not commute. To achieve this XOR and Rotate are used. /// Add followed by xor is not the same as xor followed by add, and rotate ensures that the same out bits /// can't be changed by the same set of input bits. To cancel this sequence with subsequent input would require /// knowing the keys. #[inline(always)] fn large_update(&mut self, new_data: u128) { let block: [u64; 2] = new_data.convert(); let combined = folded_multiply(block[0] ^ self.extra_keys[0], block[1] ^ self.extra_keys[1]); self.buffer = (self.buffer.wrapping_add(self.pad) ^ combined).rotate_left(ROT); } #[inline] #[cfg(feature = "specialize")] fn short_finish(&self) -> u64 { folded_multiply(self.buffer, self.pad) } } /// Provides [Hasher] methods to hash all of the primitive types. /// /// [Hasher]: core::hash::Hasher impl Hasher for AHasher { #[inline] fn write_u8(&mut self, i: u8) { self.update(i as u64); } #[inline] fn write_u16(&mut self, i: u16) { self.update(i as u64); } #[inline] fn write_u32(&mut self, i: u32) { self.update(i as u64); } #[inline] fn write_u64(&mut self, i: u64) { self.update(i as u64); } #[inline] fn write_u128(&mut self, i: u128) { self.large_update(i); } #[inline] #[cfg(any( target_pointer_width = "64", target_pointer_width = "32", target_pointer_width = "16" ))] fn write_usize(&mut self, i: usize) { self.write_u64(i as u64); } #[inline] #[cfg(target_pointer_width = "128")] fn write_usize(&mut self, i: usize) { self.write_u128(i as u128); } #[inline] #[allow(clippy::collapsible_if)] fn write(&mut self, input: &[u8]) { let mut data = input; let length = data.len() as u64; //Needs to be an add rather than an xor because otherwise it could be canceled with carefully formed input. self.buffer = self.buffer.wrapping_add(length).wrapping_mul(MULTIPLE); //A 'binary search' on sizes reduces the number of comparisons. if data.len() > 8 { if data.len() > 16 { let tail = data.read_last_u128(); self.large_update(tail); while data.len() > 16 { let (block, rest) = data.read_u128(); self.large_update(block); data = rest; } } else { self.large_update([data.read_u64().0, data.read_last_u64()].convert()); } } else { let value = read_small(data); self.large_update(value.convert()); } } #[inline] fn finish(&self) -> u64 { let rot = (self.buffer & 63) as u32; folded_multiply(self.buffer, self.pad).rotate_left(rot) } } #[cfg(feature = "specialize")] pub(crate) struct AHasherU64 { pub(crate) buffer: u64, pub(crate) pad: u64, } /// A specialized hasher for only primitives under 64 bits. #[cfg(feature = "specialize")] impl Hasher for AHasherU64 { #[inline] fn finish(&self) -> u64 { folded_multiply(self.buffer, self.pad) //self.buffer } #[inline] fn write(&mut self, _bytes: &[u8]) { unreachable!("Specialized hasher was called with a different type of object") } #[inline] fn write_u8(&mut self, i: u8) { self.write_u64(i as u64); } #[inline] fn write_u16(&mut self, i: u16) { self.write_u64(i as u64); } #[inline] fn write_u32(&mut self, i: u32) { self.write_u64(i as u64); } #[inline] fn write_u64(&mut self, i: u64) { self.buffer = folded_multiply(i ^ self.buffer, MULTIPLE); } #[inline] fn write_u128(&mut self, _i: u128) { unreachable!("Specialized hasher was called with a different type of object") } #[inline] fn write_usize(&mut self, _i: usize) { unreachable!("Specialized hasher was called with a different type of object") } } #[cfg(feature = "specialize")] pub(crate) struct AHasherFixed(pub AHasher); /// A specialized hasher for fixed size primitives larger than 64 bits. #[cfg(feature = "specialize")] impl Hasher for AHasherFixed { #[inline] fn finish(&self) -> u64 { self.0.short_finish() } #[inline] fn write(&mut self, bytes: &[u8]) { self.0.write(bytes) } #[inline] fn write_u8(&mut self, i: u8) { self.write_u64(i as u64); } #[inline] fn write_u16(&mut self, i: u16) { self.write_u64(i as u64); } #[inline] fn write_u32(&mut self, i: u32) { self.write_u64(i as u64); } #[inline] fn write_u64(&mut self, i: u64) { self.0.write_u64(i); } #[inline] fn write_u128(&mut self, i: u128) { self.0.write_u128(i); } #[inline] fn write_usize(&mut self, i: usize) { self.0.write_usize(i); } } #[cfg(feature = "specialize")] pub(crate) struct AHasherStr(pub AHasher); /// A specialized hasher for a single string /// Note that the other types don't panic because the hash impl for String tacks on an unneeded call. (As does vec) #[cfg(feature = "specialize")] impl Hasher for AHasherStr { #[inline] fn finish(&self) -> u64 { self.0.finish() } #[inline] fn write(&mut self, bytes: &[u8]) { if bytes.len() > 8 { self.0.write(bytes) } else { let value = read_small(bytes); self.0.buffer = folded_multiply(value[0] ^ self.0.buffer, value[1] ^ self.0.extra_keys[1]); self.0.pad = self.0.pad.wrapping_add(bytes.len() as u64); } } #[inline] fn write_u8(&mut self, _i: u8) {} #[inline] fn write_u16(&mut self, _i: u16) {} #[inline] fn write_u32(&mut self, _i: u32) {} #[inline] fn write_u64(&mut self, _i: u64) {} #[inline] fn write_u128(&mut self, _i: u128) {} #[inline] fn write_usize(&mut self, _i: usize) {} } #[cfg(test)] mod tests { use crate::fallback_hash::*; #[test] fn test_hash() { let mut hasher = AHasher::new_with_keys(0, 0); let value: u64 = 1 << 32; hasher.update(value); let result = hasher.buffer; let mut hasher = AHasher::new_with_keys(0, 0); let value2: u64 = 1; hasher.update(value2); let result2 = hasher.buffer; let result: [u8; 8] = result.convert(); let result2: [u8; 8] = result2.convert(); assert_ne!(hex::encode(result), hex::encode(result2)); } #[test] fn test_conversion() { let input: &[u8] = "dddddddd".as_bytes(); let bytes: u64 = as_array!(input, 8).convert(); assert_eq!(bytes, 0x6464646464646464); } } aHash-0.8.11/src/hash_map.rs000066400000000000000000000333761457113102300155530ustar00rootroot00000000000000use std::borrow::Borrow; use std::collections::hash_map::{IntoKeys, IntoValues}; use std::collections::{hash_map, HashMap}; use std::fmt::{self, Debug}; use std::hash::{BuildHasher, Hash}; use std::iter::FromIterator; use std::ops::{Deref, DerefMut, Index}; use std::panic::UnwindSafe; #[cfg(feature = "serde")] use serde::{ de::{Deserialize, Deserializer}, ser::{Serialize, Serializer}, }; use crate::RandomState; /// A [`HashMap`](std::collections::HashMap) using [`RandomState`](crate::RandomState) to hash the items. /// (Requires the `std` feature to be enabled.) #[derive(Clone)] pub struct AHashMap(HashMap); impl From> for AHashMap { fn from(item: HashMap) -> Self { AHashMap(item) } } impl From<[(K, V); N]> for AHashMap where K: Eq + Hash, { /// # Examples /// /// ``` /// use ahash::AHashMap; /// /// let map1 = AHashMap::from([(1, 2), (3, 4)]); /// let map2: AHashMap<_, _> = [(1, 2), (3, 4)].into(); /// assert_eq!(map1, map2); /// ``` fn from(arr: [(K, V); N]) -> Self { Self::from_iter(arr) } } impl Into> for AHashMap { fn into(self) -> HashMap { self.0 } } impl AHashMap { /// This crates a hashmap using [RandomState::new] which obtains its keys from [RandomSource]. /// See the documentation in [RandomSource] for notes about key strength. pub fn new() -> Self { AHashMap(HashMap::with_hasher(RandomState::new())) } /// This crates a hashmap with the specified capacity using [RandomState::new]. /// See the documentation in [RandomSource] for notes about key strength. pub fn with_capacity(capacity: usize) -> Self { AHashMap(HashMap::with_capacity_and_hasher(capacity, RandomState::new())) } } impl AHashMap where S: BuildHasher, { pub fn with_hasher(hash_builder: S) -> Self { AHashMap(HashMap::with_hasher(hash_builder)) } pub fn with_capacity_and_hasher(capacity: usize, hash_builder: S) -> Self { AHashMap(HashMap::with_capacity_and_hasher(capacity, hash_builder)) } } impl AHashMap where K: Hash + Eq, S: BuildHasher, { /// Returns a reference to the value corresponding to the key. /// /// The key may be any borrowed form of the map's key type, but /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for /// the key type. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.get(&1), Some(&"a")); /// assert_eq!(map.get(&2), None); /// ``` #[inline] pub fn get(&self, k: &Q) -> Option<&V> where K: Borrow, Q: Hash + Eq, { self.0.get(k) } /// Returns the key-value pair corresponding to the supplied key. /// /// The supplied key may be any borrowed form of the map's key type, but /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for /// the key type. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.get_key_value(&1), Some((&1, &"a"))); /// assert_eq!(map.get_key_value(&2), None); /// ``` #[inline] pub fn get_key_value(&self, k: &Q) -> Option<(&K, &V)> where K: Borrow, Q: Hash + Eq, { self.0.get_key_value(k) } /// Returns a mutable reference to the value corresponding to the key. /// /// The key may be any borrowed form of the map's key type, but /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for /// the key type. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// if let Some(x) = map.get_mut(&1) { /// *x = "b"; /// } /// assert_eq!(map[&1], "b"); /// ``` #[inline] pub fn get_mut(&mut self, k: &Q) -> Option<&mut V> where K: Borrow, Q: Hash + Eq, { self.0.get_mut(k) } /// Inserts a key-value pair into the map. /// /// If the map did not have this key present, [`None`] is returned. /// /// If the map did have this key present, the value is updated, and the old /// value is returned. The key is not updated, though; this matters for /// types that can be `==` without being identical. See the [module-level /// documentation] for more. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let mut map = HashMap::new(); /// assert_eq!(map.insert(37, "a"), None); /// assert_eq!(map.is_empty(), false); /// /// map.insert(37, "b"); /// assert_eq!(map.insert(37, "c"), Some("b")); /// assert_eq!(map[&37], "c"); /// ``` #[inline] pub fn insert(&mut self, k: K, v: V) -> Option { self.0.insert(k, v) } /// Creates a consuming iterator visiting all the keys in arbitrary order. /// The map cannot be used after calling this. /// The iterator element type is `K`. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let map = HashMap::from([ /// ("a", 1), /// ("b", 2), /// ("c", 3), /// ]); /// /// let mut vec: Vec<&str> = map.into_keys().collect(); /// // The `IntoKeys` iterator produces keys in arbitrary order, so the /// // keys must be sorted to test them against a sorted array. /// vec.sort_unstable(); /// assert_eq!(vec, ["a", "b", "c"]); /// ``` /// /// # Performance /// /// In the current implementation, iterating over keys takes O(capacity) time /// instead of O(len) because it internally visits empty buckets too. #[inline] pub fn into_keys(self) -> IntoKeys { self.0.into_keys() } /// Creates a consuming iterator visiting all the values in arbitrary order. /// The map cannot be used after calling this. /// The iterator element type is `V`. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let map = HashMap::from([ /// ("a", 1), /// ("b", 2), /// ("c", 3), /// ]); /// /// let mut vec: Vec = map.into_values().collect(); /// // The `IntoValues` iterator produces values in arbitrary order, so /// // the values must be sorted to test them against a sorted array. /// vec.sort_unstable(); /// assert_eq!(vec, [1, 2, 3]); /// ``` /// /// # Performance /// /// In the current implementation, iterating over values takes O(capacity) time /// instead of O(len) because it internally visits empty buckets too. #[inline] pub fn into_values(self) -> IntoValues { self.0.into_values() } /// Removes a key from the map, returning the value at the key if the key /// was previously in the map. /// /// The key may be any borrowed form of the map's key type, but /// [`Hash`] and [`Eq`] on the borrowed form *must* match those for /// the key type. /// /// # Examples /// /// ``` /// use std::collections::HashMap; /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.remove(&1), Some("a")); /// assert_eq!(map.remove(&1), None); /// ``` #[inline] pub fn remove(&mut self, k: &Q) -> Option where K: Borrow, Q: Hash + Eq, { self.0.remove(k) } } impl Deref for AHashMap { type Target = HashMap; fn deref(&self) -> &Self::Target { &self.0 } } impl DerefMut for AHashMap { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } impl UnwindSafe for AHashMap where K: UnwindSafe, V: UnwindSafe, { } impl PartialEq for AHashMap where K: Eq + Hash, V: PartialEq, S: BuildHasher, { fn eq(&self, other: &AHashMap) -> bool { self.0.eq(&other.0) } } impl Eq for AHashMap where K: Eq + Hash, V: Eq, S: BuildHasher, { } impl Index<&Q> for AHashMap where K: Eq + Hash + Borrow, Q: Eq + Hash, S: BuildHasher, { type Output = V; /// Returns a reference to the value corresponding to the supplied key. /// /// # Panics /// /// Panics if the key is not present in the `HashMap`. #[inline] fn index(&self, key: &Q) -> &V { self.0.index(key) } } impl Debug for AHashMap where K: Debug, V: Debug, S: BuildHasher, { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { self.0.fmt(fmt) } } impl FromIterator<(K, V)> for AHashMap where K: Eq + Hash, { /// This crates a hashmap from the provided iterator using [RandomState::new]. /// See the documentation in [RandomSource] for notes about key strength. fn from_iter>(iter: T) -> Self { let mut inner = HashMap::with_hasher(RandomState::new()); inner.extend(iter); AHashMap(inner) } } impl<'a, K, V, S> IntoIterator for &'a AHashMap { type Item = (&'a K, &'a V); type IntoIter = hash_map::Iter<'a, K, V>; fn into_iter(self) -> Self::IntoIter { (&self.0).iter() } } impl<'a, K, V, S> IntoIterator for &'a mut AHashMap { type Item = (&'a K, &'a mut V); type IntoIter = hash_map::IterMut<'a, K, V>; fn into_iter(self) -> Self::IntoIter { (&mut self.0).iter_mut() } } impl IntoIterator for AHashMap { type Item = (K, V); type IntoIter = hash_map::IntoIter; fn into_iter(self) -> Self::IntoIter { self.0.into_iter() } } impl Extend<(K, V)> for AHashMap where K: Eq + Hash, S: BuildHasher, { #[inline] fn extend>(&mut self, iter: T) { self.0.extend(iter) } } impl<'a, K, V, S> Extend<(&'a K, &'a V)> for AHashMap where K: Eq + Hash + Copy + 'a, V: Copy + 'a, S: BuildHasher, { #[inline] fn extend>(&mut self, iter: T) { self.0.extend(iter) } } /// NOTE: For safety this trait impl is only available available if either of the flags `runtime-rng` (on by default) or /// `compile-time-rng` are enabled. This is to prevent weakly keyed maps from being accidentally created. Instead one of /// constructors for [RandomState] must be used. #[cfg(any(feature = "compile-time-rng", feature = "runtime-rng", feature = "no-rng"))] impl Default for AHashMap { #[inline] fn default() -> AHashMap { AHashMap(HashMap::default()) } } #[cfg(feature = "serde")] impl Serialize for AHashMap where K: Serialize + Eq + Hash, V: Serialize, { fn serialize(&self, serializer: S) -> Result { self.deref().serialize(serializer) } } #[cfg(feature = "serde")] impl<'de, K, V> Deserialize<'de> for AHashMap where K: Deserialize<'de> + Eq + Hash, V: Deserialize<'de>, { fn deserialize>(deserializer: D) -> Result { let hash_map = HashMap::deserialize(deserializer); hash_map.map(|hash_map| Self(hash_map)) } fn deserialize_in_place>(deserializer: D, place: &mut Self) -> Result<(), D::Error> { use serde::de::{MapAccess, Visitor}; struct MapInPlaceVisitor<'a, K: 'a, V: 'a>(&'a mut AHashMap); impl<'a, 'de, K, V> Visitor<'de> for MapInPlaceVisitor<'a, K, V> where K: Deserialize<'de> + Eq + Hash, V: Deserialize<'de>, { type Value = (); fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { formatter.write_str("a map") } fn visit_map(self, mut map: A) -> Result where A: MapAccess<'de>, { self.0.clear(); self.0.reserve(map.size_hint().unwrap_or(0).min(4096)); while let Some((key, value)) = map.next_entry()? { self.0.insert(key, value); } Ok(()) } } deserializer.deserialize_map(MapInPlaceVisitor(place)) } } #[cfg(test)] mod test { use super::*; #[test] fn test_borrow() { let mut map: AHashMap = AHashMap::new(); map.insert("foo".to_string(), "Bar".to_string()); map.insert("Bar".to_string(), map.get("foo").unwrap().to_owned()); } #[cfg(feature = "serde")] #[test] fn test_serde() { let mut map = AHashMap::new(); map.insert("for".to_string(), 0); map.insert("bar".to_string(), 1); let mut serialization = serde_json::to_string(&map).unwrap(); let mut deserialization: AHashMap = serde_json::from_str(&serialization).unwrap(); assert_eq!(deserialization, map); map.insert("baz".to_string(), 2); serialization = serde_json::to_string(&map).unwrap(); let mut deserializer = serde_json::Deserializer::from_str(&serialization); AHashMap::deserialize_in_place(&mut deserializer, &mut deserialization).unwrap(); assert_eq!(deserialization, map); } } aHash-0.8.11/src/hash_quality_test.rs000066400000000000000000000434531457113102300175220ustar00rootroot00000000000000use core::hash::{Hash, Hasher}; use std::collections::HashMap; fn assert_sufficiently_different(a: u64, b: u64, tolerance: i32) { let (same_byte_count, same_nibble_count) = count_same_bytes_and_nibbles(a, b); assert!(same_byte_count <= tolerance, "{:x} vs {:x}: {:}", a, b, same_byte_count); assert!( same_nibble_count <= tolerance * 3, "{:x} vs {:x}: {:}", a, b, same_nibble_count ); let flipped_bits = (a ^ b).count_ones(); assert!( flipped_bits > 12 && flipped_bits < 52, "{:x} and {:x}: {:}", a, b, flipped_bits ); for rotate in 0..64 { let flipped_bits2 = (a ^ (b.rotate_left(rotate))).count_ones(); assert!( flipped_bits2 > 10 && flipped_bits2 < 54, "{:x} and {:x}: {:}", a, b.rotate_left(rotate), flipped_bits2 ); } } fn count_same_bytes_and_nibbles(a: u64, b: u64) -> (i32, i32) { let mut same_byte_count = 0; let mut same_nibble_count = 0; for byte in 0..8 { let ba = (a >> (8 * byte)) as u8; let bb = (b >> (8 * byte)) as u8; if ba == bb { same_byte_count += 1; } if ba & 0xF0u8 == bb & 0xF0u8 { same_nibble_count += 1; } if ba & 0x0Fu8 == bb & 0x0Fu8 { same_nibble_count += 1; } } (same_byte_count, same_nibble_count) } fn gen_combinations(options: &[u32; 11], depth: u32, so_far: Vec, combinations: &mut Vec>) { if depth == 0 { return; } for option in options { let mut next = so_far.clone(); next.push(*option); combinations.push(next.clone()); gen_combinations(options, depth - 1, next, combinations); } } fn test_no_full_collisions(gen_hash: impl Fn() -> T) { let options: [u32; 11] = [ 0x00000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0xF0000000, 1, 2, 4, 8, 15, ]; let mut combinations = Vec::new(); gen_combinations(&options, 7, Vec::new(), &mut combinations); let mut map: HashMap> = HashMap::new(); for combination in combinations { use zerocopy::AsBytes; let array = combination.as_slice().as_bytes().to_vec(); let mut hasher = gen_hash(); hasher.write(&array); let hash = hasher.finish(); if let Some(value) = map.get(&hash) { assert_eq!( value, &array, "Found a collision between {:x?} and {:x?}. Hash: {:x?}", value, &array, &hash ); } else { map.insert(hash, array); } } assert_eq!(21435887, map.len()); //11^7 + 11^6 ... } fn test_keys_change_output(constructor: impl Fn(u128, u128) -> T) { let mut a = constructor(1, 1); let mut b = constructor(1, 2); let mut c = constructor(2, 1); let mut d = constructor(2, 2); "test".hash(&mut a); "test".hash(&mut b); "test".hash(&mut c); "test".hash(&mut d); assert_sufficiently_different(a.finish(), b.finish(), 1); assert_sufficiently_different(a.finish(), c.finish(), 1); assert_sufficiently_different(a.finish(), d.finish(), 1); assert_sufficiently_different(b.finish(), c.finish(), 1); assert_sufficiently_different(b.finish(), d.finish(), 1); assert_sufficiently_different(c.finish(), d.finish(), 1); } fn test_input_affect_every_byte(constructor: impl Fn(u128, u128) -> T) { let base = hash_with(&0, constructor(0, 0)); for shift in 0..16 { let mut alternatives = vec![]; for v in 0..256 { let input = (v as u128) << (shift * 8); let hasher = constructor(0, 0); alternatives.push(hash_with(&input, hasher)); } assert_each_byte_differs(shift, base, alternatives); } } ///Ensures that for every bit in the output there is some value for each byte in the key that flips it. fn test_keys_affect_every_byte(item: H, constructor: impl Fn(u128, u128) -> T) { let base = hash_with(&item, constructor(0, 0)); for shift in 0..16 { let mut alternatives1 = vec![]; let mut alternatives2 = vec![]; for v in 0..256 { let input = (v as u128) << (shift * 8); let hasher1 = constructor(input, 0); let hasher2 = constructor(0, input); let h1 = hash_with(&item, hasher1); let h2 = hash_with(&item, hasher2); alternatives1.push(h1); alternatives2.push(h2); } assert_each_byte_differs(shift, base, alternatives1); assert_each_byte_differs(shift, base, alternatives2); } } fn assert_each_byte_differs(num: u64, base: u64, alternatives: Vec) { let mut changed_bits = 0_u64; for alternative in alternatives { changed_bits |= base ^ alternative } assert_eq!( core::u64::MAX, changed_bits, "Bits changed: {:x} on num: {:?}. base {:x}", changed_bits, num, base ); } fn test_finish_is_consistent(constructor: impl Fn(u128, u128) -> T) { let mut hasher = constructor(1, 2); "Foo".hash(&mut hasher); let a = hasher.finish(); let b = hasher.finish(); assert_eq!(a, b); } fn test_single_key_bit_flip(constructor: impl Fn(u128, u128) -> T) { for bit in 0..128 { let mut a = constructor(0, 0); let mut b = constructor(0, 1 << bit); let mut c = constructor(1 << bit, 0); "1234".hash(&mut a); "1234".hash(&mut b); "1234".hash(&mut c); assert_sufficiently_different(a.finish(), b.finish(), 2); assert_sufficiently_different(a.finish(), c.finish(), 2); assert_sufficiently_different(b.finish(), c.finish(), 2); let mut a = constructor(0, 0); let mut b = constructor(0, 1 << bit); let mut c = constructor(1 << bit, 0); "12345678".hash(&mut a); "12345678".hash(&mut b); "12345678".hash(&mut c); assert_sufficiently_different(a.finish(), b.finish(), 2); assert_sufficiently_different(a.finish(), c.finish(), 2); assert_sufficiently_different(b.finish(), c.finish(), 2); let mut a = constructor(0, 0); let mut b = constructor(0, 1 << bit); let mut c = constructor(1 << bit, 0); "1234567812345678".hash(&mut a); "1234567812345678".hash(&mut b); "1234567812345678".hash(&mut c); assert_sufficiently_different(a.finish(), b.finish(), 2); assert_sufficiently_different(a.finish(), c.finish(), 2); assert_sufficiently_different(b.finish(), c.finish(), 2); } } fn test_all_bytes_matter(hasher: impl Fn() -> T) { let mut item = vec![0; 256]; let base_hash = hash(&item, &hasher); for pos in 0..256 { item[pos] = 255; let hash = hash(&item, &hasher); assert_ne!(base_hash, hash, "Position {} did not affect output", pos); item[pos] = 0; } } fn test_no_pair_collisions(hasher: impl Fn() -> T) { let base = [0_u64, 0_u64]; let base_hash = hash(&base, &hasher); for bitpos1 in 0..64 { let a = 1_u64 << bitpos1; for bitpos2 in 0..bitpos1 { let b = 1_u64 << bitpos2; let aa = hash(&[a, a], &hasher); let ab = hash(&[a, b], &hasher); let ba = hash(&[b, a], &hasher); let bb = hash(&[b, b], &hasher); assert_sufficiently_different(base_hash, aa, 3); assert_sufficiently_different(base_hash, ab, 3); assert_sufficiently_different(base_hash, ba, 3); assert_sufficiently_different(base_hash, bb, 3); assert_sufficiently_different(aa, ab, 3); assert_sufficiently_different(ab, ba, 3); assert_sufficiently_different(ba, bb, 3); assert_sufficiently_different(aa, ba, 3); assert_sufficiently_different(ab, bb, 3); assert_sufficiently_different(aa, bb, 3); } } } fn hash(b: &H, hash_builder: &dyn Fn() -> T) -> u64 { let mut hasher = hash_builder(); b.hash(&mut hasher); hasher.finish() } fn hash_with(b: &H, mut hasher: T) -> u64 { b.hash(&mut hasher); hasher.finish() } fn test_single_bit_flip(hasher: impl Fn() -> T) { let size = 32; let compare_value = hash(&0u32, &hasher); for pos in 0..size { let test_value = hash(&(1u32 << pos), &hasher); assert_sufficiently_different(compare_value, test_value, 2); } let size = 64; let compare_value = hash(&0u64, &hasher); for pos in 0..size { let test_value = hash(&(1u64 << pos), &hasher); assert_sufficiently_different(compare_value, test_value, 2); } let size = 128; let compare_value = hash(&0u128, &hasher); for pos in 0..size { let test_value = hash(&(1u128 << pos), &hasher); dbg!(compare_value, test_value); assert_sufficiently_different(compare_value, test_value, 2); } } fn test_padding_doesnot_collide(hasher: impl Fn() -> T) { for c in 0..128u8 { for string in ["", "\0", "\x01", "1234", "12345678", "1234567812345678"].iter() { let mut short = hasher(); string.hash(&mut short); let value = short.finish(); let mut padded = string.to_string(); for num in 1..=128 { let mut long = hasher(); padded.push(c as char); padded.hash(&mut long); let (same_bytes, same_nibbles) = count_same_bytes_and_nibbles(value, long.finish()); assert!( same_bytes <= 3, "{} bytes of {} -> {:x} vs {:x}", num, c, value, long.finish() ); assert!( same_nibbles <= 8, "{} bytes of {} -> {:x} vs {:x}", num, c, value, long.finish() ); let flipped_bits = (value ^ long.finish()).count_ones(); assert!(flipped_bits > 10); } if string.len() > 0 { let mut padded = string[1..].to_string(); padded.push(c as char); for num in 2..=128 { let mut long = hasher(); padded.push(c as char); padded.hash(&mut long); let (same_bytes, same_nibbles) = count_same_bytes_and_nibbles(value, long.finish()); assert!( same_bytes <= 3, "string {:?} + {} bytes of {} -> {:x} vs {:x}", string, num, c, value, long.finish() ); assert!( same_nibbles <= 8, "string {:?} + {} bytes of {} -> {:x} vs {:x}", string, num, c, value, long.finish() ); let flipped_bits = (value ^ long.finish()).count_ones(); assert!(flipped_bits > 10); } } } } } fn test_length_extension(hasher: impl Fn(u128, u128) -> T) { for key in 0..256 { let h1 = hasher(key, key); let v1 = hash_with(&[0_u8, 0, 0, 0, 0, 0, 0, 0], h1); let h2 = hasher(key, key); let v2 = hash_with(&[1_u8, 0, 0, 0, 0, 0, 0, 0, 0], h2); assert_ne!(v1, v2); } } fn test_sparse(hasher: impl Fn() -> T) { use smallvec::SmallVec; let mut buf = [0u8; 256]; let mut hashes = HashMap::new(); for idx_1 in 0..255_u8 { for idx_2 in idx_1 + 1..=255_u8 { for value_1 in [1, 2, 4, 8, 16, 32, 64, 128] { for value_2 in [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 16, 17, 18, 20, 24, 31, 32, 33, 48, 64, 96, 127, 128, 129, 192, 254, 255, ] { buf[idx_1 as usize] = value_1; buf[idx_2 as usize] = value_2; let hash_value = hash_with(&buf, &mut hasher()); let keys = hashes.entry(hash_value).or_insert(SmallVec::<[[u8; 4]; 1]>::new()); keys.push([idx_1, value_1, idx_2, value_2]); buf[idx_1 as usize] = 0; buf[idx_2 as usize] = 0; } } } } hashes.retain(|_key, value| value.len() != 1); assert_eq!(0, hashes.len(), "Collision with: {:?}", hashes); } #[cfg(test)] mod fallback_tests { use crate::fallback_hash::*; use crate::hash_quality_test::*; #[test] fn fallback_single_bit_flip() { test_single_bit_flip(|| AHasher::new_with_keys(0, 0)) } #[test] fn fallback_single_key_bit_flip() { test_single_key_bit_flip(AHasher::new_with_keys) } #[test] fn fallback_all_bytes_matter() { test_all_bytes_matter(|| AHasher::new_with_keys(0, 0)); } #[test] fn fallback_test_no_pair_collisions() { test_no_pair_collisions(|| AHasher::new_with_keys(0, 0)); } #[test] fn fallback_test_no_full_collisions() { test_no_full_collisions(|| AHasher::new_with_keys(0, 0)); } #[test] fn fallback_keys_change_output() { test_keys_change_output(AHasher::new_with_keys); } #[test] fn fallback_input_affect_every_byte() { test_input_affect_every_byte(AHasher::new_with_keys); } #[test] fn fallback_keys_affect_every_byte() { //For fallback second key is not used in every hash. #[cfg(all(not(feature = "specialize"), feature = "folded_multiply"))] test_keys_affect_every_byte(0, |a, b| AHasher::new_with_keys(a ^ b, a)); test_keys_affect_every_byte("", |a, b| AHasher::new_with_keys(a ^ b, a)); test_keys_affect_every_byte((0, 0), |a, b| AHasher::new_with_keys(a ^ b, a)); } #[test] fn fallback_finish_is_consistant() { test_finish_is_consistent(AHasher::test_with_keys) } #[test] fn fallback_padding_doesnot_collide() { test_padding_doesnot_collide(|| AHasher::new_with_keys(0, 0)); test_padding_doesnot_collide(|| AHasher::new_with_keys(0, 2)); test_padding_doesnot_collide(|| AHasher::new_with_keys(2, 0)); test_padding_doesnot_collide(|| AHasher::new_with_keys(2, 2)); } #[test] fn fallback_length_extension() { test_length_extension(|a, b| AHasher::new_with_keys(a, b)); } #[test] fn test_no_sparse_collisions() { test_sparse(|| AHasher::new_with_keys(0, 0)); test_sparse(|| AHasher::new_with_keys(1, 2)); } } ///Basic sanity tests of the cypto properties of aHash. #[cfg(any( all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "aes", not(miri)), all(target_arch = "aarch64", target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "arm", target_feature = "aes", not(miri)), ))] #[cfg(test)] mod aes_tests { use crate::aes_hash::*; use crate::hash_quality_test::*; use std::hash::{Hash, Hasher}; //This encrypts to 0. const BAD_KEY2: u128 = 0x6363_6363_6363_6363_6363_6363_6363_6363; //This decrypts to 0. const BAD_KEY: u128 = 0x5252_5252_5252_5252_5252_5252_5252_5252; #[test] fn test_single_bit_in_byte() { let mut hasher1 = AHasher::test_with_keys(0, 0); 8_u32.hash(&mut hasher1); let mut hasher2 = AHasher::test_with_keys(0, 0); 0_u32.hash(&mut hasher2); assert_sufficiently_different(hasher1.finish(), hasher2.finish(), 1); } #[test] fn aes_single_bit_flip() { test_single_bit_flip(|| AHasher::test_with_keys(BAD_KEY, BAD_KEY)); test_single_bit_flip(|| AHasher::test_with_keys(BAD_KEY2, BAD_KEY2)); } #[test] fn aes_single_key_bit_flip() { test_single_key_bit_flip(AHasher::test_with_keys) } #[test] fn aes_all_bytes_matter() { test_all_bytes_matter(|| AHasher::test_with_keys(BAD_KEY, BAD_KEY)); test_all_bytes_matter(|| AHasher::test_with_keys(BAD_KEY2, BAD_KEY2)); } #[test] fn aes_test_no_pair_collisions() { test_no_pair_collisions(|| AHasher::test_with_keys(BAD_KEY, BAD_KEY)); test_no_pair_collisions(|| AHasher::test_with_keys(BAD_KEY2, BAD_KEY2)); } #[test] fn ase_test_no_full_collisions() { test_no_full_collisions(|| AHasher::test_with_keys(12345, 67890)); } #[test] fn aes_keys_change_output() { test_keys_change_output(AHasher::test_with_keys); } #[test] fn aes_input_affect_every_byte() { test_input_affect_every_byte(AHasher::test_with_keys); } #[test] fn aes_keys_affect_every_byte() { #[cfg(not(feature = "specialize"))] test_keys_affect_every_byte(0, AHasher::test_with_keys); test_keys_affect_every_byte("", AHasher::test_with_keys); test_keys_affect_every_byte((0, 0), AHasher::test_with_keys); } #[test] fn aes_finish_is_consistant() { test_finish_is_consistent(AHasher::test_with_keys) } #[test] fn aes_padding_doesnot_collide() { test_padding_doesnot_collide(|| AHasher::test_with_keys(BAD_KEY, BAD_KEY)); test_padding_doesnot_collide(|| AHasher::test_with_keys(BAD_KEY2, BAD_KEY2)); } #[test] fn aes_length_extension() { test_length_extension(|a, b| AHasher::test_with_keys(a, b)); } #[test] fn aes_no_sparse_collisions() { test_sparse(|| AHasher::test_with_keys(0, 0)); test_sparse(|| AHasher::test_with_keys(1, 2)); } } aHash-0.8.11/src/hash_set.rs000066400000000000000000000222341457113102300155600ustar00rootroot00000000000000use crate::RandomState; use std::collections::{hash_set, HashSet}; use std::fmt::{self, Debug}; use std::hash::{BuildHasher, Hash}; use std::iter::FromIterator; use std::ops::{BitAnd, BitOr, BitXor, Deref, DerefMut, Sub}; #[cfg(feature = "serde")] use serde::{ de::{Deserialize, Deserializer}, ser::{Serialize, Serializer}, }; /// A [`HashSet`](std::collections::HashSet) using [`RandomState`](crate::RandomState) to hash the items. /// (Requires the `std` feature to be enabled.) #[derive(Clone)] pub struct AHashSet(HashSet); impl From> for AHashSet { fn from(item: HashSet) -> Self { AHashSet(item) } } impl From<[T; N]> for AHashSet where T: Eq + Hash, { /// # Examples /// /// ``` /// use ahash::AHashSet; /// /// let set1 = AHashSet::from([1, 2, 3, 4]); /// let set2: AHashSet<_> = [1, 2, 3, 4].into(); /// assert_eq!(set1, set2); /// ``` fn from(arr: [T; N]) -> Self { Self::from_iter(arr) } } impl Into> for AHashSet { fn into(self) -> HashSet { self.0 } } impl AHashSet { /// This crates a hashset using [RandomState::new]. /// See the documentation in [RandomSource] for notes about key strength. pub fn new() -> Self { AHashSet(HashSet::with_hasher(RandomState::new())) } /// This crates a hashset with the specified capacity using [RandomState::new]. /// See the documentation in [RandomSource] for notes about key strength. pub fn with_capacity(capacity: usize) -> Self { AHashSet(HashSet::with_capacity_and_hasher(capacity, RandomState::new())) } } impl AHashSet where S: BuildHasher, { pub fn with_hasher(hash_builder: S) -> Self { AHashSet(HashSet::with_hasher(hash_builder)) } pub fn with_capacity_and_hasher(capacity: usize, hash_builder: S) -> Self { AHashSet(HashSet::with_capacity_and_hasher(capacity, hash_builder)) } } impl Deref for AHashSet { type Target = HashSet; fn deref(&self) -> &Self::Target { &self.0 } } impl DerefMut for AHashSet { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } impl PartialEq for AHashSet where T: Eq + Hash, S: BuildHasher, { fn eq(&self, other: &AHashSet) -> bool { self.0.eq(&other.0) } } impl Eq for AHashSet where T: Eq + Hash, S: BuildHasher, { } impl BitOr<&AHashSet> for &AHashSet where T: Eq + Hash + Clone, S: BuildHasher + Default, { type Output = AHashSet; /// Returns the union of `self` and `rhs` as a new `AHashSet`. /// /// # Examples /// /// ``` /// use ahash::AHashSet; /// /// let a: AHashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: AHashSet<_> = vec![3, 4, 5].into_iter().collect(); /// /// let set = &a | &b; /// /// let mut i = 0; /// let expected = [1, 2, 3, 4, 5]; /// for x in &set { /// assert!(expected.contains(x)); /// i += 1; /// } /// assert_eq!(i, expected.len()); /// ``` fn bitor(self, rhs: &AHashSet) -> AHashSet { AHashSet(self.0.bitor(&rhs.0)) } } impl BitAnd<&AHashSet> for &AHashSet where T: Eq + Hash + Clone, S: BuildHasher + Default, { type Output = AHashSet; /// Returns the intersection of `self` and `rhs` as a new `AHashSet`. /// /// # Examples /// /// ``` /// use ahash::AHashSet; /// /// let a: AHashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: AHashSet<_> = vec![2, 3, 4].into_iter().collect(); /// /// let set = &a & &b; /// /// let mut i = 0; /// let expected = [2, 3]; /// for x in &set { /// assert!(expected.contains(x)); /// i += 1; /// } /// assert_eq!(i, expected.len()); /// ``` fn bitand(self, rhs: &AHashSet) -> AHashSet { AHashSet(self.0.bitand(&rhs.0)) } } impl BitXor<&AHashSet> for &AHashSet where T: Eq + Hash + Clone, S: BuildHasher + Default, { type Output = AHashSet; /// Returns the symmetric difference of `self` and `rhs` as a new `AHashSet`. /// /// # Examples /// /// ``` /// use ahash::AHashSet; /// /// let a: AHashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: AHashSet<_> = vec![3, 4, 5].into_iter().collect(); /// /// let set = &a ^ &b; /// /// let mut i = 0; /// let expected = [1, 2, 4, 5]; /// for x in &set { /// assert!(expected.contains(x)); /// i += 1; /// } /// assert_eq!(i, expected.len()); /// ``` fn bitxor(self, rhs: &AHashSet) -> AHashSet { AHashSet(self.0.bitxor(&rhs.0)) } } impl Sub<&AHashSet> for &AHashSet where T: Eq + Hash + Clone, S: BuildHasher + Default, { type Output = AHashSet; /// Returns the difference of `self` and `rhs` as a new `AHashSet`. /// /// # Examples /// /// ``` /// use ahash::AHashSet; /// /// let a: AHashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: AHashSet<_> = vec![3, 4, 5].into_iter().collect(); /// /// let set = &a - &b; /// /// let mut i = 0; /// let expected = [1, 2]; /// for x in &set { /// assert!(expected.contains(x)); /// i += 1; /// } /// assert_eq!(i, expected.len()); /// ``` fn sub(self, rhs: &AHashSet) -> AHashSet { AHashSet(self.0.sub(&rhs.0)) } } impl Debug for AHashSet where T: Debug, S: BuildHasher, { fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { self.0.fmt(fmt) } } impl FromIterator for AHashSet where T: Eq + Hash, { /// This crates a hashset from the provided iterator using [RandomState::new]. /// See the documentation in [RandomSource] for notes about key strength. #[inline] fn from_iter>(iter: I) -> AHashSet { let mut inner = HashSet::with_hasher(RandomState::new()); inner.extend(iter); AHashSet(inner) } } impl<'a, T, S> IntoIterator for &'a AHashSet { type Item = &'a T; type IntoIter = hash_set::Iter<'a, T>; fn into_iter(self) -> Self::IntoIter { (&self.0).iter() } } impl IntoIterator for AHashSet { type Item = T; type IntoIter = hash_set::IntoIter; fn into_iter(self) -> Self::IntoIter { self.0.into_iter() } } impl Extend for AHashSet where T: Eq + Hash, S: BuildHasher, { #[inline] fn extend>(&mut self, iter: I) { self.0.extend(iter) } } impl<'a, T, S> Extend<&'a T> for AHashSet where T: 'a + Eq + Hash + Copy, S: BuildHasher, { #[inline] fn extend>(&mut self, iter: I) { self.0.extend(iter) } } /// NOTE: For safety this trait impl is only available available if either of the flags `runtime-rng` (on by default) or /// `compile-time-rng` are enabled. This is to prevent weakly keyed maps from being accidentally created. Instead one of /// constructors for [RandomState] must be used. #[cfg(any(feature = "compile-time-rng", feature = "runtime-rng", feature = "no-rng"))] impl Default for AHashSet { /// Creates an empty `AHashSet` with the `Default` value for the hasher. #[inline] fn default() -> AHashSet { AHashSet(HashSet::default()) } } #[cfg(feature = "serde")] impl Serialize for AHashSet where T: Serialize + Eq + Hash, { fn serialize(&self, serializer: S) -> Result { self.deref().serialize(serializer) } } #[cfg(feature = "serde")] impl<'de, T> Deserialize<'de> for AHashSet where T: Deserialize<'de> + Eq + Hash, { fn deserialize>(deserializer: D) -> Result { let hash_set = HashSet::deserialize(deserializer); hash_set.map(|hash_set| Self(hash_set)) } fn deserialize_in_place>(deserializer: D, place: &mut Self) -> Result<(), D::Error> { HashSet::deserialize_in_place(deserializer, place) } } #[cfg(all(test, feature = "serde"))] mod test { use super::*; #[test] fn test_serde() { let mut set = AHashSet::new(); set.insert("for".to_string()); set.insert("bar".to_string()); let mut serialization = serde_json::to_string(&set).unwrap(); let mut deserialization: AHashSet = serde_json::from_str(&serialization).unwrap(); assert_eq!(deserialization, set); set.insert("baz".to_string()); serialization = serde_json::to_string(&set).unwrap(); let mut deserializer = serde_json::Deserializer::from_str(&serialization); AHashSet::deserialize_in_place(&mut deserializer, &mut deserialization).unwrap(); assert_eq!(deserialization, set); } } aHash-0.8.11/src/lib.rs000066400000000000000000000310061457113102300145250ustar00rootroot00000000000000//! AHash is a high performance keyed hash function. //! //! It quickly provides a high quality hash where the result is not predictable without knowing the Key. //! AHash works with `HashMap` to hash keys, but without allowing for the possibility that an malicious user can //! induce a collision. //! //! # How aHash works //! //! When it is available aHash uses the hardware AES instructions to provide a keyed hash function. //! When it is not, aHash falls back on a slightly slower alternative algorithm. //! //! Because aHash does not have a fixed standard for its output, it is able to improve over time. //! But this also means that different computers or computers using different versions of ahash may observe different //! hash values for the same input. #![cfg_attr( all( feature = "std", any(feature = "compile-time-rng", feature = "runtime-rng", feature = "no-rng") ), doc = r##" # Basic Usage AHash provides an implementation of the [Hasher] trait. To construct a HashMap using aHash as its hasher do the following: ``` use ahash::{AHasher, RandomState}; use std::collections::HashMap; let mut map: HashMap = HashMap::default(); map.insert(12, 34); ``` ### Randomness The above requires a source of randomness to generate keys for the hashmap. By default this obtained from the OS. It is also possible to have randomness supplied via the `compile-time-rng` flag, or manually. ### If randomess is not available [AHasher::default()] can be used to hash using fixed keys. This works with [BuildHasherDefault](std::hash::BuildHasherDefault). For example: ``` use std::hash::BuildHasherDefault; use std::collections::HashMap; use ahash::AHasher; let mut m: HashMap<_, _, BuildHasherDefault> = HashMap::default(); # m.insert(12, 34); ``` It is also possible to instantiate [RandomState] directly: ``` use ahash::HashMap; use ahash::RandomState; let mut m = HashMap::with_hasher(RandomState::with_seed(42)); # m.insert(1, 2); ``` Or for uses besides a hashhmap: ``` use std::hash::BuildHasher; use ahash::RandomState; let hash_builder = RandomState::with_seed(42); let hash = hash_builder.hash_one("Some Data"); ``` There are several constructors for [RandomState] with different ways to supply seeds. # Convenience wrappers For convenience, both new-type wrappers and type aliases are provided. The new type wrappers are called called `AHashMap` and `AHashSet`. ``` use ahash::AHashMap; let mut map: AHashMap = AHashMap::new(); map.insert(12, 34); ``` This avoids the need to type "RandomState". (For convenience `From`, `Into`, and `Deref` are provided). # Aliases For even less typing and better interop with existing libraries (such as rayon) which require a `std::collection::HashMap` , the type aliases [HashMap], [HashSet] are provided. ``` use ahash::{HashMap, HashMapExt}; let mut map: HashMap = HashMap::new(); map.insert(12, 34); ``` Note the import of [HashMapExt]. This is needed for the constructor. "## )] #![deny(clippy::correctness, clippy::complexity, clippy::perf)] #![allow(clippy::pedantic, clippy::cast_lossless, clippy::unreadable_literal)] #![cfg_attr(all(not(test), not(feature = "std")), no_std)] #![cfg_attr(feature = "specialize", feature(min_specialization))] #![cfg_attr(feature = "nightly-arm-aes", feature(stdarch_arm_neon_intrinsics))] #[macro_use] mod convert; mod fallback_hash; cfg_if::cfg_if! { if #[cfg(any( all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "aarch64", target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "arm", target_feature = "aes", not(miri)), ))] { mod aes_hash; pub use crate::aes_hash::AHasher; } else { pub use crate::fallback_hash::AHasher; } } cfg_if::cfg_if! { if #[cfg(feature = "std")] { mod hash_map; mod hash_set; pub use crate::hash_map::AHashMap; pub use crate::hash_set::AHashSet; /// [Hasher]: std::hash::Hasher /// [HashMap]: std::collections::HashMap /// Type alias for [HashMap] pub type HashMap = std::collections::HashMap; /// Type alias for [HashSet] pub type HashSet = std::collections::HashSet; } } #[cfg(test)] mod hash_quality_test; mod operations; pub mod random_state; mod specialize; pub use crate::random_state::RandomState; use core::hash::BuildHasher; use core::hash::Hash; use core::hash::Hasher; #[cfg(feature = "std")] /// A convenience trait that can be used together with the type aliases defined to /// get access to the `new()` and `with_capacity()` methods for the HashMap type alias. pub trait HashMapExt { /// Constructs a new HashMap fn new() -> Self; /// Constructs a new HashMap with a given initial capacity fn with_capacity(capacity: usize) -> Self; } #[cfg(feature = "std")] /// A convenience trait that can be used together with the type aliases defined to /// get access to the `new()` and `with_capacity()` methods for the HashSet type aliases. pub trait HashSetExt { /// Constructs a new HashSet fn new() -> Self; /// Constructs a new HashSet with a given initial capacity fn with_capacity(capacity: usize) -> Self; } #[cfg(feature = "std")] impl HashMapExt for std::collections::HashMap where S: BuildHasher + Default, { fn new() -> Self { std::collections::HashMap::with_hasher(S::default()) } fn with_capacity(capacity: usize) -> Self { std::collections::HashMap::with_capacity_and_hasher(capacity, S::default()) } } #[cfg(feature = "std")] impl HashSetExt for std::collections::HashSet where S: BuildHasher + Default, { fn new() -> Self { std::collections::HashSet::with_hasher(S::default()) } fn with_capacity(capacity: usize) -> Self { std::collections::HashSet::with_capacity_and_hasher(capacity, S::default()) } } /// Provides a default [Hasher] with fixed keys. /// This is typically used in conjunction with [BuildHasherDefault] to create /// [AHasher]s in order to hash the keys of the map. /// /// Generally it is preferable to use [RandomState] instead, so that different /// hashmaps will have different keys. However if fixed keys are desirable this /// may be used instead. /// /// # Example /// ``` /// use std::hash::BuildHasherDefault; /// use ahash::{AHasher, RandomState}; /// use std::collections::HashMap; /// /// let mut map: HashMap> = HashMap::default(); /// map.insert(12, 34); /// ``` /// /// [BuildHasherDefault]: std::hash::BuildHasherDefault /// [Hasher]: std::hash::Hasher /// [HashMap]: std::collections::HashMap impl Default for AHasher { /// Constructs a new [AHasher] with fixed keys. /// If `std` is enabled these will be generated upon first invocation. /// Otherwise if the `compile-time-rng`feature is enabled these will be generated at compile time. /// If neither of these features are available, hardcoded constants will be used. /// /// Because the values are fixed, different hashers will all hash elements the same way. /// This could make hash values predictable, if DOS attacks are a concern. If this behaviour is /// not required, it may be preferable to use [RandomState] instead. /// /// # Examples /// /// ``` /// use ahash::AHasher; /// use std::hash::Hasher; /// /// let mut hasher_1 = AHasher::default(); /// let mut hasher_2 = AHasher::default(); /// /// hasher_1.write_u32(1234); /// hasher_2.write_u32(1234); /// /// assert_eq!(hasher_1.finish(), hasher_2.finish()); /// ``` #[inline] fn default() -> AHasher { RandomState::with_fixed_keys().build_hasher() } } /// Used for specialization. (Sealed) pub(crate) trait BuildHasherExt: BuildHasher { #[doc(hidden)] fn hash_as_u64(&self, value: &T) -> u64; #[doc(hidden)] fn hash_as_fixed_length(&self, value: &T) -> u64; #[doc(hidden)] fn hash_as_str(&self, value: &T) -> u64; } impl BuildHasherExt for B { #[inline] #[cfg(feature = "specialize")] default fn hash_as_u64(&self, value: &T) -> u64 { let mut hasher = self.build_hasher(); value.hash(&mut hasher); hasher.finish() } #[inline] #[cfg(not(feature = "specialize"))] fn hash_as_u64(&self, value: &T) -> u64 { let mut hasher = self.build_hasher(); value.hash(&mut hasher); hasher.finish() } #[inline] #[cfg(feature = "specialize")] default fn hash_as_fixed_length(&self, value: &T) -> u64 { let mut hasher = self.build_hasher(); value.hash(&mut hasher); hasher.finish() } #[inline] #[cfg(not(feature = "specialize"))] fn hash_as_fixed_length(&self, value: &T) -> u64 { let mut hasher = self.build_hasher(); value.hash(&mut hasher); hasher.finish() } #[inline] #[cfg(feature = "specialize")] default fn hash_as_str(&self, value: &T) -> u64 { let mut hasher = self.build_hasher(); value.hash(&mut hasher); hasher.finish() } #[inline] #[cfg(not(feature = "specialize"))] fn hash_as_str(&self, value: &T) -> u64 { let mut hasher = self.build_hasher(); value.hash(&mut hasher); hasher.finish() } } // #[inline(never)] // #[doc(hidden)] // pub fn hash_test(input: &[u8]) -> u64 { // let a = RandomState::with_seeds(11, 22, 33, 44); // <[u8]>::get_hash(input, &a) // } #[cfg(feature = "std")] #[cfg(test)] mod test { use crate::convert::Convert; use crate::specialize::CallHasher; use crate::*; use std::collections::HashMap; #[test] fn test_ahash_alias_map_construction() { let mut map = super::HashMap::with_capacity(1234); map.insert(1, "test"); } #[test] fn test_ahash_alias_set_construction() { let mut set = super::HashSet::with_capacity(1234); set.insert(1); } #[test] fn test_default_builder() { use core::hash::BuildHasherDefault; let mut map = HashMap::>::default(); map.insert(1, 3); } #[test] fn test_builder() { let mut map = HashMap::::default(); map.insert(1, 3); } #[test] fn test_conversion() { let input: &[u8] = b"dddddddd"; let bytes: u64 = as_array!(input, 8).convert(); assert_eq!(bytes, 0x6464646464646464); } #[test] fn test_non_zero() { let mut hasher1 = AHasher::new_with_keys(0, 0); let mut hasher2 = AHasher::new_with_keys(0, 0); "foo".hash(&mut hasher1); "bar".hash(&mut hasher2); assert_ne!(hasher1.finish(), 0); assert_ne!(hasher2.finish(), 0); assert_ne!(hasher1.finish(), hasher2.finish()); let mut hasher1 = AHasher::new_with_keys(0, 0); let mut hasher2 = AHasher::new_with_keys(0, 0); 3_u64.hash(&mut hasher1); 4_u64.hash(&mut hasher2); assert_ne!(hasher1.finish(), 0); assert_ne!(hasher2.finish(), 0); assert_ne!(hasher1.finish(), hasher2.finish()); } #[test] fn test_non_zero_specialized() { let hasher_build = RandomState::with_seeds(0, 0, 0, 0); let h1 = str::get_hash("foo", &hasher_build); let h2 = str::get_hash("bar", &hasher_build); assert_ne!(h1, 0); assert_ne!(h2, 0); assert_ne!(h1, h2); let h1 = u64::get_hash(&3_u64, &hasher_build); let h2 = u64::get_hash(&4_u64, &hasher_build); assert_ne!(h1, 0); assert_ne!(h2, 0); assert_ne!(h1, h2); } #[test] fn test_ahasher_construction() { let _ = AHasher::new_with_keys(1234, 5678); } #[test] fn test_specialize_reference_hash() { let hasher_build = RandomState::with_seeds(0, 0, 0, 0); let h1 = hasher_build.hash_one(1u64); let h2 = hasher_build.hash_one(&1u64); assert_eq!(h1, h2); let h1 = u64::get_hash(&1_u64, &hasher_build); let h2 = <&u64>::get_hash(&&1_u64, &hasher_build); assert_eq!(h1, h2); let h1 = hasher_build.hash_one(1u128); let h2 = hasher_build.hash_one(&1u128); assert_eq!(h1, h2); } } aHash-0.8.11/src/operations.rs000066400000000000000000000302631457113102300161460ustar00rootroot00000000000000use crate::convert::*; #[allow(unused)] use zerocopy::transmute; ///This constant comes from Kunth's prng (Empirically it works better than those from splitmix32). pub(crate) const MULTIPLE: u64 = 6364136223846793005; /// This is a constant with a lot of special properties found by automated search. /// See the unit tests below. (Below are alternative values) #[cfg(all(target_feature = "ssse3", not(miri)))] const SHUFFLE_MASK: u128 = 0x020a0700_0c01030e_050f0d08_06090b04_u128; //const SHUFFLE_MASK: u128 = 0x000d0702_0a040301_05080f0c_0e0b0609_u128; //const SHUFFLE_MASK: u128 = 0x040A0700_030E0106_0D050F08_020B0C09_u128; #[inline(always)] #[cfg(feature = "folded_multiply")] pub(crate) const fn folded_multiply(s: u64, by: u64) -> u64 { let result = (s as u128).wrapping_mul(by as u128); ((result & 0xffff_ffff_ffff_ffff) as u64) ^ ((result >> 64) as u64) } #[inline(always)] #[cfg(not(feature = "folded_multiply"))] pub(crate) const fn folded_multiply(s: u64, by: u64) -> u64 { let b1 = s.wrapping_mul(by.swap_bytes()); let b2 = s.swap_bytes().wrapping_mul(!by); b1 ^ b2.swap_bytes() } /// Given a small (less than 8 byte slice) returns the same data stored in two u32s. /// (order of and non-duplication of bytes is NOT guaranteed) #[inline(always)] pub(crate) fn read_small(data: &[u8]) -> [u64; 2] { debug_assert!(data.len() <= 8); if data.len() >= 2 { if data.len() >= 4 { //len 4-8 [data.read_u32().0 as u64, data.read_last_u32() as u64] } else { //len 2-3 [data.read_u16().0 as u64, data[data.len() - 1] as u64] } } else { if data.len() > 0 { [data[0] as u64, data[0] as u64] } else { [0, 0] } } } #[inline(always)] pub(crate) fn shuffle(a: u128) -> u128 { #[cfg(all(target_feature = "ssse3", not(miri)))] { #[cfg(target_arch = "x86")] use core::arch::x86::*; #[cfg(target_arch = "x86_64")] use core::arch::x86_64::*; unsafe { transmute!(_mm_shuffle_epi8(transmute!(a), transmute!(SHUFFLE_MASK))) } } #[cfg(not(all(target_feature = "ssse3", not(miri))))] { a.swap_bytes() } } #[allow(unused)] //not used by fallback #[inline(always)] pub(crate) fn add_and_shuffle(a: u128, b: u128) -> u128 { let sum = add_by_64s(a.convert(), b.convert()); shuffle(sum.convert()) } #[allow(unused)] //not used by fallback #[inline(always)] pub(crate) fn shuffle_and_add(base: u128, to_add: u128) -> u128 { let shuffled: [u64; 2] = shuffle(base).convert(); add_by_64s(shuffled, to_add.convert()).convert() } #[cfg(all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "sse2", not(miri)))] #[inline(always)] pub(crate) fn add_by_64s(a: [u64; 2], b: [u64; 2]) -> [u64; 2] { unsafe { #[cfg(target_arch = "x86")] use core::arch::x86::*; #[cfg(target_arch = "x86_64")] use core::arch::x86_64::*; transmute!(_mm_add_epi64(transmute!(a), transmute!(b))) } } #[cfg(not(all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "sse2", not(miri))))] #[inline(always)] pub(crate) fn add_by_64s(a: [u64; 2], b: [u64; 2]) -> [u64; 2] { [a[0].wrapping_add(b[0]), a[1].wrapping_add(b[1])] } #[cfg(all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "aes", not(miri)))] #[allow(unused)] #[inline(always)] pub(crate) fn aesenc(value: u128, xor: u128) -> u128 { #[cfg(target_arch = "x86")] use core::arch::x86::*; #[cfg(target_arch = "x86_64")] use core::arch::x86_64::*; unsafe { let value = transmute!(value); transmute!(_mm_aesenc_si128(value, transmute!(xor))) } } #[cfg(any( all(feature = "nightly-arm-aes", target_arch = "aarch64", target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "arm", target_feature = "aes", not(miri)), ))] #[allow(unused)] #[inline(always)] pub(crate) fn aesenc(value: u128, xor: u128) -> u128 { #[cfg(target_arch = "aarch64")] use core::arch::aarch64::*; #[cfg(target_arch = "arm")] use core::arch::arm::*; let res = unsafe { vaesmcq_u8(vaeseq_u8(transmute!(value), transmute!(0u128))) }; let value: u128 = transmute!(res); xor ^ value } #[cfg(all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "aes", not(miri)))] #[allow(unused)] #[inline(always)] pub(crate) fn aesdec(value: u128, xor: u128) -> u128 { #[cfg(target_arch = "x86")] use core::arch::x86::*; #[cfg(target_arch = "x86_64")] use core::arch::x86_64::*; unsafe { let value = transmute!(value); transmute!(_mm_aesdec_si128(value, transmute!(xor))) } } #[cfg(any( all(feature = "nightly-arm-aes", target_arch = "aarch64", target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "arm", target_feature = "aes", not(miri)), ))] #[allow(unused)] #[inline(always)] pub(crate) fn aesdec(value: u128, xor: u128) -> u128 { #[cfg(target_arch = "aarch64")] use core::arch::aarch64::*; #[cfg(target_arch = "arm")] use core::arch::arm::*; let res = unsafe { vaesimcq_u8(vaesdq_u8(transmute!(value), transmute!(0u128))) }; let value: u128 = transmute!(res); xor ^ value } #[allow(unused)] #[inline(always)] pub(crate) fn add_in_length(enc: &mut u128, len: u64) { #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))] { #[cfg(target_arch = "x86_64")] use core::arch::x86_64::*; unsafe { let enc = enc as *mut u128; let len = _mm_cvtsi64_si128(len as i64); let data = _mm_loadu_si128(enc.cast()); let sum = _mm_add_epi64(data, len); _mm_storeu_si128(enc.cast(), sum); } } #[cfg(not(all(target_arch = "x86_64", target_feature = "sse2", not(miri))))] { let mut t: [u64; 2] = enc.convert(); t[0] = t[0].wrapping_add(len); *enc = t.convert(); } } #[cfg(test)] mod test { use super::*; // This is code to search for the shuffle constant // //thread_local! { static MASK: Cell = Cell::new(0); } // // fn shuffle(a: u128) -> u128 { // use std::intrinsics::transmute; // #[cfg(target_arch = "x86")] // use core::arch::x86::*; // #[cfg(target_arch = "x86_64")] // use core::arch::x86_64::*; // MASK.with(|mask| { // unsafe { transmute!(_mm_shuffle_epi8(transmute!(a), transmute!(mask.get()))) } // }) // } // // #[test] // fn find_shuffle() { // use rand::prelude::*; // use SliceRandom; // use std::panic; // use std::io::Write; // // let mut value: [u8; 16] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ,13, 14, 15]; // let mut rand = thread_rng(); // let mut successful_list = HashMap::new(); // for _attempt in 0..10000000 { // rand.shuffle(&mut value); // let test_val = value.convert(); // MASK.with(|mask| { // mask.set(test_val); // }); // if let Ok(successful) = panic::catch_unwind(|| { // test_shuffle_does_not_collide_with_aes(); // test_shuffle_moves_high_bits(); // test_shuffle_moves_every_value(); // //test_shuffle_does_not_loop(); // value // }) { // let successful: u128 = successful.convert(); // successful_list.insert(successful, iters_before_loop()); // } // } // let write_file = File::create("/tmp/output").unwrap(); // let mut writer = BufWriter::new(&write_file); // // for success in successful_list { // writeln!(writer, "Found successful: {:x?} - {:?}", success.0, success.1); // } // } // // fn iters_before_loop() -> u32 { // let numbered = 0x00112233_44556677_8899AABB_CCDDEEFF; // let mut shuffled = shuffle(numbered); // let mut count = 0; // loop { // // println!("{:>16x}", shuffled); // if numbered == shuffled { // break; // } // count += 1; // shuffled = shuffle(shuffled); // } // count // } #[cfg(all( any(target_arch = "x86", target_arch = "x86_64"), target_feature = "ssse3", target_feature = "aes", not(miri) ))] #[test] fn test_shuffle_does_not_collide_with_aes() { let mut value: [u8; 16] = [0; 16]; let zero_mask_enc = aesenc(0, 0); let zero_mask_dec = aesdec(0, 0); for index in 0..16 { value[index] = 1; let excluded_positions_enc: [u8; 16] = aesenc(value.convert(), zero_mask_enc).convert(); let excluded_positions_dec: [u8; 16] = aesdec(value.convert(), zero_mask_dec).convert(); let actual_location: [u8; 16] = shuffle(value.convert()).convert(); for pos in 0..16 { if actual_location[pos] != 0 { assert_eq!( 0, excluded_positions_enc[pos], "Forward Overlap between {:?} and {:?} at {}", excluded_positions_enc, actual_location, index ); assert_eq!( 0, excluded_positions_dec[pos], "Reverse Overlap between {:?} and {:?} at {}", excluded_positions_dec, actual_location, index ); } } value[index] = 0; } } #[test] fn test_shuffle_contains_each_value() { let value: [u8; 16] = 0x00010203_04050607_08090A0B_0C0D0E0F_u128.convert(); let shuffled: [u8; 16] = shuffle(value.convert()).convert(); for index in 0..16_u8 { assert!(shuffled.contains(&index), "Value is missing {}", index); } } #[test] fn test_shuffle_moves_every_value() { let mut value: [u8; 16] = [0; 16]; for index in 0..16 { value[index] = 1; let shuffled: [u8; 16] = shuffle(value.convert()).convert(); assert_eq!(0, shuffled[index], "Value is not moved {}", index); value[index] = 0; } } #[test] fn test_shuffle_moves_high_bits() { assert!( shuffle(1) > (1_u128 << 80), "Low bits must be moved to other half {:?} -> {:?}", 0, shuffle(1) ); assert!( shuffle(1_u128 << 58) >= (1_u128 << 64), "High bits must be moved to other half {:?} -> {:?}", 7, shuffle(1_u128 << 58) ); assert!( shuffle(1_u128 << 58) < (1_u128 << 112), "High bits must not remain high {:?} -> {:?}", 7, shuffle(1_u128 << 58) ); assert!( shuffle(1_u128 << 64) < (1_u128 << 64), "Low bits must be moved to other half {:?} -> {:?}", 8, shuffle(1_u128 << 64) ); assert!( shuffle(1_u128 << 64) >= (1_u128 << 16), "Low bits must not remain low {:?} -> {:?}", 8, shuffle(1_u128 << 64) ); assert!( shuffle(1_u128 << 120) < (1_u128 << 50), "High bits must be moved to low half {:?} -> {:?}", 15, shuffle(1_u128 << 120) ); } #[cfg(all( any(target_arch = "x86", target_arch = "x86_64"), target_feature = "ssse3", not(miri) ))] #[test] fn test_shuffle_does_not_loop() { let numbered = 0x00112233_44556677_8899AABB_CCDDEEFF; let mut shuffled = shuffle(numbered); for count in 0..100 { // println!("{:>16x}", shuffled); assert_ne!(numbered, shuffled, "Equal after {} vs {:x}", count, shuffled); shuffled = shuffle(shuffled); } } #[test] fn test_add_length() { let enc : [u64; 2] = [50, u64::MAX]; let mut enc : u128 = enc.convert(); add_in_length(&mut enc, u64::MAX); let enc : [u64; 2] = enc.convert(); assert_eq!(enc[1], u64::MAX); assert_eq!(enc[0], 49); } } aHash-0.8.11/src/random_state.rs000066400000000000000000000441461457113102300164500ustar00rootroot00000000000000use core::hash::Hash; cfg_if::cfg_if! { if #[cfg(any( all(any(target_arch = "x86", target_arch = "x86_64"), target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "aarch64", target_feature = "aes", not(miri)), all(feature = "nightly-arm-aes", target_arch = "arm", target_feature = "aes", not(miri)), ))] { use crate::aes_hash::*; } else { use crate::fallback_hash::*; } } cfg_if::cfg_if! { if #[cfg(feature = "specialize")]{ use crate::BuildHasherExt; } } cfg_if::cfg_if! { if #[cfg(feature = "std")] { extern crate std as alloc; } else { extern crate alloc; } } #[cfg(feature = "atomic-polyfill")] use atomic_polyfill as atomic; #[cfg(not(feature = "atomic-polyfill"))] use core::sync::atomic; use alloc::boxed::Box; use atomic::{AtomicUsize, Ordering}; use core::any::{Any, TypeId}; use core::fmt; use core::hash::BuildHasher; use core::hash::Hasher; pub(crate) const PI: [u64; 4] = [ 0x243f_6a88_85a3_08d3, 0x1319_8a2e_0370_7344, 0xa409_3822_299f_31d0, 0x082e_fa98_ec4e_6c89, ]; pub(crate) const PI2: [u64; 4] = [ 0x4528_21e6_38d0_1377, 0xbe54_66cf_34e9_0c6c, 0xc0ac_29b7_c97c_50dd, 0x3f84_d5b5_b547_0917, ]; cfg_if::cfg_if! { if #[cfg(all(feature = "compile-time-rng", any(test, fuzzing)))] { #[inline] fn get_fixed_seeds() -> &'static [[u64; 4]; 2] { use const_random::const_random; const RAND: [[u64; 4]; 2] = [ [ const_random!(u64), const_random!(u64), const_random!(u64), const_random!(u64), ], [ const_random!(u64), const_random!(u64), const_random!(u64), const_random!(u64), ] ]; &RAND } } else if #[cfg(all(feature = "runtime-rng", not(fuzzing)))] { #[inline] fn get_fixed_seeds() -> &'static [[u64; 4]; 2] { use crate::convert::Convert; static SEEDS: OnceBox<[[u64; 4]; 2]> = OnceBox::new(); SEEDS.get_or_init(|| { let mut result: [u8; 64] = [0; 64]; getrandom::getrandom(&mut result).expect("getrandom::getrandom() failed."); Box::new(result.convert()) }) } } else if #[cfg(feature = "compile-time-rng")] { #[inline] fn get_fixed_seeds() -> &'static [[u64; 4]; 2] { use const_random::const_random; const RAND: [[u64; 4]; 2] = [ [ const_random!(u64), const_random!(u64), const_random!(u64), const_random!(u64), ], [ const_random!(u64), const_random!(u64), const_random!(u64), const_random!(u64), ] ]; &RAND } } else { #[inline] fn get_fixed_seeds() -> &'static [[u64; 4]; 2] { &[PI, PI2] } } } cfg_if::cfg_if! { if #[cfg(not(all(target_arch = "arm", target_os = "none")))] { use once_cell::race::OnceBox; static RAND_SOURCE: OnceBox> = OnceBox::new(); } } /// A supplier of Randomness used for different hashers. /// See [set_random_source]. /// /// If [set_random_source] aHash will default to the best available source of randomness. /// In order this is: /// 1. OS provided random number generator (available if the `runtime-rng` flag is enabled which it is by default) - This should be very strong. /// 2. Strong compile time random numbers used to permute a static "counter". (available if `compile-time-rng` is enabled. /// __Enabling this is recommended if `runtime-rng` is not possible__) /// 3. A static counter that adds the memory address of each [RandomState] created permuted with fixed constants. /// (Similar to above but with fixed keys) - This is the weakest option. The strength of this heavily depends on whether or not ASLR is enabled. /// (Rust enables ASLR by default) pub trait RandomSource { fn gen_hasher_seed(&self) -> usize; } struct DefaultRandomSource { counter: AtomicUsize, } impl DefaultRandomSource { fn new() -> DefaultRandomSource { DefaultRandomSource { counter: AtomicUsize::new(&PI as *const _ as usize), } } #[cfg(all(target_arch = "arm", target_os = "none"))] const fn default() -> DefaultRandomSource { DefaultRandomSource { counter: AtomicUsize::new(PI[3] as usize), } } } impl RandomSource for DefaultRandomSource { cfg_if::cfg_if! { if #[cfg(all(target_arch = "arm", target_os = "none"))] { fn gen_hasher_seed(&self) -> usize { let stack = self as *const _ as usize; let previous = self.counter.load(Ordering::Relaxed); let new = previous.wrapping_add(stack); self.counter.store(new, Ordering::Relaxed); new } } else { fn gen_hasher_seed(&self) -> usize { let stack = self as *const _ as usize; self.counter.fetch_add(stack, Ordering::Relaxed) } } } } cfg_if::cfg_if! { if #[cfg(all(target_arch = "arm", target_os = "none"))] { #[inline] fn get_src() -> &'static dyn RandomSource { static RAND_SOURCE: DefaultRandomSource = DefaultRandomSource::default(); &RAND_SOURCE } } else { /// Provides an optional way to manually supply a source of randomness for Hasher keys. /// /// The provided [RandomSource] will be used to be used as a source of randomness by [RandomState] to generate new states. /// If this method is not invoked the standard source of randomness is used as described in the Readme. /// /// The source of randomness can only be set once, and must be set before the first RandomState is created. /// If the source has already been specified `Err` is returned with a `bool` indicating if the set failed because /// method was previously invoked (true) or if the default source is already being used (false). #[cfg(not(all(target_arch = "arm", target_os = "none")))] pub fn set_random_source(source: impl RandomSource + Send + Sync + 'static) -> Result<(), bool> { RAND_SOURCE.set(Box::new(Box::new(source))).map_err(|s| s.as_ref().type_id() != TypeId::of::<&DefaultRandomSource>()) } #[inline] fn get_src() -> &'static dyn RandomSource { RAND_SOURCE.get_or_init(|| Box::new(Box::new(DefaultRandomSource::new()))).as_ref() } } } /// Provides a [Hasher] factory. This is typically used (e.g. by [HashMap]) to create /// [AHasher]s in order to hash the keys of the map. See `build_hasher` below. /// /// [build_hasher]: ahash:: /// [Hasher]: std::hash::Hasher /// [BuildHasher]: std::hash::BuildHasher /// [HashMap]: std::collections::HashMap /// /// There are multiple constructors each is documented in more detail below: /// /// | Constructor | Dynamically random? | Seed | /// |---------------|---------------------|------| /// |`new` | Each instance unique|_[RandomSource]_| /// |`generate_with`| Each instance unique|`u64` x 4 + [RandomSource]| /// |`with_seed` | Fixed per process |`u64` + static random number| /// |`with_seeds` | Fixed |`u64` x 4| /// #[derive(Clone)] pub struct RandomState { pub(crate) k0: u64, pub(crate) k1: u64, pub(crate) k2: u64, pub(crate) k3: u64, } impl fmt::Debug for RandomState { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.pad("RandomState { .. }") } } impl RandomState { /// Create a new `RandomState` `BuildHasher` using random keys. /// /// Each instance will have a unique set of keys derived from [RandomSource]. /// #[inline] pub fn new() -> RandomState { let src = get_src(); let fixed = get_fixed_seeds(); Self::from_keys(&fixed[0], &fixed[1], src.gen_hasher_seed()) } /// Create a new `RandomState` `BuildHasher` based on the provided seeds, but in such a way /// that each time it is called the resulting state will be different and of high quality. /// This allows fixed constant or poor quality seeds to be provided without the problem of different /// `BuildHasher`s being identical or weak. /// /// This is done via permuting the provided values with the value of a static counter and memory address. /// (This makes this method somewhat more expensive than `with_seeds` below which does not do this). /// /// The provided values (k0-k3) do not need to be of high quality but they should not all be the same value. #[inline] pub fn generate_with(k0: u64, k1: u64, k2: u64, k3: u64) -> RandomState { let src = get_src(); let fixed = get_fixed_seeds(); RandomState::from_keys(&fixed[0], &[k0, k1, k2, k3], src.gen_hasher_seed()) } fn from_keys(a: &[u64; 4], b: &[u64; 4], c: usize) -> RandomState { let &[k0, k1, k2, k3] = a; let mut hasher = AHasher::from_random_state(&RandomState { k0, k1, k2, k3 }); hasher.write_usize(c); let mix = |l: u64, r: u64| { let mut h = hasher.clone(); h.write_u64(l); h.write_u64(r); h.finish() }; RandomState { k0: mix(b[0], b[2]), k1: mix(b[1], b[3]), k2: mix(b[2], b[1]), k3: mix(b[3], b[0]), } } /// Internal. Used by Default. #[inline] pub(crate) fn with_fixed_keys() -> RandomState { let [k0, k1, k2, k3] = get_fixed_seeds()[0]; RandomState { k0, k1, k2, k3 } } /// Build a `RandomState` from a single key. The provided key does not need to be of high quality, /// but all `RandomState`s created from the same key will produce identical hashers. /// (In contrast to `generate_with` above) /// /// This allows for explicitly setting the seed to be used. /// /// Note: This method does not require the provided seed to be strong. #[inline] pub fn with_seed(key: usize) -> RandomState { let fixed = get_fixed_seeds(); RandomState::from_keys(&fixed[0], &fixed[1], key) } /// Allows for explicitly setting the seeds to used. /// All `RandomState`s created with the same set of keys key will produce identical hashers. /// (In contrast to `generate_with` above) /// /// Note: If DOS resistance is desired one of these should be a decent quality random number. /// If 4 high quality random number are not cheaply available this method is robust against 0s being passed for /// one or more of the parameters or the same value being passed for more than one parameter. /// It is recommended to pass numbers in order from highest to lowest quality (if there is any difference). #[inline] pub const fn with_seeds(k0: u64, k1: u64, k2: u64, k3: u64) -> RandomState { RandomState { k0: k0 ^ PI2[0], k1: k1 ^ PI2[1], k2: k2 ^ PI2[2], k3: k3 ^ PI2[3], } } /// Calculates the hash of a single value. This provides a more convenient (and faster) way to obtain a hash: /// For example: #[cfg_attr( feature = "std", doc = r##" # Examples ``` use std::hash::BuildHasher; use ahash::RandomState; let hash_builder = RandomState::new(); let hash = hash_builder.hash_one("Some Data"); ``` "## )] /// This is similar to: #[cfg_attr( feature = "std", doc = r##" # Examples ``` use std::hash::{BuildHasher, Hash, Hasher}; use ahash::RandomState; let hash_builder = RandomState::new(); let mut hasher = hash_builder.build_hasher(); "Some Data".hash(&mut hasher); let hash = hasher.finish(); ``` "## )] /// (Note that these two ways to get a hash may not produce the same value for the same data) /// /// This is intended as a convenience for code which *consumes* hashes, such /// as the implementation of a hash table or in unit tests that check /// whether a custom [`Hash`] implementation behaves as expected. /// /// This must not be used in any code which *creates* hashes, such as in an /// implementation of [`Hash`]. The way to create a combined hash of /// multiple values is to call [`Hash::hash`] multiple times using the same /// [`Hasher`], not to call this method repeatedly and combine the results. #[inline] pub fn hash_one(&self, x: T) -> u64 where Self: Sized, { use crate::specialize::CallHasher; T::get_hash(&x, self) } } /// Creates an instance of RandomState using keys obtained from the random number generator. /// Each instance created in this way will have a unique set of keys. (But the resulting instance /// can be used to create many hashers each or which will have the same keys.) /// /// This is the same as [RandomState::new()] /// /// NOTE: For safety this trait impl is only available available if either of the flags `runtime-rng` (on by default) or /// `compile-time-rng` are enabled. This is to prevent weakly keyed maps from being accidentally created. Instead one of /// constructors for [RandomState] must be used. #[cfg(any(feature = "compile-time-rng", feature = "runtime-rng", feature = "no-rng"))] impl Default for RandomState { #[inline] fn default() -> Self { Self::new() } } impl BuildHasher for RandomState { type Hasher = AHasher; /// Constructs a new [AHasher] with keys based on this [RandomState] object. /// This means that two different [RandomState]s will will generate /// [AHasher]s that will return different hashcodes, but [Hasher]s created from the same [BuildHasher] /// will generate the same hashes for the same input data. /// #[cfg_attr( feature = "std", doc = r##" # Examples ``` use ahash::{AHasher, RandomState}; use std::hash::{Hasher, BuildHasher}; let build_hasher = RandomState::new(); let mut hasher_1 = build_hasher.build_hasher(); let mut hasher_2 = build_hasher.build_hasher(); hasher_1.write_u32(1234); hasher_2.write_u32(1234); assert_eq!(hasher_1.finish(), hasher_2.finish()); let other_build_hasher = RandomState::new(); let mut different_hasher = other_build_hasher.build_hasher(); different_hasher.write_u32(1234); assert_ne!(different_hasher.finish(), hasher_1.finish()); ``` "## )] /// [Hasher]: std::hash::Hasher /// [BuildHasher]: std::hash::BuildHasher /// [HashMap]: std::collections::HashMap #[inline] fn build_hasher(&self) -> AHasher { AHasher::from_random_state(self) } /// Calculates the hash of a single value. This provides a more convenient (and faster) way to obtain a hash: /// For example: #[cfg_attr( feature = "std", doc = r##" # Examples ``` use std::hash::BuildHasher; use ahash::RandomState; let hash_builder = RandomState::new(); let hash = hash_builder.hash_one("Some Data"); ``` "## )] /// This is similar to: #[cfg_attr( feature = "std", doc = r##" # Examples ``` use std::hash::{BuildHasher, Hash, Hasher}; use ahash::RandomState; let hash_builder = RandomState::new(); let mut hasher = hash_builder.build_hasher(); "Some Data".hash(&mut hasher); let hash = hasher.finish(); ``` "## )] /// (Note that these two ways to get a hash may not produce the same value for the same data) /// /// This is intended as a convenience for code which *consumes* hashes, such /// as the implementation of a hash table or in unit tests that check /// whether a custom [`Hash`] implementation behaves as expected. /// /// This must not be used in any code which *creates* hashes, such as in an /// implementation of [`Hash`]. The way to create a combined hash of /// multiple values is to call [`Hash::hash`] multiple times using the same /// [`Hasher`], not to call this method repeatedly and combine the results. #[cfg(feature = "specialize")] #[inline] fn hash_one(&self, x: T) -> u64 { RandomState::hash_one(self, x) } } #[cfg(feature = "specialize")] impl BuildHasherExt for RandomState { #[inline] fn hash_as_u64(&self, value: &T) -> u64 { let mut hasher = AHasherU64 { buffer: self.k1, pad: self.k0, }; value.hash(&mut hasher); hasher.finish() } #[inline] fn hash_as_fixed_length(&self, value: &T) -> u64 { let mut hasher = AHasherFixed(self.build_hasher()); value.hash(&mut hasher); hasher.finish() } #[inline] fn hash_as_str(&self, value: &T) -> u64 { let mut hasher = AHasherStr(self.build_hasher()); value.hash(&mut hasher); hasher.finish() } } #[cfg(test)] mod test { use super::*; #[test] fn test_unique() { let a = RandomState::generate_with(1, 2, 3, 4); let b = RandomState::generate_with(1, 2, 3, 4); assert_ne!(a.build_hasher().finish(), b.build_hasher().finish()); } #[cfg(all(feature = "runtime-rng", not(all(feature = "compile-time-rng", test))))] #[test] fn test_not_pi() { assert_ne!(PI, get_fixed_seeds()[0]); } #[cfg(all(feature = "compile-time-rng", any(not(feature = "runtime-rng"), test)))] #[test] fn test_not_pi_const() { assert_ne!(PI, get_fixed_seeds()[0]); } #[cfg(all(not(feature = "runtime-rng"), not(feature = "compile-time-rng")))] #[test] fn test_pi() { assert_eq!(PI, get_fixed_seeds()[0]); } #[test] fn test_with_seeds_const() { const _CONST_RANDOM_STATE: RandomState = RandomState::with_seeds(17, 19, 21, 23); } } aHash-0.8.11/src/specialize.rs000066400000000000000000000160511457113102300161120ustar00rootroot00000000000000use core::hash::BuildHasher; use core::hash::Hash; use core::hash::Hasher; #[cfg(not(feature = "std"))] extern crate alloc; #[cfg(feature = "std")] extern crate std as alloc; #[cfg(feature = "specialize")] use crate::BuildHasherExt; #[cfg(feature = "specialize")] use alloc::string::String; #[cfg(feature = "specialize")] use alloc::vec::Vec; /// Provides a way to get an optimized hasher for a given data type. /// Rather than using a Hasher generically which can hash any value, this provides a way to get a specialized hash /// for a specific type. So this may be faster for primitive types. pub(crate) trait CallHasher { fn get_hash(value: &H, build_hasher: &B) -> u64; } #[cfg(not(feature = "specialize"))] impl CallHasher for T where T: Hash + ?Sized, { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { let mut hasher = build_hasher.build_hasher(); value.hash(&mut hasher); hasher.finish() } } #[cfg(feature = "specialize")] impl CallHasher for T where T: Hash + ?Sized, { #[inline] default fn get_hash(value: &H, build_hasher: &B) -> u64 { let mut hasher = build_hasher.build_hasher(); value.hash(&mut hasher); hasher.finish() } } macro_rules! call_hasher_impl_u64 { ($typ:ty) => { #[cfg(feature = "specialize")] impl CallHasher for $typ { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { build_hasher.hash_as_u64(value) } } }; } call_hasher_impl_u64!(u8); call_hasher_impl_u64!(u16); call_hasher_impl_u64!(u32); call_hasher_impl_u64!(u64); call_hasher_impl_u64!(i8); call_hasher_impl_u64!(i16); call_hasher_impl_u64!(i32); call_hasher_impl_u64!(i64); call_hasher_impl_u64!(&u8); call_hasher_impl_u64!(&u16); call_hasher_impl_u64!(&u32); call_hasher_impl_u64!(&u64); call_hasher_impl_u64!(&i8); call_hasher_impl_u64!(&i16); call_hasher_impl_u64!(&i32); call_hasher_impl_u64!(&i64); macro_rules! call_hasher_impl_fixed_length{ ($typ:ty) => { #[cfg(feature = "specialize")] impl CallHasher for $typ { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { build_hasher.hash_as_fixed_length(value) } } }; } call_hasher_impl_fixed_length!(u128); call_hasher_impl_fixed_length!(i128); call_hasher_impl_fixed_length!(usize); call_hasher_impl_fixed_length!(isize); call_hasher_impl_fixed_length!(&u128); call_hasher_impl_fixed_length!(&i128); call_hasher_impl_fixed_length!(&usize); call_hasher_impl_fixed_length!(&isize); #[cfg(feature = "specialize")] impl CallHasher for [u8] { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { build_hasher.hash_as_str(value) } } #[cfg(feature = "specialize")] impl CallHasher for Vec { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { build_hasher.hash_as_str(value) } } #[cfg(feature = "specialize")] impl CallHasher for str { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { build_hasher.hash_as_str(value) } } #[cfg(all(feature = "specialize"))] impl CallHasher for String { #[inline] fn get_hash(value: &H, build_hasher: &B) -> u64 { build_hasher.hash_as_str(value) } } #[cfg(test)] mod test { use super::*; use crate::*; #[test] #[cfg(feature = "specialize")] pub fn test_specialized_invoked() { let build_hasher = RandomState::with_seeds(1, 2, 3, 4); let shortened = u64::get_hash(&0, &build_hasher); let mut hasher = AHasher::new_with_keys(1, 2); 0_u64.hash(&mut hasher); assert_ne!(hasher.finish(), shortened); } /// Tests that some non-trivial transformation takes place. #[test] pub fn test_input_processed() { let build_hasher = RandomState::with_seeds(2, 2, 2, 2); assert_ne!(0, u64::get_hash(&0, &build_hasher)); assert_ne!(1, u64::get_hash(&0, &build_hasher)); assert_ne!(2, u64::get_hash(&0, &build_hasher)); assert_ne!(3, u64::get_hash(&0, &build_hasher)); assert_ne!(4, u64::get_hash(&0, &build_hasher)); assert_ne!(5, u64::get_hash(&0, &build_hasher)); assert_ne!(0, u64::get_hash(&1, &build_hasher)); assert_ne!(1, u64::get_hash(&1, &build_hasher)); assert_ne!(2, u64::get_hash(&1, &build_hasher)); assert_ne!(3, u64::get_hash(&1, &build_hasher)); assert_ne!(4, u64::get_hash(&1, &build_hasher)); assert_ne!(5, u64::get_hash(&1, &build_hasher)); let xored = u64::get_hash(&0, &build_hasher) ^ u64::get_hash(&1, &build_hasher); assert_ne!(0, xored); assert_ne!(1, xored); assert_ne!(2, xored); assert_ne!(3, xored); assert_ne!(4, xored); assert_ne!(5, xored); } #[test] pub fn test_ref_independent() { let build_hasher = RandomState::with_seeds(1, 2, 3, 4); assert_eq!(u8::get_hash(&&1, &build_hasher), u8::get_hash(&1, &build_hasher)); assert_eq!(u16::get_hash(&&2, &build_hasher), u16::get_hash(&2, &build_hasher)); assert_eq!(u32::get_hash(&&3, &build_hasher), u32::get_hash(&3, &build_hasher)); assert_eq!(u64::get_hash(&&4, &build_hasher), u64::get_hash(&4, &build_hasher)); assert_eq!(u128::get_hash(&&5, &build_hasher), u128::get_hash(&5, &build_hasher)); assert_eq!( str::get_hash(&"test", &build_hasher), str::get_hash("test", &build_hasher) ); assert_eq!( str::get_hash(&"test", &build_hasher), String::get_hash(&"test".to_string(), &build_hasher) ); #[cfg(feature = "specialize")] assert_eq!( str::get_hash(&"test", &build_hasher), <[u8]>::get_hash("test".as_bytes(), &build_hasher) ); let build_hasher = RandomState::with_seeds(10, 20, 30, 40); assert_eq!(u8::get_hash(&&&1, &build_hasher), u8::get_hash(&1, &build_hasher)); assert_eq!(u16::get_hash(&&&2, &build_hasher), u16::get_hash(&2, &build_hasher)); assert_eq!(u32::get_hash(&&&3, &build_hasher), u32::get_hash(&3, &build_hasher)); assert_eq!(u64::get_hash(&&&4, &build_hasher), u64::get_hash(&4, &build_hasher)); assert_eq!(u128::get_hash(&&&5, &build_hasher), u128::get_hash(&5, &build_hasher)); assert_eq!( str::get_hash(&&"test", &build_hasher), str::get_hash("test", &build_hasher) ); assert_eq!( str::get_hash(&&"test", &build_hasher), String::get_hash(&"test".to_string(), &build_hasher) ); #[cfg(feature = "specialize")] assert_eq!( str::get_hash(&&"test", &build_hasher), <[u8]>::get_hash(&"test".to_string().into_bytes(), &build_hasher) ); } } aHash-0.8.11/tests/000077500000000000000000000000001457113102300137645ustar00rootroot00000000000000aHash-0.8.11/tests/bench.rs000066400000000000000000000135741457113102300154230ustar00rootroot00000000000000#![cfg_attr(feature = "specialize", feature(build_hasher_simple_hash_one))] use ahash::{AHasher, RandomState}; use criterion::*; use fxhash::FxHasher; use rand::Rng; use std::collections::hash_map::DefaultHasher; use std::hash::{BuildHasherDefault, Hash, Hasher}; // Needs to be in sync with `src/lib.rs` const AHASH_IMPL: &str = if cfg!(any( all( any(target_arch = "x86", target_arch = "x86_64"), target_feature = "aes", not(miri), ), all(feature = "nightly-arm-aes", target_arch = "aarch64", target_feature = "aes", not(miri)), all( feature = "nightly-arm-aes", target_arch = "arm", target_feature = "aes", not(miri) ), )) { "aeshash" } else { "fallbackhash" }; fn ahash(b: &H) -> u64 { let build_hasher = RandomState::with_seeds(1, 2, 3, 4); build_hasher.hash_one(b) } fn fnvhash(b: &H) -> u64 { let mut hasher = fnv::FnvHasher::default(); b.hash(&mut hasher); hasher.finish() } fn siphash(b: &H) -> u64 { let mut hasher = DefaultHasher::default(); b.hash(&mut hasher); hasher.finish() } fn fxhash(b: &H) -> u64 { let mut hasher = FxHasher::default(); b.hash(&mut hasher); hasher.finish() } fn seahash(b: &H) -> u64 { let mut hasher = seahash::SeaHasher::default(); b.hash(&mut hasher); hasher.finish() } const STRING_LENGTHS: [u32; 12] = [1, 3, 4, 7, 8, 15, 16, 24, 33, 68, 132, 1024]; fn gen_strings() -> Vec { STRING_LENGTHS .iter() .map(|len| { let mut string = String::default(); for pos in 1..=*len { let c = (48 + (pos % 10) as u8) as char; string.push(c); } string }) .collect() } macro_rules! bench_inputs { ($group:ident, $hash:ident) => { // Number of iterations per batch should be high enough to hide timing overhead. let size = BatchSize::NumIterations(50_000); let mut rng = rand::thread_rng(); $group.bench_function("u8", |b| b.iter_batched(|| rng.gen::(), |v| $hash(&v), size)); $group.bench_function("u16", |b| b.iter_batched(|| rng.gen::(), |v| $hash(&v), size)); $group.bench_function("u32", |b| b.iter_batched(|| rng.gen::(), |v| $hash(&v), size)); $group.bench_function("u64", |b| b.iter_batched(|| rng.gen::(), |v| $hash(&v), size)); $group.bench_function("u128", |b| b.iter_batched(|| rng.gen::(), |v| $hash(&v), size)); $group.bench_with_input("strings", &gen_strings(), |b, s| b.iter(|| $hash(black_box(s)))); }; } fn bench_ahash(c: &mut Criterion) { let mut group = c.benchmark_group(AHASH_IMPL); bench_inputs!(group, ahash); } fn bench_fx(c: &mut Criterion) { let mut group = c.benchmark_group("fx"); bench_inputs!(group, fxhash); } fn bench_fnv(c: &mut Criterion) { let mut group = c.benchmark_group("fnv"); bench_inputs!(group, fnvhash); } fn bench_sea(c: &mut Criterion) { let mut group = c.benchmark_group("sea"); bench_inputs!(group, seahash); } fn bench_sip(c: &mut Criterion) { let mut group = c.benchmark_group("sip"); bench_inputs!(group, siphash); } fn bench_map(c: &mut Criterion) { #[cfg(feature = "std")] { let mut group = c.benchmark_group("map"); group.bench_function("aHash-alias", |b| { b.iter(|| { let hm: ahash::HashMap = (0..1_000_000).map(|i| (i, i)).collect(); let mut sum = 0; for i in 0..1_000_000 { if let Some(x) = hm.get(&i) { sum += x; } } }) }); group.bench_function("aHash-hashBrown", |b| { b.iter(|| { let hm: hashbrown::HashMap = (0..1_000_000).map(|i| (i, i)).collect(); let mut sum = 0; for i in 0..1_000_000 { if let Some(x) = hm.get(&i) { sum += x; } } }) }); group.bench_function("aHash-hashBrown-explicit", |b| { b.iter(|| { let hm: hashbrown::HashMap = (0..1_000_000).map(|i| (i, i)).collect(); let mut sum = 0; for i in 0..1_000_000 { if let Some(x) = hm.get(&i) { sum += x; } } }) }); group.bench_function("aHash-wrapper", |b| { b.iter(|| { let hm: ahash::AHashMap = (0..1_000_000).map(|i| (i, i)).collect(); let mut sum = 0; for i in 0..1_000_000 { if let Some(x) = hm.get(&i) { sum += x; } } }) }); group.bench_function("aHash-rand", |b| { b.iter(|| { let hm: std::collections::HashMap = (0..1_000_000).map(|i| (i, i)).collect(); let mut sum = 0; for i in 0..1_000_000 { if let Some(x) = hm.get(&i) { sum += x; } } }) }); group.bench_function("aHash-default", |b| { b.iter(|| { let hm: std::collections::HashMap> = (0..1_000_000).map(|i| (i, i)).collect(); let mut sum = 0; for i in 0..1_000_000 { if let Some(x) = hm.get(&i) { sum += x; } } }) }); } } criterion_main!(benches); criterion_group!( benches, bench_ahash, bench_fx, bench_fnv, bench_sea, bench_sip, bench_map ); aHash-0.8.11/tests/map_tests.rs000066400000000000000000000330661457113102300163410ustar00rootroot00000000000000#![cfg_attr(feature = "specialize", feature(build_hasher_simple_hash_one))] use std::hash::{BuildHasher, Hash, Hasher}; use ahash::RandomState; use criterion::*; use fxhash::FxHasher; fn gen_word_pairs() -> Vec { let words: Vec<_> = r#" a, ability, able, about, above, accept, according, account, across, act, action, activity, actually, add, address, administration, admit, adult, affect, after, again, against, age, agency, agent, ago, agree, agreement, ahead, air, all, allow, almost, alone, along, already, also, although, always, American, among, amount, analysis, and, animal, another, answer, any, anyone, anything, appear, apply, approach, area, argue, arm, around, arrive, art, article, artist, as, ask, assume, at, attack, attention, attorney, audience, author, authority, available, avoid, away, baby, back, bad, bag, ball, bank, bar, base, be, beat, beautiful, because, become, bed, before, begin, behavior, behind, believe, benefit, best, better, between, beyond, big, bill, billion, bit, black, blood, blue, board, body, book, born, both, box, boy, break, bring, brother, budget, build, building, business, but, buy, by, call, camera, campaign, can, cancer, candidate, capital, car, card, care, career, carry, case, catch, cause, cell, center, central, century, certain, certainly, chair, challenge, chance, change, character, charge, check, child, choice, choose, church, citizen, city, civil, claim, class, clear, clearly, close, coach, cold, collection, college, color, come, commercial, common, community, company, compare, computer, concern, condition, conference, Congress, consider, consumer, contain, continue, control, cost, could, country, couple, course, court, cover, create, crime, cultural, culture, cup, current, customer, cut, dark, data, daughter, day, dead, deal, death, debate, decade, decide, decision, deep, defense, degree, Democrat, democratic, describe, design, despite, detail, determine, develop, development, die, difference, different, difficult, dinner, direction, director, discover, discuss, discussion, disease, do, doctor, dog, door, down, draw, dream, drive, drop, drug, during, each, early, east, easy, eat, economic, economy, edge, education, effect, effort, eight, either, election, else, employee, end, energy, enjoy, enough, enter, entire, environment, environmental, especially, establish, even, evening, event, ever, every, everybody, everyone, everything, evidence, exactly, example, executive, exist, expect, experience, expert, explain, eye, face, fact, factor, fail, fall, family, far, fast, father, fear, federal, feel, feeling, few, field, fight, figure, fill, film, final, finally, financial, find, fine, finger, finish, fire, firm, first, fish, five, floor, fly, focus, follow, food, foot, for, force, foreign, forget, form, former, forward, four, free, friend, from, front, full, fund, future, game, garden, gas, general, generation, get, girl, give, glass, go, goal, good, government, great, green, ground, group, grow, growth, guess, gun, guy, hair, half, hand, hang, happen, happy, hard, have, he, head, health, hear, heart, heat, heavy, help, her, here, herself, high, him, himself, his, history, hit, hold, home, hope, hospital, hot, hotel, hour, house, how, however, huge, human, hundred, husband, I, idea, identify, if, image, imagine, impact, important, improve, in, include, including, increase, indeed, indicate, individual, industry, information, inside, instead, institution, interest, interesting, international, interview, into, investment, involve, issue, it, item, its, itself, job, join, just, keep, key, kid, kill, kind, kitchen, know, knowledge, land, language, large, last, late, later, laugh, law, lawyer, lay, lead, leader, learn, least, leave, left, leg, legal, less, let, letter, level, lie, life, light, like, likely, line, list, listen, little, live, local, long, look, lose, loss, lot, love, low, machine, magazine, main, maintain, major, majority, make, man, manage, management, manager, many, market, marriage, material, matter, may, maybe, me, mean, measure, media, medical, meet, meeting, member, memory, mention, message, method, middle, might, military, million, mind, minute, miss, mission, model, modern, moment, money, month, more, morning, most, mother, mouth, move, movement, movie, Mr, Mrs, much, music, must, my, myself, name, nation, national, natural, nature, near, nearly, necessary, need, network, never, new, news, newspaper, next, nice, night, no, none, nor, north, not, note, nothing, notice, now, n't, number, occur, of, off, offer, office, officer, official, often, oh, oil, ok, old, on, once, one, only, onto, open, operation, opportunity, option, or, order, organization, other, others, our, out, outside, over, own, owner, page, pain, painting, paper, parent, part, participant, particular, particularly, partner, party, pass, past, patient, pattern, pay, peace, people, per, perform, performance, perhaps, period, person, personal, phone, physical, pick, picture, piece, place, plan, plant, play, player, PM, point, police, policy, political, politics, poor, popular, population, position, positive, possible, power, practice, prepare, present, president, pressure, pretty, prevent, price, private, probably, problem, process, produce, product, production, professional, professor, program, project, property, protect, prove, provide, public, pull, purpose, push, put, quality, question, quickly, quite, race, radio, raise, range, rate, rather, reach, read, ready, real, reality, realize, really, reason, receive, recent, recently, recognize, record, red, reduce, reflect, region, relate, relationship, religious, remain, remember, remove, report, represent, Republican, require, research, resource, respond, response, responsibility, rest, result, return, reveal, rich, right, rise, risk, road, rock, role, room, rule, run, safe, same, save, say, scene, school, science, scientist, score, sea, season, seat, second, section, security, see, seek, seem, sell, send, senior, sense, series, serious, serve, service, set, seven, several, sex, sexual, shake, share, she, shoot, short, shot, should, shoulder, show, side, sign, significant, similar, simple, simply, since, sing, single, sister, sit, site, situation, six, size, skill, skin, small, smile, so, social, society, soldier, some, somebody, someone, something, sometimes, son, song, soon, sort, sound, source, south, southern, space, speak, special, specific, speech, spend, sport, spring, staff, stage, stand, standard, star, start, state, statement, station, stay, step, still, stock, stop, store, story, strategy, street, strong, structure, student, study, stuff, style, subject, success, successful, such, suddenly, suffer, suggest, summer, support, sure, surface, system, table, take, talk, task, tax, teach, teacher, team, technology, television, tell, ten, tend, term, test, than, thank, that, the, their, them, themselves, then, theory, there, these, they, thing, think, third, this, those, though, thought, thousand, threat, three, through, throughout, throw, thus, time, to, today, together, tonight, too, top, total, tough, toward, town, trade, traditional, training, travel, treat, treatment, tree, trial, trip, trouble, true, truth, try, turn, TV, two, type, under, understand, unit, until, up, upon, us, use, usually, value, various, very, victim, view, violence, visit, voice, vote, wait, walk, wall, want, war, watch, water, way, we, weapon, wear, week, weight, well, west, western, what, whatever, when, where, whether, which, while, white, who, whole, whom, whose, why, wide, wife, will, win, wind, window, wish, with, within, without, woman, wonder, word, work, worker, world, worry, would, write, writer, wrong, yard, yeah, year, yes, yet, you, young, your, yourself"# .split(',') .map(|word| word.trim()) .collect(); let mut word_pairs: Vec<_> = Vec::new(); for word in &words { for other_word in &words { word_pairs.push(word.to_string() + " " + other_word); } } assert_eq!(1_000_000, word_pairs.len()); word_pairs } #[allow(unused)] // False positive fn test_hash_common_words(build_hasher: &B) { let word_pairs: Vec<_> = gen_word_pairs(); check_for_collisions(build_hasher, &word_pairs, 32); } #[allow(unused)] // False positive fn check_for_collisions(build_hasher: &B, items: &[H], bucket_count: usize) { let mut buckets = vec![0; bucket_count]; for item in items { let value = hash(item, build_hasher) as usize; buckets[value % bucket_count] += 1; } let mean = items.len() / bucket_count; let max = *buckets.iter().max().unwrap(); let min = *buckets.iter().min().unwrap(); assert!( (min as f64) > (mean as f64) * 0.95, "min: {}, max:{}, {:?}", min, max, buckets ); assert!( (max as f64) < (mean as f64) * 1.05, "min: {}, max:{}, {:?}", min, max, buckets ); } #[cfg(feature = "specialize")] #[allow(unused)] // False positive fn hash(b: &H, build_hasher: &B) -> u64 { build_hasher.hash_one(b) } #[cfg(not(feature = "specialize"))] #[allow(unused)] // False positive fn hash(b: &H, build_hasher: &B) -> u64 { let mut hasher = build_hasher.build_hasher(); b.hash(&mut hasher); hasher.finish() } #[test] fn test_bucket_distribution() { let build_hasher = RandomState::with_seeds(1, 2, 3, 4); test_hash_common_words(&build_hasher); let sequence: Vec<_> = (0..320000).collect(); check_for_collisions(&build_hasher, &sequence, 32); let sequence: Vec<_> = (0..2560000).collect(); check_for_collisions(&build_hasher, &sequence, 256); let sequence: Vec<_> = (0..320000).map(|i| i * 1024).collect(); check_for_collisions(&build_hasher, &sequence, 32); let sequence: Vec<_> = (0..2560000_u64).map(|i| i * 1024).collect(); check_for_collisions(&build_hasher, &sequence, 256); } #[cfg(feature = "std")] #[test] fn test_ahash_alias_map_construction() { let mut map = ahash::HashMap::default(); map.insert(1, "test"); use ahash::HashMapExt; let mut map = ahash::HashMap::with_capacity(1234); map.insert(1, "test"); } #[cfg(feature = "std")] #[test] fn test_ahash_alias_set_construction() { let mut set = ahash::HashSet::default(); set.insert(1); use ahash::HashSetExt; let mut set = ahash::HashSet::with_capacity(1235); set.insert(1); } #[cfg(feature = "std")] #[test] fn test_key_ref() { let mut map = ahash::HashMap::default(); map.insert(1, "test"); assert_eq!(Some((1, "test")), map.remove_entry(&1)); let mut map = ahash::HashMap::default(); map.insert(&1, "test"); assert_eq!(Some((&1, "test")), map.remove_entry(&&1)); let mut m = ahash::HashSet::>::default(); m.insert(Box::from("hello".to_string())); assert!(m.contains(&"hello".to_string())); let mut m = ahash::HashSet::::default(); m.insert("hello".to_string()); assert!(m.contains("hello")); let mut m = ahash::HashSet::>::default(); m.insert(Box::from(&b"hello"[..])); assert!(m.contains(&b"hello"[..])); } #[cfg(feature = "std")] #[test] fn test_byte_dist() { use rand::{SeedableRng, Rng, RngCore}; use pcg_mwc::Mwc256XXA64; let mut r = Mwc256XXA64::seed_from_u64(0xe786_c22b_119c_1479); let mut lowest = 2.541; let mut highest = 2.541; for _round in 0..100 { let mut table: [bool; 256 * 8] = [false; 256 * 8]; let hasher = RandomState::with_seeds(r.gen(), r.gen(), r.gen(), r.gen()); for i in 0..128 { let mut keys: [u8; 8] = hasher.hash_one((i as u64) << 30).to_ne_bytes(); //let mut keys = r.next_u64().to_ne_bytes(); //This is a control to test assert sensitivity. for idx in 0..8 { while table[idx * 256 + keys[idx] as usize] { keys[idx] = keys[idx].wrapping_add(1); } table[idx * 256 + keys[idx] as usize] = true; } } for idx in 0..8 { let mut len = 0; let mut total_len = 0; let mut num_seq = 0; for i in 0..256 { if table[idx * 256 + i] { len += 1; } else if len != 0 { num_seq += 1; total_len += len; len = 0; } } let mean = total_len as f32 / num_seq as f32; println!("Mean sequence length = {}", mean); if mean > highest { highest = mean; } if mean < lowest { lowest = mean; } } } assert!(lowest > 1.9, "Lowest = {}", lowest); assert!(highest < 3.9, "Highest = {}", highest); } fn ahash_vec(b: &Vec) -> u64 { let mut total: u64 = 0; for item in b { let mut hasher = RandomState::with_seeds(12, 34, 56, 78).build_hasher(); item.hash(&mut hasher); total = total.wrapping_add(hasher.finish()); } total } fn fxhash_vec(b: &Vec) -> u64 { let mut total: u64 = 0; for item in b { let mut hasher = FxHasher::default(); item.hash(&mut hasher); total = total.wrapping_add(hasher.finish()); } total } fn bench_ahash_words(c: &mut Criterion) { let words = gen_word_pairs(); c.bench_function("aes_words", |b| b.iter(|| black_box(ahash_vec(&words)))); } fn bench_fx_words(c: &mut Criterion) { let words = gen_word_pairs(); c.bench_function("fx_words", |b| b.iter(|| black_box(fxhash_vec(&words)))); } criterion_main!(benches); criterion_group!(benches, bench_ahash_words, bench_fx_words,); aHash-0.8.11/tests/nopanic.rs000066400000000000000000000040731457113102300157650ustar00rootroot00000000000000use ahash::{AHasher, RandomState}; use std::hash::{BuildHasher, Hash, Hasher}; #[macro_use] extern crate no_panic; #[inline(never)] #[no_panic] fn hash_test_final(num: i32, string: &str) -> (u64, u64) { use core::hash::Hasher; let mut hasher1 = RandomState::with_seeds(1, 2, 3, 4).build_hasher(); let mut hasher2 = RandomState::with_seeds(3, 4, 5, 6).build_hasher(); hasher1.write_i32(num); hasher2.write(string.as_bytes()); (hasher1.finish(), hasher2.finish()) } #[inline(never)] fn hash_test_final_wrapper(num: i32, string: &str) { hash_test_final(num, string); } struct SimpleBuildHasher { hasher: AHasher, } impl SimpleBuildHasher { fn hash_one(&self, x: T) -> u64 where Self: Sized, { let mut hasher = self.build_hasher(); x.hash(&mut hasher); hasher.finish() } } impl BuildHasher for SimpleBuildHasher { type Hasher = AHasher; fn build_hasher(&self) -> Self::Hasher { self.hasher.clone() } } #[inline(never)] #[no_panic] fn hash_test_specialize(num: i32, string: &str) -> (u64, u64) { let hasher1 = RandomState::with_seeds(1, 2, 3, 4).build_hasher(); let hasher2 = RandomState::with_seeds(1, 2, 3, 4).build_hasher(); ( SimpleBuildHasher { hasher: hasher1 }.hash_one(num), SimpleBuildHasher { hasher: hasher2 }.hash_one(string.as_bytes()), ) } #[inline(never)] fn hash_test_random_wrapper(num: i32, string: &str) { hash_test_specialize(num, string); } #[inline(never)] #[no_panic] fn hash_test_random(num: i32, string: &str) -> (u64, u64) { let build_hasher1 = RandomState::with_seeds(1, 2, 3, 4); let build_hasher2 = RandomState::with_seeds(1, 2, 3, 4); (build_hasher1.hash_one(&num), build_hasher2.hash_one(string.as_bytes())) } #[inline(never)] fn hash_test_specialize_wrapper(num: i32, string: &str) { hash_test_specialize(num, string); } #[test] fn test_no_panic() { hash_test_final_wrapper(2, "Foo"); hash_test_specialize_wrapper(2, "Bar"); hash_test_random(2, "Baz"); hash_test_random_wrapper(2, "Bat"); }