From 7db0aaa991d8f79e8e4cd60f9f3d00507f82b78c Mon Sep 17 00:00:00 2001 From: Carl Fredrik Samson Date: Sat, 18 Apr 2020 02:31:57 +0200 Subject: [PATCH] cleaned up and removed book directory for cleaner diffs --- book/.nojekyll | 1 - book/0_background_information.html | 762 ---- book/1_futures_in_rust.html | 426 --- book/2_waker_context.html | 403 -- book/3_generators_async_await.html | 831 ---- book/4_pin.html | 921 ----- book/6_future_example.html | 1004 ----- book/8_finished_example.html | 459 --- book/FontAwesome/css/font-awesome.css | 4 - book/FontAwesome/fonts/FontAwesome.ttf | Bin 165548 -> 0 bytes .../FontAwesome/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../FontAwesome/fonts/fontawesome-webfont.svg | 2671 ------------- .../FontAwesome/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes book/ace.js | 43 - book/assets/reactorexecutor.png | Bin 59416 -> 0 bytes book/assets/swap_problem.jpg | Bin 169102 -> 0 bytes book/ayu-highlight.css | 79 - book/book.js | 620 --- book/clipboard.min.js | 7 - book/conclusion.html | 282 -- book/css/chrome.css | 451 --- book/css/general.css | 143 - book/css/print.css | 54 - book/css/variables.css | 210 - book/editor.js | 27 - book/elasticlunr.min.js | 10 - book/favicon.png | Bin 5679 -> 0 bytes book/highlight.css | 82 - book/highlight.js | 2 - book/index.html | 288 -- book/introduction.html | 296 -- book/mark.min.js | 7 - book/mode-rust.js | 7 - book/print.html | 3394 ----------------- book/searcher.js | 477 --- book/searchindex.js | 1 - book/searchindex.json | 1 - book/theme-dawn.js | 7 - book/theme-tomorrow_night.js | 7 - book/tomorrow-night.css | 104 - examples/bonus_example/cargo.toml | 6 - examples/bonus_example/src/main.rs | 0 44 files changed, 14087 deletions(-) delete mode 100644 book/.nojekyll delete mode 100644 book/0_background_information.html delete mode 100644 book/1_futures_in_rust.html delete mode 100644 book/2_waker_context.html delete mode 100644 book/3_generators_async_await.html delete mode 100644 book/4_pin.html delete mode 100644 book/6_future_example.html delete mode 100644 book/8_finished_example.html delete mode 100644 book/FontAwesome/css/font-awesome.css delete mode 100644 book/FontAwesome/fonts/FontAwesome.ttf delete mode 100644 book/FontAwesome/fonts/fontawesome-webfont.eot delete mode 100644 book/FontAwesome/fonts/fontawesome-webfont.svg delete mode 100644 book/FontAwesome/fonts/fontawesome-webfont.ttf delete mode 100644 book/FontAwesome/fonts/fontawesome-webfont.woff delete mode 100644 book/FontAwesome/fonts/fontawesome-webfont.woff2 delete mode 100644 book/ace.js delete mode 100644 book/assets/reactorexecutor.png delete mode 100644 book/assets/swap_problem.jpg delete mode 100644 book/ayu-highlight.css delete mode 100644 book/book.js delete mode 100644 book/clipboard.min.js delete mode 100644 book/conclusion.html delete mode 100644 book/css/chrome.css delete mode 100644 book/css/general.css delete mode 100644 book/css/print.css delete mode 100644 book/css/variables.css delete mode 100644 book/editor.js delete mode 100644 book/elasticlunr.min.js delete mode 100644 book/favicon.png delete mode 100644 book/highlight.css delete mode 100644 book/highlight.js delete mode 100644 book/index.html delete mode 100644 book/introduction.html delete mode 100644 book/mark.min.js delete mode 100644 book/mode-rust.js delete mode 100644 book/print.html delete mode 100644 book/searcher.js delete mode 100644 book/searchindex.js delete mode 100644 book/searchindex.json delete mode 100644 book/theme-dawn.js delete mode 100644 book/theme-tomorrow_night.js delete mode 100644 book/tomorrow-night.css delete mode 100644 examples/bonus_example/cargo.toml delete mode 100644 examples/bonus_example/src/main.rs diff --git a/book/.nojekyll b/book/.nojekyll deleted file mode 100644 index 8631215..0000000 --- a/book/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -This file makes sure that Github Pages doesn't process mdBook's output. \ No newline at end of file diff --git a/book/0_background_information.html b/book/0_background_information.html deleted file mode 100644 index 32a7162..0000000 --- a/book/0_background_information.html +++ /dev/null @@ -1,762 +0,0 @@ - - - - - - Background information - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Some Background Information

-

Before we go into the details about Futures in Rust, let's take a quick look -at the alternatives for handling concurrent programming in general and some -pros and cons for each of them.

-

While we do that we'll also explain some aspects when it comes to concurrency which -will make it easier for us when we dive into Futures specifically.

-
-

For fun, I've added a small snippet of runnable code with most of the examples. -If you're like me, things get way more interesting then and maybe you'll see some -things you haven't seen before along the way.

-
-

Threads provided by the operating system

-

Now, one way of accomplishing concurrent programming is letting the OS take care -of everything for us. We do this by simply spawning a new OS thread for each -task we want to accomplish and write code like we normally would.

-

The runtime we use to handle concurrency for us is the operating system itself.

-

Advantages:

-
    -
  • Simple
  • -
  • Easy to use
  • -
  • Switching between tasks is reasonably fast
  • -
  • You get parallelism for free
  • -
-

Drawbacks:

-
    -
  • OS level threads come with a rather large stack. If you have many tasks -waiting simultaneously (like you would in a web-server under heavy load) you'll -run out of memory pretty fast.
  • -
  • There are a lot of syscalls involved. This can be pretty costly when the number -of tasks is high.
  • -
  • The OS has many things it needs to handle. It might not switch back to your -thread as fast as you'd wish.
  • -
  • Might not be an option on some systems
  • -
-

Using OS threads in Rust looks like this:

-
use std::thread;
-
-fn main() {
-    println!("So we start the program here!");
-    let t1 = thread::spawn(move || {
-        thread::sleep(std::time::Duration::from_millis(200));
-        println!("We create tasks which gets run when they're finished!");
-    });
-
-    let t2 = thread::spawn(move || {
-        thread::sleep(std::time::Duration::from_millis(100));
-        println!("We can even chain callbacks...");
-        let t3 = thread::spawn(move || {
-            thread::sleep(std::time::Duration::from_millis(50));
-            println!("...like this!");
-        });
-        t3.join().unwrap();
-    });
-    println!("While our tasks are executing we can do other stuff here.");
-
-    t1.join().unwrap();
-    t2.join().unwrap();
-}
-
-

OS threads sure have some pretty big advantages. So why all this talk about -"async" and concurrency in the first place?

-

First, for computers to be efficient they need to multitask. Once you -start to look under the covers (like how an operating system works) -you'll see concurrency everywhere. It's very fundamental in everything we do.

-

Secondly, we have the web.

-

Web servers are all about I/O and handling small tasks -(requests). When the number of small tasks is large it's not a good fit for OS -threads as of today because of the memory they require and the overhead involved -when creating new threads.

-

This gets even more problematic when the load is variable which means the current number of tasks a -program has at any point in time is unpredictable. That's why you'll see so many async web -frameworks and database drivers today.

-

However, for a huge number of problems, the standard OS threads will often be the -right solution. So, just think twice about your problem before you reach for an -async library.

-

Now, let's look at some other options for multitasking. They all have in common -that they implement a way to do multitasking by having a "userland" -runtime.

-

Green threads

-

Green threads use the same mechanism as an OS does by creating a thread for -each task, setting up a stack, saving the CPU's state, and jumping from one -task(thread) to another by doing a "context switch".

-

We yield control to the scheduler (which is a central part of the runtime in -such a system) which then continues running a different task.

-

Rust had green threads once, but they were removed before it hit 1.0. The state -of execution is stored in each stack so in such a solution there would be no -need for async, await, Future or Pin.

-

The typical flow looks like this:

-
    -
  1. Run some non-blocking code.
  2. -
  3. Make a blocking call to some external resource.
  4. -
  5. CPU "jumps" to the "main" thread which schedules a different thread to run and -"jumps" to that stack.
  6. -
  7. Run some non-blocking code on the new thread until a new blocking call or the -task is finished.
  8. -
  9. CPU "jumps" back to the "main" thread, schedules a new thread which is ready -to make progress, and "jumps" to that thread.
  10. -
-

These "jumps" are known as context switches. Your OS is doing it many times each -second as you read this.

-

Advantages:

-
    -
  1. Simple to use. The code will look like it does when using OS threads.
  2. -
  3. A "context switch" is reasonably fast.
  4. -
  5. Each stack only gets a little memory to start with so you can have hundreds of -thousands of green threads running.
  6. -
  7. It's easy to incorporate preemption -which puts a lot of control in the hands of the runtime implementors.
  8. -
-

Drawbacks:

-
    -
  1. The stacks might need to grow. Solving this is not easy and will have a cost.
  2. -
  3. You need to save all the CPU state on every switch.
  4. -
  5. It's not a zero cost abstraction (Rust had green threads early on and this -was one of the reasons they were removed).
  6. -
  7. Complicated to implement correctly if you want to support many different -platforms.
  8. -
-

A green threads example could look something like this:

-
-

The example presented below is an adapted example from an earlier gitbook I -wrote about green threads called Green Threads Explained in 200 lines of Rust. -If you want to know what's going on you'll find everything explained in detail -in that book. The code below is wildly unsafe and it's just to show a real example. -It's not in any way meant to showcase "best practice". Just so we're on -the same page.

-
-

Press the expand icon in the top right corner to show the example code.

-
# #![feature(asm, naked_functions)]
-# use std::ptr;
-#
-# const DEFAULT_STACK_SIZE: usize = 1024 * 1024 * 2;
-# const MAX_THREADS: usize = 4;
-# static mut RUNTIME: usize = 0;
-#
-# pub struct Runtime {
-#     threads: Vec<Thread>,
-#     current: usize,
-# }
-#
-# #[derive(PartialEq, Eq, Debug)]
-# enum State {
-#     Available,
-#     Running,
-#     Ready,
-# }
-#
-# struct Thread {
-#     id: usize,
-#     stack: Vec<u8>,
-#     ctx: ThreadContext,
-#     state: State,
-#     task: Option<Box<dyn Fn()>>,
-# }
-#
-# #[derive(Debug, Default)]
-# #[repr(C)]
-# struct ThreadContext {
-#     rsp: u64,
-#     r15: u64,
-#     r14: u64,
-#     r13: u64,
-#     r12: u64,
-#     rbx: u64,
-#     rbp: u64,
-#     thread_ptr: u64,
-# }
-#
-# impl Thread {
-#     fn new(id: usize) -> Self {
-#         Thread {
-#             id,
-#             stack: vec![0_u8; DEFAULT_STACK_SIZE],
-#             ctx: ThreadContext::default(),
-#             state: State::Available,
-#             task: None,
-#         }
-#     }
-# }
-#
-# impl Runtime {
-#     pub fn new() -> Self {
-#         let base_thread = Thread {
-#             id: 0,
-#             stack: vec![0_u8; DEFAULT_STACK_SIZE],
-#             ctx: ThreadContext::default(),
-#             state: State::Running,
-#             task: None,
-#         };
-#
-#         let mut threads = vec![base_thread];
-#         threads[0].ctx.thread_ptr = &threads[0] as *const Thread as u64;
-#         let mut available_threads: Vec<Thread> = (1..MAX_THREADS).map(|i| Thread::new(i)).collect();
-#         threads.append(&mut available_threads);
-#
-#         Runtime {
-#             threads,
-#             current: 0,
-#         }
-#     }
-#
-#     pub fn init(&self) {
-#         unsafe {
-#             let r_ptr: *const Runtime = self;
-#             RUNTIME = r_ptr as usize;
-#         }
-#     }
-#
-#     pub fn run(&mut self) -> ! {
-#         while self.t_yield() {}
-#         std::process::exit(0);
-#     }
-#
-#     fn t_return(&mut self) {
-#         if self.current != 0 {
-#             self.threads[self.current].state = State::Available;
-#             self.t_yield();
-#         }
-#     }
-#
-#     fn t_yield(&mut self) -> bool {
-#         let mut pos = self.current;
-#         while self.threads[pos].state != State::Ready {
-#             pos += 1;
-#             if pos == self.threads.len() {
-#                 pos = 0;
-#             }
-#             if pos == self.current {
-#                 return false;
-#             }
-#         }
-#
-#         if self.threads[self.current].state != State::Available {
-#             self.threads[self.current].state = State::Ready;
-#         }
-#
-#         self.threads[pos].state = State::Running;
-#         let old_pos = self.current;
-#         self.current = pos;
-#
-#         unsafe {
-#             switch(&mut self.threads[old_pos].ctx, &self.threads[pos].ctx);
-#         }
-#         true
-#     }
-#
-#     pub fn spawn<F: Fn() + 'static>(f: F){
-#         unsafe {
-#             let rt_ptr = RUNTIME as *mut Runtime;
-#             let available = (*rt_ptr)
-#                 .threads
-#                 .iter_mut()
-#                 .find(|t| t.state == State::Available)
-#                 .expect("no available thread.");
-#
-#             let size = available.stack.len();
-#             let s_ptr = available.stack.as_mut_ptr();
-#             available.task = Some(Box::new(f));
-#             available.ctx.thread_ptr = available as *const Thread as u64;
-#             ptr::write(s_ptr.offset((size - 8) as isize) as *mut u64, guard as u64);
-#             ptr::write(s_ptr.offset((size - 16) as isize) as *mut u64, call as u64);
-#             available.ctx.rsp = s_ptr.offset((size - 16) as isize) as u64;
-#             available.state = State::Ready;
-#         }
-#     }
-# }
-#
-# fn call(thread: u64) {
-#     let thread = unsafe { &*(thread as *const Thread) };
-#     if let Some(f) = &thread.task {
-#         f();
-#     }
-# }
-#
-# #[naked]
-# fn guard() {
-#     unsafe {
-#         let rt_ptr = RUNTIME as *mut Runtime;
-#         let rt = &mut *rt_ptr;
-#         println!("THREAD {} FINISHED.", rt.threads[rt.current].id);
-#         rt.t_return();
-#     };
-# }
-#
-# pub fn yield_thread() {
-#     unsafe {
-#         let rt_ptr = RUNTIME as *mut Runtime;
-#         (*rt_ptr).t_yield();
-#     };
-# }
-#
-# #[naked]
-# #[inline(never)]
-# unsafe fn switch(old: *mut ThreadContext, new: *const ThreadContext) {
-#     asm!("
-#         mov     %rsp, 0x00($0)
-#         mov     %r15, 0x08($0)
-#         mov     %r14, 0x10($0)
-#         mov     %r13, 0x18($0)
-#         mov     %r12, 0x20($0)
-#         mov     %rbx, 0x28($0)
-#         mov     %rbp, 0x30($0)
-#
-#         mov     0x00($1), %rsp
-#         mov     0x08($1), %r15
-#         mov     0x10($1), %r14
-#         mov     0x18($1), %r13
-#         mov     0x20($1), %r12
-#         mov     0x28($1), %rbx
-#         mov     0x30($1), %rbp
-#         mov     0x38($1), %rdi
-#         ret
-#         "
-#     :
-#     : "r"(old), "r"(new)
-#     :
-#     : "alignstack"
-#     );
-# }
-# #[cfg(not(windows))]
-fn main() {
-    let mut runtime = Runtime::new();
-    runtime.init();
-    Runtime::spawn(|| {
-        println!("I haven't implemented a timer in this example.");
-        yield_thread();
-        println!("Finally, notice how the tasks are executed concurrently.");
-    });
-    Runtime::spawn(|| {
-        println!("But we can still nest tasks...");
-        Runtime::spawn(|| {
-            println!("...like this!");
-        })
-    });
-    runtime.run();
-}
-# #[cfg(windows)]
-# fn main() { }
-
-

Still hanging in there? Good. Don't get frustrated if the code above is -difficult to understand. If I hadn't written it myself I would probably feel -the same. You can always go back and read the book which explains it later.

-

Callback based approaches

-

You probably already know what we're going to talk about in the next paragraphs -from JavaScript which I assume most know.

-
-

If your exposure to JavaScript callbacks has given you any sorts of PTSD earlier -in life, close your eyes now and scroll down for 2-3 seconds. You'll find a link -there that takes you to safety.

-
-

The whole idea behind a callback based approach is to save a pointer to a set of -instructions we want to run later together with whatever state is needed. In Rust this -would be a closure. In the example below, we save this information in a HashMap -but it's not the only option.

-

The basic idea of not involving threads as a primary way to achieve concurrency -is the common denominator for the rest of the approaches. Including the one -Rust uses today which we'll soon get to.

-

Advantages:

-
    -
  • Easy to implement in most languages
  • -
  • No context switching
  • -
  • Relatively low memory overhead (in most cases)
  • -
-

Drawbacks:

-
    -
  • Since each task must save the state it needs for later, the memory usage will grow -linearly with the number of callbacks in a chain of computations.
  • -
  • Can be hard to reason about. Many people already know this as "callback hell".
  • -
  • It's a very different way of writing a program, and will require a substantial -rewrite to go from a "normal" program flow to one that uses a "callback based" flow.
  • -
  • Sharing state between tasks is a hard problem in Rust using this approach due -to its ownership model.
  • -
-

An extremely simplified example of a how a callback based approach could look -like is:

-
fn program_main() {
-    println!("So we start the program here!");
-    set_timeout(200, || {
-        println!("We create tasks with a callback that runs once the task finished!");
-    });
-    set_timeout(100, || {
-        println!("We can even chain sub-tasks...");
-        set_timeout(50, || {
-            println!("...like this!");
-        })
-    });
-    println!("While our tasks are executing we can do other stuff instead of waiting.");
-}
-
-fn main() {
-    RT.with(|rt| rt.run(program_main));
-}
-
-use std::sync::mpsc::{channel, Receiver, Sender};
-use std::{cell::RefCell, collections::HashMap, thread};
-
-thread_local! {
-    static RT: Runtime = Runtime::new();
-}
-
-struct Runtime {
-    callbacks: RefCell<HashMap<usize, Box<dyn FnOnce() -> ()>>>,
-    next_id: RefCell<usize>,
-    evt_sender: Sender<usize>,
-    evt_reciever: Receiver<usize>,
-}
-
-fn set_timeout(ms: u64, cb: impl FnOnce() + 'static) {
-    RT.with(|rt| {
-        let id = *rt.next_id.borrow();
-        *rt.next_id.borrow_mut() += 1;
-        rt.callbacks.borrow_mut().insert(id, Box::new(cb));
-        let evt_sender = rt.evt_sender.clone();
-        thread::spawn(move || {
-            thread::sleep(std::time::Duration::from_millis(ms));
-            evt_sender.send(id).unwrap();
-        });
-    });
-}
-
-impl Runtime {
-    fn new() -> Self {
-        let (evt_sender, evt_reciever) = channel();
-        Runtime {
-            callbacks: RefCell::new(HashMap::new()),
-            next_id: RefCell::new(1),
-            evt_sender,
-            evt_reciever,
-        }
-    }
-
-    fn run(&self, program: fn()) {
-        program();
-        for evt_id in &self.evt_reciever {
-            let cb = self.callbacks.borrow_mut().remove(&evt_id).unwrap();
-            cb();
-            if self.callbacks.borrow().is_empty() {
-                break;
-            }
-        }
-    }
-}
-
-

We're keeping this super simple, and you might wonder what's the difference -between this approach and the one using OS threads and passing in the callbacks -to the OS threads directly.

-

The difference is that the callbacks are run on the -same thread using this example. The OS threads we create are basically just used -as timers but could represent any kind of resource that we'll have to wait for.

-

From callbacks to promises

-

You might start to wonder by now, when are we going to talk about Futures?

-

Well, we're getting there. You see Promises, Futures and other names for -deferred computations are often used interchangeably.

-

There are formal differences between them, but we won't cover those -here. It's worth explaining promises a bit since they're widely known due to -their use in JavaScript. Promises also have a lot in common with Rust's Futures.

-

First of all, many languages have a concept of promises, but I'll use the one -from JavaScript in the examples below.

-

Promises are one way to deal with the complexity which comes with a callback -based approach.

-

Instead of:

-
setTimer(200, () => {
-  setTimer(100, () => {
-    setTimer(50, () => {
-      console.log("I'm the last one");
-    });
-  });
-});
-
-

We can do this:

-
function timer(ms) {
-    return new Promise((resolve) => setTimeout(resolve, ms));
-}
-
-timer(200)
-.then(() => return timer(100))
-.then(() => return timer(50))
-.then(() => console.log("I'm the last one"));
-
-

The change is even more substantial under the hood. You see, promises return -a state machine which can be in one of three states: pending, fulfilled or -rejected.

-

When we call timer(200) in the sample above, we get back a promise in the state pending.

-

Since promises are re-written as state machines, they also enable an even better -syntax which allows us to write our last example like this:

-
async function run() {
-    await timer(200);
-    await timer(100);
-    await timer(50);
-    console.log("I'm the last one");
-}
-
-

You can consider the run function as a pausable task consisting of several -sub-tasks. On each "await" point it yields control to the scheduler (in this -case it's the well-known JavaScript event loop).

-

Once one of the sub-tasks changes state to either fulfilled or rejected, the -task is scheduled to continue to the next step.

-

Syntactically, Rust's Futures 0.1 was a lot like the promises example above, and -Rust's Futures 0.3 is a lot like async/await in our last example.

-

Now this is also where the similarities between JavaScript promises and Rust's -Futures stop. The reason we go through all this is to get an introduction and -get into the right mindset for exploring Rust's Futures.

-
-

To avoid confusion later on: There's one difference you should know. JavaScript -promises are eagerly evaluated. That means that once it's created, it starts -running a task. Rust's Futures on the other hand are lazily evaluated. They -need to be polled once before they do any work.

-
-
- - -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/1_futures_in_rust.html b/book/1_futures_in_rust.html deleted file mode 100644 index 2a69a97..0000000 --- a/book/1_futures_in_rust.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - Futures in Rust - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Futures in Rust

-
-

Overview:

-
    -
  • Get a high level introduction to concurrency in Rust
  • -
  • Know what Rust provides and not when working with async code
  • -
  • Get to know why we need a runtime-library in Rust
  • -
  • Understand the difference between "leaf-future" and a "non-leaf-future"
  • -
  • Get insight on how to handle CPU intensive tasks
  • -
-
-

Futures

-

So what is a future?

-

A future is a representation of some operation which will complete in the -future.

-

Async in Rust uses a Poll based approach, in which an asynchronous task will -have three phases.

-
    -
  1. The Poll phase. A Future is polled which result in the task progressing until -a point where it can no longer make progress. We often refer to the part of the -runtime which polls a Future as an executor.
  2. -
  3. The Wait phase. An event source, most often referred to as a reactor, -registers that a Future is waiting for an event to happen and makes sure that it -will wake the Future when that event is ready.
  4. -
  5. The Wake phase. The event happens and the Future is woken up. It's now up -to the executor which polled the Future in step 1 to schedule the future to be -polled again and make further progress until it completes or reaches a new point -where it can't make further progress and the cycle repeats.
  6. -
-

Now, when we talk about futures I find it useful to make a distinction between -non-leaf futures and leaf futures early on because in practice they're -pretty different from one another.

-

Leaf futures

-

Runtimes create leaf futures which represents a resource like a socket.

-
// stream is a **leaf-future**
-let mut stream = tokio::net::TcpStream::connect("127.0.0.1:3000");
-
-

Operations on these resources, like a Read on a socket, will be non-blocking -and return a future which we call a leaf future since it's the future which -we're actually waiting on.

-

It's unlikely that you'll implement a leaf future yourself unless you're writing -a runtime, but we'll go through how they're constructed in this book as well.

-

It's also unlikely that you'll pass a leaf-future to a runtime and run it to -completion alone as you'll understand by reading the next paragraph.

-

Non-leaf-futures

-

Non-leaf-futures is the kind of futures we as users of a runtime write -ourselves using the async keyword to create a task which can be run on the -executor.

-

The bulk of an async program will consist of non-leaf-futures, which are a kind -of pause-able computation. This is an important distinction since these futures represents a set of operations. Often, such a task will await a leaf future -as one of many operations to complete the task.

-
// Non-leaf-future
-let non_leaf = async {
-    let mut stream = TcpStream::connect("127.0.0.1:3000").await.unwrap();// <- yield
-    println!("connected!");
-    let result = stream.write(b"hello world\n").await; // <- yield
-    println!("message sent!");
-    ...
-};
-
-

The key to these tasks is that they're able to yield control to the runtime's -scheduler and then resume execution again where it left off at a later point.

-

In contrast to leaf futures, these kind of futures does not themselves represent -an I/O resource. When we poll these futures we either run some code or we yield -to the scheduler while waiting for some resource to signal us that it's ready so -we can resume where we left off.

-

Runtimes

-

Languages like C#, JavaScript, Java, GO and many others comes with a runtime -for handling concurrency. So if you come from one of those languages this will -seem a bit strange to you.

-

Rust is different from these languages in the sense that Rust doesn't come with -a runtime for handling concurrency, so you need to use a library which provide -this for you.

-

Quite a bit of complexity attributed to Futures is actually complexity rooted -in runtimes. Creating an efficient runtime is hard.

-

Learning how to use one correctly requires quite a bit of effort as well, but -you'll see that there are several similarities between these kind of runtimes so -learning one makes learning the next much easier.

-

The difference between Rust and other languages is that you have to make an -active choice when it comes to picking a runtime. Most often, in other languages -you'll just use the one provided for you.

-

An async runtime can be divided into two parts:

-
    -
  1. The Executor
  2. -
  3. The Reactor
  4. -
-

When Rusts Futures were designed there was a desire to separate the job of -notifying a Future that it can do more work, and actually doing the work -on the Future.

-

You can think of the former as the reactor's job, and the latter as the -executors job. These two parts of a runtime interact with each other using the Waker type.

-

The two most popular runtimes for Futures as of writing this is:

- -

What Rust's standard library takes care of

-
    -
  1. A common interface representing an operation which will be completed in the -future through the Future trait.
  2. -
  3. An ergonomic way of creating tasks which can be suspended and resumed through -the async and await keywords.
  4. -
  5. A defined interface wake up a suspended task through the Waker type.
  6. -
-

That's really what Rusts standard library does. As you see there is no definition -of non-blocking I/O, how these tasks are created or how they're run.

-

I/O vs CPU intensive tasks

-

As you know now, what you normally write are called non-leaf futures. Let's -take a look at this async block using pseudo-rust as example:

-
let non_leaf = async {
-    let mut stream = TcpStream::connect("127.0.0.1:3000").await.unwrap(); // <-- yield
-
-    // request a large dataset
-    let result = stream.write(get_dataset_request).await.unwrap(); // <-- yield
-
-    // wait for the dataset
-    let mut response = vec![];
-    stream.read(&mut response).await.unwrap(); // <-- yield
-
-    // do some CPU-intensive analysis on the dataset
-    let report = analyzer::analyze_data(response).unwrap();
-
-    // send the results back
-    stream.write(report).await.unwrap(); // <-- yield
-};
-
-

Now, as you'll see when we go through how Futures work, the code we write between -the yield points are run on the same thread as our executor.

-

That means that while our analyzer is working on the dataset, the executor -is busy doing calculations instead of handling new requests.

-

Fortunately there are a few ways to handle this, and it's not difficult, but it's -something you must be aware of:

-
    -
  1. -

    We could create a new leaf future which sends our task to another thread and -resolves when the task is finished. We could await this leaf-future like any -other future.

    -
  2. -
  3. -

    The runtime could have some kind of supervisor that monitors how much time -different tasks take, and move the executor itself to a different thread so it can -continue to run even though our analyzer task is blocking the original executor thread.

    -
  4. -
  5. -

    You can create a reactor yourself which is compatible with the runtime which -does the analysis any way you see fit, and returns a Future which can be awaited.

    -
  6. -
-

Now, #1 is the usual way of handling this, but some executors implement #2 as well. -The problem with #2 is that if you switch runtime you need to make sure that it -supports this kind of supervision as well or else you will end up blocking the -executor.

-

#3 is more of theoretical importance, normally you'd be happy by sending the task -to the thread-pool most runtimes provide.

-

Most executors have a way to accomplish #1 using methods like spawn_blocking.

-

These methods send the task to a thread-pool created by the runtime where you -can either perform CPU-intensive tasks or "blocking" tasks which is not supported -by the runtime.

-

Now, armed with this knowledge you are already on a good way for understanding -Futures, but we're not gonna stop yet, there is lots of details to cover.

-

Take a break or a cup of coffe and get ready as we go for a deep dive in the next chapters.

-

Bonus section

-

If you find the concepts of concurrency and async programming confusing in -general, I know where you're coming from and I have written some resources to -try to give a high level overview that will make it easier to learn Rusts -Futures afterwards:

- -

Learning these concepts by studying futures is making it much harder than -it needs to be, so go on and read these chapters if you feel a bit unsure.

-

I'll be right here when you're back.

-

However, if you feel that you have the basics covered, then let's get moving!

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/2_waker_context.html b/book/2_waker_context.html deleted file mode 100644 index 2a9e669..0000000 --- a/book/2_waker_context.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - Waker and Context - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Waker and Context

-
-

Overview:

-
    -
  • Understand how the Waker object is constructed
  • -
  • Learn how the runtime know when a leaf-future can resume
  • -
  • Learn the basics of dynamic dispatch and trait objects
  • -
-

The Waker type is described as part of RFC#2592.

-
-

The Waker

-

The Waker type allows for a loose coupling between the reactor-part and the executor-part of a runtime.

-

By having a wake up mechanism that is not tied to the thing that executes -the future, runtime-implementors can come up with interesting new wake-up -mechanisms. An example of this can be spawning a thread to do some work that -eventually notifies the future, completely independent of the current runtime.

-

Without a waker, the executor would be the only way to notify a running -task, whereas with the waker, we get a loose coupling where it's easy to -extend the ecosystem with new leaf-level tasks.

-
-

If you want to read more about the reasoning behind the Waker type I can -recommend Withoutboats articles series about them.

-
-

The Context type

-

As the docs state as of now this type only wrapps a Waker, but it gives some -flexibility for future evolutions of the API in Rust. The context can for example hold -task-local storage and provide space for debugging hooks in later iterations.

-

Understanding the Waker

-

One of the most confusing things we encounter when implementing our own Futures -is how we implement a Waker . Creating a Waker involves creating a vtable -which allows us to use dynamic dispatch to call methods on a type erased trait -object we construct our selves.

-
-

If you want to know more about dynamic dispatch in Rust I can recommend an -article written by Adam Schwalm called Exploring Dynamic Dispatch in Rust.

-
-

Let's explain this a bit more in detail.

-

Fat pointers in Rust

-

To get a better understanding of how we implement the Waker in Rust, we need -to take a step back and talk about some fundamentals. Let's start by taking a -look at the size of some different pointer types in Rust.

-

Run the following code (You'll have to press "play" to see the output):

-
# use std::mem::size_of;
-trait SomeTrait { }
-
-fn main() {
-    println!("======== The size of different pointers in Rust: ========");
-    println!("&dyn Trait:-----{}", size_of::<&dyn SomeTrait>());
-    println!("&[&dyn Trait]:--{}", size_of::<&[&dyn SomeTrait]>());
-    println!("Box<Trait>:-----{}", size_of::<Box<SomeTrait>>());
-    println!("&i32:-----------{}", size_of::<&i32>());
-    println!("&[i32]:---------{}", size_of::<&[i32]>());
-    println!("Box<i32>:-------{}", size_of::<Box<i32>>());
-    println!("&Box<i32>:------{}", size_of::<&Box<i32>>());
-    println!("[&dyn Trait;4]:-{}", size_of::<[&dyn SomeTrait; 4]>());
-    println!("[i32;4]:--------{}", size_of::<[i32; 4]>());
-}
-
-

As you see from the output after running this, the sizes of the references varies. -Many are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 -bytes.

-

The 16 byte sized pointers are called "fat pointers" since they carry extra -information.

-

Example &[i32] :

-
    -
  • The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to)
  • -
  • The second 8 bytes is the length of the slice.
  • -
-

Example &dyn SomeTrait:

-

This is the type of fat pointer we'll concern ourselves about going forward. -&dyn SomeTrait is a reference to a trait, or what Rust calls a trait object.

-

The layout for a pointer to a trait object looks like this:

-
    -
  • The first 8 bytes points to the data for the trait object
  • -
  • The second 8 bytes points to the vtable for the trait object
  • -
-

The reason for this is to allow us to refer to an object we know nothing about -except that it implements the methods defined by our trait. To accomplish this -we use dynamic dispatch.

-

Let's explain this in code instead of words by implementing our own trait -object from these parts:

-
// A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)
-trait Test {
-    fn add(&self) -> i32;
-    fn sub(&self) -> i32;
-    fn mul(&self) -> i32;
-}
-
-// This will represent our home brewn fat pointer to a trait object
-#[repr(C)]
-struct FatPointer<'a> {
-    /// A reference is a pointer to an instantiated `Data` instance
-    data: &'a mut Data,
-    /// Since we need to pass in literal values like length and alignment it's
-    /// easiest for us to convert pointers to usize-integers instead of the other way around.
-    vtable: *const usize,
-}
-
-// This is the data in our trait object. It's just two numbers we want to operate on.
-struct Data {
-    a: i32,
-    b: i32,
-}
-
-// ====== function definitions ======
-fn add(s: &Data) -> i32 {
-    s.a + s.b
-}
-fn sub(s: &Data) -> i32 {
-    s.a - s.b
-}
-fn mul(s: &Data) -> i32 {
-    s.a * s.b
-}
-
-fn main() {
-    let mut data = Data {a: 3, b: 2};
-    // vtable is like special purpose array of pointer-length types with a fixed
-    // format where the three first values has a special meaning like the
-    // length of the array is encoded in the array itself as the second value.
-    let vtable = vec![
-        0,            // pointer to `Drop` (which we're not implementing here)
-        6,            // length of vtable
-        8,            // alignment
-
-        // we need to make sure we add these in the same order as defined in the Trait.
-        add as usize, // function pointer - try changing the order of `add`
-        sub as usize, // function pointer - and `sub` to see what happens
-        mul as usize, // function pointer
-    ];
-
-    let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()};
-    let test = unsafe { std::mem::transmute::<FatPointer, &dyn Test>(fat_pointer) };
-
-    // And voalá, it's now a trait object we can call methods on
-    println!("Add: 3 + 2 = {}", test.add());
-    println!("Sub: 3 - 2 = {}", test.sub());
-    println!("Mul: 3 * 2 = {}", test.mul());
-}
-
-

Later on, when we implement our own Waker we'll actually set up a vtable -like we do here. The way we create it is slightly different, but now that you know -how regular trait objects work you will probably recognize what we're doing which -makes it much less mysterious.

-

Bonus section

-

You might wonder why the Waker was implemented like this and not just as a -normal trait?

-

The reason is flexibility. Implementing the Waker the way we do here gives a lot -of flexibility of choosing what memory management scheme to use.

-

The "normal" way is by using an Arc to use reference count keep track of when -a Waker object can be dropped. However, this is not the only way, you could also -use purely global functions and state, or any other way you wish.

-

This leaves a lot of options on the table for runtime implementors.

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/3_generators_async_await.html b/book/3_generators_async_await.html deleted file mode 100644 index 8ca8845..0000000 --- a/book/3_generators_async_await.html +++ /dev/null @@ -1,831 +0,0 @@ - - - - - - Generators and async/await - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Generators and async/await

-
-

Overview:

-
    -
  • Understand how the async/await syntax works under the hood
  • -
  • See first hand why we need Pin
  • -
  • Understand what makes Rusts async model very memory efficient
  • -
-

The motivation for Generators can be found in RFC#2033. It's very -well written and I can recommend reading through it (it talks as much about -async/await as it does about generators).

-
-

Why learn about generators?

-

Generators/yield and async/await are so similar that once you understand one -you should be able to understand the other.

-

It's much easier for me to provide runnable and short examples using Generators -instead of Futures which require us to introduce a lot of concepts now that -we'll cover later just to show an example.

-

Async/await works like generators but instead of returning a generator it returns -a special object implementing the Future trait.

-

A small bonus is that you'll have a pretty good introduction to both Generators -and Async/Await by the end of this chapter.

-

Basically, there were three main options discussed when designing how Rust would -handle concurrency:

-
    -
  1. Stackful coroutines, better known as green threads.
  2. -
  3. Using combinators.
  4. -
  5. Stackless coroutines, better known as generators.
  6. -
-

We covered green threads in the background information -so we won't repeat that here. We'll concentrate on the variants of stackless -coroutines which Rust uses today.

-

Combinators

-

Futures 0.1 used combinators. If you've worked with Promises in JavaScript, -you already know combinators. In Rust they look like this:

-
let future = Connection::connect(conn_str).and_then(|conn| {
-    conn.query("somerequest").map(|row|{
-        SomeStruct::from(row)
-    }).collect::<Vec<SomeStruct>>()
-});
-
-let rows: Result<Vec<SomeStruct>, SomeLibraryError> = block_on(future);
-
-
-

There are mainly three downsides I'll focus on using this technique:

-
    -
  1. The error messages produced could be extremely long and arcane
  2. -
  3. Not optimal memory usage
  4. -
  5. Did not allow to borrow across combinator steps.
  6. -
-

Point #3, is actually a major drawback with Futures 0.1.

-

Not allowing borrows across suspension points ends up being very -un-ergonomic and to accomplish some tasks it requires extra allocations or -copying which is inefficient.

-

The reason for the higher than optimal memory usage is that this is basically -a callback-based approach, where each closure stores all the data it needs -for computation. This means that as we chain these, the memory required to store -the needed state increases with each added step.

-

Stackless coroutines/generators

-

This is the model used in Rust today. It has a few notable advantages:

-
    -
  1. It's easy to convert normal Rust code to a stackless coroutine using using -async/await as keywords (it can even be done using a macro).
  2. -
  3. No need for context switching and saving/restoring CPU state
  4. -
  5. No need to handle dynamic stack allocation
  6. -
  7. Very memory efficient
  8. -
  9. Allows us to borrow across suspension points
  10. -
-

The last point is in contrast to Futures 0.1. With async/await we can do this:

-
async fn myfn() {
-    let text = String::from("Hello world");
-    let borrowed = &text[0..5];
-    somefuture.await;
-    println!("{}", borrowed);
-}
-
-

Async in Rust is implemented using Generators. So to understand how async really -works we need to understand generators first. Generators in Rust are implemented -as state machines.

-

The memory footprint of a chain of computations is defined by the largest footprint -that a single step requires.

-

That means that adding steps to a chain of computations might not require any -increased memory at all and it's one of the reasons why Futures and Async in -Rust has very little overhead.

-

How generators work

-

In Nightly Rust today you can use the yield keyword. Basically using this -keyword in a closure, converts it to a generator. A closure could look like this -before we had a concept of Pin:

-
#![feature(generators, generator_trait)]
-use std::ops::{Generator, GeneratorState};
-
-fn main() {
-    let a: i32 = 4;
-    let mut gen = move || {
-        println!("Hello");
-        yield a * 2;
-        println!("world!");
-    };
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-
-

Early on, before there was a consensus about the design of Pin, this -compiled to something looking similar to this:

-
fn main() {
-    let mut gen = GeneratorA::start(4);
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-
-// If you've ever wondered why the parameters are called Y and R the naming from
-// the original rfc most likely holds the answer
-enum GeneratorState<Y, R> {
-    Yielded(Y),  // originally called `Yield(Y)`
-    Complete(R), // originally called `Return(R)`
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter(i32),
-    Yield1(i32),
-    Exit,
-}
-
-impl GeneratorA {
-    fn start(a1: i32) -> Self {
-        GeneratorA::Enter(a1)
-    }
-}
-
-impl Generator for GeneratorA {
-    type Yield = i32;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        match std::mem::replace(self, GeneratorA::Exit) {
-            GeneratorA::Enter(a1) => {
-
-          /*----code before yield----*/
-                println!("Hello");
-                let a = a1 * 2;
-
-                *self = GeneratorA::Yield1(a);
-                GeneratorState::Yielded(a)
-            }
-
-            GeneratorA::Yield1(_) => {
-          /*-----code after yield-----*/
-                println!("world!");
-
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-
-
-
-

The yield keyword was discussed first in RFC#1823 and in RFC#1832.

-
-

Now that you know that the yield keyword in reality rewrites your code to become a state machine, -you'll also know the basics of how await works. It's very similar.

-

Now, there are some limitations in our naive state machine above. What happens when you have a -borrow across a yield point?

-

We could forbid that, but one of the major design goals for the async/await syntax has been -to allow this. These kinds of borrows were not possible using Futures 0.1 so we can't let this -limitation just slip and call it a day yet.

-

Instead of discussing it in theory, let's look at some code.

-
-

We'll use the optimized version of the state machines which is used in Rust today. For a more -in depth explanation see Tyler Mandry's excellent article: How Rust optimizes async/await

-
-
let mut generator = move || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-

We'll be hand-coding some versions of a state-machines representing a state -machine for the generator defined above.

-

We step through each step "manually" in every example, so it looks pretty -unfamiliar. We could add some syntactic sugar like implementing the Iterator -trait for our generators which would let us do this:

-
while let Some(val) = generator.next() {
-    println!("{}", val);
-}
-
-

It's a pretty trivial change to make, but this chapter is already getting long. -Just keep this in the back of your head as we move forward.

-

Now what does our rewritten state machine look like with this example?

-

-# #![allow(unused_variables)]
-#fn main() {
-# enum GeneratorState<Y, R> {
-#     Yielded(Y),
-#     Complete(R),
-# }
-#
-# trait Generator {
-#     type Yield;
-#     type Return;
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-# }
-
-enum GeneratorA {
-    Enter,
-    Yield1 {
-        to_borrow: String,
-        borrowed: &String, // uh, what lifetime should this have?
-    },
-    Exit,
-}
-
-# impl GeneratorA {
-#     fn start() -> Self {
-#         GeneratorA::Enter
-#     }
-# }
-
-impl Generator for GeneratorA {
-    type Yield = usize;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        match std::mem::replace(self, GeneratorA::Exit) {
-            GeneratorA::Enter => {
-                let to_borrow = String::from("Hello");
-                let borrowed = &to_borrow; // <--- NB!
-                let res = borrowed.len();
-
-                *self = GeneratorA::Yield1 {to_borrow, borrowed};
-                GeneratorState::Yielded(res)
-            }
-
-            GeneratorA::Yield1 {to_borrow, borrowed} => {
-                println!("Hello {}", borrowed);
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-#}
-

If you try to compile this you'll get an error (just try it yourself by pressing play).

-

What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. -Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that -to make this work, we'll have to let the compiler know that we control this correctly ourselves.

-

That means turning to unsafe.

-

Let's try to write an implementation that will compiler using unsafe. As you'll -see we end up in a self referential struct. A struct which holds references -into itself.

-

As you'll notice, this compiles just fine!

-

-# #![allow(unused_variables)]
-#fn main() {
-enum GeneratorState<Y, R> {
-    Yielded(Y),
-    Complete(R),
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter,
-    Yield1 {
-        to_borrow: String,
-        borrowed: *const String, // NB! This is now a raw pointer!
-    },
-    Exit,
-}
-
-impl GeneratorA {
-    fn start() -> Self {
-        GeneratorA::Enter
-    }
-}
-impl Generator for GeneratorA {
-    type Yield = usize;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-            match self {
-            GeneratorA::Enter => {
-                let to_borrow = String::from("Hello");
-                let borrowed = &to_borrow;
-                let res = borrowed.len();
-                *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-
-                // NB! And we set the pointer to reference the to_borrow string here
-                if let GeneratorA::Yield1 {to_borrow, borrowed} = self {
-                    *borrowed = to_borrow;
-                }
-
-                GeneratorState::Yielded(res)
-            }
-
-            GeneratorA::Yield1 {borrowed, ..} => {
-                let borrowed: &String = unsafe {&**borrowed};
-                println!("{} world", borrowed);
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-#}
-

Remember that our example is the generator we crated which looked like this:

-
let mut gen = move || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-

Below is an example of how we could run this state-machine and as you see it -does what we'd expect. But there is still one huge problem with this:

-
pub fn main() {
-    let mut gen = GeneratorA::start();
-    let mut gen2 = GeneratorA::start();
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Yielded(n) = gen2.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-# enum GeneratorState<Y, R> {
-#     Yielded(Y),
-#     Complete(R),
-# }
-#
-# trait Generator {
-#     type Yield;
-#     type Return;
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-# }
-#
-# enum GeneratorA {
-#     Enter,
-#     Yield1 {
-#         to_borrow: String,
-#         borrowed: *const String,
-#     },
-#     Exit,
-# }
-#
-# impl GeneratorA {
-#     fn start() -> Self {
-#         GeneratorA::Enter
-#     }
-# }
-# impl Generator for GeneratorA {
-#     type Yield = usize;
-#     type Return = ();
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-#             match self {
-#             GeneratorA::Enter => {
-#                 let to_borrow = String::from("Hello");
-#                 let borrowed = &to_borrow;
-#                 let res = borrowed.len();
-#                 *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-#
-#                 // We set the self-reference here
-#                 if let GeneratorA::Yield1 {to_borrow, borrowed} = self {
-#                     *borrowed = to_borrow;
-#                 }
-#
-#                 GeneratorState::Yielded(res)
-#             }
-#
-#             GeneratorA::Yield1 {borrowed, ..} => {
-#                 let borrowed: &String = unsafe {&**borrowed};
-#                 println!("{} world", borrowed);
-#                 *self = GeneratorA::Exit;
-#                 GeneratorState::Complete(())
-#             }
-#             GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-#         }
-#     }
-# }
-
-

The problem is that in safe Rust we can still do this:

-

Run the code and compare the results. Do you see the problem?

-
# #![feature(never_type)] // Force nightly compiler to be used in playground
-# // by betting on it's true that this type is named after it's stabilization date...
-pub fn main() {
-    let mut gen = GeneratorA::start();
-    let mut gen2 = GeneratorA::start();
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    std::mem::swap(&mut gen, &mut gen2); // <--- Big problem!
-
-    if let GeneratorState::Yielded(n) = gen2.resume() {
-        println!("Got value {}", n);
-    }
-
-    // This would now start gen2 since we swapped them.
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-# enum GeneratorState<Y, R> {
-#     Yielded(Y),
-#     Complete(R),
-# }
-#
-# trait Generator {
-#     type Yield;
-#     type Return;
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-# }
-#
-# enum GeneratorA {
-#     Enter,
-#     Yield1 {
-#         to_borrow: String,
-#         borrowed: *const String,
-#     },
-#     Exit,
-# }
-#
-# impl GeneratorA {
-#     fn start() -> Self {
-#         GeneratorA::Enter
-#     }
-# }
-# impl Generator for GeneratorA {
-#     type Yield = usize;
-#     type Return = ();
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-#             match self {
-#             GeneratorA::Enter => {
-#                 let to_borrow = String::from("Hello");
-#                 let borrowed = &to_borrow;
-#                 let res = borrowed.len();
-#                 *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-#
-#                 // We set the self-reference here
-#                 if let GeneratorA::Yield1 {to_borrow, borrowed} = self {
-#                     *borrowed = to_borrow;
-#                 }
-#
-#                 GeneratorState::Yielded(res)
-#             }
-#
-#             GeneratorA::Yield1 {borrowed, ..} => {
-#                 let borrowed: &String = unsafe {&**borrowed};
-#                 println!("{} world", borrowed);
-#                 *self = GeneratorA::Exit;
-#                 GeneratorState::Complete(())
-#             }
-#             GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-#         }
-#     }
-# }
-
-

Wait? What happened to "Hello"? And why did our code segfault?

-

Turns out that while the example above compiles just fine, we expose consumers -of this this API to both possible undefined behavior and other memory errors -while using just safe Rust. This is a big problem!

-
-

I've actually forced the code above to use the nightly version of the compiler. -If you run the example above on the playground, -you'll see that it runs without panicking on the current stable (1.42.0) but -panics on the current nightly (1.44.0). Scary!

-
-

We'll explain exactly what happened here using a slightly simpler example in the next -chapter and we'll fix our generator using Pin so don't worry, you'll see exactly -what goes wrong and see how Pin can help us deal with self-referential types safely in a -second.

-

Before we go and explain the problem in detail, let's finish off this chapter -by looking at how generators and the async keyword is related.

-

Async and generators

-

Futures in Rust are implemented as state machines much the same way Generators -are state machines.

-

You might have noticed the similarities in the syntax used in async blocks and -the syntax used in generators:

-
let mut gen = move || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-

Compare that with a similar example using async blocks:

-
let mut fut = async {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        SomeResource::some_task().await;
-        println!("{} world!", borrowed);
-    };
-
-

The difference is that Futures has different states than what a Generator would -have.

-

An async block will return a Future instead of a Generator, however, the way -a Future works and the way a Generator work internally is similar.

-

Instead of calling Generator::resume we call Future::poll, and instead of -returning Yielded or Complete it returns Pending or Ready. Each await -point in a future is like a yield point in a generator.

-

Do you see how they're connected now?

-

Thats why knowing how generators work and the challenges they pose also teaches -you how futures work and the challenges we need to tackle when working with them.

-

The same goes for the challenges of borrowing across yield/await points.

-

Bonus section - self referential generators in Rust today

-

Thanks to PR#45337 you can actually run code like the one in our -example in Rust today using the static keyword on nightly. Try it for -yourself:

-
-

Beware that the API is changing rapidly. As I was writing this book, generators -had an API change adding support for a "resume" argument to get passed into the -generator closure.

-

Follow the progress on the tracking issue #4312 for RFC#033.

-
-
#![feature(generators, generator_trait)]
-use std::ops::{Generator, GeneratorState};
-
-
-pub fn main() {
-    let gen1 = static || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-    let gen2 = static || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-    let mut pinned1 = Box::pin(gen1);
-    let mut pinned2 = Box::pin(gen2);
-
-    if let GeneratorState::Yielded(n) = pinned1.as_mut().resume(()) {
-        println!("Gen1 got value {}", n);
-    }
-
-    if let GeneratorState::Yielded(n) = pinned2.as_mut().resume(()) {
-        println!("Gen2 got value {}", n);
-    };
-
-    let _ = pinned1.as_mut().resume(());
-    let _ = pinned2.as_mut().resume(());
-}
-
- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/4_pin.html b/book/4_pin.html deleted file mode 100644 index 3272724..0000000 --- a/book/4_pin.html +++ /dev/null @@ -1,921 +0,0 @@ - - - - - - Pin - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Pin

-
-

Overview

-
    -
  1. Learn how to use Pin and why it's required when implementing your own Future
  2. -
  3. Understand how to make self-referential types safe to use in Rust
  4. -
  5. Learn how borrowing across await points is accomplished
  6. -
  7. Get a set of practical rules to help you work with Pin
  8. -
-

Pin was suggested in RFC#2349

-
-

Let's jump strait to it. Pinning is one of those subjects which is hard to wrap -your head around in the start, but once you unlock a mental model for it -it gets significantly easier to reason about.

-

Definitions

-

Pin wraps a pointer. A reference to an object is a pointer. Pin gives some -guarantees about the pointee (the data it points to) which we'll explore further -in this chapter.

-

Pin consists of the Pin type and the Unpin marker. Pin's purpose in life is -to govern the rules that need to apply for types which implement !Unpin.

-

Yep, you're right, that's double negation right there. !Unpin means -"not-un-pin".

-
-

This naming scheme is one of Rusts safety features where it deliberately -tests if you're too tired to safely implement a type with this marker. If -you're starting to get confused, or even angry, by !Unpin it's a good sign -that it's time to lay down the work and start over tomorrow with a fresh mind.

-
-

On a more serious note, I feel obliged to mention that there are valid reasons -for the names that were chosen. Naming is not easy, and I considered renaming -Unpin and !Unpin in this book to make them easier to reason about.

-

However, an experienced member of the Rust community convinced me that that there -is just too many nuances and edge-cases to consider which is easily overlooked when -naively giving these markers different names, and I'm convinced that we'll -just have to get used to them and use them as is.

-

If you want to you can read a bit of the discussion from the -internals thread.

-

Pinning and self-referential structs

-

Let's start where we left off in the last chapter by making the problem we -saw using a self-references in our generator a lot simpler by making -some self-referential structs that are easier to reason about than our -state machines:

-

For now our example will look like this:

-
use std::pin::Pin;
-
-#[derive(Debug)]
-struct Test {
-    a: String,
-    b: *const String,
-}
-
-impl Test {
-    fn new(txt: &str) -> Self {
-        Test {
-            a: String::from(txt),
-            b: std::ptr::null(),
-        }
-    }
-
-    fn init(&mut self) {
-        let self_ref: *const String = &self.a;
-        self.b = self_ref;
-    }
-
-    fn a(&self) -> &str {
-        &self.a
-    }
-
-    fn b(&self) -> &String {
-        unsafe {&*(self.b)}
-    }
-}
-
-

Let's walk through this example since we'll be using it the rest of this chapter.

-

We have a self-referential struct Test. Test needs an init method to be -created which is strange but we'll need that to keep this example as short as -possible.

-

Test provides two methods to get a reference to the value of the fields -a and b. Since b is a reference to a we store it as a pointer since -the borrowing rules of Rust doesn't allow us to define this lifetime.

-

Now, let's use this example to explain the problem we encounter in detail. As -you see, this works as expected:

-
fn main() {
-    let mut test1 = Test::new("test1");
-    test1.init();
-    let mut test2 = Test::new("test2");
-    test2.init();
-
-    println!("a: {}, b: {}", test1.a(), test1.b());
-    println!("a: {}, b: {}", test2.a(), test2.b());
-
-}
-# use std::pin::Pin;
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-# }
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#         }
-#     }
-#
-#     // We need an `init` method to actually set our self-reference
-#     fn init(&mut self) {
-#         let self_ref: *const String = &self.a;
-#         self.b = self_ref;
-#     }
-#
-#     fn a(&self) -> &str {
-#         &self.a
-#     }
-#
-#     fn b(&self) -> &String {
-#         unsafe {&*(self.b)}
-#     }
-# }
-
-

In our main method we first instantiate two instances of Test and print out -the value of the fields on test1. We get what we'd expect:

-
a: test1, b: test1
-a: test2, b: test2
-
-

Let's see what happens if we swap the data stored at the memory location test1 with the -data stored at the memory location test2 and vice a versa.

-
fn main() {
-    let mut test1 = Test::new("test1");
-    test1.init();
-    let mut test2 = Test::new("test2");
-    test2.init();
-
-    println!("a: {}, b: {}", test1.a(), test1.b());
-    std::mem::swap(&mut test1, &mut test2);
-    println!("a: {}, b: {}", test2.a(), test2.b());
-
-}
-# use std::pin::Pin;
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-# }
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#         }
-#     }
-#
-#     fn init(&mut self) {
-#         let self_ref: *const String = &self.a;
-#         self.b = self_ref;
-#     }
-#
-#     fn a(&self) -> &str {
-#         &self.a
-#     }
-#
-#     fn b(&self) -> &String {
-#         unsafe {&*(self.b)}
-#     }
-# }
-
-

Naively, we could think that what we should get a debug print of test1 two -times like this

-
a: test1, b: test1
-a: test1, b: test1
-
-

But instead we get:

-
a: test1, b: test1
-a: test1, b: test2
-
-

The pointer to test2.b still points to the old location which is inside test1 -now. The struct is not self-referential anymore, it holds a pointer to a field -in a different object. That means we can't rely on the lifetime of test2.b to -be tied to the lifetime of test2 anymore.

-

If your still not convinced, this should at least convince you:

-
fn main() {
-    let mut test1 = Test::new("test1");
-    test1.init();
-    let mut test2 = Test::new("test2");
-    test2.init();
-
-    println!("a: {}, b: {}", test1.a(), test1.b());
-    std::mem::swap(&mut test1, &mut test2);
-    test1.a = "I've totally changed now!".to_string();
-    println!("a: {}, b: {}", test2.a(), test2.b());
-
-}
-# use std::pin::Pin;
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-# }
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#         }
-#     }
-#
-#     fn init(&mut self) {
-#         let self_ref: *const String = &self.a;
-#         self.b = self_ref;
-#     }
-#
-#     fn a(&self) -> &str {
-#         &self.a
-#     }
-#
-#     fn b(&self) -> &String {
-#         unsafe {&*(self.b)}
-#     }
-# }
-
-

That shouldn't happen. There is no serious error yet, but as you can imagine -it's easy to create serious bugs using this code.

-

I created a diagram to help visualize what's going on:

-

Fig 1: Before and after swap -swap_problem

-

As you can see this results in unwanted behavior. It's easy to get this to -segfault, show UB and fail in other spectacular ways as well.

-

Pinning to the stack

-

Now, we can solve this problem by using Pin instead. Let's take a look at what -our example would look like then:

-
use std::pin::Pin;
-use std::marker::PhantomPinned;
-
-#[derive(Debug)]
-struct Test {
-    a: String,
-    b: *const String,
-    _marker: PhantomPinned,
-}
-
-
-impl Test {
-    fn new(txt: &str) -> Self {
-        let a = String::from(txt);
-        Test {
-            a: String::from(txt),
-            b: std::ptr::null(),
-            _marker: PhantomPinned, // This makes our type `!Unpin`
-        }
-    }
-    fn init<'a>(self: Pin<&'a mut Self>) {
-        let self_ptr: *const String = &self.a;
-        let this = unsafe { self.get_unchecked_mut() };
-        this.b = self_ptr;
-    }
-
-    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-        &self.get_ref().a
-    }
-
-    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-        unsafe { &*(self.b) }
-    }
-}
-
-

Now, what we've done here is pinning an object to the stack. That will always be -unsafe if our type implements !Unpin.

-

We use the same tricks here, including requiring an init. If we want to fix that -and let users avoid unsafe we need to pin our data on the heap instead which -we'll show in a second.

-

Let's see what happens if we run our example now:

-
pub fn main() {
-    // test1 is safe to move before we initialize it
-    let mut test1 = Test::new("test1");
-    // Notice how we shadow `test1` to prevent it from being accessed again
-    let mut test1 = unsafe { Pin::new_unchecked(&mut test1) };
-    Test::init(test1.as_mut());
-
-    let mut test2 = Test::new("test2");
-    let mut test2 = unsafe { Pin::new_unchecked(&mut test2) };
-    Test::init(test2.as_mut());
-
-    println!("a: {}, b: {}", Test::a(test1.as_ref()), Test::b(test1.as_ref()));
-    println!("a: {}, b: {}", Test::a(test2.as_ref()), Test::b(test2.as_ref()));
-}
-# use std::pin::Pin;
-# use std::marker::PhantomPinned;
-#
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-#     _marker: PhantomPinned,
-# }
-#
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#             // This makes our type `!Unpin`
-#             _marker: PhantomPinned,
-#         }
-#     }
-#     fn init<'a>(self: Pin<&'a mut Self>) {
-#         let self_ptr: *const String = &self.a;
-#         let this = unsafe { self.get_unchecked_mut() };
-#         this.b = self_ptr;
-#     }
-#
-#     fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-#         &self.get_ref().a
-#     }
-#
-#     fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-#         unsafe { &*(self.b) }
-#     }
-# }
-
-

Now, if we try to pull the same trick which got us in to trouble the last time -you'll get a compilation error.

-
pub fn main() {
-    let mut test1 = Test::new("test1");
-    let mut test1 = unsafe { Pin::new_unchecked(&mut test1) };
-    Test::init(test1.as_mut());
-
-    let mut test2 = Test::new("test2");
-    let mut test2 = unsafe { Pin::new_unchecked(&mut test2) };
-    Test::init(test2.as_mut());
-
-    println!("a: {}, b: {}", Test::a(test1.as_ref()), Test::b(test1.as_ref()));
-    std::mem::swap(test1.get_mut(), test2.get_mut());
-    println!("a: {}, b: {}", Test::a(test2.as_ref()), Test::b(test2.as_ref()));
-}
-# use std::pin::Pin;
-# use std::marker::PhantomPinned;
-#
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-#     _marker: PhantomPinned,
-# }
-#
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         Test {
-#             a: let a = String::from(txt),
-#             b: std::ptr::null(),
-#             _marker: PhantomPinned, // This makes our type `!Unpin`
-#         }
-#     }
-#     fn init<'a>(self: Pin<&'a mut Self>) {
-#         let self_ptr: *const String = &self.a;
-#         let this = unsafe { self.get_unchecked_mut() };
-#         this.b = self_ptr;
-#     }
-#
-#     fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-#         &self.get_ref().a
-#     }
-#
-#     fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-#         unsafe { &*(self.b) }
-#     }
-# }
-
-

As you see from the error you get by running the code the type system prevents -us from swapping the pinned pointers.

-
-

It's important to note that stack pinning will always depend on the current -stack frame we're in, so we can't create a self referential object in one -stack frame and return it since any pointers we take to "self" is invalidated.

-

It also puts a lot of responsibility in your hands if you pin an object to the -stack. A mistake that is easy to make is, forgetting to shadow the original variable -since you could drop the Pin and access the old value after it's initialized -like this:

-
fn main() {
-   let mut test1 = Test::new("test1");
-   let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) };
-   Test::init(test1_pin.as_mut());
-   drop(test1_pin);
-
-   let mut test2 = Test::new("test2");
-   mem::swap(&mut test1, &mut test2);
-   println!("Not self referential anymore: {:?}", test1.b);
-}
-# use std::pin::Pin;
-# use std::marker::PhantomPinned;
-# use std::mem;
-#
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-#     _marker: PhantomPinned,
-# }
-#
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         Test {
-#             a: String::from(txt),
-#             b: std::ptr::null(),
-#             _marker: PhantomPinned, // This makes our type `!Unpin`
-#         }
-#     }
-#     fn init<'a>(self: Pin<&'a mut Self>) {
-#         let self_ptr: *const String = &self.a;
-#         let this = unsafe { self.get_unchecked_mut() };
-#         this.b = self_ptr;
-#     }
-#
-#     fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-#         &self.get_ref().a
-#     }
-#
-#     fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-#         unsafe { &*(self.b) }
-#     }
-# }
-
-
-

Pinning to the heap

-

For completeness let's remove some unsafe and the need for an init method -at the cost of a heap allocation. Pinning to the heap is safe so the user -doesn't need to implement any unsafe code:

-
use std::pin::Pin;
-use std::marker::PhantomPinned;
-
-#[derive(Debug)]
-struct Test {
-    a: String,
-    b: *const String,
-    _marker: PhantomPinned,
-}
-
-impl Test {
-    fn new(txt: &str) -> Pin<Box<Self>> {
-        let t = Test {
-            a: String::from(txt),
-            b: std::ptr::null(),
-            _marker: PhantomPinned,
-        };
-        let mut boxed = Box::pin(t);
-        let self_ptr: *const String = &boxed.as_ref().a;
-        unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr };
-
-        boxed
-    }
-
-    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-        &self.get_ref().a
-    }
-
-    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-        unsafe { &*(self.b) }
-    }
-}
-
-pub fn main() {
-    let mut test1 = Test::new("test1");
-    let mut test2 = Test::new("test2");
-
-    println!("a: {}, b: {}",test1.as_ref().a(), test1.as_ref().b());
-    println!("a: {}, b: {}",test2.as_ref().a(), test2.as_ref().b());
-}
-
-

The fact that it's safe to pin heap allocated data even if it is !Unpin -makes sense. Once the data is allocated on the heap it will have a stable address.

-

There is no need for us as users of the API to take special care and ensure -that the self-referential pointer stays valid.

-

There are ways to safely give some guarantees on stack pinning as well, but right -now you need to use a crate like pin_project to do that.

-

Practical rules for Pinning

-
    -
  1. -

    If T: Unpin (which is the default), then Pin<'a, T> is entirely -equivalent to &'a mut T. in other words: Unpin means it's OK for this type -to be moved even when pinned, so Pin will have no effect on such a type.

    -
  2. -
  3. -

    Getting a &mut T to a pinned T requires unsafe if T: !Unpin. In -other words: requiring a pinned pointer to a type which is !Unpin prevents -the user of that API from moving that value unless it choses to write unsafe -code.

    -
  4. -
  5. -

    Pinning does nothing special with memory allocation like putting it into some -"read only" memory or anything fancy. It only uses the type system to prevent -certain operations on this value.

    -
  6. -
  7. -

    Most standard library types implement Unpin. The same goes for most -"normal" types you encounter in Rust. Futures and Generators are two -exceptions.

    -
  8. -
  9. -

    The main use case for Pin is to allow self referential types, the whole -justification for stabilizing them was to allow that.

    -
  10. -
  11. -

    The implementation behind objects that are !Unpin is most likely unsafe. -Moving such a type after it has been pinned can cause the universe to crash. As of the time of writing -this book, creating and reading fields of a self referential struct still requires unsafe -(the only way to do it is to create a struct containing raw pointers to itself).

    -
  12. -
  13. -

    You can add a !Unpin bound on a type on nightly with a feature flag, or -by adding std::marker::PhantomPinned to your type on stable.

    -
  14. -
  15. -

    You can either pin an object to the stack or to the heap.

    -
  16. -
  17. -

    Pinning a !Unpin object to the stack requires unsafe

    -
  18. -
  19. -

    Pinning a !Unpin object to the heap does not require unsafe. There is a shortcut for doing this using Box::pin.

    -
  20. -
-
-

Unsafe code does not mean it's literally "unsafe", it only relieves the -guarantees you normally get from the compiler. An unsafe implementation can -be perfectly safe to do, but you have no safety net.

-
-

Projection/structural pinning

-

In short, projection is a programming language term. mystruct.field1 is a -projection. Structural pinning is using Pin on fields. This has several -caveats and is not something you'll normally see so I refer to the documentation -for that.

-

Pin and Drop

-

The Pin guarantee exists from the moment the value is pinned until it's dropped. -In the Drop implementation you take a mutable reference to self, which means -extra care must be taken when implementing Drop for pinned types.

-

Putting it all together

-

This is exactly what we'll do when we implement our own Future, so stay tuned, -we're soon finished.

-

Bonus section: Fixing our self-referential generator and learning more about Pin

-

But now, let's prevent this problem using Pin. I've commented along the way to -make it easier to spot and understand the changes we need to make.

-
#![feature(optin_builtin_traits, negative_impls)] // needed to implement `!Unpin`
-use std::pin::Pin;
-
-pub fn main() {
-    let gen1 = GeneratorA::start();
-    let gen2 = GeneratorA::start();
-    // Before we pin the data, this is safe to do
-    // std::mem::swap(&mut gen, &mut gen2);
-
-    // constructing a `Pin::new()` on a type which does not implement `Unpin` is
-    // unsafe. An object pinned to heap can be constructed while staying in safe
-    // Rust so we can use that to avoid unsafe. You can also use crates like
-    // `pin_utils` to pin to the stack safely, just remember that they use
-    // unsafe under the hood so it's like using an already-reviewed unsafe
-    // implementation.
-
-    let mut pinned1 = Box::pin(gen1);
-    let mut pinned2 = Box::pin(gen2);
-
-    // Uncomment these if you think it's safe to pin the values to the stack instead
-    // (it is in this case). Remember to comment out the two previous lines first.
-    //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) };
-    //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) };
-
-    if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() {
-        println!("Gen1 got value {}", n);
-    }
-
-    if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() {
-        println!("Gen2 got value {}", n);
-    };
-
-    // This won't work:
-    // std::mem::swap(&mut gen, &mut gen2);
-    // This will work but will just swap the pointers so nothing bad happens here:
-    // std::mem::swap(&mut pinned1, &mut pinned2);
-
-    let _ = pinned1.as_mut().resume();
-    let _ = pinned2.as_mut().resume();
-}
-
-enum GeneratorState<Y, R> {
-    Yielded(Y),
-    Complete(R),
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter,
-    Yield1 {
-        to_borrow: String,
-        borrowed: *const String,
-    },
-    Exit,
-}
-
-impl GeneratorA {
-    fn start() -> Self {
-        GeneratorA::Enter
-    }
-}
-
-// This tells us that this object is not safe to move after pinning.
-// In this case, only we as implementors "feel" this, however, if someone is
-// relying on our Pinned data this will prevent them from moving it. You need
-// to enable the feature flag `#![feature(optin_builtin_traits)]` and use the
-// nightly compiler to implement `!Unpin`. Normally, you would use
-// `std::marker::PhantomPinned` to indicate that the struct is `!Unpin`.
-impl !Unpin for GeneratorA { }
-
-impl Generator for GeneratorA {
-    type Yield = usize;
-    type Return = ();
-    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        let this = unsafe { self.get_unchecked_mut() };
-            match this {
-            GeneratorA::Enter => {
-                let to_borrow = String::from("Hello");
-                let borrowed = &to_borrow;
-                let res = borrowed.len();
-                *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-
-                // Trick to actually get a self reference. We can't reference
-                // the `String` earlier since these references will point to the
-                // location in this stack frame which will not be valid anymore
-                // when this function returns.
-                if let GeneratorA::Yield1 {to_borrow, borrowed} = this {
-                    *borrowed = to_borrow;
-                }
-
-                GeneratorState::Yielded(res)
-            }
-
-            GeneratorA::Yield1 {borrowed, ..} => {
-                let borrowed: &String = unsafe {&**borrowed};
-                println!("{} world", borrowed);
-                *this = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-
-

Now, as you see, the consumer of this API must either:

-
    -
  1. Box the value and thereby allocating it on the heap
  2. -
  3. Use unsafe and pin the value to the stack. The user knows that if they move -the value afterwards it will violate the guarantee they promise to uphold when -they did their unsafe implementation.
  4. -
-

Hopefully, after this you'll have an idea of what happens when you use the -yield or await keywords inside an async function, and why we need Pin if -we want to be able to safely borrow across yield/await points.

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/6_future_example.html b/book/6_future_example.html deleted file mode 100644 index 2d9fe7d..0000000 --- a/book/6_future_example.html +++ /dev/null @@ -1,1004 +0,0 @@ - - - - - - Implementing Futures - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Implementing Futures - main example

-

We'll create our own Futures together with a fake reactor and a simple -executor which allows you to edit, run an play around with the code right here -in your browser.

-

I'll walk you through the example, but if you want to check it out closer, you -can always clone the repository and play around with the code -yourself or just copy it from the next chapter.

-

There are several branches explained in the readme, but two are -relevant for this chapter. The main branch is the example we go through here, -and the basic_example_commented branch is this example with extensive -comments.

-
-

If you want to follow along as we go through, initialize a new cargo project -by creating a new folder and run cargo init inside it. Everything we write -here will be in main.rs

-
-

Implementing our own Futures

-

Let's start off by getting all our imports right away so you can follow along

-
use std::{
-    future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,},
-    task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem,
-    thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap
-};
-
-

The Executor

-

The executors responsibility is to take one or more futures and run them to completion.

-

The first thing an executor does when it gets a Future is polling it.

-

When polled one of three things can happen:

-
    -
  • The future returns Ready and we schedule whatever chained operations to run
  • -
  • The future hasn't been polled before so we pass it a Waker and suspend it
  • -
  • The futures has been polled before but is not ready and returns Pending
  • -
-

Rust provides a way for the Reactor and Executor to communicate through the Waker. The reactor stores this Waker and calls Waker::wake() on it once -a Future has resolved and should be polled again.

-
-

Notice that this chapter has a bonus section called A Proper Way to Park our Thread which shows how to avoid thread::park.

-
-

Our Executor will look like this:

-
// Our executor takes any object which implements the `Future` trait
-fn block_on<F: Future>(mut future: F) -> F::Output {
-
-    // the first thing we do is to construct a `Waker` which we'll pass on to
-    // the `reactor` so it can wake us up when an event is ready.
-    let mywaker = Arc::new(MyWaker{ thread: thread::current() });
-    let waker = waker_into_waker(Arc::into_raw(mywaker));
-
-    // The context struct is just a wrapper for a `Waker` object. Maybe in the
-    // future this will do more, but right now it's just a wrapper.
-    let mut cx = Context::from_waker(&waker);
-
-    // So, since we run this on one thread and run one future to completion
-    // we can pin the `Future` to the stack. This is unsafe, but saves an
-    // allocation. We could `Box::pin` it too if we wanted. This is however
-    // safe since we shadow `future` so it can't be accessed again and will
-    // not move until it's dropped.
-    let mut future = unsafe { Pin::new_unchecked(&mut future) };
-
-    // We poll in a loop, but it's not a busy loop. It will only run when
-    // an event occurs, or a thread has a "spurious wakeup" (an unexpected wakeup
-    // that can happen for no good reason).
-    let val = loop { 
-        match Future::poll(future, &mut cx) {
-        
-            // when the Future is ready we're finished
-            Poll::Ready(val) => break val,
-
-            // If we get a `pending` future we just go to sleep...
-            Poll::Pending => thread::park(),
-        };
-    };
-    val
-}
-
-

In all the examples you'll see in this chapter I've chosen to comment the code -extensively. I find it easier to follow along that way so I'll not repeat myself -here and focus only on some important aspects that might need further explanation.

-

It's worth noting that simply calling thread::sleep as we do here can lead to -both deadlocks and errors. We'll explain a bit more later and fix this if you -read all the way to the Bonus Section at -the end of this chapter.

-

For now, we keep it as simple and easy to understand as we can by just going -to sleep.

-

Now that you've read so much about Generators and Pin already this should -be rather easy to understand. Future is a state machine, every await point -is a yield point. We could borrow data across await points and we meet the -exact same challenges as we do when borrowing across yield points.

-
-

Context is just a wrapper around the Waker. At the time of writing this -book it's nothing more. In the future it might be possible that the Context -object will do more than just wrapping a Future so having this extra -abstraction gives some flexibility.

-
-

As explained in the chapter about generators, we use -Pin and the guarantees that give us to allow Futures to have self -references.

-

The Future implementation

-

Futures has a well defined interface, which means they can be used across the -entire ecosystem.

-

We can chain these Futures so that once a leaf-future is -ready we'll perform a set of operations until either the task is finished or we -reach yet another leaf-future which we'll wait for and yield control to the -scheduler.

-

Our Future implementation looks like this:

-
// This is the definition of our `Waker`. We use a regular thread-handle here.
-// It works but it's not a good solution. It's easy to fix though, I'll explain
-// after this code snippet.
-#[derive(Clone)]
-struct MyWaker {
-    thread: thread::Thread,
-}
-
-// This is the definition of our `Future`. It keeps all the information we
-// need. This one holds a reference to our `reactor`, that's just to make
-// this example as easy as possible. It doesn't need to hold a reference to
-// the whole reactor, but it needs to be able to register itself with the
-// reactor.
-#[derive(Clone)]
-pub struct Task {
-    id: usize,
-    reactor: Arc<Mutex<Box<Reactor>>>,
-    data: u64,
-}
-
-// These are function definitions we'll use for our waker. Remember the
-// "Trait Objects" chapter earlier.
-fn mywaker_wake(s: &MyWaker) {
-    let waker_ptr: *const MyWaker = s;
-    let waker_arc = unsafe {Arc::from_raw(waker_ptr)};
-    waker_arc.thread.unpark();
-}
-
-// Since we use an `Arc` cloning is just increasing the refcount on the smart
-// pointer.
-fn mywaker_clone(s: &MyWaker) -> RawWaker {
-    let arc = unsafe { Arc::from_raw(s) };
-    std::mem::forget(arc.clone()); // increase ref count
-    RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
-}
-
-// This is actually a "helper funtcion" to create a `Waker` vtable. In contrast
-// to when we created a `Trait Object` from scratch we don't need to concern
-// ourselves with the actual layout of the `vtable` and only provide a fixed
-// set of functions
-const VTABLE: RawWakerVTable = unsafe {
-    RawWakerVTable::new(
-        |s| mywaker_clone(&*(s as *const MyWaker)),     // clone
-        |s| mywaker_wake(&*(s as *const MyWaker)),      // wake
-        |s| mywaker_wake(*(s as *const &MyWaker)),      // wake by ref
-        |s| drop(Arc::from_raw(s as *const MyWaker)),   // decrease refcount
-    )
-};
-
-// Instead of implementing this on the `MyWaker` object in `impl Mywaker...` we
-// just use this pattern instead since it saves us some lines of code.
-fn waker_into_waker(s: *const MyWaker) -> Waker {
-    let raw_waker = RawWaker::new(s as *const (), &VTABLE);
-    unsafe { Waker::from_raw(raw_waker) }
-}
-
-impl Task {
-    fn new(reactor: Arc<Mutex<Box<Reactor>>>, data: u64, id: usize) -> Self {
-        Task { id, reactor, data }
-    }
-}
-
-// This is our `Future` implementation
-impl Future for Task {
-    type Output = usize;
-
-    // Poll is the what drives the state machine forward and it's the only
-    // method we'll need to call to drive futures to completion.
-    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
-
-        // We need to get access the reactor in our `poll` method so we acquire
-        // a lock on that.
-        let mut r = self.reactor.lock().unwrap();
-
-        // First we check if the task is marked as ready
-        if r.is_ready(self.id) {
-
-            // If it's ready we set its state to `Finished`
-            *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;
-            Poll::Ready(self.id)
-        
-        // If it isn't finished we check the map we have stored in our Reactor
-        // over id's we have registered and see if it's there
-        } else if r.tasks.contains_key(&self.id) {
-
-            // This is important. The docs says that on multiple calls to poll,
-            // only the Waker from the Context passed to the most recent call
-            // should be scheduled to receive a wakeup. That's why we insert
-            // this waker into the map (which will return the old one which will
-            // get dropped) before we return `Pending`.
-            r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));
-            Poll::Pending
-        } else {
-
-            // If it's not ready, and not in the map it's a new task so we
-            // register that with the Reactor and return `Pending`
-            r.register(self.data, cx.waker().clone(), self.id);
-            Poll::Pending
-        }
-
-        // Note that we're holding a lock on the `Mutex` which protects the
-        // Reactor all the way until the end of this scope. This means that
-        // even if our task were to complete immidiately, it will not be
-        // able to call `wake` while we're in our `Poll` method.
-
-        // Since we can make this guarantee, it's now the Executors job to
-        // handle this possible race condition where `Wake` is called after
-        // `poll` but before our thread goes to sleep.
-    }
-}
-
-

This is mostly pretty straight forward. The confusing part is the strange way -we need to construct the Waker, but since we've already created our own -trait objects from raw parts, this looks pretty familiar. Actually, it's -even a bit easier.

-

We use an Arc here to pass out a ref-counted borrow of our MyWaker. This -is pretty normal, and makes this easy and safe to work with. Cloning a Waker -is just increasing the refcount in this case.

-

Dropping a Waker is as easy as decreasing the refcount. Now, in special -cases we could choose to not use an Arc. So this low-level method is there -to allow such cases.

-

Indeed, if we only used Arc there is no reason for us to go through all the -trouble of creating our own vtable and a RawWaker. We could just implement -a normal trait.

-

Fortunately, in the future this will probably be possible in the standard -library as well. For now, this trait lives in the nursery, but my -guess is that this will be a part of the standard library after some maturing.

-

We choose to pass in a reference to the whole Reactor here. This isn't normal. -The reactor will often be a global resource which let's us register interests -without passing around a reference.

-
-

Why using thread park/unpark is a bad idea for a library

-

It could deadlock easily since anyone could get a handle to the executor thread -and call park/unpark on our thread. I've made an example with comments on the -playground that showcases how such an error could occur. You can also read a bit more about this in issue 2010 -in the futures crate.

-
-

The Reactor

-

This is the home stretch, and not strictly Future related, but we need one -to have an example to run.

-

Since concurrency mostly makes sense when interacting with the outside world (or -at least some peripheral), we need something to actually abstract over this -interaction in an asynchronous way.

-

This is the Reactors job. Most often you'll see reactors in Rust use a library -called Mio, which provides non blocking APIs and event notification for -several platforms.

-

The reactor will typically give you something like a TcpStream (or any other -resource) which you'll use to create an I/O request. What you get in return is a -Future.

-
-

If our reactor did some real I/O work our Task in would instead be represent -a non-blocking TcpStream which registers interest with the global Reactor. -Passing around a reference to the Reactor itself is pretty uncommon but I find -it makes reasoning about what's happening easier.

-
-

Our example task is a timer that only spawns a thread and puts it to sleep for -the number of seconds we specify. The reactor we create here will create a -leaf-future representing each timer. In return the Reactor receives a waker -which it will call once the task is finished.

-

To be able to run the code here in the browser there is not much real I/O we -can do so just pretend that this is actually represents some useful I/O operation -for the sake of this example.

-

Our Reactor will look like this:

-
// This is a "fake" reactor. It does no real I/O, but that also makes our
-// code possible to run in the book and in the playground
-// The different states a task can have in this Reactor
-enum TaskState {
-    Ready,
-    NotReady(Waker),
-    Finished,
-}
-
-// This is a "fake" reactor. It does no real I/O, but that also makes our
-// code possible to run in the book and in the playground
-struct Reactor {
-
-    // we need some way of registering a Task with the reactor. Normally this
-    // would be an "interest" in an I/O event
-    dispatcher: Sender<Event>,
-    handle: Option<JoinHandle<()>>,
-
-    // This is a list of tasks
-    tasks: HashMap<usize, TaskState>,
-}
-
-// This represents the Events we can send to our reactor thread. In this
-// example it's only a Timeout or a Close event.
-#[derive(Debug)]
-enum Event {
-    Close,
-    Timeout(u64, usize),
-}
-
-impl Reactor {
-
-    // We choose to return an atomic reference counted, mutex protected, heap
-    // allocated `Reactor`. Just to make it easy to explain... No, the reason
-    // we do this is:
-    //
-    // 1. We know that only thread-safe reactors will be created.
-    // 2. By heap allocating it we can obtain a reference to a stable address
-    // that's not dependent on the stack frame of the function that called `new`
-    fn new() -> Arc<Mutex<Box<Self>>> {
-        let (tx, rx) = channel::<Event>();
-        let reactor = Arc::new(Mutex::new(Box::new(Reactor {
-            dispatcher: tx,
-            handle: None,
-            tasks: HashMap::new(),
-        })));
-        
-        // Notice that we'll need to use `weak` reference here. If we don't,
-        // our `Reactor` will not get `dropped` when our main thread is finished
-        // since we're holding internal references to it.
-
-        // Since we're collecting all `JoinHandles` from the threads we spawn
-        // and make sure to join them we know that `Reactor` will be alive
-        // longer than any reference held by the threads we spawn here.
-        let reactor_clone = Arc::downgrade(&reactor);
-
-        // This will be our Reactor-thread. The Reactor-thread will in our case
-        // just spawn new threads which will serve as timers for us.
-        let handle = thread::spawn(move || {
-            let mut handles = vec![];
-
-            // This simulates some I/O resource
-            for event in rx {
-                println!("REACTOR: {:?}", event);
-                let reactor = reactor_clone.clone();
-                match event {
-                    Event::Close => break,
-                    Event::Timeout(duration, id) => {
-
-                        // We spawn a new thread that will serve as a timer
-                        // and will call `wake` on the correct `Waker` once
-                        // it's done.
-                        let event_handle = thread::spawn(move || {
-                            thread::sleep(Duration::from_secs(duration));
-                            let reactor = reactor.upgrade().unwrap();
-                            reactor.lock().map(|mut r| r.wake(id)).unwrap();
-                        });
-                        handles.push(event_handle);
-                    }
-                }
-            }
-
-            // This is important for us since we need to know that these
-            // threads don't live longer than our Reactor-thread. Our
-            // Reactor-thread will be joined when `Reactor` gets dropped.
-            handles.into_iter().for_each(|handle| handle.join().unwrap());
-        });
-        reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();
-        reactor
-    }
-
-    // The wake function will call wake on the waker for the task with the
-    // corresponding id.
-    fn wake(&mut self, id: usize) {
-        self.tasks.get_mut(&id).map(|state| {
-
-            // No matter what state the task was in we can safely set it
-            // to ready at this point. This lets us get ownership over the
-            // the data that was there before we replaced it.
-            match mem::replace(state, TaskState::Ready) {
-                TaskState::NotReady(waker) => waker.wake(),
-                TaskState::Finished => panic!("Called 'wake' twice on task: {}", id),
-                _ => unreachable!()
-            }
-        }).unwrap();
-    }
-
-    // Register a new task with the reactor. In this particular example
-    // we panic if a task with the same id get's registered twice 
-    fn register(&mut self, duration: u64, waker: Waker, id: usize) {
-        if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {
-            panic!("Tried to insert a task with id: '{}', twice!", id);
-        }
-        self.dispatcher.send(Event::Timeout(duration, id)).unwrap();
-    }
-
-    // We send a close event to the reactor so it closes down our reactor-thread
-    fn close(&mut self) {
-        self.dispatcher.send(Event::Close).unwrap();
-    }
-
-    // We simply checks if a task with this id is in the state `TaskState::Ready`
-    fn is_ready(&self, id: usize) -> bool {
-        self.tasks.get(&id).map(|state| match state {
-            TaskState::Ready => true,
-            _ => false,
-        }).unwrap_or(false)
-    }
-}
-
-impl Drop for Reactor {
-    fn drop(&mut self) {
-        self.handle.take().map(|h| h.join().unwrap()).unwrap();
-    }
-}
-
-

It's a lot of code though, but essentially we just spawn off a new thread -and make it sleep for some time which we specify when we create a Task.

-

Now, let's test our code and see if it works. Since we're sleeping for a couple -of seconds here, just give it some time to run.

-

In the last chapter we have the whole 200 lines in an editable window -which you can edit and change the way you like.

-
# use std::{
-#     future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,},
-#     task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem,
-#     thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap
-# };
-#
-fn main() {
-    // This is just to make it easier for us to see when our Future was resolved
-    let start = Instant::now();
-
-    // Many runtimes create a glocal `reactor` we pass it as an argument
-    let reactor = Reactor::new();
-    
-    // We create two tasks:
-    // - first parameter is the `reactor`
-    // - the second is a timeout in seconds
-    // - the third is an `id` to identify the task
-    let future1 = Task::new(reactor.clone(), 1, 1);
-    let future2 = Task::new(reactor.clone(), 2, 2);
-
-    // an `async` block works the same way as an `async fn` in that it compiles
-    // our code into a state machine, `yielding` at every `await` point.
-    let fut1 = async {
-        let val = future1.await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    let fut2 = async {
-        let val = future2.await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    // Our executor can only run one and one future, this is pretty normal
-    // though. You have a set of operations containing many futures that
-    // ends up as a single future that drives them all to completion.
-    let mainfut = async {
-        fut1.await;
-        fut2.await;
-    };
-
-    // This executor will block the main thread until the futures is resolved
-    block_on(mainfut);
-
-    // When we're done, we want to shut down our reactor thread so our program
-    // ends nicely.
-    reactor.lock().map(|mut r| r.close()).unwrap();
-}
-# // ============================= EXECUTOR ====================================
-# fn block_on<F: Future>(mut future: F) -> F::Output {
-#     let mywaker = Arc::new(MyWaker {
-#         thread: thread::current(),
-#     });
-#     let waker = waker_into_waker(Arc::into_raw(mywaker));
-#     let mut cx = Context::from_waker(&waker);
-# 
-#     // SAFETY: we shadow `future` so it can't be accessed again.
-#     let mut future = unsafe { Pin::new_unchecked(&mut future) };
-#     let val = loop {
-#         match Future::poll(future.as_mut(), &mut cx) {
-#             Poll::Ready(val) => break val,
-#             Poll::Pending => thread::park(),
-#         };
-#     };
-#     val
-# }
-#
-# // ====================== FUTURE IMPLEMENTATION ==============================
-# #[derive(Clone)]
-# struct MyWaker {
-#     thread: thread::Thread,
-# }
-#
-# #[derive(Clone)]
-# pub struct Task {
-#     id: usize,
-#     reactor: Arc<Mutex<Box<Reactor>>>,
-#     data: u64,
-# }
-#
-# fn mywaker_wake(s: &MyWaker) {
-#     let waker_ptr: *const MyWaker = s;
-#     let waker_arc = unsafe { Arc::from_raw(waker_ptr) };
-#     waker_arc.thread.unpark();
-# }
-#
-# fn mywaker_clone(s: &MyWaker) -> RawWaker {
-#     let arc = unsafe { Arc::from_raw(s) };
-#     std::mem::forget(arc.clone()); // increase ref count
-#     RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
-# }
-#
-# const VTABLE: RawWakerVTable = unsafe {
-#     RawWakerVTable::new(
-#         |s| mywaker_clone(&*(s as *const MyWaker)),   // clone
-#         |s| mywaker_wake(&*(s as *const MyWaker)),    // wake
-#         |s| mywaker_wake(*(s as *const &MyWaker)),    // wake by ref
-#         |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount
-#     )
-# };
-#
-# fn waker_into_waker(s: *const MyWaker) -> Waker {
-#     let raw_waker = RawWaker::new(s as *const (), &VTABLE);
-#     unsafe { Waker::from_raw(raw_waker) }
-# }
-#
-# impl Task {
-#     fn new(reactor: Arc<Mutex<Box<Reactor>>>, data: u64, id: usize) -> Self {
-#         Task { id, reactor, data }
-#     }
-# }
-#
-# impl Future for Task {
-#     type Output = usize;
-#     fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
-#         let mut r = self.reactor.lock().unwrap();
-#         if r.is_ready(self.id) {
-#             println!("POLL: TASK {} IS READY", self.id);
-#             *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;
-#             Poll::Ready(self.id)
-#         } else if r.tasks.contains_key(&self.id) {
-#             println!("POLL: REPLACED WAKER FOR TASK: {}", self.id);
-#             r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));
-#             Poll::Pending
-#         } else {
-#             println!("POLL: REGISTERED TASK: {}, WAKER: {:?}", self.id, cx.waker());
-#             r.register(self.data, cx.waker().clone(), self.id);
-#             Poll::Pending
-#         }
-#     }
-# }
-#
-# // =============================== REACTOR ===================================
-# enum TaskState {
-#     Ready,
-#     NotReady(Waker),
-#     Finished,
-# }
-# struct Reactor {
-#     dispatcher: Sender<Event>,
-#     handle: Option<JoinHandle<()>>,
-#     tasks: HashMap<usize, TaskState>,
-# }
-# 
-# #[derive(Debug)]
-# enum Event {
-#     Close,
-#     Timeout(u64, usize),
-# }
-#
-# impl Reactor {
-#     fn new() -> Arc<Mutex<Box<Self>>> {
-#         let (tx, rx) = channel::<Event>();
-#         let reactor = Arc::new(Mutex::new(Box::new(Reactor {
-#             dispatcher: tx,
-#             handle: None,
-#             tasks: HashMap::new(),
-#         })));
-#         
-#         let reactor_clone = Arc::downgrade(&reactor);
-#         let handle = thread::spawn(move || {
-#             let mut handles = vec![];
-#             // This simulates some I/O resource
-#             for event in rx {
-#                 println!("REACTOR: {:?}", event);
-#                 let reactor = reactor_clone.clone();
-#                 match event {
-#                     Event::Close => break,
-#                     Event::Timeout(duration, id) => {
-#                         let event_handle = thread::spawn(move || {
-#                             thread::sleep(Duration::from_secs(duration));
-#                             let reactor = reactor.upgrade().unwrap();
-#                             reactor.lock().map(|mut r| r.wake(id)).unwrap();
-#                         });
-#                         handles.push(event_handle);
-#                     }
-#                 }
-#             }
-#             handles.into_iter().for_each(|handle| handle.join().unwrap());
-#         });
-#         reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();
-#         reactor
-#     }
-# 
-#     fn wake(&mut self, id: usize) {
-#         self.tasks.get_mut(&id).map(|state| {
-#             match mem::replace(state, TaskState::Ready) {
-#                 TaskState::NotReady(waker) => waker.wake(),
-#                 TaskState::Finished => panic!("Called 'wake' twice on task: {}", id),
-#                 _ => unreachable!()
-#             }
-#         }).unwrap();
-#     }
-# 
-#     fn register(&mut self, duration: u64, waker: Waker, id: usize) {
-#         if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {
-#             panic!("Tried to insert a task with id: '{}', twice!", id);
-#         }
-#         self.dispatcher.send(Event::Timeout(duration, id)).unwrap();
-#     }
-#
-#     fn close(&mut self) {
-#         self.dispatcher.send(Event::Close).unwrap();
-#     }
-# 
-#     fn is_ready(&self, id: usize) -> bool {
-#         self.tasks.get(&id).map(|state| match state {
-#             TaskState::Ready => true,
-#             _ => false,
-#         }).unwrap_or(false)
-#     }
-# }
-#
-# impl Drop for Reactor {
-#     fn drop(&mut self) {
-#         self.handle.take().map(|h| h.join().unwrap()).unwrap();
-#     }
-# }
-
-

I added a some debug printouts so we can observe a couple of things:

-
    -
  1. How the Waker object looks just like the trait object we talked about in an earlier chapter
  2. -
  3. The program flow from start to finish
  4. -
-

The last point is relevant when we move on the the last paragraph.

-

Async/Await and concurrecy

-

The async keyword can be used on functions as in async fn(...) or on a -block as in async { ... }. Both will turn your function, or block, into a -Future.

-

These Futures are rather simple. Imagine our generator from a few chapters -back. Every await point is like a yield point.

-

Instead of yielding a value we pass in, we yield the result of calling poll on -the next Future we're awaiting.

-

Our mainfut contains two non-leaf futures which it will call poll on. Non-leaf-futures -has a poll method that simply polls their inner futures and these state machines -are polled until some "leaf future" in the end either returns Ready or Pending.

-

The way our example is right now, it's not much better than regular synchronous -code. For us to actually await multiple futures at the same time we somehow need -to spawn them so the executor starts running them concurrently.

-

Our example as it stands now returns this:

-
Future got 1 at time: 1.00.
-Future got 2 at time: 3.00.
-
-

If these Futures were executed asynchronously we would expect to see:

-
Future got 1 at time: 1.00.
-Future got 2 at time: 2.00.
-
-
-

Note that this doesn't mean they need to run in parallel. They can run in -parallel but there is no requirement. Remember that we're waiting for some -external resource so we can fire off many such calls on a single thread and -handle each event as it resolves.

-
-

Now, this is the point where I'll refer you to some better resources for -implementing a better executor. You should have a pretty good understanding of -the concept of Futures by now helping you along the way.

-

The next step should be getting to know how more advanced runtimes work and -how they implement different ways of running Futures to completion.

-

If I were you I would read this next, and try to implement it for our example..

-

That's actually it for now. There as probably much more to learn, this is enough -for today.

-

I hope exploring Futures and async in general gets easier after this read and I -do really hope that you do continue to explore further.

-

Don't forget the exercises in the last chapter 😊.

-

Bonus Section - a Proper Way to Park our Thread

-

As we explained earlier in our chapter, simply calling thread::sleep is not really -sufficient to implement a proper reactor. You can also reach a tool like the Parker -in crossbeam: crossbeam::sync::Parker

-

Since it doesn't require many lines of code to create a working solution ourselves we'll show how -we can solve that by using a Condvar and a Mutex instead.

-

Start by implementing our own Parker like this:

-
#[derive(Default)]
-struct Parker(Mutex<bool>, Condvar);
-
-impl Parker {
-    fn park(&self) {
-
-        // We aquire a lock to the Mutex which protects our flag indicating if we
-        // should resume execution or not.
-        let mut resumable = self.0.lock().unwrap();
-
-            // We put this in a loop since there is a chance we'll get woken, but
-            // our flag hasn't changed. If that happens, we simply go back to sleep.
-            while !*resumable {
-
-                // We sleep until someone notifies us
-                resumable = self.1.wait(resumable).unwrap();
-            }
-
-        // We immidiately set the condition to false, so that next time we call `park` we'll
-        // go right to sleep.
-        *resumable = false;
-    }
-
-    fn unpark(&self) {
-        // We simply acquire a lock to our flag and sets the condition to `runnable` when we
-        // get it.
-        *self.0.lock().unwrap() = true;
-
-        // We notify our `Condvar` so it wakes up and resumes.
-        self.1.notify_one();
-    }
-}
-
-

The Condvar in Rust is designed to work together with a Mutex. Usually, you'd think that we don't -release the mutex-lock we acquire in self.0.lock().unwrap(); before we go to sleep. Which means -that our unpark function never will acquire a lock to our flag and we deadlock.

-

Using Condvar we avoid this since the Condvar will consume our lock so it's released at the -moment we go to sleep.

-

When we resume again, our Condvar returns our lock so we can continue to operate on it.

-

This means we need to make some very slight changes to our executor like this:

-
fn block_on<F: Future>(mut future: F) -> F::Output {
-    let parker = Arc::new(Parker::default()); // <--- NB!
-    let mywaker = Arc::new(MyWaker { parker: parker.clone() }); <--- NB!
-    let waker = mywaker_into_waker(Arc::into_raw(mywaker));
-    let mut cx = Context::from_waker(&waker);
-    
-    // SAFETY: we shadow `future` so it can't be accessed again.
-    let mut future = unsafe { Pin::new_unchecked(&mut future) }; 
-    loop {
-        match Future::poll(future.as_mut(), &mut cx) {
-            Poll::Ready(val) => break val,
-            Poll::Pending => parker.park(), // <--- NB!
-        };
-    }
-}
-
-

And we need to change our Waker like this:

-
#[derive(Clone)]
-struct MyWaker {
-    parker: Arc<Parker>,
-}
-
-fn mywaker_wake(s: &MyWaker) {
-    let waker_arc = unsafe { Arc::from_raw(s) };
-    waker_arc.parker.unpark();
-}
-
-

And that's really all there is to it.

-
-

If you checked out the playground link that showcased how park/unpark could cause subtle -problems -you can check out this example which shows how our final version avoids this problem.

-
-

The next chapter shows our finished code with this -improvement which you can explore further if you wish.

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/8_finished_example.html b/book/8_finished_example.html deleted file mode 100644 index 00fea28..0000000 --- a/book/8_finished_example.html +++ /dev/null @@ -1,459 +0,0 @@ - - - - - - Finished example (editable) - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Our finished code

-

Here is the whole example. You can edit it right here in your browser and -run it yourself. Have fun!

-
fn main() {
-    let start = Instant::now();
-    let reactor = Reactor::new();
-
-    let fut1 = async {
-        let val = Task::new(reactor.clone(), 1, 1).await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    let fut2 = async {
-        let val = Task::new(reactor.clone(), 2, 2).await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    let mainfut = async {
-        fut1.await;
-        fut2.await;
-    };
-
-    block_on(mainfut);
-    reactor.lock().map(|mut r| r.close()).unwrap();
-}
-
-use std::{
-    future::Future, sync::{ mpsc::{channel, Sender}, Arc, Mutex, Condvar},
-    task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem, pin::Pin,
-    thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap
-};
-// ============================= EXECUTOR ====================================
-#[derive(Default)]
-struct Parker(Mutex<bool>, Condvar);
-
-impl Parker {
-    fn park(&self) {
-        let mut resumable = self.0.lock().unwrap();
-            while !*resumable {
-                resumable = self.1.wait(resumable).unwrap();
-            }
-        *resumable = false;
-    }
-
-    fn unpark(&self) {
-        *self.0.lock().unwrap() = true;
-        self.1.notify_one();
-    }
-}
-
-fn block_on<F: Future>(mut future: F) -> F::Output {
-    let parker = Arc::new(Parker::default());
-    let mywaker = Arc::new(MyWaker { parker: parker.clone() });
-    let waker = mywaker_into_waker(Arc::into_raw(mywaker));
-    let mut cx = Context::from_waker(&waker);
-    
-    // SAFETY: we shadow `future` so it can't be accessed again.
-    let mut future = unsafe { Pin::new_unchecked(&mut future) }; 
-    loop {
-        match Future::poll(future.as_mut(), &mut cx) {
-            Poll::Ready(val) => break val,
-            Poll::Pending => parker.park(),
-        };
-    }
-}
-// ====================== FUTURE IMPLEMENTATION ==============================
-#[derive(Clone)]
-struct MyWaker {
-    parker: Arc<Parker>,
-}
-
-#[derive(Clone)]
-pub struct Task {
-    id: usize,
-    reactor: Arc<Mutex<Box<Reactor>>>,
-    data: u64,
-}
-
-fn mywaker_wake(s: &MyWaker) {
-    let waker_arc = unsafe { Arc::from_raw(s) };
-    waker_arc.parker.unpark();
-}
-
-fn mywaker_clone(s: &MyWaker) -> RawWaker {
-    let arc = unsafe { Arc::from_raw(s) };
-    std::mem::forget(arc.clone()); // increase ref count
-    RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
-}
-
-const VTABLE: RawWakerVTable = unsafe {
-    RawWakerVTable::new(
-        |s| mywaker_clone(&*(s as *const MyWaker)),   // clone
-        |s| mywaker_wake(&*(s as *const MyWaker)),    // wake
-        |s| mywaker_wake(*(s as *const &MyWaker)),    // wake by ref
-        |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount
-    )
-};
-
-fn mywaker_into_waker(s: *const MyWaker) -> Waker {
-    let raw_waker = RawWaker::new(s as *const (), &VTABLE);
-    unsafe { Waker::from_raw(raw_waker) }
-}
-
-impl Task {
-    fn new(reactor: Arc<Mutex<Box<Reactor>>>, data: u64, id: usize) -> Self {
-        Task { id, reactor, data }
-    }
-}
-
-impl Future for Task {
-    type Output = usize;
-    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
-        let mut r = self.reactor.lock().unwrap();
-        if r.is_ready(self.id) {
-            *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;
-            Poll::Ready(self.id)
-        } else if r.tasks.contains_key(&self.id) {
-            r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));
-            Poll::Pending
-        } else {
-            r.register(self.data, cx.waker().clone(), self.id);
-            Poll::Pending
-        }
-    }
-}
-// =============================== REACTOR ===================================
-enum TaskState {
-    Ready,
-    NotReady(Waker),
-    Finished,
-}
-struct Reactor {
-    dispatcher: Sender<Event>,
-    handle: Option<JoinHandle<()>>,
-    tasks: HashMap<usize, TaskState>,
-}
-
-#[derive(Debug)]
-enum Event {
-    Close,
-    Timeout(u64, usize),
-}
-
-impl Reactor {
-    fn new() -> Arc<Mutex<Box<Self>>> {
-        let (tx, rx) = channel::<Event>();
-        let reactor = Arc::new(Mutex::new(Box::new(Reactor {
-            dispatcher: tx,
-            handle: None,
-            tasks: HashMap::new(),
-        })));
-        
-        let reactor_clone = Arc::downgrade(&reactor);
-        let handle = thread::spawn(move || {
-            let mut handles = vec![];
-            for event in rx {
-                let reactor = reactor_clone.clone();
-                match event {
-                    Event::Close => break,
-                    Event::Timeout(duration, id) => {
-                        let event_handle = thread::spawn(move || {
-                            thread::sleep(Duration::from_secs(duration));
-                            let reactor = reactor.upgrade().unwrap();
-                            reactor.lock().map(|mut r| r.wake(id)).unwrap();
-                        });
-                        handles.push(event_handle);
-                    }
-                }
-            }
-            handles.into_iter().for_each(|handle| handle.join().unwrap());
-        });
-        reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();
-        reactor
-    }
-
-    fn wake(&mut self, id: usize) {
-        let state = self.tasks.get_mut(&id).unwrap();
-        match mem::replace(state, TaskState::Ready) {
-            TaskState::NotReady(waker) => waker.wake(),
-            TaskState::Finished => panic!("Called 'wake' twice on task: {}", id),
-            _ => unreachable!()
-        }
-    }
-
-    fn register(&mut self, duration: u64, waker: Waker, id: usize) {
-        if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {
-            panic!("Tried to insert a task with id: '{}', twice!", id);
-        }
-        self.dispatcher.send(Event::Timeout(duration, id)).unwrap();
-    }
-
-    fn close(&mut self) {
-        self.dispatcher.send(Event::Close).unwrap();
-    }
-
-    fn is_ready(&self, id: usize) -> bool {
-        self.tasks.get(&id).map(|state| match state {
-            TaskState::Ready => true,
-            _ => false,
-        }).unwrap_or(false)
-    }
-}
-
-impl Drop for Reactor {
-    fn drop(&mut self) {
-        self.handle.take().map(|h| h.join().unwrap()).unwrap();
-    }
-}
-
- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/FontAwesome/css/font-awesome.css b/book/FontAwesome/css/font-awesome.css deleted file mode 100644 index 540440c..0000000 --- a/book/FontAwesome/css/font-awesome.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/book/FontAwesome/fonts/FontAwesome.ttf b/book/FontAwesome/fonts/FontAwesome.ttf deleted file mode 100644 index 35acda2fa1196aad98c2adf4378a7611dd713aa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165548 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 z 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 d0mW2@EHO9NV8h3u2x_sp}KECIB>@9+Qn{FBV{ zJTr4<=FH5QnRCvZnOu5{#2&j@Vw_3r#2?PKa|-F4dtx{Ptp0P(#$Rn88poKQO<|X@ zOW8U$o^4<&*p=|D!J9EVI}`7V*m|~_En`<8B*M-{$Q6LOSfmND1Z!lia3ffVHQ_mu zwE*t)c_Na~v9UCh+1x2p=FeL7+|;L;bTeUAHg(eEDN-*};9m=WXwJOhO^lgVEPBX5Gh_bo8QSSFY{vM^4hsD-mzHX!X?>-tpg$&tfe27?V1mUAbb} z1dVewCjIN7C5$=lXROG% zX4%HIa)VTc_%^_YE?u@}#b58a4S8RL@|2s`UUucWZ{P9NJxp5Fi!#@Xx+(mZ+kdt3 zobw#*|6)Z(BxCGw^Gi+ncRvs|a|3xz=tRA9@HDV~1eqD)`^`KTPEg`UdXhq18})-@}JTHp30^)`L{?* z;c)alkYAc@67|W!7RDPu6Tsy@xJCK8{2T9-fJw6?@=A(w^}KCVjwlOd=JTO=3Zr+< zIdd?1zo-M^76}Jf!cpLfH`+2q=}d5id5XLcPw#xVocH5RVG7;@@%R>Sxpy8{(H9JH zY1V)?J1-AIeIxKhoG1%;AWq7C50ok3DSe?!Gatbry_zpS*VoS6`$~lK9E?(!mcrm1 z^cLZ1fmx5Ds`-ethCvMtDTz zMd=G1)gR$jic|1SaTLaL-{ePJOFkUs%j634IMp}dnR5yGMtsXmA$+JDyxRuSq*)bk zt3tSN2(J<@ooh3|!(R%VsE#5%U{m-mB7fcy&h(8kC(#>yA(JCmQ6|O1<=_U=0+$AY zC)@~M`UboR6Xm2?$e8Z$r#u8)TEP0~`viw@@+){#874R?kHRP|IU4&!?+9Cy52v^I zPV4Xd{9yc;)#l?0VS#6g@ z`#y))03Laq@^6Z#Z*uvzpl{$JzFJgn&xHlNBS|Eb!E@}~Z$^m!a9k34KX zT|VETZ;B_E$Ai8J#t5#kATCAUlqbr&P~-s)k^FfWyz}iK@`B$FI6L0u1uz5fgfqgU zRBmB>F8s_qp1HWm1!aXOEbpf`U?X|>{F`8Md500U3i;Mh9Kvbd(CeuC>077ww4g^h zKgM(A48W`XEDE~N*Th^NqP#S7&^w2Vpq+df2#@A*&4u~I+>t)9&GYcop9OtUo=;2d zGSq?IMBAYZffMC1v^|Z|AWdQ38UdJS4(H(nFI<|%=>0iAn3lvcSjIR(^7r7QuQI0a zm+@Z9QXmf!efG1**%Ryq_G-AQs-mi^*WO#v+tE9_cWLjXz1Q{L-uqzh z-Vb`UBlaT|M;ecG9GQJ&>5)s1TzBO5BM%;V{K#`h4juXPkq?e&N9{)|j&>ZKeRS#3 zOOIZ6^!B3<9)0}ib4L#y{qxZe{ss8}C5PC)Atkb2XK%PS)jPMht9Na0x_5hTckhAT zOz+FRJ-xk0*b(QE(2)^GQb*<<={mCZNczb3Bi%<19LXGc`AE-^-lOcO^Jw^J>ge2~ zT}Rg*O&{HUwEO6RqnV>GAMK$M`~TX%q<>-my#5LOBmex)pWgq|V@{jX>a;k`PLtE< zG&ohK;*_0|<6n-C93MK4I*vGc9shKE;CSEhp5tA|KOBE|yyJM=@i)g?jyD~Db^OKg zhNH*vXUCr$uRH$ec+K$#$E%LtJ6>`8&T-iBTicKH)SNMZS zB8UG!{1{Y=QL&oLMgLzR(}0Y>sN0TqgG|kLqv_VcVSLD)aJ?AC^D!bLa6K5Ut1)YA zghRXq;YBrYhrzOK23vXorq6v~v*CBb?*bYw$l-3J@cY5H}8Gr;t8{e8!J}L*5e>!hOQnM3g=8eoXDiYZBlmBW?=(Qvo;ib;hP4-|5>J zo6*MD%*UW90?aI=ncV;fJZB$fY|a73<^rd=!0(I%TsLE9TH#hRHV<&~b~82~@n<2= z1-*oTQL{zWh}4H zGjX>}SbW{R;(k^VBouiebp<&Q9S1P`GIlM(uLaz7TNt~37h`FJ-B1j-jj@}iF}B$Yhy1^cv|oM`3X|20-GXwq z0QapK#%@FUZ9ik|D}cWpad#li_7EK6?wrrq4l5kOc5H@2*p5ENc6Pxb%`OEl1=q{i zU1`Sdjxcu562^8fWbEEDi1(A=o?`5)DC_=i#vVX^45ZpSrpE35`g>WA+_QYDo!1%Byk?;4A*Y^%H_McC{^)mJp(mf6Mr$1rr8Klp< z@9$&m+0Bd{OfmMH!q^XxU*>tneq@E)#@LU6-}5Nz`DYpXi4*QA#$MRP*w045^)U8x zl=XAu_Y36n%QPIqUi^r$mjH7JWgdEmv0oiv>}BNj>jtO;GSSiGr=LO--M;f3$4%-kcdA5=kp1;?w1)iU%_3WyqWQmjf@AcVZ3xc<7I~# zFHgbYU4b-}3LN4>NEZft6=17@TlH$jBZ!NjjQC2%Yu;hJu9NWwZ@DynQp=tBj8Wjw$e9<5A{>pD{iW zZqogXPX_!HxT$LypN98z;4>ox_a@^r4>R7`&G@Wh#%HG(p9^;e{AczsK5r7^^FxfE z1>DZ=f&=UVl(8@Y2be_)+!n?cUjPUAC8+bcuQI+Aab3F@Uxu=lJpt$oQq38DE=X{7U3=m6P!eKVy6&>UK5q-?WYKFCon} zcwbuv_Xy+HBi;48;XYwJy_)eGknfFvzbOHS_{~WFRt)zJ zijpU?=0x zkwe%IkXL3J<39wBKYX6?A1iQgGX8uw<3E|t_zN{~?=k)}E8{7uHGX6%I@xLJ5o5hU3g}A@9GyXR4dV3$^??m7ZGyeD0jQ;~={sZ6d0>}3fa8JQ~ z#Q6Kj>z^jLM;Px_;9g|>2lp6?Oy32JW8UD|ZH#LugXW9=mzl&9Ov2uUBsVZgS;-{zFeKKwOfnbOFe$i&Nu~HMe}YLB^Wk1(Qs^2cg^_pF zV@!&4GARo9*fb`^0bBDClWMmysSaUvuQREB7n2(BZbV*M)y$0@8CXG!nX&m5FyO}f|^_bYrq)EtQ3jEW$ z;E;a$iwt`}|2xOlf`@fNIFLzjYz@1@vMcQB;TbKpR_b1>hK{W@uw#sVI6JqW86H;C ztQ;P%k-Nf8ey^cATop^SG>2V0mP~Z;=5SL5H#}UQ-NIABSS;9=rYBEjx70^!0%|%? z6H%vBBRb1si5UK{xwWyrI#6mdl~NhlB{DFSQ4f#HYnQ4Tr9_9++!S!BCwdbtt-PhV z2|9^MD=%7f(aK494ZCcz4t6dY`X;_62ywrIPovV+sT0pH?+{mwxjh%^> zh_?T`uiv2^KX}>z4HVY!Y%V1QDcBvi>!sD@MEbj99(bg@lcBxTD9~gYzfIm>7jFFl;^hEgOD8Clhu+6jw>0z&OhJ=2DoJ42R3QaA zWOOLCseE6;o!xG!?ra~f^>o~D+1yBE?qxT0^k{Eo?@YU;MW)Dk7u-Ja^-t=jry`Nm z^!iU;|I=I9eR|&CLf`eUDtM5Q2iZ}-MO8dOpsgMv)7Ge`r77T1(I!FduCuw%>+xyh zv~lQApLDjitE7#8{D!C9^9KL8O}^S6)E?BVMw_qP`rdoia-YG@KjOf%Qh4Bnt8Mcoi9h#JRYY3kEvn*UVbReO50BrmV+ z;MZw4c4)uX7XS38vL%mZ(`R5ww4GL|?R_+gqd5vmpyBRdmy(bdo1(0=sB8@yxdn)~lxbJjigu9=)pPhNBHJ@OCr@Hfy7 zMKpelG=3bck_~6$*c^5qw$ra?cd)OqZ$smlOvLJWm7$z_{bM*t_;dW+m52!n&yhSI z0)LYKbKpO(yrBb!r(;1ei=F17uvjq5XquDp?1L{4s1~Hu@I46id3j>UeJTcx0fQ!$ z&o9RBJJn}4D52n3P@|_Z2y%SzQ!WJ22E$LC;WNiX*{T?@;Pj!}DC|#~nZ>-HpIS<2 za>P22_kUiz%sLYqOLTT7B=H>lmeZ$;kr+*xoe54)>BRz1U!muO7@@$$G=552gn*!9 zJ(lYeq-%(OX#D?e|IqRz)>flsYTDXrc#58b-%`5Jmp#FEV%&+o&w?z>k%vUF^x&@! zd}aqf<-yN_(1OoX0~BNi5+XV}sW1Mo_rky5sw&#MPqeg*Iv+ow^-qi|g!>=1)d@|( zIJ=tJ4Yw%YfhiFbenxIIR1N1mmKeveFq!eFI?k+2%4<3`YlV3hM zS45R<;g^uVtW5iZbSGet@1^}8sBUEktA@_c>)?i}IE-EQTR@N-j%b9$Syc1{S3U?8e~d3B1?Lij0H27USiF&gR}A>wG-vBGIPuh*4ry;{Khxekv}wCTm%_>vhFZSJ)Pw2iv6Q4YVoQ`J2w?yCkiavVTWeVa)j|q=T9@J0pTtcQX!VHnIM6Al- z^*7Og!1y$xN4)5fYK&2X5x-Om4A;1k20|=O+$wl^1T}IRHkcq<^P$a{C0fAii(ypB z{ef1n(U1a&g|>5}zY?N{!tOqN_uYr3yPejjJ>KeR7IW!#ztw(g!*Hj~SpH|bkC%t5kd^Q2w*f{D8tJPwQ z++kT&2yEHVY_jXXBg!P7SUbSC;y1@rj$sqoMWF2=y$%ua1S%Nn_dvGwR*;O^!Fd?1 z8#WkKL1{>+GcdW?sX2^RC#k8D;~{~1M4#fpPxGDbOWPf?oRS^(Y!}arFj}-9Ta5B$ zZhP0#34P$Fx`;w}a*AU%t?#oPQ+U$umO}+(WIxS!wnBcQuM;%yiYhbKnNwXa7LiRjmf+(2(ZG}wiz%sgWJi>jgGIsPnZ=KfX?8mJ2^L!4-hBx#UR zZa((80+3k2t!n9h@La(dm&Qrs_teRTeB}Y= zShqm6zJdPGS+juA6^_Mu3_1sz1Hvx#*|M6pnqz`jk<&F@Wt;g%i&gunm7lM5)wE@q zvbn6Q=6IU;C_@UMWs|fmylAcBqr(MowarQT7@9BsXzyH534G z1e0`Rlnqb_RAIW{M7dQoxdg$ z;&VZRA?1jrgF9nN0lg?)7VU>c#YI}iVKVtMV&I^SUL2sA9Xn2<8mY@_)qZF;^OV!$ z;QVMjZTMUtC^eDXuo)DkX75sJ*#d6g{w?U1!Fbwid(nlSiF_z zStRqVrV`8MJBg{|ZM^Kzrps2`fI(Eq&qUZ%VCjWLQn)GthGkFz0LcT(tUy)_i~PWb ze1obC@Hu0-n}r4LO@8%lp3+uoAMDWnx#|WFhG&pQo@eXSCzjp(&Xl4$kfY60LiIx^ zs+SA=sm(K<-^V>WxOdf!NXC0qN&86q?xh#r;L)>)B|KXvOuO+4*98HO?4jfcxpk`^ zU^8+npM|PWn*7Nj9O_U%@pt)^gcu2m|17^}h}J6KWCJ>t zv@Qsc2z0711@V0%PDVqW?i)a)=GC>nC+Kx~*FeS}p5iNes=&dpY_lv9^<|K`GOJMG zE5^7&yqgjFK*qz6I-su3QFo4`PbRSbk|gNIa3+>jPUVH}5I6C)+!U&5lUe4HyYIe4 z>&a$lqL(n;XP)9F?USc6ZA6!;oE+i8ksYGTfe8;xbPFg9e&VVdrRpkO9Zch#cxJH7 z%@Bt~=_%2;shO9|R5K-|zrSznwM%ZBp3!<;&S0$4H~PJ&S3PrGtf}StbLZKDF_le= z9k)|^Do10}k~3$n&#EP*_H_-3h8^ZuQ2JXaU@zY|dW@$oQAY%Z@s0V8+F~YQ=#aqp z=je#~nV5}oI1J`wLIQ^&`Mj01oDZ;O`V>BvWCRJd%56g!((T@-{aY6fa;a0Vs+v@O z0IK2dXum&DKB?-ese^F~xB8#t6TFirdTy3(-MedKc;2cI&D}ztv4^I%ThCj* ziyQ90UpuyI`FYm%sUlWqP(!Qcg-7n%dk-&uY15{cw0HD+gbuz}CQP*u8*(+KCYFiz80m1pT=kmx0(q(xrCPMsUH1k{mefDSp) zD5G^q?m1N%Jbl&_iz65-uBs{~7YjNpQ%+H^=H7i%nHnwimHSGDPZ(Z;cWG1wcZw|v z%*juq&!(bo!`O7T>Wkon^QZ-rLvkd_^z#)5Hg zxufObryg!`lzZc#{xRRv6592P5fce0Hl-xEm^*nBcP$v z0`KR64y6=xK{a*oNxW9jv+9)$I9SxN-Oig_c%UK7hZDj_WEb$BDlO#*M?@b>eU7 zxN!%UE+w#Wg$bqFfc# zeDOpwnoY)%(93rx(=q9nQKg6?XKJZrRP#oo(u>h_l6NOMld)_IF( zs6M+iRmTC+ALc}C7V>JEuRjk9o)*YO8Y}oKQNl2t?D;qFLv4U`StSyoFzFYuq>i@C zEa1!N?B0BK0gjTwsL04McVmu=$6B!!-4bi1u_j7ZpCQm-l2u7AlYMmx zH!4a*@eEhENs{b-gUMy{c*AjMjcwAWGv@lW4YQtoQvvf*jQ2wL8+EGF4rQjAc;uiEzG%4uf z9wX{X3(U5*s$>6M z)n+q=_&#l6nEa|4ez8YOb9q{(?8h1|AYN<53x+g()8?U_N+)sEV;tdoV{pJ^DTD)ZvO|;^t&(V6L2z~TSiWu zI&#bLG#NGMHVY^mJXXH_jBGA?Np1q;)EYzS3U=1VKn3aXyU}xGihu`L8($R|e#HpJ zzo`QozgXO&25>bM*l>oHk|GV&2I+U-2>)u7C$^yP7gAuth~}8}eO^2>X_8+G@2GX0 zUG8;wZgm*=I4#ww{Ufg2!~-Uu*`{`!$+eE)in1}WPMJ%i|32CjmFLR8);bg^+jrF* zW0A!Zuas6whwVl!G+Vp(ysAHq9%glv8)6>Sr8w=pzPe1s`fRb9oO^yGOQW^-OZ=5? zNNaJk+iSAxa}{PtjC&tu_+{8J_cw=JiFhMqFC!}FHB@j}@Q$b&*h-^U)Y&U$fDWad zC!K&D&RZgww6M(~`@DA92;#vDM1_`->Ss*g8*57^PdIP-=;>u#;wD4g#4|T7ZytTY zx(Q8lO+5Ris0v-@GZXC@|&A*DPrZ51ZeSyziwc>%X>dNyCAL zOSDTJAwK7d2@UOGmtsjCPM9{#I9Gbb7#z25{*;Tyl-Zho(Oh~-u(5CLQl;2ot%#Nl z_cf{VEA=LuSylKv$-{%A=U+QBv0&8bP;vDOcU|zc3n!Nu{9=5j6^6DL&6tm-J4|~) z9#1w(@m3N|G3n9Xf)O<|NO+P)+F(TgqN3E#F8`eIrDZn0=@MQ%cDBb8e*D_eBUXH+ zOtn|s5j9y2W~uaQm*j{3fV=j|wxar?@^xjmPHKMYy0eTPkG*<=QA$Wf)g`tfRlZ0v ztEyRwH(8<%&+zbQ+pg>z^Ucf8Jj>x$N*h{buawh;61^S+&ZX>H^j?#nw!}!~35^Z# zqU|=INy-tBD+E^RCJdtvC_M2+Bx*2%C6nTfGS!1b*MJvhKZZPkBfkjIFf@kLBCdo) zszai4sxmBgklbZ>Iqddc=N%2_4$qxi==t>5E!Ll+-y(NJc+^l)uMgMZH+KM<|+cUS^t~AUy&z{UpW?AA~QO;;xntfuA^Rj7SU%j)& zVs~)K>u%=e(ooP|$In{9cdb}2l?KYZinZ8o+i;N-baM#CG$-JMDcX1$y9-L(TsuaT zfPY9MCb3xN8WGxNDB@4sjvZ10JTUS1Snvy5l9QPbZJ1#AG@_xCVXxndg&0Cz99x`Z zKvV%^1YbB2L)tU+ww(e6EZYzc6gI5g;!?*}TsL=hotb0Mow8kxW*HVdXfdVep4yL` zdfTcM*7nwv5)3M-)^@ASp~`(sR`IsMgXV>xPx0&5!lR8(L&vn@?_Oi2EXy)sj?Q8S$Mm zP{=PsbQ)rJtxy*+R9EqNek1fupF(7d1z|uHBZdEQMm`l!QnDTsJ_DX2E=_R?o*D5) z4}Rh2eEvVeTQ^UXfsDXgAf@6dtaXG>!t?(&-a~B^KF@z*dl$BLVOt|yVElz!`rm5n z&%<$O{7{?+>7|f%3ctTlD}Sc0Zs_hY;YO-&eOIT+Kh%FJdM|_@8b7qIL;aj#^MhF1 z(>x4_KPKYTl+AOj0Q$t3La4&;o`HP%m8bgb`*0vs83ZT@J#{j%7e8dKm;){k%rMw* zG9eKbw_mh1PHLUB$7VNcJ=oL;nV~#W;r|rv;ISD5+Q-FH5g~=&gD`RrnNm>lGJ1GE zw`K+PW!P*uxsEyAzhLvBOEUkj>)1sV6q-RhP*nGS(JD%Z$|wijTm)a5S+oj03MzBz zPjp$XjyM!3`cFtv`8wrA`EpL(8Soof9J(X7wr2l^Y-+>){TrmrhW&h}yVPonlai>; zrF!_zz4@5^8y@95z(7+GLY@+~o<>}!RDp|@N4vi4Y-r@AF@6Q7ET8d9j~&O$3l#Yuo`voKB12v8pK*p3sJO+k{- zak5sNppfOFju-S9tC#^&UI}&^S-3TB^fmi<0$e%==MK3AqBrn!K@ZCzuah-}pRZc{ z?&7p`mEU5_{>6x=RAFr4-F+FYOMN%GSL@mvX-UT3jRI;_TJH7}l*La_ztFn+GQ3;r zNk;eb?nh&>e?Z$I<$LDON!e1tJ26yLILq`~hFYrCA|rj2uGJHxzz@8b<} z&bETBnbLPG9E*iz!<03Ld4q;C140%fzRO5j*Ql#XY*C-ELCtp24zs*#$X0ZhlF~Qj zq$4Nq9U@=qSTzHghxD(IcI0@hO0e}l7_PKLX|J5jQe+67(8W~90a!?QdAYyLs6f^$ zgAUsZ6%aIOhqZ;;;WG@EpL1!Mxhc_XD!cTY%MEAnbR^8{!>s|QGte5Y=ivx6=T9Ei zP_M&x-e`XKwm+O(fpg~P{^7QV&DZPW)$j@GX#kClVjXN6u+n=I$K0{Y-O4?f;0vgV zY+%5cgK;dNK1}{#_x-Zyaw9sN`r9jST(^5&m&8IY?IBml#h0G3e?uSWfByzKHLe8) z9oCU{cfd~u97`w2ATe{wQPagk*)FX|S+YdySpplm-DSKB*|c>@nSp$=zj{v3WyAgw zqtk_K3c5J|0pC zSpww86>3JZSitYm_b*{%7cv?=elhCFy1v6m)^n?211803vG_;TRU3WPV`g7=>ywvsW6B76c-kXXYuS7~J+@Lc zSf%7^`HIJ4D|VX9{BlBG~IV;M->JId%#U?}jR@kQ&o5A3HyYDx}6Nc^pMjj0Jeun)M=&7-NLZ9@2 z)j60}@#z8oft^qhO`qgPG;Gf4Q@Zbq!Fx_DP1GkX<}_%EF`!5fg*xCsir}$yMH#85 zT3Y4bdV)bucC=X;w24>D>XjaA@K`En^++$6E!jmvauA$rc9F%b=P&f^I7M+{{--HM z0JXFl21+}*Oz8zr@T8JQp9Td0TZ7rr0+&rWePPKdaG}l-^)$@O*ON;2pkAjf4ZSg# zy{PLo>hhTUUK_q5L{o!vKb^7AIkbXB zm3BG{rbFE>fKfZsL4iKVYubQMO_AvYWH<3F_@;7*b}ss*4!r5a-5Mr{qoVbpXW1cja+YCd!nQ3xt*CEBq_FNhDc93rhj=>>F59=AN5 zoRmKmL))oDox0VF;gltwNSdcF9cb*OX3{Gx?X{Q-krC~b9}_3yG8Bn{`W6m}6YD#q zAkEzk)zB|ZA2Ao`dW^gC77j#kXk7>zOYg~2Y0NyG9@9L)X=yRL!=`tj7; z^S=K3l)dWTz%eniebMP!Z)q@7d(l_cR;2OvPv7I~Va{X>R@4XXh- zOMOMef=}m)U?`>^E`qUO(+Ng$xKwZ1|FQ|>X41&zvAf`(9 zj3GGCzGHqa8_lMGV+Q3A(d5seacFHJ92meB0vj+?SfQ~dL#3UE!1{}wjz|HPWCEHI zW{zYTeA(UwAEq6F%|@%!oD5ebM$D`kG45gkQ6COfjjk-==^@y6=Tp0-#~0px=I@H# z7Z|LQii;EBSfjse{lo}m?iuTG`$i6*F?L9m*kGMV_JUqsuT##HNJkrNL~cklwZK&3 zgesq4oycISoHuCg>Jo;0K(3&I(n-j7+uaf)NPK7+@p8+z!=r!xa45cmV`Mna1hT=i zAkgv-=xDHofR+dHn7FZvghtoxVqmi^U=Tk5i*(?UbiEGt9|mBN4tXfwT0b zIQSzTbod84Y<){2C!IJja=k65vqPM|!xFS?-HOK!3%&6=!T(Z$<>g6+rTpioPBf57 z$!8fVo=}&Z?KB-UB4$>vfxffiJ*^StPHhnl@7Fw@3-N|6BAyp|HhmV#(r=Ll2Y3af zNJ44J*!nZfs0Z5o%Qy|_7UzOtMt~9CA*sTy5=4c0Q9mP-JJ+p-7G&*PyD$6sj+4b>6a~%2eXf~A?KRzL4v_GQ!SRxsdZi`B(7Jx*fGf@DK z&P<|o9z*F!kX>I*;y78= z>JB#p1zld#NFeK3{?&UgU*1uzsxF7qYP34!>yr;jKktE5CNZ3N_W+965o=}3S?jx3 zv`#Wqn;l-4If#|AeD6_oY2Y||U?Fss}Sa>HvkP$9_KPcb_jB*Jc;M0XIE+qhbP$U2d z&;h?{>;H=Sp?W2>Uc{rF29ML>EiCy?fyim_mQtrgMA~^uv?&@WN@gUOPn(379I}U4Vg~Qo)jwJb7e_Pg^`Gmp+s5vF{tNzJVhBQ z$VB8M@`XJsXC!-){6wetDsTY94 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY 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 - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/FontAwesome/fonts/fontawesome-webfont.ttf b/book/FontAwesome/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2fa1196aad98c2adf4378a7611dd713aa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} diff --git a/book/FontAwesome/fonts/fontawesome-webfont.woff2 b/book/FontAwesome/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60404b91e398a37200c4a77b645cfd9586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77160 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 diff --git a/book/ace.js b/book/ace.js deleted file mode 100644 index e8435a5..0000000 --- a/book/ace.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2010, Ajax.org B.V. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of Ajax.org B.V. nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=i.match(/ Gecko\/\d+/),t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(i.split(" Edge/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isAndroid=i.indexOf("Android")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(i)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIPad||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){var r,i;t.addListener(e,"touchstart",function(e){var t=e.touches,n=t[0];r=n.clientX,i=n.clientY}),t.addListener(e,"touchmove",function(e){var t=e.touches;if(t.length>1)return;var s=t[0];e.wheelX=r-s.clientX,e.wheelY=i-s.clientY,r=s.clientX,i=s.clientY,n(e)})},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l++,i=function(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())};t.addListener(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n63,l=400,c=e("../lib/keys"),h=c.KEY_MODS,p=i.isIOS,d=p?/\s/:/\n/,v=function(e,t){function W(){x=!0,n.blur(),n.focus(),x=!1}function V(e){e.keyCode==27&&n.value.lengthC&&T[s]=="\n")o=c.end;else if(rC&&T.slice(0,s).split("\n").length>2)o=c.down;else if(s>C&&T[s-1]==" ")o=c.right,u=h.option;else if(s>C||s==C&&C!=N&&r==s)o=c.right;r!==s&&(u|=h.shift),o&&(t.onCommandKey(null,u,o),N=r,C=s,A(""))};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var v=!1,m=!1,g=!1,y=!1,b="",w=!0,E=!1;i.isMobile||(n.style.fontSize="1px");var S=!1,x=!1,T="",N=0,C=0;try{var k=document.activeElement===n}catch(L){}r.addListener(n,"blur",function(e){if(x)return;t.onBlur(e),k=!1}),r.addListener(n,"focus",function(e){if(x)return;k=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(A):A()}),this.$focusScroll=!1,this.focus=function(){if(b||f||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return k},t.on("beforeEndOperation",function(){if(t.curOp&&t.curOp.command.name=="insertstring")return;g&&(T=n.value="",z()),A()});var A=p?function(e){if(!k||v&&!e||y)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=T=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(N!=i||C!=s)&&n.setSelectionRange(i,s),N=i,C=s}:function(){if(g||y)return;if(!k&&!D)return;g=!0;var e=t.selection,r=e.getRange(),i=e.cursor.row,s=r.start.column,o=r.end.column,u=t.session.getLine(i);if(r.start.row!=i){var a=t.session.getLine(i-1);s=r.start.rowi+1?f.length:o,o+=u.length+1,u=u+"\n"+f}u.length>l&&(s=T.length&&e.value===T&&T&&e.selectionEnd!==C},M=function(e){if(g)return;v?v=!1:O(n)&&(t.selectAll(),A())},_=null;this.setInputHandler=function(e){_=e},this.getInputHandler=function(){return _};var D=!1,P=function(e,r){D&&(D=!1);if(m)return A(),e&&t.onPaste(e),m=!1,"";var i=n.selectionStart,s=n.selectionEnd,o=N,u=T.length-C,a=e,f=e.length-i,l=e.length-s,c=0;while(o>0&&T[c]==e[c])c++,o--;a=a.slice(c),c=1;while(u>0&&T.length-c>N-1&&T[T.length-c]==e[e.length-c])c++,u--;return f-=c-1,l-=c-1,a=a.slice(0,a.length-c+1),!r&&f==a.length&&!o&&!u&&!l?"":(y=!0,a&&!o&&!u&&!f&&!l||S?t.onTextInput(a):t.onTextInput(a,{extendLeft:o,extendRight:u,restoreStart:f,restoreEnd:l}),y=!1,T=e,N=i,C=s,a)},H=function(e){if(g)return U();var t=n.value,r=P(t,!0);(t.length>l+100||d.test(r))&&A()},B=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||u)return;var i=a||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return B(e,t,!0)}},j=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);B(e,s)?(p&&(A(s),v=s,setTimeout(function(){v=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(v=!0,n.value=s,n.select(),setTimeout(function(){v=!1,A(),i?t.onCut():t.onCopy()}))},F=function(e){j(e,!0)},I=function(e){j(e,!1)},q=function(e){var s=B(e);typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(A),r.preventDefault(e)):(n.value="",m=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",M),r.addListener(n,"input",H),r.addListener(n,"cut",F),r.addListener(n,"copy",I),r.addListener(n,"paste",q),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:I(e);break;case 86:q(e);break;case 88:F(e)}});var R=function(e){if(g||!t.onCompositionStart||t.$readOnly)return;g={};if(S)return;setTimeout(U,0),t.on("mousedown",W);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,g.markerRange=r,g.selectionStart=N,t.onCompositionStart(g),g.useTextareaForIME?(n.value="",T="",N=0,C=0):(n.msGetInputContext&&(g.context=n.msGetInputContext()),n.getInputContext&&(g.context=n.getInputContext()))},U=function(){if(!g||!t.onCompositionUpdate||t.$readOnly)return;if(S)return W();if(g.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;P(e),g.markerRange&&(g.context&&(g.markerRange.start.column=g.selectionStart=g.context.compositionStartOffset),g.markerRange.end.column=g.markerRange.start.column+C-g.selectionStart)}},z=function(e){if(!t.onCompositionEnd||t.$readOnly)return;g=!1,t.onCompositionEnd(),t.off("mousedown",W),e&&H()},X=o.delayedCall(U,50).schedule.bind(null,null);r.addListener(n,"compositionstart",R),r.addListener(n,"compositionupdate",U),r.addListener(n,"keyup",V),r.addListener(n,"keydown",X),r.addListener(n,"compositionend",z),this.getElement=function(){return n},this.setCommandMode=function(e){S=e,n.readOnly=!1},this.setReadOnly=function(e){S||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){E=e},this.onContextMenu=function(e){D=!0,A(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){b||(b=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(N+C)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout($),i.isWin&&r.capture(t.container,h,J)},this.onContextMenuClose=J;var $,K=function(e){t.textInput.onContextMenu(e),J()};r.addListener(n,"mouseup",K),r.addListener(n,"mousedown",function(e){e.preventDefault(),J()}),r.addListener(t.renderer.scroller,"contextmenu",K),r.addListener(n,"contextmenu",K),p&&Q(e,t,n)};t.TextInput=v}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowedt.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$keepTextAreaAtCursor&&(s.$keepTextAreaAtCursor=null);var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",s.$keepTextAreaAtCursor==null&&(s.$keepTextAreaAtCursor=!0,s.$moveTextAreaToCursor()),o.isMousePressed=!1,o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!0),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w0)if(g==16){for(w=b;w-1){for(w=b;w=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o=e){u=i+1;while(u=e)u++;for(a=i,l=u-1;a=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+10&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;fT&&n[f]0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;ut&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p=u&&hn+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var i=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;or)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column!=t.column||!this.$insertRight)&&(a.start.column+=l,a.start.row+=f);if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$insertRight)continue;a.end.column==t.column&&l>0&&oa.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;oi)break;if(a.end.rowt.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.rowt.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(tl)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;ne.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;fr-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w>2)),f-1);while(w>E&&e[w]E&&e[w]E&&e[w]==a)w--}else while(w>E&&e[w]E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e);if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&ai)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;is.length||i.length<2||!i[1])return this.commands.exec("insertstring",this,t);for(var o=s.length;o--;){var u=s[o];u.isEmpty()||r.remove(u),r.insert(u.start,i[o])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()&&e.indexOf("\n")==-1){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;hp+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLength(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;ns&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRowr&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&in.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.ip,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;nl&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1);var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showInvisibles&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showInvisibles){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){var y=i.showInvisibles?i.SPACE_CHAR:"";t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showInvisibles?i.SPACE_CHAR:"",u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var b="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=b,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;sthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r){this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var i=this.dom.createElement("span");i.className="ace_inline_button ace_keyword ace_toggle_wrap",i.style.position="absolute",i.style.right="0",i.textContent="",e.appendChild(i)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showInvisibles&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/f})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){var e=this.textarea.style;if(!this.$keepTextAreaAtCursor){i.translate(this.textarea,-100,0);return}var t=this.$cursorLayer.$pixelPos;if(!t)return;var n=this.$composition;n&&n.markerRange&&(t=this.$cursorLayer.getPixelPosition(n.markerRange.start,!0));var r=this.layerConfig,s=t.top,o=t.left;s-=r.offset;var u=n&&n.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1;if(!n)s+=this.lineHeight;else if(n.useTextareaForIME){var f=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(f)[0],u+=2}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,this.$size.height-u))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText,e.keepTextAreaAtCursor=this.$keepTextAreaAtCursor),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version="1.4.4"}); (function() { - ace.require(["ace/ace"], function(a) { - if (a) { - a.config.init(true); - a.define = ace.define; - } - if (!window.ace) - window.ace = a; - for (var key in a) if (a.hasOwnProperty(key)) - window.ace[key] = a[key]; - window.ace["default"] = window.ace; - if (typeof module == "object" && typeof exports == "object" && module) { - module.exports = window.ace; - } - }); - })(); diff --git a/book/assets/reactorexecutor.png b/book/assets/reactorexecutor.png deleted file mode 100644 index 8107f3d8faa76d07420a5e8628e0627e0bda1970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59416 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 A`v3p{ diff --git a/book/assets/swap_problem.jpg b/book/assets/swap_problem.jpg deleted file mode 100644 index 9391bff0d6e7008d8e88e4607f67a7940541bf76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169102 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%0D@8)joXynfiyy&*B%~_fK!nj~Cr0 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
#S^<%jwU!og*Xz=lSDa;S+^ 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 setTimeout(() => reject(new Error('timeout')), timeout)) - ]); - } - - var playpens = Array.from(document.querySelectorAll(".playpen")); - if (playpens.length > 0) { - fetch_with_timeout("https://play.rust-lang.org/meta/crates", { - headers: { - 'Content-Type': "application/json", - }, - method: 'POST', - mode: 'cors', - }) - .then(response => response.json()) - .then(response => { - // get list of crates available in the rust playground - let playground_crates = response.crates.map(item => item["id"]); - playpens.forEach(block => handle_crate_list_update(block, playground_crates)); - }); - } - - function handle_crate_list_update(playpen_block, playground_crates) { - // update the play buttons after receiving the response - update_play_button(playpen_block, playground_crates); - - // and install on change listener to dynamically update ACE editors - if (window.ace) { - let code_block = playpen_block.querySelector("code"); - if (code_block.classList.contains("editable")) { - let editor = window.ace.edit(code_block); - editor.addEventListener("change", function (e) { - update_play_button(playpen_block, playground_crates); - }); - } - } - } - - // updates the visibility of play button based on `no_run` class and - // used crates vs ones available on http://play.rust-lang.org - function update_play_button(pre_block, playground_crates) { - var play_button = pre_block.querySelector(".play-button"); - - // skip if code is `no_run` - if (pre_block.querySelector('code').classList.contains("no_run")) { - play_button.classList.add("hidden"); - return; - } - - // get list of `extern crate`'s from snippet - var txt = playpen_text(pre_block); - var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; - var snippet_crates = []; - var item; - while (item = re.exec(txt)) { - snippet_crates.push(item[1]); - } - - // check if all used crates are available on play.rust-lang.org - var all_available = snippet_crates.every(function (elem) { - return playground_crates.indexOf(elem) > -1; - }); - - if (all_available) { - play_button.classList.remove("hidden"); - } else { - play_button.classList.add("hidden"); - } - } - - function run_rust_code(code_block) { - var result_block = code_block.querySelector(".result"); - if (!result_block) { - result_block = document.createElement('code'); - result_block.className = 'result hljs language-bash'; - - code_block.append(result_block); - } - - let text = playpen_text(code_block); - let classes = code_block.querySelector('code').classList; - let has_2018 = classes.contains("edition2018"); - let edition = has_2018 ? "2018" : "2015"; - - var params = { - version: "stable", - optimize: "0", - code: text, - edition: edition - }; - - if (text.indexOf("#![feature") !== -1) { - params.version = "nightly"; - } - - result_block.innerText = "Running..."; - - fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { - headers: { - 'Content-Type': "application/json", - }, - method: 'POST', - mode: 'cors', - body: JSON.stringify(params) - }) - .then(response => response.json()) - .then(response => result_block.innerText = response.result) - .catch(error => result_block.innerText = "Playground Communication: " + error.message); - } - - // Syntax highlighting Configuration - hljs.configure({ - tabReplace: ' ', // 4 spaces - languages: [], // Languages used for auto-detection - }); - - if (window.ace) { - // language-rust class needs to be removed for editable - // blocks or highlightjs will capture events - Array - .from(document.querySelectorAll('code.editable')) - .forEach(function (block) { block.classList.remove('language-rust'); }); - - Array - .from(document.querySelectorAll('code:not(.editable)')) - .forEach(function (block) { hljs.highlightBlock(block); }); - } else { - Array - .from(document.querySelectorAll('code')) - .forEach(function (block) { hljs.highlightBlock(block); }); - } - - // Adding the hljs class gives code blocks the color css - // even if highlighting doesn't apply - Array - .from(document.querySelectorAll('code')) - .forEach(function (block) { block.classList.add('hljs'); }); - - Array.from(document.querySelectorAll("code.language-rust")).forEach(function (block) { - - var code_block = block; - var pre_block = block.parentNode; - // hide lines - var lines = code_block.innerHTML.split("\n"); - var first_non_hidden_line = false; - var lines_hidden = false; - var trimmed_line = ""; - - for (var n = 0; n < lines.length; n++) { - trimmed_line = lines[n].trim(); - if (trimmed_line[0] == hiding_character && trimmed_line[1] != hiding_character) { - if (first_non_hidden_line) { - lines[n] = "" + "\n" + lines[n].replace(/(\s*)# ?/, "$1") + ""; - } - else { - lines[n] = "" + lines[n].replace(/(\s*)# ?/, "$1") + "\n" + ""; - } - lines_hidden = true; - } - else if (first_non_hidden_line) { - lines[n] = "\n" + lines[n]; - } - else { - first_non_hidden_line = true; - } - if (trimmed_line[0] == hiding_character && trimmed_line[1] == hiding_character) { - lines[n] = lines[n].replace("##", "#") - } - } - code_block.innerHTML = lines.join(""); - - // If no lines were hidden, return - if (!lines_hidden) { return; } - - var buttons = document.createElement('div'); - buttons.className = 'buttons'; - buttons.innerHTML = ""; - - // add expand button - pre_block.insertBefore(buttons, pre_block.firstChild); - - pre_block.querySelector('.buttons').addEventListener('click', function (e) { - if (e.target.classList.contains('fa-expand')) { - var lines = pre_block.querySelectorAll('span.hidden'); - - e.target.classList.remove('fa-expand'); - e.target.classList.add('fa-compress'); - e.target.title = 'Hide lines'; - e.target.setAttribute('aria-label', e.target.title); - - Array.from(lines).forEach(function (line) { - line.classList.remove('hidden'); - line.classList.add('unhidden'); - }); - } else if (e.target.classList.contains('fa-compress')) { - var lines = pre_block.querySelectorAll('span.unhidden'); - - e.target.classList.remove('fa-compress'); - e.target.classList.add('fa-expand'); - e.target.title = 'Show hidden lines'; - e.target.setAttribute('aria-label', e.target.title); - - Array.from(lines).forEach(function (line) { - line.classList.remove('unhidden'); - line.classList.add('hidden'); - }); - } - }); - }); - - Array.from(document.querySelectorAll('pre code')).forEach(function (block) { - var pre_block = block.parentNode; - if (!pre_block.classList.contains('playpen')) { - var buttons = pre_block.querySelector(".buttons"); - if (!buttons) { - buttons = document.createElement('div'); - buttons.className = 'buttons'; - pre_block.insertBefore(buttons, pre_block.firstChild); - } - - var clipButton = document.createElement('button'); - clipButton.className = 'fa fa-copy clip-button'; - clipButton.title = 'Copy to clipboard'; - clipButton.setAttribute('aria-label', clipButton.title); - clipButton.innerHTML = ''; - - buttons.insertBefore(clipButton, buttons.firstChild); - } - }); - - // Process playpen code blocks - Array.from(document.querySelectorAll(".playpen")).forEach(function (pre_block) { - // Add play button - var buttons = pre_block.querySelector(".buttons"); - if (!buttons) { - buttons = document.createElement('div'); - buttons.className = 'buttons'; - pre_block.insertBefore(buttons, pre_block.firstChild); - } - - var runCodeButton = document.createElement('button'); - runCodeButton.className = 'fa fa-play play-button'; - runCodeButton.hidden = true; - runCodeButton.title = 'Run this code'; - runCodeButton.setAttribute('aria-label', runCodeButton.title); - - var copyCodeClipboardButton = document.createElement('button'); - copyCodeClipboardButton.className = 'fa fa-copy clip-button'; - copyCodeClipboardButton.innerHTML = ''; - copyCodeClipboardButton.title = 'Copy to clipboard'; - copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); - - buttons.insertBefore(runCodeButton, buttons.firstChild); - buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); - - runCodeButton.addEventListener('click', function (e) { - run_rust_code(pre_block); - }); - - let code_block = pre_block.querySelector("code"); - if (window.ace && code_block.classList.contains("editable")) { - var undoChangesButton = document.createElement('button'); - undoChangesButton.className = 'fa fa-history reset-button'; - undoChangesButton.title = 'Undo changes'; - undoChangesButton.setAttribute('aria-label', undoChangesButton.title); - - buttons.insertBefore(undoChangesButton, buttons.firstChild); - - undoChangesButton.addEventListener('click', function () { - let editor = window.ace.edit(code_block); - editor.setValue(editor.originalCode); - editor.clearSelection(); - }); - } - }); -})(); - -(function themes() { - var html = document.querySelector('html'); - var themeToggleButton = document.getElementById('theme-toggle'); - var themePopup = document.getElementById('theme-list'); - var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); - var stylesheets = { - ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), - tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), - highlight: document.querySelector("[href$='highlight.css']"), - }; - - function showThemes() { - themePopup.style.display = 'block'; - themeToggleButton.setAttribute('aria-expanded', true); - themePopup.querySelector("button#" + document.body.className).focus(); - } - - function hideThemes() { - themePopup.style.display = 'none'; - themeToggleButton.setAttribute('aria-expanded', false); - themeToggleButton.focus(); - } - - function set_theme(theme) { - let ace_theme; - - if (theme == 'coal' || theme == 'navy') { - stylesheets.ayuHighlight.disabled = true; - stylesheets.tomorrowNight.disabled = false; - stylesheets.highlight.disabled = true; - - ace_theme = "ace/theme/tomorrow_night"; - } else if (theme == 'ayu') { - stylesheets.ayuHighlight.disabled = false; - stylesheets.tomorrowNight.disabled = true; - stylesheets.highlight.disabled = true; - ace_theme = "ace/theme/tomorrow_night"; - } else { - stylesheets.ayuHighlight.disabled = true; - stylesheets.tomorrowNight.disabled = true; - stylesheets.highlight.disabled = false; - ace_theme = "ace/theme/dawn"; - } - - setTimeout(function () { - themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor; - }, 1); - - if (window.ace && window.editors) { - window.editors.forEach(function (editor) { - editor.setTheme(ace_theme); - }); - } - - var previousTheme; - try { previousTheme = localStorage.getItem('mdbook-theme'); } catch (e) { } - if (previousTheme === null || previousTheme === undefined) { previousTheme = default_theme; } - - try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } - - document.body.className = theme; - html.classList.remove(previousTheme); - html.classList.add(theme); - } - - // Set theme - var theme; - try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { } - if (theme === null || theme === undefined) { theme = default_theme; } - - set_theme(theme); - - themeToggleButton.addEventListener('click', function () { - if (themePopup.style.display === 'block') { - hideThemes(); - } else { - showThemes(); - } - }); - - themePopup.addEventListener('click', function (e) { - var theme = e.target.id || e.target.parentElement.id; - set_theme(theme); - }); - - themePopup.addEventListener('focusout', function(e) { - // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) - if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { - hideThemes(); - } - }); - - // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang-nursery/mdBook/issues/628 - document.addEventListener('click', function(e) { - if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { - hideThemes(); - } - }); - - document.addEventListener('keydown', function (e) { - if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } - if (!themePopup.contains(e.target)) { return; } - - switch (e.key) { - case 'Escape': - e.preventDefault(); - hideThemes(); - break; - case 'ArrowUp': - e.preventDefault(); - var li = document.activeElement.parentElement; - if (li && li.previousElementSibling) { - li.previousElementSibling.querySelector('button').focus(); - } - break; - case 'ArrowDown': - e.preventDefault(); - var li = document.activeElement.parentElement; - if (li && li.nextElementSibling) { - li.nextElementSibling.querySelector('button').focus(); - } - break; - case 'Home': - e.preventDefault(); - themePopup.querySelector('li:first-child button').focus(); - break; - case 'End': - e.preventDefault(); - themePopup.querySelector('li:last-child button').focus(); - break; - } - }); -})(); - -(function sidebar() { - var html = document.querySelector("html"); - var sidebar = document.getElementById("sidebar"); - var sidebarLinks = document.querySelectorAll('#sidebar a'); - var sidebarToggleButton = document.getElementById("sidebar-toggle"); - var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); - var firstContact = null; - - function showSidebar() { - html.classList.remove('sidebar-hidden') - html.classList.add('sidebar-visible'); - Array.from(sidebarLinks).forEach(function (link) { - link.setAttribute('tabIndex', 0); - }); - sidebarToggleButton.setAttribute('aria-expanded', true); - sidebar.setAttribute('aria-hidden', false); - try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } - } - - function hideSidebar() { - html.classList.remove('sidebar-visible') - html.classList.add('sidebar-hidden'); - Array.from(sidebarLinks).forEach(function (link) { - link.setAttribute('tabIndex', -1); - }); - sidebarToggleButton.setAttribute('aria-expanded', false); - sidebar.setAttribute('aria-hidden', true); - try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } - } - - // Toggle sidebar - sidebarToggleButton.addEventListener('click', function sidebarToggle() { - if (html.classList.contains("sidebar-hidden")) { - showSidebar(); - } else if (html.classList.contains("sidebar-visible")) { - hideSidebar(); - } else { - if (getComputedStyle(sidebar)['transform'] === 'none') { - hideSidebar(); - } else { - showSidebar(); - } - } - }); - - sidebarResizeHandle.addEventListener('mousedown', initResize, false); - - function initResize(e) { - window.addEventListener('mousemove', resize, false); - window.addEventListener('mouseup', stopResize, false); - html.classList.add('sidebar-resizing'); - } - function resize(e) { - document.documentElement.style.setProperty('--sidebar-width', (e.clientX - sidebar.offsetLeft) + 'px'); - } - //on mouseup remove windows functions mousemove & mouseup - function stopResize(e) { - html.classList.remove('sidebar-resizing'); - window.removeEventListener('mousemove', resize, false); - window.removeEventListener('mouseup', stopResize, false); - } - - document.addEventListener('touchstart', function (e) { - firstContact = { - x: e.touches[0].clientX, - time: Date.now() - }; - }, { passive: true }); - - document.addEventListener('touchmove', function (e) { - if (!firstContact) - return; - - var curX = e.touches[0].clientX; - var xDiff = curX - firstContact.x, - tDiff = Date.now() - firstContact.time; - - if (tDiff < 250 && Math.abs(xDiff) >= 150) { - if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) - showSidebar(); - else if (xDiff < 0 && curX < 300) - hideSidebar(); - - firstContact = null; - } - }, { passive: true }); - - // Scroll sidebar to current active section - var activeSection = sidebar.querySelector(".active"); - if (activeSection) { - sidebar.scrollTop = activeSection.offsetTop; - } -})(); - -(function chapterNavigation() { - document.addEventListener('keydown', function (e) { - if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } - if (window.search && window.search.hasFocus()) { return; } - - switch (e.key) { - case 'ArrowRight': - e.preventDefault(); - var nextButton = document.querySelector('.nav-chapters.next'); - if (nextButton) { - window.location.href = nextButton.href; - } - break; - case 'ArrowLeft': - e.preventDefault(); - var previousButton = document.querySelector('.nav-chapters.previous'); - if (previousButton) { - window.location.href = previousButton.href; - } - break; - } - }); -})(); - -(function clipboard() { - var clipButtons = document.querySelectorAll('.clip-button'); - - function hideTooltip(elem) { - elem.firstChild.innerText = ""; - elem.className = 'fa fa-copy clip-button'; - } - - function showTooltip(elem, msg) { - elem.firstChild.innerText = msg; - elem.className = 'fa fa-copy tooltipped'; - } - - var clipboardSnippets = new ClipboardJS('.clip-button', { - text: function (trigger) { - hideTooltip(trigger); - let playpen = trigger.closest("pre"); - return playpen_text(playpen); - } - }); - - Array.from(clipButtons).forEach(function (clipButton) { - clipButton.addEventListener('mouseout', function (e) { - hideTooltip(e.currentTarget); - }); - }); - - clipboardSnippets.on('success', function (e) { - e.clearSelection(); - showTooltip(e.trigger, "Copied!"); - }); - - clipboardSnippets.on('error', function (e) { - showTooltip(e.trigger, "Clipboard error!"); - }); -})(); - -(function scrollToTop () { - var menuTitle = document.querySelector('.menu-title'); - - menuTitle.addEventListener('click', function () { - document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); - }); -})(); - -(function autoHideMenu() { - var menu = document.getElementById('menu-bar'); - - var previousScrollTop = document.scrollingElement.scrollTop; - - document.addEventListener('scroll', function () { - if (menu.classList.contains('folded') && document.scrollingElement.scrollTop < previousScrollTop) { - menu.classList.remove('folded'); - } else if (!menu.classList.contains('folded') && document.scrollingElement.scrollTop > previousScrollTop) { - menu.classList.add('folded'); - } - - if (!menu.classList.contains('bordered') && document.scrollingElement.scrollTop > 0) { - menu.classList.add('bordered'); - } - - if (menu.classList.contains('bordered') && document.scrollingElement.scrollTop === 0) { - menu.classList.remove('bordered'); - } - - previousScrollTop = document.scrollingElement.scrollTop; - }, { passive: true }); -})(); diff --git a/book/clipboard.min.js b/book/clipboard.min.js deleted file mode 100644 index 02c549e..0000000 --- a/book/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v2.0.4 - * https://zenorocha.github.io/clipboard.js - * - * Licensed MIT © Zeno Rocha - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n - - - - - Conclusion and exercises - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -
- -
- - - - - - - - - - -
-
-

Conclusion and exercises

-

Congratulations. Good job! If you got this far you must have stayed with me -all the way. I hope you enjoyed the ride!

-

Remember that you call always leave feedback, suggest improvements or ask questions -in the issue_tracker for this book. -I'll try my best to respond to each one of them.

-

I'll leave you with some suggestions for exercises if you want to explore a little further below.

-

Until next time!

-

Reader exercises

-

So our implementation has taken some obvious shortcuts and could use some improvement. -Actually digging into the code and try things yourself is a good way to learn. Here are -some good exercises if you want to explore more:

-

Avoid wrapping the whole Reactor in a mutex and pass it around

-

First of all, protecting the whole Reactor and passing it around is overkill. We're only -interested in synchronizing some parts of the information it contains. Try to refactor that -out and only synchronize access to what's really needed.

-

I'd encourage you to have a look at how async_std solves this with a global runtime which includes the reactor -and how tokio's rutime solves the same -thing in a slightly different way to get some inspiration.

-
    -
  • Do you want to pass around a reference to this information using an Arc?
  • -
  • Do you want to make a global Reactor so it can be accessed from anywhere?
  • -
-

Building a better exectuor

-

Right now, we can only run one and one future. Most runtimes has a spawn -function which let's you start off a future and await it later so you -can run multiple futures concurrently.

-

As I suggested in the start of this book, visiting @stjepan'sblog series about implementing your own executors -is the place I would start and take it from there.

-

Further reading

-

There are many great resources. In addition to the RFCs and articles I've already -linked to in the book, here are some of my suggestions:

-

The official Asyc book

-

The async_std book

-

Aron Turon: Designing futures for Rust

-

Steve Klabnik's presentation: Rust's journey to Async/Await

-

The Tokio Blog

-

Stjepan's blog with a series where he implements an Executor

-

Jon Gjengset's video on The Why, What and How of Pinning in Rust

-

Withoutboats blog series about async/await

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/css/chrome.css b/book/css/chrome.css deleted file mode 100644 index 94f86f7..0000000 --- a/book/css/chrome.css +++ /dev/null @@ -1,451 +0,0 @@ -/* CSS for UI elements (a.k.a. chrome) */ - -@import 'variables.css'; - -::-webkit-scrollbar { - background: var(--bg); -} -::-webkit-scrollbar-thumb { - background: var(--scrollbar); -} - -#searchresults a, -.content a:link, -a:visited, -a > .hljs { - color: var(--links); -} - -/* Menu Bar */ - -#menu-bar { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 101; - margin: auto calc(0px - var(--page-padding)); -} -#menu-bar > #menu-bar-sticky-container { - display: flex; - flex-wrap: wrap; - background-color: var(--bg); - border-bottom-color: var(--bg); - border-bottom-width: 1px; - border-bottom-style: solid; -} -.js #menu-bar > #menu-bar-sticky-container { - transition: transform 0.3s; -} -#menu-bar.bordered > #menu-bar-sticky-container { - border-bottom-color: var(--table-border-color); -} -#menu-bar i, #menu-bar .icon-button { - position: relative; - padding: 0 8px; - z-index: 10; - line-height: 50px; - cursor: pointer; - transition: color 0.5s; -} -@media only screen and (max-width: 420px) { - #menu-bar i, #menu-bar .icon-button { - padding: 0 5px; - } -} - -.icon-button { - border: none; - background: none; - padding: 0; - color: inherit; -} -.icon-button i { - margin: 0; -} - -.right-buttons { - margin: 0 15px; -} -.right-buttons a { - text-decoration: none; -} - -html:not(.sidebar-visible) #menu-bar:not(:hover).folded > #menu-bar-sticky-container { - transform: translateY(-60px); -} - -.left-buttons { - display: flex; - margin: 0 5px; -} -.no-js .left-buttons { - display: none; -} - -.menu-title { - display: inline-block; - font-weight: 200; - font-size: 20px; - line-height: 50px; - text-align: center; - margin: 0; - flex: 1; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.js .menu-title { - cursor: pointer; -} - -.menu-bar, -.menu-bar:visited, -.nav-chapters, -.nav-chapters:visited, -.mobile-nav-chapters, -.mobile-nav-chapters:visited, -.menu-bar .icon-button, -.menu-bar a i { - color: var(--icons); -} - -.menu-bar i:hover, -.menu-bar .icon-button:hover, -.nav-chapters:hover, -.mobile-nav-chapters i:hover { - color: var(--icons-hover); -} - -/* Nav Icons */ - -.nav-chapters { - font-size: 2.5em; - text-align: center; - text-decoration: none; - - position: fixed; - top: 50px; /* Height of menu-bar */ - bottom: 0; - margin: 0; - max-width: 150px; - min-width: 90px; - - display: flex; - justify-content: center; - align-content: center; - flex-direction: column; - - transition: color 0.5s; -} - -.nav-chapters:hover { text-decoration: none; } - -.nav-wrapper { - margin-top: 50px; - display: none; -} - -.mobile-nav-chapters { - font-size: 2.5em; - text-align: center; - text-decoration: none; - width: 90px; - border-radius: 5px; - background-color: var(--sidebar-bg); -} - -.previous { - float: left; -} - -.next { - float: right; - right: var(--page-padding); -} - -@media only screen and (max-width: 1080px) { - .nav-wide-wrapper { display: none; } - .nav-wrapper { display: block; } -} - -@media only screen and (max-width: 1380px) { - .sidebar-visible .nav-wide-wrapper { display: none; } - .sidebar-visible .nav-wrapper { display: block; } -} - -/* Inline code */ - -:not(pre) > .hljs { - display: inline-block; - vertical-align: middle; - padding: 0.1em 0.3em; - border-radius: 3px; -} - -:not(pre):not(a) > .hljs { - color: var(--inline-code-color); - overflow-x: initial; -} - -a:hover > .hljs { - text-decoration: underline; -} - -pre { - position: relative; -} -pre > .buttons { - position: absolute; - z-index: 100; - right: 5px; - top: 5px; - - color: var(--sidebar-fg); - cursor: pointer; -} -pre > .buttons :hover { - color: var(--sidebar-active); -} -pre > .buttons i { - margin-left: 8px; -} -pre > .buttons button { - color: inherit; - background: transparent; - border: none; - cursor: inherit; -} -pre > .result { - margin-top: 10px; -} - -/* Search */ - -#searchresults a { - text-decoration: none; -} - -mark { - border-radius: 2px; - padding: 0 3px 1px 3px; - margin: 0 -3px -1px -3px; - background-color: var(--search-mark-bg); - transition: background-color 300ms linear; - cursor: pointer; -} - -mark.fade-out { - background-color: rgba(0,0,0,0) !important; - cursor: auto; -} - -.searchbar-outer { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); -} - -#searchbar { - width: 100%; - margin: 5px auto 0px auto; - padding: 10px 16px; - transition: box-shadow 300ms ease-in-out; - border: 1px solid var(--searchbar-border-color); - border-radius: 3px; - background-color: var(--searchbar-bg); - color: var(--searchbar-fg); -} -#searchbar:focus, -#searchbar.active { - box-shadow: 0 0 3px var(--searchbar-shadow-color); -} - -.searchresults-header { - font-weight: bold; - font-size: 1em; - padding: 18px 0 0 5px; - color: var(--searchresults-header-fg); -} - -.searchresults-outer { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); - border-bottom: 1px dashed var(--searchresults-border-color); -} - -ul#searchresults { - list-style: none; - padding-left: 20px; -} -ul#searchresults li { - margin: 10px 0px; - padding: 2px; - border-radius: 2px; -} -ul#searchresults li.focus { - background-color: var(--searchresults-li-bg); -} -ul#searchresults span.teaser { - display: block; - clear: both; - margin: 5px 0 0 20px; - font-size: 0.8em; -} -ul#searchresults span.teaser em { - font-weight: bold; - font-style: normal; -} - -/* Sidebar */ - -.sidebar { - position: fixed; - left: 0; - top: 0; - bottom: 0; - width: var(--sidebar-width); - font-size: 0.875em; - box-sizing: border-box; - -webkit-overflow-scrolling: touch; - overscroll-behavior-y: contain; - background-color: var(--sidebar-bg); - color: var(--sidebar-fg); -} -.sidebar-resizing { - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} -.js:not(.sidebar-resizing) .sidebar { - transition: transform 0.3s; /* Animation: slide away */ -} -.sidebar code { - line-height: 2em; -} -.sidebar .sidebar-scrollbox { - overflow-y: auto; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - padding: 10px 10px; -} -.sidebar .sidebar-resize-handle { - position: absolute; - cursor: col-resize; - width: 0; - right: 0; - top: 0; - bottom: 0; -} -.js .sidebar .sidebar-resize-handle { - cursor: col-resize; - width: 5px; -} -.sidebar-hidden .sidebar { - transform: translateX(calc(0px - var(--sidebar-width))); -} -.sidebar::-webkit-scrollbar { - background: var(--sidebar-bg); -} -.sidebar::-webkit-scrollbar-thumb { - background: var(--scrollbar); -} - -.sidebar-visible .page-wrapper { - transform: translateX(var(--sidebar-width)); -} -@media only screen and (min-width: 620px) { - .sidebar-visible .page-wrapper { - transform: none; - margin-left: var(--sidebar-width); - } -} - -.chapter { - list-style: none outside none; - padding-left: 0; - line-height: 2.2em; -} -.chapter li { - color: var(--sidebar-non-existant); -} -.chapter li a { - display: block; - padding: 0; - text-decoration: none; - color: var(--sidebar-fg); -} - -.chapter li a:hover { - color: var(--sidebar-active); -} - -.chapter li .active { - color: var(--sidebar-active); -} - -.spacer { - width: 100%; - height: 3px; - margin: 5px 0px; -} -.chapter .spacer { - background-color: var(--sidebar-spacer); -} - -@media (-moz-touch-enabled: 1), (pointer: coarse) { - .chapter li a { padding: 5px 0; } - .spacer { margin: 10px 0; } -} - -.section { - list-style: none outside none; - padding-left: 20px; - line-height: 1.9em; -} - -/* Theme Menu Popup */ - -.theme-popup { - position: absolute; - left: 10px; - top: 50px; - z-index: 1000; - border-radius: 4px; - font-size: 0.7em; - color: var(--fg); - background: var(--theme-popup-bg); - border: 1px solid var(--theme-popup-border); - margin: 0; - padding: 0; - list-style: none; - display: none; -} -.theme-popup .default { - color: var(--icons); -} -.theme-popup .theme { - width: 100%; - border: 0; - margin: 0; - padding: 2px 10px; - line-height: 25px; - white-space: nowrap; - text-align: left; - cursor: pointer; - color: inherit; - background: inherit; - font-size: inherit; -} -.theme-popup .theme:hover { - background-color: var(--theme-hover); -} -.theme-popup .theme:hover:first-child, -.theme-popup .theme:hover:last-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; -} diff --git a/book/css/general.css b/book/css/general.css deleted file mode 100644 index 57d5d7a..0000000 --- a/book/css/general.css +++ /dev/null @@ -1,143 +0,0 @@ -/* Base styles and content styles */ - -@import 'variables.css'; - -html { - font-family: "Open Sans", sans-serif; - color: var(--fg); - background-color: var(--bg); - text-size-adjust: none; -} - -body { - margin: 0; - font-size: 1rem; - overflow-x: hidden; -} - -code { - font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; - font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */ -} - -.left { float: left; } -.right { float: right; } -.hidden { display: none; } -.play-button.hidden { display: none; } - -h2, h3 { margin-top: 2.5em; } -h4, h5 { margin-top: 2em; } - -.header + .header h3, -.header + .header h4, -.header + .header h5 { - margin-top: 1em; -} - -h1 a.header:target::before, -h2 a.header:target::before, -h3 a.header:target::before, -h4 a.header:target::before { - display: inline-block; - content: "»"; - margin-left: -30px; - width: 30px; -} - -.page { - outline: 0; - padding: 0 var(--page-padding); -} -.page-wrapper { - box-sizing: border-box; -} -.js:not(.sidebar-resizing) .page-wrapper { - transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ -} - -.content { - overflow-y: auto; - padding: 0 15px; - padding-bottom: 50px; -} -.content main { - margin-left: auto; - margin-right: auto; - max-width: var(--content-max-width); -} -.content a { text-decoration: none; } -.content a:hover { text-decoration: underline; } -.content img { max-width: 100%; } -.content .header:link, -.content .header:visited { - color: var(--fg); -} -.content .header:link, -.content .header:visited:hover { - text-decoration: none; -} - -table { - margin: 0 auto; - border-collapse: collapse; -} -table td { - padding: 3px 20px; - border: 1px var(--table-border-color) solid; -} -table thead { - background: var(--table-header-bg); -} -table thead td { - font-weight: 700; - border: none; -} -table thead tr { - border: 1px var(--table-header-bg) solid; -} -/* Alternate background colors for rows */ -table tbody tr:nth-child(2n) { - background: var(--table-alternate-bg); -} - - -blockquote { - margin: 20px 0; - padding: 0 20px; - color: var(--fg); - background-color: var(--quote-bg); - border-top: .1em solid var(--quote-border); - border-bottom: .1em solid var(--quote-border); -} - - -:not(.footnote-definition) + .footnote-definition, -.footnote-definition + :not(.footnote-definition) { - margin-top: 2em; -} -.footnote-definition { - font-size: 0.9em; - margin: 0.5em 0; -} -.footnote-definition p { - display: inline; -} - -.tooltiptext { - position: absolute; - visibility: hidden; - color: #fff; - background-color: #333; - transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ - left: -8px; /* Half of the width of the icon */ - top: -35px; - font-size: 0.8em; - text-align: center; - border-radius: 6px; - padding: 5px 8px; - margin: 5px; - z-index: 1000; -} -.tooltipped .tooltiptext { - visibility: visible; -} diff --git a/book/css/print.css b/book/css/print.css deleted file mode 100644 index 5e690f7..0000000 --- a/book/css/print.css +++ /dev/null @@ -1,54 +0,0 @@ - -#sidebar, -#menu-bar, -.nav-chapters, -.mobile-nav-chapters { - display: none; -} - -#page-wrapper.page-wrapper { - transform: none; - margin-left: 0px; - overflow-y: initial; -} - -#content { - max-width: none; - margin: 0; - padding: 0; -} - -.page { - overflow-y: initial; -} - -code { - background-color: #666666; - border-radius: 5px; - - /* Force background to be printed in Chrome */ - -webkit-print-color-adjust: exact; -} - -pre > .buttons { - z-index: 2; -} - -a, a:visited, a:active, a:hover { - color: #4183c4; - text-decoration: none; -} - -h1, h2, h3, h4, h5, h6 { - page-break-inside: avoid; - page-break-after: avoid; -} - -pre, code { - page-break-inside: avoid; - white-space: pre-wrap; -} - -.fa { - display: none !important; -} diff --git a/book/css/variables.css b/book/css/variables.css deleted file mode 100644 index 29daa07..0000000 --- a/book/css/variables.css +++ /dev/null @@ -1,210 +0,0 @@ - -/* Globals */ - -:root { - --sidebar-width: 300px; - --page-padding: 15px; - --content-max-width: 750px; -} - -/* Themes */ - -.ayu { - --bg: hsl(210, 25%, 8%); - --fg: #c5c5c5; - - --sidebar-bg: #14191f; - --sidebar-fg: #c8c9db; - --sidebar-non-existant: #5c6773; - --sidebar-active: #ffb454; - --sidebar-spacer: #2d334f; - - --scrollbar: var(--sidebar-fg); - - --icons: #737480; - --icons-hover: #b7b9cc; - - --links: #0096cf; - - --inline-code-color: #ffb454; - - --theme-popup-bg: #14191f; - --theme-popup-border: #5c6773; - --theme-hover: #191f26; - - --quote-bg: hsl(226, 15%, 17%); - --quote-border: hsl(226, 15%, 22%); - - --table-border-color: hsl(210, 25%, 13%); - --table-header-bg: hsl(210, 25%, 28%); - --table-alternate-bg: hsl(210, 25%, 11%); - - --searchbar-border-color: #848484; - --searchbar-bg: #424242; - --searchbar-fg: #fff; - --searchbar-shadow-color: #d4c89f; - --searchresults-header-fg: #666; - --searchresults-border-color: #888; - --searchresults-li-bg: #252932; - --search-mark-bg: #e3b171; -} - -.coal { - --bg: hsl(200, 7%, 8%); - --fg: #98a3ad; - - --sidebar-bg: #292c2f; - --sidebar-fg: #a1adb8; - --sidebar-non-existant: #505254; - --sidebar-active: #3473ad; - --sidebar-spacer: #393939; - - --scrollbar: var(--sidebar-fg); - - --icons: #43484d; - --icons-hover: #b3c0cc; - - --links: #2b79a2; - - --inline-code-color: #c5c8c6;; - - --theme-popup-bg: #141617; - --theme-popup-border: #43484d; - --theme-hover: #1f2124; - - --quote-bg: hsl(234, 21%, 18%); - --quote-border: hsl(234, 21%, 23%); - - --table-border-color: hsl(200, 7%, 13%); - --table-header-bg: hsl(200, 7%, 28%); - --table-alternate-bg: hsl(200, 7%, 11%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #b7b7b7; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #666; - --searchresults-border-color: #98a3ad; - --searchresults-li-bg: #2b2b2f; - --search-mark-bg: #355c7d; -} - -.light { - --bg: hsl(0, 0%, 100%); - --fg: #333333; - - --sidebar-bg: #fafafa; - --sidebar-fg: #364149; - --sidebar-non-existant: #aaaaaa; - --sidebar-active: #008cff; - --sidebar-spacer: #f4f4f4; - - --scrollbar: #cccccc; - - --icons: #cccccc; - --icons-hover: #333333; - - --links: #4183c4; - - --inline-code-color: #6e6b5e; - - --theme-popup-bg: #fafafa; - --theme-popup-border: #cccccc; - --theme-hover: #e6e6e6; - - --quote-bg: hsl(197, 37%, 96%); - --quote-border: hsl(197, 37%, 91%); - - --table-border-color: hsl(0, 0%, 95%); - --table-header-bg: hsl(0, 0%, 80%); - --table-alternate-bg: hsl(0, 0%, 97%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #fafafa; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #666; - --searchresults-border-color: #888; - --searchresults-li-bg: #e4f2fe; - --search-mark-bg: #a2cff5; -} - -.navy { - --bg: hsl(226, 23%, 11%); - --fg: #bcbdd0; - - --sidebar-bg: #282d3f; - --sidebar-fg: #c8c9db; - --sidebar-non-existant: #505274; - --sidebar-active: #2b79a2; - --sidebar-spacer: #2d334f; - - --scrollbar: var(--sidebar-fg); - - --icons: #737480; - --icons-hover: #b7b9cc; - - --links: #2b79a2; - - --inline-code-color: #c5c8c6;; - - --theme-popup-bg: #161923; - --theme-popup-border: #737480; - --theme-hover: #282e40; - - --quote-bg: hsl(226, 15%, 17%); - --quote-border: hsl(226, 15%, 22%); - - --table-border-color: hsl(226, 23%, 16%); - --table-header-bg: hsl(226, 23%, 31%); - --table-alternate-bg: hsl(226, 23%, 14%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #aeaec6; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #5f5f71; - --searchresults-border-color: #5c5c68; - --searchresults-li-bg: #242430; - --search-mark-bg: #a2cff5; -} - -.rust { - --bg: hsl(60, 9%, 87%); - --fg: #262625; - - --sidebar-bg: #3b2e2a; - --sidebar-fg: #c8c9db; - --sidebar-non-existant: #505254; - --sidebar-active: #e69f67; - --sidebar-spacer: #45373a; - - --scrollbar: var(--sidebar-fg); - - --icons: #737480; - --icons-hover: #262625; - - --links: #2b79a2; - - --inline-code-color: #6e6b5e; - - --theme-popup-bg: #e1e1db; - --theme-popup-border: #b38f6b; - --theme-hover: #99908a; - - --quote-bg: hsl(60, 5%, 75%); - --quote-border: hsl(60, 5%, 70%); - - --table-border-color: hsl(60, 9%, 82%); - --table-header-bg: #b3a497; - --table-alternate-bg: hsl(60, 9%, 84%); - - --searchbar-border-color: #aaa; - --searchbar-bg: #fafafa; - --searchbar-fg: #000; - --searchbar-shadow-color: #aaa; - --searchresults-header-fg: #666; - --searchresults-border-color: #888; - --searchresults-li-bg: #dec2a2; - --search-mark-bg: #e69f67; -} diff --git a/book/editor.js b/book/editor.js deleted file mode 100644 index f1072d4..0000000 --- a/book/editor.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -window.editors = []; -(function(editors) { - if (typeof(ace) === 'undefined' || !ace) { - return; - } - - Array.from(document.querySelectorAll('.editable')).forEach(function(editable) { - let editor = ace.edit(editable); - editor.setOptions({ - highlightActiveLine: false, - showPrintMargin: false, - showLineNumbers: false, - showGutter: false, - maxLines: Infinity, - fontSize: "0.875em" // please adjust the font size of the code in general.css - }); - - editor.$blockScrolling = Infinity; - - editor.getSession().setMode("ace/mode/rust"); - - editor.originalCode = editor.getValue(); - - editors.push(editor); - }); -})(window.editors); diff --git a/book/elasticlunr.min.js b/book/elasticlunr.min.js deleted file mode 100644 index 94b20dd..0000000 --- a/book/elasticlunr.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * elasticlunr - http://weixsong.github.io - * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 - * - * Copyright (C) 2017 Oliver Nightingale - * Copyright (C) 2017 Wei Song - * MIT Licensed - * @license - */ -!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.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 A;{X5v diff --git a/book/highlight.css b/book/highlight.css deleted file mode 100644 index a85fec2..0000000 --- a/book/highlight.css +++ /dev/null @@ -1,82 +0,0 @@ -/* Base16 Atelier Dune Light - Theme */ -/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ -/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ - -/* Atelier-Dune Comment */ -.hljs-comment { - color: rgb(160, 160, 160);; - font-style: italic; -} -.hljs-quote { - color: #AAA; -} - -/* Atelier-Dune Red */ -.hljs-variable, -.hljs-template-variable, -.hljs-attribute, -.hljs-tag, -.hljs-name, -.hljs-regexp, -.hljs-link, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #d73737; -} - -/* Atelier-Dune Orange */ -.hljs-number, -.hljs-meta, -.hljs-built_in, -.hljs-builtin-name, -.hljs-literal, -.hljs-type, -.hljs-params { - color: #b65611; -} - -/* Atelier-Dune Green */ -.hljs-string, -.hljs-symbol, -.hljs-bullet { - color: #60ac39; -} - -/* Atelier-Dune Blue */ -.hljs-title, -.hljs-section { - color: #6684e1; -} - -/* Atelier-Dune Purple */ -.hljs-keyword, -.hljs-selector-tag { - color: #b854d4; -} - -.hljs { - display: block; - overflow-x: auto; - background: #f1f1f1; - color: #6e6b5e; - padding: 0.5em; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-addition { - color: #22863a; - background-color: #f0fff4; -} - -.hljs-deletion { - color: #b31d28; - background-color: #ffeef0; -} diff --git a/book/highlight.js b/book/highlight.js deleted file mode 100644 index a3c7611..0000000 --- a/book/highlight.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! highlight.js v9.15.8 | BSD3 License | git.io/hljslicense */ -!function(e){var t="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):t&&(t.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return t.hljs}))}(function(n){var m=[],o=Object.keys,g={},u={},t=/^(no-?highlight|plain|text)$/i,v=/\blang(?:uage)?-([\w-]+)\b/i,s=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,r={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",relevance:"r",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM",REGEXP_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},h="",w={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function x(e){return e.replace(/&/g,"&").replace(//g,">")}function b(e){return e.nodeName.toLowerCase()}function N(e,t){var s=e&&e.exec(t);return s&&0===s.index}function f(e){return t.test(e)}function p(e){var t,s={},r=Array.prototype.slice.call(arguments,1);for(t in e)s[t]=e[t];return r.forEach(function(e){for(t in e)s[t]=e[t]}),s}function _(e){var n=[];return function e(t,s){for(var r=t.firstChild;r;r=r.nextSibling)3===r.nodeType?s+=r.nodeValue.length:1===r.nodeType&&(n.push({event:"start",offset:s,node:r}),s=e(r,s),b(r).match(/br|hr|img|input/)||n.push({event:"stop",offset:s,node:r}));return s}(e,0),n}function a(e){if(r&&!e.langApiRestored){for(var t in e.langApiRestored=!0,r)e[t]&&(e[r[t]]=e[t]);(e.c||[]).concat(e.v||[]).forEach(a)}}function q(i){function d(e){return e&&e.source||e}function c(e,t){return new RegExp(d(e),"m"+(i.cI?"i":"")+(t?"g":""))}!function t(s,e){if(!s.compiled){if(s.compiled=!0,s.k=s.k||s.bK,s.k){var r={},n=function(s,e){i.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var t=e.split("|");r[t[0]]=[s,t[1]?Number(t[1]):1]})};"string"==typeof s.k?n("keyword",s.k):o(s.k).forEach(function(e){n(e,s.k[e])}),s.k=r}s.lR=c(s.l||/\w+/,!0),e&&(s.bK&&(s.b="\\b("+s.bK.split(" ").join("|")+")\\b"),s.b||(s.b=/\B|\b/),s.bR=c(s.b),s.endSameAsBegin&&(s.e=s.b),s.e||s.eW||(s.e=/\B|\b/),s.e&&(s.eR=c(s.e)),s.tE=d(s.e)||"",s.eW&&e.tE&&(s.tE+=(s.e?"|":"")+e.tE)),s.i&&(s.iR=c(s.i)),null==s.r&&(s.r=1),s.c||(s.c=[]),s.c=Array.prototype.concat.apply([],s.c.map(function(e){return(t="self"===e?s:e).v&&!t.cached_variants&&(t.cached_variants=t.v.map(function(e){return p(t,{v:null},e)})),t.cached_variants||t.eW&&[p(t)]||[t];var t})),s.c.forEach(function(e){t(e,s)}),s.starts&&t(s.starts,e);var a=s.c.map(function(e){return e.bK?"\\.?(?:"+e.b+")\\.?":e.b}).concat([s.tE,s.i]).map(d).filter(Boolean);s.t=a.length?c(function(e,t){for(var s=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,n="",a=0;a')+t+(s?"":h):t}function d(){u+=null!=m.sL?function(){var e="string"==typeof m.sL;if(e&&!g[m.sL])return x(v);var t=e?y(m.sL,v,!0,a[m.sL]):E(v,m.sL.length?m.sL:void 0);return 0")+'"');return v+=t,t.length||1}var l=C(e);if(!l)throw new Error('Unknown language: "'+e+'"');q(l);var n,m=s||l,a={},u="";for(n=m;n!==l;n=n.parent)n.cN&&(u=o(n.cN,"",!0)+u);var v="",b=0;try{for(var i,f,_=0;m.t.lastIndex=_,i=m.t.exec(t);)f=r(t.substring(_,i.index),i[0]),_=i.index+f;for(r(t.substr(_)),n=m;n.parent;n=n.parent)n.cN&&(u+=h);return{r:b,value:u,language:e,top:m}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:x(t)};throw e}}function E(s,e){e=e||w.languages||o(g);var r={r:0,value:x(s)},n=r;return e.filter(C).filter(d).forEach(function(e){var t=y(e,s,!1);t.language=e,t.r>n.r&&(n=t),t.r>r.r&&(n=r,r=t)}),n.language&&(r.second_best=n),r}function k(e){return w.tabReplace||w.useBR?e.replace(s,function(e,t){return w.useBR&&"\n"===e?"
":w.tabReplace?t.replace(/\t/g,w.tabReplace):""}):e}function i(e){var t,s,r,n,a,i,c,o,d,p,l=function(e){var t,s,r,n,a=e.className+" ";if(a+=e.parentNode?e.parentNode.className:"",s=v.exec(a))return C(s[1])?s[1]:"no-highlight";for(t=0,r=(a=a.split(/\s+/)).length;t/g,"\n"):t=e,a=t.textContent,r=l?y(l,a,!0):E(a),(s=_(t)).length&&((n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=r.value,r.value=function(e,t,s){var r=0,n="",a=[];function i(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function o(e){n+=""}function d(e){("start"===e.event?c:o)(e.node)}for(;e.length||t.length;){var p=i();if(n+=x(s.substring(r,p[0].offset)),r=p[0].offset,p===e){for(a.reverse().forEach(o);d(p.splice(0,1)[0]),(p=i())===e&&p.length&&p[0].offset===r;);a.reverse().forEach(c)}else"start"===p[0].event?a.push(p[0].node):a.pop(),d(p.splice(0,1)[0])}return n+x(s.substr(r))}(s,_(n),a)),r.value=k(r.value),e.innerHTML=r.value,e.className=(i=e.className,c=l,o=r.language,d=c?u[c]:o,p=[i.trim()],i.match(/\bhljs\b/)||p.push("hljs"),-1===i.indexOf(d)&&p.push(d),p.join(" ").trim()),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function c(){if(!c.called){c.called=!0;var e=document.querySelectorAll("pre code");m.forEach.call(e,i)}}function C(e){return e=(e||"").toLowerCase(),g[e]||g[u[e]]}function d(e){var t=C(e);return t&&!t.disableAutodetect}return n.highlight=y,n.highlightAuto=E,n.fixMarkup=k,n.highlightBlock=i,n.configure=function(e){w=p(w,e)},n.initHighlighting=c,n.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",c,!1),addEventListener("load",c,!1)},n.registerLanguage=function(t,e){var s=g[t]=e(n);a(s),s.aliases&&s.aliases.forEach(function(e){u[e]=t})},n.listLanguages=function(){return o(g)},n.getLanguage=C,n.autoDetection=d,n.inherit=p,n.IR=n.IDENT_RE="[a-zA-Z]\\w*",n.UIR=n.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",n.NR=n.NUMBER_RE="\\b\\d+(\\.\\d+)?",n.CNR=n.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",n.BNR=n.BINARY_NUMBER_RE="\\b(0b[01]+)",n.RSR=n.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",n.BE=n.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",r:0},n.ASM=n.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[n.BE]},n.QSM=n.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[n.BE]},n.PWM=n.PHRASAL_WORDS_MODE={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},n.C=n.COMMENT=function(e,t,s){var r=n.inherit({cN:"comment",b:e,e:t,c:[]},s||{});return r.c.push(n.PWM),r.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),r},n.CLCM=n.C_LINE_COMMENT_MODE=n.C("//","$"),n.CBCM=n.C_BLOCK_COMMENT_MODE=n.C("/\\*","\\*/"),n.HCM=n.HASH_COMMENT_MODE=n.C("#","$"),n.NM=n.NUMBER_MODE={cN:"number",b:n.NR,r:0},n.CNM=n.C_NUMBER_MODE={cN:"number",b:n.CNR,r:0},n.BNM=n.BINARY_NUMBER_MODE={cN:"number",b:n.BNR,r:0},n.CSSNM=n.CSS_NUMBER_MODE={cN:"number",b:n.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},n.RM=n.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[n.BE,{b:/\[/,e:/\]/,r:0,c:[n.BE]}]},n.TM=n.TITLE_MODE={cN:"title",b:n.IR,r:0},n.UTM=n.UNDERSCORE_TITLE_MODE={cN:"title",b:n.UIR,r:0},n.METHOD_GUARD={b:"\\.\\s*"+n.UIR,r:0},n.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),n.registerLanguage("armasm",function(e){return{cI:!0,aliases:["arm"],l:"\\.?"+e.IR,k:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},c:[{cN:"keyword",b:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",e:"\\s"},e.C("[;@]","$",{r:0}),e.CBCM,e.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"title",b:"\\|",e:"\\|",i:"\\n",r:0},{cN:"number",v:[{b:"[#$=]?0x[0-9a-f]+"},{b:"[#$=]?0b[01]+"},{b:"[#$=]\\d+"},{b:"\\b\\d+"}],r:0},{cN:"symbol",v:[{b:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{b:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{b:"[=#]\\w+"}],r:0}]}}),n.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,{cN:"string",b:/'/,e:/'/},t]}}),n.registerLanguage("coffeescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},s="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:t},n=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+s},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=n;var a=e.inherit(e.TM,{b:s}),i="(\\(.*\\))?\\s*\\B[-=]>",c={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(n)}]};return{aliases:["coffee","cson","iced"],k:t,i:/\/\*/,c:n.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+s+"\\s*=\\s*"+i,e:"[-=]>",rB:!0,c:[a,c]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:i,e:"[-=]>",rB:!0,c:[c]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[a]},a]},{b:s+":",e:":",rB:!0,rE:!0,r:0}])}}),n.registerLanguage("cpp",function(e){var t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},s={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/},{b:"'\\\\?.",e:"'",i:"."}]},r={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},n={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},e.inherit(s,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},a=e.IR+"\\s*\\(",i={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},c=[t,e.CLCM,e.CBCM,r,s];return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],k:i,i:"",k:i,c:["self",t]},{b:e.IR+"::",k:i},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:i,c:c.concat([{b:/\(/,e:/\)/,k:i,c:c.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:i,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:i,r:0,c:[e.CLCM,e.CBCM,s,r,t,{b:/\(/,e:/\)/,k:i,r:0,c:["self",e.CLCM,e.CBCM,s,r,t]}]},e.CLCM,e.CBCM,n]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:n,strings:s,k:i}}}),n.registerLanguage("cs",function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},r={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},n=e.inherit(r,{i:/\n/}),a={cN:"subst",b:"{",e:"}",k:t},i=e.inherit(a,{i:/\n/}),c={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,i]},o={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},a]},d=e.inherit(o,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},i]});a.c=[o,c,r,e.ASM,e.QSM,s,e.CBCM],i.c=[d,c,n,e.ASM,e.QSM,s,e.inherit(e.CBCM,{i:/\n/})];var p={v:[o,c,r,e.ASM,e.QSM]},l=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"\x3c!--|--\x3e"},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},p,s,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+l+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[p,s,e.CBCM]},e.CLCM,e.CBCM]}]}}),n.registerLanguage("css",function(e){var t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}}),n.registerLanguage("d",function(e){var t="(0|[1-9][\\d_]*)",s="("+t+"|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",r="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",n={cN:"number",b:"\\b"+s+"(L|u|U|Lu|LU|uL|UL)?",r:0},a={cN:"number",b:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+s+"(i|[fF]i|Li))",r:0},i={cN:"string",b:"'("+r+"|.)",e:"'",i:"."},c={cN:"string",b:'"',c:[{b:r,r:0}],e:'"[cwd]?'},o=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:{keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},c:[e.CLCM,e.CBCM,o,{cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},c,{cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},{cN:"string",b:"`",e:"`[cwd]?"},{cN:"string",b:'q"\\{',e:'\\}"'},a,n,i,{cN:"meta",b:"^#!",e:"$",r:5},{cN:"meta",b:"#(line)",e:"$",r:5},{cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}),n.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}}),n.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}}),n.registerLanguage("handlebars",function(e){var t={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],cI:!0,sL:"xml",c:[e.C("{{!(--)?","(--)?}}"),{cN:"template-tag",b:/\{\{[#\/]/,e:/\}\}/,c:[{cN:"name",b:/[a-zA-Z\.-]+/,k:t,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:"template-variable",b:/\{\{/,e:/\}\}/,k:t}]}}),n.registerLanguage("haskell",function(e){var t={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},s={cN:"meta",b:"{-#",e:"#-}"},r={cN:"meta",b:"^#",e:"$"},n={cN:"type",b:"\\b[A-Z][\\w']*",r:0},a={b:"\\(",e:"\\)",i:'"',c:[s,r,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"}),t]};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{bK:"module",e:"where",k:"module where",c:[a,t],i:"\\W\\.|;"},{b:"\\bimport\\b",e:"$",k:"import qualified as hiding",c:[a,t],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[n,a,t]},{cN:"class",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[s,n,a,{b:"{",e:"}",c:a.c},t]},{bK:"default",e:"$",c:[n,a,t]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,t]},{b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[n,e.QSM,t]},{cN:"meta",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},s,r,e.QSM,e.CNM,n,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),t,{b:"->|<-"}]}}),n.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),n.registerLanguage("ini",function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_\.-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_\.-]+/},{b:/=/,eW:!0,r:0,c:[e.C(";","$"),e.HCM,{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),n.registerLanguage("java",function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s={cN:"number",b:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},s,{cN:"meta",b:"@[A-Za-z]+"}]}}),n.registerLanguage("javascript",function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",s={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:s,c:[]},a={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,a,r,e.RM];var i=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:s,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,a,e.CLCM,e.CBCM,r,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:s,c:i}]}]},{cN:"",b:/\s/,e:/\s*/,skip:!0},{b://,sL:"xml",c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{b:/<[A-Za-z0-9\\._:-]+/,e:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:i}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}}),n.registerLanguage("json",function(e){var t={literal:"true false null"},s=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:s,k:t},n={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},a={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return s.splice(s.length,0,n,a),{c:s,k:t,i:"\\S"}}),n.registerLanguage("julia",function(e){var t={keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},s="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",r={l:s,k:t,i:/<\//},n={cN:"subst",b:/\$\(/,e:/\)/,k:t},a={cN:"variable",b:"\\$"+s},i={cN:"string",c:[e.BE,n,a],v:[{b:/\w*"""/,e:/"""\w*/,r:10},{b:/\w*"/,e:/"\w*/}]},c={cN:"string",c:[e.BE,n,a],b:"`",e:"`"},o={cN:"meta",b:"@"+s};return r.c=[{cN:"number",b:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,r:0},{cN:"string",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,c,o,{cN:"comment",v:[{b:"#=",e:"=#",r:10},{b:"#",e:"$"}]},e.HCM,{cN:"keyword",b:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{b:/<:/}],n.c=r.c,r}),n.registerLanguage("makefile",function(e){var t={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%",sL:"xml",r:0},{cN:"bullet",b:"^\\s*([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),n.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},s={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:s}],r:0}],i:"[^\\s\\}]"}}),n.registerLanguage("objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,s="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},l:t,i:""}]}]},{cN:"class",b:"("+s.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:s,l:t,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),n.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",s={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},r={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},a=[e.BE,s,n],i=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),r,{cN:"string",c:a,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return s.c=i,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:r.c=i}}),n.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},s={cN:"meta",b:/<\?(php)?|\?>/},r={cN:"string",c:[e.BE,s],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[s]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},s,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,r,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},r,n]}}),n.registerLanguage("properties",function(e){var t="[ \\t\\f]*",s="("+t+"[:=]"+t+"|[ \\t\\f]+)",r="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",n="([^\\\\:= \\t\\f\\n]|\\\\.)+",a={e:s,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[e.C("^\\s*[!#]","$"),{b:r+s,rB:!0,c:[{cN:"attr",b:r,endsParent:!0,r:0}],starts:a},{b:n+s,rB:!0,r:0,c:[{cN:"meta",b:n,endsParent:!0,r:0}],starts:a},{cN:"attr",r:0,b:n+t+"$"}]}}),n.registerLanguage("python",function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},s={cN:"meta",b:/^(>>>|\.\.\.) /},r={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,s],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,s],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,s,r]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,s,r]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,r]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,r]},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},i={cN:"params",b:/\(/,e:/\)/,c:["self",s,a,n]};return r.c=[n,a,s],{aliases:["py","gyp","ipython"],k:t,i:/(<\/|->|\?)|=>/,c:[s,a,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),n.registerLanguage("ruby",function(e){var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",s={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},r={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},a=[e.C("#","$",{c:[r]}),e.C("^\\=begin","^\\=end",{c:[r],r:10}),e.C("^__END__","\\n$")],i={cN:"subst",b:"#\\{",e:"}",k:s},c={cN:"string",c:[e.BE,i],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:s},d=[c,n,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(a)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(a)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:s},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,i],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(a),r:0}].concat(a);i.c=d;var p=[{b:/^\s*=>/,starts:{e:"$",c:o.c=d}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:s,i:/\/\*/,c:a.concat(p).concat(d)}}),n.registerLanguage("rust",function(e){var t="([ui](8|16|32|64|128|size)|f(32|64))?",s="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{aliases:["rs"],k:{keyword:"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move default",literal:"true false Some None Ok Err",built_in:s},l:e.IR+"!?",i:""}]}}),n.registerLanguage("scala",function(e){var t={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},s={cN:"string",v:[{b:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',r:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,t]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[t],r:10}]},r={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},n={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},a={cN:"class",bK:"class object trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends with",r:10},{b:/\[/,e:/\]/,eB:!0,eE:!0,r:0,c:[r]},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,r:0,c:[r]},n]},i={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[n]};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[e.CLCM,e.CBCM,s,{cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},r,i,a,e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}}),n.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),n.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),n.registerLanguage("swift",function(e){var t={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},s=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:t,c:[]},n={cN:"string",c:[e.BE,r],v:[{b:/"""/,e:/"""/},{b:/"/,e:/"/}]},a={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0};return r.c=[a],{k:t,c:[n,e.CLCM,s,{cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*",r:0},a,{cN:"function",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b://},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:t,c:["self",a,n,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:t,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{cN:"meta",b:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{bK:"import",e:/$/,c:[e.CLCM,s]}]}}),n.registerLanguage("x86asm",function(e){return{cI:!0,l:"[.%]?"+e.IR,k:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},c:[e.C(";","$",{r:0}),{cN:"number",v:[{b:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",r:0},{b:"\\$[0-9][0-9A-Fa-f]*",r:0},{b:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{b:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},e.QSM,{cN:"string",v:[{b:"'",e:"[^\\\\]'"},{b:"`",e:"[^\\\\]`"}],r:0},{cN:"symbol",v:[{b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{b:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],r:0},{cN:"subst",b:"%[0-9]+",r:0},{cN:"subst",b:"%!S+",r:0},{cN:"meta",b:/^\s*\.[\w_-]+/}]}}),n.registerLanguage("yaml",function(e){var t="true false yes no null",s="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",n={cN:"attr",v:[{b:s+r+":"},{b:s+'"'+r+'":'},{b:s+"'"+r+"':"}]},a={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,{cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]}]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[n,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:a.c,e:n.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!"+e.UIR},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:t,k:{literal:t}},e.CNM,a]}}),n}); \ No newline at end of file diff --git a/book/index.html b/book/index.html deleted file mode 100644 index b742d96..0000000 --- a/book/index.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - Introduction - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Futures Explained in 200 Lines of Rust

-

This book aims to explain Futures in Rust using an example driven approach, -exploring why they're designed the way they are, and how they work. We'll also -take a look at some of the alternatives we have when dealing with concurrency -in programming.

-

Going into the level of detail I do in this book is not needed to use futures -or async/await in Rust. It's for the curious out there that want to know how -it all works.

-

What this book covers

-

This book will try to explain everything you might wonder about up until the -topic of different types of executors and runtimes. We'll just implement a very -simple runtime in this book introducing some concepts but it's enough to get -started.

-

Stjepan Glavina has made an excellent series of -articles about async runtimes and executors, and if the rumors are right there -is more to come from him in the near future.

-

The way you should go about it is to read this book first, then continue -reading the articles from stejpang to learn more -about runtimes and how they work, especially:

-
    -
  1. Build your own block_on()
  2. -
  3. Build your own executor
  4. -
-

I've limited myself to a 200 line main example (hence the title) to limit the -scope and introduce an example that can easily be explored further.

-

However, there is a lot to digest and it's not what I would call easy, but we'll -take everything step by step so get a cup of tea and relax.

-

I hope you enjoy the ride.

-
-

This book is developed in the open, and contributions are welcome. You'll find -the repository for the book itself here. The final example which -you can clone, fork or copy can be found here. Any suggestions -or improvements can be filed as a PR or in the issue tracker for the book.

-

As always, all kinds of feedback is welcome.

-
-

Reader exercises and further reading

-

In the last chapter I've taken the liberty to suggest some -small exercises if you want to explore a little further.

-

This book is also the fourth book I have written about concurrent programming -in Rust. If you like it, you might want to check out the others as well:

- -

Credits and thanks

-

I'd like to take this chance to thank the people behind mio, tokio, -async_std, futures, libc, crossbeam which underpins so much of the -async ecosystem and and rarely gets enough praise in my eyes.

-

A special thanks to jonhoo who was kind enough to -give me some valuable feedback on a very early draft of this book. He has not -read the finished product, but a big thanks is definitely due.

-

Translations

-

This book has been translated to Chinese by nkbai.

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/introduction.html b/book/introduction.html deleted file mode 100644 index 05c9f15..0000000 --- a/book/introduction.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - Introduction - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Futures Explained in 200 Lines of Rust

-

This book aims to explain Futures in Rust using an example driven approach, -exploring why they're designed the way they are, and how they work. We'll also -take a look at some of the alternatives we have when dealing with concurrency -in programming.

-

Going into the level of detail I do in this book is not needed to use futures -or async/await in Rust. It's for the curious out there that want to know how -it all works.

-

What this book covers

-

This book will try to explain everything you might wonder about up until the -topic of different types of executors and runtimes. We'll just implement a very -simple runtime in this book introducing some concepts but it's enough to get -started.

-

Stjepan Glavina has made an excellent series of -articles about async runtimes and executors, and if the rumors are right there -is more to come from him in the near future.

-

The way you should go about it is to read this book first, then continue -reading the articles from stejpang to learn more -about runtimes and how they work, especially:

-
    -
  1. Build your own block_on()
  2. -
  3. Build your own executor
  4. -
-

I've limited myself to a 200 line main example (hence the title) to limit the -scope and introduce an example that can easily be explored further.

-

However, there is a lot to digest and it's not what I would call easy, but we'll -take everything step by step so get a cup of tea and relax.

-

I hope you enjoy the ride.

-
-

This book is developed in the open, and contributions are welcome. You'll find -the repository for the book itself here. The final example which -you can clone, fork or copy can be found here. Any suggestions -or improvements can be filed as a PR or in the issue tracker for the book.

-

As always, all kinds of feedback is welcome.

-
-

Reader exercises and further reading

-

In the last chapter I've taken the liberty to suggest some -small exercises if you want to explore a little further.

-

This book is also the fourth book I have written about concurrent programming -in Rust. If you like it, you might want to check out the others as well:

- -

Credits and thanks

-

I'd like to take this chance to thank the people behind mio, tokio, -async_std, futures, libc, crossbeam which underpins so much of the -async ecosystem and and rarely gets enough praise in my eyes.

-

A special thanks to jonhoo who was kind enough to -give me some valuable feedback on a very early draft of this book. He has not -read the finished product, but a big thanks is definitely due.

-

Translations

-

This book has been translated to Chinese by nkbai.

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/mark.min.js b/book/mark.min.js deleted file mode 100644 index 1636231..0000000 --- a/book/mark.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*!*************************************************** -* mark.js v8.11.1 -* https://markjs.io/ -* Copyright (c) 2014–2018, Julian Kühnel -* Released under the MIT license https://git.io/vwTVl -*****************************************************/ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c=n[1]?(e.length>n[1]&&(r="invalid"),n.shift(),n.shift(),this.next=n.shift()):this.next="",r},regex:/"#*/,next:"start"},{defaultToken:"string.quoted.raw.source.rust"}]},{token:"string.quoted.double.source.rust",regex:'"',push:[{token:"string.quoted.double.source.rust",regex:'"',next:"pop"},{token:"constant.character.escape.source.rust",regex:s},{defaultToken:"string.quoted.double.source.rust"}]},{token:["keyword.source.rust","text","entity.name.function.source.rust"],regex:"\\b(fn)(\\s+)((?:r#)?[a-zA-Z_][a-zA-Z0-9_]*)"},{token:"support.constant",regex:"\\b[a-zA-Z_][\\w\\d]*::"},{token:"keyword.source.rust",regex:"\\b(?:abstract|alignof|as|become|box|break|catch|continue|const|crate|default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b"},{token:"storage.type.source.rust",regex:"\\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|u128|f16|f32|f64|i8|i16|i32|i64|i128|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t)\\b"},{token:"variable.language.source.rust",regex:"\\bself\\b"},{token:"comment.line.doc.source.rust",regex:"//!.*$"},{token:"comment.line.double-dash.source.rust",regex:"//.*$"},{token:"comment.start.block.source.rust",regex:"/\\*",stateName:"comment",push:[{token:"comment.start.block.source.rust",regex:"/\\*",push:"comment"},{token:"comment.end.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]},{token:"keyword.operator",regex:/\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/},{token:"punctuation.operator",regex:/[?:,;.]/},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"constant.language.source.rust",regex:"\\b(?:true|false|Some|None|Ok|Err)\\b"},{token:"support.constant.source.rust",regex:"\\b(?:EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO)\\b"},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{token:"constant.numeric.source.rust",regex:/\b(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\.))(?:[iu](?:size|8|16|32|64|128))?\b/},{token:"constant.numeric.source.rust",regex:/\b(?:[0-9][0-9_]*)(?:\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\b/}]},this.normalizeRules()};o.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},r.inherits(o,i),t.RustHighlightRules=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/rust",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rust_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./rust_highlight_rules").RustHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$quotes={'"':'"'},this.$id="ace/mode/rust"}.call(u.prototype),t.Mode=u}); (function() { - ace.require(["ace/mode/rust"], function(m) { - if (typeof module == "object" && typeof exports == "object" && module) { - module.exports = m; - } - }); - })(); diff --git a/book/print.html b/book/print.html deleted file mode 100644 index 45512bd..0000000 --- a/book/print.html +++ /dev/null @@ -1,3394 +0,0 @@ - - - - - - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Futures Explained in 200 Lines of Rust

-

This book aims to explain Futures in Rust using an example driven approach, -exploring why they're designed the way they are, and how they work. We'll also -take a look at some of the alternatives we have when dealing with concurrency -in programming.

-

Going into the level of detail I do in this book is not needed to use futures -or async/await in Rust. It's for the curious out there that want to know how -it all works.

-

What this book covers

-

This book will try to explain everything you might wonder about up until the -topic of different types of executors and runtimes. We'll just implement a very -simple runtime in this book introducing some concepts but it's enough to get -started.

-

Stjepan Glavina has made an excellent series of -articles about async runtimes and executors, and if the rumors are right there -is more to come from him in the near future.

-

The way you should go about it is to read this book first, then continue -reading the articles from stejpang to learn more -about runtimes and how they work, especially:

-
    -
  1. Build your own block_on()
  2. -
  3. Build your own executor
  4. -
-

I've limited myself to a 200 line main example (hence the title) to limit the -scope and introduce an example that can easily be explored further.

-

However, there is a lot to digest and it's not what I would call easy, but we'll -take everything step by step so get a cup of tea and relax.

-

I hope you enjoy the ride.

-
-

This book is developed in the open, and contributions are welcome. You'll find -the repository for the book itself here. The final example which -you can clone, fork or copy can be found here. Any suggestions -or improvements can be filed as a PR or in the issue tracker for the book.

-

As always, all kinds of feedback is welcome.

-
-

Reader exercises and further reading

-

In the last chapter I've taken the liberty to suggest some -small exercises if you want to explore a little further.

-

This book is also the fourth book I have written about concurrent programming -in Rust. If you like it, you might want to check out the others as well:

- -

Credits and thanks

-

I'd like to take this chance to thank the people behind mio, tokio, -async_std, futures, libc, crossbeam which underpins so much of the -async ecosystem and and rarely gets enough praise in my eyes.

-

A special thanks to jonhoo who was kind enough to -give me some valuable feedback on a very early draft of this book. He has not -read the finished product, but a big thanks is definitely due.

-

Translations

-

This book has been translated to Chinese by nkbai.

-

Some Background Information

-

Before we go into the details about Futures in Rust, let's take a quick look -at the alternatives for handling concurrent programming in general and some -pros and cons for each of them.

-

While we do that we'll also explain some aspects when it comes to concurrency which -will make it easier for us when we dive into Futures specifically.

-
-

For fun, I've added a small snippet of runnable code with most of the examples. -If you're like me, things get way more interesting then and maybe you'll see some -things you haven't seen before along the way.

-
-

Threads provided by the operating system

-

Now, one way of accomplishing concurrent programming is letting the OS take care -of everything for us. We do this by simply spawning a new OS thread for each -task we want to accomplish and write code like we normally would.

-

The runtime we use to handle concurrency for us is the operating system itself.

-

Advantages:

-
    -
  • Simple
  • -
  • Easy to use
  • -
  • Switching between tasks is reasonably fast
  • -
  • You get parallelism for free
  • -
-

Drawbacks:

-
    -
  • OS level threads come with a rather large stack. If you have many tasks -waiting simultaneously (like you would in a web-server under heavy load) you'll -run out of memory pretty fast.
  • -
  • There are a lot of syscalls involved. This can be pretty costly when the number -of tasks is high.
  • -
  • The OS has many things it needs to handle. It might not switch back to your -thread as fast as you'd wish.
  • -
  • Might not be an option on some systems
  • -
-

Using OS threads in Rust looks like this:

-
use std::thread;
-
-fn main() {
-    println!("So we start the program here!");
-    let t1 = thread::spawn(move || {
-        thread::sleep(std::time::Duration::from_millis(200));
-        println!("We create tasks which gets run when they're finished!");
-    });
-
-    let t2 = thread::spawn(move || {
-        thread::sleep(std::time::Duration::from_millis(100));
-        println!("We can even chain callbacks...");
-        let t3 = thread::spawn(move || {
-            thread::sleep(std::time::Duration::from_millis(50));
-            println!("...like this!");
-        });
-        t3.join().unwrap();
-    });
-    println!("While our tasks are executing we can do other stuff here.");
-
-    t1.join().unwrap();
-    t2.join().unwrap();
-}
-
-

OS threads sure have some pretty big advantages. So why all this talk about -"async" and concurrency in the first place?

-

First, for computers to be efficient they need to multitask. Once you -start to look under the covers (like how an operating system works) -you'll see concurrency everywhere. It's very fundamental in everything we do.

-

Secondly, we have the web.

-

Web servers are all about I/O and handling small tasks -(requests). When the number of small tasks is large it's not a good fit for OS -threads as of today because of the memory they require and the overhead involved -when creating new threads.

-

This gets even more problematic when the load is variable which means the current number of tasks a -program has at any point in time is unpredictable. That's why you'll see so many async web -frameworks and database drivers today.

-

However, for a huge number of problems, the standard OS threads will often be the -right solution. So, just think twice about your problem before you reach for an -async library.

-

Now, let's look at some other options for multitasking. They all have in common -that they implement a way to do multitasking by having a "userland" -runtime.

-

Green threads

-

Green threads use the same mechanism as an OS does by creating a thread for -each task, setting up a stack, saving the CPU's state, and jumping from one -task(thread) to another by doing a "context switch".

-

We yield control to the scheduler (which is a central part of the runtime in -such a system) which then continues running a different task.

-

Rust had green threads once, but they were removed before it hit 1.0. The state -of execution is stored in each stack so in such a solution there would be no -need for async, await, Future or Pin.

-

The typical flow looks like this:

-
    -
  1. Run some non-blocking code.
  2. -
  3. Make a blocking call to some external resource.
  4. -
  5. CPU "jumps" to the "main" thread which schedules a different thread to run and -"jumps" to that stack.
  6. -
  7. Run some non-blocking code on the new thread until a new blocking call or the -task is finished.
  8. -
  9. CPU "jumps" back to the "main" thread, schedules a new thread which is ready -to make progress, and "jumps" to that thread.
  10. -
-

These "jumps" are known as context switches. Your OS is doing it many times each -second as you read this.

-

Advantages:

-
    -
  1. Simple to use. The code will look like it does when using OS threads.
  2. -
  3. A "context switch" is reasonably fast.
  4. -
  5. Each stack only gets a little memory to start with so you can have hundreds of -thousands of green threads running.
  6. -
  7. It's easy to incorporate preemption -which puts a lot of control in the hands of the runtime implementors.
  8. -
-

Drawbacks:

-
    -
  1. The stacks might need to grow. Solving this is not easy and will have a cost.
  2. -
  3. You need to save all the CPU state on every switch.
  4. -
  5. It's not a zero cost abstraction (Rust had green threads early on and this -was one of the reasons they were removed).
  6. -
  7. Complicated to implement correctly if you want to support many different -platforms.
  8. -
-

A green threads example could look something like this:

-
-

The example presented below is an adapted example from an earlier gitbook I -wrote about green threads called Green Threads Explained in 200 lines of Rust. -If you want to know what's going on you'll find everything explained in detail -in that book. The code below is wildly unsafe and it's just to show a real example. -It's not in any way meant to showcase "best practice". Just so we're on -the same page.

-
-

Press the expand icon in the top right corner to show the example code.

-
# #![feature(asm, naked_functions)]
-# use std::ptr;
-#
-# const DEFAULT_STACK_SIZE: usize = 1024 * 1024 * 2;
-# const MAX_THREADS: usize = 4;
-# static mut RUNTIME: usize = 0;
-#
-# pub struct Runtime {
-#     threads: Vec<Thread>,
-#     current: usize,
-# }
-#
-# #[derive(PartialEq, Eq, Debug)]
-# enum State {
-#     Available,
-#     Running,
-#     Ready,
-# }
-#
-# struct Thread {
-#     id: usize,
-#     stack: Vec<u8>,
-#     ctx: ThreadContext,
-#     state: State,
-#     task: Option<Box<dyn Fn()>>,
-# }
-#
-# #[derive(Debug, Default)]
-# #[repr(C)]
-# struct ThreadContext {
-#     rsp: u64,
-#     r15: u64,
-#     r14: u64,
-#     r13: u64,
-#     r12: u64,
-#     rbx: u64,
-#     rbp: u64,
-#     thread_ptr: u64,
-# }
-#
-# impl Thread {
-#     fn new(id: usize) -> Self {
-#         Thread {
-#             id,
-#             stack: vec![0_u8; DEFAULT_STACK_SIZE],
-#             ctx: ThreadContext::default(),
-#             state: State::Available,
-#             task: None,
-#         }
-#     }
-# }
-#
-# impl Runtime {
-#     pub fn new() -> Self {
-#         let base_thread = Thread {
-#             id: 0,
-#             stack: vec![0_u8; DEFAULT_STACK_SIZE],
-#             ctx: ThreadContext::default(),
-#             state: State::Running,
-#             task: None,
-#         };
-#
-#         let mut threads = vec![base_thread];
-#         threads[0].ctx.thread_ptr = &threads[0] as *const Thread as u64;
-#         let mut available_threads: Vec<Thread> = (1..MAX_THREADS).map(|i| Thread::new(i)).collect();
-#         threads.append(&mut available_threads);
-#
-#         Runtime {
-#             threads,
-#             current: 0,
-#         }
-#     }
-#
-#     pub fn init(&self) {
-#         unsafe {
-#             let r_ptr: *const Runtime = self;
-#             RUNTIME = r_ptr as usize;
-#         }
-#     }
-#
-#     pub fn run(&mut self) -> ! {
-#         while self.t_yield() {}
-#         std::process::exit(0);
-#     }
-#
-#     fn t_return(&mut self) {
-#         if self.current != 0 {
-#             self.threads[self.current].state = State::Available;
-#             self.t_yield();
-#         }
-#     }
-#
-#     fn t_yield(&mut self) -> bool {
-#         let mut pos = self.current;
-#         while self.threads[pos].state != State::Ready {
-#             pos += 1;
-#             if pos == self.threads.len() {
-#                 pos = 0;
-#             }
-#             if pos == self.current {
-#                 return false;
-#             }
-#         }
-#
-#         if self.threads[self.current].state != State::Available {
-#             self.threads[self.current].state = State::Ready;
-#         }
-#
-#         self.threads[pos].state = State::Running;
-#         let old_pos = self.current;
-#         self.current = pos;
-#
-#         unsafe {
-#             switch(&mut self.threads[old_pos].ctx, &self.threads[pos].ctx);
-#         }
-#         true
-#     }
-#
-#     pub fn spawn<F: Fn() + 'static>(f: F){
-#         unsafe {
-#             let rt_ptr = RUNTIME as *mut Runtime;
-#             let available = (*rt_ptr)
-#                 .threads
-#                 .iter_mut()
-#                 .find(|t| t.state == State::Available)
-#                 .expect("no available thread.");
-#
-#             let size = available.stack.len();
-#             let s_ptr = available.stack.as_mut_ptr();
-#             available.task = Some(Box::new(f));
-#             available.ctx.thread_ptr = available as *const Thread as u64;
-#             ptr::write(s_ptr.offset((size - 8) as isize) as *mut u64, guard as u64);
-#             ptr::write(s_ptr.offset((size - 16) as isize) as *mut u64, call as u64);
-#             available.ctx.rsp = s_ptr.offset((size - 16) as isize) as u64;
-#             available.state = State::Ready;
-#         }
-#     }
-# }
-#
-# fn call(thread: u64) {
-#     let thread = unsafe { &*(thread as *const Thread) };
-#     if let Some(f) = &thread.task {
-#         f();
-#     }
-# }
-#
-# #[naked]
-# fn guard() {
-#     unsafe {
-#         let rt_ptr = RUNTIME as *mut Runtime;
-#         let rt = &mut *rt_ptr;
-#         println!("THREAD {} FINISHED.", rt.threads[rt.current].id);
-#         rt.t_return();
-#     };
-# }
-#
-# pub fn yield_thread() {
-#     unsafe {
-#         let rt_ptr = RUNTIME as *mut Runtime;
-#         (*rt_ptr).t_yield();
-#     };
-# }
-#
-# #[naked]
-# #[inline(never)]
-# unsafe fn switch(old: *mut ThreadContext, new: *const ThreadContext) {
-#     asm!("
-#         mov     %rsp, 0x00($0)
-#         mov     %r15, 0x08($0)
-#         mov     %r14, 0x10($0)
-#         mov     %r13, 0x18($0)
-#         mov     %r12, 0x20($0)
-#         mov     %rbx, 0x28($0)
-#         mov     %rbp, 0x30($0)
-#
-#         mov     0x00($1), %rsp
-#         mov     0x08($1), %r15
-#         mov     0x10($1), %r14
-#         mov     0x18($1), %r13
-#         mov     0x20($1), %r12
-#         mov     0x28($1), %rbx
-#         mov     0x30($1), %rbp
-#         mov     0x38($1), %rdi
-#         ret
-#         "
-#     :
-#     : "r"(old), "r"(new)
-#     :
-#     : "alignstack"
-#     );
-# }
-# #[cfg(not(windows))]
-fn main() {
-    let mut runtime = Runtime::new();
-    runtime.init();
-    Runtime::spawn(|| {
-        println!("I haven't implemented a timer in this example.");
-        yield_thread();
-        println!("Finally, notice how the tasks are executed concurrently.");
-    });
-    Runtime::spawn(|| {
-        println!("But we can still nest tasks...");
-        Runtime::spawn(|| {
-            println!("...like this!");
-        })
-    });
-    runtime.run();
-}
-# #[cfg(windows)]
-# fn main() { }
-
-

Still hanging in there? Good. Don't get frustrated if the code above is -difficult to understand. If I hadn't written it myself I would probably feel -the same. You can always go back and read the book which explains it later.

-

Callback based approaches

-

You probably already know what we're going to talk about in the next paragraphs -from JavaScript which I assume most know.

-
-

If your exposure to JavaScript callbacks has given you any sorts of PTSD earlier -in life, close your eyes now and scroll down for 2-3 seconds. You'll find a link -there that takes you to safety.

-
-

The whole idea behind a callback based approach is to save a pointer to a set of -instructions we want to run later together with whatever state is needed. In Rust this -would be a closure. In the example below, we save this information in a HashMap -but it's not the only option.

-

The basic idea of not involving threads as a primary way to achieve concurrency -is the common denominator for the rest of the approaches. Including the one -Rust uses today which we'll soon get to.

-

Advantages:

-
    -
  • Easy to implement in most languages
  • -
  • No context switching
  • -
  • Relatively low memory overhead (in most cases)
  • -
-

Drawbacks:

-
    -
  • Since each task must save the state it needs for later, the memory usage will grow -linearly with the number of callbacks in a chain of computations.
  • -
  • Can be hard to reason about. Many people already know this as "callback hell".
  • -
  • It's a very different way of writing a program, and will require a substantial -rewrite to go from a "normal" program flow to one that uses a "callback based" flow.
  • -
  • Sharing state between tasks is a hard problem in Rust using this approach due -to its ownership model.
  • -
-

An extremely simplified example of a how a callback based approach could look -like is:

-
fn program_main() {
-    println!("So we start the program here!");
-    set_timeout(200, || {
-        println!("We create tasks with a callback that runs once the task finished!");
-    });
-    set_timeout(100, || {
-        println!("We can even chain sub-tasks...");
-        set_timeout(50, || {
-            println!("...like this!");
-        })
-    });
-    println!("While our tasks are executing we can do other stuff instead of waiting.");
-}
-
-fn main() {
-    RT.with(|rt| rt.run(program_main));
-}
-
-use std::sync::mpsc::{channel, Receiver, Sender};
-use std::{cell::RefCell, collections::HashMap, thread};
-
-thread_local! {
-    static RT: Runtime = Runtime::new();
-}
-
-struct Runtime {
-    callbacks: RefCell<HashMap<usize, Box<dyn FnOnce() -> ()>>>,
-    next_id: RefCell<usize>,
-    evt_sender: Sender<usize>,
-    evt_reciever: Receiver<usize>,
-}
-
-fn set_timeout(ms: u64, cb: impl FnOnce() + 'static) {
-    RT.with(|rt| {
-        let id = *rt.next_id.borrow();
-        *rt.next_id.borrow_mut() += 1;
-        rt.callbacks.borrow_mut().insert(id, Box::new(cb));
-        let evt_sender = rt.evt_sender.clone();
-        thread::spawn(move || {
-            thread::sleep(std::time::Duration::from_millis(ms));
-            evt_sender.send(id).unwrap();
-        });
-    });
-}
-
-impl Runtime {
-    fn new() -> Self {
-        let (evt_sender, evt_reciever) = channel();
-        Runtime {
-            callbacks: RefCell::new(HashMap::new()),
-            next_id: RefCell::new(1),
-            evt_sender,
-            evt_reciever,
-        }
-    }
-
-    fn run(&self, program: fn()) {
-        program();
-        for evt_id in &self.evt_reciever {
-            let cb = self.callbacks.borrow_mut().remove(&evt_id).unwrap();
-            cb();
-            if self.callbacks.borrow().is_empty() {
-                break;
-            }
-        }
-    }
-}
-
-

We're keeping this super simple, and you might wonder what's the difference -between this approach and the one using OS threads and passing in the callbacks -to the OS threads directly.

-

The difference is that the callbacks are run on the -same thread using this example. The OS threads we create are basically just used -as timers but could represent any kind of resource that we'll have to wait for.

-

From callbacks to promises

-

You might start to wonder by now, when are we going to talk about Futures?

-

Well, we're getting there. You see Promises, Futures and other names for -deferred computations are often used interchangeably.

-

There are formal differences between them, but we won't cover those -here. It's worth explaining promises a bit since they're widely known due to -their use in JavaScript. Promises also have a lot in common with Rust's Futures.

-

First of all, many languages have a concept of promises, but I'll use the one -from JavaScript in the examples below.

-

Promises are one way to deal with the complexity which comes with a callback -based approach.

-

Instead of:

-
setTimer(200, () => {
-  setTimer(100, () => {
-    setTimer(50, () => {
-      console.log("I'm the last one");
-    });
-  });
-});
-
-

We can do this:

-
function timer(ms) {
-    return new Promise((resolve) => setTimeout(resolve, ms));
-}
-
-timer(200)
-.then(() => return timer(100))
-.then(() => return timer(50))
-.then(() => console.log("I'm the last one"));
-
-

The change is even more substantial under the hood. You see, promises return -a state machine which can be in one of three states: pending, fulfilled or -rejected.

-

When we call timer(200) in the sample above, we get back a promise in the state pending.

-

Since promises are re-written as state machines, they also enable an even better -syntax which allows us to write our last example like this:

-
async function run() {
-    await timer(200);
-    await timer(100);
-    await timer(50);
-    console.log("I'm the last one");
-}
-
-

You can consider the run function as a pausable task consisting of several -sub-tasks. On each "await" point it yields control to the scheduler (in this -case it's the well-known JavaScript event loop).

-

Once one of the sub-tasks changes state to either fulfilled or rejected, the -task is scheduled to continue to the next step.

-

Syntactically, Rust's Futures 0.1 was a lot like the promises example above, and -Rust's Futures 0.3 is a lot like async/await in our last example.

-

Now this is also where the similarities between JavaScript promises and Rust's -Futures stop. The reason we go through all this is to get an introduction and -get into the right mindset for exploring Rust's Futures.

-
-

To avoid confusion later on: There's one difference you should know. JavaScript -promises are eagerly evaluated. That means that once it's created, it starts -running a task. Rust's Futures on the other hand are lazily evaluated. They -need to be polled once before they do any work.

-
-
- -

Futures in Rust

-
-

Overview:

-
    -
  • Get a high level introduction to concurrency in Rust
  • -
  • Know what Rust provides and not when working with async code
  • -
  • Get to know why we need a runtime-library in Rust
  • -
  • Understand the difference between "leaf-future" and a "non-leaf-future"
  • -
  • Get insight on how to handle CPU intensive tasks
  • -
-
-

Futures

-

So what is a future?

-

A future is a representation of some operation which will complete in the -future.

-

Async in Rust uses a Poll based approach, in which an asynchronous task will -have three phases.

-
    -
  1. The Poll phase. A Future is polled which result in the task progressing until -a point where it can no longer make progress. We often refer to the part of the -runtime which polls a Future as an executor.
  2. -
  3. The Wait phase. An event source, most often referred to as a reactor, -registers that a Future is waiting for an event to happen and makes sure that it -will wake the Future when that event is ready.
  4. -
  5. The Wake phase. The event happens and the Future is woken up. It's now up -to the executor which polled the Future in step 1 to schedule the future to be -polled again and make further progress until it completes or reaches a new point -where it can't make further progress and the cycle repeats.
  6. -
-

Now, when we talk about futures I find it useful to make a distinction between -non-leaf futures and leaf futures early on because in practice they're -pretty different from one another.

-

Leaf futures

-

Runtimes create leaf futures which represents a resource like a socket.

-
// stream is a **leaf-future**
-let mut stream = tokio::net::TcpStream::connect("127.0.0.1:3000");
-
-

Operations on these resources, like a Read on a socket, will be non-blocking -and return a future which we call a leaf future since it's the future which -we're actually waiting on.

-

It's unlikely that you'll implement a leaf future yourself unless you're writing -a runtime, but we'll go through how they're constructed in this book as well.

-

It's also unlikely that you'll pass a leaf-future to a runtime and run it to -completion alone as you'll understand by reading the next paragraph.

-

Non-leaf-futures

-

Non-leaf-futures is the kind of futures we as users of a runtime write -ourselves using the async keyword to create a task which can be run on the -executor.

-

The bulk of an async program will consist of non-leaf-futures, which are a kind -of pause-able computation. This is an important distinction since these futures represents a set of operations. Often, such a task will await a leaf future -as one of many operations to complete the task.

-
// Non-leaf-future
-let non_leaf = async {
-    let mut stream = TcpStream::connect("127.0.0.1:3000").await.unwrap();// <- yield
-    println!("connected!");
-    let result = stream.write(b"hello world\n").await; // <- yield
-    println!("message sent!");
-    ...
-};
-
-

The key to these tasks is that they're able to yield control to the runtime's -scheduler and then resume execution again where it left off at a later point.

-

In contrast to leaf futures, these kind of futures does not themselves represent -an I/O resource. When we poll these futures we either run some code or we yield -to the scheduler while waiting for some resource to signal us that it's ready so -we can resume where we left off.

-

Runtimes

-

Languages like C#, JavaScript, Java, GO and many others comes with a runtime -for handling concurrency. So if you come from one of those languages this will -seem a bit strange to you.

-

Rust is different from these languages in the sense that Rust doesn't come with -a runtime for handling concurrency, so you need to use a library which provide -this for you.

-

Quite a bit of complexity attributed to Futures is actually complexity rooted -in runtimes. Creating an efficient runtime is hard.

-

Learning how to use one correctly requires quite a bit of effort as well, but -you'll see that there are several similarities between these kind of runtimes so -learning one makes learning the next much easier.

-

The difference between Rust and other languages is that you have to make an -active choice when it comes to picking a runtime. Most often, in other languages -you'll just use the one provided for you.

-

An async runtime can be divided into two parts:

-
    -
  1. The Executor
  2. -
  3. The Reactor
  4. -
-

When Rusts Futures were designed there was a desire to separate the job of -notifying a Future that it can do more work, and actually doing the work -on the Future.

-

You can think of the former as the reactor's job, and the latter as the -executors job. These two parts of a runtime interact with each other using the Waker type.

-

The two most popular runtimes for Futures as of writing this is:

- -

What Rust's standard library takes care of

-
    -
  1. A common interface representing an operation which will be completed in the -future through the Future trait.
  2. -
  3. An ergonomic way of creating tasks which can be suspended and resumed through -the async and await keywords.
  4. -
  5. A defined interface wake up a suspended task through the Waker type.
  6. -
-

That's really what Rusts standard library does. As you see there is no definition -of non-blocking I/O, how these tasks are created or how they're run.

-

I/O vs CPU intensive tasks

-

As you know now, what you normally write are called non-leaf futures. Let's -take a look at this async block using pseudo-rust as example:

-
let non_leaf = async {
-    let mut stream = TcpStream::connect("127.0.0.1:3000").await.unwrap(); // <-- yield
-
-    // request a large dataset
-    let result = stream.write(get_dataset_request).await.unwrap(); // <-- yield
-
-    // wait for the dataset
-    let mut response = vec![];
-    stream.read(&mut response).await.unwrap(); // <-- yield
-
-    // do some CPU-intensive analysis on the dataset
-    let report = analyzer::analyze_data(response).unwrap();
-
-    // send the results back
-    stream.write(report).await.unwrap(); // <-- yield
-};
-
-

Now, as you'll see when we go through how Futures work, the code we write between -the yield points are run on the same thread as our executor.

-

That means that while our analyzer is working on the dataset, the executor -is busy doing calculations instead of handling new requests.

-

Fortunately there are a few ways to handle this, and it's not difficult, but it's -something you must be aware of:

-
    -
  1. -

    We could create a new leaf future which sends our task to another thread and -resolves when the task is finished. We could await this leaf-future like any -other future.

    -
  2. -
  3. -

    The runtime could have some kind of supervisor that monitors how much time -different tasks take, and move the executor itself to a different thread so it can -continue to run even though our analyzer task is blocking the original executor thread.

    -
  4. -
  5. -

    You can create a reactor yourself which is compatible with the runtime which -does the analysis any way you see fit, and returns a Future which can be awaited.

    -
  6. -
-

Now, #1 is the usual way of handling this, but some executors implement #2 as well. -The problem with #2 is that if you switch runtime you need to make sure that it -supports this kind of supervision as well or else you will end up blocking the -executor.

-

#3 is more of theoretical importance, normally you'd be happy by sending the task -to the thread-pool most runtimes provide.

-

Most executors have a way to accomplish #1 using methods like spawn_blocking.

-

These methods send the task to a thread-pool created by the runtime where you -can either perform CPU-intensive tasks or "blocking" tasks which is not supported -by the runtime.

-

Now, armed with this knowledge you are already on a good way for understanding -Futures, but we're not gonna stop yet, there is lots of details to cover.

-

Take a break or a cup of coffe and get ready as we go for a deep dive in the next chapters.

-

Bonus section

-

If you find the concepts of concurrency and async programming confusing in -general, I know where you're coming from and I have written some resources to -try to give a high level overview that will make it easier to learn Rusts -Futures afterwards:

- -

Learning these concepts by studying futures is making it much harder than -it needs to be, so go on and read these chapters if you feel a bit unsure.

-

I'll be right here when you're back.

-

However, if you feel that you have the basics covered, then let's get moving!

-

Waker and Context

-
-

Overview:

-
    -
  • Understand how the Waker object is constructed
  • -
  • Learn how the runtime know when a leaf-future can resume
  • -
  • Learn the basics of dynamic dispatch and trait objects
  • -
-

The Waker type is described as part of RFC#2592.

-
-

The Waker

-

The Waker type allows for a loose coupling between the reactor-part and the executor-part of a runtime.

-

By having a wake up mechanism that is not tied to the thing that executes -the future, runtime-implementors can come up with interesting new wake-up -mechanisms. An example of this can be spawning a thread to do some work that -eventually notifies the future, completely independent of the current runtime.

-

Without a waker, the executor would be the only way to notify a running -task, whereas with the waker, we get a loose coupling where it's easy to -extend the ecosystem with new leaf-level tasks.

-
-

If you want to read more about the reasoning behind the Waker type I can -recommend Withoutboats articles series about them.

-
-

The Context type

-

As the docs state as of now this type only wrapps a Waker, but it gives some -flexibility for future evolutions of the API in Rust. The context can for example hold -task-local storage and provide space for debugging hooks in later iterations.

-

Understanding the Waker

-

One of the most confusing things we encounter when implementing our own Futures -is how we implement a Waker . Creating a Waker involves creating a vtable -which allows us to use dynamic dispatch to call methods on a type erased trait -object we construct our selves.

-
-

If you want to know more about dynamic dispatch in Rust I can recommend an -article written by Adam Schwalm called Exploring Dynamic Dispatch in Rust.

-
-

Let's explain this a bit more in detail.

-

Fat pointers in Rust

-

To get a better understanding of how we implement the Waker in Rust, we need -to take a step back and talk about some fundamentals. Let's start by taking a -look at the size of some different pointer types in Rust.

-

Run the following code (You'll have to press "play" to see the output):

-
# use std::mem::size_of;
-trait SomeTrait { }
-
-fn main() {
-    println!("======== The size of different pointers in Rust: ========");
-    println!("&dyn Trait:-----{}", size_of::<&dyn SomeTrait>());
-    println!("&[&dyn Trait]:--{}", size_of::<&[&dyn SomeTrait]>());
-    println!("Box<Trait>:-----{}", size_of::<Box<SomeTrait>>());
-    println!("&i32:-----------{}", size_of::<&i32>());
-    println!("&[i32]:---------{}", size_of::<&[i32]>());
-    println!("Box<i32>:-------{}", size_of::<Box<i32>>());
-    println!("&Box<i32>:------{}", size_of::<&Box<i32>>());
-    println!("[&dyn Trait;4]:-{}", size_of::<[&dyn SomeTrait; 4]>());
-    println!("[i32;4]:--------{}", size_of::<[i32; 4]>());
-}
-
-

As you see from the output after running this, the sizes of the references varies. -Many are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 -bytes.

-

The 16 byte sized pointers are called "fat pointers" since they carry extra -information.

-

Example &[i32] :

-
    -
  • The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to)
  • -
  • The second 8 bytes is the length of the slice.
  • -
-

Example &dyn SomeTrait:

-

This is the type of fat pointer we'll concern ourselves about going forward. -&dyn SomeTrait is a reference to a trait, or what Rust calls a trait object.

-

The layout for a pointer to a trait object looks like this:

-
    -
  • The first 8 bytes points to the data for the trait object
  • -
  • The second 8 bytes points to the vtable for the trait object
  • -
-

The reason for this is to allow us to refer to an object we know nothing about -except that it implements the methods defined by our trait. To accomplish this -we use dynamic dispatch.

-

Let's explain this in code instead of words by implementing our own trait -object from these parts:

-
// A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)
-trait Test {
-    fn add(&self) -> i32;
-    fn sub(&self) -> i32;
-    fn mul(&self) -> i32;
-}
-
-// This will represent our home brewn fat pointer to a trait object
-#[repr(C)]
-struct FatPointer<'a> {
-    /// A reference is a pointer to an instantiated `Data` instance
-    data: &'a mut Data,
-    /// Since we need to pass in literal values like length and alignment it's
-    /// easiest for us to convert pointers to usize-integers instead of the other way around.
-    vtable: *const usize,
-}
-
-// This is the data in our trait object. It's just two numbers we want to operate on.
-struct Data {
-    a: i32,
-    b: i32,
-}
-
-// ====== function definitions ======
-fn add(s: &Data) -> i32 {
-    s.a + s.b
-}
-fn sub(s: &Data) -> i32 {
-    s.a - s.b
-}
-fn mul(s: &Data) -> i32 {
-    s.a * s.b
-}
-
-fn main() {
-    let mut data = Data {a: 3, b: 2};
-    // vtable is like special purpose array of pointer-length types with a fixed
-    // format where the three first values has a special meaning like the
-    // length of the array is encoded in the array itself as the second value.
-    let vtable = vec![
-        0,            // pointer to `Drop` (which we're not implementing here)
-        6,            // length of vtable
-        8,            // alignment
-
-        // we need to make sure we add these in the same order as defined in the Trait.
-        add as usize, // function pointer - try changing the order of `add`
-        sub as usize, // function pointer - and `sub` to see what happens
-        mul as usize, // function pointer
-    ];
-
-    let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()};
-    let test = unsafe { std::mem::transmute::<FatPointer, &dyn Test>(fat_pointer) };
-
-    // And voalá, it's now a trait object we can call methods on
-    println!("Add: 3 + 2 = {}", test.add());
-    println!("Sub: 3 - 2 = {}", test.sub());
-    println!("Mul: 3 * 2 = {}", test.mul());
-}
-
-

Later on, when we implement our own Waker we'll actually set up a vtable -like we do here. The way we create it is slightly different, but now that you know -how regular trait objects work you will probably recognize what we're doing which -makes it much less mysterious.

-

Bonus section

-

You might wonder why the Waker was implemented like this and not just as a -normal trait?

-

The reason is flexibility. Implementing the Waker the way we do here gives a lot -of flexibility of choosing what memory management scheme to use.

-

The "normal" way is by using an Arc to use reference count keep track of when -a Waker object can be dropped. However, this is not the only way, you could also -use purely global functions and state, or any other way you wish.

-

This leaves a lot of options on the table for runtime implementors.

-

Generators and async/await

-
-

Overview:

-
    -
  • Understand how the async/await syntax works under the hood
  • -
  • See first hand why we need Pin
  • -
  • Understand what makes Rusts async model very memory efficient
  • -
-

The motivation for Generators can be found in RFC#2033. It's very -well written and I can recommend reading through it (it talks as much about -async/await as it does about generators).

-
-

Why learn about generators?

-

Generators/yield and async/await are so similar that once you understand one -you should be able to understand the other.

-

It's much easier for me to provide runnable and short examples using Generators -instead of Futures which require us to introduce a lot of concepts now that -we'll cover later just to show an example.

-

Async/await works like generators but instead of returning a generator it returns -a special object implementing the Future trait.

-

A small bonus is that you'll have a pretty good introduction to both Generators -and Async/Await by the end of this chapter.

-

Basically, there were three main options discussed when designing how Rust would -handle concurrency:

-
    -
  1. Stackful coroutines, better known as green threads.
  2. -
  3. Using combinators.
  4. -
  5. Stackless coroutines, better known as generators.
  6. -
-

We covered green threads in the background information -so we won't repeat that here. We'll concentrate on the variants of stackless -coroutines which Rust uses today.

-

Combinators

-

Futures 0.1 used combinators. If you've worked with Promises in JavaScript, -you already know combinators. In Rust they look like this:

-
let future = Connection::connect(conn_str).and_then(|conn| {
-    conn.query("somerequest").map(|row|{
-        SomeStruct::from(row)
-    }).collect::<Vec<SomeStruct>>()
-});
-
-let rows: Result<Vec<SomeStruct>, SomeLibraryError> = block_on(future);
-
-
-

There are mainly three downsides I'll focus on using this technique:

-
    -
  1. The error messages produced could be extremely long and arcane
  2. -
  3. Not optimal memory usage
  4. -
  5. Did not allow to borrow across combinator steps.
  6. -
-

Point #3, is actually a major drawback with Futures 0.1.

-

Not allowing borrows across suspension points ends up being very -un-ergonomic and to accomplish some tasks it requires extra allocations or -copying which is inefficient.

-

The reason for the higher than optimal memory usage is that this is basically -a callback-based approach, where each closure stores all the data it needs -for computation. This means that as we chain these, the memory required to store -the needed state increases with each added step.

-

Stackless coroutines/generators

-

This is the model used in Rust today. It has a few notable advantages:

-
    -
  1. It's easy to convert normal Rust code to a stackless coroutine using using -async/await as keywords (it can even be done using a macro).
  2. -
  3. No need for context switching and saving/restoring CPU state
  4. -
  5. No need to handle dynamic stack allocation
  6. -
  7. Very memory efficient
  8. -
  9. Allows us to borrow across suspension points
  10. -
-

The last point is in contrast to Futures 0.1. With async/await we can do this:

-
async fn myfn() {
-    let text = String::from("Hello world");
-    let borrowed = &text[0..5];
-    somefuture.await;
-    println!("{}", borrowed);
-}
-
-

Async in Rust is implemented using Generators. So to understand how async really -works we need to understand generators first. Generators in Rust are implemented -as state machines.

-

The memory footprint of a chain of computations is defined by the largest footprint -that a single step requires.

-

That means that adding steps to a chain of computations might not require any -increased memory at all and it's one of the reasons why Futures and Async in -Rust has very little overhead.

-

How generators work

-

In Nightly Rust today you can use the yield keyword. Basically using this -keyword in a closure, converts it to a generator. A closure could look like this -before we had a concept of Pin:

-
#![feature(generators, generator_trait)]
-use std::ops::{Generator, GeneratorState};
-
-fn main() {
-    let a: i32 = 4;
-    let mut gen = move || {
-        println!("Hello");
-        yield a * 2;
-        println!("world!");
-    };
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-
-

Early on, before there was a consensus about the design of Pin, this -compiled to something looking similar to this:

-
fn main() {
-    let mut gen = GeneratorA::start(4);
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-
-// If you've ever wondered why the parameters are called Y and R the naming from
-// the original rfc most likely holds the answer
-enum GeneratorState<Y, R> {
-    Yielded(Y),  // originally called `Yield(Y)`
-    Complete(R), // originally called `Return(R)`
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter(i32),
-    Yield1(i32),
-    Exit,
-}
-
-impl GeneratorA {
-    fn start(a1: i32) -> Self {
-        GeneratorA::Enter(a1)
-    }
-}
-
-impl Generator for GeneratorA {
-    type Yield = i32;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        match std::mem::replace(self, GeneratorA::Exit) {
-            GeneratorA::Enter(a1) => {
-
-          /*----code before yield----*/
-                println!("Hello");
-                let a = a1 * 2;
-
-                *self = GeneratorA::Yield1(a);
-                GeneratorState::Yielded(a)
-            }
-
-            GeneratorA::Yield1(_) => {
-          /*-----code after yield-----*/
-                println!("world!");
-
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-
-
-
-

The yield keyword was discussed first in RFC#1823 and in RFC#1832.

-
-

Now that you know that the yield keyword in reality rewrites your code to become a state machine, -you'll also know the basics of how await works. It's very similar.

-

Now, there are some limitations in our naive state machine above. What happens when you have a -borrow across a yield point?

-

We could forbid that, but one of the major design goals for the async/await syntax has been -to allow this. These kinds of borrows were not possible using Futures 0.1 so we can't let this -limitation just slip and call it a day yet.

-

Instead of discussing it in theory, let's look at some code.

-
-

We'll use the optimized version of the state machines which is used in Rust today. For a more -in depth explanation see Tyler Mandry's excellent article: How Rust optimizes async/await

-
-
let mut generator = move || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-

We'll be hand-coding some versions of a state-machines representing a state -machine for the generator defined above.

-

We step through each step "manually" in every example, so it looks pretty -unfamiliar. We could add some syntactic sugar like implementing the Iterator -trait for our generators which would let us do this:

-
while let Some(val) = generator.next() {
-    println!("{}", val);
-}
-
-

It's a pretty trivial change to make, but this chapter is already getting long. -Just keep this in the back of your head as we move forward.

-

Now what does our rewritten state machine look like with this example?

-

-# #![allow(unused_variables)]
-#fn main() {
-# enum GeneratorState<Y, R> {
-#     Yielded(Y),
-#     Complete(R),
-# }
-#
-# trait Generator {
-#     type Yield;
-#     type Return;
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-# }
-
-enum GeneratorA {
-    Enter,
-    Yield1 {
-        to_borrow: String,
-        borrowed: &String, // uh, what lifetime should this have?
-    },
-    Exit,
-}
-
-# impl GeneratorA {
-#     fn start() -> Self {
-#         GeneratorA::Enter
-#     }
-# }
-
-impl Generator for GeneratorA {
-    type Yield = usize;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        match std::mem::replace(self, GeneratorA::Exit) {
-            GeneratorA::Enter => {
-                let to_borrow = String::from("Hello");
-                let borrowed = &to_borrow; // <--- NB!
-                let res = borrowed.len();
-
-                *self = GeneratorA::Yield1 {to_borrow, borrowed};
-                GeneratorState::Yielded(res)
-            }
-
-            GeneratorA::Yield1 {to_borrow, borrowed} => {
-                println!("Hello {}", borrowed);
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-#}
-

If you try to compile this you'll get an error (just try it yourself by pressing play).

-

What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. -Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that -to make this work, we'll have to let the compiler know that we control this correctly ourselves.

-

That means turning to unsafe.

-

Let's try to write an implementation that will compiler using unsafe. As you'll -see we end up in a self referential struct. A struct which holds references -into itself.

-

As you'll notice, this compiles just fine!

-

-# #![allow(unused_variables)]
-#fn main() {
-enum GeneratorState<Y, R> {
-    Yielded(Y),
-    Complete(R),
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter,
-    Yield1 {
-        to_borrow: String,
-        borrowed: *const String, // NB! This is now a raw pointer!
-    },
-    Exit,
-}
-
-impl GeneratorA {
-    fn start() -> Self {
-        GeneratorA::Enter
-    }
-}
-impl Generator for GeneratorA {
-    type Yield = usize;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-            match self {
-            GeneratorA::Enter => {
-                let to_borrow = String::from("Hello");
-                let borrowed = &to_borrow;
-                let res = borrowed.len();
-                *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-
-                // NB! And we set the pointer to reference the to_borrow string here
-                if let GeneratorA::Yield1 {to_borrow, borrowed} = self {
-                    *borrowed = to_borrow;
-                }
-
-                GeneratorState::Yielded(res)
-            }
-
-            GeneratorA::Yield1 {borrowed, ..} => {
-                let borrowed: &String = unsafe {&**borrowed};
-                println!("{} world", borrowed);
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-#}
-

Remember that our example is the generator we crated which looked like this:

-
let mut gen = move || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-

Below is an example of how we could run this state-machine and as you see it -does what we'd expect. But there is still one huge problem with this:

-
pub fn main() {
-    let mut gen = GeneratorA::start();
-    let mut gen2 = GeneratorA::start();
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Yielded(n) = gen2.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-# enum GeneratorState<Y, R> {
-#     Yielded(Y),
-#     Complete(R),
-# }
-#
-# trait Generator {
-#     type Yield;
-#     type Return;
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-# }
-#
-# enum GeneratorA {
-#     Enter,
-#     Yield1 {
-#         to_borrow: String,
-#         borrowed: *const String,
-#     },
-#     Exit,
-# }
-#
-# impl GeneratorA {
-#     fn start() -> Self {
-#         GeneratorA::Enter
-#     }
-# }
-# impl Generator for GeneratorA {
-#     type Yield = usize;
-#     type Return = ();
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-#             match self {
-#             GeneratorA::Enter => {
-#                 let to_borrow = String::from("Hello");
-#                 let borrowed = &to_borrow;
-#                 let res = borrowed.len();
-#                 *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-#
-#                 // We set the self-reference here
-#                 if let GeneratorA::Yield1 {to_borrow, borrowed} = self {
-#                     *borrowed = to_borrow;
-#                 }
-#
-#                 GeneratorState::Yielded(res)
-#             }
-#
-#             GeneratorA::Yield1 {borrowed, ..} => {
-#                 let borrowed: &String = unsafe {&**borrowed};
-#                 println!("{} world", borrowed);
-#                 *self = GeneratorA::Exit;
-#                 GeneratorState::Complete(())
-#             }
-#             GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-#         }
-#     }
-# }
-
-

The problem is that in safe Rust we can still do this:

-

Run the code and compare the results. Do you see the problem?

-
# #![feature(never_type)] // Force nightly compiler to be used in playground
-# // by betting on it's true that this type is named after it's stabilization date...
-pub fn main() {
-    let mut gen = GeneratorA::start();
-    let mut gen2 = GeneratorA::start();
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    std::mem::swap(&mut gen, &mut gen2); // <--- Big problem!
-
-    if let GeneratorState::Yielded(n) = gen2.resume() {
-        println!("Got value {}", n);
-    }
-
-    // This would now start gen2 since we swapped them.
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-# enum GeneratorState<Y, R> {
-#     Yielded(Y),
-#     Complete(R),
-# }
-#
-# trait Generator {
-#     type Yield;
-#     type Return;
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-# }
-#
-# enum GeneratorA {
-#     Enter,
-#     Yield1 {
-#         to_borrow: String,
-#         borrowed: *const String,
-#     },
-#     Exit,
-# }
-#
-# impl GeneratorA {
-#     fn start() -> Self {
-#         GeneratorA::Enter
-#     }
-# }
-# impl Generator for GeneratorA {
-#     type Yield = usize;
-#     type Return = ();
-#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-#             match self {
-#             GeneratorA::Enter => {
-#                 let to_borrow = String::from("Hello");
-#                 let borrowed = &to_borrow;
-#                 let res = borrowed.len();
-#                 *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-#
-#                 // We set the self-reference here
-#                 if let GeneratorA::Yield1 {to_borrow, borrowed} = self {
-#                     *borrowed = to_borrow;
-#                 }
-#
-#                 GeneratorState::Yielded(res)
-#             }
-#
-#             GeneratorA::Yield1 {borrowed, ..} => {
-#                 let borrowed: &String = unsafe {&**borrowed};
-#                 println!("{} world", borrowed);
-#                 *self = GeneratorA::Exit;
-#                 GeneratorState::Complete(())
-#             }
-#             GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-#         }
-#     }
-# }
-
-

Wait? What happened to "Hello"? And why did our code segfault?

-

Turns out that while the example above compiles just fine, we expose consumers -of this this API to both possible undefined behavior and other memory errors -while using just safe Rust. This is a big problem!

-
-

I've actually forced the code above to use the nightly version of the compiler. -If you run the example above on the playground, -you'll see that it runs without panicking on the current stable (1.42.0) but -panics on the current nightly (1.44.0). Scary!

-
-

We'll explain exactly what happened here using a slightly simpler example in the next -chapter and we'll fix our generator using Pin so don't worry, you'll see exactly -what goes wrong and see how Pin can help us deal with self-referential types safely in a -second.

-

Before we go and explain the problem in detail, let's finish off this chapter -by looking at how generators and the async keyword is related.

-

Async and generators

-

Futures in Rust are implemented as state machines much the same way Generators -are state machines.

-

You might have noticed the similarities in the syntax used in async blocks and -the syntax used in generators:

-
let mut gen = move || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-

Compare that with a similar example using async blocks:

-
let mut fut = async {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        SomeResource::some_task().await;
-        println!("{} world!", borrowed);
-    };
-
-

The difference is that Futures has different states than what a Generator would -have.

-

An async block will return a Future instead of a Generator, however, the way -a Future works and the way a Generator work internally is similar.

-

Instead of calling Generator::resume we call Future::poll, and instead of -returning Yielded or Complete it returns Pending or Ready. Each await -point in a future is like a yield point in a generator.

-

Do you see how they're connected now?

-

Thats why knowing how generators work and the challenges they pose also teaches -you how futures work and the challenges we need to tackle when working with them.

-

The same goes for the challenges of borrowing across yield/await points.

-

Bonus section - self referential generators in Rust today

-

Thanks to PR#45337 you can actually run code like the one in our -example in Rust today using the static keyword on nightly. Try it for -yourself:

-
-

Beware that the API is changing rapidly. As I was writing this book, generators -had an API change adding support for a "resume" argument to get passed into the -generator closure.

-

Follow the progress on the tracking issue #4312 for RFC#033.

-
-
#![feature(generators, generator_trait)]
-use std::ops::{Generator, GeneratorState};
-
-
-pub fn main() {
-    let gen1 = static || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-    let gen2 = static || {
-        let to_borrow = String::from("Hello");
-        let borrowed = &to_borrow;
-        yield borrowed.len();
-        println!("{} world!", borrowed);
-    };
-
-    let mut pinned1 = Box::pin(gen1);
-    let mut pinned2 = Box::pin(gen2);
-
-    if let GeneratorState::Yielded(n) = pinned1.as_mut().resume(()) {
-        println!("Gen1 got value {}", n);
-    }
-
-    if let GeneratorState::Yielded(n) = pinned2.as_mut().resume(()) {
-        println!("Gen2 got value {}", n);
-    };
-
-    let _ = pinned1.as_mut().resume(());
-    let _ = pinned2.as_mut().resume(());
-}
-
-

Pin

-
-

Overview

-
    -
  1. Learn how to use Pin and why it's required when implementing your own Future
  2. -
  3. Understand how to make self-referential types safe to use in Rust
  4. -
  5. Learn how borrowing across await points is accomplished
  6. -
  7. Get a set of practical rules to help you work with Pin
  8. -
-

Pin was suggested in RFC#2349

-
-

Let's jump strait to it. Pinning is one of those subjects which is hard to wrap -your head around in the start, but once you unlock a mental model for it -it gets significantly easier to reason about.

-

Definitions

-

Pin wraps a pointer. A reference to an object is a pointer. Pin gives some -guarantees about the pointee (the data it points to) which we'll explore further -in this chapter.

-

Pin consists of the Pin type and the Unpin marker. Pin's purpose in life is -to govern the rules that need to apply for types which implement !Unpin.

-

Yep, you're right, that's double negation right there. !Unpin means -"not-un-pin".

-
-

This naming scheme is one of Rusts safety features where it deliberately -tests if you're too tired to safely implement a type with this marker. If -you're starting to get confused, or even angry, by !Unpin it's a good sign -that it's time to lay down the work and start over tomorrow with a fresh mind.

-
-

On a more serious note, I feel obliged to mention that there are valid reasons -for the names that were chosen. Naming is not easy, and I considered renaming -Unpin and !Unpin in this book to make them easier to reason about.

-

However, an experienced member of the Rust community convinced me that that there -is just too many nuances and edge-cases to consider which is easily overlooked when -naively giving these markers different names, and I'm convinced that we'll -just have to get used to them and use them as is.

-

If you want to you can read a bit of the discussion from the -internals thread.

-

Pinning and self-referential structs

-

Let's start where we left off in the last chapter by making the problem we -saw using a self-references in our generator a lot simpler by making -some self-referential structs that are easier to reason about than our -state machines:

-

For now our example will look like this:

-
use std::pin::Pin;
-
-#[derive(Debug)]
-struct Test {
-    a: String,
-    b: *const String,
-}
-
-impl Test {
-    fn new(txt: &str) -> Self {
-        Test {
-            a: String::from(txt),
-            b: std::ptr::null(),
-        }
-    }
-
-    fn init(&mut self) {
-        let self_ref: *const String = &self.a;
-        self.b = self_ref;
-    }
-
-    fn a(&self) -> &str {
-        &self.a
-    }
-
-    fn b(&self) -> &String {
-        unsafe {&*(self.b)}
-    }
-}
-
-

Let's walk through this example since we'll be using it the rest of this chapter.

-

We have a self-referential struct Test. Test needs an init method to be -created which is strange but we'll need that to keep this example as short as -possible.

-

Test provides two methods to get a reference to the value of the fields -a and b. Since b is a reference to a we store it as a pointer since -the borrowing rules of Rust doesn't allow us to define this lifetime.

-

Now, let's use this example to explain the problem we encounter in detail. As -you see, this works as expected:

-
fn main() {
-    let mut test1 = Test::new("test1");
-    test1.init();
-    let mut test2 = Test::new("test2");
-    test2.init();
-
-    println!("a: {}, b: {}", test1.a(), test1.b());
-    println!("a: {}, b: {}", test2.a(), test2.b());
-
-}
-# use std::pin::Pin;
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-# }
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#         }
-#     }
-#
-#     // We need an `init` method to actually set our self-reference
-#     fn init(&mut self) {
-#         let self_ref: *const String = &self.a;
-#         self.b = self_ref;
-#     }
-#
-#     fn a(&self) -> &str {
-#         &self.a
-#     }
-#
-#     fn b(&self) -> &String {
-#         unsafe {&*(self.b)}
-#     }
-# }
-
-

In our main method we first instantiate two instances of Test and print out -the value of the fields on test1. We get what we'd expect:

-
a: test1, b: test1
-a: test2, b: test2
-
-

Let's see what happens if we swap the data stored at the memory location test1 with the -data stored at the memory location test2 and vice a versa.

-
fn main() {
-    let mut test1 = Test::new("test1");
-    test1.init();
-    let mut test2 = Test::new("test2");
-    test2.init();
-
-    println!("a: {}, b: {}", test1.a(), test1.b());
-    std::mem::swap(&mut test1, &mut test2);
-    println!("a: {}, b: {}", test2.a(), test2.b());
-
-}
-# use std::pin::Pin;
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-# }
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#         }
-#     }
-#
-#     fn init(&mut self) {
-#         let self_ref: *const String = &self.a;
-#         self.b = self_ref;
-#     }
-#
-#     fn a(&self) -> &str {
-#         &self.a
-#     }
-#
-#     fn b(&self) -> &String {
-#         unsafe {&*(self.b)}
-#     }
-# }
-
-

Naively, we could think that what we should get a debug print of test1 two -times like this

-
a: test1, b: test1
-a: test1, b: test1
-
-

But instead we get:

-
a: test1, b: test1
-a: test1, b: test2
-
-

The pointer to test2.b still points to the old location which is inside test1 -now. The struct is not self-referential anymore, it holds a pointer to a field -in a different object. That means we can't rely on the lifetime of test2.b to -be tied to the lifetime of test2 anymore.

-

If your still not convinced, this should at least convince you:

-
fn main() {
-    let mut test1 = Test::new("test1");
-    test1.init();
-    let mut test2 = Test::new("test2");
-    test2.init();
-
-    println!("a: {}, b: {}", test1.a(), test1.b());
-    std::mem::swap(&mut test1, &mut test2);
-    test1.a = "I've totally changed now!".to_string();
-    println!("a: {}, b: {}", test2.a(), test2.b());
-
-}
-# use std::pin::Pin;
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-# }
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#         }
-#     }
-#
-#     fn init(&mut self) {
-#         let self_ref: *const String = &self.a;
-#         self.b = self_ref;
-#     }
-#
-#     fn a(&self) -> &str {
-#         &self.a
-#     }
-#
-#     fn b(&self) -> &String {
-#         unsafe {&*(self.b)}
-#     }
-# }
-
-

That shouldn't happen. There is no serious error yet, but as you can imagine -it's easy to create serious bugs using this code.

-

I created a diagram to help visualize what's going on:

-

Fig 1: Before and after swap -swap_problem

-

As you can see this results in unwanted behavior. It's easy to get this to -segfault, show UB and fail in other spectacular ways as well.

-

Pinning to the stack

-

Now, we can solve this problem by using Pin instead. Let's take a look at what -our example would look like then:

-
use std::pin::Pin;
-use std::marker::PhantomPinned;
-
-#[derive(Debug)]
-struct Test {
-    a: String,
-    b: *const String,
-    _marker: PhantomPinned,
-}
-
-
-impl Test {
-    fn new(txt: &str) -> Self {
-        let a = String::from(txt);
-        Test {
-            a: String::from(txt),
-            b: std::ptr::null(),
-            _marker: PhantomPinned, // This makes our type `!Unpin`
-        }
-    }
-    fn init<'a>(self: Pin<&'a mut Self>) {
-        let self_ptr: *const String = &self.a;
-        let this = unsafe { self.get_unchecked_mut() };
-        this.b = self_ptr;
-    }
-
-    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-        &self.get_ref().a
-    }
-
-    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-        unsafe { &*(self.b) }
-    }
-}
-
-

Now, what we've done here is pinning an object to the stack. That will always be -unsafe if our type implements !Unpin.

-

We use the same tricks here, including requiring an init. If we want to fix that -and let users avoid unsafe we need to pin our data on the heap instead which -we'll show in a second.

-

Let's see what happens if we run our example now:

-
pub fn main() {
-    // test1 is safe to move before we initialize it
-    let mut test1 = Test::new("test1");
-    // Notice how we shadow `test1` to prevent it from being accessed again
-    let mut test1 = unsafe { Pin::new_unchecked(&mut test1) };
-    Test::init(test1.as_mut());
-
-    let mut test2 = Test::new("test2");
-    let mut test2 = unsafe { Pin::new_unchecked(&mut test2) };
-    Test::init(test2.as_mut());
-
-    println!("a: {}, b: {}", Test::a(test1.as_ref()), Test::b(test1.as_ref()));
-    println!("a: {}, b: {}", Test::a(test2.as_ref()), Test::b(test2.as_ref()));
-}
-# use std::pin::Pin;
-# use std::marker::PhantomPinned;
-#
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-#     _marker: PhantomPinned,
-# }
-#
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         let a = String::from(txt);
-#         Test {
-#             a,
-#             b: std::ptr::null(),
-#             // This makes our type `!Unpin`
-#             _marker: PhantomPinned,
-#         }
-#     }
-#     fn init<'a>(self: Pin<&'a mut Self>) {
-#         let self_ptr: *const String = &self.a;
-#         let this = unsafe { self.get_unchecked_mut() };
-#         this.b = self_ptr;
-#     }
-#
-#     fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-#         &self.get_ref().a
-#     }
-#
-#     fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-#         unsafe { &*(self.b) }
-#     }
-# }
-
-

Now, if we try to pull the same trick which got us in to trouble the last time -you'll get a compilation error.

-
pub fn main() {
-    let mut test1 = Test::new("test1");
-    let mut test1 = unsafe { Pin::new_unchecked(&mut test1) };
-    Test::init(test1.as_mut());
-
-    let mut test2 = Test::new("test2");
-    let mut test2 = unsafe { Pin::new_unchecked(&mut test2) };
-    Test::init(test2.as_mut());
-
-    println!("a: {}, b: {}", Test::a(test1.as_ref()), Test::b(test1.as_ref()));
-    std::mem::swap(test1.get_mut(), test2.get_mut());
-    println!("a: {}, b: {}", Test::a(test2.as_ref()), Test::b(test2.as_ref()));
-}
-# use std::pin::Pin;
-# use std::marker::PhantomPinned;
-#
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-#     _marker: PhantomPinned,
-# }
-#
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         Test {
-#             a: let a = String::from(txt),
-#             b: std::ptr::null(),
-#             _marker: PhantomPinned, // This makes our type `!Unpin`
-#         }
-#     }
-#     fn init<'a>(self: Pin<&'a mut Self>) {
-#         let self_ptr: *const String = &self.a;
-#         let this = unsafe { self.get_unchecked_mut() };
-#         this.b = self_ptr;
-#     }
-#
-#     fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-#         &self.get_ref().a
-#     }
-#
-#     fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-#         unsafe { &*(self.b) }
-#     }
-# }
-
-

As you see from the error you get by running the code the type system prevents -us from swapping the pinned pointers.

-
-

It's important to note that stack pinning will always depend on the current -stack frame we're in, so we can't create a self referential object in one -stack frame and return it since any pointers we take to "self" is invalidated.

-

It also puts a lot of responsibility in your hands if you pin an object to the -stack. A mistake that is easy to make is, forgetting to shadow the original variable -since you could drop the Pin and access the old value after it's initialized -like this:

-
fn main() {
-   let mut test1 = Test::new("test1");
-   let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) };
-   Test::init(test1_pin.as_mut());
-   drop(test1_pin);
-
-   let mut test2 = Test::new("test2");
-   mem::swap(&mut test1, &mut test2);
-   println!("Not self referential anymore: {:?}", test1.b);
-}
-# use std::pin::Pin;
-# use std::marker::PhantomPinned;
-# use std::mem;
-#
-# #[derive(Debug)]
-# struct Test {
-#     a: String,
-#     b: *const String,
-#     _marker: PhantomPinned,
-# }
-#
-#
-# impl Test {
-#     fn new(txt: &str) -> Self {
-#         Test {
-#             a: String::from(txt),
-#             b: std::ptr::null(),
-#             _marker: PhantomPinned, // This makes our type `!Unpin`
-#         }
-#     }
-#     fn init<'a>(self: Pin<&'a mut Self>) {
-#         let self_ptr: *const String = &self.a;
-#         let this = unsafe { self.get_unchecked_mut() };
-#         this.b = self_ptr;
-#     }
-#
-#     fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-#         &self.get_ref().a
-#     }
-#
-#     fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-#         unsafe { &*(self.b) }
-#     }
-# }
-
-
-

Pinning to the heap

-

For completeness let's remove some unsafe and the need for an init method -at the cost of a heap allocation. Pinning to the heap is safe so the user -doesn't need to implement any unsafe code:

-
use std::pin::Pin;
-use std::marker::PhantomPinned;
-
-#[derive(Debug)]
-struct Test {
-    a: String,
-    b: *const String,
-    _marker: PhantomPinned,
-}
-
-impl Test {
-    fn new(txt: &str) -> Pin<Box<Self>> {
-        let t = Test {
-            a: String::from(txt),
-            b: std::ptr::null(),
-            _marker: PhantomPinned,
-        };
-        let mut boxed = Box::pin(t);
-        let self_ptr: *const String = &boxed.as_ref().a;
-        unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr };
-
-        boxed
-    }
-
-    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
-        &self.get_ref().a
-    }
-
-    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
-        unsafe { &*(self.b) }
-    }
-}
-
-pub fn main() {
-    let mut test1 = Test::new("test1");
-    let mut test2 = Test::new("test2");
-
-    println!("a: {}, b: {}",test1.as_ref().a(), test1.as_ref().b());
-    println!("a: {}, b: {}",test2.as_ref().a(), test2.as_ref().b());
-}
-
-

The fact that it's safe to pin heap allocated data even if it is !Unpin -makes sense. Once the data is allocated on the heap it will have a stable address.

-

There is no need for us as users of the API to take special care and ensure -that the self-referential pointer stays valid.

-

There are ways to safely give some guarantees on stack pinning as well, but right -now you need to use a crate like pin_project to do that.

-

Practical rules for Pinning

-
    -
  1. -

    If T: Unpin (which is the default), then Pin<'a, T> is entirely -equivalent to &'a mut T. in other words: Unpin means it's OK for this type -to be moved even when pinned, so Pin will have no effect on such a type.

    -
  2. -
  3. -

    Getting a &mut T to a pinned T requires unsafe if T: !Unpin. In -other words: requiring a pinned pointer to a type which is !Unpin prevents -the user of that API from moving that value unless it choses to write unsafe -code.

    -
  4. -
  5. -

    Pinning does nothing special with memory allocation like putting it into some -"read only" memory or anything fancy. It only uses the type system to prevent -certain operations on this value.

    -
  6. -
  7. -

    Most standard library types implement Unpin. The same goes for most -"normal" types you encounter in Rust. Futures and Generators are two -exceptions.

    -
  8. -
  9. -

    The main use case for Pin is to allow self referential types, the whole -justification for stabilizing them was to allow that.

    -
  10. -
  11. -

    The implementation behind objects that are !Unpin is most likely unsafe. -Moving such a type after it has been pinned can cause the universe to crash. As of the time of writing -this book, creating and reading fields of a self referential struct still requires unsafe -(the only way to do it is to create a struct containing raw pointers to itself).

    -
  12. -
  13. -

    You can add a !Unpin bound on a type on nightly with a feature flag, or -by adding std::marker::PhantomPinned to your type on stable.

    -
  14. -
  15. -

    You can either pin an object to the stack or to the heap.

    -
  16. -
  17. -

    Pinning a !Unpin object to the stack requires unsafe

    -
  18. -
  19. -

    Pinning a !Unpin object to the heap does not require unsafe. There is a shortcut for doing this using Box::pin.

    -
  20. -
-
-

Unsafe code does not mean it's literally "unsafe", it only relieves the -guarantees you normally get from the compiler. An unsafe implementation can -be perfectly safe to do, but you have no safety net.

-
-

Projection/structural pinning

-

In short, projection is a programming language term. mystruct.field1 is a -projection. Structural pinning is using Pin on fields. This has several -caveats and is not something you'll normally see so I refer to the documentation -for that.

-

Pin and Drop

-

The Pin guarantee exists from the moment the value is pinned until it's dropped. -In the Drop implementation you take a mutable reference to self, which means -extra care must be taken when implementing Drop for pinned types.

-

Putting it all together

-

This is exactly what we'll do when we implement our own Future, so stay tuned, -we're soon finished.

-

Bonus section: Fixing our self-referential generator and learning more about Pin

-

But now, let's prevent this problem using Pin. I've commented along the way to -make it easier to spot and understand the changes we need to make.

-
#![feature(optin_builtin_traits, negative_impls)] // needed to implement `!Unpin`
-use std::pin::Pin;
-
-pub fn main() {
-    let gen1 = GeneratorA::start();
-    let gen2 = GeneratorA::start();
-    // Before we pin the data, this is safe to do
-    // std::mem::swap(&mut gen, &mut gen2);
-
-    // constructing a `Pin::new()` on a type which does not implement `Unpin` is
-    // unsafe. An object pinned to heap can be constructed while staying in safe
-    // Rust so we can use that to avoid unsafe. You can also use crates like
-    // `pin_utils` to pin to the stack safely, just remember that they use
-    // unsafe under the hood so it's like using an already-reviewed unsafe
-    // implementation.
-
-    let mut pinned1 = Box::pin(gen1);
-    let mut pinned2 = Box::pin(gen2);
-
-    // Uncomment these if you think it's safe to pin the values to the stack instead
-    // (it is in this case). Remember to comment out the two previous lines first.
-    //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) };
-    //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) };
-
-    if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() {
-        println!("Gen1 got value {}", n);
-    }
-
-    if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() {
-        println!("Gen2 got value {}", n);
-    };
-
-    // This won't work:
-    // std::mem::swap(&mut gen, &mut gen2);
-    // This will work but will just swap the pointers so nothing bad happens here:
-    // std::mem::swap(&mut pinned1, &mut pinned2);
-
-    let _ = pinned1.as_mut().resume();
-    let _ = pinned2.as_mut().resume();
-}
-
-enum GeneratorState<Y, R> {
-    Yielded(Y),
-    Complete(R),
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter,
-    Yield1 {
-        to_borrow: String,
-        borrowed: *const String,
-    },
-    Exit,
-}
-
-impl GeneratorA {
-    fn start() -> Self {
-        GeneratorA::Enter
-    }
-}
-
-// This tells us that this object is not safe to move after pinning.
-// In this case, only we as implementors "feel" this, however, if someone is
-// relying on our Pinned data this will prevent them from moving it. You need
-// to enable the feature flag `#![feature(optin_builtin_traits)]` and use the
-// nightly compiler to implement `!Unpin`. Normally, you would use
-// `std::marker::PhantomPinned` to indicate that the struct is `!Unpin`.
-impl !Unpin for GeneratorA { }
-
-impl Generator for GeneratorA {
-    type Yield = usize;
-    type Return = ();
-    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        let this = unsafe { self.get_unchecked_mut() };
-            match this {
-            GeneratorA::Enter => {
-                let to_borrow = String::from("Hello");
-                let borrowed = &to_borrow;
-                let res = borrowed.len();
-                *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
-
-                // Trick to actually get a self reference. We can't reference
-                // the `String` earlier since these references will point to the
-                // location in this stack frame which will not be valid anymore
-                // when this function returns.
-                if let GeneratorA::Yield1 {to_borrow, borrowed} = this {
-                    *borrowed = to_borrow;
-                }
-
-                GeneratorState::Yielded(res)
-            }
-
-            GeneratorA::Yield1 {borrowed, ..} => {
-                let borrowed: &String = unsafe {&**borrowed};
-                println!("{} world", borrowed);
-                *this = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-
-

Now, as you see, the consumer of this API must either:

-
    -
  1. Box the value and thereby allocating it on the heap
  2. -
  3. Use unsafe and pin the value to the stack. The user knows that if they move -the value afterwards it will violate the guarantee they promise to uphold when -they did their unsafe implementation.
  4. -
-

Hopefully, after this you'll have an idea of what happens when you use the -yield or await keywords inside an async function, and why we need Pin if -we want to be able to safely borrow across yield/await points.

-

Implementing Futures - main example

-

We'll create our own Futures together with a fake reactor and a simple -executor which allows you to edit, run an play around with the code right here -in your browser.

-

I'll walk you through the example, but if you want to check it out closer, you -can always clone the repository and play around with the code -yourself or just copy it from the next chapter.

-

There are several branches explained in the readme, but two are -relevant for this chapter. The main branch is the example we go through here, -and the basic_example_commented branch is this example with extensive -comments.

-
-

If you want to follow along as we go through, initialize a new cargo project -by creating a new folder and run cargo init inside it. Everything we write -here will be in main.rs

-
-

Implementing our own Futures

-

Let's start off by getting all our imports right away so you can follow along

-
use std::{
-    future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,},
-    task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem,
-    thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap
-};
-
-

The Executor

-

The executors responsibility is to take one or more futures and run them to completion.

-

The first thing an executor does when it gets a Future is polling it.

-

When polled one of three things can happen:

-
    -
  • The future returns Ready and we schedule whatever chained operations to run
  • -
  • The future hasn't been polled before so we pass it a Waker and suspend it
  • -
  • The futures has been polled before but is not ready and returns Pending
  • -
-

Rust provides a way for the Reactor and Executor to communicate through the Waker. The reactor stores this Waker and calls Waker::wake() on it once -a Future has resolved and should be polled again.

-
-

Notice that this chapter has a bonus section called A Proper Way to Park our Thread which shows how to avoid thread::park.

-
-

Our Executor will look like this:

-
// Our executor takes any object which implements the `Future` trait
-fn block_on<F: Future>(mut future: F) -> F::Output {
-
-    // the first thing we do is to construct a `Waker` which we'll pass on to
-    // the `reactor` so it can wake us up when an event is ready.
-    let mywaker = Arc::new(MyWaker{ thread: thread::current() });
-    let waker = waker_into_waker(Arc::into_raw(mywaker));
-
-    // The context struct is just a wrapper for a `Waker` object. Maybe in the
-    // future this will do more, but right now it's just a wrapper.
-    let mut cx = Context::from_waker(&waker);
-
-    // So, since we run this on one thread and run one future to completion
-    // we can pin the `Future` to the stack. This is unsafe, but saves an
-    // allocation. We could `Box::pin` it too if we wanted. This is however
-    // safe since we shadow `future` so it can't be accessed again and will
-    // not move until it's dropped.
-    let mut future = unsafe { Pin::new_unchecked(&mut future) };
-
-    // We poll in a loop, but it's not a busy loop. It will only run when
-    // an event occurs, or a thread has a "spurious wakeup" (an unexpected wakeup
-    // that can happen for no good reason).
-    let val = loop { 
-        match Future::poll(future, &mut cx) {
-        
-            // when the Future is ready we're finished
-            Poll::Ready(val) => break val,
-
-            // If we get a `pending` future we just go to sleep...
-            Poll::Pending => thread::park(),
-        };
-    };
-    val
-}
-
-

In all the examples you'll see in this chapter I've chosen to comment the code -extensively. I find it easier to follow along that way so I'll not repeat myself -here and focus only on some important aspects that might need further explanation.

-

It's worth noting that simply calling thread::sleep as we do here can lead to -both deadlocks and errors. We'll explain a bit more later and fix this if you -read all the way to the Bonus Section at -the end of this chapter.

-

For now, we keep it as simple and easy to understand as we can by just going -to sleep.

-

Now that you've read so much about Generators and Pin already this should -be rather easy to understand. Future is a state machine, every await point -is a yield point. We could borrow data across await points and we meet the -exact same challenges as we do when borrowing across yield points.

-
-

Context is just a wrapper around the Waker. At the time of writing this -book it's nothing more. In the future it might be possible that the Context -object will do more than just wrapping a Future so having this extra -abstraction gives some flexibility.

-
-

As explained in the chapter about generators, we use -Pin and the guarantees that give us to allow Futures to have self -references.

-

The Future implementation

-

Futures has a well defined interface, which means they can be used across the -entire ecosystem.

-

We can chain these Futures so that once a leaf-future is -ready we'll perform a set of operations until either the task is finished or we -reach yet another leaf-future which we'll wait for and yield control to the -scheduler.

-

Our Future implementation looks like this:

-
// This is the definition of our `Waker`. We use a regular thread-handle here.
-// It works but it's not a good solution. It's easy to fix though, I'll explain
-// after this code snippet.
-#[derive(Clone)]
-struct MyWaker {
-    thread: thread::Thread,
-}
-
-// This is the definition of our `Future`. It keeps all the information we
-// need. This one holds a reference to our `reactor`, that's just to make
-// this example as easy as possible. It doesn't need to hold a reference to
-// the whole reactor, but it needs to be able to register itself with the
-// reactor.
-#[derive(Clone)]
-pub struct Task {
-    id: usize,
-    reactor: Arc<Mutex<Box<Reactor>>>,
-    data: u64,
-}
-
-// These are function definitions we'll use for our waker. Remember the
-// "Trait Objects" chapter earlier.
-fn mywaker_wake(s: &MyWaker) {
-    let waker_ptr: *const MyWaker = s;
-    let waker_arc = unsafe {Arc::from_raw(waker_ptr)};
-    waker_arc.thread.unpark();
-}
-
-// Since we use an `Arc` cloning is just increasing the refcount on the smart
-// pointer.
-fn mywaker_clone(s: &MyWaker) -> RawWaker {
-    let arc = unsafe { Arc::from_raw(s) };
-    std::mem::forget(arc.clone()); // increase ref count
-    RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
-}
-
-// This is actually a "helper funtcion" to create a `Waker` vtable. In contrast
-// to when we created a `Trait Object` from scratch we don't need to concern
-// ourselves with the actual layout of the `vtable` and only provide a fixed
-// set of functions
-const VTABLE: RawWakerVTable = unsafe {
-    RawWakerVTable::new(
-        |s| mywaker_clone(&*(s as *const MyWaker)),     // clone
-        |s| mywaker_wake(&*(s as *const MyWaker)),      // wake
-        |s| mywaker_wake(*(s as *const &MyWaker)),      // wake by ref
-        |s| drop(Arc::from_raw(s as *const MyWaker)),   // decrease refcount
-    )
-};
-
-// Instead of implementing this on the `MyWaker` object in `impl Mywaker...` we
-// just use this pattern instead since it saves us some lines of code.
-fn waker_into_waker(s: *const MyWaker) -> Waker {
-    let raw_waker = RawWaker::new(s as *const (), &VTABLE);
-    unsafe { Waker::from_raw(raw_waker) }
-}
-
-impl Task {
-    fn new(reactor: Arc<Mutex<Box<Reactor>>>, data: u64, id: usize) -> Self {
-        Task { id, reactor, data }
-    }
-}
-
-// This is our `Future` implementation
-impl Future for Task {
-    type Output = usize;
-
-    // Poll is the what drives the state machine forward and it's the only
-    // method we'll need to call to drive futures to completion.
-    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
-
-        // We need to get access the reactor in our `poll` method so we acquire
-        // a lock on that.
-        let mut r = self.reactor.lock().unwrap();
-
-        // First we check if the task is marked as ready
-        if r.is_ready(self.id) {
-
-            // If it's ready we set its state to `Finished`
-            *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;
-            Poll::Ready(self.id)
-        
-        // If it isn't finished we check the map we have stored in our Reactor
-        // over id's we have registered and see if it's there
-        } else if r.tasks.contains_key(&self.id) {
-
-            // This is important. The docs says that on multiple calls to poll,
-            // only the Waker from the Context passed to the most recent call
-            // should be scheduled to receive a wakeup. That's why we insert
-            // this waker into the map (which will return the old one which will
-            // get dropped) before we return `Pending`.
-            r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));
-            Poll::Pending
-        } else {
-
-            // If it's not ready, and not in the map it's a new task so we
-            // register that with the Reactor and return `Pending`
-            r.register(self.data, cx.waker().clone(), self.id);
-            Poll::Pending
-        }
-
-        // Note that we're holding a lock on the `Mutex` which protects the
-        // Reactor all the way until the end of this scope. This means that
-        // even if our task were to complete immidiately, it will not be
-        // able to call `wake` while we're in our `Poll` method.
-
-        // Since we can make this guarantee, it's now the Executors job to
-        // handle this possible race condition where `Wake` is called after
-        // `poll` but before our thread goes to sleep.
-    }
-}
-
-

This is mostly pretty straight forward. The confusing part is the strange way -we need to construct the Waker, but since we've already created our own -trait objects from raw parts, this looks pretty familiar. Actually, it's -even a bit easier.

-

We use an Arc here to pass out a ref-counted borrow of our MyWaker. This -is pretty normal, and makes this easy and safe to work with. Cloning a Waker -is just increasing the refcount in this case.

-

Dropping a Waker is as easy as decreasing the refcount. Now, in special -cases we could choose to not use an Arc. So this low-level method is there -to allow such cases.

-

Indeed, if we only used Arc there is no reason for us to go through all the -trouble of creating our own vtable and a RawWaker. We could just implement -a normal trait.

-

Fortunately, in the future this will probably be possible in the standard -library as well. For now, this trait lives in the nursery, but my -guess is that this will be a part of the standard library after some maturing.

-

We choose to pass in a reference to the whole Reactor here. This isn't normal. -The reactor will often be a global resource which let's us register interests -without passing around a reference.

-
-

Why using thread park/unpark is a bad idea for a library

-

It could deadlock easily since anyone could get a handle to the executor thread -and call park/unpark on our thread. I've made an example with comments on the -playground that showcases how such an error could occur. You can also read a bit more about this in issue 2010 -in the futures crate.

-
-

The Reactor

-

This is the home stretch, and not strictly Future related, but we need one -to have an example to run.

-

Since concurrency mostly makes sense when interacting with the outside world (or -at least some peripheral), we need something to actually abstract over this -interaction in an asynchronous way.

-

This is the Reactors job. Most often you'll see reactors in Rust use a library -called Mio, which provides non blocking APIs and event notification for -several platforms.

-

The reactor will typically give you something like a TcpStream (or any other -resource) which you'll use to create an I/O request. What you get in return is a -Future.

-
-

If our reactor did some real I/O work our Task in would instead be represent -a non-blocking TcpStream which registers interest with the global Reactor. -Passing around a reference to the Reactor itself is pretty uncommon but I find -it makes reasoning about what's happening easier.

-
-

Our example task is a timer that only spawns a thread and puts it to sleep for -the number of seconds we specify. The reactor we create here will create a -leaf-future representing each timer. In return the Reactor receives a waker -which it will call once the task is finished.

-

To be able to run the code here in the browser there is not much real I/O we -can do so just pretend that this is actually represents some useful I/O operation -for the sake of this example.

-

Our Reactor will look like this:

-
// This is a "fake" reactor. It does no real I/O, but that also makes our
-// code possible to run in the book and in the playground
-// The different states a task can have in this Reactor
-enum TaskState {
-    Ready,
-    NotReady(Waker),
-    Finished,
-}
-
-// This is a "fake" reactor. It does no real I/O, but that also makes our
-// code possible to run in the book and in the playground
-struct Reactor {
-
-    // we need some way of registering a Task with the reactor. Normally this
-    // would be an "interest" in an I/O event
-    dispatcher: Sender<Event>,
-    handle: Option<JoinHandle<()>>,
-
-    // This is a list of tasks
-    tasks: HashMap<usize, TaskState>,
-}
-
-// This represents the Events we can send to our reactor thread. In this
-// example it's only a Timeout or a Close event.
-#[derive(Debug)]
-enum Event {
-    Close,
-    Timeout(u64, usize),
-}
-
-impl Reactor {
-
-    // We choose to return an atomic reference counted, mutex protected, heap
-    // allocated `Reactor`. Just to make it easy to explain... No, the reason
-    // we do this is:
-    //
-    // 1. We know that only thread-safe reactors will be created.
-    // 2. By heap allocating it we can obtain a reference to a stable address
-    // that's not dependent on the stack frame of the function that called `new`
-    fn new() -> Arc<Mutex<Box<Self>>> {
-        let (tx, rx) = channel::<Event>();
-        let reactor = Arc::new(Mutex::new(Box::new(Reactor {
-            dispatcher: tx,
-            handle: None,
-            tasks: HashMap::new(),
-        })));
-        
-        // Notice that we'll need to use `weak` reference here. If we don't,
-        // our `Reactor` will not get `dropped` when our main thread is finished
-        // since we're holding internal references to it.
-
-        // Since we're collecting all `JoinHandles` from the threads we spawn
-        // and make sure to join them we know that `Reactor` will be alive
-        // longer than any reference held by the threads we spawn here.
-        let reactor_clone = Arc::downgrade(&reactor);
-
-        // This will be our Reactor-thread. The Reactor-thread will in our case
-        // just spawn new threads which will serve as timers for us.
-        let handle = thread::spawn(move || {
-            let mut handles = vec![];
-
-            // This simulates some I/O resource
-            for event in rx {
-                println!("REACTOR: {:?}", event);
-                let reactor = reactor_clone.clone();
-                match event {
-                    Event::Close => break,
-                    Event::Timeout(duration, id) => {
-
-                        // We spawn a new thread that will serve as a timer
-                        // and will call `wake` on the correct `Waker` once
-                        // it's done.
-                        let event_handle = thread::spawn(move || {
-                            thread::sleep(Duration::from_secs(duration));
-                            let reactor = reactor.upgrade().unwrap();
-                            reactor.lock().map(|mut r| r.wake(id)).unwrap();
-                        });
-                        handles.push(event_handle);
-                    }
-                }
-            }
-
-            // This is important for us since we need to know that these
-            // threads don't live longer than our Reactor-thread. Our
-            // Reactor-thread will be joined when `Reactor` gets dropped.
-            handles.into_iter().for_each(|handle| handle.join().unwrap());
-        });
-        reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();
-        reactor
-    }
-
-    // The wake function will call wake on the waker for the task with the
-    // corresponding id.
-    fn wake(&mut self, id: usize) {
-        self.tasks.get_mut(&id).map(|state| {
-
-            // No matter what state the task was in we can safely set it
-            // to ready at this point. This lets us get ownership over the
-            // the data that was there before we replaced it.
-            match mem::replace(state, TaskState::Ready) {
-                TaskState::NotReady(waker) => waker.wake(),
-                TaskState::Finished => panic!("Called 'wake' twice on task: {}", id),
-                _ => unreachable!()
-            }
-        }).unwrap();
-    }
-
-    // Register a new task with the reactor. In this particular example
-    // we panic if a task with the same id get's registered twice 
-    fn register(&mut self, duration: u64, waker: Waker, id: usize) {
-        if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {
-            panic!("Tried to insert a task with id: '{}', twice!", id);
-        }
-        self.dispatcher.send(Event::Timeout(duration, id)).unwrap();
-    }
-
-    // We send a close event to the reactor so it closes down our reactor-thread
-    fn close(&mut self) {
-        self.dispatcher.send(Event::Close).unwrap();
-    }
-
-    // We simply checks if a task with this id is in the state `TaskState::Ready`
-    fn is_ready(&self, id: usize) -> bool {
-        self.tasks.get(&id).map(|state| match state {
-            TaskState::Ready => true,
-            _ => false,
-        }).unwrap_or(false)
-    }
-}
-
-impl Drop for Reactor {
-    fn drop(&mut self) {
-        self.handle.take().map(|h| h.join().unwrap()).unwrap();
-    }
-}
-
-

It's a lot of code though, but essentially we just spawn off a new thread -and make it sleep for some time which we specify when we create a Task.

-

Now, let's test our code and see if it works. Since we're sleeping for a couple -of seconds here, just give it some time to run.

-

In the last chapter we have the whole 200 lines in an editable window -which you can edit and change the way you like.

-
# use std::{
-#     future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,},
-#     task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem,
-#     thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap
-# };
-#
-fn main() {
-    // This is just to make it easier for us to see when our Future was resolved
-    let start = Instant::now();
-
-    // Many runtimes create a glocal `reactor` we pass it as an argument
-    let reactor = Reactor::new();
-    
-    // We create two tasks:
-    // - first parameter is the `reactor`
-    // - the second is a timeout in seconds
-    // - the third is an `id` to identify the task
-    let future1 = Task::new(reactor.clone(), 1, 1);
-    let future2 = Task::new(reactor.clone(), 2, 2);
-
-    // an `async` block works the same way as an `async fn` in that it compiles
-    // our code into a state machine, `yielding` at every `await` point.
-    let fut1 = async {
-        let val = future1.await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    let fut2 = async {
-        let val = future2.await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    // Our executor can only run one and one future, this is pretty normal
-    // though. You have a set of operations containing many futures that
-    // ends up as a single future that drives them all to completion.
-    let mainfut = async {
-        fut1.await;
-        fut2.await;
-    };
-
-    // This executor will block the main thread until the futures is resolved
-    block_on(mainfut);
-
-    // When we're done, we want to shut down our reactor thread so our program
-    // ends nicely.
-    reactor.lock().map(|mut r| r.close()).unwrap();
-}
-# // ============================= EXECUTOR ====================================
-# fn block_on<F: Future>(mut future: F) -> F::Output {
-#     let mywaker = Arc::new(MyWaker {
-#         thread: thread::current(),
-#     });
-#     let waker = waker_into_waker(Arc::into_raw(mywaker));
-#     let mut cx = Context::from_waker(&waker);
-# 
-#     // SAFETY: we shadow `future` so it can't be accessed again.
-#     let mut future = unsafe { Pin::new_unchecked(&mut future) };
-#     let val = loop {
-#         match Future::poll(future.as_mut(), &mut cx) {
-#             Poll::Ready(val) => break val,
-#             Poll::Pending => thread::park(),
-#         };
-#     };
-#     val
-# }
-#
-# // ====================== FUTURE IMPLEMENTATION ==============================
-# #[derive(Clone)]
-# struct MyWaker {
-#     thread: thread::Thread,
-# }
-#
-# #[derive(Clone)]
-# pub struct Task {
-#     id: usize,
-#     reactor: Arc<Mutex<Box<Reactor>>>,
-#     data: u64,
-# }
-#
-# fn mywaker_wake(s: &MyWaker) {
-#     let waker_ptr: *const MyWaker = s;
-#     let waker_arc = unsafe { Arc::from_raw(waker_ptr) };
-#     waker_arc.thread.unpark();
-# }
-#
-# fn mywaker_clone(s: &MyWaker) -> RawWaker {
-#     let arc = unsafe { Arc::from_raw(s) };
-#     std::mem::forget(arc.clone()); // increase ref count
-#     RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
-# }
-#
-# const VTABLE: RawWakerVTable = unsafe {
-#     RawWakerVTable::new(
-#         |s| mywaker_clone(&*(s as *const MyWaker)),   // clone
-#         |s| mywaker_wake(&*(s as *const MyWaker)),    // wake
-#         |s| mywaker_wake(*(s as *const &MyWaker)),    // wake by ref
-#         |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount
-#     )
-# };
-#
-# fn waker_into_waker(s: *const MyWaker) -> Waker {
-#     let raw_waker = RawWaker::new(s as *const (), &VTABLE);
-#     unsafe { Waker::from_raw(raw_waker) }
-# }
-#
-# impl Task {
-#     fn new(reactor: Arc<Mutex<Box<Reactor>>>, data: u64, id: usize) -> Self {
-#         Task { id, reactor, data }
-#     }
-# }
-#
-# impl Future for Task {
-#     type Output = usize;
-#     fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
-#         let mut r = self.reactor.lock().unwrap();
-#         if r.is_ready(self.id) {
-#             println!("POLL: TASK {} IS READY", self.id);
-#             *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;
-#             Poll::Ready(self.id)
-#         } else if r.tasks.contains_key(&self.id) {
-#             println!("POLL: REPLACED WAKER FOR TASK: {}", self.id);
-#             r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));
-#             Poll::Pending
-#         } else {
-#             println!("POLL: REGISTERED TASK: {}, WAKER: {:?}", self.id, cx.waker());
-#             r.register(self.data, cx.waker().clone(), self.id);
-#             Poll::Pending
-#         }
-#     }
-# }
-#
-# // =============================== REACTOR ===================================
-# enum TaskState {
-#     Ready,
-#     NotReady(Waker),
-#     Finished,
-# }
-# struct Reactor {
-#     dispatcher: Sender<Event>,
-#     handle: Option<JoinHandle<()>>,
-#     tasks: HashMap<usize, TaskState>,
-# }
-# 
-# #[derive(Debug)]
-# enum Event {
-#     Close,
-#     Timeout(u64, usize),
-# }
-#
-# impl Reactor {
-#     fn new() -> Arc<Mutex<Box<Self>>> {
-#         let (tx, rx) = channel::<Event>();
-#         let reactor = Arc::new(Mutex::new(Box::new(Reactor {
-#             dispatcher: tx,
-#             handle: None,
-#             tasks: HashMap::new(),
-#         })));
-#         
-#         let reactor_clone = Arc::downgrade(&reactor);
-#         let handle = thread::spawn(move || {
-#             let mut handles = vec![];
-#             // This simulates some I/O resource
-#             for event in rx {
-#                 println!("REACTOR: {:?}", event);
-#                 let reactor = reactor_clone.clone();
-#                 match event {
-#                     Event::Close => break,
-#                     Event::Timeout(duration, id) => {
-#                         let event_handle = thread::spawn(move || {
-#                             thread::sleep(Duration::from_secs(duration));
-#                             let reactor = reactor.upgrade().unwrap();
-#                             reactor.lock().map(|mut r| r.wake(id)).unwrap();
-#                         });
-#                         handles.push(event_handle);
-#                     }
-#                 }
-#             }
-#             handles.into_iter().for_each(|handle| handle.join().unwrap());
-#         });
-#         reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();
-#         reactor
-#     }
-# 
-#     fn wake(&mut self, id: usize) {
-#         self.tasks.get_mut(&id).map(|state| {
-#             match mem::replace(state, TaskState::Ready) {
-#                 TaskState::NotReady(waker) => waker.wake(),
-#                 TaskState::Finished => panic!("Called 'wake' twice on task: {}", id),
-#                 _ => unreachable!()
-#             }
-#         }).unwrap();
-#     }
-# 
-#     fn register(&mut self, duration: u64, waker: Waker, id: usize) {
-#         if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {
-#             panic!("Tried to insert a task with id: '{}', twice!", id);
-#         }
-#         self.dispatcher.send(Event::Timeout(duration, id)).unwrap();
-#     }
-#
-#     fn close(&mut self) {
-#         self.dispatcher.send(Event::Close).unwrap();
-#     }
-# 
-#     fn is_ready(&self, id: usize) -> bool {
-#         self.tasks.get(&id).map(|state| match state {
-#             TaskState::Ready => true,
-#             _ => false,
-#         }).unwrap_or(false)
-#     }
-# }
-#
-# impl Drop for Reactor {
-#     fn drop(&mut self) {
-#         self.handle.take().map(|h| h.join().unwrap()).unwrap();
-#     }
-# }
-
-

I added a some debug printouts so we can observe a couple of things:

-
    -
  1. How the Waker object looks just like the trait object we talked about in an earlier chapter
  2. -
  3. The program flow from start to finish
  4. -
-

The last point is relevant when we move on the the last paragraph.

-

Async/Await and concurrecy

-

The async keyword can be used on functions as in async fn(...) or on a -block as in async { ... }. Both will turn your function, or block, into a -Future.

-

These Futures are rather simple. Imagine our generator from a few chapters -back. Every await point is like a yield point.

-

Instead of yielding a value we pass in, we yield the result of calling poll on -the next Future we're awaiting.

-

Our mainfut contains two non-leaf futures which it will call poll on. Non-leaf-futures -has a poll method that simply polls their inner futures and these state machines -are polled until some "leaf future" in the end either returns Ready or Pending.

-

The way our example is right now, it's not much better than regular synchronous -code. For us to actually await multiple futures at the same time we somehow need -to spawn them so the executor starts running them concurrently.

-

Our example as it stands now returns this:

-
Future got 1 at time: 1.00.
-Future got 2 at time: 3.00.
-
-

If these Futures were executed asynchronously we would expect to see:

-
Future got 1 at time: 1.00.
-Future got 2 at time: 2.00.
-
-
-

Note that this doesn't mean they need to run in parallel. They can run in -parallel but there is no requirement. Remember that we're waiting for some -external resource so we can fire off many such calls on a single thread and -handle each event as it resolves.

-
-

Now, this is the point where I'll refer you to some better resources for -implementing a better executor. You should have a pretty good understanding of -the concept of Futures by now helping you along the way.

-

The next step should be getting to know how more advanced runtimes work and -how they implement different ways of running Futures to completion.

-

If I were you I would read this next, and try to implement it for our example..

-

That's actually it for now. There as probably much more to learn, this is enough -for today.

-

I hope exploring Futures and async in general gets easier after this read and I -do really hope that you do continue to explore further.

-

Don't forget the exercises in the last chapter 😊.

-

Bonus Section - a Proper Way to Park our Thread

-

As we explained earlier in our chapter, simply calling thread::sleep is not really -sufficient to implement a proper reactor. You can also reach a tool like the Parker -in crossbeam: crossbeam::sync::Parker

-

Since it doesn't require many lines of code to create a working solution ourselves we'll show how -we can solve that by using a Condvar and a Mutex instead.

-

Start by implementing our own Parker like this:

-
#[derive(Default)]
-struct Parker(Mutex<bool>, Condvar);
-
-impl Parker {
-    fn park(&self) {
-
-        // We aquire a lock to the Mutex which protects our flag indicating if we
-        // should resume execution or not.
-        let mut resumable = self.0.lock().unwrap();
-
-            // We put this in a loop since there is a chance we'll get woken, but
-            // our flag hasn't changed. If that happens, we simply go back to sleep.
-            while !*resumable {
-
-                // We sleep until someone notifies us
-                resumable = self.1.wait(resumable).unwrap();
-            }
-
-        // We immidiately set the condition to false, so that next time we call `park` we'll
-        // go right to sleep.
-        *resumable = false;
-    }
-
-    fn unpark(&self) {
-        // We simply acquire a lock to our flag and sets the condition to `runnable` when we
-        // get it.
-        *self.0.lock().unwrap() = true;
-
-        // We notify our `Condvar` so it wakes up and resumes.
-        self.1.notify_one();
-    }
-}
-
-

The Condvar in Rust is designed to work together with a Mutex. Usually, you'd think that we don't -release the mutex-lock we acquire in self.0.lock().unwrap(); before we go to sleep. Which means -that our unpark function never will acquire a lock to our flag and we deadlock.

-

Using Condvar we avoid this since the Condvar will consume our lock so it's released at the -moment we go to sleep.

-

When we resume again, our Condvar returns our lock so we can continue to operate on it.

-

This means we need to make some very slight changes to our executor like this:

-
fn block_on<F: Future>(mut future: F) -> F::Output {
-    let parker = Arc::new(Parker::default()); // <--- NB!
-    let mywaker = Arc::new(MyWaker { parker: parker.clone() }); <--- NB!
-    let waker = mywaker_into_waker(Arc::into_raw(mywaker));
-    let mut cx = Context::from_waker(&waker);
-    
-    // SAFETY: we shadow `future` so it can't be accessed again.
-    let mut future = unsafe { Pin::new_unchecked(&mut future) }; 
-    loop {
-        match Future::poll(future.as_mut(), &mut cx) {
-            Poll::Ready(val) => break val,
-            Poll::Pending => parker.park(), // <--- NB!
-        };
-    }
-}
-
-

And we need to change our Waker like this:

-
#[derive(Clone)]
-struct MyWaker {
-    parker: Arc<Parker>,
-}
-
-fn mywaker_wake(s: &MyWaker) {
-    let waker_arc = unsafe { Arc::from_raw(s) };
-    waker_arc.parker.unpark();
-}
-
-

And that's really all there is to it.

-
-

If you checked out the playground link that showcased how park/unpark could cause subtle -problems -you can check out this example which shows how our final version avoids this problem.

-
-

The next chapter shows our finished code with this -improvement which you can explore further if you wish.

-

Our finished code

-

Here is the whole example. You can edit it right here in your browser and -run it yourself. Have fun!

-
fn main() {
-    let start = Instant::now();
-    let reactor = Reactor::new();
-
-    let fut1 = async {
-        let val = Task::new(reactor.clone(), 1, 1).await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    let fut2 = async {
-        let val = Task::new(reactor.clone(), 2, 2).await;
-        println!("Got {} at time: {:.2}.", val, start.elapsed().as_secs_f32());
-    };
-
-    let mainfut = async {
-        fut1.await;
-        fut2.await;
-    };
-
-    block_on(mainfut);
-    reactor.lock().map(|mut r| r.close()).unwrap();
-}
-
-use std::{
-    future::Future, sync::{ mpsc::{channel, Sender}, Arc, Mutex, Condvar},
-    task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem, pin::Pin,
-    thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap
-};
-// ============================= EXECUTOR ====================================
-#[derive(Default)]
-struct Parker(Mutex<bool>, Condvar);
-
-impl Parker {
-    fn park(&self) {
-        let mut resumable = self.0.lock().unwrap();
-            while !*resumable {
-                resumable = self.1.wait(resumable).unwrap();
-            }
-        *resumable = false;
-    }
-
-    fn unpark(&self) {
-        *self.0.lock().unwrap() = true;
-        self.1.notify_one();
-    }
-}
-
-fn block_on<F: Future>(mut future: F) -> F::Output {
-    let parker = Arc::new(Parker::default());
-    let mywaker = Arc::new(MyWaker { parker: parker.clone() });
-    let waker = mywaker_into_waker(Arc::into_raw(mywaker));
-    let mut cx = Context::from_waker(&waker);
-    
-    // SAFETY: we shadow `future` so it can't be accessed again.
-    let mut future = unsafe { Pin::new_unchecked(&mut future) }; 
-    loop {
-        match Future::poll(future.as_mut(), &mut cx) {
-            Poll::Ready(val) => break val,
-            Poll::Pending => parker.park(),
-        };
-    }
-}
-// ====================== FUTURE IMPLEMENTATION ==============================
-#[derive(Clone)]
-struct MyWaker {
-    parker: Arc<Parker>,
-}
-
-#[derive(Clone)]
-pub struct Task {
-    id: usize,
-    reactor: Arc<Mutex<Box<Reactor>>>,
-    data: u64,
-}
-
-fn mywaker_wake(s: &MyWaker) {
-    let waker_arc = unsafe { Arc::from_raw(s) };
-    waker_arc.parker.unpark();
-}
-
-fn mywaker_clone(s: &MyWaker) -> RawWaker {
-    let arc = unsafe { Arc::from_raw(s) };
-    std::mem::forget(arc.clone()); // increase ref count
-    RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
-}
-
-const VTABLE: RawWakerVTable = unsafe {
-    RawWakerVTable::new(
-        |s| mywaker_clone(&*(s as *const MyWaker)),   // clone
-        |s| mywaker_wake(&*(s as *const MyWaker)),    // wake
-        |s| mywaker_wake(*(s as *const &MyWaker)),    // wake by ref
-        |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount
-    )
-};
-
-fn mywaker_into_waker(s: *const MyWaker) -> Waker {
-    let raw_waker = RawWaker::new(s as *const (), &VTABLE);
-    unsafe { Waker::from_raw(raw_waker) }
-}
-
-impl Task {
-    fn new(reactor: Arc<Mutex<Box<Reactor>>>, data: u64, id: usize) -> Self {
-        Task { id, reactor, data }
-    }
-}
-
-impl Future for Task {
-    type Output = usize;
-    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
-        let mut r = self.reactor.lock().unwrap();
-        if r.is_ready(self.id) {
-            *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;
-            Poll::Ready(self.id)
-        } else if r.tasks.contains_key(&self.id) {
-            r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));
-            Poll::Pending
-        } else {
-            r.register(self.data, cx.waker().clone(), self.id);
-            Poll::Pending
-        }
-    }
-}
-// =============================== REACTOR ===================================
-enum TaskState {
-    Ready,
-    NotReady(Waker),
-    Finished,
-}
-struct Reactor {
-    dispatcher: Sender<Event>,
-    handle: Option<JoinHandle<()>>,
-    tasks: HashMap<usize, TaskState>,
-}
-
-#[derive(Debug)]
-enum Event {
-    Close,
-    Timeout(u64, usize),
-}
-
-impl Reactor {
-    fn new() -> Arc<Mutex<Box<Self>>> {
-        let (tx, rx) = channel::<Event>();
-        let reactor = Arc::new(Mutex::new(Box::new(Reactor {
-            dispatcher: tx,
-            handle: None,
-            tasks: HashMap::new(),
-        })));
-        
-        let reactor_clone = Arc::downgrade(&reactor);
-        let handle = thread::spawn(move || {
-            let mut handles = vec![];
-            for event in rx {
-                let reactor = reactor_clone.clone();
-                match event {
-                    Event::Close => break,
-                    Event::Timeout(duration, id) => {
-                        let event_handle = thread::spawn(move || {
-                            thread::sleep(Duration::from_secs(duration));
-                            let reactor = reactor.upgrade().unwrap();
-                            reactor.lock().map(|mut r| r.wake(id)).unwrap();
-                        });
-                        handles.push(event_handle);
-                    }
-                }
-            }
-            handles.into_iter().for_each(|handle| handle.join().unwrap());
-        });
-        reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();
-        reactor
-    }
-
-    fn wake(&mut self, id: usize) {
-        let state = self.tasks.get_mut(&id).unwrap();
-        match mem::replace(state, TaskState::Ready) {
-            TaskState::NotReady(waker) => waker.wake(),
-            TaskState::Finished => panic!("Called 'wake' twice on task: {}", id),
-            _ => unreachable!()
-        }
-    }
-
-    fn register(&mut self, duration: u64, waker: Waker, id: usize) {
-        if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {
-            panic!("Tried to insert a task with id: '{}', twice!", id);
-        }
-        self.dispatcher.send(Event::Timeout(duration, id)).unwrap();
-    }
-
-    fn close(&mut self) {
-        self.dispatcher.send(Event::Close).unwrap();
-    }
-
-    fn is_ready(&self, id: usize) -> bool {
-        self.tasks.get(&id).map(|state| match state {
-            TaskState::Ready => true,
-            _ => false,
-        }).unwrap_or(false)
-    }
-}
-
-impl Drop for Reactor {
-    fn drop(&mut self) {
-        self.handle.take().map(|h| h.join().unwrap()).unwrap();
-    }
-}
-
-

Conclusion and exercises

-

Congratulations. Good job! If you got this far you must have stayed with me -all the way. I hope you enjoyed the ride!

-

Remember that you call always leave feedback, suggest improvements or ask questions -in the issue_tracker for this book. -I'll try my best to respond to each one of them.

-

I'll leave you with some suggestions for exercises if you want to explore a little further below.

-

Until next time!

-

Reader exercises

-

So our implementation has taken some obvious shortcuts and could use some improvement. -Actually digging into the code and try things yourself is a good way to learn. Here are -some good exercises if you want to explore more:

-

Avoid wrapping the whole Reactor in a mutex and pass it around

-

First of all, protecting the whole Reactor and passing it around is overkill. We're only -interested in synchronizing some parts of the information it contains. Try to refactor that -out and only synchronize access to what's really needed.

-

I'd encourage you to have a look at how async_std solves this with a global runtime which includes the reactor -and how tokio's rutime solves the same -thing in a slightly different way to get some inspiration.

-
    -
  • Do you want to pass around a reference to this information using an Arc?
  • -
  • Do you want to make a global Reactor so it can be accessed from anywhere?
  • -
-

Building a better exectuor

-

Right now, we can only run one and one future. Most runtimes has a spawn -function which let's you start off a future and await it later so you -can run multiple futures concurrently.

-

As I suggested in the start of this book, visiting @stjepan'sblog series about implementing your own executors -is the place I would start and take it from there.

-

Further reading

-

There are many great resources. In addition to the RFCs and articles I've already -linked to in the book, here are some of my suggestions:

-

The official Asyc book

-

The async_std book

-

Aron Turon: Designing futures for Rust

-

Steve Klabnik's presentation: Rust's journey to Async/Await

-

The Tokio Blog

-

Stjepan's blog with a series where he implements an Executor

-

Jon Gjengset's video on The Why, What and How of Pinning in Rust

-

Withoutboats blog series about async/await

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/searcher.js b/book/searcher.js deleted file mode 100644 index 7fd97d4..0000000 --- a/book/searcher.js +++ /dev/null @@ -1,477 +0,0 @@ -"use strict"; -window.search = window.search || {}; -(function search(search) { - // Search functionality - // - // You can use !hasFocus() to prevent keyhandling in your key - // event handlers while the user is typing their search. - - if (!Mark || !elasticlunr) { - return; - } - - //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith - if (!String.prototype.startsWith) { - String.prototype.startsWith = function(search, pos) { - return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; - }; - } - - var search_wrap = document.getElementById('search-wrapper'), - searchbar = document.getElementById('searchbar'), - searchbar_outer = document.getElementById('searchbar-outer'), - searchresults = document.getElementById('searchresults'), - searchresults_outer = document.getElementById('searchresults-outer'), - searchresults_header = document.getElementById('searchresults-header'), - searchicon = document.getElementById('search-toggle'), - content = document.getElementById('content'), - - searchindex = null, - doc_urls = [], - results_options = { - teaser_word_count: 30, - limit_results: 30, - }, - search_options = { - bool: "AND", - expand: true, - fields: { - title: {boost: 1}, - body: {boost: 1}, - breadcrumbs: {boost: 0} - } - }, - mark_exclude = [], - marker = new Mark(content), - current_searchterm = "", - URL_SEARCH_PARAM = 'search', - URL_MARK_PARAM = 'highlight', - teaser_count = 0, - - SEARCH_HOTKEY_KEYCODE = 83, - ESCAPE_KEYCODE = 27, - DOWN_KEYCODE = 40, - UP_KEYCODE = 38, - SELECT_KEYCODE = 13; - - function hasFocus() { - return searchbar === document.activeElement; - } - - function removeChildren(elem) { - while (elem.firstChild) { - elem.removeChild(elem.firstChild); - } - } - - // Helper to parse a url into its building blocks. - function parseURL(url) { - var a = document.createElement('a'); - a.href = url; - return { - source: url, - protocol: a.protocol.replace(':',''), - host: a.hostname, - port: a.port, - params: (function(){ - var ret = {}; - var seg = a.search.replace(/^\?/,'').split('&'); - var len = seg.length, i = 0, s; - for (;i': '>', - '"': '"', - "'": ''' - }; - var repl = function(c) { return MAP[c]; }; - return function(s) { - return s.replace(/[&<>'"]/g, repl); - }; - })(); - - function formatSearchMetric(count, searchterm) { - if (count == 1) { - return count + " search result for '" + searchterm + "':"; - } else if (count == 0) { - return "No search results for '" + searchterm + "'."; - } else { - return count + " search results for '" + searchterm + "':"; - } - } - - function formatSearchResult(result, searchterms) { - var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms); - teaser_count++; - - // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor - var url = doc_urls[result.ref].split("#"); - if (url.length == 1) { // no anchor found - url.push(""); - } - - return '' + result.doc.breadcrumbs + '' - + '' - + teaser + ''; - } - - function makeTeaser(body, searchterms) { - // The strategy is as follows: - // First, assign a value to each word in the document: - // Words that correspond to search terms (stemmer aware): 40 - // Normal words: 2 - // First word in a sentence: 8 - // Then use a sliding window with a constant number of words and count the - // sum of the values of the words within the window. Then use the window that got the - // maximum sum. If there are multiple maximas, then get the last one. - // Enclose the terms in . - var stemmed_searchterms = searchterms.map(function(w) { - return elasticlunr.stemmer(w.toLowerCase()); - }); - var searchterm_weight = 40; - var weighted = []; // contains elements of ["word", weight, index_in_document] - // split in sentences, then words - var sentences = body.toLowerCase().split('. '); - var index = 0; - var value = 0; - var searchterm_found = false; - for (var sentenceindex in sentences) { - var words = sentences[sentenceindex].split(' '); - value = 8; - for (var wordindex in words) { - var word = words[wordindex]; - if (word.length > 0) { - for (var searchtermindex in stemmed_searchterms) { - if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) { - value = searchterm_weight; - searchterm_found = true; - } - }; - weighted.push([word, value, index]); - value = 2; - } - index += word.length; - index += 1; // ' ' or '.' if last word in sentence - }; - index += 1; // because we split at a two-char boundary '. ' - }; - - if (weighted.length == 0) { - return body; - } - - var window_weight = []; - var window_size = Math.min(weighted.length, results_options.teaser_word_count); - - var cur_sum = 0; - for (var wordindex = 0; wordindex < window_size; wordindex++) { - cur_sum += weighted[wordindex][1]; - }; - window_weight.push(cur_sum); - for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) { - cur_sum -= weighted[wordindex][1]; - cur_sum += weighted[wordindex + window_size][1]; - window_weight.push(cur_sum); - }; - - if (searchterm_found) { - var max_sum = 0; - var max_sum_window_index = 0; - // backwards - for (var i = window_weight.length - 1; i >= 0; i--) { - if (window_weight[i] > max_sum) { - max_sum = window_weight[i]; - max_sum_window_index = i; - } - }; - } else { - max_sum_window_index = 0; - } - - // add around searchterms - var teaser_split = []; - var index = weighted[max_sum_window_index][2]; - for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) { - var word = weighted[i]; - if (index < word[2]) { - // missing text from index to start of `word` - teaser_split.push(body.substring(index, word[2])); - index = word[2]; - } - if (word[1] == searchterm_weight) { - teaser_split.push("") - } - index = word[2] + word[0].length; - teaser_split.push(body.substring(word[2], index)); - if (word[1] == searchterm_weight) { - teaser_split.push("") - } - }; - - return teaser_split.join(''); - } - - function init(config) { - results_options = config.results_options; - search_options = config.search_options; - searchbar_outer = config.searchbar_outer; - doc_urls = config.doc_urls; - searchindex = elasticlunr.Index.load(config.index); - - // Set up events - searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false); - searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false); - document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false); - // If the user uses the browser buttons, do the same as if a reload happened - window.onpopstate = function(e) { doSearchOrMarkFromUrl(); }; - // Suppress "submit" events so the page doesn't reload when the user presses Enter - document.addEventListener('submit', function(e) { e.preventDefault(); }, false); - - // If reloaded, do the search or mark again, depending on the current url parameters - doSearchOrMarkFromUrl(); - } - - function unfocusSearchbar() { - // hacky, but just focusing a div only works once - var tmp = document.createElement('input'); - tmp.setAttribute('style', 'position: absolute; opacity: 0;'); - searchicon.appendChild(tmp); - tmp.focus(); - tmp.remove(); - } - - // On reload or browser history backwards/forwards events, parse the url and do search or mark - function doSearchOrMarkFromUrl() { - // Check current URL for search request - var url = parseURL(window.location.href); - if (url.params.hasOwnProperty(URL_SEARCH_PARAM) - && url.params[URL_SEARCH_PARAM] != "") { - showSearch(true); - searchbar.value = decodeURIComponent( - (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20')); - searchbarKeyUpHandler(); // -> doSearch() - } else { - showSearch(false); - } - - if (url.params.hasOwnProperty(URL_MARK_PARAM)) { - var words = url.params[URL_MARK_PARAM].split(' '); - marker.mark(words, { - exclude: mark_exclude - }); - - var markers = document.querySelectorAll("mark"); - function hide() { - for (var i = 0; i < markers.length; i++) { - markers[i].classList.add("fade-out"); - window.setTimeout(function(e) { marker.unmark(); }, 300); - } - } - for (var i = 0; i < markers.length; i++) { - markers[i].addEventListener('click', hide); - } - } - } - - // Eventhandler for keyevents on `document` - function globalKeyHandler(e) { - if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea') { return; } - - if (e.keyCode === ESCAPE_KEYCODE) { - e.preventDefault(); - searchbar.classList.remove("active"); - setSearchUrlParameters("", - (searchbar.value.trim() !== "") ? "push" : "replace"); - if (hasFocus()) { - unfocusSearchbar(); - } - showSearch(false); - marker.unmark(); - } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) { - e.preventDefault(); - showSearch(true); - window.scrollTo(0, 0); - searchbar.select(); - } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) { - e.preventDefault(); - unfocusSearchbar(); - searchresults.firstElementChild.classList.add("focus"); - } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE - || e.keyCode === UP_KEYCODE - || e.keyCode === SELECT_KEYCODE)) { - // not `:focus` because browser does annoying scrolling - var focused = searchresults.querySelector("li.focus"); - if (!focused) return; - e.preventDefault(); - if (e.keyCode === DOWN_KEYCODE) { - var next = focused.nextElementSibling; - if (next) { - focused.classList.remove("focus"); - next.classList.add("focus"); - } - } else if (e.keyCode === UP_KEYCODE) { - focused.classList.remove("focus"); - var prev = focused.previousElementSibling; - if (prev) { - prev.classList.add("focus"); - } else { - searchbar.select(); - } - } else { // SELECT_KEYCODE - window.location.assign(focused.querySelector('a')); - } - } - } - - function showSearch(yes) { - if (yes) { - search_wrap.classList.remove('hidden'); - searchicon.setAttribute('aria-expanded', 'true'); - } else { - search_wrap.classList.add('hidden'); - searchicon.setAttribute('aria-expanded', 'false'); - var results = searchresults.children; - for (var i = 0; i < results.length; i++) { - results[i].classList.remove("focus"); - } - } - } - - function showResults(yes) { - if (yes) { - searchresults_outer.classList.remove('hidden'); - } else { - searchresults_outer.classList.add('hidden'); - } - } - - // Eventhandler for search icon - function searchIconClickHandler() { - if (search_wrap.classList.contains('hidden')) { - showSearch(true); - window.scrollTo(0, 0); - searchbar.select(); - } else { - showSearch(false); - } - } - - // Eventhandler for keyevents while the searchbar is focused - function searchbarKeyUpHandler() { - var searchterm = searchbar.value.trim(); - if (searchterm != "") { - searchbar.classList.add("active"); - doSearch(searchterm); - } else { - searchbar.classList.remove("active"); - showResults(false); - removeChildren(searchresults); - } - - setSearchUrlParameters(searchterm, "push_if_new_search_else_replace"); - - // Remove marks - marker.unmark(); - } - - // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor . - // `action` can be one of "push", "replace", "push_if_new_search_else_replace" - // and replaces or pushes a new browser history item. - // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet. - function setSearchUrlParameters(searchterm, action) { - var url = parseURL(window.location.href); - var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM); - if (searchterm != "" || action == "push_if_new_search_else_replace") { - url.params[URL_SEARCH_PARAM] = searchterm; - delete url.params[URL_MARK_PARAM]; - url.hash = ""; - } else { - delete url.params[URL_SEARCH_PARAM]; - } - // A new search will also add a new history item, so the user can go back - // to the page prior to searching. A updated search term will only replace - // the url. - if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) { - history.pushState({}, document.title, renderURL(url)); - } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) { - history.replaceState({}, document.title, renderURL(url)); - } - } - - function doSearch(searchterm) { - - // Don't search the same twice - if (current_searchterm == searchterm) { return; } - else { current_searchterm = searchterm; } - - if (searchindex == null) { return; } - - // Do the actual search - var results = searchindex.search(searchterm, search_options); - var resultcount = Math.min(results.length, results_options.limit_results); - - // Display search metrics - searchresults_header.innerText = formatSearchMetric(resultcount, searchterm); - - // Clear and insert results - var searchterms = searchterm.split(' '); - removeChildren(searchresults); - for(var i = 0; i < resultcount ; i++){ - var resultElem = document.createElement('li'); - resultElem.innerHTML = formatSearchResult(results[i], searchterms); - searchresults.appendChild(resultElem); - } - - // Display results - showResults(true); - } - - fetch(path_to_root + 'searchindex.json') - .then(response => response.json()) - .then(json => init(json)) - .catch(error => { // Try to load searchindex.js if fetch failed - var script = document.createElement('script'); - script.src = path_to_root + 'searchindex.js'; - script.onload = () => init(window.search); - document.head.appendChild(script); - }); - - // Exported functions - search.hasFocus = hasFocus; -})(window.search); diff --git a/book/searchindex.js b/book/searchindex.js deleted file mode 100644 index e681a0c..0000000 --- a/book/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Object.assign(window.search, {"doc_urls":["introduction.html#futures-explained-in-200-lines-of-rust","introduction.html#what-this-book-covers","introduction.html#reader-exercises-and-further-reading","introduction.html#credits-and-thanks","introduction.html#translations","0_background_information.html#some-background-information","0_background_information.html#threads-provided-by-the-operating-system","0_background_information.html#green-threads","0_background_information.html#callback-based-approaches","0_background_information.html#from-callbacks-to-promises","1_futures_in_rust.html#futures-in-rust","1_futures_in_rust.html#futures","1_futures_in_rust.html#leaf-futures","1_futures_in_rust.html#non-leaf-futures","1_futures_in_rust.html#runtimes","1_futures_in_rust.html#what-rusts-standard-library-takes-care-of","1_futures_in_rust.html#io-vs-cpu-intensive-tasks","1_futures_in_rust.html#bonus-section","2_waker_context.html#waker-and-context","2_waker_context.html#the-waker","2_waker_context.html#the-context-type","2_waker_context.html#understanding-the-waker","2_waker_context.html#fat-pointers-in-rust","2_waker_context.html#bonus-section","3_generators_async_await.html#generators-and-asyncawait","3_generators_async_await.html#why-learn-about-generators","3_generators_async_await.html#combinators","3_generators_async_await.html#stackless-coroutinesgenerators","3_generators_async_await.html#how-generators-work","3_generators_async_await.html#async-and-generators","3_generators_async_await.html#bonus-section---self-referential-generators-in-rust-today","4_pin.html#pin","4_pin.html#definitions","4_pin.html#pinning-and-self-referential-structs","4_pin.html#pinning-to-the-stack","4_pin.html#pinning-to-the-heap","4_pin.html#practical-rules-for-pinning","4_pin.html#projectionstructural-pinning","4_pin.html#pin-and-drop","4_pin.html#putting-it-all-together","4_pin.html#bonus-section-fixing-our-self-referential-generator-and-learning-more-about-pin","6_future_example.html#implementing-futures---main-example","6_future_example.html#implementing-our-own-futures","6_future_example.html#the-executor","6_future_example.html#the-future-implementation","6_future_example.html#why-using-thread-parkunpark-is-a-bad-idea-for-a-library","6_future_example.html#the-reactor","6_future_example.html#asyncawait-and-concurrecy","6_future_example.html#bonus-section---a-proper-way-to-park-our-thread","8_finished_example.html#our-finished-code","conclusion.html#conclusion-and-exercises","conclusion.html#reader-exercises","conclusion.html#avoid-wrapping-the-whole-reactor-in-a-mutex-and-pass-it-around","conclusion.html#building-a-better-exectuor","conclusion.html#further-reading"],"index":{"documentStore":{"docInfo":{"0":{"body":36,"breadcrumbs":5,"title":5},"1":{"body":117,"breadcrumbs":2,"title":2},"10":{"body":30,"breadcrumbs":2,"title":2},"11":{"body":104,"breadcrumbs":1,"title":1},"12":{"body":62,"breadcrumbs":2,"title":2},"13":{"body":93,"breadcrumbs":3,"title":3},"14":{"body":127,"breadcrumbs":1,"title":1},"15":{"body":42,"breadcrumbs":5,"title":5},"16":{"body":219,"breadcrumbs":5,"title":5},"17":{"body":67,"breadcrumbs":2,"title":2},"18":{"body":22,"breadcrumbs":2,"title":2},"19":{"body":69,"breadcrumbs":1,"title":1},"2":{"body":41,"breadcrumbs":4,"title":4},"20":{"body":24,"breadcrumbs":2,"title":2},"21":{"body":46,"breadcrumbs":2,"title":2},"22":{"body":386,"breadcrumbs":3,"title":3},"23":{"body":45,"breadcrumbs":2,"title":2},"24":{"body":35,"breadcrumbs":2,"title":2},"25":{"body":89,"breadcrumbs":2,"title":2},"26":{"body":92,"breadcrumbs":1,"title":1},"27":{"body":103,"breadcrumbs":2,"title":2},"28":{"body":899,"breadcrumbs":2,"title":2},"29":{"body":110,"breadcrumbs":2,"title":2},"3":{"body":40,"breadcrumbs":2,"title":2},"30":{"body":87,"breadcrumbs":7,"title":7},"31":{"body":50,"breadcrumbs":1,"title":1},"32":{"body":124,"breadcrumbs":1,"title":1},"33":{"body":423,"breadcrumbs":4,"title":4},"34":{"body":430,"breadcrumbs":2,"title":2},"35":{"body":128,"breadcrumbs":2,"title":2},"36":{"body":169,"breadcrumbs":3,"title":3},"37":{"body":20,"breadcrumbs":2,"title":2},"38":{"body":23,"breadcrumbs":2,"title":2},"39":{"body":9,"breadcrumbs":2,"title":2},"4":{"body":4,"breadcrumbs":1,"title":1},"40":{"body":316,"breadcrumbs":9,"title":9},"41":{"body":73,"breadcrumbs":4,"title":4},"42":{"body":28,"breadcrumbs":2,"title":2},"43":{"body":296,"breadcrumbs":1,"title":1},"44":{"body":473,"breadcrumbs":2,"title":2},"45":{"body":25,"breadcrumbs":6,"title":6},"46":{"body":976,"breadcrumbs":1,"title":1},"47":{"body":199,"breadcrumbs":2,"title":2},"48":{"body":240,"breadcrumbs":6,"title":6},"49":{"body":380,"breadcrumbs":2,"title":2},"5":{"body":49,"breadcrumbs":2,"title":2},"50":{"body":38,"breadcrumbs":2,"title":2},"51":{"body":21,"breadcrumbs":2,"title":2},"52":{"body":52,"breadcrumbs":7,"title":7},"53":{"body":29,"breadcrumbs":3,"title":3},"54":{"body":44,"breadcrumbs":2,"title":2},"6":{"body":235,"breadcrumbs":4,"title":4},"7":{"body":617,"breadcrumbs":2,"title":2},"8":{"body":288,"breadcrumbs":3,"title":3},"9":{"body":231,"breadcrumbs":2,"title":2}},"docs":{"0":{"body":"This book aims to explain Futures in Rust using an example driven approach, exploring why they're designed the way they are, and how they work. We'll also take a look at some of the alternatives we have when dealing with concurrency in programming. Going into the level of detail I do in this book is not needed to use futures or async/await in Rust. It's for the curious out there that want to know how it all works.","breadcrumbs":"Futures Explained in 200 Lines of Rust","id":"0","title":"Futures Explained in 200 Lines of Rust"},"1":{"body":"This book will try to explain everything you might wonder about up until the topic of different types of executors and runtimes. We'll just implement a very simple runtime in this book introducing some concepts but it's enough to get started. Stjepan Glavina has made an excellent series of articles about async runtimes and executors, and if the rumors are right there is more to come from him in the near future. The way you should go about it is to read this book first, then continue reading the articles from stejpang to learn more about runtimes and how they work, especially: Build your own block_on() Build your own executor I've limited myself to a 200 line main example (hence the title) to limit the scope and introduce an example that can easily be explored further. However, there is a lot to digest and it's not what I would call easy, but we'll take everything step by step so get a cup of tea and relax. I hope you enjoy the ride. This book is developed in the open, and contributions are welcome. You'll find the repository for the book itself here . The final example which you can clone, fork or copy can be found here . Any suggestions or improvements can be filed as a PR or in the issue tracker for the book. As always, all kinds of feedback is welcome.","breadcrumbs":"What this book covers","id":"1","title":"What this book covers"},"10":{"body":"Overview: Get a high level introduction to concurrency in Rust Know what Rust provides and not when working with async code Get to know why we need a runtime-library in Rust Understand the difference between \"leaf-future\" and a \"non-leaf-future\" Get insight on how to handle CPU intensive tasks","breadcrumbs":"Futures in Rust","id":"10","title":"Futures in Rust"},"11":{"body":"So what is a future? A future is a representation of some operation which will complete in the future. Async in Rust uses a Poll based approach, in which an asynchronous task will have three phases. The Poll phase. A Future is polled which result in the task progressing until a point where it can no longer make progress. We often refer to the part of the runtime which polls a Future as an executor. The Wait phase. An event source, most often referred to as a reactor, registers that a Future is waiting for an event to happen and makes sure that it will wake the Future when that event is ready. The Wake phase. The event happens and the Future is woken up. It's now up to the executor which polled the Future in step 1 to schedule the future to be polled again and make further progress until it completes or reaches a new point where it can't make further progress and the cycle repeats. Now, when we talk about futures I find it useful to make a distinction between non-leaf futures and leaf futures early on because in practice they're pretty different from one another.","breadcrumbs":"Futures","id":"11","title":"Futures"},"12":{"body":"Runtimes create leaf futures which represents a resource like a socket. // stream is a **leaf-future**\nlet mut stream = tokio::net::TcpStream::connect(\"127.0.0.1:3000\"); Operations on these resources, like a Read on a socket, will be non-blocking and return a future which we call a leaf future since it's the future which we're actually waiting on. It's unlikely that you'll implement a leaf future yourself unless you're writing a runtime, but we'll go through how they're constructed in this book as well. It's also unlikely that you'll pass a leaf-future to a runtime and run it to completion alone as you'll understand by reading the next paragraph.","breadcrumbs":"Leaf futures","id":"12","title":"Leaf futures"},"13":{"body":"Non-leaf-futures is the kind of futures we as users of a runtime write ourselves using the async keyword to create a task which can be run on the executor. The bulk of an async program will consist of non-leaf-futures, which are a kind of pause-able computation. This is an important distinction since these futures represents a set of operations . Often, such a task will await a leaf future as one of many operations to complete the task. // Non-leaf-future\nlet non_leaf = async { let mut stream = TcpStream::connect(\"127.0.0.1:3000\").await.unwrap();// <- yield println!(\"connected!\"); let result = stream.write(b\"hello world\\n\").await; // <- yield println!(\"message sent!\"); ...\n}; The key to these tasks is that they're able to yield control to the runtime's scheduler and then resume execution again where it left off at a later point. In contrast to leaf futures, these kind of futures does not themselves represent an I/O resource. When we poll these futures we either run some code or we yield to the scheduler while waiting for some resource to signal us that it's ready so we can resume where we left off.","breadcrumbs":"Non-leaf-futures","id":"13","title":"Non-leaf-futures"},"14":{"body":"Languages like C#, JavaScript, Java, GO and many others comes with a runtime for handling concurrency. So if you come from one of those languages this will seem a bit strange to you. Rust is different from these languages in the sense that Rust doesn't come with a runtime for handling concurrency, so you need to use a library which provide this for you. Quite a bit of complexity attributed to Futures is actually complexity rooted in runtimes. Creating an efficient runtime is hard. Learning how to use one correctly requires quite a bit of effort as well, but you'll see that there are several similarities between these kind of runtimes so learning one makes learning the next much easier. The difference between Rust and other languages is that you have to make an active choice when it comes to picking a runtime. Most often, in other languages you'll just use the one provided for you. An async runtime can be divided into two parts: The Executor The Reactor When Rusts Futures were designed there was a desire to separate the job of notifying a Future that it can do more work, and actually doing the work on the Future. You can think of the former as the reactor's job, and the latter as the executors job. These two parts of a runtime interact with each other using the Waker type. The two most popular runtimes for Futures as of writing this is: async-std Tokio","breadcrumbs":"Runtimes","id":"14","title":"Runtimes"},"15":{"body":"A common interface representing an operation which will be completed in the future through the Future trait. An ergonomic way of creating tasks which can be suspended and resumed through the async and await keywords. A defined interface wake up a suspended task through the Waker type. That's really what Rusts standard library does. As you see there is no definition of non-blocking I/O, how these tasks are created or how they're run.","breadcrumbs":"What Rust's standard library takes care of","id":"15","title":"What Rust's standard library takes care of"},"16":{"body":"As you know now, what you normally write are called non-leaf futures. Let's take a look at this async block using pseudo-rust as example: let non_leaf = async { let mut stream = TcpStream::connect(\"127.0.0.1:3000\").await.unwrap(); // <-- yield // request a large dataset let result = stream.write(get_dataset_request).await.unwrap(); // <-- yield // wait for the dataset let mut response = vec![]; stream.read(&mut response).await.unwrap(); // <-- yield // do some CPU-intensive analysis on the dataset let report = analyzer::analyze_data(response).unwrap(); // send the results back stream.write(report).await.unwrap(); // <-- yield\n}; Now, as you'll see when we go through how Futures work, the code we write between the yield points are run on the same thread as our executor. That means that while our analyzer is working on the dataset, the executor is busy doing calculations instead of handling new requests. Fortunately there are a few ways to handle this, and it's not difficult, but it's something you must be aware of: We could create a new leaf future which sends our task to another thread and resolves when the task is finished. We could await this leaf-future like any other future. The runtime could have some kind of supervisor that monitors how much time different tasks take, and move the executor itself to a different thread so it can continue to run even though our analyzer task is blocking the original executor thread. You can create a reactor yourself which is compatible with the runtime which does the analysis any way you see fit, and returns a Future which can be awaited. Now, #1 is the usual way of handling this, but some executors implement #2 as well. The problem with #2 is that if you switch runtime you need to make sure that it supports this kind of supervision as well or else you will end up blocking the executor. #3 is more of theoretical importance, normally you'd be happy by sending the task to the thread-pool most runtimes provide. Most executors have a way to accomplish #1 using methods like spawn_blocking. These methods send the task to a thread-pool created by the runtime where you can either perform CPU-intensive tasks or \"blocking\" tasks which is not supported by the runtime. Now, armed with this knowledge you are already on a good way for understanding Futures, but we're not gonna stop yet, there is lots of details to cover. Take a break or a cup of coffe and get ready as we go for a deep dive in the next chapters.","breadcrumbs":"I/O vs CPU intensive tasks","id":"16","title":"I/O vs CPU intensive tasks"},"17":{"body":"If you find the concepts of concurrency and async programming confusing in general, I know where you're coming from and I have written some resources to try to give a high level overview that will make it easier to learn Rusts Futures afterwards: Async Basics - The difference between concurrency and parallelism Async Basics - Async history Async Basics - Strategies for handling I/O Async Basics - Epoll, Kqueue and IOCP Learning these concepts by studying futures is making it much harder than it needs to be, so go on and read these chapters if you feel a bit unsure. I'll be right here when you're back. However, if you feel that you have the basics covered, then let's get moving!","breadcrumbs":"Bonus section","id":"17","title":"Bonus section"},"18":{"body":"Overview: Understand how the Waker object is constructed Learn how the runtime know when a leaf-future can resume Learn the basics of dynamic dispatch and trait objects The Waker type is described as part of RFC#2592 .","breadcrumbs":"Waker and Context","id":"18","title":"Waker and Context"},"19":{"body":"The Waker type allows for a loose coupling between the reactor-part and the executor-part of a runtime. By having a wake up mechanism that is not tied to the thing that executes the future, runtime-implementors can come up with interesting new wake-up mechanisms. An example of this can be spawning a thread to do some work that eventually notifies the future, completely independent of the current runtime. Without a waker, the executor would be the only way to notify a running task, whereas with the waker, we get a loose coupling where it's easy to extend the ecosystem with new leaf-level tasks. If you want to read more about the reasoning behind the Waker type I can recommend Withoutboats articles series about them .","breadcrumbs":"The Waker","id":"19","title":"The Waker"},"2":{"body":"In the last chapter I've taken the liberty to suggest some small exercises if you want to explore a little further. This book is also the fourth book I have written about concurrent programming in Rust. If you like it, you might want to check out the others as well: Green Threads Explained in 200 lines of rust The Node Experiment - Exploring Async Basics with Rust Epoll, Kqueue and IOCP Explained with Rust","breadcrumbs":"Reader exercises and further reading","id":"2","title":"Reader exercises and further reading"},"20":{"body":"As the docs state as of now this type only wrapps a Waker, but it gives some flexibility for future evolutions of the API in Rust. The context can for example hold task-local storage and provide space for debugging hooks in later iterations.","breadcrumbs":"The Context type","id":"20","title":"The Context type"},"21":{"body":"One of the most confusing things we encounter when implementing our own Futures is how we implement a Waker . Creating a Waker involves creating a vtable which allows us to use dynamic dispatch to call methods on a type erased trait object we construct our selves. If you want to know more about dynamic dispatch in Rust I can recommend an article written by Adam Schwalm called Exploring Dynamic Dispatch in Rust . Let's explain this a bit more in detail.","breadcrumbs":"Understanding the Waker","id":"21","title":"Understanding the Waker"},"22":{"body":"To get a better understanding of how we implement the Waker in Rust, we need to take a step back and talk about some fundamentals. Let's start by taking a look at the size of some different pointer types in Rust. Run the following code (You'll have to press \"play\" to see the output) : # use std::mem::size_of;\ntrait SomeTrait { } fn main() { println!(\"======== The size of different pointers in Rust: ========\"); println!(\"&dyn Trait:-----{}\", size_of::<&dyn SomeTrait>()); println!(\"&[&dyn Trait]:--{}\", size_of::<&[&dyn SomeTrait]>()); println!(\"Box:-----{}\", size_of::>()); println!(\"&i32:-----------{}\", size_of::<&i32>()); println!(\"&[i32]:---------{}\", size_of::<&[i32]>()); println!(\"Box:-------{}\", size_of::>()); println!(\"&Box:------{}\", size_of::<&Box>()); println!(\"[&dyn Trait;4]:-{}\", size_of::<[&dyn SomeTrait; 4]>()); println!(\"[i32;4]:--------{}\", size_of::<[i32; 4]>());\n} As you see from the output after running this, the sizes of the references varies. Many are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 bytes. The 16 byte sized pointers are called \"fat pointers\" since they carry extra information. Example &[i32] : The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to) The second 8 bytes is the length of the slice. Example &dyn SomeTrait: This is the type of fat pointer we'll concern ourselves about going forward. &dyn SomeTrait is a reference to a trait, or what Rust calls a trait object . The layout for a pointer to a trait object looks like this: The first 8 bytes points to the data for the trait object The second 8 bytes points to the vtable for the trait object The reason for this is to allow us to refer to an object we know nothing about except that it implements the methods defined by our trait. To accomplish this we use dynamic dispatch . Let's explain this in code instead of words by implementing our own trait object from these parts: // A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)\ntrait Test { fn add(&self) -> i32; fn sub(&self) -> i32; fn mul(&self) -> i32;\n} // This will represent our home brewn fat pointer to a trait object\n#[repr(C)]\nstruct FatPointer<'a> { /// A reference is a pointer to an instantiated `Data` instance data: &'a mut Data, /// Since we need to pass in literal values like length and alignment it's /// easiest for us to convert pointers to usize-integers instead of the other way around. vtable: *const usize,\n} // This is the data in our trait object. It's just two numbers we want to operate on.\nstruct Data { a: i32, b: i32,\n} // ====== function definitions ======\nfn add(s: &Data) -> i32 { s.a + s.b\n}\nfn sub(s: &Data) -> i32 { s.a - s.b\n}\nfn mul(s: &Data) -> i32 { s.a * s.b\n} fn main() { let mut data = Data {a: 3, b: 2}; // vtable is like special purpose array of pointer-length types with a fixed // format where the three first values has a special meaning like the // length of the array is encoded in the array itself as the second value. let vtable = vec![ 0, // pointer to `Drop` (which we're not implementing here) 6, // length of vtable 8, // alignment // we need to make sure we add these in the same order as defined in the Trait. add as usize, // function pointer - try changing the order of `add` sub as usize, // function pointer - and `sub` to see what happens mul as usize, // function pointer ]; let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()}; let test = unsafe { std::mem::transmute::(fat_pointer) }; // And voalá, it's now a trait object we can call methods on println!(\"Add: 3 + 2 = {}\", test.add()); println!(\"Sub: 3 - 2 = {}\", test.sub()); println!(\"Mul: 3 * 2 = {}\", test.mul());\n} Later on, when we implement our own Waker we'll actually set up a vtable like we do here. The way we create it is slightly different, but now that you know how regular trait objects work you will probably recognize what we're doing which makes it much less mysterious.","breadcrumbs":"Fat pointers in Rust","id":"22","title":"Fat pointers in Rust"},"23":{"body":"You might wonder why the Waker was implemented like this and not just as a normal trait? The reason is flexibility. Implementing the Waker the way we do here gives a lot of flexibility of choosing what memory management scheme to use. The \"normal\" way is by using an Arc to use reference count keep track of when a Waker object can be dropped. However, this is not the only way, you could also use purely global functions and state, or any other way you wish. This leaves a lot of options on the table for runtime implementors.","breadcrumbs":"Bonus section","id":"23","title":"Bonus section"},"24":{"body":"Overview: Understand how the async/await syntax works under the hood See first hand why we need Pin Understand what makes Rusts async model very memory efficient The motivation for Generators can be found in RFC#2033 . It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators).","breadcrumbs":"Generators and async/await","id":"24","title":"Generators and async/await"},"25":{"body":"Generators/yield and async/await are so similar that once you understand one you should be able to understand the other. It's much easier for me to provide runnable and short examples using Generators instead of Futures which require us to introduce a lot of concepts now that we'll cover later just to show an example. Async/await works like generators but instead of returning a generator it returns a special object implementing the Future trait. A small bonus is that you'll have a pretty good introduction to both Generators and Async/Await by the end of this chapter. Basically, there were three main options discussed when designing how Rust would handle concurrency: Stackful coroutines, better known as green threads. Using combinators. Stackless coroutines, better known as generators. We covered green threads in the background information so we won't repeat that here. We'll concentrate on the variants of stackless coroutines which Rust uses today.","breadcrumbs":"Why learn about generators?","id":"25","title":"Why learn about generators?"},"26":{"body":"Futures 0.1 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this: let future = Connection::connect(conn_str).and_then(|conn| { conn.query(\"somerequest\").map(|row|{ SomeStruct::from(row) }).collect::>()\n}); let rows: Result, SomeLibraryError> = block_on(future); There are mainly three downsides I'll focus on using this technique: The error messages produced could be extremely long and arcane Not optimal memory usage Did not allow to borrow across combinator steps. Point #3, is actually a major drawback with Futures 0.1. Not allowing borrows across suspension points ends up being very un-ergonomic and to accomplish some tasks it requires extra allocations or copying which is inefficient. The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.","breadcrumbs":"Combinators","id":"26","title":"Combinators"},"27":{"body":"This is the model used in Rust today. It has a few notable advantages: It's easy to convert normal Rust code to a stackless coroutine using using async/await as keywords (it can even be done using a macro). No need for context switching and saving/restoring CPU state No need to handle dynamic stack allocation Very memory efficient Allows us to borrow across suspension points The last point is in contrast to Futures 0.1. With async/await we can do this: async fn myfn() { let text = String::from(\"Hello world\"); let borrowed = &text[0..5]; somefuture.await; println!(\"{}\", borrowed);\n} Async in Rust is implemented using Generators. So to understand how async really works we need to understand generators first. Generators in Rust are implemented as state machines. The memory footprint of a chain of computations is defined by the largest footprint that a single step requires . That means that adding steps to a chain of computations might not require any increased memory at all and it's one of the reasons why Futures and Async in Rust has very little overhead.","breadcrumbs":"Stackless coroutines/generators","id":"27","title":"Stackless coroutines/generators"},"28":{"body":"In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure could look like this before we had a concept of Pin: #![feature(generators, generator_trait)]\nuse std::ops::{Generator, GeneratorState}; fn main() { let a: i32 = 4; let mut gen = move || { println!(\"Hello\"); yield a * 2; println!(\"world!\"); }; if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this: fn main() { let mut gen = GeneratorA::start(4); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} // If you've ever wondered why the parameters are called Y and R the naming from\n// the original rfc most likely holds the answer\nenum GeneratorState { Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter(i32), Yield1(i32), Exit,\n} impl GeneratorA { fn start(a1: i32) -> Self { GeneratorA::Enter(a1) }\n} impl Generator for GeneratorA { type Yield = i32; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(self, GeneratorA::Exit) { GeneratorA::Enter(a1) => { /*----code before yield----*/ println!(\"Hello\"); let a = a1 * 2; *self = GeneratorA::Yield1(a); GeneratorState::Yielded(a) } GeneratorA::Yield1(_) => { /*-----code after yield-----*/ println!(\"world!\"); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} The yield keyword was discussed first in RFC#1823 and in RFC#1832 . Now that you know that the yield keyword in reality rewrites your code to become a state machine, you'll also know the basics of how await works. It's very similar. Now, there are some limitations in our naive state machine above. What happens when you have a borrow across a yield point? We could forbid that, but one of the major design goals for the async/await syntax has been to allow this . These kinds of borrows were not possible using Futures 0.1 so we can't let this limitation just slip and call it a day yet. Instead of discussing it in theory, let's look at some code. We'll use the optimized version of the state machines which is used in Rust today. For a more in depth explanation see Tyler Mandry's excellent article: How Rust optimizes async/await let mut generator = move || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; We'll be hand-coding some versions of a state-machines representing a state machine for the generator defined above. We step through each step \"manually\" in every example, so it looks pretty unfamiliar. We could add some syntactic sugar like implementing the Iterator trait for our generators which would let us do this: while let Some(val) = generator.next() { println!(\"{}\", val);\n} It's a pretty trivial change to make, but this chapter is already getting long. Just keep this in the back of your head as we move forward. Now what does our rewritten state machine look like with this example? # enum GeneratorState {\n# Yielded(Y),\n# Complete(R),\n# }\n#\n# trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# } enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: &String, // uh, what lifetime should this have? }, Exit,\n} # impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(self, GeneratorA::Exit) { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; // <--- NB! let res = borrowed.len(); *self = GeneratorA::Yield1 {to_borrow, borrowed}; GeneratorState::Yielded(res) } GeneratorA::Yield1 {to_borrow, borrowed} => { println!(\"Hello {}\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} If you try to compile this you'll get an error (just try it yourself by pressing play). What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that to make this work, we'll have to let the compiler know that we control this correctly ourselves. That means turning to unsafe. Let's try to write an implementation that will compiler using unsafe. As you'll see we end up in a self referential struct . A struct which holds references into itself. As you'll notice, this compiles just fine! enum GeneratorState { Yielded(Y), Complete(R),\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, // NB! This is now a raw pointer! }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n}\nimpl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { match self { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; // NB! And we set the pointer to reference the to_borrow string here if let GeneratorA::Yield1 {to_borrow, borrowed} = self { *borrowed = to_borrow; } GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Remember that our example is the generator we crated which looked like this: let mut gen = move || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; Below is an example of how we could run this state-machine and as you see it does what we'd expect. But there is still one huge problem with this: pub fn main() { let mut gen = GeneratorA::start(); let mut gen2 = GeneratorA::start(); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Yielded(n) = gen2.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n}\n# enum GeneratorState {\n# Yielded(Y),\n# Complete(R),\n# }\n#\n# trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# }\n#\n# enum GeneratorA {\n# Enter,\n# Yield1 {\n# to_borrow: String,\n# borrowed: *const String,\n# },\n# Exit,\n# }\n#\n# impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# }\n# impl Generator for GeneratorA {\n# type Yield = usize;\n# type Return = ();\n# fn resume(&mut self) -> GeneratorState {\n# match self {\n# GeneratorA::Enter => {\n# let to_borrow = String::from(\"Hello\");\n# let borrowed = &to_borrow;\n# let res = borrowed.len();\n# *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};\n#\n# // We set the self-reference here\n# if let GeneratorA::Yield1 {to_borrow, borrowed} = self {\n# *borrowed = to_borrow;\n# }\n#\n# GeneratorState::Yielded(res)\n# }\n#\n# GeneratorA::Yield1 {borrowed, ..} => {\n# let borrowed: &String = unsafe {&**borrowed};\n# println!(\"{} world\", borrowed);\n# *self = GeneratorA::Exit;\n# GeneratorState::Complete(())\n# }\n# GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"),\n# }\n# }\n# } The problem is that in safe Rust we can still do this: Run the code and compare the results. Do you see the problem? # #![feature(never_type)] // Force nightly compiler to be used in playground\n# // by betting on it's true that this type is named after it's stabilization date...\npub fn main() { let mut gen = GeneratorA::start(); let mut gen2 = GeneratorA::start(); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } std::mem::swap(&mut gen, &mut gen2); // <--- Big problem! if let GeneratorState::Yielded(n) = gen2.resume() { println!(\"Got value {}\", n); } // This would now start gen2 since we swapped them. if let GeneratorState::Complete(()) = gen.resume() { () };\n}\n# enum GeneratorState {\n# Yielded(Y),\n# Complete(R),\n# }\n#\n# trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# }\n#\n# enum GeneratorA {\n# Enter,\n# Yield1 {\n# to_borrow: String,\n# borrowed: *const String,\n# },\n# Exit,\n# }\n#\n# impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# }\n# impl Generator for GeneratorA {\n# type Yield = usize;\n# type Return = ();\n# fn resume(&mut self) -> GeneratorState {\n# match self {\n# GeneratorA::Enter => {\n# let to_borrow = String::from(\"Hello\");\n# let borrowed = &to_borrow;\n# let res = borrowed.len();\n# *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};\n#\n# // We set the self-reference here\n# if let GeneratorA::Yield1 {to_borrow, borrowed} = self {\n# *borrowed = to_borrow;\n# }\n#\n# GeneratorState::Yielded(res)\n# }\n#\n# GeneratorA::Yield1 {borrowed, ..} => {\n# let borrowed: &String = unsafe {&**borrowed};\n# println!(\"{} world\", borrowed);\n# *self = GeneratorA::Exit;\n# GeneratorState::Complete(())\n# }\n# GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"),\n# }\n# }\n# } Wait? What happened to \"Hello\"? And why did our code segfault? Turns out that while the example above compiles just fine, we expose consumers of this this API to both possible undefined behavior and other memory errors while using just safe Rust. This is a big problem! I've actually forced the code above to use the nightly version of the compiler. If you run the example above on the playground , you'll see that it runs without panicking on the current stable (1.42.0) but panics on the current nightly (1.44.0). Scary! We'll explain exactly what happened here using a slightly simpler example in the next chapter and we'll fix our generator using Pin so don't worry, you'll see exactly what goes wrong and see how Pin can help us deal with self-referential types safely in a second. Before we go and explain the problem in detail, let's finish off this chapter by looking at how generators and the async keyword is related.","breadcrumbs":"How generators work","id":"28","title":"How generators work"},"29":{"body":"Futures in Rust are implemented as state machines much the same way Generators are state machines. You might have noticed the similarities in the syntax used in async blocks and the syntax used in generators: let mut gen = move || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; Compare that with a similar example using async blocks: let mut fut = async { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; SomeResource::some_task().await; println!(\"{} world!\", borrowed); }; The difference is that Futures has different states than what a Generator would have. An async block will return a Future instead of a Generator, however, the way a Future works and the way a Generator work internally is similar. Instead of calling Generator::resume we call Future::poll, and instead of returning Yielded or Complete it returns Pending or Ready. Each await point in a future is like a yield point in a generator. Do you see how they're connected now? Thats why knowing how generators work and the challenges they pose also teaches you how futures work and the challenges we need to tackle when working with them. The same goes for the challenges of borrowing across yield/await points.","breadcrumbs":"Async and generators","id":"29","title":"Async and generators"},"3":{"body":"I'd like to take this chance to thank the people behind mio, tokio, async_std, futures, libc, crossbeam which underpins so much of the async ecosystem and and rarely gets enough praise in my eyes. A special thanks to jonhoo who was kind enough to give me some valuable feedback on a very early draft of this book. He has not read the finished product, but a big thanks is definitely due.","breadcrumbs":"Credits and thanks","id":"3","title":"Credits and thanks"},"30":{"body":"Thanks to PR#45337 you can actually run code like the one in our example in Rust today using the static keyword on nightly. Try it for yourself: Beware that the API is changing rapidly. As I was writing this book, generators had an API change adding support for a \"resume\" argument to get passed into the generator closure. Follow the progress on the tracking issue #4312 for RFC#033 . #![feature(generators, generator_trait)]\nuse std::ops::{Generator, GeneratorState}; pub fn main() { let gen1 = static || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; let gen2 = static || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; let mut pinned1 = Box::pin(gen1); let mut pinned2 = Box::pin(gen2); if let GeneratorState::Yielded(n) = pinned1.as_mut().resume(()) { println!(\"Gen1 got value {}\", n); } if let GeneratorState::Yielded(n) = pinned2.as_mut().resume(()) { println!(\"Gen2 got value {}\", n); }; let _ = pinned1.as_mut().resume(()); let _ = pinned2.as_mut().resume(());\n}","breadcrumbs":"Bonus section - self referential generators in Rust today","id":"30","title":"Bonus section - self referential generators in Rust today"},"31":{"body":"Overview Learn how to use Pin and why it's required when implementing your own Future Understand how to make self-referential types safe to use in Rust Learn how borrowing across await points is accomplished Get a set of practical rules to help you work with Pin Pin was suggested in RFC#2349 Let's jump strait to it. Pinning is one of those subjects which is hard to wrap your head around in the start, but once you unlock a mental model for it it gets significantly easier to reason about.","breadcrumbs":"Pin","id":"31","title":"Pin"},"32":{"body":"Pin wraps a pointer. A reference to an object is a pointer. Pin gives some guarantees about the pointee (the data it points to) which we'll explore further in this chapter. Pin consists of the Pin type and the Unpin marker. Pin's purpose in life is to govern the rules that need to apply for types which implement !Unpin. Yep, you're right, that's double negation right there. !Unpin means \"not-un-pin\". This naming scheme is one of Rusts safety features where it deliberately tests if you're too tired to safely implement a type with this marker. If you're starting to get confused, or even angry, by !Unpin it's a good sign that it's time to lay down the work and start over tomorrow with a fresh mind. On a more serious note, I feel obliged to mention that there are valid reasons for the names that were chosen. Naming is not easy, and I considered renaming Unpin and !Unpin in this book to make them easier to reason about. However, an experienced member of the Rust community convinced me that that there is just too many nuances and edge-cases to consider which is easily overlooked when naively giving these markers different names, and I'm convinced that we'll just have to get used to them and use them as is. If you want to you can read a bit of the discussion from the internals thread .","breadcrumbs":"Definitions","id":"32","title":"Definitions"},"33":{"body":"Let's start where we left off in the last chapter by making the problem we saw using a self-references in our generator a lot simpler by making some self-referential structs that are easier to reason about than our state machines: For now our example will look like this: use std::pin::Pin; #[derive(Debug)]\nstruct Test { a: String, b: *const String,\n} impl Test { fn new(txt: &str) -> Self { Test { a: String::from(txt), b: std::ptr::null(), } } fn init(&mut self) { let self_ref: *const String = &self.a; self.b = self_ref; } fn a(&self) -> &str { &self.a } fn b(&self) -> &String { unsafe {&*(self.b)} }\n} Let's walk through this example since we'll be using it the rest of this chapter. We have a self-referential struct Test. Test needs an init method to be created which is strange but we'll need that to keep this example as short as possible. Test provides two methods to get a reference to the value of the fields a and b. Since b is a reference to a we store it as a pointer since the borrowing rules of Rust doesn't allow us to define this lifetime. Now, let's use this example to explain the problem we encounter in detail. As you see, this works as expected: fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); println!(\"a: {}, b: {}\", test2.a(), test2.b()); }\n# use std::pin::Pin;\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# }\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# }\n# }\n#\n# // We need an `init` method to actually set our self-reference\n# fn init(&mut self) {\n# let self_ref: *const String = &self.a;\n# self.b = self_ref;\n# }\n#\n# fn a(&self) -> &str {\n# &self.a\n# }\n#\n# fn b(&self) -> &String {\n# unsafe {&*(self.b)}\n# }\n# } In our main method we first instantiate two instances of Test and print out the value of the fields on test1. We get what we'd expect: a: test1, b: test1\na: test2, b: test2 Let's see what happens if we swap the data stored at the memory location test1 with the data stored at the memory location test2 and vice a versa. fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); std::mem::swap(&mut test1, &mut test2); println!(\"a: {}, b: {}\", test2.a(), test2.b()); }\n# use std::pin::Pin;\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# }\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# }\n# }\n#\n# fn init(&mut self) {\n# let self_ref: *const String = &self.a;\n# self.b = self_ref;\n# }\n#\n# fn a(&self) -> &str {\n# &self.a\n# }\n#\n# fn b(&self) -> &String {\n# unsafe {&*(self.b)}\n# }\n# } Naively, we could think that what we should get a debug print of test1 two times like this a: test1, b: test1\na: test1, b: test1 But instead we get: a: test1, b: test1\na: test1, b: test2 The pointer to test2.b still points to the old location which is inside test1 now. The struct is not self-referential anymore, it holds a pointer to a field in a different object. That means we can't rely on the lifetime of test2.b to be tied to the lifetime of test2 anymore. If your still not convinced, this should at least convince you: fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); std::mem::swap(&mut test1, &mut test2); test1.a = \"I've totally changed now!\".to_string(); println!(\"a: {}, b: {}\", test2.a(), test2.b()); }\n# use std::pin::Pin;\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# }\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# }\n# }\n#\n# fn init(&mut self) {\n# let self_ref: *const String = &self.a;\n# self.b = self_ref;\n# }\n#\n# fn a(&self) -> &str {\n# &self.a\n# }\n#\n# fn b(&self) -> &String {\n# unsafe {&*(self.b)}\n# }\n# } That shouldn't happen. There is no serious error yet, but as you can imagine it's easy to create serious bugs using this code. I created a diagram to help visualize what's going on: Fig 1: Before and after swap swap_problem As you can see this results in unwanted behavior. It's easy to get this to segfault, show UB and fail in other spectacular ways as well.","breadcrumbs":"Pinning and self-referential structs","id":"33","title":"Pinning and self-referential structs"},"34":{"body":"Now, we can solve this problem by using Pin instead. Let's take a look at what our example would look like then: use std::pin::Pin;\nuse std::marker::PhantomPinned; #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Self { let a = String::from(txt); Test { a: String::from(txt), b: std::ptr::null(), _marker: PhantomPinned, // This makes our type `!Unpin` } } fn init<'a>(self: Pin<&'a mut Self>) { let self_ptr: *const String = &self.a; let this = unsafe { self.get_unchecked_mut() }; this.b = self_ptr; } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} Now, what we've done here is pinning an object to the stack. That will always be unsafe if our type implements !Unpin. We use the same tricks here, including requiring an init. If we want to fix that and let users avoid unsafe we need to pin our data on the heap instead which we'll show in a second. Let's see what happens if we run our example now: pub fn main() { // test1 is safe to move before we initialize it let mut test1 = Test::new(\"test1\"); // Notice how we shadow `test1` to prevent it from being accessed again let mut test1 = unsafe { Pin::new_unchecked(&mut test1) }; Test::init(test1.as_mut()); let mut test2 = Test::new(\"test2\"); let mut test2 = unsafe { Pin::new_unchecked(&mut test2) }; Test::init(test2.as_mut()); println!(\"a: {}, b: {}\", Test::a(test1.as_ref()), Test::b(test1.as_ref())); println!(\"a: {}, b: {}\", Test::a(test2.as_ref()), Test::b(test2.as_ref()));\n}\n# use std::pin::Pin;\n# use std::marker::PhantomPinned;\n#\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# _marker: PhantomPinned,\n# }\n#\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# // This makes our type `!Unpin`\n# _marker: PhantomPinned,\n# }\n# }\n# fn init<'a>(self: Pin<&'a mut Self>) {\n# let self_ptr: *const String = &self.a;\n# let this = unsafe { self.get_unchecked_mut() };\n# this.b = self_ptr;\n# }\n#\n# fn a<'a>(self: Pin<&'a Self>) -> &'a str {\n# &self.get_ref().a\n# }\n#\n# fn b<'a>(self: Pin<&'a Self>) -> &'a String {\n# unsafe { &*(self.b) }\n# }\n# } Now, if we try to pull the same trick which got us in to trouble the last time you'll get a compilation error. pub fn main() { let mut test1 = Test::new(\"test1\"); let mut test1 = unsafe { Pin::new_unchecked(&mut test1) }; Test::init(test1.as_mut()); let mut test2 = Test::new(\"test2\"); let mut test2 = unsafe { Pin::new_unchecked(&mut test2) }; Test::init(test2.as_mut()); println!(\"a: {}, b: {}\", Test::a(test1.as_ref()), Test::b(test1.as_ref())); std::mem::swap(test1.get_mut(), test2.get_mut()); println!(\"a: {}, b: {}\", Test::a(test2.as_ref()), Test::b(test2.as_ref()));\n}\n# use std::pin::Pin;\n# use std::marker::PhantomPinned;\n#\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# _marker: PhantomPinned,\n# }\n#\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# Test {\n# a: let a = String::from(txt),\n# b: std::ptr::null(),\n# _marker: PhantomPinned, // This makes our type `!Unpin`\n# }\n# }\n# fn init<'a>(self: Pin<&'a mut Self>) {\n# let self_ptr: *const String = &self.a;\n# let this = unsafe { self.get_unchecked_mut() };\n# this.b = self_ptr;\n# }\n#\n# fn a<'a>(self: Pin<&'a Self>) -> &'a str {\n# &self.get_ref().a\n# }\n#\n# fn b<'a>(self: Pin<&'a Self>) -> &'a String {\n# unsafe { &*(self.b) }\n# }\n# } As you see from the error you get by running the code the type system prevents us from swapping the pinned pointers. It's important to note that stack pinning will always depend on the current stack frame we're in, so we can't create a self referential object in one stack frame and return it since any pointers we take to \"self\" is invalidated. It also puts a lot of responsibility in your hands if you pin an object to the stack. A mistake that is easy to make is, forgetting to shadow the original variable since you could drop the Pin and access the old value after it's initialized like this: fn main() { let mut test1 = Test::new(\"test1\"); let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; Test::init(test1_pin.as_mut()); drop(test1_pin); let mut test2 = Test::new(\"test2\"); mem::swap(&mut test1, &mut test2); println!(\"Not self referential anymore: {:?}\", test1.b);\n}\n# use std::pin::Pin;\n# use std::marker::PhantomPinned;\n# use std::mem;\n#\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# _marker: PhantomPinned,\n# }\n#\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# Test {\n# a: String::from(txt),\n# b: std::ptr::null(),\n# _marker: PhantomPinned, // This makes our type `!Unpin`\n# }\n# }\n# fn init<'a>(self: Pin<&'a mut Self>) {\n# let self_ptr: *const String = &self.a;\n# let this = unsafe { self.get_unchecked_mut() };\n# this.b = self_ptr;\n# }\n#\n# fn a<'a>(self: Pin<&'a Self>) -> &'a str {\n# &self.get_ref().a\n# }\n#\n# fn b<'a>(self: Pin<&'a Self>) -> &'a String {\n# unsafe { &*(self.b) }\n# }\n# }","breadcrumbs":"Pinning to the stack","id":"34","title":"Pinning to the stack"},"35":{"body":"For completeness let's remove some unsafe and the need for an init method at the cost of a heap allocation. Pinning to the heap is safe so the user doesn't need to implement any unsafe code: use std::pin::Pin;\nuse std::marker::PhantomPinned; #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Pin> { let t = Test { a: String::from(txt), b: std::ptr::null(), _marker: PhantomPinned, }; let mut boxed = Box::pin(t); let self_ptr: *const String = &boxed.as_ref().a; unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr }; boxed } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} pub fn main() { let mut test1 = Test::new(\"test1\"); let mut test2 = Test::new(\"test2\"); println!(\"a: {}, b: {}\",test1.as_ref().a(), test1.as_ref().b()); println!(\"a: {}, b: {}\",test2.as_ref().a(), test2.as_ref().b());\n} The fact that it's safe to pin heap allocated data even if it is !Unpin makes sense. Once the data is allocated on the heap it will have a stable address. There is no need for us as users of the API to take special care and ensure that the self-referential pointer stays valid. There are ways to safely give some guarantees on stack pinning as well, but right now you need to use a crate like pin_project to do that.","breadcrumbs":"Pinning to the heap","id":"35","title":"Pinning to the heap"},"36":{"body":"If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T. in other words: Unpin means it's OK for this type to be moved even when pinned, so Pin will have no effect on such a type. Getting a &mut T to a pinned T requires unsafe if T: !Unpin. In other words: requiring a pinned pointer to a type which is !Unpin prevents the user of that API from moving that value unless it choses to write unsafe code. Pinning does nothing special with memory allocation like putting it into some \"read only\" memory or anything fancy. It only uses the type system to prevent certain operations on this value. Most standard library types implement Unpin. The same goes for most \"normal\" types you encounter in Rust. Futures and Generators are two exceptions. The main use case for Pin is to allow self referential types, the whole justification for stabilizing them was to allow that. The implementation behind objects that are !Unpin is most likely unsafe. Moving such a type after it has been pinned can cause the universe to crash. As of the time of writing this book, creating and reading fields of a self referential struct still requires unsafe (the only way to do it is to create a struct containing raw pointers to itself). You can add a !Unpin bound on a type on nightly with a feature flag, or by adding std::marker::PhantomPinned to your type on stable. You can either pin an object to the stack or to the heap. Pinning a !Unpin object to the stack requires unsafe Pinning a !Unpin object to the heap does not require unsafe. There is a shortcut for doing this using Box::pin. Unsafe code does not mean it's literally \"unsafe\", it only relieves the guarantees you normally get from the compiler. An unsafe implementation can be perfectly safe to do, but you have no safety net.","breadcrumbs":"Practical rules for Pinning","id":"36","title":"Practical rules for Pinning"},"37":{"body":"In short, projection is a programming language term. mystruct.field1 is a projection. Structural pinning is using Pin on fields. This has several caveats and is not something you'll normally see so I refer to the documentation for that.","breadcrumbs":"Projection/structural pinning","id":"37","title":"Projection/structural pinning"},"38":{"body":"The Pin guarantee exists from the moment the value is pinned until it's dropped. In the Drop implementation you take a mutable reference to self, which means extra care must be taken when implementing Drop for pinned types.","breadcrumbs":"Pin and Drop","id":"38","title":"Pin and Drop"},"39":{"body":"This is exactly what we'll do when we implement our own Future, so stay tuned, we're soon finished.","breadcrumbs":"Putting it all together","id":"39","title":"Putting it all together"},"4":{"body":"This book has been translated to Chinese by nkbai .","breadcrumbs":"Translations","id":"4","title":"Translations"},"40":{"body":"But now, let's prevent this problem using Pin. I've commented along the way to make it easier to spot and understand the changes we need to make. #![feature(optin_builtin_traits, negative_impls)] // needed to implement `!Unpin`\nuse std::pin::Pin; pub fn main() { let gen1 = GeneratorA::start(); let gen2 = GeneratorA::start(); // Before we pin the data, this is safe to do // std::mem::swap(&mut gen, &mut gen2); // constructing a `Pin::new()` on a type which does not implement `Unpin` is // unsafe. An object pinned to heap can be constructed while staying in safe // Rust so we can use that to avoid unsafe. You can also use crates like // `pin_utils` to pin to the stack safely, just remember that they use // unsafe under the hood so it's like using an already-reviewed unsafe // implementation. let mut pinned1 = Box::pin(gen1); let mut pinned2 = Box::pin(gen2); // Uncomment these if you think it's safe to pin the values to the stack instead // (it is in this case). Remember to comment out the two previous lines first. //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) }; //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) }; if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() { println!(\"Gen1 got value {}\", n); } if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() { println!(\"Gen2 got value {}\", n); }; // This won't work: // std::mem::swap(&mut gen, &mut gen2); // This will work but will just swap the pointers so nothing bad happens here: // std::mem::swap(&mut pinned1, &mut pinned2); let _ = pinned1.as_mut().resume(); let _ = pinned2.as_mut().resume();\n} enum GeneratorState { Yielded(Y), Complete(R),\n} trait Generator { type Yield; type Return; fn resume(self: Pin<&mut Self>) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n} // This tells us that this object is not safe to move after pinning.\n// In this case, only we as implementors \"feel\" this, however, if someone is\n// relying on our Pinned data this will prevent them from moving it. You need\n// to enable the feature flag `#![feature(optin_builtin_traits)]` and use the\n// nightly compiler to implement `!Unpin`. Normally, you would use\n// `std::marker::PhantomPinned` to indicate that the struct is `!Unpin`.\nimpl !Unpin for GeneratorA { } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(self: Pin<&mut Self>) -> GeneratorState { // lets us get ownership over current state let this = unsafe { self.get_unchecked_mut() }; match this { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; // Trick to actually get a self reference. We can't reference // the `String` earlier since these references will point to the // location in this stack frame which will not be valid anymore // when this function returns. if let GeneratorA::Yield1 {to_borrow, borrowed} = this { *borrowed = to_borrow; } GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *this = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Now, as you see, the consumer of this API must either: Box the value and thereby allocating it on the heap Use unsafe and pin the value to the stack. The user knows that if they move the value afterwards it will violate the guarantee they promise to uphold when they did their unsafe implementation. Hopefully, after this you'll have an idea of what happens when you use the yield or await keywords inside an async function, and why we need Pin if we want to be able to safely borrow across yield/await points.","breadcrumbs":"Bonus section: Fixing our self-referential generator and learning more about Pin","id":"40","title":"Bonus section: Fixing our self-referential generator and learning more about Pin"},"41":{"body":"We'll create our own Futures together with a fake reactor and a simple executor which allows you to edit, run an play around with the code right here in your browser. I'll walk you through the example, but if you want to check it out closer, you can always clone the repository and play around with the code yourself or just copy it from the next chapter. There are several branches explained in the readme, but two are relevant for this chapter. The main branch is the example we go through here, and the basic_example_commented branch is this example with extensive comments. If you want to follow along as we go through, initialize a new cargo project by creating a new folder and run cargo init inside it. Everything we write here will be in main.rs","breadcrumbs":"Implementing Futures - main example","id":"41","title":"Implementing Futures - main example"},"42":{"body":"Let's start off by getting all our imports right away so you can follow along use std::{ future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,}, task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem, thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap\n};","breadcrumbs":"Implementing our own Futures","id":"42","title":"Implementing our own Futures"},"43":{"body":"The executors responsibility is to take one or more futures and run them to completion. The first thing an executor does when it gets a Future is polling it. When polled one of three things can happen: The future returns Ready and we schedule whatever chained operations to run The future hasn't been polled before so we pass it a Waker and suspend it The futures has been polled before but is not ready and returns Pending Rust provides a way for the Reactor and Executor to communicate through the Waker. The reactor stores this Waker and calls Waker::wake() on it once a Future has resolved and should be polled again. Notice that this chapter has a bonus section called A Proper Way to Park our Thread which shows how to avoid thread::park. Our Executor will look like this: // Our executor takes any object which implements the `Future` trait\nfn block_on(mut future: F) -> F::Output { // the first thing we do is to construct a `Waker` which we'll pass on to // the `reactor` so it can wake us up when an event is ready. let mywaker = Arc::new(MyWaker{ thread: thread::current() }); let waker = waker_into_waker(Arc::into_raw(mywaker)); // The context struct is just a wrapper for a `Waker` object. Maybe in the // future this will do more, but right now it's just a wrapper. let mut cx = Context::from_waker(&waker); // So, since we run this on one thread and run one future to completion // we can pin the `Future` to the stack. This is unsafe, but saves an // allocation. We could `Box::pin` it too if we wanted. This is however // safe since we shadow `future` so it can't be accessed again and will // not move until it's dropped. let mut future = unsafe { Pin::new_unchecked(&mut future) }; // We poll in a loop, but it's not a busy loop. It will only run when // an event occurs, or a thread has a \"spurious wakeup\" (an unexpected wakeup // that can happen for no good reason). let val = loop { match Future::poll(future, &mut cx) { // when the Future is ready we're finished Poll::Ready(val) => break val, // If we get a `pending` future we just go to sleep... Poll::Pending => thread::park(), }; }; val\n} In all the examples you'll see in this chapter I've chosen to comment the code extensively. I find it easier to follow along that way so I'll not repeat myself here and focus only on some important aspects that might need further explanation. It's worth noting that simply calling thread::sleep as we do here can lead to both deadlocks and errors. We'll explain a bit more later and fix this if you read all the way to the Bonus Section at the end of this chapter. For now, we keep it as simple and easy to understand as we can by just going to sleep. Now that you've read so much about Generators and Pin already this should be rather easy to understand. Future is a state machine, every await point is a yield point. We could borrow data across await points and we meet the exact same challenges as we do when borrowing across yield points. Context is just a wrapper around the Waker. At the time of writing this book it's nothing more. In the future it might be possible that the Context object will do more than just wrapping a Future so having this extra abstraction gives some flexibility. As explained in the chapter about generators , we use Pin and the guarantees that give us to allow Futures to have self references.","breadcrumbs":"The Executor","id":"43","title":"The Executor"},"44":{"body":"Futures has a well defined interface, which means they can be used across the entire ecosystem. We can chain these Futures so that once a leaf-future is ready we'll perform a set of operations until either the task is finished or we reach yet another leaf-future which we'll wait for and yield control to the scheduler. Our Future implementation looks like this: // This is the definition of our `Waker`. We use a regular thread-handle here.\n// It works but it's not a good solution. It's easy to fix though, I'll explain\n// after this code snippet.\n#[derive(Clone)]\nstruct MyWaker { thread: thread::Thread,\n} // This is the definition of our `Future`. It keeps all the information we\n// need. This one holds a reference to our `reactor`, that's just to make\n// this example as easy as possible. It doesn't need to hold a reference to\n// the whole reactor, but it needs to be able to register itself with the\n// reactor.\n#[derive(Clone)]\npub struct Task { id: usize, reactor: Arc>>, data: u64,\n} // These are function definitions we'll use for our waker. Remember the\n// \"Trait Objects\" chapter earlier.\nfn mywaker_wake(s: &MyWaker) { let waker_ptr: *const MyWaker = s; let waker_arc = unsafe {Arc::from_raw(waker_ptr)}; waker_arc.thread.unpark();\n} // Since we use an `Arc` cloning is just increasing the refcount on the smart\n// pointer.\nfn mywaker_clone(s: &MyWaker) -> RawWaker { let arc = unsafe { Arc::from_raw(s) }; std::mem::forget(arc.clone()); // increase ref count RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)\n} // This is actually a \"helper funtcion\" to create a `Waker` vtable. In contrast\n// to when we created a `Trait Object` from scratch we don't need to concern\n// ourselves with the actual layout of the `vtable` and only provide a fixed\n// set of functions\nconst VTABLE: RawWakerVTable = unsafe { RawWakerVTable::new( |s| mywaker_clone(&*(s as *const MyWaker)), // clone |s| mywaker_wake(&*(s as *const MyWaker)), // wake |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount )\n}; // Instead of implementing this on the `MyWaker` object in `impl Mywaker...` we\n// just use this pattern instead since it saves us some lines of code.\nfn waker_into_waker(s: *const MyWaker) -> Waker { let raw_waker = RawWaker::new(s as *const (), &VTABLE); unsafe { Waker::from_raw(raw_waker) }\n} impl Task { fn new(reactor: Arc>>, data: u64, id: usize) -> Self { Task { id, reactor, data } }\n} // This is our `Future` implementation\nimpl Future for Task { type Output = usize; // Poll is the what drives the state machine forward and it's the only // method we'll need to call to drive futures to completion. fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { // We need to get access the reactor in our `poll` method so we acquire // a lock on that. let mut r = self.reactor.lock().unwrap(); // First we check if the task is marked as ready if r.is_ready(self.id) { // If it's ready we set its state to `Finished` *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished; Poll::Ready(self.id) // If it isn't finished we check the map we have stored in our Reactor // over id's we have registered and see if it's there } else if r.tasks.contains_key(&self.id) { // This is important. The docs says that on multiple calls to poll, // only the Waker from the Context passed to the most recent call // should be scheduled to receive a wakeup. That's why we insert // this waker into the map (which will return the old one which will // get dropped) before we return `Pending`. r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone())); Poll::Pending } else { // If it's not ready, and not in the map it's a new task so we // register that with the Reactor and return `Pending` r.register(self.data, cx.waker().clone(), self.id); Poll::Pending } // Note that we're holding a lock on the `Mutex` which protects the // Reactor all the way until the end of this scope. This means that // even if our task were to complete immidiately, it will not be // able to call `wake` while we're in our `Poll` method. // Since we can make this guarantee, it's now the Executors job to // handle this possible race condition where `Wake` is called after // `poll` but before our thread goes to sleep. }\n} This is mostly pretty straight forward. The confusing part is the strange way we need to construct the Waker, but since we've already created our own trait objects from raw parts, this looks pretty familiar. Actually, it's even a bit easier. We use an Arc here to pass out a ref-counted borrow of our MyWaker. This is pretty normal, and makes this easy and safe to work with. Cloning a Waker is just increasing the refcount in this case. Dropping a Waker is as easy as decreasing the refcount. Now, in special cases we could choose to not use an Arc. So this low-level method is there to allow such cases. Indeed, if we only used Arc there is no reason for us to go through all the trouble of creating our own vtable and a RawWaker. We could just implement a normal trait. Fortunately, in the future this will probably be possible in the standard library as well. For now, this trait lives in the nursery , but my guess is that this will be a part of the standard library after some maturing. We choose to pass in a reference to the whole Reactor here. This isn't normal. The reactor will often be a global resource which let's us register interests without passing around a reference.","breadcrumbs":"The Future implementation","id":"44","title":"The Future implementation"},"45":{"body":"It could deadlock easily since anyone could get a handle to the executor thread and call park/unpark on our thread. I've made an example with comments on the playground that showcases how such an error could occur. You can also read a bit more about this in issue 2010 in the futures crate.","breadcrumbs":"Why using thread park/unpark is a bad idea for a library","id":"45","title":"Why using thread park/unpark is a bad idea for a library"},"46":{"body":"This is the home stretch, and not strictly Future related, but we need one to have an example to run. Since concurrency mostly makes sense when interacting with the outside world (or at least some peripheral), we need something to actually abstract over this interaction in an asynchronous way. This is the Reactors job. Most often you'll see reactors in Rust use a library called Mio , which provides non blocking APIs and event notification for several platforms. The reactor will typically give you something like a TcpStream (or any other resource) which you'll use to create an I/O request. What you get in return is a Future. If our reactor did some real I/O work our Task in would instead be represent a non-blocking TcpStream which registers interest with the global Reactor. Passing around a reference to the Reactor itself is pretty uncommon but I find it makes reasoning about what's happening easier. Our example task is a timer that only spawns a thread and puts it to sleep for the number of seconds we specify. The reactor we create here will create a leaf-future representing each timer. In return the Reactor receives a waker which it will call once the task is finished. To be able to run the code here in the browser there is not much real I/O we can do so just pretend that this is actually represents some useful I/O operation for the sake of this example. Our Reactor will look like this: // This is a \"fake\" reactor. It does no real I/O, but that also makes our\n// code possible to run in the book and in the playground\n// The different states a task can have in this Reactor\nenum TaskState { Ready, NotReady(Waker), Finished,\n} // This is a \"fake\" reactor. It does no real I/O, but that also makes our\n// code possible to run in the book and in the playground\nstruct Reactor { // we need some way of registering a Task with the reactor. Normally this // would be an \"interest\" in an I/O event dispatcher: Sender, handle: Option>, // This is a list of tasks tasks: HashMap,\n} // This represents the Events we can send to our reactor thread. In this\n// example it's only a Timeout or a Close event.\n#[derive(Debug)]\nenum Event { Close, Timeout(u64, usize),\n} impl Reactor { // We choose to return an atomic reference counted, mutex protected, heap // allocated `Reactor`. Just to make it easy to explain... No, the reason // we do this is: // // 1. We know that only thread-safe reactors will be created. // 2. By heap allocating it we can obtain a reference to a stable address // that's not dependent on the stack frame of the function that called `new` fn new() -> Arc>> { let (tx, rx) = channel::(); let reactor = Arc::new(Mutex::new(Box::new(Reactor { dispatcher: tx, handle: None, tasks: HashMap::new(), }))); // Notice that we'll need to use `weak` reference here. If we don't, // our `Reactor` will not get `dropped` when our main thread is finished // since we're holding internal references to it. // Since we're collecting all `JoinHandles` from the threads we spawn // and make sure to join them we know that `Reactor` will be alive // longer than any reference held by the threads we spawn here. let reactor_clone = Arc::downgrade(&reactor); // This will be our Reactor-thread. The Reactor-thread will in our case // just spawn new threads which will serve as timers for us. let handle = thread::spawn(move || { let mut handles = vec![]; // This simulates some I/O resource for event in rx { println!(\"REACTOR: {:?}\", event); let reactor = reactor_clone.clone(); match event { Event::Close => break, Event::Timeout(duration, id) => { // We spawn a new thread that will serve as a timer // and will call `wake` on the correct `Waker` once // it's done. let event_handle = thread::spawn(move || { thread::sleep(Duration::from_secs(duration)); let reactor = reactor.upgrade().unwrap(); reactor.lock().map(|mut r| r.wake(id)).unwrap(); }); handles.push(event_handle); } } } // This is important for us since we need to know that these // threads don't live longer than our Reactor-thread. Our // Reactor-thread will be joined when `Reactor` gets dropped. handles.into_iter().for_each(|handle| handle.join().unwrap()); }); reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap(); reactor } // The wake function will call wake on the waker for the task with the // corresponding id. fn wake(&mut self, id: usize) { self.tasks.get_mut(&id).map(|state| { // No matter what state the task was in we can safely set it // to ready at this point. This lets us get ownership over the // the data that was there before we replaced it. match mem::replace(state, TaskState::Ready) { TaskState::NotReady(waker) => waker.wake(), TaskState::Finished => panic!(\"Called 'wake' twice on task: {}\", id), _ => unreachable!() } }).unwrap(); } // Register a new task with the reactor. In this particular example // we panic if a task with the same id get's registered twice fn register(&mut self, duration: u64, waker: Waker, id: usize) { if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() { panic!(\"Tried to insert a task with id: '{}', twice!\", id); } self.dispatcher.send(Event::Timeout(duration, id)).unwrap(); } // We send a close event to the reactor so it closes down our reactor-thread fn close(&mut self) { self.dispatcher.send(Event::Close).unwrap(); } // We simply checks if a task with this id is in the state `TaskState::Ready` fn is_ready(&self, id: usize) -> bool { self.tasks.get(&id).map(|state| match state { TaskState::Ready => true, _ => false, }).unwrap_or(false) }\n} impl Drop for Reactor { fn drop(&mut self) { self.handle.take().map(|h| h.join().unwrap()).unwrap(); }\n} It's a lot of code though, but essentially we just spawn off a new thread and make it sleep for some time which we specify when we create a Task. Now, let's test our code and see if it works. Since we're sleeping for a couple of seconds here, just give it some time to run. In the last chapter we have the whole 200 lines in an editable window which you can edit and change the way you like. # use std::{\n# future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,},\n# task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem,\n# thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap\n# };\n#\nfn main() { // This is just to make it easier for us to see when our Future was resolved let start = Instant::now(); // Many runtimes create a glocal `reactor` we pass it as an argument let reactor = Reactor::new(); // We create two tasks: // - first parameter is the `reactor` // - the second is a timeout in seconds // - the third is an `id` to identify the task let future1 = Task::new(reactor.clone(), 1, 1); let future2 = Task::new(reactor.clone(), 2, 2); // an `async` block works the same way as an `async fn` in that it compiles // our code into a state machine, `yielding` at every `await` point. let fut1 = async { let val = future1.await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; let fut2 = async { let val = future2.await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; // Our executor can only run one and one future, this is pretty normal // though. You have a set of operations containing many futures that // ends up as a single future that drives them all to completion. let mainfut = async { fut1.await; fut2.await; }; // This executor will block the main thread until the futures is resolved block_on(mainfut); // When we're done, we want to shut down our reactor thread so our program // ends nicely. reactor.lock().map(|mut r| r.close()).unwrap();\n}\n# // ============================= EXECUTOR ====================================\n# fn block_on(mut future: F) -> F::Output {\n# let mywaker = Arc::new(MyWaker {\n# thread: thread::current(),\n# });\n# let waker = waker_into_waker(Arc::into_raw(mywaker));\n# let mut cx = Context::from_waker(&waker);\n# # // SAFETY: we shadow `future` so it can't be accessed again.\n# let mut future = unsafe { Pin::new_unchecked(&mut future) };\n# let val = loop {\n# match Future::poll(future.as_mut(), &mut cx) {\n# Poll::Ready(val) => break val,\n# Poll::Pending => thread::park(),\n# };\n# };\n# val\n# }\n#\n# // ====================== FUTURE IMPLEMENTATION ==============================\n# #[derive(Clone)]\n# struct MyWaker {\n# thread: thread::Thread,\n# }\n#\n# #[derive(Clone)]\n# pub struct Task {\n# id: usize,\n# reactor: Arc>>,\n# data: u64,\n# }\n#\n# fn mywaker_wake(s: &MyWaker) {\n# let waker_ptr: *const MyWaker = s;\n# let waker_arc = unsafe { Arc::from_raw(waker_ptr) };\n# waker_arc.thread.unpark();\n# }\n#\n# fn mywaker_clone(s: &MyWaker) -> RawWaker {\n# let arc = unsafe { Arc::from_raw(s) };\n# std::mem::forget(arc.clone()); // increase ref count\n# RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)\n# }\n#\n# const VTABLE: RawWakerVTable = unsafe {\n# RawWakerVTable::new(\n# |s| mywaker_clone(&*(s as *const MyWaker)), // clone\n# |s| mywaker_wake(&*(s as *const MyWaker)), // wake\n# |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref\n# |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount\n# )\n# };\n#\n# fn waker_into_waker(s: *const MyWaker) -> Waker {\n# let raw_waker = RawWaker::new(s as *const (), &VTABLE);\n# unsafe { Waker::from_raw(raw_waker) }\n# }\n#\n# impl Task {\n# fn new(reactor: Arc>>, data: u64, id: usize) -> Self {\n# Task { id, reactor, data }\n# }\n# }\n#\n# impl Future for Task {\n# type Output = usize;\n# fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll {\n# let mut r = self.reactor.lock().unwrap();\n# if r.is_ready(self.id) {\n# println!(\"POLL: TASK {} IS READY\", self.id);\n# *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;\n# Poll::Ready(self.id)\n# } else if r.tasks.contains_key(&self.id) {\n# println!(\"POLL: REPLACED WAKER FOR TASK: {}\", self.id);\n# r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));\n# Poll::Pending\n# } else {\n# println!(\"POLL: REGISTERED TASK: {}, WAKER: {:?}\", self.id, cx.waker());\n# r.register(self.data, cx.waker().clone(), self.id);\n# Poll::Pending\n# }\n# }\n# }\n#\n# // =============================== REACTOR ===================================\n# enum TaskState {\n# Ready,\n# NotReady(Waker),\n# Finished,\n# }\n# struct Reactor {\n# dispatcher: Sender,\n# handle: Option>,\n# tasks: HashMap,\n# }\n# # #[derive(Debug)]\n# enum Event {\n# Close,\n# Timeout(u64, usize),\n# }\n#\n# impl Reactor {\n# fn new() -> Arc>> {\n# let (tx, rx) = channel::();\n# let reactor = Arc::new(Mutex::new(Box::new(Reactor {\n# dispatcher: tx,\n# handle: None,\n# tasks: HashMap::new(),\n# })));\n# # let reactor_clone = Arc::downgrade(&reactor);\n# let handle = thread::spawn(move || {\n# let mut handles = vec![];\n# // This simulates some I/O resource\n# for event in rx {\n# println!(\"REACTOR: {:?}\", event);\n# let reactor = reactor_clone.clone();\n# match event {\n# Event::Close => break,\n# Event::Timeout(duration, id) => {\n# let event_handle = thread::spawn(move || {\n# thread::sleep(Duration::from_secs(duration));\n# let reactor = reactor.upgrade().unwrap();\n# reactor.lock().map(|mut r| r.wake(id)).unwrap();\n# });\n# handles.push(event_handle);\n# }\n# }\n# }\n# handles.into_iter().for_each(|handle| handle.join().unwrap());\n# });\n# reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();\n# reactor\n# }\n# # fn wake(&mut self, id: usize) {\n# self.tasks.get_mut(&id).map(|state| {\n# match mem::replace(state, TaskState::Ready) {\n# TaskState::NotReady(waker) => waker.wake(),\n# TaskState::Finished => panic!(\"Called 'wake' twice on task: {}\", id),\n# _ => unreachable!()\n# }\n# }).unwrap();\n# }\n# # fn register(&mut self, duration: u64, waker: Waker, id: usize) {\n# if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {\n# panic!(\"Tried to insert a task with id: '{}', twice!\", id);\n# }\n# self.dispatcher.send(Event::Timeout(duration, id)).unwrap();\n# }\n#\n# fn close(&mut self) {\n# self.dispatcher.send(Event::Close).unwrap();\n# }\n# # fn is_ready(&self, id: usize) -> bool {\n# self.tasks.get(&id).map(|state| match state {\n# TaskState::Ready => true,\n# _ => false,\n# }).unwrap_or(false)\n# }\n# }\n#\n# impl Drop for Reactor {\n# fn drop(&mut self) {\n# self.handle.take().map(|h| h.join().unwrap()).unwrap();\n# }\n# } I added a some debug printouts so we can observe a couple of things: How the Waker object looks just like the trait object we talked about in an earlier chapter The program flow from start to finish The last point is relevant when we move on the the last paragraph.","breadcrumbs":"The Reactor","id":"46","title":"The Reactor"},"47":{"body":"The async keyword can be used on functions as in async fn(...) or on a block as in async { ... }. Both will turn your function, or block, into a Future. These Futures are rather simple. Imagine our generator from a few chapters back. Every await point is like a yield point. Instead of yielding a value we pass in, we yield the result of calling poll on the next Future we're awaiting. Our mainfut contains two non-leaf futures which it will call poll on. Non-leaf-futures has a poll method that simply polls their inner futures and these state machines are polled until some \"leaf future\" in the end either returns Ready or Pending. The way our example is right now, it's not much better than regular synchronous code. For us to actually await multiple futures at the same time we somehow need to spawn them so the executor starts running them concurrently. Our example as it stands now returns this: Future got 1 at time: 1.00.\nFuture got 2 at time: 3.00. If these Futures were executed asynchronously we would expect to see: Future got 1 at time: 1.00.\nFuture got 2 at time: 2.00. Note that this doesn't mean they need to run in parallel. They can run in parallel but there is no requirement. Remember that we're waiting for some external resource so we can fire off many such calls on a single thread and handle each event as it resolves. Now, this is the point where I'll refer you to some better resources for implementing a better executor. You should have a pretty good understanding of the concept of Futures by now helping you along the way. The next step should be getting to know how more advanced runtimes work and how they implement different ways of running Futures to completion. If I were you I would read this next, and try to implement it for our example. . That's actually it for now. There as probably much more to learn, this is enough for today. I hope exploring Futures and async in general gets easier after this read and I do really hope that you do continue to explore further. Don't forget the exercises in the last chapter 😊.","breadcrumbs":"Async/Await and concurrecy","id":"47","title":"Async/Await and concurrecy"},"48":{"body":"As we explained earlier in our chapter, simply calling thread::sleep is not really sufficient to implement a proper reactor. You can also reach a tool like the Parker in crossbeam: crossbeam::sync::Parker Since it doesn't require many lines of code to create a working solution ourselves we'll show how we can solve that by using a Condvar and a Mutex instead. Start by implementing our own Parker like this: #[derive(Default)]\nstruct Parker(Mutex, Condvar); impl Parker { fn park(&self) { // We aquire a lock to the Mutex which protects our flag indicating if we // should resume execution or not. let mut resumable = self.0.lock().unwrap(); // We put this in a loop since there is a chance we'll get woken, but // our flag hasn't changed. If that happens, we simply go back to sleep. while !*resumable { // We sleep until someone notifies us resumable = self.1.wait(resumable).unwrap(); } // We immidiately set the condition to false, so that next time we call `park` we'll // go right to sleep. *resumable = false; } fn unpark(&self) { // We simply acquire a lock to our flag and sets the condition to `runnable` when we // get it. *self.0.lock().unwrap() = true; // We notify our `Condvar` so it wakes up and resumes. self.1.notify_one(); }\n} The Condvar in Rust is designed to work together with a Mutex. Usually, you'd think that we don't release the mutex-lock we acquire in self.0.lock().unwrap(); before we go to sleep. Which means that our unpark function never will acquire a lock to our flag and we deadlock. Using Condvar we avoid this since the Condvar will consume our lock so it's released at the moment we go to sleep. When we resume again, our Condvar returns our lock so we can continue to operate on it. This means we need to make some very slight changes to our executor like this: fn block_on(mut future: F) -> F::Output { let parker = Arc::new(Parker::default()); // <--- NB! let mywaker = Arc::new(MyWaker { parker: parker.clone() }); <--- NB! let waker = mywaker_into_waker(Arc::into_raw(mywaker)); let mut cx = Context::from_waker(&waker); // SAFETY: we shadow `future` so it can't be accessed again. let mut future = unsafe { Pin::new_unchecked(&mut future) }; loop { match Future::poll(future.as_mut(), &mut cx) { Poll::Ready(val) => break val, Poll::Pending => parker.park(), // <--- NB! }; }\n} And we need to change our Waker like this: #[derive(Clone)]\nstruct MyWaker { parker: Arc,\n} fn mywaker_wake(s: &MyWaker) { let waker_arc = unsafe { Arc::from_raw(s) }; waker_arc.parker.unpark();\n} And that's really all there is to it. If you checked out the playground link that showcased how park/unpark could cause subtle problems you can check out this example which shows how our final version avoids this problem. The next chapter shows our finished code with this improvement which you can explore further if you wish.","breadcrumbs":"Bonus Section - a Proper Way to Park our Thread","id":"48","title":"Bonus Section - a Proper Way to Park our Thread"},"49":{"body":"Here is the whole example. You can edit it right here in your browser and run it yourself. Have fun! fn main() { let start = Instant::now(); let reactor = Reactor::new(); let fut1 = async { let val = Task::new(reactor.clone(), 1, 1).await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; let fut2 = async { let val = Task::new(reactor.clone(), 2, 2).await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; let mainfut = async { fut1.await; fut2.await; }; block_on(mainfut); reactor.lock().map(|mut r| r.close()).unwrap();\n} use std::{ future::Future, sync::{ mpsc::{channel, Sender}, Arc, Mutex, Condvar}, task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem, pin::Pin, thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap\n};\n// ============================= EXECUTOR ====================================\n#[derive(Default)]\nstruct Parker(Mutex, Condvar); impl Parker { fn park(&self) { let mut resumable = self.0.lock().unwrap(); while !*resumable { resumable = self.1.wait(resumable).unwrap(); } *resumable = false; } fn unpark(&self) { *self.0.lock().unwrap() = true; self.1.notify_one(); }\n} fn block_on(mut future: F) -> F::Output { let parker = Arc::new(Parker::default()); let mywaker = Arc::new(MyWaker { parker: parker.clone() }); let waker = mywaker_into_waker(Arc::into_raw(mywaker)); let mut cx = Context::from_waker(&waker); // SAFETY: we shadow `future` so it can't be accessed again. let mut future = unsafe { Pin::new_unchecked(&mut future) }; loop { match Future::poll(future.as_mut(), &mut cx) { Poll::Ready(val) => break val, Poll::Pending => parker.park(), }; }\n}\n// ====================== FUTURE IMPLEMENTATION ==============================\n#[derive(Clone)]\nstruct MyWaker { parker: Arc,\n} #[derive(Clone)]\npub struct Task { id: usize, reactor: Arc>>, data: u64,\n} fn mywaker_wake(s: &MyWaker) { let waker_arc = unsafe { Arc::from_raw(s) }; waker_arc.parker.unpark();\n} fn mywaker_clone(s: &MyWaker) -> RawWaker { let arc = unsafe { Arc::from_raw(s) }; std::mem::forget(arc.clone()); // increase ref count RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)\n} const VTABLE: RawWakerVTable = unsafe { RawWakerVTable::new( |s| mywaker_clone(&*(s as *const MyWaker)), // clone |s| mywaker_wake(&*(s as *const MyWaker)), // wake |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount )\n}; fn mywaker_into_waker(s: *const MyWaker) -> Waker { let raw_waker = RawWaker::new(s as *const (), &VTABLE); unsafe { Waker::from_raw(raw_waker) }\n} impl Task { fn new(reactor: Arc>>, data: u64, id: usize) -> Self { Task { id, reactor, data } }\n} impl Future for Task { type Output = usize; fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { let mut r = self.reactor.lock().unwrap(); if r.is_ready(self.id) { *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished; Poll::Ready(self.id) } else if r.tasks.contains_key(&self.id) { r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone())); Poll::Pending } else { r.register(self.data, cx.waker().clone(), self.id); Poll::Pending } }\n}\n// =============================== REACTOR ===================================\nenum TaskState { Ready, NotReady(Waker), Finished,\n}\nstruct Reactor { dispatcher: Sender, handle: Option>, tasks: HashMap,\n} #[derive(Debug)]\nenum Event { Close, Timeout(u64, usize),\n} impl Reactor { fn new() -> Arc>> { let (tx, rx) = channel::(); let reactor = Arc::new(Mutex::new(Box::new(Reactor { dispatcher: tx, handle: None, tasks: HashMap::new(), }))); let reactor_clone = Arc::downgrade(&reactor); let handle = thread::spawn(move || { let mut handles = vec![]; for event in rx { let reactor = reactor_clone.clone(); match event { Event::Close => break, Event::Timeout(duration, id) => { let event_handle = thread::spawn(move || { thread::sleep(Duration::from_secs(duration)); let reactor = reactor.upgrade().unwrap(); reactor.lock().map(|mut r| r.wake(id)).unwrap(); }); handles.push(event_handle); } } } handles.into_iter().for_each(|handle| handle.join().unwrap()); }); reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap(); reactor } fn wake(&mut self, id: usize) { let state = self.tasks.get_mut(&id).unwrap(); match mem::replace(state, TaskState::Ready) { TaskState::NotReady(waker) => waker.wake(), TaskState::Finished => panic!(\"Called 'wake' twice on task: {}\", id), _ => unreachable!() } } fn register(&mut self, duration: u64, waker: Waker, id: usize) { if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() { panic!(\"Tried to insert a task with id: '{}', twice!\", id); } self.dispatcher.send(Event::Timeout(duration, id)).unwrap(); } fn close(&mut self) { self.dispatcher.send(Event::Close).unwrap(); } fn is_ready(&self, id: usize) -> bool { self.tasks.get(&id).map(|state| match state { TaskState::Ready => true, _ => false, }).unwrap_or(false) }\n} impl Drop for Reactor { fn drop(&mut self) { self.handle.take().map(|h| h.join().unwrap()).unwrap(); }\n}","breadcrumbs":"Our finished code","id":"49","title":"Our finished code"},"5":{"body":"Before we go into the details about Futures in Rust, let's take a quick look at the alternatives for handling concurrent programming in general and some pros and cons for each of them. While we do that we'll also explain some aspects when it comes to concurrency which will make it easier for us when we dive into Futures specifically. For fun, I've added a small snippet of runnable code with most of the examples. If you're like me, things get way more interesting then and maybe you'll see some things you haven't seen before along the way.","breadcrumbs":"Some Background Information","id":"5","title":"Some Background Information"},"50":{"body":"Congratulations. Good job! If you got this far you must have stayed with me all the way. I hope you enjoyed the ride! Remember that you call always leave feedback, suggest improvements or ask questions in the issue_tracker for this book. I'll try my best to respond to each one of them. I'll leave you with some suggestions for exercises if you want to explore a little further below. Until next time!","breadcrumbs":"Conclusion and exercises","id":"50","title":"Conclusion and exercises"},"51":{"body":"So our implementation has taken some obvious shortcuts and could use some improvement. Actually digging into the code and try things yourself is a good way to learn. Here are some good exercises if you want to explore more:","breadcrumbs":"Reader exercises","id":"51","title":"Reader exercises"},"52":{"body":"First of all, protecting the whole Reactor and passing it around is overkill. We're only interested in synchronizing some parts of the information it contains. Try to refactor that out and only synchronize access to what's really needed. I'd encourage you to have a look at how async_std solves this with a global runtime which includes the reactor and how tokio's rutime solves the same thing in a slightly different way to get some inspiration. Do you want to pass around a reference to this information using an Arc? Do you want to make a global Reactor so it can be accessed from anywhere?","breadcrumbs":"Avoid wrapping the whole Reactor in a mutex and pass it around","id":"52","title":"Avoid wrapping the whole Reactor in a mutex and pass it around"},"53":{"body":"Right now, we can only run one and one future. Most runtimes has a spawn function which let's you start off a future and await it later so you can run multiple futures concurrently. As I suggested in the start of this book, visiting @stjepan'sblog series about implementing your own executors is the place I would start and take it from there.","breadcrumbs":"Building a better exectuor","id":"53","title":"Building a better exectuor"},"54":{"body":"There are many great resources. In addition to the RFCs and articles I've already linked to in the book, here are some of my suggestions: The official Asyc book The async_std book Aron Turon: Designing futures for Rust Steve Klabnik's presentation: Rust's journey to Async/Await The Tokio Blog Stjepan's blog with a series where he implements an Executor Jon Gjengset's video on The Why, What and How of Pinning in Rust Withoutboats blog series about async/await","breadcrumbs":"Further reading","id":"54","title":"Further reading"},"6":{"body":"Now, one way of accomplishing concurrent programming is letting the OS take care of everything for us. We do this by simply spawning a new OS thread for each task we want to accomplish and write code like we normally would. The runtime we use to handle concurrency for us is the operating system itself. Advantages: Simple Easy to use Switching between tasks is reasonably fast You get parallelism for free Drawbacks: OS level threads come with a rather large stack. If you have many tasks waiting simultaneously (like you would in a web-server under heavy load) you'll run out of memory pretty fast. There are a lot of syscalls involved. This can be pretty costly when the number of tasks is high. The OS has many things it needs to handle. It might not switch back to your thread as fast as you'd wish. Might not be an option on some systems Using OS threads in Rust looks like this: use std::thread; fn main() { println!(\"So we start the program here!\"); let t1 = thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(200)); println!(\"We create tasks which gets run when they're finished!\"); }); let t2 = thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(100)); println!(\"We can even chain callbacks...\"); let t3 = thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(50)); println!(\"...like this!\"); }); t3.join().unwrap(); }); println!(\"While our tasks are executing we can do other stuff here.\"); t1.join().unwrap(); t2.join().unwrap();\n} OS threads sure have some pretty big advantages. So why all this talk about \"async\" and concurrency in the first place? First, for computers to be efficient they need to multitask. Once you start to look under the covers (like how an operating system works ) you'll see concurrency everywhere. It's very fundamental in everything we do. Secondly, we have the web. Web servers are all about I/O and handling small tasks (requests). When the number of small tasks is large it's not a good fit for OS threads as of today because of the memory they require and the overhead involved when creating new threads. This gets even more problematic when the load is variable which means the current number of tasks a program has at any point in time is unpredictable. That's why you'll see so many async web frameworks and database drivers today. However, for a huge number of problems, the standard OS threads will often be the right solution. So, just think twice about your problem before you reach for an async library. Now, let's look at some other options for multitasking. They all have in common that they implement a way to do multitasking by having a \"userland\" runtime.","breadcrumbs":"Threads provided by the operating system","id":"6","title":"Threads provided by the operating system"},"7":{"body":"Green threads use the same mechanism as an OS does by creating a thread for each task, setting up a stack, saving the CPU's state, and jumping from one task(thread) to another by doing a \"context switch\". We yield control to the scheduler (which is a central part of the runtime in such a system) which then continues running a different task. Rust had green threads once, but they were removed before it hit 1.0. The state of execution is stored in each stack so in such a solution there would be no need for async, await, Future or Pin. The typical flow looks like this: Run some non-blocking code. Make a blocking call to some external resource. CPU \"jumps\" to the \"main\" thread which schedules a different thread to run and \"jumps\" to that stack. Run some non-blocking code on the new thread until a new blocking call or the task is finished. CPU \"jumps\" back to the \"main\" thread, schedules a new thread which is ready to make progress, and \"jumps\" to that thread. These \"jumps\" are known as context switches . Your OS is doing it many times each second as you read this. Advantages: Simple to use. The code will look like it does when using OS threads. A \"context switch\" is reasonably fast. Each stack only gets a little memory to start with so you can have hundreds of thousands of green threads running. It's easy to incorporate preemption which puts a lot of control in the hands of the runtime implementors. Drawbacks: The stacks might need to grow. Solving this is not easy and will have a cost. You need to save all the CPU state on every switch. It's not a zero cost abstraction (Rust had green threads early on and this was one of the reasons they were removed). Complicated to implement correctly if you want to support many different platforms. A green threads example could look something like this: The example presented below is an adapted example from an earlier gitbook I wrote about green threads called Green Threads Explained in 200 lines of Rust. If you want to know what's going on you'll find everything explained in detail in that book. The code below is wildly unsafe and it's just to show a real example. It's not in any way meant to showcase \"best practice\". Just so we're on the same page. Press the expand icon in the top right corner to show the example code. # #![feature(asm, naked_functions)]\n# use std::ptr;\n#\n# const DEFAULT_STACK_SIZE: usize = 1024 * 1024 * 2;\n# const MAX_THREADS: usize = 4;\n# static mut RUNTIME: usize = 0;\n#\n# pub struct Runtime {\n# threads: Vec,\n# current: usize,\n# }\n#\n# #[derive(PartialEq, Eq, Debug)]\n# enum State {\n# Available,\n# Running,\n# Ready,\n# }\n#\n# struct Thread {\n# id: usize,\n# stack: Vec,\n# ctx: ThreadContext,\n# state: State,\n# task: Option>,\n# }\n#\n# #[derive(Debug, Default)]\n# #[repr(C)]\n# struct ThreadContext {\n# rsp: u64,\n# r15: u64,\n# r14: u64,\n# r13: u64,\n# r12: u64,\n# rbx: u64,\n# rbp: u64,\n# thread_ptr: u64,\n# }\n#\n# impl Thread {\n# fn new(id: usize) -> Self {\n# Thread {\n# id,\n# stack: vec![0_u8; DEFAULT_STACK_SIZE],\n# ctx: ThreadContext::default(),\n# state: State::Available,\n# task: None,\n# }\n# }\n# }\n#\n# impl Runtime {\n# pub fn new() -> Self {\n# let base_thread = Thread {\n# id: 0,\n# stack: vec![0_u8; DEFAULT_STACK_SIZE],\n# ctx: ThreadContext::default(),\n# state: State::Running,\n# task: None,\n# };\n#\n# let mut threads = vec![base_thread];\n# threads[0].ctx.thread_ptr = &threads[0] as *const Thread as u64;\n# let mut available_threads: Vec = (1..MAX_THREADS).map(|i| Thread::new(i)).collect();\n# threads.append(&mut available_threads);\n#\n# Runtime {\n# threads,\n# current: 0,\n# }\n# }\n#\n# pub fn init(&self) {\n# unsafe {\n# let r_ptr: *const Runtime = self;\n# RUNTIME = r_ptr as usize;\n# }\n# }\n#\n# pub fn run(&mut self) -> ! {\n# while self.t_yield() {}\n# std::process::exit(0);\n# }\n#\n# fn t_return(&mut self) {\n# if self.current != 0 {\n# self.threads[self.current].state = State::Available;\n# self.t_yield();\n# }\n# }\n#\n# fn t_yield(&mut self) -> bool {\n# let mut pos = self.current;\n# while self.threads[pos].state != State::Ready {\n# pos += 1;\n# if pos == self.threads.len() {\n# pos = 0;\n# }\n# if pos == self.current {\n# return false;\n# }\n# }\n#\n# if self.threads[self.current].state != State::Available {\n# self.threads[self.current].state = State::Ready;\n# }\n#\n# self.threads[pos].state = State::Running;\n# let old_pos = self.current;\n# self.current = pos;\n#\n# unsafe {\n# switch(&mut self.threads[old_pos].ctx, &self.threads[pos].ctx);\n# }\n# true\n# }\n#\n# pub fn spawn(f: F){\n# unsafe {\n# let rt_ptr = RUNTIME as *mut Runtime;\n# let available = (*rt_ptr)\n# .threads\n# .iter_mut()\n# .find(|t| t.state == State::Available)\n# .expect(\"no available thread.\");\n#\n# let size = available.stack.len();\n# let s_ptr = available.stack.as_mut_ptr();\n# available.task = Some(Box::new(f));\n# available.ctx.thread_ptr = available as *const Thread as u64;\n# ptr::write(s_ptr.offset((size - 8) as isize) as *mut u64, guard as u64);\n# ptr::write(s_ptr.offset((size - 16) as isize) as *mut u64, call as u64);\n# available.ctx.rsp = s_ptr.offset((size - 16) as isize) as u64;\n# available.state = State::Ready;\n# }\n# }\n# }\n#\n# fn call(thread: u64) {\n# let thread = unsafe { &*(thread as *const Thread) };\n# if let Some(f) = &thread.task {\n# f();\n# }\n# }\n#\n# #[naked]\n# fn guard() {\n# unsafe {\n# let rt_ptr = RUNTIME as *mut Runtime;\n# let rt = &mut *rt_ptr;\n# println!(\"THREAD {} FINISHED.\", rt.threads[rt.current].id);\n# rt.t_return();\n# };\n# }\n#\n# pub fn yield_thread() {\n# unsafe {\n# let rt_ptr = RUNTIME as *mut Runtime;\n# (*rt_ptr).t_yield();\n# };\n# }\n#\n# #[naked]\n# #[inline(never)]\n# unsafe fn switch(old: *mut ThreadContext, new: *const ThreadContext) {\n# asm!(\"\n# mov %rsp, 0x00($0)\n# mov %r15, 0x08($0)\n# mov %r14, 0x10($0)\n# mov %r13, 0x18($0)\n# mov %r12, 0x20($0)\n# mov %rbx, 0x28($0)\n# mov %rbp, 0x30($0)\n#\n# mov 0x00($1), %rsp\n# mov 0x08($1), %r15\n# mov 0x10($1), %r14\n# mov 0x18($1), %r13\n# mov 0x20($1), %r12\n# mov 0x28($1), %rbx\n# mov 0x30($1), %rbp\n# mov 0x38($1), %rdi\n# ret\n# \"\n# :\n# : \"r\"(old), \"r\"(new)\n# :\n# : \"alignstack\"\n# );\n# }\n# #[cfg(not(windows))]\nfn main() { let mut runtime = Runtime::new(); runtime.init(); Runtime::spawn(|| { println!(\"I haven't implemented a timer in this example.\"); yield_thread(); println!(\"Finally, notice how the tasks are executed concurrently.\"); }); Runtime::spawn(|| { println!(\"But we can still nest tasks...\"); Runtime::spawn(|| { println!(\"...like this!\"); }) }); runtime.run();\n}\n# #[cfg(windows)]\n# fn main() { } Still hanging in there? Good. Don't get frustrated if the code above is difficult to understand. If I hadn't written it myself I would probably feel the same. You can always go back and read the book which explains it later.","breadcrumbs":"Green threads","id":"7","title":"Green threads"},"8":{"body":"You probably already know what we're going to talk about in the next paragraphs from JavaScript which I assume most know. If your exposure to JavaScript callbacks has given you any sorts of PTSD earlier in life, close your eyes now and scroll down for 2-3 seconds. You'll find a link there that takes you to safety. The whole idea behind a callback based approach is to save a pointer to a set of instructions we want to run later together with whatever state is needed. In Rust this would be a closure. In the example below, we save this information in a HashMap but it's not the only option. The basic idea of not involving threads as a primary way to achieve concurrency is the common denominator for the rest of the approaches. Including the one Rust uses today which we'll soon get to. Advantages: Easy to implement in most languages No context switching Relatively low memory overhead (in most cases) Drawbacks: Since each task must save the state it needs for later, the memory usage will grow linearly with the number of callbacks in a chain of computations. Can be hard to reason about. Many people already know this as \"callback hell\". It's a very different way of writing a program, and will require a substantial rewrite to go from a \"normal\" program flow to one that uses a \"callback based\" flow. Sharing state between tasks is a hard problem in Rust using this approach due to its ownership model. An extremely simplified example of a how a callback based approach could look like is: fn program_main() { println!(\"So we start the program here!\"); set_timeout(200, || { println!(\"We create tasks with a callback that runs once the task finished!\"); }); set_timeout(100, || { println!(\"We can even chain sub-tasks...\"); set_timeout(50, || { println!(\"...like this!\"); }) }); println!(\"While our tasks are executing we can do other stuff instead of waiting.\");\n} fn main() { RT.with(|rt| rt.run(program_main));\n} use std::sync::mpsc::{channel, Receiver, Sender};\nuse std::{cell::RefCell, collections::HashMap, thread}; thread_local! { static RT: Runtime = Runtime::new();\n} struct Runtime { callbacks: RefCell ()>>>, next_id: RefCell, evt_sender: Sender, evt_reciever: Receiver,\n} fn set_timeout(ms: u64, cb: impl FnOnce() + 'static) { RT.with(|rt| { let id = *rt.next_id.borrow(); *rt.next_id.borrow_mut() += 1; rt.callbacks.borrow_mut().insert(id, Box::new(cb)); let evt_sender = rt.evt_sender.clone(); thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(ms)); evt_sender.send(id).unwrap(); }); });\n} impl Runtime { fn new() -> Self { let (evt_sender, evt_reciever) = channel(); Runtime { callbacks: RefCell::new(HashMap::new()), next_id: RefCell::new(1), evt_sender, evt_reciever, } } fn run(&self, program: fn()) { program(); for evt_id in &self.evt_reciever { let cb = self.callbacks.borrow_mut().remove(&evt_id).unwrap(); cb(); if self.callbacks.borrow().is_empty() { break; } } }\n} We're keeping this super simple, and you might wonder what's the difference between this approach and the one using OS threads and passing in the callbacks to the OS threads directly. The difference is that the callbacks are run on the same thread using this example. The OS threads we create are basically just used as timers but could represent any kind of resource that we'll have to wait for.","breadcrumbs":"Callback based approaches","id":"8","title":"Callback based approaches"},"9":{"body":"You might start to wonder by now, when are we going to talk about Futures? Well, we're getting there. You see Promises, Futures and other names for deferred computations are often used interchangeably. There are formal differences between them, but we won't cover those here. It's worth explaining promises a bit since they're widely known due to their use in JavaScript. Promises also have a lot in common with Rust's Futures. First of all, many languages have a concept of promises, but I'll use the one from JavaScript in the examples below. Promises are one way to deal with the complexity which comes with a callback based approach. Instead of: setTimer(200, () => { setTimer(100, () => { setTimer(50, () => { console.log(\"I'm the last one\"); }); });\n}); We can do this: function timer(ms) { return new Promise((resolve) => setTimeout(resolve, ms));\n} timer(200)\n.then(() => return timer(100))\n.then(() => return timer(50))\n.then(() => console.log(\"I'm the last one\")); The change is even more substantial under the hood. You see, promises return a state machine which can be in one of three states: pending, fulfilled or rejected. When we call timer(200) in the sample above, we get back a promise in the state pending. Since promises are re-written as state machines, they also enable an even better syntax which allows us to write our last example like this: async function run() { await timer(200); await timer(100); await timer(50); console.log(\"I'm the last one\");\n} You can consider the run function as a pausable task consisting of several sub-tasks. On each \"await\" point it yields control to the scheduler (in this case it's the well-known JavaScript event loop). Once one of the sub-tasks changes state to either fulfilled or rejected, the task is scheduled to continue to the next step. Syntactically, Rust's Futures 0.1 was a lot like the promises example above, and Rust's Futures 0.3 is a lot like async/await in our last example. Now this is also where the similarities between JavaScript promises and Rust's Futures stop. The reason we go through all this is to get an introduction and get into the right mindset for exploring Rust's Futures. To avoid confusion later on: There's one difference you should know. JavaScript promises are eagerly evaluated. That means that once it's created, it starts running a task. Rust's Futures on the other hand are lazily evaluated. They need to be polled once before they do any work. PANIC BUTTON (next chapter)","breadcrumbs":"From callbacks to promises","id":"9","title":"From callbacks to promises"}},"length":55,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"1":{"df":4,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}},"3":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":2.23606797749979}},"x":{"0":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"0":{"0":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}},"df":1,"docs":{"7":{"tf":1.0}}},"4":{"2":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"4":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"2":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":2.0},"28":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}},"3":{".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":2.0},"26":{"tf":1.0},"8":{"tf":1.0}}},"4":{"3":{"1":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"7":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}}},"8":{"df":2,"docs":{"22":{"tf":2.449489742783178},"7":{"tf":1.0}}},"_":{"df":4,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951}}},"df":0,"docs":{},"w":{"df":12,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}},"g":{"df":6,"docs":{"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"5":{"tf":1.0}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"1":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"z":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"r":{"c":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":6,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"22":{"tf":1.0},"31":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"19":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}}},"y":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.0},"54":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":3,"docs":{"3":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"df":21,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"2":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.23606797749979},"3":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"49":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"53":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"25":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"d":{"df":2,"docs":{"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.0}}},"i":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":4,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":4.69041575982343},"34":{"tf":3.4641016151377544},"35":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"28":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"28":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"28":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"53":{"tf":1.0},"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"29":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"7":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":2.6457513110645907},"12":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"l":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":6.164414002968976},"29":{"tf":2.23606797749979},"30":{"tf":2.0},"31":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"b":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":2,"docs":{"36":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"40":{"tf":1.0}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"41":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"43":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":3.4641016151377544},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":2.0},"29":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"6":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"36":{"tf":1.0},"48":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"29":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":8,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"2":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"8":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":22,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":2.8284271247461903},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"17":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"29":{"tf":1.0}}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":2.8284271247461903},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"25":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"48":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"17":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"i":{"d":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"i":{"'":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":10,"docs":{"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":3.0},"46":{"tf":3.0},"49":{"tf":2.8284271247461903},"7":{"tf":2.6457513110645907}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"36":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"'":{"_":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":6,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"13":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"7":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"27":{"tf":1.0},"7":{"tf":1.7320508075688772}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"22":{"tf":3.605551275463989},"26":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.0},"49":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.0}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"20":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"18":{"tf":1.0},"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"51":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":2,"docs":{"20":{"tf":1.0},"44":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":5,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"28":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"8":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"3":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0}}}},"df":1,"docs":{"22":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":12,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"21":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":8,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.4142135623730951},"47":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"36":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":5,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}},"q":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"26":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"11":{"tf":2.0},"43":{"tf":1.4142135623730951},"46":{"tf":3.605551275463989},"47":{"tf":1.0},"49":{"tf":1.7320508075688772},"9":{"tf":1.0}},"u":{"df":1,"docs":{"19":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"41":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"8":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":24,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"41":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"28":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"19":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"19":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"2":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"t":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"n":{"df":2,"docs":{"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"41":{"tf":1.0},"43":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.0},"8":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"6":{"tf":1.7320508075688772},"7":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":1,"docs":{"22":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"48":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"22":{"tf":2.0},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"x":{"df":6,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"n":{"df":17,"docs":{"22":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":4.358898943540674},"30":{"tf":1.0},"33":{"tf":4.358898943540674},"34":{"tf":4.358898943540674},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":4.47213595499958},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":3.872983346207417},"6":{"tf":1.0},"7":{"tf":3.872983346207417},"8":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":2,"docs":{"26":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"22":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"47":{"tf":1.0}}}}},"k":{"df":1,"docs":{"1":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"22":{"tf":2.0},"23":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"49":{"tf":1.0},"5":{"tf":1.0}},"t":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"32":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0}}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":37,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"10":{"tf":1.7320508075688772},"11":{"tf":3.7416573867739413},"12":{"tf":2.8284271247461903},"13":{"tf":3.1622776601683795},"14":{"tf":2.23606797749979},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.449489742783178},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":4.47213595499958},"44":{"tf":3.3166247903554},"45":{"tf":1.0},"46":{"tf":3.7416573867739413},"47":{"tf":4.0},"48":{"tf":2.0},"49":{"tf":2.449489742783178},"5":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.8284271247461903}},"e":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"l":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":2.8284271247461903}}}}}}}},"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"40":{"tf":2.0}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.8284271247461903},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.4641016151377544},"40":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"28":{"tf":1.0}}},"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.3166247903554},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.872983346207417},"40":{"tf":2.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.0},"40":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}},"r":{"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"df":13,"docs":{"17":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":2.449489742783178},"27":{"tf":1.7320508075688772},"28":{"tf":4.795831523312719},"29":{"tf":2.8284271247461903},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":2.0},"43":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"t":{"'":{"df":1,"docs":{"46":{"tf":1.0}}},"df":11,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"48":{"tf":2.0},"5":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":10,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":13,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":2.8284271247461903},"47":{"tf":1.0},"49":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0}}}},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"d":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"19":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"28":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}},"o":{"df":1,"docs":{"28":{"tf":1.0}}}},"p":{"df":4,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"22":{"tf":1.0},"46":{"tf":1.0}}}},"o":{"d":{"df":3,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"d":{"df":2,"docs":{"3":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"m":{"df":1,"docs":{"32":{"tf":1.0}}},"v":{"df":9,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":6,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"46":{"tf":3.0},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"22":{"tf":3.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"'":{"df":1,"docs":{"44":{"tf":1.0}}},")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":4.58257569495584},"49":{"tf":3.1622776601683795},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"33":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"28":{"tf":3.1622776601683795},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":32,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"1":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0}},"i":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"i":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"19":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"f":{"a":{"c":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"29":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"25":{"tf":1.0}},"t":{"df":3,"docs":{"10":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":3,"docs":{"21":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":3,"docs":{"1":{"tf":1.0},"30":{"tf":1.0},"45":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"'":{"df":29,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"44":{"tf":3.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":2,"docs":{"20":{"tf":1.0},"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":8,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":4,"docs":{"14":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"31":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"23":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":1,"docs":{"13":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"30":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"b":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":16,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":2.23606797749979},"37":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"32":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"40":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"v":{"df":2,"docs":{"23":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"'":{"df":16,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":2.0},"33":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}},"k":{"df":3,"docs":{"48":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}},"t":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"40":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":2.6457513110645907},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":5,"docs":{"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"9":{"tf":1.0}}},"s":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"t":{"df":10,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"w":{"df":2,"docs":{"44":{"tf":1.0},"8":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"27":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"27":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":16,"docs":{"1":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.8284271247461903},"48":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"23":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":12,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"b":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"32":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":2,"docs":{"3":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"24":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"1":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"28":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":2.23606797749979},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"24":{"tf":1.0}}}}},"v":{"df":1,"docs":{"7":{"tf":3.872983346207417}},"e":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"46":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"9":{"tf":1.0}}},"u":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":3.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":4.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"40":{"tf":2.6457513110645907},"43":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"48":{"tf":2.0},"49":{"tf":2.6457513110645907},"7":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"x":{"df":6,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"1":{"tf":1.0},"43":{"tf":1.0},"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":3.4641016151377544},"46":{"tf":3.1622776601683795},"48":{"tf":1.7320508075688772},"49":{"tf":3.0}},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":2.0},"9":{"tf":1.0}}}}},"b":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"36":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0}}}}}},"df":11,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.23606797749979},"8":{"tf":1.0},"9":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":10,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}},"k":{"b":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":5,"docs":{"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}},"h":{"df":4,"docs":{"22":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"!":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":19,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":3.3166247903554},"23":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"36":{"tf":1.0}}},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"n":{"c":{"df":10,"docs":{"25":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":2.8284271247461903}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}},"r":{"df":11,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"6":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.7320508075688772},"34":{"tf":1.0}}}}}}},"s":{"df":3,"docs":{"6":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":5,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0}}}}}}},"t":{"df":10,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"22":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":2.449489742783178},"49":{"tf":2.0}}}}},"t":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"52":{"tf":1.0},"7":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"29":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":2.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"32":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"34":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"40":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"34":{"tf":3.4641016151377544},"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"'":{"a":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":14,"docs":{"24":{"tf":1.0},"28":{"tf":2.0},"31":{"tf":2.23606797749979},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":2.8284271247461903},"35":{"tf":2.0},"36":{"tf":3.3166247903554},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"53":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}}}}}},"y":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"7":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"6":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":10,"docs":{"22":{"tf":4.242640687119285},"28":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"11":{"tf":2.449489742783178},"13":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":2.23606797749979},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"29":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"#":{"4":{"5":{"3":{"3":{"7":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":7,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":3,"docs":{"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"33":{"tf":2.449489742783178},"34":{"tf":2.0},"35":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"28":{"tf":1.7320508075688772}}}}}}},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":2,"docs":{"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":8,"docs":{"16":{"tf":1.0},"28":{"tf":2.449489742783178},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"26":{"tf":1.0}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":2.0},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"41":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"26":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":3.4641016151377544}},"e":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"df":9,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":2.449489742783178}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"23":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"32":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}},"r":{"\"":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"1":{"2":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"5":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":5,"docs":{"28":{"tf":2.449489742783178},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":2.449489742783178},"49":{"tf":2.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.3166247903554},"46":{"tf":6.928203230275509},"48":{"tf":1.0},"49":{"tf":3.3166247903554},"52":{"tf":2.0}}}}}},"d":{"df":14,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"54":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"51":{"tf":1.0}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"40":{"tf":1.0},"9":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":2.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"28":{"tf":2.0},"32":{"tf":1.0},"33":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}},"x":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"41":{"tf":1.0}}}}}}}}},"r":{"(":{"c":{"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":2.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0}},"e":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"33":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}}}},"m":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":2.6457513110645907},"49":{"tf":2.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":3.1622776601683795}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":14,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"28":{"tf":3.1622776601683795},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"0":{"3":{"3":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"2":{"3":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"31":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"2":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":14,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":1,"docs":{"26":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"t":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":19,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":2.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"46":{"tf":2.449489742783178},"47":{"tf":2.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"1":{"tf":2.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":3.1622776601683795},"16":{"tf":2.449489742783178},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"23":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":3.872983346207417},"8":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"15":{"tf":1.0},"54":{"tf":1.0},"9":{"tf":2.449489742783178}}},"df":31,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.0},"11":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"s":{".":{"a":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"7":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":10,"docs":{"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":12,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"w":{"df":1,"docs":{"33":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"23":{"tf":1.0},"32":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":2.23606797749979},"46":{"tf":2.23606797749979},"49":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":18,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"14":{"tf":1.0}}},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"0":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"df":2,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0}}},"b":{"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0},"35":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":2.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.8284271247461903}}}}}},"df":15,"docs":{"28":{"tf":6.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":3.7416573867739413},"34":{"tf":4.358898943540674},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.23606797749979},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":3.1622776601683795},"49":{"tf":2.449489742783178},"7":{"tf":2.449489742783178},"8":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"16":{"tf":2.0},"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"1":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":10,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"51":{"tf":1.0}}}}},"df":3,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}},"i":{"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"22":{"tf":2.23606797749979},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"5":{"tf":1.0}}}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}},"v":{"df":4,"docs":{"34":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"47":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"_":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":1.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"43":{"tf":1.0}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.0},"36":{"tf":1.0}}}},"l":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":10,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":2.0},"43":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.8284271247461903}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":17,"docs":{"1":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":16,"docs":{"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":3.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903},"8":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}},"i":{"c":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":4,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"c":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"54":{"tf":1.0}},"s":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"26":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"b":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":5,"docs":{"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":5,"docs":{"28":{"tf":3.605551275463989},"33":{"tf":4.0},"34":{"tf":4.0},"35":{"tf":2.0},"40":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"13":{"tf":1.0},"36":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"43":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"26":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":4,"docs":{"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":5,"docs":{"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":1.0}}}}}}}},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"23":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}},"n":{"df":3,"docs":{"2":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":7,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":2.8284271247461903},"46":{"tf":5.385164807134504},"49":{"tf":2.8284271247461903},"6":{"tf":3.0},"7":{"tf":2.8284271247461903},"8":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"c":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":2.449489742783178}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"33":{"tf":2.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":3,"docs":{"33":{"tf":4.242640687119285},"34":{"tf":3.3166247903554},"35":{"tf":1.0}}},"2":{".":{"a":{"df":1,"docs":{"33":{"tf":1.7320508075688772}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"33":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"33":{"tf":3.1622776601683795},"34":{"tf":2.8284271247461903},"35":{"tf":1.0}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"2":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":4.0},"34":{"tf":3.4641016151377544},"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"3":{"tf":2.0},"30":{"tf":1.0}}}},"t":{"'":{"df":7,"docs":{"15":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"9":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":8,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0}}},"k":{"df":5,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"b":{"df":1,"docs":{"34":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"16":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"i":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}}}}}},"df":14,"docs":{"16":{"tf":2.449489742783178},"19":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"32":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":4.358898943540674},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":3.0},"7":{"tf":5.477225575051661},"8":{"tf":2.449489742783178}},"s":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":2,"docs":{"19":{"tf":1.0},"33":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"16":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"6":{"4":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":3,"docs":{"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"28":{"tf":5.291502622129181},"29":{"tf":2.0},"30":{"tf":2.0},"40":{"tf":2.449489742783178}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"47":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"39":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"32":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"23":{"tf":1.0},"30":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":11,"docs":{"15":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":4.123105625617661},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"df":10,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":5,"docs":{"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"39":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"47":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"28":{"tf":4.69041575982343},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.449489742783178},"36":{"tf":3.1622776601683795},"38":{"tf":1.0},"40":{"tf":2.23606797749979},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"6":{"4":{"df":5,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.7320508075688772},"7":{"tf":4.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":4,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"47":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"32":{"tf":2.449489742783178},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"36":{"tf":3.0},"40":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":13,"docs":{"22":{"tf":1.0},"28":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":3.872983346207417},"35":{"tf":2.0},"36":{"tf":3.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"7":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":12,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":36,"docs":{"0":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"28":{"tf":3.4641016151377544},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":3.3166247903554},"35":{"tf":1.7320508075688772},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":3.1622776601683795},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":2.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":7,"docs":{"22":{"tf":2.23606797749979},"28":{"tf":2.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"49":{"tf":2.6457513110645907},"7":{"tf":2.6457513110645907}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.23606797749979}},"i":{"d":{"df":3,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.449489742783178},"47":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"8":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"a":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"33":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"16":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"44":{"tf":2.449489742783178},"46":{"tf":1.7320508075688772},"49":{"tf":1.7320508075688772}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"c":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":14,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":2.6457513110645907},"44":{"tf":3.0},"46":{"tf":3.605551275463989},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"33":{"tf":1.0},"41":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"y":{"df":25,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"r":{"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"v":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"b":{"df":1,"docs":{"6":{"tf":2.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":9,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"24":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":5,"docs":{"33":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"43":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"23":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"19":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"48":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":23,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}},"l":{"d":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"9":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"52":{"tf":1.0}},"p":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":12,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"29":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":12,"docs":{"13":{"tf":2.0},"16":{"tf":2.23606797749979},"28":{"tf":4.358898943540674},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":3,"docs":{"16":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"34":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":4,"docs":{"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"5":{"tf":1.0}}},"v":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"breadcrumbs":{"root":{"0":{".":{"1":{"df":4,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}},"3":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":2.23606797749979}},"x":{"0":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"0":{"0":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}},"df":1,"docs":{"7":{"tf":1.0}}},"4":{"2":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"4":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"2":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":5,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":2.0},"28":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}},"3":{".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":2.0},"26":{"tf":1.0},"8":{"tf":1.0}}},"4":{"3":{"1":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"7":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}}},"8":{"df":2,"docs":{"22":{"tf":2.449489742783178},"7":{"tf":1.0}}},"_":{"df":4,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951}}},"df":0,"docs":{},"w":{"df":12,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}},"g":{"df":6,"docs":{"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"5":{"tf":1.0}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"1":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"z":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.6457513110645907},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"r":{"c":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":6,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"22":{"tf":1.0},"31":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":2.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"19":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}}},"y":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.0},"24":{"tf":2.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":3,"docs":{"3":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"df":21,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"2":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.449489742783178},"3":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"49":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"53":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"25":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"d":{"df":2,"docs":{"40":{"tf":1.0},"45":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}},"i":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":4,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":4.69041575982343},"34":{"tf":3.4641016151377544},"35":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"28":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"28":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"28":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"29":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"7":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":2.8284271247461903},"12":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"l":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":6.164414002968976},"29":{"tf":2.23606797749979},"30":{"tf":2.0},"31":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"b":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":2,"docs":{"36":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"40":{"tf":1.0}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"41":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"43":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":3.605551275463989},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":2.0},"29":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0},"6":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"36":{"tf":1.0},"48":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"29":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":8,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"2":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"8":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":22,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":2.8284271247461903},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"17":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"29":{"tf":1.0}}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":2.8284271247461903},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"25":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"48":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"17":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"i":{"d":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"i":{"'":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":10,"docs":{"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":3.0},"46":{"tf":3.0},"49":{"tf":2.8284271247461903},"7":{"tf":2.6457513110645907}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"36":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"'":{"_":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"18":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"27":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":6,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"13":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"7":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":2.0},"27":{"tf":1.0},"7":{"tf":1.7320508075688772}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"22":{"tf":3.605551275463989},"26":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.0},"49":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.0}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"20":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"18":{"tf":1.0},"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"51":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":2,"docs":{"20":{"tf":1.0},"44":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":5,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"28":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"8":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":2.23606797749979},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"3":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0}}}},"df":1,"docs":{"22":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":12,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"21":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":8,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.4142135623730951},"47":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"36":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":5,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}},"q":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"26":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"11":{"tf":2.0},"43":{"tf":1.4142135623730951},"46":{"tf":3.605551275463989},"47":{"tf":1.0},"49":{"tf":1.7320508075688772},"9":{"tf":1.0}},"u":{"df":1,"docs":{"19":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"41":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"8":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":24,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"41":{"tf":2.23606797749979},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"28":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"19":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"19":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":2.6457513110645907},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"2":{"tf":1.7320508075688772},"47":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"t":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"n":{"df":2,"docs":{"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"41":{"tf":1.0},"43":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.0},"8":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"6":{"tf":1.7320508075688772},"7":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":1,"docs":{"22":{"tf":2.449489742783178}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"48":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"22":{"tf":2.0},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"x":{"df":6,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"n":{"df":17,"docs":{"22":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":4.358898943540674},"30":{"tf":1.0},"33":{"tf":4.358898943540674},"34":{"tf":4.358898943540674},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":4.47213595499958},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":3.872983346207417},"6":{"tf":1.0},"7":{"tf":3.872983346207417},"8":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":2,"docs":{"26":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"22":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"47":{"tf":1.0}}}}},"k":{"df":1,"docs":{"1":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"22":{"tf":2.0},"23":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"49":{"tf":1.0},"5":{"tf":1.0}},"t":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"32":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951}}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":37,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":3.872983346207417},"12":{"tf":3.0},"13":{"tf":3.3166247903554},"14":{"tf":2.23606797749979},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.449489742783178},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":4.47213595499958},"44":{"tf":3.4641016151377544},"45":{"tf":1.0},"46":{"tf":3.7416573867739413},"47":{"tf":4.0},"48":{"tf":2.0},"49":{"tf":2.449489742783178},"5":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.8284271247461903}},"e":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"l":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":2.8284271247461903}}}}}}}},"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"40":{"tf":2.0}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.8284271247461903},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.4641016151377544},"40":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"28":{"tf":1.0}}},"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.3166247903554},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.872983346207417},"40":{"tf":2.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.0},"40":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}},"r":{"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"df":13,"docs":{"17":{"tf":1.0},"24":{"tf":2.0},"25":{"tf":2.6457513110645907},"27":{"tf":1.7320508075688772},"28":{"tf":4.898979485566356},"29":{"tf":3.0},"30":{"tf":2.0},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"t":{"'":{"df":1,"docs":{"46":{"tf":1.0}}},"df":11,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"48":{"tf":2.0},"5":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":10,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"7":{"tf":3.0}}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":13,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":2.8284271247461903},"47":{"tf":1.0},"49":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0}}}},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"d":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"19":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"28":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":2.449489742783178},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}},"o":{"df":1,"docs":{"28":{"tf":1.0}}}},"p":{"df":4,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"22":{"tf":1.0},"46":{"tf":1.0}}}},"o":{"d":{"df":3,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"d":{"df":2,"docs":{"3":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"m":{"df":1,"docs":{"32":{"tf":1.0}}},"v":{"df":9,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":6,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"46":{"tf":3.0},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"22":{"tf":3.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"'":{"df":1,"docs":{"44":{"tf":1.0}}},")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":4.58257569495584},"49":{"tf":3.1622776601683795},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"40":{"tf":1.0},"45":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"33":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"28":{"tf":3.1622776601683795},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":32,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":2.23606797749979},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"1":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0}},"i":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"i":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":2.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"19":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"f":{"a":{"c":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"29":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"25":{"tf":1.0}},"t":{"df":3,"docs":{"10":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":3,"docs":{"21":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":3,"docs":{"1":{"tf":1.0},"30":{"tf":1.0},"45":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"'":{"df":29,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"44":{"tf":3.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":2,"docs":{"20":{"tf":1.0},"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":8,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":4,"docs":{"14":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"31":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"23":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":1,"docs":{"13":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"30":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"b":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":16,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":2.23606797749979},"37":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"32":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"47":{"tf":1.0},"51":{"tf":1.0}}}},"v":{"df":2,"docs":{"23":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"'":{"df":16,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":2.0},"33":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":8,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"2":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}},"k":{"df":3,"docs":{"48":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}},"t":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"40":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":2.6457513110645907},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":5,"docs":{"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"9":{"tf":1.0}}},"s":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"t":{"df":10,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"w":{"df":2,"docs":{"44":{"tf":1.0},"8":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"27":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"27":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":16,"docs":{"1":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.8284271247461903},"48":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"23":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":12,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"b":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"32":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":2,"docs":{"3":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"24":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"1":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"28":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"24":{"tf":1.0}}}}},"v":{"df":1,"docs":{"7":{"tf":3.872983346207417}},"e":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"46":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"9":{"tf":1.0}}},"u":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":3.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":4.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"40":{"tf":2.6457513110645907},"43":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"48":{"tf":2.0},"49":{"tf":2.6457513110645907},"7":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"x":{"df":6,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"1":{"tf":1.0},"43":{"tf":1.0},"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":3.4641016151377544},"46":{"tf":3.1622776601683795},"48":{"tf":1.7320508075688772},"49":{"tf":3.0}},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":2.0},"9":{"tf":1.0}}}}},"b":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"36":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0}}}}}},"df":11,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.23606797749979},"8":{"tf":1.0},"9":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":10,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}},"k":{"b":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":5,"docs":{"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}},"h":{"df":4,"docs":{"22":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"!":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":19,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":3.3166247903554},"23":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"36":{"tf":1.0}}},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"n":{"c":{"df":10,"docs":{"25":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":2.8284271247461903}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}},"r":{"df":11,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"6":{"tf":2.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.7320508075688772},"34":{"tf":1.0}}}}}}},"s":{"df":3,"docs":{"6":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":5,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0}}}}}}},"t":{"df":10,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"22":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":2.449489742783178},"49":{"tf":2.0}}}}},"t":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"52":{"tf":1.0},"7":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":2.0},"8":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"29":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":2.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"32":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"34":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"40":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"34":{"tf":3.4641016151377544},"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"'":{"a":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":14,"docs":{"24":{"tf":1.0},"28":{"tf":2.0},"31":{"tf":2.449489742783178},"32":{"tf":2.23606797749979},"33":{"tf":1.4142135623730951},"34":{"tf":3.0},"35":{"tf":2.23606797749979},"36":{"tf":3.4641016151377544},"37":{"tf":2.0},"38":{"tf":2.23606797749979},"40":{"tf":3.3166247903554},"43":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"53":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}}}}}},"y":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"7":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"6":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":10,"docs":{"22":{"tf":4.358898943540674},"28":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"11":{"tf":2.449489742783178},"13":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":2.23606797749979},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"29":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"#":{"4":{"5":{"3":{"3":{"7":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":7,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":3,"docs":{"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"33":{"tf":2.449489742783178},"34":{"tf":2.0},"35":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"28":{"tf":1.7320508075688772}}}}}}},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":2,"docs":{"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":8,"docs":{"16":{"tf":1.0},"28":{"tf":2.449489742783178},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"26":{"tf":1.0}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":2.0},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"41":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"26":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":3.605551275463989}},"e":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"df":9,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":2.449489742783178}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"23":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"32":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}},"r":{"\"":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"1":{"2":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"5":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":5,"docs":{"28":{"tf":2.449489742783178},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":2.449489742783178},"49":{"tf":2.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.3166247903554},"46":{"tf":7.0},"48":{"tf":1.0},"49":{"tf":3.3166247903554},"52":{"tf":2.23606797749979}}}}}},"d":{"df":14,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"40":{"tf":1.0},"9":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":2.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"28":{"tf":2.0},"32":{"tf":1.0},"33":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}},"x":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"41":{"tf":1.0}}}}}}}}},"r":{"(":{"c":{"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":2.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0}},"e":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"33":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}}}},"m":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":2.6457513110645907},"49":{"tf":2.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":3.1622776601683795}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":14,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"28":{"tf":3.1622776601683795},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"0":{"3":{"3":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"2":{"3":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"31":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"2":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":14,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":1,"docs":{"26":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"t":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":19,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":2.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"46":{"tf":2.449489742783178},"47":{"tf":2.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"1":{"tf":2.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":3.3166247903554},"16":{"tf":2.449489742783178},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"23":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":3.872983346207417},"8":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"15":{"tf":1.4142135623730951},"54":{"tf":1.0},"9":{"tf":2.449489742783178}}},"df":31,"docs":{"0":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"s":{".":{"a":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"7":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":10,"docs":{"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":12,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"w":{"df":1,"docs":{"33":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"23":{"tf":1.0},"32":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":2.23606797749979},"46":{"tf":2.23606797749979},"49":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":18,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"14":{"tf":1.0}}},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"0":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"df":2,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0}}},"b":{"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0},"35":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":2.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.8284271247461903}}}}}},"df":15,"docs":{"28":{"tf":6.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"33":{"tf":3.872983346207417},"34":{"tf":4.358898943540674},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":3.1622776601683795},"49":{"tf":2.449489742783178},"7":{"tf":2.449489742783178},"8":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"16":{"tf":2.0},"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"1":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":10,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"51":{"tf":1.0}}}}},"df":3,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}},"i":{"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"22":{"tf":2.23606797749979},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"5":{"tf":1.0}}}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}},"v":{"df":4,"docs":{"34":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"47":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"_":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":1.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"43":{"tf":1.0}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.0},"36":{"tf":1.0}}}},"l":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":10,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.6457513110645907},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":2.0},"43":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.8284271247461903}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":17,"docs":{"1":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":16,"docs":{"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":3.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903},"8":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}},"i":{"c":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":4,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"c":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"54":{"tf":1.0}},"s":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"26":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"b":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":5,"docs":{"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":5,"docs":{"28":{"tf":3.605551275463989},"33":{"tf":4.0},"34":{"tf":4.0},"35":{"tf":2.0},"40":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"33":{"tf":3.0},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"13":{"tf":1.0},"36":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"43":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"26":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":4,"docs":{"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":5,"docs":{"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":2.23606797749979},"7":{"tf":1.0}}}}}}}},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"23":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}},"n":{"df":3,"docs":{"2":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":7,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.1622776601683795},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":2.8284271247461903},"46":{"tf":5.385164807134504},"49":{"tf":2.8284271247461903},"6":{"tf":3.0},"7":{"tf":2.8284271247461903},"8":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"c":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":2.449489742783178}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"33":{"tf":2.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":3,"docs":{"33":{"tf":4.242640687119285},"34":{"tf":3.3166247903554},"35":{"tf":1.0}}},"2":{".":{"a":{"df":1,"docs":{"33":{"tf":1.7320508075688772}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"33":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"33":{"tf":3.1622776601683795},"34":{"tf":2.8284271247461903},"35":{"tf":1.0}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"2":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":4.0},"34":{"tf":3.4641016151377544},"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"3":{"tf":2.23606797749979},"30":{"tf":1.0}}}},"t":{"'":{"df":7,"docs":{"15":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"9":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":8,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0}}},"k":{"df":5,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"b":{"df":1,"docs":{"34":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"16":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"i":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}}}}}},"df":14,"docs":{"16":{"tf":2.449489742783178},"19":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"32":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.7320508075688772},"45":{"tf":2.0},"46":{"tf":4.358898943540674},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":3.1622776601683795},"7":{"tf":5.5677643628300215},"8":{"tf":2.449489742783178}},"s":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":2,"docs":{"19":{"tf":1.0},"33":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"16":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"6":{"4":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":3,"docs":{"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"28":{"tf":5.291502622129181},"29":{"tf":2.0},"30":{"tf":2.0},"40":{"tf":2.449489742783178}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"47":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"32":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"23":{"tf":1.0},"30":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":11,"docs":{"15":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":4.123105625617661},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"df":10,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":5,"docs":{"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"39":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"47":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"28":{"tf":4.69041575982343},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.449489742783178},"36":{"tf":3.1622776601683795},"38":{"tf":1.0},"40":{"tf":2.23606797749979},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"6":{"4":{"df":5,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.7320508075688772},"7":{"tf":4.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":4,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"47":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"32":{"tf":2.449489742783178},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"36":{"tf":3.0},"40":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":13,"docs":{"22":{"tf":1.0},"28":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":3.872983346207417},"35":{"tf":2.0},"36":{"tf":3.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"7":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":12,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":36,"docs":{"0":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"28":{"tf":3.4641016151377544},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":3.3166247903554},"35":{"tf":1.7320508075688772},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":3.1622776601683795},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":2.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":7,"docs":{"22":{"tf":2.23606797749979},"28":{"tf":2.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"49":{"tf":2.6457513110645907},"7":{"tf":2.6457513110645907}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.23606797749979}},"i":{"d":{"df":3,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.449489742783178},"47":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"8":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"a":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"33":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"44":{"tf":2.449489742783178},"46":{"tf":1.7320508075688772},"49":{"tf":1.7320508075688772}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"c":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":14,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":2.0},"19":{"tf":2.449489742783178},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":2.6457513110645907},"44":{"tf":3.0},"46":{"tf":3.605551275463989},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"33":{"tf":1.0},"41":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"y":{"df":25,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"r":{"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"v":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"b":{"df":1,"docs":{"6":{"tf":2.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":9,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"24":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":5,"docs":{"33":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"43":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"23":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"19":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"48":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":23,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}},"l":{"d":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"9":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"52":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":12,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"29":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":12,"docs":{"13":{"tf":2.0},"16":{"tf":2.23606797749979},"28":{"tf":4.358898943540674},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":3,"docs":{"16":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"34":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":4,"docs":{"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"5":{"tf":1.0}}},"v":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"title":{"root":{"2":{"0":{"0":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"47":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.0},"20":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"40":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"54":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0}}}}}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"40":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"48":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"2":{"tf":1.0},"54":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"51":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":4,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"45":{"tf":1.0}}}},"v":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/book/searchindex.json b/book/searchindex.json deleted file mode 100644 index f135e47..0000000 --- a/book/searchindex.json +++ /dev/null @@ -1 +0,0 @@ -{"doc_urls":["introduction.html#futures-explained-in-200-lines-of-rust","introduction.html#what-this-book-covers","introduction.html#reader-exercises-and-further-reading","introduction.html#credits-and-thanks","introduction.html#translations","0_background_information.html#some-background-information","0_background_information.html#threads-provided-by-the-operating-system","0_background_information.html#green-threads","0_background_information.html#callback-based-approaches","0_background_information.html#from-callbacks-to-promises","1_futures_in_rust.html#futures-in-rust","1_futures_in_rust.html#futures","1_futures_in_rust.html#leaf-futures","1_futures_in_rust.html#non-leaf-futures","1_futures_in_rust.html#runtimes","1_futures_in_rust.html#what-rusts-standard-library-takes-care-of","1_futures_in_rust.html#io-vs-cpu-intensive-tasks","1_futures_in_rust.html#bonus-section","2_waker_context.html#waker-and-context","2_waker_context.html#the-waker","2_waker_context.html#the-context-type","2_waker_context.html#understanding-the-waker","2_waker_context.html#fat-pointers-in-rust","2_waker_context.html#bonus-section","3_generators_async_await.html#generators-and-asyncawait","3_generators_async_await.html#why-learn-about-generators","3_generators_async_await.html#combinators","3_generators_async_await.html#stackless-coroutinesgenerators","3_generators_async_await.html#how-generators-work","3_generators_async_await.html#async-and-generators","3_generators_async_await.html#bonus-section---self-referential-generators-in-rust-today","4_pin.html#pin","4_pin.html#definitions","4_pin.html#pinning-and-self-referential-structs","4_pin.html#pinning-to-the-stack","4_pin.html#pinning-to-the-heap","4_pin.html#practical-rules-for-pinning","4_pin.html#projectionstructural-pinning","4_pin.html#pin-and-drop","4_pin.html#putting-it-all-together","4_pin.html#bonus-section-fixing-our-self-referential-generator-and-learning-more-about-pin","6_future_example.html#implementing-futures---main-example","6_future_example.html#implementing-our-own-futures","6_future_example.html#the-executor","6_future_example.html#the-future-implementation","6_future_example.html#why-using-thread-parkunpark-is-a-bad-idea-for-a-library","6_future_example.html#the-reactor","6_future_example.html#asyncawait-and-concurrecy","6_future_example.html#bonus-section---a-proper-way-to-park-our-thread","8_finished_example.html#our-finished-code","conclusion.html#conclusion-and-exercises","conclusion.html#reader-exercises","conclusion.html#avoid-wrapping-the-whole-reactor-in-a-mutex-and-pass-it-around","conclusion.html#building-a-better-exectuor","conclusion.html#further-reading"],"index":{"documentStore":{"docInfo":{"0":{"body":36,"breadcrumbs":5,"title":5},"1":{"body":117,"breadcrumbs":2,"title":2},"10":{"body":30,"breadcrumbs":2,"title":2},"11":{"body":104,"breadcrumbs":1,"title":1},"12":{"body":62,"breadcrumbs":2,"title":2},"13":{"body":93,"breadcrumbs":3,"title":3},"14":{"body":127,"breadcrumbs":1,"title":1},"15":{"body":42,"breadcrumbs":5,"title":5},"16":{"body":219,"breadcrumbs":5,"title":5},"17":{"body":67,"breadcrumbs":2,"title":2},"18":{"body":22,"breadcrumbs":2,"title":2},"19":{"body":69,"breadcrumbs":1,"title":1},"2":{"body":41,"breadcrumbs":4,"title":4},"20":{"body":24,"breadcrumbs":2,"title":2},"21":{"body":46,"breadcrumbs":2,"title":2},"22":{"body":386,"breadcrumbs":3,"title":3},"23":{"body":45,"breadcrumbs":2,"title":2},"24":{"body":35,"breadcrumbs":2,"title":2},"25":{"body":89,"breadcrumbs":2,"title":2},"26":{"body":92,"breadcrumbs":1,"title":1},"27":{"body":103,"breadcrumbs":2,"title":2},"28":{"body":899,"breadcrumbs":2,"title":2},"29":{"body":110,"breadcrumbs":2,"title":2},"3":{"body":40,"breadcrumbs":2,"title":2},"30":{"body":87,"breadcrumbs":7,"title":7},"31":{"body":50,"breadcrumbs":1,"title":1},"32":{"body":124,"breadcrumbs":1,"title":1},"33":{"body":423,"breadcrumbs":4,"title":4},"34":{"body":430,"breadcrumbs":2,"title":2},"35":{"body":128,"breadcrumbs":2,"title":2},"36":{"body":169,"breadcrumbs":3,"title":3},"37":{"body":20,"breadcrumbs":2,"title":2},"38":{"body":23,"breadcrumbs":2,"title":2},"39":{"body":9,"breadcrumbs":2,"title":2},"4":{"body":4,"breadcrumbs":1,"title":1},"40":{"body":316,"breadcrumbs":9,"title":9},"41":{"body":73,"breadcrumbs":4,"title":4},"42":{"body":28,"breadcrumbs":2,"title":2},"43":{"body":296,"breadcrumbs":1,"title":1},"44":{"body":473,"breadcrumbs":2,"title":2},"45":{"body":25,"breadcrumbs":6,"title":6},"46":{"body":976,"breadcrumbs":1,"title":1},"47":{"body":199,"breadcrumbs":2,"title":2},"48":{"body":240,"breadcrumbs":6,"title":6},"49":{"body":380,"breadcrumbs":2,"title":2},"5":{"body":49,"breadcrumbs":2,"title":2},"50":{"body":38,"breadcrumbs":2,"title":2},"51":{"body":21,"breadcrumbs":2,"title":2},"52":{"body":52,"breadcrumbs":7,"title":7},"53":{"body":29,"breadcrumbs":3,"title":3},"54":{"body":44,"breadcrumbs":2,"title":2},"6":{"body":235,"breadcrumbs":4,"title":4},"7":{"body":617,"breadcrumbs":2,"title":2},"8":{"body":288,"breadcrumbs":3,"title":3},"9":{"body":231,"breadcrumbs":2,"title":2}},"docs":{"0":{"body":"This book aims to explain Futures in Rust using an example driven approach, exploring why they're designed the way they are, and how they work. We'll also take a look at some of the alternatives we have when dealing with concurrency in programming. Going into the level of detail I do in this book is not needed to use futures or async/await in Rust. It's for the curious out there that want to know how it all works.","breadcrumbs":"Futures Explained in 200 Lines of Rust","id":"0","title":"Futures Explained in 200 Lines of Rust"},"1":{"body":"This book will try to explain everything you might wonder about up until the topic of different types of executors and runtimes. We'll just implement a very simple runtime in this book introducing some concepts but it's enough to get started. Stjepan Glavina has made an excellent series of articles about async runtimes and executors, and if the rumors are right there is more to come from him in the near future. The way you should go about it is to read this book first, then continue reading the articles from stejpang to learn more about runtimes and how they work, especially: Build your own block_on() Build your own executor I've limited myself to a 200 line main example (hence the title) to limit the scope and introduce an example that can easily be explored further. However, there is a lot to digest and it's not what I would call easy, but we'll take everything step by step so get a cup of tea and relax. I hope you enjoy the ride. This book is developed in the open, and contributions are welcome. You'll find the repository for the book itself here . The final example which you can clone, fork or copy can be found here . Any suggestions or improvements can be filed as a PR or in the issue tracker for the book. As always, all kinds of feedback is welcome.","breadcrumbs":"What this book covers","id":"1","title":"What this book covers"},"10":{"body":"Overview: Get a high level introduction to concurrency in Rust Know what Rust provides and not when working with async code Get to know why we need a runtime-library in Rust Understand the difference between \"leaf-future\" and a \"non-leaf-future\" Get insight on how to handle CPU intensive tasks","breadcrumbs":"Futures in Rust","id":"10","title":"Futures in Rust"},"11":{"body":"So what is a future? A future is a representation of some operation which will complete in the future. Async in Rust uses a Poll based approach, in which an asynchronous task will have three phases. The Poll phase. A Future is polled which result in the task progressing until a point where it can no longer make progress. We often refer to the part of the runtime which polls a Future as an executor. The Wait phase. An event source, most often referred to as a reactor, registers that a Future is waiting for an event to happen and makes sure that it will wake the Future when that event is ready. The Wake phase. The event happens and the Future is woken up. It's now up to the executor which polled the Future in step 1 to schedule the future to be polled again and make further progress until it completes or reaches a new point where it can't make further progress and the cycle repeats. Now, when we talk about futures I find it useful to make a distinction between non-leaf futures and leaf futures early on because in practice they're pretty different from one another.","breadcrumbs":"Futures","id":"11","title":"Futures"},"12":{"body":"Runtimes create leaf futures which represents a resource like a socket. // stream is a **leaf-future**\nlet mut stream = tokio::net::TcpStream::connect(\"127.0.0.1:3000\"); Operations on these resources, like a Read on a socket, will be non-blocking and return a future which we call a leaf future since it's the future which we're actually waiting on. It's unlikely that you'll implement a leaf future yourself unless you're writing a runtime, but we'll go through how they're constructed in this book as well. It's also unlikely that you'll pass a leaf-future to a runtime and run it to completion alone as you'll understand by reading the next paragraph.","breadcrumbs":"Leaf futures","id":"12","title":"Leaf futures"},"13":{"body":"Non-leaf-futures is the kind of futures we as users of a runtime write ourselves using the async keyword to create a task which can be run on the executor. The bulk of an async program will consist of non-leaf-futures, which are a kind of pause-able computation. This is an important distinction since these futures represents a set of operations . Often, such a task will await a leaf future as one of many operations to complete the task. // Non-leaf-future\nlet non_leaf = async { let mut stream = TcpStream::connect(\"127.0.0.1:3000\").await.unwrap();// <- yield println!(\"connected!\"); let result = stream.write(b\"hello world\\n\").await; // <- yield println!(\"message sent!\"); ...\n}; The key to these tasks is that they're able to yield control to the runtime's scheduler and then resume execution again where it left off at a later point. In contrast to leaf futures, these kind of futures does not themselves represent an I/O resource. When we poll these futures we either run some code or we yield to the scheduler while waiting for some resource to signal us that it's ready so we can resume where we left off.","breadcrumbs":"Non-leaf-futures","id":"13","title":"Non-leaf-futures"},"14":{"body":"Languages like C#, JavaScript, Java, GO and many others comes with a runtime for handling concurrency. So if you come from one of those languages this will seem a bit strange to you. Rust is different from these languages in the sense that Rust doesn't come with a runtime for handling concurrency, so you need to use a library which provide this for you. Quite a bit of complexity attributed to Futures is actually complexity rooted in runtimes. Creating an efficient runtime is hard. Learning how to use one correctly requires quite a bit of effort as well, but you'll see that there are several similarities between these kind of runtimes so learning one makes learning the next much easier. The difference between Rust and other languages is that you have to make an active choice when it comes to picking a runtime. Most often, in other languages you'll just use the one provided for you. An async runtime can be divided into two parts: The Executor The Reactor When Rusts Futures were designed there was a desire to separate the job of notifying a Future that it can do more work, and actually doing the work on the Future. You can think of the former as the reactor's job, and the latter as the executors job. These two parts of a runtime interact with each other using the Waker type. The two most popular runtimes for Futures as of writing this is: async-std Tokio","breadcrumbs":"Runtimes","id":"14","title":"Runtimes"},"15":{"body":"A common interface representing an operation which will be completed in the future through the Future trait. An ergonomic way of creating tasks which can be suspended and resumed through the async and await keywords. A defined interface wake up a suspended task through the Waker type. That's really what Rusts standard library does. As you see there is no definition of non-blocking I/O, how these tasks are created or how they're run.","breadcrumbs":"What Rust's standard library takes care of","id":"15","title":"What Rust's standard library takes care of"},"16":{"body":"As you know now, what you normally write are called non-leaf futures. Let's take a look at this async block using pseudo-rust as example: let non_leaf = async { let mut stream = TcpStream::connect(\"127.0.0.1:3000\").await.unwrap(); // <-- yield // request a large dataset let result = stream.write(get_dataset_request).await.unwrap(); // <-- yield // wait for the dataset let mut response = vec![]; stream.read(&mut response).await.unwrap(); // <-- yield // do some CPU-intensive analysis on the dataset let report = analyzer::analyze_data(response).unwrap(); // send the results back stream.write(report).await.unwrap(); // <-- yield\n}; Now, as you'll see when we go through how Futures work, the code we write between the yield points are run on the same thread as our executor. That means that while our analyzer is working on the dataset, the executor is busy doing calculations instead of handling new requests. Fortunately there are a few ways to handle this, and it's not difficult, but it's something you must be aware of: We could create a new leaf future which sends our task to another thread and resolves when the task is finished. We could await this leaf-future like any other future. The runtime could have some kind of supervisor that monitors how much time different tasks take, and move the executor itself to a different thread so it can continue to run even though our analyzer task is blocking the original executor thread. You can create a reactor yourself which is compatible with the runtime which does the analysis any way you see fit, and returns a Future which can be awaited. Now, #1 is the usual way of handling this, but some executors implement #2 as well. The problem with #2 is that if you switch runtime you need to make sure that it supports this kind of supervision as well or else you will end up blocking the executor. #3 is more of theoretical importance, normally you'd be happy by sending the task to the thread-pool most runtimes provide. Most executors have a way to accomplish #1 using methods like spawn_blocking. These methods send the task to a thread-pool created by the runtime where you can either perform CPU-intensive tasks or \"blocking\" tasks which is not supported by the runtime. Now, armed with this knowledge you are already on a good way for understanding Futures, but we're not gonna stop yet, there is lots of details to cover. Take a break or a cup of coffe and get ready as we go for a deep dive in the next chapters.","breadcrumbs":"I/O vs CPU intensive tasks","id":"16","title":"I/O vs CPU intensive tasks"},"17":{"body":"If you find the concepts of concurrency and async programming confusing in general, I know where you're coming from and I have written some resources to try to give a high level overview that will make it easier to learn Rusts Futures afterwards: Async Basics - The difference between concurrency and parallelism Async Basics - Async history Async Basics - Strategies for handling I/O Async Basics - Epoll, Kqueue and IOCP Learning these concepts by studying futures is making it much harder than it needs to be, so go on and read these chapters if you feel a bit unsure. I'll be right here when you're back. However, if you feel that you have the basics covered, then let's get moving!","breadcrumbs":"Bonus section","id":"17","title":"Bonus section"},"18":{"body":"Overview: Understand how the Waker object is constructed Learn how the runtime know when a leaf-future can resume Learn the basics of dynamic dispatch and trait objects The Waker type is described as part of RFC#2592 .","breadcrumbs":"Waker and Context","id":"18","title":"Waker and Context"},"19":{"body":"The Waker type allows for a loose coupling between the reactor-part and the executor-part of a runtime. By having a wake up mechanism that is not tied to the thing that executes the future, runtime-implementors can come up with interesting new wake-up mechanisms. An example of this can be spawning a thread to do some work that eventually notifies the future, completely independent of the current runtime. Without a waker, the executor would be the only way to notify a running task, whereas with the waker, we get a loose coupling where it's easy to extend the ecosystem with new leaf-level tasks. If you want to read more about the reasoning behind the Waker type I can recommend Withoutboats articles series about them .","breadcrumbs":"The Waker","id":"19","title":"The Waker"},"2":{"body":"In the last chapter I've taken the liberty to suggest some small exercises if you want to explore a little further. This book is also the fourth book I have written about concurrent programming in Rust. If you like it, you might want to check out the others as well: Green Threads Explained in 200 lines of rust The Node Experiment - Exploring Async Basics with Rust Epoll, Kqueue and IOCP Explained with Rust","breadcrumbs":"Reader exercises and further reading","id":"2","title":"Reader exercises and further reading"},"20":{"body":"As the docs state as of now this type only wrapps a Waker, but it gives some flexibility for future evolutions of the API in Rust. The context can for example hold task-local storage and provide space for debugging hooks in later iterations.","breadcrumbs":"The Context type","id":"20","title":"The Context type"},"21":{"body":"One of the most confusing things we encounter when implementing our own Futures is how we implement a Waker . Creating a Waker involves creating a vtable which allows us to use dynamic dispatch to call methods on a type erased trait object we construct our selves. If you want to know more about dynamic dispatch in Rust I can recommend an article written by Adam Schwalm called Exploring Dynamic Dispatch in Rust . Let's explain this a bit more in detail.","breadcrumbs":"Understanding the Waker","id":"21","title":"Understanding the Waker"},"22":{"body":"To get a better understanding of how we implement the Waker in Rust, we need to take a step back and talk about some fundamentals. Let's start by taking a look at the size of some different pointer types in Rust. Run the following code (You'll have to press \"play\" to see the output) : # use std::mem::size_of;\ntrait SomeTrait { } fn main() { println!(\"======== The size of different pointers in Rust: ========\"); println!(\"&dyn Trait:-----{}\", size_of::<&dyn SomeTrait>()); println!(\"&[&dyn Trait]:--{}\", size_of::<&[&dyn SomeTrait]>()); println!(\"Box:-----{}\", size_of::>()); println!(\"&i32:-----------{}\", size_of::<&i32>()); println!(\"&[i32]:---------{}\", size_of::<&[i32]>()); println!(\"Box:-------{}\", size_of::>()); println!(\"&Box:------{}\", size_of::<&Box>()); println!(\"[&dyn Trait;4]:-{}\", size_of::<[&dyn SomeTrait; 4]>()); println!(\"[i32;4]:--------{}\", size_of::<[i32; 4]>());\n} As you see from the output after running this, the sizes of the references varies. Many are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 bytes. The 16 byte sized pointers are called \"fat pointers\" since they carry extra information. Example &[i32] : The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to) The second 8 bytes is the length of the slice. Example &dyn SomeTrait: This is the type of fat pointer we'll concern ourselves about going forward. &dyn SomeTrait is a reference to a trait, or what Rust calls a trait object . The layout for a pointer to a trait object looks like this: The first 8 bytes points to the data for the trait object The second 8 bytes points to the vtable for the trait object The reason for this is to allow us to refer to an object we know nothing about except that it implements the methods defined by our trait. To accomplish this we use dynamic dispatch . Let's explain this in code instead of words by implementing our own trait object from these parts: // A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)\ntrait Test { fn add(&self) -> i32; fn sub(&self) -> i32; fn mul(&self) -> i32;\n} // This will represent our home brewn fat pointer to a trait object\n#[repr(C)]\nstruct FatPointer<'a> { /// A reference is a pointer to an instantiated `Data` instance data: &'a mut Data, /// Since we need to pass in literal values like length and alignment it's /// easiest for us to convert pointers to usize-integers instead of the other way around. vtable: *const usize,\n} // This is the data in our trait object. It's just two numbers we want to operate on.\nstruct Data { a: i32, b: i32,\n} // ====== function definitions ======\nfn add(s: &Data) -> i32 { s.a + s.b\n}\nfn sub(s: &Data) -> i32 { s.a - s.b\n}\nfn mul(s: &Data) -> i32 { s.a * s.b\n} fn main() { let mut data = Data {a: 3, b: 2}; // vtable is like special purpose array of pointer-length types with a fixed // format where the three first values has a special meaning like the // length of the array is encoded in the array itself as the second value. let vtable = vec![ 0, // pointer to `Drop` (which we're not implementing here) 6, // length of vtable 8, // alignment // we need to make sure we add these in the same order as defined in the Trait. add as usize, // function pointer - try changing the order of `add` sub as usize, // function pointer - and `sub` to see what happens mul as usize, // function pointer ]; let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()}; let test = unsafe { std::mem::transmute::(fat_pointer) }; // And voalá, it's now a trait object we can call methods on println!(\"Add: 3 + 2 = {}\", test.add()); println!(\"Sub: 3 - 2 = {}\", test.sub()); println!(\"Mul: 3 * 2 = {}\", test.mul());\n} Later on, when we implement our own Waker we'll actually set up a vtable like we do here. The way we create it is slightly different, but now that you know how regular trait objects work you will probably recognize what we're doing which makes it much less mysterious.","breadcrumbs":"Fat pointers in Rust","id":"22","title":"Fat pointers in Rust"},"23":{"body":"You might wonder why the Waker was implemented like this and not just as a normal trait? The reason is flexibility. Implementing the Waker the way we do here gives a lot of flexibility of choosing what memory management scheme to use. The \"normal\" way is by using an Arc to use reference count keep track of when a Waker object can be dropped. However, this is not the only way, you could also use purely global functions and state, or any other way you wish. This leaves a lot of options on the table for runtime implementors.","breadcrumbs":"Bonus section","id":"23","title":"Bonus section"},"24":{"body":"Overview: Understand how the async/await syntax works under the hood See first hand why we need Pin Understand what makes Rusts async model very memory efficient The motivation for Generators can be found in RFC#2033 . It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators).","breadcrumbs":"Generators and async/await","id":"24","title":"Generators and async/await"},"25":{"body":"Generators/yield and async/await are so similar that once you understand one you should be able to understand the other. It's much easier for me to provide runnable and short examples using Generators instead of Futures which require us to introduce a lot of concepts now that we'll cover later just to show an example. Async/await works like generators but instead of returning a generator it returns a special object implementing the Future trait. A small bonus is that you'll have a pretty good introduction to both Generators and Async/Await by the end of this chapter. Basically, there were three main options discussed when designing how Rust would handle concurrency: Stackful coroutines, better known as green threads. Using combinators. Stackless coroutines, better known as generators. We covered green threads in the background information so we won't repeat that here. We'll concentrate on the variants of stackless coroutines which Rust uses today.","breadcrumbs":"Why learn about generators?","id":"25","title":"Why learn about generators?"},"26":{"body":"Futures 0.1 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this: let future = Connection::connect(conn_str).and_then(|conn| { conn.query(\"somerequest\").map(|row|{ SomeStruct::from(row) }).collect::>()\n}); let rows: Result, SomeLibraryError> = block_on(future); There are mainly three downsides I'll focus on using this technique: The error messages produced could be extremely long and arcane Not optimal memory usage Did not allow to borrow across combinator steps. Point #3, is actually a major drawback with Futures 0.1. Not allowing borrows across suspension points ends up being very un-ergonomic and to accomplish some tasks it requires extra allocations or copying which is inefficient. The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.","breadcrumbs":"Combinators","id":"26","title":"Combinators"},"27":{"body":"This is the model used in Rust today. It has a few notable advantages: It's easy to convert normal Rust code to a stackless coroutine using using async/await as keywords (it can even be done using a macro). No need for context switching and saving/restoring CPU state No need to handle dynamic stack allocation Very memory efficient Allows us to borrow across suspension points The last point is in contrast to Futures 0.1. With async/await we can do this: async fn myfn() { let text = String::from(\"Hello world\"); let borrowed = &text[0..5]; somefuture.await; println!(\"{}\", borrowed);\n} Async in Rust is implemented using Generators. So to understand how async really works we need to understand generators first. Generators in Rust are implemented as state machines. The memory footprint of a chain of computations is defined by the largest footprint that a single step requires . That means that adding steps to a chain of computations might not require any increased memory at all and it's one of the reasons why Futures and Async in Rust has very little overhead.","breadcrumbs":"Stackless coroutines/generators","id":"27","title":"Stackless coroutines/generators"},"28":{"body":"In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure could look like this before we had a concept of Pin: #![feature(generators, generator_trait)]\nuse std::ops::{Generator, GeneratorState}; fn main() { let a: i32 = 4; let mut gen = move || { println!(\"Hello\"); yield a * 2; println!(\"world!\"); }; if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this: fn main() { let mut gen = GeneratorA::start(4); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} // If you've ever wondered why the parameters are called Y and R the naming from\n// the original rfc most likely holds the answer\nenum GeneratorState { Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter(i32), Yield1(i32), Exit,\n} impl GeneratorA { fn start(a1: i32) -> Self { GeneratorA::Enter(a1) }\n} impl Generator for GeneratorA { type Yield = i32; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(self, GeneratorA::Exit) { GeneratorA::Enter(a1) => { /*----code before yield----*/ println!(\"Hello\"); let a = a1 * 2; *self = GeneratorA::Yield1(a); GeneratorState::Yielded(a) } GeneratorA::Yield1(_) => { /*-----code after yield-----*/ println!(\"world!\"); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} The yield keyword was discussed first in RFC#1823 and in RFC#1832 . Now that you know that the yield keyword in reality rewrites your code to become a state machine, you'll also know the basics of how await works. It's very similar. Now, there are some limitations in our naive state machine above. What happens when you have a borrow across a yield point? We could forbid that, but one of the major design goals for the async/await syntax has been to allow this . These kinds of borrows were not possible using Futures 0.1 so we can't let this limitation just slip and call it a day yet. Instead of discussing it in theory, let's look at some code. We'll use the optimized version of the state machines which is used in Rust today. For a more in depth explanation see Tyler Mandry's excellent article: How Rust optimizes async/await let mut generator = move || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; We'll be hand-coding some versions of a state-machines representing a state machine for the generator defined above. We step through each step \"manually\" in every example, so it looks pretty unfamiliar. We could add some syntactic sugar like implementing the Iterator trait for our generators which would let us do this: while let Some(val) = generator.next() { println!(\"{}\", val);\n} It's a pretty trivial change to make, but this chapter is already getting long. Just keep this in the back of your head as we move forward. Now what does our rewritten state machine look like with this example? # enum GeneratorState {\n# Yielded(Y),\n# Complete(R),\n# }\n#\n# trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# } enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: &String, // uh, what lifetime should this have? }, Exit,\n} # impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(self, GeneratorA::Exit) { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; // <--- NB! let res = borrowed.len(); *self = GeneratorA::Yield1 {to_borrow, borrowed}; GeneratorState::Yielded(res) } GeneratorA::Yield1 {to_borrow, borrowed} => { println!(\"Hello {}\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} If you try to compile this you'll get an error (just try it yourself by pressing play). What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that to make this work, we'll have to let the compiler know that we control this correctly ourselves. That means turning to unsafe. Let's try to write an implementation that will compiler using unsafe. As you'll see we end up in a self referential struct . A struct which holds references into itself. As you'll notice, this compiles just fine! enum GeneratorState { Yielded(Y), Complete(R),\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, // NB! This is now a raw pointer! }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n}\nimpl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { match self { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; // NB! And we set the pointer to reference the to_borrow string here if let GeneratorA::Yield1 {to_borrow, borrowed} = self { *borrowed = to_borrow; } GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Remember that our example is the generator we crated which looked like this: let mut gen = move || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; Below is an example of how we could run this state-machine and as you see it does what we'd expect. But there is still one huge problem with this: pub fn main() { let mut gen = GeneratorA::start(); let mut gen2 = GeneratorA::start(); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Yielded(n) = gen2.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n}\n# enum GeneratorState {\n# Yielded(Y),\n# Complete(R),\n# }\n#\n# trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# }\n#\n# enum GeneratorA {\n# Enter,\n# Yield1 {\n# to_borrow: String,\n# borrowed: *const String,\n# },\n# Exit,\n# }\n#\n# impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# }\n# impl Generator for GeneratorA {\n# type Yield = usize;\n# type Return = ();\n# fn resume(&mut self) -> GeneratorState {\n# match self {\n# GeneratorA::Enter => {\n# let to_borrow = String::from(\"Hello\");\n# let borrowed = &to_borrow;\n# let res = borrowed.len();\n# *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};\n#\n# // We set the self-reference here\n# if let GeneratorA::Yield1 {to_borrow, borrowed} = self {\n# *borrowed = to_borrow;\n# }\n#\n# GeneratorState::Yielded(res)\n# }\n#\n# GeneratorA::Yield1 {borrowed, ..} => {\n# let borrowed: &String = unsafe {&**borrowed};\n# println!(\"{} world\", borrowed);\n# *self = GeneratorA::Exit;\n# GeneratorState::Complete(())\n# }\n# GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"),\n# }\n# }\n# } The problem is that in safe Rust we can still do this: Run the code and compare the results. Do you see the problem? # #![feature(never_type)] // Force nightly compiler to be used in playground\n# // by betting on it's true that this type is named after it's stabilization date...\npub fn main() { let mut gen = GeneratorA::start(); let mut gen2 = GeneratorA::start(); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } std::mem::swap(&mut gen, &mut gen2); // <--- Big problem! if let GeneratorState::Yielded(n) = gen2.resume() { println!(\"Got value {}\", n); } // This would now start gen2 since we swapped them. if let GeneratorState::Complete(()) = gen.resume() { () };\n}\n# enum GeneratorState {\n# Yielded(Y),\n# Complete(R),\n# }\n#\n# trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# }\n#\n# enum GeneratorA {\n# Enter,\n# Yield1 {\n# to_borrow: String,\n# borrowed: *const String,\n# },\n# Exit,\n# }\n#\n# impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# }\n# impl Generator for GeneratorA {\n# type Yield = usize;\n# type Return = ();\n# fn resume(&mut self) -> GeneratorState {\n# match self {\n# GeneratorA::Enter => {\n# let to_borrow = String::from(\"Hello\");\n# let borrowed = &to_borrow;\n# let res = borrowed.len();\n# *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};\n#\n# // We set the self-reference here\n# if let GeneratorA::Yield1 {to_borrow, borrowed} = self {\n# *borrowed = to_borrow;\n# }\n#\n# GeneratorState::Yielded(res)\n# }\n#\n# GeneratorA::Yield1 {borrowed, ..} => {\n# let borrowed: &String = unsafe {&**borrowed};\n# println!(\"{} world\", borrowed);\n# *self = GeneratorA::Exit;\n# GeneratorState::Complete(())\n# }\n# GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"),\n# }\n# }\n# } Wait? What happened to \"Hello\"? And why did our code segfault? Turns out that while the example above compiles just fine, we expose consumers of this this API to both possible undefined behavior and other memory errors while using just safe Rust. This is a big problem! I've actually forced the code above to use the nightly version of the compiler. If you run the example above on the playground , you'll see that it runs without panicking on the current stable (1.42.0) but panics on the current nightly (1.44.0). Scary! We'll explain exactly what happened here using a slightly simpler example in the next chapter and we'll fix our generator using Pin so don't worry, you'll see exactly what goes wrong and see how Pin can help us deal with self-referential types safely in a second. Before we go and explain the problem in detail, let's finish off this chapter by looking at how generators and the async keyword is related.","breadcrumbs":"How generators work","id":"28","title":"How generators work"},"29":{"body":"Futures in Rust are implemented as state machines much the same way Generators are state machines. You might have noticed the similarities in the syntax used in async blocks and the syntax used in generators: let mut gen = move || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; Compare that with a similar example using async blocks: let mut fut = async { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; SomeResource::some_task().await; println!(\"{} world!\", borrowed); }; The difference is that Futures has different states than what a Generator would have. An async block will return a Future instead of a Generator, however, the way a Future works and the way a Generator work internally is similar. Instead of calling Generator::resume we call Future::poll, and instead of returning Yielded or Complete it returns Pending or Ready. Each await point in a future is like a yield point in a generator. Do you see how they're connected now? Thats why knowing how generators work and the challenges they pose also teaches you how futures work and the challenges we need to tackle when working with them. The same goes for the challenges of borrowing across yield/await points.","breadcrumbs":"Async and generators","id":"29","title":"Async and generators"},"3":{"body":"I'd like to take this chance to thank the people behind mio, tokio, async_std, futures, libc, crossbeam which underpins so much of the async ecosystem and and rarely gets enough praise in my eyes. A special thanks to jonhoo who was kind enough to give me some valuable feedback on a very early draft of this book. He has not read the finished product, but a big thanks is definitely due.","breadcrumbs":"Credits and thanks","id":"3","title":"Credits and thanks"},"30":{"body":"Thanks to PR#45337 you can actually run code like the one in our example in Rust today using the static keyword on nightly. Try it for yourself: Beware that the API is changing rapidly. As I was writing this book, generators had an API change adding support for a \"resume\" argument to get passed into the generator closure. Follow the progress on the tracking issue #4312 for RFC#033 . #![feature(generators, generator_trait)]\nuse std::ops::{Generator, GeneratorState}; pub fn main() { let gen1 = static || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; let gen2 = static || { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; yield borrowed.len(); println!(\"{} world!\", borrowed); }; let mut pinned1 = Box::pin(gen1); let mut pinned2 = Box::pin(gen2); if let GeneratorState::Yielded(n) = pinned1.as_mut().resume(()) { println!(\"Gen1 got value {}\", n); } if let GeneratorState::Yielded(n) = pinned2.as_mut().resume(()) { println!(\"Gen2 got value {}\", n); }; let _ = pinned1.as_mut().resume(()); let _ = pinned2.as_mut().resume(());\n}","breadcrumbs":"Bonus section - self referential generators in Rust today","id":"30","title":"Bonus section - self referential generators in Rust today"},"31":{"body":"Overview Learn how to use Pin and why it's required when implementing your own Future Understand how to make self-referential types safe to use in Rust Learn how borrowing across await points is accomplished Get a set of practical rules to help you work with Pin Pin was suggested in RFC#2349 Let's jump strait to it. Pinning is one of those subjects which is hard to wrap your head around in the start, but once you unlock a mental model for it it gets significantly easier to reason about.","breadcrumbs":"Pin","id":"31","title":"Pin"},"32":{"body":"Pin wraps a pointer. A reference to an object is a pointer. Pin gives some guarantees about the pointee (the data it points to) which we'll explore further in this chapter. Pin consists of the Pin type and the Unpin marker. Pin's purpose in life is to govern the rules that need to apply for types which implement !Unpin. Yep, you're right, that's double negation right there. !Unpin means \"not-un-pin\". This naming scheme is one of Rusts safety features where it deliberately tests if you're too tired to safely implement a type with this marker. If you're starting to get confused, or even angry, by !Unpin it's a good sign that it's time to lay down the work and start over tomorrow with a fresh mind. On a more serious note, I feel obliged to mention that there are valid reasons for the names that were chosen. Naming is not easy, and I considered renaming Unpin and !Unpin in this book to make them easier to reason about. However, an experienced member of the Rust community convinced me that that there is just too many nuances and edge-cases to consider which is easily overlooked when naively giving these markers different names, and I'm convinced that we'll just have to get used to them and use them as is. If you want to you can read a bit of the discussion from the internals thread .","breadcrumbs":"Definitions","id":"32","title":"Definitions"},"33":{"body":"Let's start where we left off in the last chapter by making the problem we saw using a self-references in our generator a lot simpler by making some self-referential structs that are easier to reason about than our state machines: For now our example will look like this: use std::pin::Pin; #[derive(Debug)]\nstruct Test { a: String, b: *const String,\n} impl Test { fn new(txt: &str) -> Self { Test { a: String::from(txt), b: std::ptr::null(), } } fn init(&mut self) { let self_ref: *const String = &self.a; self.b = self_ref; } fn a(&self) -> &str { &self.a } fn b(&self) -> &String { unsafe {&*(self.b)} }\n} Let's walk through this example since we'll be using it the rest of this chapter. We have a self-referential struct Test. Test needs an init method to be created which is strange but we'll need that to keep this example as short as possible. Test provides two methods to get a reference to the value of the fields a and b. Since b is a reference to a we store it as a pointer since the borrowing rules of Rust doesn't allow us to define this lifetime. Now, let's use this example to explain the problem we encounter in detail. As you see, this works as expected: fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); println!(\"a: {}, b: {}\", test2.a(), test2.b()); }\n# use std::pin::Pin;\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# }\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# }\n# }\n#\n# // We need an `init` method to actually set our self-reference\n# fn init(&mut self) {\n# let self_ref: *const String = &self.a;\n# self.b = self_ref;\n# }\n#\n# fn a(&self) -> &str {\n# &self.a\n# }\n#\n# fn b(&self) -> &String {\n# unsafe {&*(self.b)}\n# }\n# } In our main method we first instantiate two instances of Test and print out the value of the fields on test1. We get what we'd expect: a: test1, b: test1\na: test2, b: test2 Let's see what happens if we swap the data stored at the memory location test1 with the data stored at the memory location test2 and vice a versa. fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); std::mem::swap(&mut test1, &mut test2); println!(\"a: {}, b: {}\", test2.a(), test2.b()); }\n# use std::pin::Pin;\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# }\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# }\n# }\n#\n# fn init(&mut self) {\n# let self_ref: *const String = &self.a;\n# self.b = self_ref;\n# }\n#\n# fn a(&self) -> &str {\n# &self.a\n# }\n#\n# fn b(&self) -> &String {\n# unsafe {&*(self.b)}\n# }\n# } Naively, we could think that what we should get a debug print of test1 two times like this a: test1, b: test1\na: test1, b: test1 But instead we get: a: test1, b: test1\na: test1, b: test2 The pointer to test2.b still points to the old location which is inside test1 now. The struct is not self-referential anymore, it holds a pointer to a field in a different object. That means we can't rely on the lifetime of test2.b to be tied to the lifetime of test2 anymore. If your still not convinced, this should at least convince you: fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); std::mem::swap(&mut test1, &mut test2); test1.a = \"I've totally changed now!\".to_string(); println!(\"a: {}, b: {}\", test2.a(), test2.b()); }\n# use std::pin::Pin;\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# }\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# }\n# }\n#\n# fn init(&mut self) {\n# let self_ref: *const String = &self.a;\n# self.b = self_ref;\n# }\n#\n# fn a(&self) -> &str {\n# &self.a\n# }\n#\n# fn b(&self) -> &String {\n# unsafe {&*(self.b)}\n# }\n# } That shouldn't happen. There is no serious error yet, but as you can imagine it's easy to create serious bugs using this code. I created a diagram to help visualize what's going on: Fig 1: Before and after swap swap_problem As you can see this results in unwanted behavior. It's easy to get this to segfault, show UB and fail in other spectacular ways as well.","breadcrumbs":"Pinning and self-referential structs","id":"33","title":"Pinning and self-referential structs"},"34":{"body":"Now, we can solve this problem by using Pin instead. Let's take a look at what our example would look like then: use std::pin::Pin;\nuse std::marker::PhantomPinned; #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Self { let a = String::from(txt); Test { a: String::from(txt), b: std::ptr::null(), _marker: PhantomPinned, // This makes our type `!Unpin` } } fn init<'a>(self: Pin<&'a mut Self>) { let self_ptr: *const String = &self.a; let this = unsafe { self.get_unchecked_mut() }; this.b = self_ptr; } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} Now, what we've done here is pinning an object to the stack. That will always be unsafe if our type implements !Unpin. We use the same tricks here, including requiring an init. If we want to fix that and let users avoid unsafe we need to pin our data on the heap instead which we'll show in a second. Let's see what happens if we run our example now: pub fn main() { // test1 is safe to move before we initialize it let mut test1 = Test::new(\"test1\"); // Notice how we shadow `test1` to prevent it from being accessed again let mut test1 = unsafe { Pin::new_unchecked(&mut test1) }; Test::init(test1.as_mut()); let mut test2 = Test::new(\"test2\"); let mut test2 = unsafe { Pin::new_unchecked(&mut test2) }; Test::init(test2.as_mut()); println!(\"a: {}, b: {}\", Test::a(test1.as_ref()), Test::b(test1.as_ref())); println!(\"a: {}, b: {}\", Test::a(test2.as_ref()), Test::b(test2.as_ref()));\n}\n# use std::pin::Pin;\n# use std::marker::PhantomPinned;\n#\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# _marker: PhantomPinned,\n# }\n#\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# let a = String::from(txt);\n# Test {\n# a,\n# b: std::ptr::null(),\n# // This makes our type `!Unpin`\n# _marker: PhantomPinned,\n# }\n# }\n# fn init<'a>(self: Pin<&'a mut Self>) {\n# let self_ptr: *const String = &self.a;\n# let this = unsafe { self.get_unchecked_mut() };\n# this.b = self_ptr;\n# }\n#\n# fn a<'a>(self: Pin<&'a Self>) -> &'a str {\n# &self.get_ref().a\n# }\n#\n# fn b<'a>(self: Pin<&'a Self>) -> &'a String {\n# unsafe { &*(self.b) }\n# }\n# } Now, if we try to pull the same trick which got us in to trouble the last time you'll get a compilation error. pub fn main() { let mut test1 = Test::new(\"test1\"); let mut test1 = unsafe { Pin::new_unchecked(&mut test1) }; Test::init(test1.as_mut()); let mut test2 = Test::new(\"test2\"); let mut test2 = unsafe { Pin::new_unchecked(&mut test2) }; Test::init(test2.as_mut()); println!(\"a: {}, b: {}\", Test::a(test1.as_ref()), Test::b(test1.as_ref())); std::mem::swap(test1.get_mut(), test2.get_mut()); println!(\"a: {}, b: {}\", Test::a(test2.as_ref()), Test::b(test2.as_ref()));\n}\n# use std::pin::Pin;\n# use std::marker::PhantomPinned;\n#\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# _marker: PhantomPinned,\n# }\n#\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# Test {\n# a: let a = String::from(txt),\n# b: std::ptr::null(),\n# _marker: PhantomPinned, // This makes our type `!Unpin`\n# }\n# }\n# fn init<'a>(self: Pin<&'a mut Self>) {\n# let self_ptr: *const String = &self.a;\n# let this = unsafe { self.get_unchecked_mut() };\n# this.b = self_ptr;\n# }\n#\n# fn a<'a>(self: Pin<&'a Self>) -> &'a str {\n# &self.get_ref().a\n# }\n#\n# fn b<'a>(self: Pin<&'a Self>) -> &'a String {\n# unsafe { &*(self.b) }\n# }\n# } As you see from the error you get by running the code the type system prevents us from swapping the pinned pointers. It's important to note that stack pinning will always depend on the current stack frame we're in, so we can't create a self referential object in one stack frame and return it since any pointers we take to \"self\" is invalidated. It also puts a lot of responsibility in your hands if you pin an object to the stack. A mistake that is easy to make is, forgetting to shadow the original variable since you could drop the Pin and access the old value after it's initialized like this: fn main() { let mut test1 = Test::new(\"test1\"); let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; Test::init(test1_pin.as_mut()); drop(test1_pin); let mut test2 = Test::new(\"test2\"); mem::swap(&mut test1, &mut test2); println!(\"Not self referential anymore: {:?}\", test1.b);\n}\n# use std::pin::Pin;\n# use std::marker::PhantomPinned;\n# use std::mem;\n#\n# #[derive(Debug)]\n# struct Test {\n# a: String,\n# b: *const String,\n# _marker: PhantomPinned,\n# }\n#\n#\n# impl Test {\n# fn new(txt: &str) -> Self {\n# Test {\n# a: String::from(txt),\n# b: std::ptr::null(),\n# _marker: PhantomPinned, // This makes our type `!Unpin`\n# }\n# }\n# fn init<'a>(self: Pin<&'a mut Self>) {\n# let self_ptr: *const String = &self.a;\n# let this = unsafe { self.get_unchecked_mut() };\n# this.b = self_ptr;\n# }\n#\n# fn a<'a>(self: Pin<&'a Self>) -> &'a str {\n# &self.get_ref().a\n# }\n#\n# fn b<'a>(self: Pin<&'a Self>) -> &'a String {\n# unsafe { &*(self.b) }\n# }\n# }","breadcrumbs":"Pinning to the stack","id":"34","title":"Pinning to the stack"},"35":{"body":"For completeness let's remove some unsafe and the need for an init method at the cost of a heap allocation. Pinning to the heap is safe so the user doesn't need to implement any unsafe code: use std::pin::Pin;\nuse std::marker::PhantomPinned; #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Pin> { let t = Test { a: String::from(txt), b: std::ptr::null(), _marker: PhantomPinned, }; let mut boxed = Box::pin(t); let self_ptr: *const String = &boxed.as_ref().a; unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr }; boxed } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} pub fn main() { let mut test1 = Test::new(\"test1\"); let mut test2 = Test::new(\"test2\"); println!(\"a: {}, b: {}\",test1.as_ref().a(), test1.as_ref().b()); println!(\"a: {}, b: {}\",test2.as_ref().a(), test2.as_ref().b());\n} The fact that it's safe to pin heap allocated data even if it is !Unpin makes sense. Once the data is allocated on the heap it will have a stable address. There is no need for us as users of the API to take special care and ensure that the self-referential pointer stays valid. There are ways to safely give some guarantees on stack pinning as well, but right now you need to use a crate like pin_project to do that.","breadcrumbs":"Pinning to the heap","id":"35","title":"Pinning to the heap"},"36":{"body":"If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T. in other words: Unpin means it's OK for this type to be moved even when pinned, so Pin will have no effect on such a type. Getting a &mut T to a pinned T requires unsafe if T: !Unpin. In other words: requiring a pinned pointer to a type which is !Unpin prevents the user of that API from moving that value unless it choses to write unsafe code. Pinning does nothing special with memory allocation like putting it into some \"read only\" memory or anything fancy. It only uses the type system to prevent certain operations on this value. Most standard library types implement Unpin. The same goes for most \"normal\" types you encounter in Rust. Futures and Generators are two exceptions. The main use case for Pin is to allow self referential types, the whole justification for stabilizing them was to allow that. The implementation behind objects that are !Unpin is most likely unsafe. Moving such a type after it has been pinned can cause the universe to crash. As of the time of writing this book, creating and reading fields of a self referential struct still requires unsafe (the only way to do it is to create a struct containing raw pointers to itself). You can add a !Unpin bound on a type on nightly with a feature flag, or by adding std::marker::PhantomPinned to your type on stable. You can either pin an object to the stack or to the heap. Pinning a !Unpin object to the stack requires unsafe Pinning a !Unpin object to the heap does not require unsafe. There is a shortcut for doing this using Box::pin. Unsafe code does not mean it's literally \"unsafe\", it only relieves the guarantees you normally get from the compiler. An unsafe implementation can be perfectly safe to do, but you have no safety net.","breadcrumbs":"Practical rules for Pinning","id":"36","title":"Practical rules for Pinning"},"37":{"body":"In short, projection is a programming language term. mystruct.field1 is a projection. Structural pinning is using Pin on fields. This has several caveats and is not something you'll normally see so I refer to the documentation for that.","breadcrumbs":"Projection/structural pinning","id":"37","title":"Projection/structural pinning"},"38":{"body":"The Pin guarantee exists from the moment the value is pinned until it's dropped. In the Drop implementation you take a mutable reference to self, which means extra care must be taken when implementing Drop for pinned types.","breadcrumbs":"Pin and Drop","id":"38","title":"Pin and Drop"},"39":{"body":"This is exactly what we'll do when we implement our own Future, so stay tuned, we're soon finished.","breadcrumbs":"Putting it all together","id":"39","title":"Putting it all together"},"4":{"body":"This book has been translated to Chinese by nkbai .","breadcrumbs":"Translations","id":"4","title":"Translations"},"40":{"body":"But now, let's prevent this problem using Pin. I've commented along the way to make it easier to spot and understand the changes we need to make. #![feature(optin_builtin_traits, negative_impls)] // needed to implement `!Unpin`\nuse std::pin::Pin; pub fn main() { let gen1 = GeneratorA::start(); let gen2 = GeneratorA::start(); // Before we pin the data, this is safe to do // std::mem::swap(&mut gen, &mut gen2); // constructing a `Pin::new()` on a type which does not implement `Unpin` is // unsafe. An object pinned to heap can be constructed while staying in safe // Rust so we can use that to avoid unsafe. You can also use crates like // `pin_utils` to pin to the stack safely, just remember that they use // unsafe under the hood so it's like using an already-reviewed unsafe // implementation. let mut pinned1 = Box::pin(gen1); let mut pinned2 = Box::pin(gen2); // Uncomment these if you think it's safe to pin the values to the stack instead // (it is in this case). Remember to comment out the two previous lines first. //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) }; //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) }; if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() { println!(\"Gen1 got value {}\", n); } if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() { println!(\"Gen2 got value {}\", n); }; // This won't work: // std::mem::swap(&mut gen, &mut gen2); // This will work but will just swap the pointers so nothing bad happens here: // std::mem::swap(&mut pinned1, &mut pinned2); let _ = pinned1.as_mut().resume(); let _ = pinned2.as_mut().resume();\n} enum GeneratorState { Yielded(Y), Complete(R),\n} trait Generator { type Yield; type Return; fn resume(self: Pin<&mut Self>) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n} // This tells us that this object is not safe to move after pinning.\n// In this case, only we as implementors \"feel\" this, however, if someone is\n// relying on our Pinned data this will prevent them from moving it. You need\n// to enable the feature flag `#![feature(optin_builtin_traits)]` and use the\n// nightly compiler to implement `!Unpin`. Normally, you would use\n// `std::marker::PhantomPinned` to indicate that the struct is `!Unpin`.\nimpl !Unpin for GeneratorA { } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(self: Pin<&mut Self>) -> GeneratorState { // lets us get ownership over current state let this = unsafe { self.get_unchecked_mut() }; match this { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; // Trick to actually get a self reference. We can't reference // the `String` earlier since these references will point to the // location in this stack frame which will not be valid anymore // when this function returns. if let GeneratorA::Yield1 {to_borrow, borrowed} = this { *borrowed = to_borrow; } GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *this = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Now, as you see, the consumer of this API must either: Box the value and thereby allocating it on the heap Use unsafe and pin the value to the stack. The user knows that if they move the value afterwards it will violate the guarantee they promise to uphold when they did their unsafe implementation. Hopefully, after this you'll have an idea of what happens when you use the yield or await keywords inside an async function, and why we need Pin if we want to be able to safely borrow across yield/await points.","breadcrumbs":"Bonus section: Fixing our self-referential generator and learning more about Pin","id":"40","title":"Bonus section: Fixing our self-referential generator and learning more about Pin"},"41":{"body":"We'll create our own Futures together with a fake reactor and a simple executor which allows you to edit, run an play around with the code right here in your browser. I'll walk you through the example, but if you want to check it out closer, you can always clone the repository and play around with the code yourself or just copy it from the next chapter. There are several branches explained in the readme, but two are relevant for this chapter. The main branch is the example we go through here, and the basic_example_commented branch is this example with extensive comments. If you want to follow along as we go through, initialize a new cargo project by creating a new folder and run cargo init inside it. Everything we write here will be in main.rs","breadcrumbs":"Implementing Futures - main example","id":"41","title":"Implementing Futures - main example"},"42":{"body":"Let's start off by getting all our imports right away so you can follow along use std::{ future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,}, task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem, thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap\n};","breadcrumbs":"Implementing our own Futures","id":"42","title":"Implementing our own Futures"},"43":{"body":"The executors responsibility is to take one or more futures and run them to completion. The first thing an executor does when it gets a Future is polling it. When polled one of three things can happen: The future returns Ready and we schedule whatever chained operations to run The future hasn't been polled before so we pass it a Waker and suspend it The futures has been polled before but is not ready and returns Pending Rust provides a way for the Reactor and Executor to communicate through the Waker. The reactor stores this Waker and calls Waker::wake() on it once a Future has resolved and should be polled again. Notice that this chapter has a bonus section called A Proper Way to Park our Thread which shows how to avoid thread::park. Our Executor will look like this: // Our executor takes any object which implements the `Future` trait\nfn block_on(mut future: F) -> F::Output { // the first thing we do is to construct a `Waker` which we'll pass on to // the `reactor` so it can wake us up when an event is ready. let mywaker = Arc::new(MyWaker{ thread: thread::current() }); let waker = waker_into_waker(Arc::into_raw(mywaker)); // The context struct is just a wrapper for a `Waker` object. Maybe in the // future this will do more, but right now it's just a wrapper. let mut cx = Context::from_waker(&waker); // So, since we run this on one thread and run one future to completion // we can pin the `Future` to the stack. This is unsafe, but saves an // allocation. We could `Box::pin` it too if we wanted. This is however // safe since we shadow `future` so it can't be accessed again and will // not move until it's dropped. let mut future = unsafe { Pin::new_unchecked(&mut future) }; // We poll in a loop, but it's not a busy loop. It will only run when // an event occurs, or a thread has a \"spurious wakeup\" (an unexpected wakeup // that can happen for no good reason). let val = loop { match Future::poll(future, &mut cx) { // when the Future is ready we're finished Poll::Ready(val) => break val, // If we get a `pending` future we just go to sleep... Poll::Pending => thread::park(), }; }; val\n} In all the examples you'll see in this chapter I've chosen to comment the code extensively. I find it easier to follow along that way so I'll not repeat myself here and focus only on some important aspects that might need further explanation. It's worth noting that simply calling thread::sleep as we do here can lead to both deadlocks and errors. We'll explain a bit more later and fix this if you read all the way to the Bonus Section at the end of this chapter. For now, we keep it as simple and easy to understand as we can by just going to sleep. Now that you've read so much about Generators and Pin already this should be rather easy to understand. Future is a state machine, every await point is a yield point. We could borrow data across await points and we meet the exact same challenges as we do when borrowing across yield points. Context is just a wrapper around the Waker. At the time of writing this book it's nothing more. In the future it might be possible that the Context object will do more than just wrapping a Future so having this extra abstraction gives some flexibility. As explained in the chapter about generators , we use Pin and the guarantees that give us to allow Futures to have self references.","breadcrumbs":"The Executor","id":"43","title":"The Executor"},"44":{"body":"Futures has a well defined interface, which means they can be used across the entire ecosystem. We can chain these Futures so that once a leaf-future is ready we'll perform a set of operations until either the task is finished or we reach yet another leaf-future which we'll wait for and yield control to the scheduler. Our Future implementation looks like this: // This is the definition of our `Waker`. We use a regular thread-handle here.\n// It works but it's not a good solution. It's easy to fix though, I'll explain\n// after this code snippet.\n#[derive(Clone)]\nstruct MyWaker { thread: thread::Thread,\n} // This is the definition of our `Future`. It keeps all the information we\n// need. This one holds a reference to our `reactor`, that's just to make\n// this example as easy as possible. It doesn't need to hold a reference to\n// the whole reactor, but it needs to be able to register itself with the\n// reactor.\n#[derive(Clone)]\npub struct Task { id: usize, reactor: Arc>>, data: u64,\n} // These are function definitions we'll use for our waker. Remember the\n// \"Trait Objects\" chapter earlier.\nfn mywaker_wake(s: &MyWaker) { let waker_ptr: *const MyWaker = s; let waker_arc = unsafe {Arc::from_raw(waker_ptr)}; waker_arc.thread.unpark();\n} // Since we use an `Arc` cloning is just increasing the refcount on the smart\n// pointer.\nfn mywaker_clone(s: &MyWaker) -> RawWaker { let arc = unsafe { Arc::from_raw(s) }; std::mem::forget(arc.clone()); // increase ref count RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)\n} // This is actually a \"helper funtcion\" to create a `Waker` vtable. In contrast\n// to when we created a `Trait Object` from scratch we don't need to concern\n// ourselves with the actual layout of the `vtable` and only provide a fixed\n// set of functions\nconst VTABLE: RawWakerVTable = unsafe { RawWakerVTable::new( |s| mywaker_clone(&*(s as *const MyWaker)), // clone |s| mywaker_wake(&*(s as *const MyWaker)), // wake |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount )\n}; // Instead of implementing this on the `MyWaker` object in `impl Mywaker...` we\n// just use this pattern instead since it saves us some lines of code.\nfn waker_into_waker(s: *const MyWaker) -> Waker { let raw_waker = RawWaker::new(s as *const (), &VTABLE); unsafe { Waker::from_raw(raw_waker) }\n} impl Task { fn new(reactor: Arc>>, data: u64, id: usize) -> Self { Task { id, reactor, data } }\n} // This is our `Future` implementation\nimpl Future for Task { type Output = usize; // Poll is the what drives the state machine forward and it's the only // method we'll need to call to drive futures to completion. fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { // We need to get access the reactor in our `poll` method so we acquire // a lock on that. let mut r = self.reactor.lock().unwrap(); // First we check if the task is marked as ready if r.is_ready(self.id) { // If it's ready we set its state to `Finished` *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished; Poll::Ready(self.id) // If it isn't finished we check the map we have stored in our Reactor // over id's we have registered and see if it's there } else if r.tasks.contains_key(&self.id) { // This is important. The docs says that on multiple calls to poll, // only the Waker from the Context passed to the most recent call // should be scheduled to receive a wakeup. That's why we insert // this waker into the map (which will return the old one which will // get dropped) before we return `Pending`. r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone())); Poll::Pending } else { // If it's not ready, and not in the map it's a new task so we // register that with the Reactor and return `Pending` r.register(self.data, cx.waker().clone(), self.id); Poll::Pending } // Note that we're holding a lock on the `Mutex` which protects the // Reactor all the way until the end of this scope. This means that // even if our task were to complete immidiately, it will not be // able to call `wake` while we're in our `Poll` method. // Since we can make this guarantee, it's now the Executors job to // handle this possible race condition where `Wake` is called after // `poll` but before our thread goes to sleep. }\n} This is mostly pretty straight forward. The confusing part is the strange way we need to construct the Waker, but since we've already created our own trait objects from raw parts, this looks pretty familiar. Actually, it's even a bit easier. We use an Arc here to pass out a ref-counted borrow of our MyWaker. This is pretty normal, and makes this easy and safe to work with. Cloning a Waker is just increasing the refcount in this case. Dropping a Waker is as easy as decreasing the refcount. Now, in special cases we could choose to not use an Arc. So this low-level method is there to allow such cases. Indeed, if we only used Arc there is no reason for us to go through all the trouble of creating our own vtable and a RawWaker. We could just implement a normal trait. Fortunately, in the future this will probably be possible in the standard library as well. For now, this trait lives in the nursery , but my guess is that this will be a part of the standard library after some maturing. We choose to pass in a reference to the whole Reactor here. This isn't normal. The reactor will often be a global resource which let's us register interests without passing around a reference.","breadcrumbs":"The Future implementation","id":"44","title":"The Future implementation"},"45":{"body":"It could deadlock easily since anyone could get a handle to the executor thread and call park/unpark on our thread. I've made an example with comments on the playground that showcases how such an error could occur. You can also read a bit more about this in issue 2010 in the futures crate.","breadcrumbs":"Why using thread park/unpark is a bad idea for a library","id":"45","title":"Why using thread park/unpark is a bad idea for a library"},"46":{"body":"This is the home stretch, and not strictly Future related, but we need one to have an example to run. Since concurrency mostly makes sense when interacting with the outside world (or at least some peripheral), we need something to actually abstract over this interaction in an asynchronous way. This is the Reactors job. Most often you'll see reactors in Rust use a library called Mio , which provides non blocking APIs and event notification for several platforms. The reactor will typically give you something like a TcpStream (or any other resource) which you'll use to create an I/O request. What you get in return is a Future. If our reactor did some real I/O work our Task in would instead be represent a non-blocking TcpStream which registers interest with the global Reactor. Passing around a reference to the Reactor itself is pretty uncommon but I find it makes reasoning about what's happening easier. Our example task is a timer that only spawns a thread and puts it to sleep for the number of seconds we specify. The reactor we create here will create a leaf-future representing each timer. In return the Reactor receives a waker which it will call once the task is finished. To be able to run the code here in the browser there is not much real I/O we can do so just pretend that this is actually represents some useful I/O operation for the sake of this example. Our Reactor will look like this: // This is a \"fake\" reactor. It does no real I/O, but that also makes our\n// code possible to run in the book and in the playground\n// The different states a task can have in this Reactor\nenum TaskState { Ready, NotReady(Waker), Finished,\n} // This is a \"fake\" reactor. It does no real I/O, but that also makes our\n// code possible to run in the book and in the playground\nstruct Reactor { // we need some way of registering a Task with the reactor. Normally this // would be an \"interest\" in an I/O event dispatcher: Sender, handle: Option>, // This is a list of tasks tasks: HashMap,\n} // This represents the Events we can send to our reactor thread. In this\n// example it's only a Timeout or a Close event.\n#[derive(Debug)]\nenum Event { Close, Timeout(u64, usize),\n} impl Reactor { // We choose to return an atomic reference counted, mutex protected, heap // allocated `Reactor`. Just to make it easy to explain... No, the reason // we do this is: // // 1. We know that only thread-safe reactors will be created. // 2. By heap allocating it we can obtain a reference to a stable address // that's not dependent on the stack frame of the function that called `new` fn new() -> Arc>> { let (tx, rx) = channel::(); let reactor = Arc::new(Mutex::new(Box::new(Reactor { dispatcher: tx, handle: None, tasks: HashMap::new(), }))); // Notice that we'll need to use `weak` reference here. If we don't, // our `Reactor` will not get `dropped` when our main thread is finished // since we're holding internal references to it. // Since we're collecting all `JoinHandles` from the threads we spawn // and make sure to join them we know that `Reactor` will be alive // longer than any reference held by the threads we spawn here. let reactor_clone = Arc::downgrade(&reactor); // This will be our Reactor-thread. The Reactor-thread will in our case // just spawn new threads which will serve as timers for us. let handle = thread::spawn(move || { let mut handles = vec![]; // This simulates some I/O resource for event in rx { println!(\"REACTOR: {:?}\", event); let reactor = reactor_clone.clone(); match event { Event::Close => break, Event::Timeout(duration, id) => { // We spawn a new thread that will serve as a timer // and will call `wake` on the correct `Waker` once // it's done. let event_handle = thread::spawn(move || { thread::sleep(Duration::from_secs(duration)); let reactor = reactor.upgrade().unwrap(); reactor.lock().map(|mut r| r.wake(id)).unwrap(); }); handles.push(event_handle); } } } // This is important for us since we need to know that these // threads don't live longer than our Reactor-thread. Our // Reactor-thread will be joined when `Reactor` gets dropped. handles.into_iter().for_each(|handle| handle.join().unwrap()); }); reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap(); reactor } // The wake function will call wake on the waker for the task with the // corresponding id. fn wake(&mut self, id: usize) { self.tasks.get_mut(&id).map(|state| { // No matter what state the task was in we can safely set it // to ready at this point. This lets us get ownership over the // the data that was there before we replaced it. match mem::replace(state, TaskState::Ready) { TaskState::NotReady(waker) => waker.wake(), TaskState::Finished => panic!(\"Called 'wake' twice on task: {}\", id), _ => unreachable!() } }).unwrap(); } // Register a new task with the reactor. In this particular example // we panic if a task with the same id get's registered twice fn register(&mut self, duration: u64, waker: Waker, id: usize) { if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() { panic!(\"Tried to insert a task with id: '{}', twice!\", id); } self.dispatcher.send(Event::Timeout(duration, id)).unwrap(); } // We send a close event to the reactor so it closes down our reactor-thread fn close(&mut self) { self.dispatcher.send(Event::Close).unwrap(); } // We simply checks if a task with this id is in the state `TaskState::Ready` fn is_ready(&self, id: usize) -> bool { self.tasks.get(&id).map(|state| match state { TaskState::Ready => true, _ => false, }).unwrap_or(false) }\n} impl Drop for Reactor { fn drop(&mut self) { self.handle.take().map(|h| h.join().unwrap()).unwrap(); }\n} It's a lot of code though, but essentially we just spawn off a new thread and make it sleep for some time which we specify when we create a Task. Now, let's test our code and see if it works. Since we're sleeping for a couple of seconds here, just give it some time to run. In the last chapter we have the whole 200 lines in an editable window which you can edit and change the way you like. # use std::{\n# future::Future, pin::Pin, sync::{ mpsc::{channel, Sender}, Arc, Mutex,},\n# task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem,\n# thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap\n# };\n#\nfn main() { // This is just to make it easier for us to see when our Future was resolved let start = Instant::now(); // Many runtimes create a glocal `reactor` we pass it as an argument let reactor = Reactor::new(); // We create two tasks: // - first parameter is the `reactor` // - the second is a timeout in seconds // - the third is an `id` to identify the task let future1 = Task::new(reactor.clone(), 1, 1); let future2 = Task::new(reactor.clone(), 2, 2); // an `async` block works the same way as an `async fn` in that it compiles // our code into a state machine, `yielding` at every `await` point. let fut1 = async { let val = future1.await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; let fut2 = async { let val = future2.await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; // Our executor can only run one and one future, this is pretty normal // though. You have a set of operations containing many futures that // ends up as a single future that drives them all to completion. let mainfut = async { fut1.await; fut2.await; }; // This executor will block the main thread until the futures is resolved block_on(mainfut); // When we're done, we want to shut down our reactor thread so our program // ends nicely. reactor.lock().map(|mut r| r.close()).unwrap();\n}\n# // ============================= EXECUTOR ====================================\n# fn block_on(mut future: F) -> F::Output {\n# let mywaker = Arc::new(MyWaker {\n# thread: thread::current(),\n# });\n# let waker = waker_into_waker(Arc::into_raw(mywaker));\n# let mut cx = Context::from_waker(&waker);\n# # // SAFETY: we shadow `future` so it can't be accessed again.\n# let mut future = unsafe { Pin::new_unchecked(&mut future) };\n# let val = loop {\n# match Future::poll(future.as_mut(), &mut cx) {\n# Poll::Ready(val) => break val,\n# Poll::Pending => thread::park(),\n# };\n# };\n# val\n# }\n#\n# // ====================== FUTURE IMPLEMENTATION ==============================\n# #[derive(Clone)]\n# struct MyWaker {\n# thread: thread::Thread,\n# }\n#\n# #[derive(Clone)]\n# pub struct Task {\n# id: usize,\n# reactor: Arc>>,\n# data: u64,\n# }\n#\n# fn mywaker_wake(s: &MyWaker) {\n# let waker_ptr: *const MyWaker = s;\n# let waker_arc = unsafe { Arc::from_raw(waker_ptr) };\n# waker_arc.thread.unpark();\n# }\n#\n# fn mywaker_clone(s: &MyWaker) -> RawWaker {\n# let arc = unsafe { Arc::from_raw(s) };\n# std::mem::forget(arc.clone()); // increase ref count\n# RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)\n# }\n#\n# const VTABLE: RawWakerVTable = unsafe {\n# RawWakerVTable::new(\n# |s| mywaker_clone(&*(s as *const MyWaker)), // clone\n# |s| mywaker_wake(&*(s as *const MyWaker)), // wake\n# |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref\n# |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount\n# )\n# };\n#\n# fn waker_into_waker(s: *const MyWaker) -> Waker {\n# let raw_waker = RawWaker::new(s as *const (), &VTABLE);\n# unsafe { Waker::from_raw(raw_waker) }\n# }\n#\n# impl Task {\n# fn new(reactor: Arc>>, data: u64, id: usize) -> Self {\n# Task { id, reactor, data }\n# }\n# }\n#\n# impl Future for Task {\n# type Output = usize;\n# fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll {\n# let mut r = self.reactor.lock().unwrap();\n# if r.is_ready(self.id) {\n# println!(\"POLL: TASK {} IS READY\", self.id);\n# *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished;\n# Poll::Ready(self.id)\n# } else if r.tasks.contains_key(&self.id) {\n# println!(\"POLL: REPLACED WAKER FOR TASK: {}\", self.id);\n# r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone()));\n# Poll::Pending\n# } else {\n# println!(\"POLL: REGISTERED TASK: {}, WAKER: {:?}\", self.id, cx.waker());\n# r.register(self.data, cx.waker().clone(), self.id);\n# Poll::Pending\n# }\n# }\n# }\n#\n# // =============================== REACTOR ===================================\n# enum TaskState {\n# Ready,\n# NotReady(Waker),\n# Finished,\n# }\n# struct Reactor {\n# dispatcher: Sender,\n# handle: Option>,\n# tasks: HashMap,\n# }\n# # #[derive(Debug)]\n# enum Event {\n# Close,\n# Timeout(u64, usize),\n# }\n#\n# impl Reactor {\n# fn new() -> Arc>> {\n# let (tx, rx) = channel::();\n# let reactor = Arc::new(Mutex::new(Box::new(Reactor {\n# dispatcher: tx,\n# handle: None,\n# tasks: HashMap::new(),\n# })));\n# # let reactor_clone = Arc::downgrade(&reactor);\n# let handle = thread::spawn(move || {\n# let mut handles = vec![];\n# // This simulates some I/O resource\n# for event in rx {\n# println!(\"REACTOR: {:?}\", event);\n# let reactor = reactor_clone.clone();\n# match event {\n# Event::Close => break,\n# Event::Timeout(duration, id) => {\n# let event_handle = thread::spawn(move || {\n# thread::sleep(Duration::from_secs(duration));\n# let reactor = reactor.upgrade().unwrap();\n# reactor.lock().map(|mut r| r.wake(id)).unwrap();\n# });\n# handles.push(event_handle);\n# }\n# }\n# }\n# handles.into_iter().for_each(|handle| handle.join().unwrap());\n# });\n# reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap();\n# reactor\n# }\n# # fn wake(&mut self, id: usize) {\n# self.tasks.get_mut(&id).map(|state| {\n# match mem::replace(state, TaskState::Ready) {\n# TaskState::NotReady(waker) => waker.wake(),\n# TaskState::Finished => panic!(\"Called 'wake' twice on task: {}\", id),\n# _ => unreachable!()\n# }\n# }).unwrap();\n# }\n# # fn register(&mut self, duration: u64, waker: Waker, id: usize) {\n# if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() {\n# panic!(\"Tried to insert a task with id: '{}', twice!\", id);\n# }\n# self.dispatcher.send(Event::Timeout(duration, id)).unwrap();\n# }\n#\n# fn close(&mut self) {\n# self.dispatcher.send(Event::Close).unwrap();\n# }\n# # fn is_ready(&self, id: usize) -> bool {\n# self.tasks.get(&id).map(|state| match state {\n# TaskState::Ready => true,\n# _ => false,\n# }).unwrap_or(false)\n# }\n# }\n#\n# impl Drop for Reactor {\n# fn drop(&mut self) {\n# self.handle.take().map(|h| h.join().unwrap()).unwrap();\n# }\n# } I added a some debug printouts so we can observe a couple of things: How the Waker object looks just like the trait object we talked about in an earlier chapter The program flow from start to finish The last point is relevant when we move on the the last paragraph.","breadcrumbs":"The Reactor","id":"46","title":"The Reactor"},"47":{"body":"The async keyword can be used on functions as in async fn(...) or on a block as in async { ... }. Both will turn your function, or block, into a Future. These Futures are rather simple. Imagine our generator from a few chapters back. Every await point is like a yield point. Instead of yielding a value we pass in, we yield the result of calling poll on the next Future we're awaiting. Our mainfut contains two non-leaf futures which it will call poll on. Non-leaf-futures has a poll method that simply polls their inner futures and these state machines are polled until some \"leaf future\" in the end either returns Ready or Pending. The way our example is right now, it's not much better than regular synchronous code. For us to actually await multiple futures at the same time we somehow need to spawn them so the executor starts running them concurrently. Our example as it stands now returns this: Future got 1 at time: 1.00.\nFuture got 2 at time: 3.00. If these Futures were executed asynchronously we would expect to see: Future got 1 at time: 1.00.\nFuture got 2 at time: 2.00. Note that this doesn't mean they need to run in parallel. They can run in parallel but there is no requirement. Remember that we're waiting for some external resource so we can fire off many such calls on a single thread and handle each event as it resolves. Now, this is the point where I'll refer you to some better resources for implementing a better executor. You should have a pretty good understanding of the concept of Futures by now helping you along the way. The next step should be getting to know how more advanced runtimes work and how they implement different ways of running Futures to completion. If I were you I would read this next, and try to implement it for our example. . That's actually it for now. There as probably much more to learn, this is enough for today. I hope exploring Futures and async in general gets easier after this read and I do really hope that you do continue to explore further. Don't forget the exercises in the last chapter 😊.","breadcrumbs":"Async/Await and concurrecy","id":"47","title":"Async/Await and concurrecy"},"48":{"body":"As we explained earlier in our chapter, simply calling thread::sleep is not really sufficient to implement a proper reactor. You can also reach a tool like the Parker in crossbeam: crossbeam::sync::Parker Since it doesn't require many lines of code to create a working solution ourselves we'll show how we can solve that by using a Condvar and a Mutex instead. Start by implementing our own Parker like this: #[derive(Default)]\nstruct Parker(Mutex, Condvar); impl Parker { fn park(&self) { // We aquire a lock to the Mutex which protects our flag indicating if we // should resume execution or not. let mut resumable = self.0.lock().unwrap(); // We put this in a loop since there is a chance we'll get woken, but // our flag hasn't changed. If that happens, we simply go back to sleep. while !*resumable { // We sleep until someone notifies us resumable = self.1.wait(resumable).unwrap(); } // We immidiately set the condition to false, so that next time we call `park` we'll // go right to sleep. *resumable = false; } fn unpark(&self) { // We simply acquire a lock to our flag and sets the condition to `runnable` when we // get it. *self.0.lock().unwrap() = true; // We notify our `Condvar` so it wakes up and resumes. self.1.notify_one(); }\n} The Condvar in Rust is designed to work together with a Mutex. Usually, you'd think that we don't release the mutex-lock we acquire in self.0.lock().unwrap(); before we go to sleep. Which means that our unpark function never will acquire a lock to our flag and we deadlock. Using Condvar we avoid this since the Condvar will consume our lock so it's released at the moment we go to sleep. When we resume again, our Condvar returns our lock so we can continue to operate on it. This means we need to make some very slight changes to our executor like this: fn block_on(mut future: F) -> F::Output { let parker = Arc::new(Parker::default()); // <--- NB! let mywaker = Arc::new(MyWaker { parker: parker.clone() }); <--- NB! let waker = mywaker_into_waker(Arc::into_raw(mywaker)); let mut cx = Context::from_waker(&waker); // SAFETY: we shadow `future` so it can't be accessed again. let mut future = unsafe { Pin::new_unchecked(&mut future) }; loop { match Future::poll(future.as_mut(), &mut cx) { Poll::Ready(val) => break val, Poll::Pending => parker.park(), // <--- NB! }; }\n} And we need to change our Waker like this: #[derive(Clone)]\nstruct MyWaker { parker: Arc,\n} fn mywaker_wake(s: &MyWaker) { let waker_arc = unsafe { Arc::from_raw(s) }; waker_arc.parker.unpark();\n} And that's really all there is to it. If you checked out the playground link that showcased how park/unpark could cause subtle problems you can check out this example which shows how our final version avoids this problem. The next chapter shows our finished code with this improvement which you can explore further if you wish.","breadcrumbs":"Bonus Section - a Proper Way to Park our Thread","id":"48","title":"Bonus Section - a Proper Way to Park our Thread"},"49":{"body":"Here is the whole example. You can edit it right here in your browser and run it yourself. Have fun! fn main() { let start = Instant::now(); let reactor = Reactor::new(); let fut1 = async { let val = Task::new(reactor.clone(), 1, 1).await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; let fut2 = async { let val = Task::new(reactor.clone(), 2, 2).await; println!(\"Got {} at time: {:.2}.\", val, start.elapsed().as_secs_f32()); }; let mainfut = async { fut1.await; fut2.await; }; block_on(mainfut); reactor.lock().map(|mut r| r.close()).unwrap();\n} use std::{ future::Future, sync::{ mpsc::{channel, Sender}, Arc, Mutex, Condvar}, task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, mem, pin::Pin, thread::{self, JoinHandle}, time::{Duration, Instant}, collections::HashMap\n};\n// ============================= EXECUTOR ====================================\n#[derive(Default)]\nstruct Parker(Mutex, Condvar); impl Parker { fn park(&self) { let mut resumable = self.0.lock().unwrap(); while !*resumable { resumable = self.1.wait(resumable).unwrap(); } *resumable = false; } fn unpark(&self) { *self.0.lock().unwrap() = true; self.1.notify_one(); }\n} fn block_on(mut future: F) -> F::Output { let parker = Arc::new(Parker::default()); let mywaker = Arc::new(MyWaker { parker: parker.clone() }); let waker = mywaker_into_waker(Arc::into_raw(mywaker)); let mut cx = Context::from_waker(&waker); // SAFETY: we shadow `future` so it can't be accessed again. let mut future = unsafe { Pin::new_unchecked(&mut future) }; loop { match Future::poll(future.as_mut(), &mut cx) { Poll::Ready(val) => break val, Poll::Pending => parker.park(), }; }\n}\n// ====================== FUTURE IMPLEMENTATION ==============================\n#[derive(Clone)]\nstruct MyWaker { parker: Arc,\n} #[derive(Clone)]\npub struct Task { id: usize, reactor: Arc>>, data: u64,\n} fn mywaker_wake(s: &MyWaker) { let waker_arc = unsafe { Arc::from_raw(s) }; waker_arc.parker.unpark();\n} fn mywaker_clone(s: &MyWaker) -> RawWaker { let arc = unsafe { Arc::from_raw(s) }; std::mem::forget(arc.clone()); // increase ref count RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)\n} const VTABLE: RawWakerVTable = unsafe { RawWakerVTable::new( |s| mywaker_clone(&*(s as *const MyWaker)), // clone |s| mywaker_wake(&*(s as *const MyWaker)), // wake |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount )\n}; fn mywaker_into_waker(s: *const MyWaker) -> Waker { let raw_waker = RawWaker::new(s as *const (), &VTABLE); unsafe { Waker::from_raw(raw_waker) }\n} impl Task { fn new(reactor: Arc>>, data: u64, id: usize) -> Self { Task { id, reactor, data } }\n} impl Future for Task { type Output = usize; fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { let mut r = self.reactor.lock().unwrap(); if r.is_ready(self.id) { *r.tasks.get_mut(&self.id).unwrap() = TaskState::Finished; Poll::Ready(self.id) } else if r.tasks.contains_key(&self.id) { r.tasks.insert(self.id, TaskState::NotReady(cx.waker().clone())); Poll::Pending } else { r.register(self.data, cx.waker().clone(), self.id); Poll::Pending } }\n}\n// =============================== REACTOR ===================================\nenum TaskState { Ready, NotReady(Waker), Finished,\n}\nstruct Reactor { dispatcher: Sender, handle: Option>, tasks: HashMap,\n} #[derive(Debug)]\nenum Event { Close, Timeout(u64, usize),\n} impl Reactor { fn new() -> Arc>> { let (tx, rx) = channel::(); let reactor = Arc::new(Mutex::new(Box::new(Reactor { dispatcher: tx, handle: None, tasks: HashMap::new(), }))); let reactor_clone = Arc::downgrade(&reactor); let handle = thread::spawn(move || { let mut handles = vec![]; for event in rx { let reactor = reactor_clone.clone(); match event { Event::Close => break, Event::Timeout(duration, id) => { let event_handle = thread::spawn(move || { thread::sleep(Duration::from_secs(duration)); let reactor = reactor.upgrade().unwrap(); reactor.lock().map(|mut r| r.wake(id)).unwrap(); }); handles.push(event_handle); } } } handles.into_iter().for_each(|handle| handle.join().unwrap()); }); reactor.lock().map(|mut r| r.handle = Some(handle)).unwrap(); reactor } fn wake(&mut self, id: usize) { let state = self.tasks.get_mut(&id).unwrap(); match mem::replace(state, TaskState::Ready) { TaskState::NotReady(waker) => waker.wake(), TaskState::Finished => panic!(\"Called 'wake' twice on task: {}\", id), _ => unreachable!() } } fn register(&mut self, duration: u64, waker: Waker, id: usize) { if self.tasks.insert(id, TaskState::NotReady(waker)).is_some() { panic!(\"Tried to insert a task with id: '{}', twice!\", id); } self.dispatcher.send(Event::Timeout(duration, id)).unwrap(); } fn close(&mut self) { self.dispatcher.send(Event::Close).unwrap(); } fn is_ready(&self, id: usize) -> bool { self.tasks.get(&id).map(|state| match state { TaskState::Ready => true, _ => false, }).unwrap_or(false) }\n} impl Drop for Reactor { fn drop(&mut self) { self.handle.take().map(|h| h.join().unwrap()).unwrap(); }\n}","breadcrumbs":"Our finished code","id":"49","title":"Our finished code"},"5":{"body":"Before we go into the details about Futures in Rust, let's take a quick look at the alternatives for handling concurrent programming in general and some pros and cons for each of them. While we do that we'll also explain some aspects when it comes to concurrency which will make it easier for us when we dive into Futures specifically. For fun, I've added a small snippet of runnable code with most of the examples. If you're like me, things get way more interesting then and maybe you'll see some things you haven't seen before along the way.","breadcrumbs":"Some Background Information","id":"5","title":"Some Background Information"},"50":{"body":"Congratulations. Good job! If you got this far you must have stayed with me all the way. I hope you enjoyed the ride! Remember that you call always leave feedback, suggest improvements or ask questions in the issue_tracker for this book. I'll try my best to respond to each one of them. I'll leave you with some suggestions for exercises if you want to explore a little further below. Until next time!","breadcrumbs":"Conclusion and exercises","id":"50","title":"Conclusion and exercises"},"51":{"body":"So our implementation has taken some obvious shortcuts and could use some improvement. Actually digging into the code and try things yourself is a good way to learn. Here are some good exercises if you want to explore more:","breadcrumbs":"Reader exercises","id":"51","title":"Reader exercises"},"52":{"body":"First of all, protecting the whole Reactor and passing it around is overkill. We're only interested in synchronizing some parts of the information it contains. Try to refactor that out and only synchronize access to what's really needed. I'd encourage you to have a look at how async_std solves this with a global runtime which includes the reactor and how tokio's rutime solves the same thing in a slightly different way to get some inspiration. Do you want to pass around a reference to this information using an Arc? Do you want to make a global Reactor so it can be accessed from anywhere?","breadcrumbs":"Avoid wrapping the whole Reactor in a mutex and pass it around","id":"52","title":"Avoid wrapping the whole Reactor in a mutex and pass it around"},"53":{"body":"Right now, we can only run one and one future. Most runtimes has a spawn function which let's you start off a future and await it later so you can run multiple futures concurrently. As I suggested in the start of this book, visiting @stjepan'sblog series about implementing your own executors is the place I would start and take it from there.","breadcrumbs":"Building a better exectuor","id":"53","title":"Building a better exectuor"},"54":{"body":"There are many great resources. In addition to the RFCs and articles I've already linked to in the book, here are some of my suggestions: The official Asyc book The async_std book Aron Turon: Designing futures for Rust Steve Klabnik's presentation: Rust's journey to Async/Await The Tokio Blog Stjepan's blog with a series where he implements an Executor Jon Gjengset's video on The Why, What and How of Pinning in Rust Withoutboats blog series about async/await","breadcrumbs":"Further reading","id":"54","title":"Further reading"},"6":{"body":"Now, one way of accomplishing concurrent programming is letting the OS take care of everything for us. We do this by simply spawning a new OS thread for each task we want to accomplish and write code like we normally would. The runtime we use to handle concurrency for us is the operating system itself. Advantages: Simple Easy to use Switching between tasks is reasonably fast You get parallelism for free Drawbacks: OS level threads come with a rather large stack. If you have many tasks waiting simultaneously (like you would in a web-server under heavy load) you'll run out of memory pretty fast. There are a lot of syscalls involved. This can be pretty costly when the number of tasks is high. The OS has many things it needs to handle. It might not switch back to your thread as fast as you'd wish. Might not be an option on some systems Using OS threads in Rust looks like this: use std::thread; fn main() { println!(\"So we start the program here!\"); let t1 = thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(200)); println!(\"We create tasks which gets run when they're finished!\"); }); let t2 = thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(100)); println!(\"We can even chain callbacks...\"); let t3 = thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(50)); println!(\"...like this!\"); }); t3.join().unwrap(); }); println!(\"While our tasks are executing we can do other stuff here.\"); t1.join().unwrap(); t2.join().unwrap();\n} OS threads sure have some pretty big advantages. So why all this talk about \"async\" and concurrency in the first place? First, for computers to be efficient they need to multitask. Once you start to look under the covers (like how an operating system works ) you'll see concurrency everywhere. It's very fundamental in everything we do. Secondly, we have the web. Web servers are all about I/O and handling small tasks (requests). When the number of small tasks is large it's not a good fit for OS threads as of today because of the memory they require and the overhead involved when creating new threads. This gets even more problematic when the load is variable which means the current number of tasks a program has at any point in time is unpredictable. That's why you'll see so many async web frameworks and database drivers today. However, for a huge number of problems, the standard OS threads will often be the right solution. So, just think twice about your problem before you reach for an async library. Now, let's look at some other options for multitasking. They all have in common that they implement a way to do multitasking by having a \"userland\" runtime.","breadcrumbs":"Threads provided by the operating system","id":"6","title":"Threads provided by the operating system"},"7":{"body":"Green threads use the same mechanism as an OS does by creating a thread for each task, setting up a stack, saving the CPU's state, and jumping from one task(thread) to another by doing a \"context switch\". We yield control to the scheduler (which is a central part of the runtime in such a system) which then continues running a different task. Rust had green threads once, but they were removed before it hit 1.0. The state of execution is stored in each stack so in such a solution there would be no need for async, await, Future or Pin. The typical flow looks like this: Run some non-blocking code. Make a blocking call to some external resource. CPU \"jumps\" to the \"main\" thread which schedules a different thread to run and \"jumps\" to that stack. Run some non-blocking code on the new thread until a new blocking call or the task is finished. CPU \"jumps\" back to the \"main\" thread, schedules a new thread which is ready to make progress, and \"jumps\" to that thread. These \"jumps\" are known as context switches . Your OS is doing it many times each second as you read this. Advantages: Simple to use. The code will look like it does when using OS threads. A \"context switch\" is reasonably fast. Each stack only gets a little memory to start with so you can have hundreds of thousands of green threads running. It's easy to incorporate preemption which puts a lot of control in the hands of the runtime implementors. Drawbacks: The stacks might need to grow. Solving this is not easy and will have a cost. You need to save all the CPU state on every switch. It's not a zero cost abstraction (Rust had green threads early on and this was one of the reasons they were removed). Complicated to implement correctly if you want to support many different platforms. A green threads example could look something like this: The example presented below is an adapted example from an earlier gitbook I wrote about green threads called Green Threads Explained in 200 lines of Rust. If you want to know what's going on you'll find everything explained in detail in that book. The code below is wildly unsafe and it's just to show a real example. It's not in any way meant to showcase \"best practice\". Just so we're on the same page. Press the expand icon in the top right corner to show the example code. # #![feature(asm, naked_functions)]\n# use std::ptr;\n#\n# const DEFAULT_STACK_SIZE: usize = 1024 * 1024 * 2;\n# const MAX_THREADS: usize = 4;\n# static mut RUNTIME: usize = 0;\n#\n# pub struct Runtime {\n# threads: Vec,\n# current: usize,\n# }\n#\n# #[derive(PartialEq, Eq, Debug)]\n# enum State {\n# Available,\n# Running,\n# Ready,\n# }\n#\n# struct Thread {\n# id: usize,\n# stack: Vec,\n# ctx: ThreadContext,\n# state: State,\n# task: Option>,\n# }\n#\n# #[derive(Debug, Default)]\n# #[repr(C)]\n# struct ThreadContext {\n# rsp: u64,\n# r15: u64,\n# r14: u64,\n# r13: u64,\n# r12: u64,\n# rbx: u64,\n# rbp: u64,\n# thread_ptr: u64,\n# }\n#\n# impl Thread {\n# fn new(id: usize) -> Self {\n# Thread {\n# id,\n# stack: vec![0_u8; DEFAULT_STACK_SIZE],\n# ctx: ThreadContext::default(),\n# state: State::Available,\n# task: None,\n# }\n# }\n# }\n#\n# impl Runtime {\n# pub fn new() -> Self {\n# let base_thread = Thread {\n# id: 0,\n# stack: vec![0_u8; DEFAULT_STACK_SIZE],\n# ctx: ThreadContext::default(),\n# state: State::Running,\n# task: None,\n# };\n#\n# let mut threads = vec![base_thread];\n# threads[0].ctx.thread_ptr = &threads[0] as *const Thread as u64;\n# let mut available_threads: Vec = (1..MAX_THREADS).map(|i| Thread::new(i)).collect();\n# threads.append(&mut available_threads);\n#\n# Runtime {\n# threads,\n# current: 0,\n# }\n# }\n#\n# pub fn init(&self) {\n# unsafe {\n# let r_ptr: *const Runtime = self;\n# RUNTIME = r_ptr as usize;\n# }\n# }\n#\n# pub fn run(&mut self) -> ! {\n# while self.t_yield() {}\n# std::process::exit(0);\n# }\n#\n# fn t_return(&mut self) {\n# if self.current != 0 {\n# self.threads[self.current].state = State::Available;\n# self.t_yield();\n# }\n# }\n#\n# fn t_yield(&mut self) -> bool {\n# let mut pos = self.current;\n# while self.threads[pos].state != State::Ready {\n# pos += 1;\n# if pos == self.threads.len() {\n# pos = 0;\n# }\n# if pos == self.current {\n# return false;\n# }\n# }\n#\n# if self.threads[self.current].state != State::Available {\n# self.threads[self.current].state = State::Ready;\n# }\n#\n# self.threads[pos].state = State::Running;\n# let old_pos = self.current;\n# self.current = pos;\n#\n# unsafe {\n# switch(&mut self.threads[old_pos].ctx, &self.threads[pos].ctx);\n# }\n# true\n# }\n#\n# pub fn spawn(f: F){\n# unsafe {\n# let rt_ptr = RUNTIME as *mut Runtime;\n# let available = (*rt_ptr)\n# .threads\n# .iter_mut()\n# .find(|t| t.state == State::Available)\n# .expect(\"no available thread.\");\n#\n# let size = available.stack.len();\n# let s_ptr = available.stack.as_mut_ptr();\n# available.task = Some(Box::new(f));\n# available.ctx.thread_ptr = available as *const Thread as u64;\n# ptr::write(s_ptr.offset((size - 8) as isize) as *mut u64, guard as u64);\n# ptr::write(s_ptr.offset((size - 16) as isize) as *mut u64, call as u64);\n# available.ctx.rsp = s_ptr.offset((size - 16) as isize) as u64;\n# available.state = State::Ready;\n# }\n# }\n# }\n#\n# fn call(thread: u64) {\n# let thread = unsafe { &*(thread as *const Thread) };\n# if let Some(f) = &thread.task {\n# f();\n# }\n# }\n#\n# #[naked]\n# fn guard() {\n# unsafe {\n# let rt_ptr = RUNTIME as *mut Runtime;\n# let rt = &mut *rt_ptr;\n# println!(\"THREAD {} FINISHED.\", rt.threads[rt.current].id);\n# rt.t_return();\n# };\n# }\n#\n# pub fn yield_thread() {\n# unsafe {\n# let rt_ptr = RUNTIME as *mut Runtime;\n# (*rt_ptr).t_yield();\n# };\n# }\n#\n# #[naked]\n# #[inline(never)]\n# unsafe fn switch(old: *mut ThreadContext, new: *const ThreadContext) {\n# asm!(\"\n# mov %rsp, 0x00($0)\n# mov %r15, 0x08($0)\n# mov %r14, 0x10($0)\n# mov %r13, 0x18($0)\n# mov %r12, 0x20($0)\n# mov %rbx, 0x28($0)\n# mov %rbp, 0x30($0)\n#\n# mov 0x00($1), %rsp\n# mov 0x08($1), %r15\n# mov 0x10($1), %r14\n# mov 0x18($1), %r13\n# mov 0x20($1), %r12\n# mov 0x28($1), %rbx\n# mov 0x30($1), %rbp\n# mov 0x38($1), %rdi\n# ret\n# \"\n# :\n# : \"r\"(old), \"r\"(new)\n# :\n# : \"alignstack\"\n# );\n# }\n# #[cfg(not(windows))]\nfn main() { let mut runtime = Runtime::new(); runtime.init(); Runtime::spawn(|| { println!(\"I haven't implemented a timer in this example.\"); yield_thread(); println!(\"Finally, notice how the tasks are executed concurrently.\"); }); Runtime::spawn(|| { println!(\"But we can still nest tasks...\"); Runtime::spawn(|| { println!(\"...like this!\"); }) }); runtime.run();\n}\n# #[cfg(windows)]\n# fn main() { } Still hanging in there? Good. Don't get frustrated if the code above is difficult to understand. If I hadn't written it myself I would probably feel the same. You can always go back and read the book which explains it later.","breadcrumbs":"Green threads","id":"7","title":"Green threads"},"8":{"body":"You probably already know what we're going to talk about in the next paragraphs from JavaScript which I assume most know. If your exposure to JavaScript callbacks has given you any sorts of PTSD earlier in life, close your eyes now and scroll down for 2-3 seconds. You'll find a link there that takes you to safety. The whole idea behind a callback based approach is to save a pointer to a set of instructions we want to run later together with whatever state is needed. In Rust this would be a closure. In the example below, we save this information in a HashMap but it's not the only option. The basic idea of not involving threads as a primary way to achieve concurrency is the common denominator for the rest of the approaches. Including the one Rust uses today which we'll soon get to. Advantages: Easy to implement in most languages No context switching Relatively low memory overhead (in most cases) Drawbacks: Since each task must save the state it needs for later, the memory usage will grow linearly with the number of callbacks in a chain of computations. Can be hard to reason about. Many people already know this as \"callback hell\". It's a very different way of writing a program, and will require a substantial rewrite to go from a \"normal\" program flow to one that uses a \"callback based\" flow. Sharing state between tasks is a hard problem in Rust using this approach due to its ownership model. An extremely simplified example of a how a callback based approach could look like is: fn program_main() { println!(\"So we start the program here!\"); set_timeout(200, || { println!(\"We create tasks with a callback that runs once the task finished!\"); }); set_timeout(100, || { println!(\"We can even chain sub-tasks...\"); set_timeout(50, || { println!(\"...like this!\"); }) }); println!(\"While our tasks are executing we can do other stuff instead of waiting.\");\n} fn main() { RT.with(|rt| rt.run(program_main));\n} use std::sync::mpsc::{channel, Receiver, Sender};\nuse std::{cell::RefCell, collections::HashMap, thread}; thread_local! { static RT: Runtime = Runtime::new();\n} struct Runtime { callbacks: RefCell ()>>>, next_id: RefCell, evt_sender: Sender, evt_reciever: Receiver,\n} fn set_timeout(ms: u64, cb: impl FnOnce() + 'static) { RT.with(|rt| { let id = *rt.next_id.borrow(); *rt.next_id.borrow_mut() += 1; rt.callbacks.borrow_mut().insert(id, Box::new(cb)); let evt_sender = rt.evt_sender.clone(); thread::spawn(move || { thread::sleep(std::time::Duration::from_millis(ms)); evt_sender.send(id).unwrap(); }); });\n} impl Runtime { fn new() -> Self { let (evt_sender, evt_reciever) = channel(); Runtime { callbacks: RefCell::new(HashMap::new()), next_id: RefCell::new(1), evt_sender, evt_reciever, } } fn run(&self, program: fn()) { program(); for evt_id in &self.evt_reciever { let cb = self.callbacks.borrow_mut().remove(&evt_id).unwrap(); cb(); if self.callbacks.borrow().is_empty() { break; } } }\n} We're keeping this super simple, and you might wonder what's the difference between this approach and the one using OS threads and passing in the callbacks to the OS threads directly. The difference is that the callbacks are run on the same thread using this example. The OS threads we create are basically just used as timers but could represent any kind of resource that we'll have to wait for.","breadcrumbs":"Callback based approaches","id":"8","title":"Callback based approaches"},"9":{"body":"You might start to wonder by now, when are we going to talk about Futures? Well, we're getting there. You see Promises, Futures and other names for deferred computations are often used interchangeably. There are formal differences between them, but we won't cover those here. It's worth explaining promises a bit since they're widely known due to their use in JavaScript. Promises also have a lot in common with Rust's Futures. First of all, many languages have a concept of promises, but I'll use the one from JavaScript in the examples below. Promises are one way to deal with the complexity which comes with a callback based approach. Instead of: setTimer(200, () => { setTimer(100, () => { setTimer(50, () => { console.log(\"I'm the last one\"); }); });\n}); We can do this: function timer(ms) { return new Promise((resolve) => setTimeout(resolve, ms));\n} timer(200)\n.then(() => return timer(100))\n.then(() => return timer(50))\n.then(() => console.log(\"I'm the last one\")); The change is even more substantial under the hood. You see, promises return a state machine which can be in one of three states: pending, fulfilled or rejected. When we call timer(200) in the sample above, we get back a promise in the state pending. Since promises are re-written as state machines, they also enable an even better syntax which allows us to write our last example like this: async function run() { await timer(200); await timer(100); await timer(50); console.log(\"I'm the last one\");\n} You can consider the run function as a pausable task consisting of several sub-tasks. On each \"await\" point it yields control to the scheduler (in this case it's the well-known JavaScript event loop). Once one of the sub-tasks changes state to either fulfilled or rejected, the task is scheduled to continue to the next step. Syntactically, Rust's Futures 0.1 was a lot like the promises example above, and Rust's Futures 0.3 is a lot like async/await in our last example. Now this is also where the similarities between JavaScript promises and Rust's Futures stop. The reason we go through all this is to get an introduction and get into the right mindset for exploring Rust's Futures. To avoid confusion later on: There's one difference you should know. JavaScript promises are eagerly evaluated. That means that once it's created, it starts running a task. Rust's Futures on the other hand are lazily evaluated. They need to be polled once before they do any work. PANIC BUTTON (next chapter)","breadcrumbs":"From callbacks to promises","id":"9","title":"From callbacks to promises"}},"length":55,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"1":{"df":4,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}},"3":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":2.23606797749979}},"x":{"0":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"0":{"0":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}},"df":1,"docs":{"7":{"tf":1.0}}},"4":{"2":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"4":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"2":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":2.0},"28":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}},"3":{".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":2.0},"26":{"tf":1.0},"8":{"tf":1.0}}},"4":{"3":{"1":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"7":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}}},"8":{"df":2,"docs":{"22":{"tf":2.449489742783178},"7":{"tf":1.0}}},"_":{"df":4,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951}}},"df":0,"docs":{},"w":{"df":12,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}},"g":{"df":6,"docs":{"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"5":{"tf":1.0}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"1":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"z":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"r":{"c":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":6,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"22":{"tf":1.0},"31":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"19":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}}},"y":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.0},"54":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":3,"docs":{"3":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"df":21,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"2":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.23606797749979},"3":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"49":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"53":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"25":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"d":{"df":2,"docs":{"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.0}}},"i":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":4,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":4.69041575982343},"34":{"tf":3.4641016151377544},"35":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"28":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"28":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"28":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"53":{"tf":1.0},"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"29":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"7":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":2.6457513110645907},"12":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"l":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":6.164414002968976},"29":{"tf":2.23606797749979},"30":{"tf":2.0},"31":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"b":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":2,"docs":{"36":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"40":{"tf":1.0}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"41":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"43":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":3.4641016151377544},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":2.0},"29":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"6":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"36":{"tf":1.0},"48":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"29":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":8,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"2":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"8":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":22,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":2.8284271247461903},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"17":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"29":{"tf":1.0}}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":2.8284271247461903},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"25":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"48":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"17":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"i":{"d":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"i":{"'":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":10,"docs":{"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":3.0},"46":{"tf":3.0},"49":{"tf":2.8284271247461903},"7":{"tf":2.6457513110645907}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"36":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"'":{"_":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":6,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"13":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"7":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"27":{"tf":1.0},"7":{"tf":1.7320508075688772}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"22":{"tf":3.605551275463989},"26":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.0},"49":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.0}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"20":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"18":{"tf":1.0},"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"51":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":2,"docs":{"20":{"tf":1.0},"44":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":5,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"28":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"8":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"3":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0}}}},"df":1,"docs":{"22":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":12,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"21":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":8,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.4142135623730951},"47":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"36":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":5,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}},"q":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"26":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"11":{"tf":2.0},"43":{"tf":1.4142135623730951},"46":{"tf":3.605551275463989},"47":{"tf":1.0},"49":{"tf":1.7320508075688772},"9":{"tf":1.0}},"u":{"df":1,"docs":{"19":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"41":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"8":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":24,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"41":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"28":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"19":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"19":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"2":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"t":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"n":{"df":2,"docs":{"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"41":{"tf":1.0},"43":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.0},"8":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"6":{"tf":1.7320508075688772},"7":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":1,"docs":{"22":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"48":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"22":{"tf":2.0},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"x":{"df":6,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"n":{"df":17,"docs":{"22":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":4.358898943540674},"30":{"tf":1.0},"33":{"tf":4.358898943540674},"34":{"tf":4.358898943540674},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":4.47213595499958},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":3.872983346207417},"6":{"tf":1.0},"7":{"tf":3.872983346207417},"8":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":2,"docs":{"26":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"22":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"47":{"tf":1.0}}}}},"k":{"df":1,"docs":{"1":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"22":{"tf":2.0},"23":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"49":{"tf":1.0},"5":{"tf":1.0}},"t":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"32":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0}}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":37,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"10":{"tf":1.7320508075688772},"11":{"tf":3.7416573867739413},"12":{"tf":2.8284271247461903},"13":{"tf":3.1622776601683795},"14":{"tf":2.23606797749979},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.449489742783178},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":4.47213595499958},"44":{"tf":3.3166247903554},"45":{"tf":1.0},"46":{"tf":3.7416573867739413},"47":{"tf":4.0},"48":{"tf":2.0},"49":{"tf":2.449489742783178},"5":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.8284271247461903}},"e":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"l":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":2.8284271247461903}}}}}}}},"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"40":{"tf":2.0}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.8284271247461903},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.4641016151377544},"40":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"28":{"tf":1.0}}},"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.3166247903554},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.872983346207417},"40":{"tf":2.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.0},"40":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}},"r":{"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"df":13,"docs":{"17":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":2.449489742783178},"27":{"tf":1.7320508075688772},"28":{"tf":4.795831523312719},"29":{"tf":2.8284271247461903},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":2.0},"43":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"t":{"'":{"df":1,"docs":{"46":{"tf":1.0}}},"df":11,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"48":{"tf":2.0},"5":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":10,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":13,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":2.8284271247461903},"47":{"tf":1.0},"49":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0}}}},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"d":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"19":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"28":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}},"o":{"df":1,"docs":{"28":{"tf":1.0}}}},"p":{"df":4,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"22":{"tf":1.0},"46":{"tf":1.0}}}},"o":{"d":{"df":3,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"d":{"df":2,"docs":{"3":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"m":{"df":1,"docs":{"32":{"tf":1.0}}},"v":{"df":9,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":6,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"46":{"tf":3.0},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"22":{"tf":3.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"'":{"df":1,"docs":{"44":{"tf":1.0}}},")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":4.58257569495584},"49":{"tf":3.1622776601683795},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"33":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"28":{"tf":3.1622776601683795},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":32,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"1":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0}},"i":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"i":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"19":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"f":{"a":{"c":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"29":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"25":{"tf":1.0}},"t":{"df":3,"docs":{"10":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":3,"docs":{"21":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":3,"docs":{"1":{"tf":1.0},"30":{"tf":1.0},"45":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"'":{"df":29,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"44":{"tf":3.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":2,"docs":{"20":{"tf":1.0},"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":8,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":4,"docs":{"14":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"31":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"23":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":1,"docs":{"13":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"30":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"b":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":16,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":2.23606797749979},"37":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"32":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"40":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"v":{"df":2,"docs":{"23":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"'":{"df":16,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":2.0},"33":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}},"k":{"df":3,"docs":{"48":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}},"t":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"40":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":2.6457513110645907},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":5,"docs":{"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"9":{"tf":1.0}}},"s":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"t":{"df":10,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"w":{"df":2,"docs":{"44":{"tf":1.0},"8":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"27":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"27":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":16,"docs":{"1":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.8284271247461903},"48":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"23":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":12,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"b":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"32":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":2,"docs":{"3":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"24":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"1":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"28":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":2.23606797749979},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"24":{"tf":1.0}}}}},"v":{"df":1,"docs":{"7":{"tf":3.872983346207417}},"e":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"46":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"9":{"tf":1.0}}},"u":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":3.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":4.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"40":{"tf":2.6457513110645907},"43":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"48":{"tf":2.0},"49":{"tf":2.6457513110645907},"7":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"x":{"df":6,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"1":{"tf":1.0},"43":{"tf":1.0},"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":3.4641016151377544},"46":{"tf":3.1622776601683795},"48":{"tf":1.7320508075688772},"49":{"tf":3.0}},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":2.0},"9":{"tf":1.0}}}}},"b":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"36":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0}}}}}},"df":11,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.23606797749979},"8":{"tf":1.0},"9":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":10,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}},"k":{"b":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":5,"docs":{"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}},"h":{"df":4,"docs":{"22":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"!":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":19,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":3.3166247903554},"23":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"36":{"tf":1.0}}},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"n":{"c":{"df":10,"docs":{"25":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":2.8284271247461903}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}},"r":{"df":11,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"6":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.7320508075688772},"34":{"tf":1.0}}}}}}},"s":{"df":3,"docs":{"6":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":5,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0}}}}}}},"t":{"df":10,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"22":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":2.449489742783178},"49":{"tf":2.0}}}}},"t":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"52":{"tf":1.0},"7":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"29":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":2.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"32":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"34":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"40":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"34":{"tf":3.4641016151377544},"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"'":{"a":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":14,"docs":{"24":{"tf":1.0},"28":{"tf":2.0},"31":{"tf":2.23606797749979},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":2.8284271247461903},"35":{"tf":2.0},"36":{"tf":3.3166247903554},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"53":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}}}}}},"y":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"7":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"6":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":10,"docs":{"22":{"tf":4.242640687119285},"28":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"11":{"tf":2.449489742783178},"13":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":2.23606797749979},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"29":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"#":{"4":{"5":{"3":{"3":{"7":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":7,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":3,"docs":{"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"33":{"tf":2.449489742783178},"34":{"tf":2.0},"35":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"28":{"tf":1.7320508075688772}}}}}}},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":2,"docs":{"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":8,"docs":{"16":{"tf":1.0},"28":{"tf":2.449489742783178},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"26":{"tf":1.0}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":2.0},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"41":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"26":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":3.4641016151377544}},"e":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"df":9,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":2.449489742783178}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"23":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"32":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}},"r":{"\"":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"1":{"2":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"5":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":5,"docs":{"28":{"tf":2.449489742783178},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":2.449489742783178},"49":{"tf":2.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.3166247903554},"46":{"tf":6.928203230275509},"48":{"tf":1.0},"49":{"tf":3.3166247903554},"52":{"tf":2.0}}}}}},"d":{"df":14,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"54":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"51":{"tf":1.0}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"40":{"tf":1.0},"9":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":2.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"28":{"tf":2.0},"32":{"tf":1.0},"33":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}},"x":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"41":{"tf":1.0}}}}}}}}},"r":{"(":{"c":{"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":2.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0}},"e":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"33":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}}}},"m":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":2.6457513110645907},"49":{"tf":2.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":3.1622776601683795}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":14,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"28":{"tf":3.1622776601683795},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"0":{"3":{"3":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"2":{"3":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"31":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"2":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":14,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":1,"docs":{"26":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"t":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":19,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":2.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"46":{"tf":2.449489742783178},"47":{"tf":2.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"1":{"tf":2.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":3.1622776601683795},"16":{"tf":2.449489742783178},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"23":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":3.872983346207417},"8":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"15":{"tf":1.0},"54":{"tf":1.0},"9":{"tf":2.449489742783178}}},"df":31,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.0},"11":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"s":{".":{"a":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"7":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":10,"docs":{"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":12,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"w":{"df":1,"docs":{"33":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"23":{"tf":1.0},"32":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":2.23606797749979},"46":{"tf":2.23606797749979},"49":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":18,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"14":{"tf":1.0}}},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"0":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"df":2,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0}}},"b":{"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0},"35":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":2.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.8284271247461903}}}}}},"df":15,"docs":{"28":{"tf":6.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":3.7416573867739413},"34":{"tf":4.358898943540674},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.23606797749979},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":3.1622776601683795},"49":{"tf":2.449489742783178},"7":{"tf":2.449489742783178},"8":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"16":{"tf":2.0},"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"1":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":10,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"51":{"tf":1.0}}}}},"df":3,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}},"i":{"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"22":{"tf":2.23606797749979},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"5":{"tf":1.0}}}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}},"v":{"df":4,"docs":{"34":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"47":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"_":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":1.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"43":{"tf":1.0}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.0},"36":{"tf":1.0}}}},"l":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":10,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":2.0},"43":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.8284271247461903}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":17,"docs":{"1":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":16,"docs":{"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":3.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903},"8":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}},"i":{"c":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":4,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"c":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"54":{"tf":1.0}},"s":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"26":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"b":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":5,"docs":{"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":5,"docs":{"28":{"tf":3.605551275463989},"33":{"tf":4.0},"34":{"tf":4.0},"35":{"tf":2.0},"40":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"13":{"tf":1.0},"36":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"43":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"26":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":4,"docs":{"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":5,"docs":{"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":1.0}}}}}}}},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"23":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}},"n":{"df":3,"docs":{"2":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":7,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":2.8284271247461903},"46":{"tf":5.385164807134504},"49":{"tf":2.8284271247461903},"6":{"tf":3.0},"7":{"tf":2.8284271247461903},"8":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"c":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":2.449489742783178}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"33":{"tf":2.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":3,"docs":{"33":{"tf":4.242640687119285},"34":{"tf":3.3166247903554},"35":{"tf":1.0}}},"2":{".":{"a":{"df":1,"docs":{"33":{"tf":1.7320508075688772}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"33":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"33":{"tf":3.1622776601683795},"34":{"tf":2.8284271247461903},"35":{"tf":1.0}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"2":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":4.0},"34":{"tf":3.4641016151377544},"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"3":{"tf":2.0},"30":{"tf":1.0}}}},"t":{"'":{"df":7,"docs":{"15":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"9":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":8,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0}}},"k":{"df":5,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"b":{"df":1,"docs":{"34":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"16":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"i":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}}}}}},"df":14,"docs":{"16":{"tf":2.449489742783178},"19":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"32":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":4.358898943540674},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":3.0},"7":{"tf":5.477225575051661},"8":{"tf":2.449489742783178}},"s":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":2,"docs":{"19":{"tf":1.0},"33":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"16":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"6":{"4":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":3,"docs":{"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"28":{"tf":5.291502622129181},"29":{"tf":2.0},"30":{"tf":2.0},"40":{"tf":2.449489742783178}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"47":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"39":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"32":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"23":{"tf":1.0},"30":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":11,"docs":{"15":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":4.123105625617661},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"df":10,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":5,"docs":{"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"39":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"47":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"28":{"tf":4.69041575982343},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.449489742783178},"36":{"tf":3.1622776601683795},"38":{"tf":1.0},"40":{"tf":2.23606797749979},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"6":{"4":{"df":5,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.7320508075688772},"7":{"tf":4.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":4,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"47":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"32":{"tf":2.449489742783178},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"36":{"tf":3.0},"40":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":13,"docs":{"22":{"tf":1.0},"28":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":3.872983346207417},"35":{"tf":2.0},"36":{"tf":3.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"7":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":12,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":36,"docs":{"0":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"28":{"tf":3.4641016151377544},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":3.3166247903554},"35":{"tf":1.7320508075688772},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":3.1622776601683795},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":2.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":7,"docs":{"22":{"tf":2.23606797749979},"28":{"tf":2.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"49":{"tf":2.6457513110645907},"7":{"tf":2.6457513110645907}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.23606797749979}},"i":{"d":{"df":3,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.449489742783178},"47":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"8":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"a":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"33":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"16":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"44":{"tf":2.449489742783178},"46":{"tf":1.7320508075688772},"49":{"tf":1.7320508075688772}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"c":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":14,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":2.6457513110645907},"44":{"tf":3.0},"46":{"tf":3.605551275463989},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"33":{"tf":1.0},"41":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"y":{"df":25,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"r":{"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"v":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"b":{"df":1,"docs":{"6":{"tf":2.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":9,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"24":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":5,"docs":{"33":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"43":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"23":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"19":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"48":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":23,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}},"l":{"d":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"9":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"52":{"tf":1.0}},"p":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":12,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"29":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":12,"docs":{"13":{"tf":2.0},"16":{"tf":2.23606797749979},"28":{"tf":4.358898943540674},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":3,"docs":{"16":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"34":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":4,"docs":{"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"5":{"tf":1.0}}},"v":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"breadcrumbs":{"root":{"0":{".":{"1":{"df":4,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}},"3":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":2.23606797749979}},"x":{"0":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"(":{"$":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"(":{"$":{"1":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"1":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"0":{"0":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}},"df":1,"docs":{"7":{"tf":1.0}}},"4":{"2":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"0":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"4":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"2":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":5,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":2.0},"28":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}},"3":{".":{"0":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":2.0},"26":{"tf":1.0},"8":{"tf":1.0}}},"4":{"3":{"1":{"2":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"7":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}}},"8":{"df":2,"docs":{"22":{"tf":2.449489742783178},"7":{"tf":1.0}}},"_":{"df":4,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}}}}},"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951}}},"df":0,"docs":{},"w":{"df":12,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}},"g":{"df":6,"docs":{"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"5":{"tf":1.0}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":5,"docs":{"1":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"z":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.6457513110645907},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"r":{"c":{":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":6,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"22":{"tf":1.0},"31":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":2.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"19":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}}},"y":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.0},"24":{"tf":2.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":3,"docs":{"3":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"df":21,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"2":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.449489742783178},"3":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.0},"49":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"53":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"25":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"d":{"df":2,"docs":{"40":{"tf":1.0},"45":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}},"i":{"c":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"17":{"tf":2.23606797749979},"18":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":4,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":4.69041575982343},"34":{"tf":3.4641016151377544},"35":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"28":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"28":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"28":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"29":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"7":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":2.8284271247461903},"12":{"tf":1.0},"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"l":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":6.164414002968976},"29":{"tf":2.23606797749979},"30":{"tf":2.0},"31":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"b":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":2,"docs":{"36":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"40":{"tf":1.0}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"41":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"43":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":3.605551275463989},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":2.0},"29":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0},"6":{"tf":1.0}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"36":{"tf":1.0},"48":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}},"df":1,"docs":{"14":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"29":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":8,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"2":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"8":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":22,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":2.8284271247461903},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"17":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"32":{"tf":1.0},"43":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"29":{"tf":1.0}}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":2.8284271247461903},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"25":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.4142135623730951}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"48":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"17":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"i":{"d":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"i":{"'":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":10,"docs":{"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":3.0},"46":{"tf":3.0},"49":{"tf":2.8284271247461903},"7":{"tf":2.6457513110645907}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"28":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"36":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"'":{"_":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"18":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"27":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":6,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"13":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"'":{"df":1,"docs":{"7":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":2.0},"27":{"tf":1.0},"7":{"tf":1.7320508075688772}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"3":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":5,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"22":{"tf":3.605551275463989},"26":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.0},"49":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.0}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"20":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"18":{"tf":1.0},"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":1,"docs":{"51":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":2,"docs":{"20":{"tf":1.0},"44":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":5,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"28":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":3,"docs":{"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"8":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"26":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":1.0}},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":8,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":2.23606797749979},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"3":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"18":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0}}}},"df":1,"docs":{"22":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":12,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"19":{"tf":1.0},"3":{"tf":1.0},"44":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"21":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":8,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.4142135623730951},"47":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"36":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":5,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}},"q":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"26":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"11":{"tf":2.0},"43":{"tf":1.4142135623730951},"46":{"tf":3.605551275463989},"47":{"tf":1.0},"49":{"tf":1.7320508075688772},"9":{"tf":1.0}},"u":{"df":1,"docs":{"19":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"41":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"8":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":24,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"41":{"tf":2.23606797749979},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"28":{"tf":1.0}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"19":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":16,"docs":{"1":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"19":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":2.6457513110645907},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"2":{"tf":1.7320508075688772},"47":{"tf":1.0},"50":{"tf":1.7320508075688772},"51":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"t":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"n":{"df":2,"docs":{"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"41":{"tf":1.0},"43":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.0},"8":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"6":{"tf":1.7320508075688772},"7":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":1,"docs":{"22":{"tf":2.449489742783178}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":1,"docs":{"33":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"48":{"tf":1.0}}}},"d":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"1":{"tf":1.0},"22":{"tf":2.0},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"x":{"df":6,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"46":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"n":{"df":17,"docs":{"22":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":4.358898943540674},"30":{"tf":1.0},"33":{"tf":4.358898943540674},"34":{"tf":4.358898943540674},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":4.47213595499958},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":3.872983346207417},"6":{"tf":1.0},"7":{"tf":3.872983346207417},"8":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":2,"docs":{"26":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"22":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"47":{"tf":1.0}}}}},"k":{"df":1,"docs":{"1":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"22":{"tf":2.0},"23":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"53":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"49":{"tf":1.0},"5":{"tf":1.0}},"t":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"32":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951}}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":37,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":3.872983346207417},"12":{"tf":3.0},"13":{"tf":3.3166247903554},"14":{"tf":2.23606797749979},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.449489742783178},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":4.47213595499958},"44":{"tf":3.4641016151377544},"45":{"tf":1.0},"46":{"tf":3.7416573867739413},"47":{"tf":4.0},"48":{"tf":2.0},"49":{"tf":2.449489742783178},"5":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.8284271247461903}},"e":{"1":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},"2":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"l":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":2.8284271247461903}}}}}}}},"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"40":{"tf":2.0}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"29":{"tf":1.0},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.8284271247461903},"40":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.4641016151377544},"40":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"28":{"tf":1.0}}},"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.3166247903554},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":3.872983346207417},"40":{"tf":2.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":3.0},"40":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}},"r":{"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}},"df":13,"docs":{"17":{"tf":1.0},"24":{"tf":2.0},"25":{"tf":2.6457513110645907},"27":{"tf":1.7320508075688772},"28":{"tf":4.898979485566356},"29":{"tf":3.0},"30":{"tf":2.0},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"t":{"'":{"df":1,"docs":{"46":{"tf":1.0}}},"df":11,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"43":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"23":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"48":{"tf":2.0},"5":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":4,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"d":{"df":10,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"7":{"tf":3.0}}}}},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":13,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":2.8284271247461903},"47":{"tf":1.0},"49":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0}}}},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"d":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"19":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"28":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":2.449489742783178},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}},"o":{"df":1,"docs":{"28":{"tf":1.0}}}},"p":{"df":4,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"22":{"tf":1.0},"46":{"tf":1.0}}}},"o":{"d":{"df":3,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"'":{"d":{"df":2,"docs":{"3":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"m":{"df":1,"docs":{"32":{"tf":1.0}}},"v":{"df":9,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":6,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"46":{"tf":3.0},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"22":{"tf":3.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"d":{"'":{"df":1,"docs":{"44":{"tf":1.0}}},")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":4.58257569495584},"49":{"tf":3.1622776601683795},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"40":{"tf":1.0},"45":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"33":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"28":{"tf":3.1622776601683795},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":32,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":2.23606797749979},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.449489742783178},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"1":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0}},"i":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"i":{"df":2,"docs":{"22":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":2.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"19":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"f":{"a":{"c":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"29":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"25":{"tf":1.0}},"t":{"df":3,"docs":{"10":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":3,"docs":{"21":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":3,"docs":{"1":{"tf":1.0},"30":{"tf":1.0},"45":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"'":{"df":29,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.6457513110645907},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"44":{"tf":3.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":2,"docs":{"20":{"tf":1.0},"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":8,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"df":4,"docs":{"14":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"31":{"tf":1.0},"7":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"23":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":1,"docs":{"13":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"30":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"a":{"b":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":16,"docs":{"0":{"tf":1.0},"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"2":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":2.23606797749979},"37":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"y":{"df":1,"docs":{"32":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"44":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"47":{"tf":1.0},"51":{"tf":1.0}}}},"v":{"df":2,"docs":{"23":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"'":{"df":16,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}},"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":2.0},"33":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":8,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"2":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}},"k":{"df":3,"docs":{"48":{"tf":1.0},"54":{"tf":1.0},"8":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}},"t":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"40":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"k":{"df":15,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":2.6457513110645907},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":5,"docs":{"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"9":{"tf":1.0}}},"s":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"t":{"df":10,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"w":{"df":2,"docs":{"44":{"tf":1.0},"8":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"27":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"27":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":16,"docs":{"1":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.0},"30":{"tf":1.0},"33":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":2.8284271247461903},"48":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"23":{"tf":1.0}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":12,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}},"x":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"b":{"df":2,"docs":{"43":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":14,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"32":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":2,"docs":{"3":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"24":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":15,"docs":{"1":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"28":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"24":{"tf":1.0}}}}},"v":{"df":1,"docs":{"7":{"tf":3.872983346207417}},"e":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"46":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"9":{"tf":1.0}}},"u":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":1,"docs":{"22":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}},"df":18,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"28":{"tf":3.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":4.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"40":{"tf":2.6457513110645907},"43":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"48":{"tf":2.0},"49":{"tf":2.6457513110645907},"7":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"x":{"df":6,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"1":{"tf":1.0},"43":{"tf":1.0},"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":3.4641016151377544},"46":{"tf":3.1622776601683795},"48":{"tf":1.7320508075688772},"49":{"tf":3.0}},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"*":{"(":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"28":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":2.0},"9":{"tf":1.0}}}}},"b":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.7320508075688772}}},"df":3,"docs":{"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":2.0},"40":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{}},"g":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"df":1,"docs":{"36":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0}}}}}},"df":11,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.23606797749979},"8":{"tf":1.0},"9":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":10,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"28":{"tf":2.0},"30":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}},"k":{"b":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":5,"docs":{"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}},"h":{"df":4,"docs":{"22":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0}}},"i":{"c":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"46":{"tf":1.0}},"i":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"!":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":19,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":3.3166247903554},"23":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":2.0},"40":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"36":{"tf":1.0}}},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"n":{"c":{"df":10,"docs":{"25":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":2.8284271247461903}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}},"r":{"df":11,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"6":{"tf":2.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.7320508075688772},"34":{"tf":1.0}}}}}}},"s":{"df":3,"docs":{"6":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":5,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0}}}}}}},"t":{"df":10,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"22":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"47":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"48":{"tf":2.449489742783178},"49":{"tf":2.0}}}}},"t":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"52":{"tf":1.0},"7":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":2.0},"8":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"29":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"44":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":2.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"32":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"34":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"40":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":2,"docs":{"34":{"tf":3.4641016151377544},"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"'":{"a":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"df":14,"docs":{"24":{"tf":1.0},"28":{"tf":2.0},"31":{"tf":2.449489742783178},"32":{"tf":2.23606797749979},"33":{"tf":1.4142135623730951},"34":{"tf":3.0},"35":{"tf":2.23606797749979},"36":{"tf":3.4641016151377544},"37":{"tf":2.0},"38":{"tf":2.23606797749979},"40":{"tf":3.3166247903554},"43":{"tf":1.7320508075688772},"54":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"53":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}}}}}},"y":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"7":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"43":{"tf":2.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"6":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":10,"docs":{"22":{"tf":4.358898943540674},"28":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"8":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":4,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"11":{"tf":2.449489742783178},"13":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.449489742783178},"44":{"tf":2.23606797749979},"46":{"tf":1.0},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"29":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"#":{"4":{"5":{"3":{"3":{"7":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":7,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{".":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":3,"docs":{"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"33":{"tf":2.449489742783178},"34":{"tf":2.0},"35":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"2":{"df":2,"docs":{"30":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"28":{"tf":1.7320508075688772}}}}}}},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":2,"docs":{"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":8,"docs":{"16":{"tf":1.0},"28":{"tf":2.449489742783178},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"26":{"tf":1.0}},"t":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":2.0},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"41":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"26":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":3.605551275463989}},"e":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"df":9,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":2.449489742783178}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"23":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"32":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}},"r":{"\"":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"1":{"2":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"5":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.0}}}},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"28":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"a":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}},"x":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":5,"docs":{"28":{"tf":2.449489742783178},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":2.449489742783178},"49":{"tf":2.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.3166247903554},"46":{"tf":7.0},"48":{"tf":1.0},"49":{"tf":3.3166247903554},"52":{"tf":2.23606797749979}}}}}},"d":{"df":14,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"17":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.0},"46":{"tf":2.0},"47":{"tf":1.0},"49":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"m":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"28":{"tf":2.0},"40":{"tf":1.0},"9":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":2.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"11":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"28":{"tf":2.0},"32":{"tf":1.0},"33":{"tf":2.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951}}}}}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"46":{"tf":1.0}}},"x":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":1,"docs":{"8":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"28":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"41":{"tf":1.0}}}}}}}}},"r":{"(":{"c":{"df":2,"docs":{"22":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"46":{"tf":2.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"46":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":4,"docs":{"16":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0}},"e":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":2,"docs":{"33":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"33":{"tf":1.0},"47":{"tf":1.0}}}},"m":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":2.6457513110645907},"49":{"tf":2.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":3.1622776601683795}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":1,"docs":{"7":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":14,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"28":{"tf":3.1622776601683795},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"0":{"3":{"3":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"8":{"2":{"3":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"31":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"9":{"2":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"28":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":14,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":1,"docs":{"26":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"t":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":19,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":2.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"43":{"tf":2.23606797749979},"46":{"tf":2.449489742783178},"47":{"tf":2.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"1":{"tf":2.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":3.3166247903554},"16":{"tf":2.449489742783178},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"23":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":3.872983346207417},"8":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"15":{"tf":1.4142135623730951},"54":{"tf":1.0},"9":{"tf":2.449489742783178}}},"df":31,"docs":{"0":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}}},"s":{".":{"a":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"7":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":10,"docs":{"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"32":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":12,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"w":{"df":1,"docs":{"33":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"23":{"tf":1.0},"32":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"44":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":3,"docs":{"44":{"tf":2.23606797749979},"46":{"tf":2.23606797749979},"49":{"tf":2.0}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":18,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"28":{"tf":2.6457513110645907},"29":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"14":{"tf":1.0}}},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"0":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"df":2,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0}}},"b":{"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.0},"35":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":2.23606797749979}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":2,"docs":{"34":{"tf":2.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":2.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"i":{"d":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"[":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"]":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":3.1622776601683795},"40":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"33":{"tf":2.8284271247461903}}}}}},"df":15,"docs":{"28":{"tf":6.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"33":{"tf":3.872983346207417},"34":{"tf":4.358898943540674},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":3.1622776601683795},"49":{"tf":2.449489742783178},"7":{"tf":2.449489742783178},"8":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"df":2,"docs":{"16":{"tf":2.0},"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"1":{"tf":1.0},"19":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"1":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":10,"docs":{"13":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"31":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"9":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"51":{"tf":1.0}}}}},"df":3,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":6,"docs":{"25":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"1":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}}},"i":{"df":5,"docs":{"43":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"22":{"tf":2.23606797749979},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"52":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"5":{"tf":1.0}}}}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}},"v":{"df":4,"docs":{"34":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"47":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"40":{"tf":1.0},"48":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"(":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"_":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":1.0},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"5":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"43":{"tf":1.0}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.0},"36":{"tf":1.0}}}},"l":{"df":4,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"46":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":10,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.6457513110645907},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":2.0},"43":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.8284271247461903}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"(":{")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":17,"docs":{"1":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":16,"docs":{"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":3.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903},"8":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}},"i":{"c":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":4,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"r":{"c":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"28":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"30":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.7320508075688772},"33":{"tf":2.0},"34":{"tf":2.0},"35":{"tf":1.0},"40":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":4,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"47":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"28":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"54":{"tf":1.0}},"s":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"26":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"7":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":3,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"b":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":5,"docs":{"27":{"tf":1.0},"28":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":5,"docs":{"28":{"tf":3.605551275463989},"33":{"tf":4.0},"34":{"tf":4.0},"35":{"tf":2.0},"40":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"33":{"tf":3.0},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.0}}},"df":3,"docs":{"22":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"13":{"tf":1.0},"36":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"30":{"tf":1.0},"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"43":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"26":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"28":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":4,"docs":{"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":5,"docs":{"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":2.23606797749979},"7":{"tf":1.0}}}}}}}},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"2":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"6":{"tf":1.0}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"23":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}},"n":{"df":3,"docs":{"2":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":7,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"46":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.1622776601683795},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"26":{"tf":1.0},"44":{"tf":2.8284271247461903},"46":{"tf":5.385164807134504},"49":{"tf":2.8284271247461903},"6":{"tf":3.0},"7":{"tf":2.8284271247461903},"8":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"(":{"c":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{")":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":2.449489742783178}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":1,"docs":{"1":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"33":{"tf":2.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":2,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":3,"docs":{"33":{"tf":4.242640687119285},"34":{"tf":3.3166247903554},"35":{"tf":1.0}}},"2":{".":{"a":{"df":1,"docs":{"33":{"tf":1.7320508075688772}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"33":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.7320508075688772}}}}}}},"df":3,"docs":{"33":{"tf":3.1622776601683795},"34":{"tf":2.8284271247461903},"35":{"tf":1.0}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"2":{"df":3,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":4.0},"34":{"tf":3.4641016151377544},"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"3":{"tf":2.23606797749979},"30":{"tf":1.0}}}},"t":{"'":{"df":7,"docs":{"15":{"tf":1.0},"32":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"9":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":8,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0}}},"k":{"df":5,"docs":{"14":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"b":{"df":1,"docs":{"34":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"16":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"i":{")":{")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":4,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":2.0}}}}}}}}},"df":14,"docs":{"16":{"tf":2.449489742783178},"19":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.4142135623730951},"32":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.7320508075688772},"45":{"tf":2.0},"46":{"tf":4.358898943540674},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":3.1622776601683795},"7":{"tf":5.5677643628300215},"8":{"tf":2.449489742783178}},"s":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"0":{"]":{".":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":2,"docs":{"19":{"tf":1.0},"33":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"16":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"6":{"4":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"r":{"(":{"1":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":3,"docs":{"46":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"28":{"tf":5.291502622129181},"29":{"tf":2.0},"30":{"tf":2.0},"40":{"tf":2.449489742783178}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"47":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"48":{"tf":1.0},"8":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"3":{"0":{"0":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"32":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"23":{"tf":1.0},"30":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{";":{"4":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":11,"docs":{"15":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":4.123105625617661},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"40":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.23606797749979},"46":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"34":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"df":10,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":5,"docs":{"28":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"39":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"47":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"46":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"22":{"tf":1.0},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}}},"x":{"df":2,"docs":{"46":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":18,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"28":{"tf":4.69041575982343},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.449489742783178},"36":{"tf":3.1622776601683795},"38":{"tf":1.0},"40":{"tf":2.23606797749979},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"46":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"6":{"4":{"df":5,"docs":{"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"49":{"tf":1.7320508075688772},"7":{"tf":4.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"df":4,"docs":{"24":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.4142135623730951},"9":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"47":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"32":{"tf":2.449489742783178},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"36":{"tf":3.0},"40":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":13,"docs":{"22":{"tf":1.0},"28":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":3.872983346207417},"35":{"tf":2.0},"36":{"tf":3.0},"40":{"tf":3.1622776601683795},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"7":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":12,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"df":36,"docs":{"0":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"28":{"tf":3.4641016151377544},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":2.8284271247461903},"34":{"tf":3.3166247903554},"35":{"tf":1.7320508075688772},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"40":{"tf":3.1622776601683795},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":2.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":7,"docs":{"22":{"tf":2.23606797749979},"28":{"tf":2.0},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"49":{"tf":2.6457513110645907},"7":{"tf":2.6457513110645907}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"28":{"tf":1.0},"43":{"tf":1.7320508075688772},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":2.23606797749979}},"i":{"d":{"df":3,"docs":{"32":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"22":{"tf":1.7320508075688772},"28":{"tf":2.449489742783178},"30":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"40":{"tf":2.449489742783178},"47":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"!":{"[":{"0":{"_":{"df":0,"docs":{},"u":{"8":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"8":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"16":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"a":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"33":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"44":{"tf":2.449489742783178},"46":{"tf":1.7320508075688772},"49":{"tf":1.7320508075688772}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":2.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"c":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":4,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"df":0,"docs":{},"r":{"c":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":14,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":2.0},"19":{"tf":2.449489742783178},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":2.6457513110645907},"44":{"tf":3.0},"46":{"tf":3.605551275463989},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"44":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"33":{"tf":1.0},"41":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"y":{"df":25,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":2.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"d":{"df":2,"docs":{"28":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":17,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"r":{"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"v":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"b":{"df":1,"docs":{"6":{"tf":2.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":9,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"24":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":5,"docs":{"33":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"43":{"tf":1.0},"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"36":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"23":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":3,"docs":{"19":{"tf":1.0},"28":{"tf":1.0},"44":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"48":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"40":{"tf":1.0},"9":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"22":{"tf":1.0},"36":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"df":23,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.23606797749979},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}},"l":{"d":{"\\":{"df":0,"docs":{},"n":{"\"":{")":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"40":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"43":{"tf":1.0},"9":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"43":{"tf":1.0},"52":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":12,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"y":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"29":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"28":{"tf":2.0},"40":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":12,"docs":{"13":{"tf":2.0},"16":{"tf":2.23606797749979},"28":{"tf":4.358898943540674},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"28":{"tf":2.23606797749979},"40":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":3,"docs":{"16":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"1":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.449489742783178},"34":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"df":4,"docs":{"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"5":{"tf":1.0}}},"v":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0}}}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"title":{"root":{"2":{"0":{"0":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"47":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.0},"20":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"38":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"x":{"df":1,"docs":{"40":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"54":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0}}}}}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"41":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"40":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"48":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"2":{"tf":1.0},"54":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"51":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0}}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":4,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"45":{"tf":1.0}}}},"v":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/book/theme-dawn.js b/book/theme-dawn.js deleted file mode 100644 index af391d0..0000000 --- a/book/theme-dawn.js +++ /dev/null @@ -1,7 +0,0 @@ -ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dawn",t.cssText=".ace-dawn .ace_gutter {background: #ebebeb;color: #333}.ace-dawn .ace_print-margin {width: 1px;background: #e8e8e8}.ace-dawn {background-color: #F9F9F9;color: #080808}.ace-dawn .ace_cursor {color: #000000}.ace-dawn .ace_marker-layer .ace_selection {background: rgba(39, 95, 255, 0.30)}.ace-dawn.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #F9F9F9;}.ace-dawn .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-dawn .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(75, 75, 126, 0.50)}.ace-dawn .ace_marker-layer .ace_active-line {background: rgba(36, 99, 180, 0.12)}.ace-dawn .ace_gutter-active-line {background-color : #dcdcdc}.ace-dawn .ace_marker-layer .ace_selected-word {border: 1px solid rgba(39, 95, 255, 0.30)}.ace-dawn .ace_invisible {color: rgba(75, 75, 126, 0.50)}.ace-dawn .ace_keyword,.ace-dawn .ace_meta {color: #794938}.ace-dawn .ace_constant,.ace-dawn .ace_constant.ace_character,.ace-dawn .ace_constant.ace_character.ace_escape,.ace-dawn .ace_constant.ace_other {color: #811F24}.ace-dawn .ace_invalid.ace_illegal {text-decoration: underline;font-style: italic;color: #F8F8F8;background-color: #B52A1D}.ace-dawn .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #B52A1D}.ace-dawn .ace_support {color: #691C97}.ace-dawn .ace_support.ace_constant {color: #B4371F}.ace-dawn .ace_fold {background-color: #794938;border-color: #080808}.ace-dawn .ace_list,.ace-dawn .ace_markup.ace_list,.ace-dawn .ace_support.ace_function {color: #693A17}.ace-dawn .ace_storage {font-style: italic;color: #A71D5D}.ace-dawn .ace_string {color: #0B6125}.ace-dawn .ace_string.ace_regexp {color: #CF5628}.ace-dawn .ace_comment {font-style: italic;color: #5A525F}.ace-dawn .ace_heading,.ace-dawn .ace_markup.ace_heading {color: #19356D}.ace-dawn .ace_variable {color: #234A97}.ace-dawn .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() { - ace.require(["ace/theme/dawn"], function(m) { - if (typeof module == "object" && typeof exports == "object" && module) { - module.exports = m; - } - }); - })(); diff --git a/book/theme-tomorrow_night.js b/book/theme-tomorrow_night.js deleted file mode 100644 index 7620b2a..0000000 --- a/book/theme-tomorrow_night.js +++ /dev/null @@ -1,7 +0,0 @@ -ace.define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night",t.cssText=".ace-tomorrow-night .ace_gutter {background: #25282c;color: #C5C8C6}.ace-tomorrow-night .ace_print-margin {width: 1px;background: #25282c}.ace-tomorrow-night {background-color: #1D1F21;color: #C5C8C6}.ace-tomorrow-night .ace_cursor {color: #AEAFAD}.ace-tomorrow-night .ace_marker-layer .ace_selection {background: #373B41}.ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1D1F21;}.ace-tomorrow-night .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #4B4E55}.ace-tomorrow-night .ace_marker-layer .ace_active-line {background: #282A2E}.ace-tomorrow-night .ace_gutter-active-line {background-color: #282A2E}.ace-tomorrow-night .ace_marker-layer .ace_selected-word {border: 1px solid #373B41}.ace-tomorrow-night .ace_invisible {color: #4B4E55}.ace-tomorrow-night .ace_keyword,.ace-tomorrow-night .ace_meta,.ace-tomorrow-night .ace_storage,.ace-tomorrow-night .ace_storage.ace_type,.ace-tomorrow-night .ace_support.ace_type {color: #B294BB}.ace-tomorrow-night .ace_keyword.ace_operator {color: #8ABEB7}.ace-tomorrow-night .ace_constant.ace_character,.ace-tomorrow-night .ace_constant.ace_language,.ace-tomorrow-night .ace_constant.ace_numeric,.ace-tomorrow-night .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night .ace_support.ace_constant,.ace-tomorrow-night .ace_variable.ace_parameter {color: #DE935F}.ace-tomorrow-night .ace_constant.ace_other {color: #CED1CF}.ace-tomorrow-night .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night .ace_fold {background-color: #81A2BE;border-color: #C5C8C6}.ace-tomorrow-night .ace_entity.ace_name.ace_function,.ace-tomorrow-night .ace_support.ace_function,.ace-tomorrow-night .ace_variable {color: #81A2BE}.ace-tomorrow-night .ace_support.ace_class,.ace-tomorrow-night .ace_support.ace_type {color: #F0C674}.ace-tomorrow-night .ace_heading,.ace-tomorrow-night .ace_markup.ace_heading,.ace-tomorrow-night .ace_string {color: #B5BD68}.ace-tomorrow-night .ace_entity.ace_name.ace_tag,.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night .ace_meta.ace_tag,.ace-tomorrow-night .ace_string.ace_regexp,.ace-tomorrow-night .ace_variable {color: #CC6666}.ace-tomorrow-night .ace_comment {color: #969896}.ace-tomorrow-night .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() { - ace.require(["ace/theme/tomorrow_night"], function(m) { - if (typeof module == "object" && typeof exports == "object" && module) { - module.exports = m; - } - }); - })(); diff --git a/book/tomorrow-night.css b/book/tomorrow-night.css deleted file mode 100644 index f719792..0000000 --- a/book/tomorrow-night.css +++ /dev/null @@ -1,104 +0,0 @@ -/* Tomorrow Night Theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - -/* Tomorrow Comment */ -.hljs-comment { - color: #969896; -} - -/* Tomorrow Red */ -.hljs-variable, -.hljs-attribute, -.hljs-tag, -.hljs-regexp, -.ruby .hljs-constant, -.xml .hljs-tag .hljs-title, -.xml .hljs-pi, -.xml .hljs-doctype, -.html .hljs-doctype, -.css .hljs-id, -.css .hljs-class, -.css .hljs-pseudo { - color: #cc6666; -} - -/* Tomorrow Orange */ -.hljs-number, -.hljs-preprocessor, -.hljs-pragma, -.hljs-built_in, -.hljs-literal, -.hljs-params, -.hljs-constant { - color: #de935f; -} - -/* Tomorrow Yellow */ -.ruby .hljs-class .hljs-title, -.css .hljs-rule .hljs-attribute { - color: #f0c674; -} - -/* Tomorrow Green */ -.hljs-string, -.hljs-value, -.hljs-inheritance, -.hljs-header, -.hljs-name, -.ruby .hljs-symbol, -.xml .hljs-cdata { - color: #b5bd68; -} - -/* Tomorrow Aqua */ -.hljs-title, -.css .hljs-hexcolor { - color: #8abeb7; -} - -/* Tomorrow Blue */ -.hljs-function, -.python .hljs-decorator, -.python .hljs-title, -.ruby .hljs-function .hljs-title, -.ruby .hljs-title .hljs-keyword, -.perl .hljs-sub, -.javascript .hljs-title, -.coffeescript .hljs-title { - color: #81a2be; -} - -/* Tomorrow Purple */ -.hljs-keyword, -.javascript .hljs-function { - color: #b294bb; -} - -.hljs { - display: block; - overflow-x: auto; - background: #1d1f21; - color: #c5c8c6; - padding: 0.5em; - -webkit-text-size-adjust: none; -} - -.coffeescript .javascript, -.javascript .xml, -.tex .hljs-formula, -.xml .javascript, -.xml .vbscript, -.xml .css, -.xml .hljs-cdata { - opacity: 0.5; -} - -.hljs-addition { - color: #718c00; -} - -.hljs-deletion { - color: #c82829; -} diff --git a/examples/bonus_example/cargo.toml b/examples/bonus_example/cargo.toml deleted file mode 100644 index 5a4fb6b..0000000 --- a/examples/bonus_example/cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "futures_example" -version = "0.1.0" -authors = ["Carl Fredrik Samson "] -edition = "2018" - diff --git a/examples/bonus_example/src/main.rs b/examples/bonus_example/src/main.rs deleted file mode 100644 index e69de29..0000000