{"doc_urls":["index.html#chainerror","index.html#multiple-output-formats","index.html#tutorial","index.html#license","index.html#contribution","tutorial1.html#simple-string-errors","tutorial2.html#simple-chained-string-errors","tutorial2.html#what-did-we-do-here","tutorial3.html#mapping-errors","tutorial4.html#more-information","tutorial5.html#the-source-of-errors","tutorial6.html#downcast-the-errors","tutorial7.html#the-root-cause-of-all-errors","tutorial8.html#finding-an-error-cause","tutorial9.html#selective-error-handling","tutorial10.html#errorkind-to-the-rescue","tutorial11.html#debug-for-the-errorkind","tutorial12.html#deref-for-the-errorkind","tutorial13.html#writing-a-library","tutorial14.html#going-back-to-std","end.html#the-end"],"index":{"documentStore":{"docInfo":{"0":{"body":196,"breadcrumbs":2,"title":1},"1":{"body":95,"breadcrumbs":4,"title":3},"10":{"body":1403,"breadcrumbs":4,"title":2},"11":{"body":1417,"breadcrumbs":4,"title":2},"12":{"body":1452,"breadcrumbs":6,"title":3},"13":{"body":1415,"breadcrumbs":6,"title":3},"14":{"body":1429,"breadcrumbs":6,"title":3},"15":{"body":1469,"breadcrumbs":4,"title":2},"16":{"body":1482,"breadcrumbs":4,"title":2},"17":{"body":1464,"breadcrumbs":4,"title":2},"18":{"body":1488,"breadcrumbs":4,"title":2},"19":{"body":350,"breadcrumbs":6,"title":3},"2":{"body":2,"breadcrumbs":2,"title":1},"20":{"body":18,"breadcrumbs":2,"title":1},"3":{"body":16,"breadcrumbs":2,"title":1},"4":{"body":21,"breadcrumbs":2,"title":1},"5":{"body":106,"breadcrumbs":6,"title":3},"6":{"body":1383,"breadcrumbs":8,"title":4},"7":{"body":40,"breadcrumbs":5,"title":1},"8":{"body":1403,"breadcrumbs":4,"title":2},"9":{"body":1375,"breadcrumbs":4,"title":2}},"docs":{"0":{"body":"Crate Rust Documentation Coverage Status Maintenance chainerror provides an error backtrace without doing a real backtrace, so even after you strip your binaries, you still have the error backtrace. Having nested function returning errors, the output doesn't tell where the error originates from. use std::path::PathBuf; type BoxedError = Box;\nfn read_config_file(path: PathBuf) -> Result<(), BoxedError> { // do stuff, return other errors let _buf = std::fs::read_to_string(&path)?; // do stuff, return other errors Ok(())\n} fn process_config_file() -> Result<(), BoxedError> { // do stuff, return other errors let _buf = read_config_file(\"foo.txt\".into())?; // do stuff, return other errors Ok(())\n} fn main() { if let Err(e) = process_config_file() { eprintln!(\"Error:\\n{:?}\", e); }\n} This gives the output: Error:\nOs { code: 2, kind: NotFound, message: \"No such file or directory\" } and you have no idea where it comes from. With chainerror, you can supply a context and get a nice error backtrace: use chainerror::Context as _;\nuse std::path::PathBuf; type BoxedError = Box;\nfn read_config_file(path: PathBuf) -> Result<(), BoxedError> { // do stuff, return other errors let _buf = std::fs::read_to_string(&path).context(format!(\"Reading file: {:?}\", &path))?; // do stuff, return other errors Ok(())\n} fn process_config_file() -> Result<(), BoxedError> { // do stuff, return other errors let _buf = read_config_file(\"foo.txt\".into()).context(\"read the config file\")?; // do stuff, return other errors Ok(())\n} fn main() { if let Err(e) = process_config_file() { eprintln!(\"Error:\\n{:?}\", e); }\n} with the output: Error:\nexamples/simple.rs:14:51: read the config file\nCaused by:\nexamples/simple.rs:7:47: Reading file: \"foo.txt\"\nCaused by:\nOs { code: 2, kind: NotFound, message: \"No such file or directory\" } chainerror uses .source() of std::error::Error along with #[track_caller] and Location to provide a nice debug error backtrace. It encapsulates all types, which have Display + Debug and can store the error cause internally. Along with the Error struct, chainerror comes with some useful helper macros to save a lot of typing. chainerror has no dependencies! Debug information is worth it!","breadcrumbs":"chainerror » chainerror","id":"0","title":"chainerror"},"1":{"body":"chainerror supports multiple output formats, which can be selected with the different format specifiers: {}: Display func1 error calling func2 {:#}: Alternative Display func1 error calling func2\nCaused by: func2 error: calling func3\nCaused by: (passed error)\nCaused by: Error reading 'foo.txt'\nCaused by: entity not found {:?}: Debug examples/example.rs:50:13: func1 error calling func2\nCaused by:\nexamples/example.rs:25:13: Func2Error(func2 error: calling func3)\nCaused by:\nexamples/example.rs:18:13: (passed error)\nCaused by:\nexamples/example.rs:13:18: Error reading 'foo.txt'\nCaused by:\nKind(NotFound) {:#?}: Alternative Debug Error { occurrence: Some( \"examples/example.rs:50:13\", ), kind: func1 error calling func2, source: Some( Error { occurrence: Some( \"examples/example.rs:25:13\", ), kind: Func2Error(func2 error: calling func3), source: Some( Error { occurrence: Some( \"examples/example.rs:18:13\", ), kind: (passed error), source: Some( Error { occurrence: Some( \"examples/example.rs:13:18\", ), kind: \"Error reading 'foo.txt'\", source: Some( Kind( NotFound, ), ), }, ), }, ), }, ),\n}","breadcrumbs":"chainerror » Multiple Output Formats","id":"1","title":"Multiple Output Formats"},"10":{"body":"Sometimes you want to inspect the source() of an Error. chainerror implements std::error::Error::source(), so you can get the cause of an error. use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(format!(\"Error reading '{}'\", filename))?; Ok(())\n} fn func1() -> Result<(), Box> { if let Err(e) = func2() { if let Some(s) = e.source() { eprintln!(\"func2 failed because of '{}'\", s); Err(e).context(\"func1 error\")?; } } Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { eprintln!(\"{}\", e); std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# } Note, that because we changed the output of the error in main() from Debug to Display, we don't see the error backtrace with filename and line number. To use the Display backtrace, you have to use the alternative display format output {:#}.","breadcrumbs":"The source() of Errors » The source() of Errors","id":"10","title":"The source() of Errors"},"11":{"body":"std::error::Error comes with some helper methods to get to the original object of the &(dyn Error + 'static) returned by .source(). pub fn downcast_ref(&self) -> Option<&T>\npub fn downcast_mut(&mut self) -> Option<&mut T> This is how it looks like, when using those: #![allow(clippy::single_match)]\n#![allow(clippy::redundant_pattern_matching)] use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(format!(\"Error reading '{}'\", filename))?; Ok(())\n} fn func1() -> Result<(), Box> { func2().context(\"func1 error\")?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { eprintln!(\"Error: {}\", e); let mut s: &(dyn Error) = e.as_ref(); while let Some(c) = s.source() { if let Some(ioerror) = c.downcast_ref::() { eprintln!(\"caused by: std::io::Error: {}\", ioerror); match ioerror.kind() { io::ErrorKind::NotFound => eprintln!(\"of kind: std::io::ErrorKind::NotFound\"), _ => {} } } else { eprintln!(\"caused by: {}\", c); } s = c; } std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"Downcast the Errors » Downcast the Errors","id":"11","title":"Downcast the Errors"},"12":{"body":"chainerror also has some helper methods: fn is_chain(&self) -> bool\nfn downcast_chain_ref(&self) -> Option<&chainerror::Error>\nfn downcast_chain_mut(&mut self) -> Option<&mut chainerror::Error>\nfn root_cause(&self) -> Option<&(dyn Error + 'static)>\nfn find_cause(&self) -> Option<&U>\nfn find_chain_cause(&self) -> Option<&chainerror::Error>\nfn kind<'a>(&'a self) -> &'a T Using downcast_chain_ref::() gives a chainerror::Error, which can be used to call .find_cause::(). if let Some(s) = e.downcast_chain_ref::() { if let Some(ioerror) = s.find_cause::() { or to use .root_cause(), which of course can be of any type implementing std::error::Error. if let Some(e) = s.root_cause() { #![allow(clippy::single_match)]\n#![allow(clippy::redundant_pattern_matching)] use chainerror::{Context as _, ErrorDown as _}; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(format!(\"Error reading '{}'\", filename))?; Ok(())\n} fn func1() -> Result<(), Box> { func2().context(\"func1 error\")?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { eprintln!(\"Error: {}\", e); if let Some(s) = e.downcast_chain_ref::() { if let Some(ioerror) = s.find_cause::() { eprintln!(\"caused by: std::io::Error: {}\", ioerror); match ioerror.kind() { io::ErrorKind::NotFound => eprintln!(\"of kind: std::io::ErrorKind::NotFound\"), _ => {} } } if let Some(e) = s.root_cause() { let ioerror = e.downcast_ref::().unwrap(); eprintln!(\"The root cause was: std::io::Error: {:#?}\", ioerror); } } std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"The root cause of all Errors » The root cause of all Errors","id":"12","title":"The root cause of all Errors"},"13":{"body":"To distinguish the errors occurring in various places, we can define named string errors with the \"new type\" pattern. chainerror::str_context!(Func2Error);\nchainerror::str_context!(Func1Error); Instead of chainerror::Error we now have struct Func1Error(String) and chainerror::Error. In the main function you can see, how we can match the different errors. Also see: if let Some(f2err) = f1err.find_chain_cause::() { as a shortcut to if let Some(f2err) = f1err.find_cause::>() { hiding the chainerror::Error implementation detail. use chainerror::{Context as _, ErrorDown as _}; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} chainerror::str_context!(Func2Error); fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?; Ok(())\n} chainerror::str_context!(Func1Error); fn func1() -> Result<(), Box> { func2().context(Func1Error::new(\"func1 error\"))?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { if let Some(f1err) = e.downcast_chain_ref::() { eprintln!(\"Func1Error: {}\", f1err); if let Some(f2err) = f1err.find_cause::>() { eprintln!(\"Func2Error: {}\", f2err); } if let Some(f2err) = f1err.find_chain_cause::() { eprintln!(\"Debug Func2Error:\\n{:?}\", f2err); } } std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"Finding an Error cause » Finding an Error cause","id":"13","title":"Finding an Error cause"},"14":{"body":"What about functions returning different Error types? In this example func1() can return either Func1ErrorFunc2 or Func1ErrorIO. We might want to match on func1() with something like: fn main() -> Result<(), Box> { match func1() { Err(e) if let Some(s) = e.downcast_chain_ref::() => eprintln!(\"Func1ErrorIO:\\n{:?}\", s), Err(e) if let Some(s) = e.downcast_chain_ref::() => eprintln!(\"Func1ErrorFunc2:\\n{:?}\", s), Ok(_) => {}, } Ok(())\n} but this is not valid rust code, so we end up doing it the hard way. In the next chapter, we will see, how to solve this more elegantly. use chainerror::{Context as _, ErrorDown}; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} chainerror::str_context!(Func2Error); fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?; Ok(())\n} chainerror::str_context!(Func1ErrorFunc2);\nchainerror::str_context!(Func1ErrorIO); fn func1() -> Result<(), Box> { func2().context(Func1ErrorFunc2::new(\"func1 error calling func2\"))?; let filename = \"bar.txt\"; do_some_io().context(Func1ErrorIO(format!(\"Error reading '{}'\", filename)))?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { if let Some(s) = e.downcast_ref::>() { eprintln!(\"Func1ErrorIO:\\n{:?}\", s); } if let Some(s) = e.downcast_chain_ref::() { eprintln!(\"Func1ErrorFunc2:\\n{:?}\", s); } std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"Selective Error Handling » Selective Error Handling","id":"14","title":"Selective Error Handling"},"15":{"body":"To cope with different kind of errors, we introduce the kind of an error Func1ErrorKind with an enum. Because we derive Debug and implement Display our Func1ErrorKind enum, this enum can be used as a std::error::Error. Only returning Func1ErrorKind in func1() now let us get rid of Result<(), Box> and we can use ChainResult<(), Func1ErrorKind>. In main we can now directly use the methods of chainerror::Error without downcasting the error first. Also, a nice match on chainerror::Error.kind() is now possible, which returns &T, meaning &Func1ErrorKind here. use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} chainerror::str_context!(Func2Error); fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?; Ok(())\n} #[derive(Debug)]\nenum Func1ErrorKind { Func2, IO(String),\n} impl ::std::fmt::Display for Func1ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { match self { Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"), Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename), } }\n}\nimpl ::std::error::Error for Func1ErrorKind {} fn func1() -> chainerror::Result<(), Func1ErrorKind> { func2().context(Func1ErrorKind::Func2)?; let filename = String::from(\"bar.txt\"); do_some_io().context(Func1ErrorKind::IO(filename))?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { match e.kind() { Func1ErrorKind::Func2 => eprintln!(\"Main Error Report: func1 error calling func2\"), Func1ErrorKind::IO(filename) => { eprintln!(\"Main Error Report: func1 error reading '{}'\", filename) } } if let Some(e) = e.find_chain_cause::() { eprintln!(\"\\nError reported by Func2Error: {}\", e) } eprintln!(\"\\nDebug Error:\\n{:?}\", e); std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"ErrorKind to the rescue » ErrorKind to the rescue","id":"15","title":"ErrorKind to the rescue"},"16":{"body":"One small improvement is to fix the debug output of Func1ErrorKind. As you probably noticed, the output doesn't say much of the enum. Debug Error:\nsrc/main.rs:35: Func2\n[…] As a lazy shortcut, we implement Debug by calling Display and end up with Debug Error:\nsrc/main.rs:40: func1 error calling func2\n[…} which gives us a lot more detail. To create your own Errors, you might find crates which create enum Display+Debug via derive macros. Also, noteworthy is custom_error to define your custom errors, which can then be used with chainerror. use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} chainerror::str_context!(Func2Error); fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?; Ok(())\n} enum Func1ErrorKind { Func2, IO(String),\n} impl ::std::fmt::Display for Func1ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { match self { Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"), Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename), } }\n} impl ::std::fmt::Debug for Func1ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { write!(f, \"{}\", self) }\n} impl ::std::error::Error for Func1ErrorKind {} fn func1() -> chainerror::Result<(), Func1ErrorKind> { func2().context(Func1ErrorKind::Func2)?; let filename = String::from(\"bar.txt\"); do_some_io().context(Func1ErrorKind::IO(filename))?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { match e.kind() { Func1ErrorKind::Func2 => eprintln!(\"Main Error Report: func1 error calling func2\"), Func1ErrorKind::IO(filename) => { eprintln!(\"Main Error Report: func1 error reading '{}'\", filename) } } if let Some(e) = e.find_chain_cause::() { eprintln!(\"\\nError reported by Func2Error: {}\", e) } eprintln!(\"\\nDebug Error:\\n{:?}\", e); std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"Debug for the ErrorKind » Debug for the ErrorKind","id":"16","title":"Debug for the ErrorKind"},"17":{"body":"Because chainerror::Error implements Deref to &T, we can also match on *e instead of e.kind() or call a function with &e use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} chainerror::str_context!(Func2Error); fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?; Ok(())\n} enum Func1ErrorKind { Func2, IO(String),\n} impl ::std::fmt::Display for Func1ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { match self { Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"), Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename), } }\n} impl ::std::fmt::Debug for Func1ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { write!(f, \"{}\", self) }\n} impl ::std::error::Error for Func1ErrorKind {} fn func1() -> chainerror::Result<(), Func1ErrorKind> { func2().context(Func1ErrorKind::Func2)?; let filename = String::from(\"bar.txt\"); do_some_io().context(Func1ErrorKind::IO(filename))?; Ok(())\n} fn handle_func1errorkind(e: &Func1ErrorKind) { match e { Func1ErrorKind::Func2 => eprintln!(\"Main Error Report: func1 error calling func2\"), Func1ErrorKind::IO(ref filename) => { eprintln!(\"Main Error Report: func1 error reading '{}'\", filename) } }\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { match *e { Func1ErrorKind::Func2 => eprintln!(\"Main Error Report: func1 error calling func2\"), Func1ErrorKind::IO(ref filename) => { eprintln!(\"Main Error Report: func1 error reading '{}'\", filename) } } handle_func1errorkind(&e); if let Some(e) = e.find_chain_cause::() { eprintln!(\"\\nError reported by Func2Error: {}\", e) } eprintln!(\"\\nDebug Error:\\n{:?}\", e); std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"Deref for the ErrorKind » Deref for the ErrorKind","id":"17","title":"Deref for the ErrorKind"},"18":{"body":"I would advise to only expose an mycrate::ErrorKind and type alias mycrate::Error to chainerror::Error so you can tell your library users to use the .kind() method as std::io::Error does. If you later decide to make your own Error implementation, your library users don't have to change much or anything. # #[allow(dead_code)]\n# #[macro_use]\n# pub mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }\npub mod mycrate { use crate::chainerror::*; // omit the `crate::` part pub mod mycrate { use chainerror::Context as _; use std::io; fn do_some_io() -> std::result::Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(()) } chainerror::str_context!(Func2Error); fn func2() -> std::result::Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?; Ok(()) } #[derive(Debug, Clone)] pub enum ErrorKind { Func2, IO(String), } chainerror::err_kind!(Error, ErrorKind); pub type Result = std::result::Result; impl std::fmt::Display for ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result { match self { ErrorKind::Func2 => write!(f, \"func1 error calling func2\"), ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename), } } } pub fn func1() -> Result<()> { func2().context(ErrorKind::Func2)?; let filename = String::from(\"bar.txt\"); do_some_io().context(ErrorKind::IO(filename))?; Ok(()) }\n} fn main() -> Result<(), Box> { use mycrate::func1; use mycrate::ErrorKind; use std::error::Error; use std::io; if let Err(e) = func1() { match e.kind() { ErrorKind::Func2 => eprintln!(\"Main Error Report: func1 error calling func2\"), ErrorKind::IO(ref filename) => { eprintln!(\"Main Error Report: func1 error reading '{}'\", filename) } } eprintln!(); let mut s: &dyn Error = &e; while let Some(c) = s.source() { if let Some(ioerror) = c.downcast_ref::() { eprintln!(\"caused by: std::io::Error: {}\", ioerror); match ioerror.kind() { io::ErrorKind::NotFound => eprintln!(\"of kind: std::io::ErrorKind::NotFound\"), _ => {} } } else { eprintln!(\"caused by: {}\", c); } s = c; } eprintln!(\"\\nDebug Error:\\n{:?}\", e); std::process::exit(1); } Ok(())\n}","breadcrumbs":"Writing a library » Writing a library","id":"18","title":"Writing a library"},"19":{"body":"Not using chainerror and going full std would look like this: Btw, the code size is bigger than using chainerror :-) #![allow(clippy::single_match)]\n#![allow(clippy::redundant_pattern_matching)] pub mod mycrate { use std::error::Error as StdError; use self::func2mod::{do_some_io, func2}; pub mod func2mod { use std::error::Error as StdError; use std::io; pub enum ErrorKind { IO(String), } impl std::fmt::Display for ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result { match self { ErrorKind::IO(s) => std::fmt::Display::fmt(s, f), } } } impl std::fmt::Debug for ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result { match self { ErrorKind::IO(s) => std::fmt::Display::fmt(s, f), } } } macro_rules! mcontext { ( $k:expr ) => {{ |e| { Error( $k, Some(Box::from(e)), Some(concat!(file!(), \":\", line!(), \": \")), ) } }}; } pub struct Error( ErrorKind, Option>, Option<&'static str>, ); impl Error { pub fn kind(&self) -> &ErrorKind { &self.0 } } impl From for Error { fn from(e: ErrorKind) -> Self { Error(e, None, None) } } impl std::error::Error for Error { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { self.1.as_ref().map(|e| e.as_ref()) } } impl std::fmt::Display for Error { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { std::fmt::Display::fmt(&self.0, f) } } impl std::fmt::Debug for Error { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { if let Some(ref o) = self.2 { std::fmt::Display::fmt(o, f)?; } std::fmt::Debug::fmt(&self.0, f)?; if let Some(e) = self.source() { std::fmt::Display::fmt(\"\\nCaused by:\\n\", f)?; std::fmt::Debug::fmt(&e, f)?; } Ok(()) } } pub fn do_some_io() -> std::result::Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(()) } pub fn func2() -> std::result::Result<(), Error> { let filename = \"foo.txt\"; do_some_io().map_err(mcontext!(ErrorKind::IO(format!( \"Error reading '{}'\", filename ))))?; Ok(()) } } #[derive(Debug)] pub enum ErrorKind { Func2, IO(String), } impl std::fmt::Display for ErrorKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result { match self { ErrorKind::Func2 => write!(f, \"func1 error calling func2\"), ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename), } } } macro_rules! mcontext { ( $k:expr ) => {{ |e| { Error( $k, Some(Box::from(e)), Some(concat!(file!(), \":\", line!(), \": \")), ) } }}; } pub struct Error( ErrorKind, Option>, Option<&'static str>, ); impl Error { pub fn kind(&self) -> &ErrorKind { &self.0 } } impl From for Error { fn from(e: ErrorKind) -> Self { Error(e, None, None) } } impl std::error::Error for Error { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { self.1.as_ref().map(|e| e.as_ref()) } } impl std::fmt::Display for Error { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { std::fmt::Display::fmt(&self.0, f) } } impl std::fmt::Debug for Error { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { if let Some(ref o) = self.2 { std::fmt::Display::fmt(o, f)?; } std::fmt::Debug::fmt(&self.0, f)?; if let Some(e) = self.source() { std::fmt::Display::fmt(\"\\nCaused by:\\n\", f)?; std::fmt::Debug::fmt(&e, f)?; } Ok(()) } } pub type Result = std::result::Result; pub fn func1() -> Result<()> { func2().map_err(mcontext!(ErrorKind::Func2))?; let filename = String::from(\"bar.txt\"); do_some_io().map_err(mcontext!(ErrorKind::IO(filename)))?; Ok(()) }\n} fn main() -> Result<(), Box> { use mycrate::func1; use mycrate::ErrorKind; use std::error::Error; use std::io; if let Err(e) = func1() { match e.kind() { ErrorKind::Func2 => eprintln!(\"Main Error Report: func1 error calling func2\"), ErrorKind::IO(ref filename) => { eprintln!(\"Main Error Report: func1 error reading '{}'\", filename) } } eprintln!(); let mut s: &dyn Error = &e; while let Some(c) = s.source() { if let Some(ioerror) = c.downcast_ref::() { eprintln!(\"caused by: std::io::Error: {}\", ioerror); match ioerror.kind() { io::ErrorKind::NotFound => eprintln!(\"of kind: std::io::ErrorKind::NotFound\"), _ => {} } } else { eprintln!(\"caused by: {}\", c); } s = c; } eprintln!(\"\\nDebug Error:\\n{:?}\", e); std::process::exit(1); } Ok(())\n}","breadcrumbs":"Going back to std » Going back to std","id":"19","title":"Going back to std"},"2":{"body":"Read the Tutorial","breadcrumbs":"chainerror » Tutorial","id":"2","title":"Tutorial"},"20":{"body":"That's it for now… Happy error handling! To report issues, submit pull request or for the source code, examples and the book source, visit the Git Repo .","breadcrumbs":"The End » The End","id":"20","title":"The End"},"3":{"body":"Licensed under either of Apache License, Version 2.0, ( LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0 ) MIT license ( LICENSE-MIT or https://opensource.org/licenses/MIT ) at your option.","breadcrumbs":"chainerror » License","id":"3","title":"License"},"4":{"body":"Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.","breadcrumbs":"chainerror » Contribution","id":"4","title":"Contribution"},"5":{"body":"An easy way of doing error handling in rust is by returning String as a Box. If the rust main function returns an Err(), this Err() will be displayed with std::fmt::Debug. As you can see by running the example (by pressing the \"Play\" button in upper right of the code block), this only prints out the last Error. Error: \"func1 error\" The next chapters of this tutorial show how chainerror adds more information and improves inspecting the sources of an error. You can also run the tutorial examples in the checked out chainerror git repo . $ cargo run -q --example tutorial1 #![allow(clippy::single_match)]\n#![allow(clippy::redundant_pattern_matching)] use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { if let Err(_) = do_some_io() { Err(\"func2 error\")?; } Ok(())\n} fn func1() -> Result<(), Box> { if let Err(_) = func2() { Err(\"func1 error\")?; } Ok(())\n} fn main() -> Result<(), Box> { func1()\n}","breadcrumbs":"Simple String Errors » Simple String Errors","id":"5","title":"Simple String Errors"},"6":{"body":"With relatively small changes and the help of the context() method of the chainerror crate the &str errors are now chained together. Press the play button in the upper right corner and see the nice debug output. use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { if let Err(e) = do_some_io() { Err(e).context(\"func2 error\")?; } Ok(())\n} fn func1() -> Result<(), Box> { if let Err(e) = func2() { Err(e).context(\"func1 error\")?; } Ok(())\n} fn main() -> Result<(), Box> { func1()\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"Simple Chained String Errors » Simple Chained String Errors","id":"6","title":"Simple Chained String Errors"},"7":{"body":"Err(e).context(\"func2 error\")?; } Ok(()) The function context(newerror) stores olderror as the source/cause of newerror along with the Location of the context() call and returns Err(newerror). ? then returns the inner error applying .into(), so that we again have a Err(Box) as a result. The Debug implementation of chainerror::Error (which is returned by context()) prints the Debug of T prefixed with the stored filename and line number. chainerror::Error in our case is chainerror::Error<&str>.","breadcrumbs":"Simple Chained String Errors » What did we do here?","id":"7","title":"What did we do here?"},"8":{"body":"Now let's get more rust idiomatic by using .context() directly on the previous Result. use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { do_some_io().context(\"func2 error\")?; Ok(())\n} fn func1() -> Result<(), Box> { func2().context(\"func1 error\")?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { eprintln!(\"{:?}\", e); std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# } If you compare the output to the previous example, you will see, that: Error: examples/tutorial2.rs:20:16: func1 error changed to just: examples/tutorial3.rs:17:13: func1 error This is, because we caught the error of func1() in main() and print it out ourselves. We can now control, whether to output in Debug or Display mode. Maybe depending on --debug as a CLI argument.","breadcrumbs":"Mapping Errors » Mapping Errors","id":"8","title":"Mapping Errors"},"9":{"body":"To give more context to the error, you want to use format! to extend the information in the context string. use chainerror::Context as _; use std::error::Error;\nuse std::io; fn do_some_io() -> Result<(), Box> { Err(io::Error::from(io::ErrorKind::NotFound))?; Ok(())\n} fn func2() -> Result<(), Box> { let filename = \"foo.txt\"; do_some_io().context(format!(\"Error reading '{}'\", filename))?; Ok(())\n} fn func1() -> Result<(), Box> { func2().context(\"func1 error\")?; Ok(())\n} fn main() -> Result<(), Box> { if let Err(e) = func1() { eprintln!(\"{:?}\", e); std::process::exit(1); } Ok(())\n}\n# #[allow(dead_code)]\n# mod chainerror {\n# #![doc = include_str!(\"../README.md\")]\n# #![deny(clippy::all)]\n# #![allow(clippy::needless_doctest_main)]\n# #![deny(missing_docs)]\n# # use std::any::TypeId;\n# use std::error::Error as StdError;\n# use std::fmt::{Debug, Display, Formatter};\n# use std::panic::Location;\n# # /// chains an inner error kind `T` with a causing error\n# pub struct Error {\n# occurrence: Option,\n# kind: T,\n# error_cause: Option>,\n# }\n# # /// convenience type alias\n# pub type Result = std::result::Result>;\n# # impl Error {\n# /// Use the `context()` or `map_context()` Result methods instead of calling this directly\n# #[inline]\n# pub fn new(\n# kind: T,\n# error_cause: Option>,\n# occurrence: Option,\n# ) -> Self {\n# Self {\n# occurrence,\n# kind,\n# error_cause,\n# }\n# }\n# # /// return the root cause of the error chain, if any exists\n# pub fn root_cause(&self) -> Option<&(dyn StdError + 'static)> {\n# self.iter().last()\n# }\n# # /// Find the first error cause of type U, if any exists\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use chainerror::ErrorDown as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// if let Some(f1err) = e.downcast_chain_ref::() {\n# /// assert!(f1err.find_cause::().is_some());\n# ///\n# /// assert!(f1err.find_chain_cause::().is_some());\n# /// }\n# /// # else {\n# /// # panic!();\n# /// # }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn find_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(::downcast_ref::)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error), if any exists\n# ///\n# /// Same as `find_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooError);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_chain_cause::();\n# /// ```\n# #[inline]\n# pub fn find_chain_cause(&self) -> Option<&Error> {\n# self.iter()\n# .filter_map(::downcast_ref::>)\n# .next()\n# }\n# # /// Find the first error cause of type [`Error`](Error) or `U`, if any exists and return `U`\n# ///\n# /// Same as `find_cause` and `find_chain_cause`, but hides the [`Error`](Error) implementation internals\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # chainerror::str_context!(FooErrorKind);\n# /// # let err = chainerror::Error::new(String::new(), None, None);\n# /// // Instead of writing\n# /// err.find_cause::>();\n# /// // and/or\n# /// err.find_chain_cause::();\n# /// // and/or\n# /// err.find_cause::();\n# ///\n# /// // leave out the chainerror::Error implementation detail\n# /// err.find_kind_or_cause::();\n# /// ```\n# #[inline]\n# pub fn find_kind_or_cause(&self) -> Option<&U> {\n# self.iter()\n# .filter_map(|e| {\n# e.downcast_ref::>()\n# .map(|e| e.kind())\n# .or_else(|| e.downcast_ref::())\n# })\n# .next()\n# }\n# # /// Return a reference to T of [`Error`](Error)\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::error::Error;\n# /// use std::io;\n# ///\n# /// fn do_some_io() -> Result<(), Box> {\n# /// Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> Result<(), Box> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// #[derive(Debug)]\n# /// enum Func1ErrorKind {\n# /// Func2,\n# /// IO(String),\n# /// }\n# ///\n# /// /// impl ::std::fmt::Display for Func1ErrorKind {…}\n# /// # impl ::std::fmt::Display for Func1ErrorKind {\n# /// # fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# /// # match self {\n# /// # Func1ErrorKind::Func2 => write!(f, \"func1 error calling func2\"),\n# /// # Func1ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// # }\n# /// # }\n# /// # }\n# ///\n# /// fn func1() -> chainerror::Result<(), Func1ErrorKind> {\n# /// func2().context(Func1ErrorKind::Func2)?;\n# /// do_some_io().context(Func1ErrorKind::IO(\"bar.txt\".into()))?;\n# /// Ok(())\n# /// }\n# ///\n# /// if let Err(e) = func1() {\n# /// match e.kind() {\n# /// Func1ErrorKind::Func2 => {}\n# /// Func1ErrorKind::IO(filename) => panic!(),\n# /// }\n# /// }\n# /// # else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[inline]\n# pub fn kind(&self) -> &T {\n# &self.kind\n# }\n# # /// Returns an Iterator over all error causes/sources\n# ///\n# /// # Example\n# #[inline]\n# pub fn iter(&self) -> impl Iterator {\n# ErrorIter {\n# current: Some(self),\n# }\n# }\n# }\n# # /// Convenience methods for `Result<>` to turn the error into a decorated [`Error`](Error)\n# pub trait Context>> {\n# /// Decorate the error with a `kind` of type `T` and the source `Location`\n# fn context(self, kind: T) -> std::result::Result>;\n# # /// Decorate the error just with the source `Location`\n# fn annotate(self) -> std::result::Result>;\n# # /// Decorate the `error` with a `kind` of type `T` produced with a `FnOnce(&error)` and the source `Location`\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result>;\n# }\n# # /// Convenience type to just decorate the error with the source `Location`\n# pub struct AnnotatedError(());\n# # impl Display for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl Debug for AnnotatedError {\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"(passed error)\")\n# }\n# }\n# # impl>> Context\n# for std::result::Result\n# {\n# #[track_caller]\n# #[inline]\n# fn context(self, kind: T) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn annotate(self) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => Err(Error::new(\n# AnnotatedError(()),\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# )),\n# }\n# }\n# # #[track_caller]\n# #[inline]\n# fn map_context T>(\n# self,\n# op: F,\n# ) -> std::result::Result> {\n# match self {\n# Ok(t) => Ok(t),\n# Err(error_cause) => {\n# let kind = op(&error_cause);\n# Err(Error::new(\n# kind,\n# Some(error_cause.into()),\n# Some(Location::caller().to_string()),\n# ))\n# }\n# }\n# }\n# }\n# # /// An iterator over all error causes/sources\n# pub struct ErrorIter<'a> {\n# current: Option<&'a (dyn StdError + 'static)>,\n# }\n# # impl<'a> Iterator for ErrorIter<'a> {\n# type Item = &'a (dyn StdError + 'static);\n# # #[inline]\n# fn next(&mut self) -> Option {\n# let current = self.current;\n# self.current = self.current.and_then(StdError::source);\n# current\n# }\n# }\n# # impl std::ops::Deref for Error {\n# type Target = T;\n# # #[inline]\n# fn deref(&self) -> &Self::Target {\n# &self.kind\n# }\n# }\n# # /// Convenience trait to hide the [`Error`](Error) implementation internals\n# pub trait ErrorDown {\n# /// Test if of type `Error`\n# fn is_chain(&self) -> bool;\n# /// Downcast to a reference of `Error`\n# fn downcast_chain_ref(&self) -> Option<&Error>;\n# /// Downcast to a mutable reference of `Error`\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error>;\n# /// Downcast to T of `Error`\n# fn downcast_inner_ref(&self) -> Option<&T>;\n# /// Downcast to T mutable reference of `Error`\n# fn downcast_inner_mut(&mut self) -> Option<&mut T>;\n# }\n# # impl ErrorDown for Error {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# TypeId::of::() == TypeId::of::()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(*(self as *const dyn StdError as *const &Error))\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut *(self as *mut dyn StdError as *mut &mut Error))\n# }\n# } else {\n# None\n# }\n# }\n# #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&(*(self as *const dyn StdError as *const &Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is_chain::() {\n# #[allow(clippy::cast_ptr_alignment)]\n# unsafe {\n# #[allow(trivial_casts)]\n# Some(&mut (*(self as *mut dyn StdError as *mut &mut Error)).kind)\n# }\n# } else {\n# None\n# }\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl ErrorDown for dyn StdError + 'static + Send + Sync {\n# #[inline]\n# fn is_chain(&self) -> bool {\n# self.is::>()\n# }\n# # #[inline]\n# fn downcast_chain_ref(&self) -> Option<&Error> {\n# self.downcast_ref::>()\n# }\n# # #[inline]\n# fn downcast_chain_mut(&mut self) -> Option<&mut Error> {\n# self.downcast_mut::>()\n# }\n# # #[inline]\n# fn downcast_inner_ref(&self) -> Option<&T> {\n# self.downcast_ref::()\n# .or_else(|| self.downcast_ref::>().map(|e| e.kind()))\n# }\n# # #[inline]\n# fn downcast_inner_mut(&mut self) -> Option<&mut T> {\n# if self.is::() {\n# return self.downcast_mut::();\n# }\n# # self.downcast_mut::>()\n# .and_then(|e| e.downcast_inner_mut::())\n# }\n# }\n# # impl StdError for Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl StdError for &mut Error {\n# #[inline]\n# fn source(&self) -> Option<&(dyn StdError + 'static)> {\n# self.error_cause\n# .as_ref()\n# .map(|e| e.as_ref() as &(dyn StdError + 'static))\n# }\n# }\n# # impl Display for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# write!(f, \"{}\", self.kind)?;\n# # if f.alternate() {\n# if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n {:#}\", &e)?;\n# }\n# }\n# # Ok(())\n# }\n# }\n# # impl Debug for Error {\n# #[inline]\n# fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n# if f.alternate() {\n# let mut f = f.debug_struct(&format!(\"Error<{}>\", std::any::type_name::()));\n# # let f = f\n# .field(\"occurrence\", &self.occurrence)\n# .field(\"kind\", &self.kind)\n# .field(\"source\", &self.source());\n# # f.finish()\n# } else {\n# if let Some(ref o) = self.occurrence {\n# write!(f, \"{}: \", o)?;\n# }\n# # if TypeId::of::() == TypeId::of::()\n# || TypeId::of::<&str>() == TypeId::of::()\n# {\n# Display::fmt(&self.kind, f)?;\n# } else {\n# Debug::fmt(&self.kind, f)?;\n# }\n# # if let Some(e) = self.source() {\n# write!(f, \"\\nCaused by:\\n{:?}\", &e)?;\n# }\n# Ok(())\n# }\n# }\n# }\n# # impl From for Error\n# where\n# T: 'static + Display + Debug,\n# {\n# #[track_caller]\n# #[inline]\n# fn from(e: T) -> Error {\n# Error::new(e, None, Some(Location::caller().to_string()))\n# }\n# }\n# /// Convenience macro to create a \"new type\" T(String) and implement Display + Debug for T\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// # use chainerror::Context as _;\n# /// # use chainerror::ErrorDown as _;\n# /// # use std::error::Error;\n# /// # use std::io;\n# /// # use std::result::Result;\n# /// # fn do_some_io() -> Result<(), Box> {\n# /// # Err(io::Error::from(io::ErrorKind::NotFound))?;\n# /// # Ok(())\n# /// # }\n# /// chainerror::str_context!(Func2Error);\n# ///\n# /// fn func2() -> chainerror::Result<(), Func2Error> {\n# /// let filename = \"foo.txt\";\n# /// do_some_io().context(Func2Error(format!(\"Error reading '{}'\", filename)))?;\n# /// Ok(())\n# /// }\n# ///\n# /// chainerror::str_context!(Func1Error);\n# ///\n# /// fn func1() -> Result<(), Box> {\n# /// func2().context(Func1Error::new(\"func1 error\"))?;\n# /// Ok(())\n# /// }\n# /// # if let Err(e) = func1() {\n# /// # if let Some(f1err) = e.downcast_chain_ref::() {\n# /// # assert!(f1err.find_cause::>().is_some());\n# /// # assert!(f1err.find_chain_cause::().is_some());\n# /// # } else {\n# /// # panic!();\n# /// # }\n# /// # } else {\n# /// # unreachable!();\n# /// # }\n# /// ```\n# #[macro_export]\n# macro_rules! str_context {\n# ($e:ident) => {\n# #[derive(Clone)]\n# pub struct $e(pub String);\n# impl $e {\n# pub fn new>(s: S) -> Self {\n# $e(s.into())\n# }\n# }\n# impl ::std::fmt::Display for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}\", self.0)\n# }\n# }\n# impl ::std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {\n# write!(f, \"{}({})\", stringify!($e), self.0)\n# }\n# }\n# impl ::std::error::Error for $e {}\n# };\n# }\n# # /// Derive an Error for an ErrorKind, which wraps a [`Error`](Error) and implements a `kind()` method\n# ///\n# /// It basically hides [`Error`](Error) to the outside and only exposes the [`kind()`](Error::kind)\n# /// method.\n# ///\n# /// Error::kind() returns the ErrorKind\n# /// Error::source() returns the parent error\n# ///\n# /// # Examples\n# ///\n# /// ```rust\n# /// use chainerror::Context as _;\n# /// use std::io;\n# ///\n# /// fn do_some_io(_f: &str) -> std::result::Result<(), io::Error> {\n# /// return Err(io::Error::from(io::ErrorKind::NotFound));\n# /// }\n# ///\n# /// #[derive(Debug, Clone)]\n# /// pub enum ErrorKind {\n# /// IO(String),\n# /// FatalError(String),\n# /// Unknown,\n# /// }\n# ///\n# /// chainerror::err_kind!(Error, ErrorKind);\n# ///\n# /// impl std::fmt::Display for ErrorKind {\n# /// fn fmt(&self, f: &mut ::std::fmt::Formatter) -> std::fmt::Result {\n# /// match self {\n# /// ErrorKind::FatalError(e) => write!(f, \"fatal error {}\", e),\n# /// ErrorKind::Unknown => write!(f, \"unknown error\"),\n# /// ErrorKind::IO(filename) => write!(f, \"Error reading '{}'\", filename),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl ErrorKind {\n# /// fn from_io_error(e: &io::Error, f: String) -> Self {\n# /// match e.kind() {\n# /// io::ErrorKind::BrokenPipe => panic!(\"Should not happen\"),\n# /// io::ErrorKind::ConnectionReset => {\n# /// ErrorKind::FatalError(format!(\"While reading `{}`: {}\", f, e))\n# /// }\n# /// _ => ErrorKind::IO(f),\n# /// }\n# /// }\n# /// }\n# ///\n# /// impl From<&io::Error> for ErrorKind {\n# /// fn from(e: &io::Error) -> Self {\n# /// ErrorKind::IO(format!(\"{}\", e))\n# /// }\n# /// }\n# ///\n# /// pub fn func1() -> std::result::Result<(), Error> {\n# /// let filename = \"bar.txt\";\n# ///\n# /// do_some_io(filename).map_context(|e| ErrorKind::from_io_error(e, filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::IO(filename.into()))?;\n# /// do_some_io(filename).map_context(|e| ErrorKind::from(e))?;\n# /// Ok(())\n# /// }\n# /// ```\n# #[macro_export]\n# macro_rules! err_kind {\n# ($e:ident, $k:ident) => {\n# pub struct $e($crate::Error<$k>);\n# # impl $e {\n# pub fn kind(&self) -> &$k {\n# self.0.kind()\n# }\n# }\n# # impl From<$k> for $e {\n# fn from(e: $k) -> Self {\n# $e($crate::Error::new(e, None, None))\n# }\n# }\n# # impl From<$crate::Error<$k>> for $e {\n# fn from(e: $crate::Error<$k>) -> Self {\n# $e(e)\n# }\n# }\n# # impl From<&$e> for $k\n# where\n# $k: Clone,\n# {\n# fn from(e: &$e) -> Self {\n# e.kind().clone()\n# }\n# }\n# # impl std::error::Error for $e {\n# fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n# self.0.source()\n# }\n# }\n# # impl std::fmt::Display for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Display::fmt(&self.0, f)\n# }\n# }\n# # impl std::fmt::Debug for $e {\n# fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n# std::fmt::Debug::fmt(&self.0, f)\n# }\n# }\n# };\n# }\n# }","breadcrumbs":"More Information » More information","id":"9","title":"More information"}},"length":21,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"2":{".":{"0":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":2.0}}}}},"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.8284271247461903},"11":{"tf":3.0},"12":{"tf":3.1622776601683795},"13":{"tf":3.0},"14":{"tf":2.8284271247461903},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":3.0},"19":{"tf":1.0},"6":{"tf":2.8284271247461903},"8":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}},"d":{"d":{"df":1,"docs":{"5":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{":":{":":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"19":{"tf":1.0},"5":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"r":{"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":1,"docs":{"8":{"tf":1.0}}}}}}}}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"19":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":2,"docs":{"0":{"tf":2.23606797749979},"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"20":{"tf":1.0}}},"l":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":3.3166247903554},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.3166247903554},"14":{"tf":3.3166247903554},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":3.3166247903554},"9":{"tf":3.3166247903554}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":2.449489742783178}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"w":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}}},"y":{":":{"\\":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"19":{"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":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"1":{"tf":2.6457513110645907},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"5":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"s":{"df":14,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":2.8284271247461903},"10":{"tf":2.449489742783178},"11":{"tf":2.23606797749979},"12":{"tf":2.6457513110645907},"13":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"11":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"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":13,"docs":{"0":{"tf":1.0},"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"!":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"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":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"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":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}}},"t":{">":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"_":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.23606797749979},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"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":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":16,"docs":{"0":{"tf":2.449489742783178},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"11":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}},"<":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"$":{"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"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":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.4641016151377544},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":15,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":3.7416573867739413},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.605551275463989},"15":{"tf":3.7416573867739413},"16":{"tf":4.242640687119285},"17":{"tf":3.605551275463989},"18":{"tf":3.605551275463989},"6":{"tf":3.7416573867739413},"7":{"tf":1.4142135623730951},"8":{"tf":3.872983346207417},"9":{"tf":3.605551275463989}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"y":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{":":{":":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"v":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"+":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":5.830951894845301},"11":{"tf":5.5677643628300215},"12":{"tf":5.830951894845301},"13":{"tf":5.5677643628300215},"14":{"tf":5.5677643628300215},"15":{"tf":5.656854249492381},"16":{"tf":5.656854249492381},"17":{"tf":5.5677643628300215},"18":{"tf":5.5677643628300215},"5":{"tf":1.0},"6":{"tf":5.5677643628300215},"8":{"tf":5.656854249492381},"9":{"tf":5.5677643628300215}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}}}}},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"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":{}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"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":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"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":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"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":14,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.23606797749979},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.23606797749979},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":3.4641016151377544},"11":{"tf":3.7416573867739413},"12":{"tf":3.4641016151377544},"13":{"tf":3.4641016151377544},"14":{"tf":3.4641016151377544},"15":{"tf":3.4641016151377544},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.605551275463989},"19":{"tf":1.0},"6":{"tf":3.4641016151377544},"8":{"tf":3.4641016151377544},"9":{"tf":3.4641016151377544}}}}},"df":0,"docs":{},"e":{"(":{"$":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"$":{"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"b":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}},".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{">":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"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":{}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.6457513110645907},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":2.6457513110645907},"19":{"tf":1.0},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},":":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":4.69041575982343},"11":{"tf":4.69041575982343},"12":{"tf":4.69041575982343},"13":{"tf":4.58257569495584},"14":{"tf":4.58257569495584},"15":{"tf":4.795831523312719},"16":{"tf":4.795831523312719},"17":{"tf":5.196152422706632},"18":{"tf":4.795831523312719},"19":{"tf":2.0},"6":{"tf":4.58257569495584},"8":{"tf":4.69041575982343},"9":{"tf":4.69041575982343}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"n":{"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.449489742783178},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"\\":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}}}}}}},"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"12":{"tf":1.0}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"2":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":1,"docs":{"5":{"tf":1.0}}},"2":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"_":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.23606797749979},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.449489742783178},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":2.0},"9":{"tf":2.0}},"e":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}},"2":{"df":2,"docs":{"6":{"tf":1.0},"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"19":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"\\":{"df":0,"docs":{},"n":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"<":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{">":{")":{")":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":5.0},"11":{"tf":5.0},"12":{"tf":5.0},"13":{"tf":5.0},"14":{"tf":5.0},"15":{"tf":5.0},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":5.0},"6":{"tf":5.0},"8":{"tf":5.0},"9":{"tf":5.0}}},"u":{">":{"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}},"df":18,"docs":{"0":{"tf":4.123105625617661},"1":{"tf":3.605551275463989},"10":{"tf":6.48074069840786},"11":{"tf":6.48074069840786},"12":{"tf":6.4031242374328485},"13":{"tf":6.4031242374328485},"14":{"tf":6.244997998398398},"15":{"tf":6.6332495807108},"16":{"tf":6.782329983125268},"17":{"tf":6.708203932499369},"18":{"tf":6.4031242374328485},"19":{"tf":4.898979485566356},"20":{"tf":1.0},"5":{"tf":3.4641016151377544},"6":{"tf":6.324555320336759},"7":{"tf":1.4142135623730951},"8":{"tf":6.557438524302},"9":{"tf":6.164414002968976}},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"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":{},"o":{"df":0,"docs":{},"m":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"(":{"df":1,"docs":{"19":{"tf":1.4142135623730951}},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":3.1622776601683795},"19":{"tf":3.3166247903554},"6":{"tf":2.6457513110645907},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}},"df":0,"docs":{}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":14,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.8284271247461903},"15":{"tf":2.6457513110645907},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":2.6457513110645907},"20":{"tf":1.0},"5":{"tf":1.7320508075688772},"6":{"tf":2.6457513110645907},"8":{"tf":2.8284271247461903},"9":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"s":{"/":{"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":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"3":{":":{"1":{"8":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"1":{"3":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{":":{"1":{"3":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{":":{"1":{"3":{"df":1,"docs":{"1":{"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":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"4":{":":{"5":{"1":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"4":{"7":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"0":{":":{"1":{"6":{"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":{}},"3":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"7":{":":{"1":{"3":{"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":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"f":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"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":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"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":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"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":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":13,"docs":{"10":{"tf":4.795831523312719},"11":{"tf":4.795831523312719},"12":{"tf":4.795831523312719},"13":{"tf":4.795831523312719},"14":{"tf":4.795831523312719},"15":{"tf":4.898979485566356},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":4.898979485566356},"19":{"tf":4.358898943540674},"6":{"tf":4.795831523312719},"8":{"tf":4.795831523312719},"9":{"tf":4.795831523312719}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"\"":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":2.449489742783178}},"n":{"a":{"df":0,"docs":{},"m":{"df":14,"docs":{"10":{"tf":3.4641016151377544},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.3166247903554},"14":{"tf":3.605551275463989},"15":{"tf":3.7416573867739413},"16":{"tf":3.7416573867739413},"17":{"tf":4.123105625617661},"18":{"tf":3.872983346207417},"19":{"tf":2.449489742783178},"6":{"tf":3.0},"7":{"tf":1.0},"8":{"tf":3.0},"9":{"tf":3.3166247903554}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{":":{":":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.3166247903554},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.3166247903554},"19":{"tf":2.6457513110645907},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":15,"docs":{"0":{"tf":2.449489742783178},"10":{"tf":8.717797887081348},"11":{"tf":8.831760866327848},"12":{"tf":9.1104335791443},"13":{"tf":8.717797887081348},"14":{"tf":8.774964387392123},"15":{"tf":8.774964387392123},"16":{"tf":8.831760866327848},"17":{"tf":8.888194417315589},"18":{"tf":8.774964387392123},"19":{"tf":4.123105625617661},"5":{"tf":2.0},"6":{"tf":8.717797887081348},"8":{"tf":8.717797887081348},"9":{"tf":8.717797887081348}},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"19":{"tf":1.4142135623730951},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"<":{"$":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"$":{"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"&":{"$":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}},"n":{"c":{"1":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.605551275463989},"15":{"tf":3.7416573867739413},"16":{"tf":3.7416573867739413},"17":{"tf":3.872983346207417},"18":{"tf":3.605551275463989},"19":{"tf":2.23606797749979},"5":{"tf":1.7320508075688772},"6":{"tf":3.1622776601683795},"8":{"tf":3.605551275463989},"9":{"tf":3.1622776601683795}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":3.605551275463989},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}}}}}}}}}},"2":{"(":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":1,"docs":{"14":{"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":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"19":{"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":15,"docs":{"1":{"tf":2.23606797749979},"10":{"tf":2.6457513110645907},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.6457513110645907},"15":{"tf":3.0},"16":{"tf":3.3166247903554},"17":{"tf":3.1622776601683795},"18":{"tf":3.0},"19":{"tf":2.23606797749979},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"3":{"df":1,"docs":{"1":{"tf":1.7320508075688772}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"5":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":1,"docs":{"17":{"tf":1.0}}},"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"7":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.23606797749979},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"w":{"df":0,"docs":{},"w":{"df":0,"docs":{},"w":{".":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"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":{}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":12,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.6457513110645907},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":2.6457513110645907},"6":{"tf":2.6457513110645907},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":13,"docs":{"10":{"tf":4.69041575982343},"11":{"tf":4.69041575982343},"12":{"tf":4.69041575982343},"13":{"tf":4.69041575982343},"14":{"tf":4.69041575982343},"15":{"tf":4.898979485566356},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":4.795831523312719},"19":{"tf":3.605551275463989},"6":{"tf":4.69041575982343},"8":{"tf":4.69041575982343},"9":{"tf":4.69041575982343}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"10":{"tf":2.8284271247461903},"11":{"tf":2.6457513110645907},"12":{"tf":2.8284271247461903},"13":{"tf":2.8284271247461903},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":2.8284271247461903},"6":{"tf":2.6457513110645907},"7":{"tf":1.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"!":{"(":{"\"":{".":{".":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"0":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":6.0},"11":{"tf":6.0},"12":{"tf":6.0},"13":{"tf":6.0},"14":{"tf":6.0},"15":{"tf":6.0},"16":{"tf":6.0},"17":{"tf":6.0},"18":{"tf":6.0},"6":{"tf":6.0},"8":{"tf":6.0},"9":{"tf":6.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"a":{"d":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"o":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{">":{">":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0}}}}}}}},"s":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"20":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"k":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},")":{"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"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":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":2.23606797749979},"10":{"tf":3.4641016151377544},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.4641016151377544},"14":{"tf":3.4641016151377544},"15":{"tf":3.7416573867739413},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.7416573867739413},"19":{"tf":1.0},"6":{"tf":3.4641016151377544},"8":{"tf":3.4641016151377544},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"v":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":2.449489742783178},"4":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"19":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"11":{"tf":1.0},"19":{"tf":1.0}}}},"t":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"_":{"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":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.8284271247461903},"12":{"tf":2.8284271247461903},"13":{"tf":2.8284271247461903},"14":{"tf":3.0},"15":{"tf":3.1622776601683795},"16":{"tf":3.0},"17":{"tf":3.3166247903554},"18":{"tf":3.1622776601683795},"19":{"tf":2.23606797749979},"6":{"tf":2.6457513110645907},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}}},"df":0,"docs":{}},"y":{"b":{"df":1,"docs":{"8":{"tf":1.0}}},"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":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}},"o":{"d":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":4.242640687119285},"11":{"tf":4.358898943540674},"12":{"tf":4.242640687119285},"13":{"tf":4.242640687119285},"14":{"tf":4.242640687119285},"15":{"tf":4.358898943540674},"16":{"tf":4.47213595499958},"17":{"tf":4.47213595499958},"18":{"tf":4.47213595499958},"19":{"tf":2.8284271247461903},"6":{"tf":4.242640687119285},"8":{"tf":4.242640687119285},"9":{"tf":4.242640687119285}}}},"y":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"w":{"<":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"15":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":13,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.3166247903554},"14":{"tf":3.3166247903554},"15":{"tf":3.3166247903554},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":3.3166247903554},"19":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":3.3166247903554},"9":{"tf":3.3166247903554}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":5,"docs":{"13":{"tf":1.0},"15":{"tf":1.7320508075688772},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"r":{"df":13,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"k":{"(":{"_":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}},"df":16,"docs":{"0":{"tf":2.0},"10":{"tf":4.0},"11":{"tf":4.0},"12":{"tf":4.0},"13":{"tf":4.0},"14":{"tf":4.123105625617661},"15":{"tf":4.0},"16":{"tf":4.0},"17":{"tf":4.0},"18":{"tf":4.0},"19":{"tf":2.449489742783178},"5":{"tf":1.7320508075688772},"6":{"tf":3.872983346207417},"7":{"tf":1.0},"8":{"tf":4.0},"9":{"tf":4.0}}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"n":{"df":1,"docs":{"16":{"tf":1.0}}},"p":{"(":{"&":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"&":{"'":{"a":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"(":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.23606797749979},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}},"u":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.449489742783178},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"u":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"3":{"tf":1.0}}}}}}},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"11":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"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":1,"docs":{"8":{"tf":1.0}}}}}}},"t":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"5":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":2.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"u":{"b":{"df":13,"docs":{"10":{"tf":4.358898943540674},"11":{"tf":4.58257569495584},"12":{"tf":4.358898943540674},"13":{"tf":4.358898943540674},"14":{"tf":4.358898943540674},"15":{"tf":4.358898943540674},"16":{"tf":4.358898943540674},"17":{"tf":4.358898943540674},"18":{"tf":5.0},"19":{"tf":3.4641016151377544},"6":{"tf":4.358898943540674},"8":{"tf":4.358898943540674},"9":{"tf":4.358898943540674}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"q":{"df":1,"docs":{"5":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{")":{")":{".":{"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":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"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":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.7320508075688772},"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.8284271247461903},"15":{"tf":3.0},"16":{"tf":3.0},"17":{"tf":3.1622776601683795},"18":{"tf":3.0},"19":{"tf":1.7320508075688772},"2":{"tf":1.0},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}},"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"l":{"df":1,"docs":{"6":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"20":{"tf":1.0},"5":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":16,"docs":{"0":{"tf":2.0},"10":{"tf":3.605551275463989},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.7416573867739413},"15":{"tf":3.605551275463989},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.3166247903554},"19":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":3.605551275463989},"7":{"tf":1.0},"8":{"tf":3.7416573867739413},"9":{"tf":3.605551275463989}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":3.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.3166247903554},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.4641016151377544},"15":{"tf":3.4641016151377544},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"5":{"tf":1.4142135623730951},"6":{"tf":3.1622776601683795},"7":{"tf":1.7320508075688772},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}},"s":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.6457513110645907},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":2.6457513110645907},"9":{"tf":2.449489742783178}}}}}},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"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":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":1,"docs":{"19":{"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":{}},"2":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"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":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{}}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{">":{">":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"s":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}}}},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"19":{"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":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":5.291502622129181},"11":{"tf":5.385164807134504},"12":{"tf":5.477225575051661},"13":{"tf":5.291502622129181},"14":{"tf":5.291502622129181},"15":{"tf":5.385164807134504},"16":{"tf":5.477225575051661},"17":{"tf":5.477225575051661},"18":{"tf":5.385164807134504},"19":{"tf":2.23606797749979},"6":{"tf":5.291502622129181},"8":{"tf":5.291502622129181},"9":{"tf":5.291502622129181}}}},"n":{"d":{"df":16,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":4.0},"11":{"tf":4.0},"12":{"tf":4.0},"13":{"tf":4.0},"14":{"tf":4.123105625617661},"15":{"tf":4.0},"16":{"tf":3.872983346207417},"17":{"tf":3.872983346207417},"18":{"tf":3.872983346207417},"19":{"tf":1.0},"5":{"tf":2.0},"6":{"tf":4.0},"7":{"tf":1.0},"8":{"tf":4.0},"9":{"tf":4.0}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"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":{"13":{"tf":1.0},"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"5":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"df":1,"docs":{"19":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"14":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"(":{"*":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"*":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":2.449489742783178},"13":{"tf":1.4142135623730951},"14":{"tf":2.449489742783178},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":2.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}}}}}}},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.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":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.449489742783178},"11":{"tf":2.23606797749979},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"20":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"/":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"5":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"4":{"0":{"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":{}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.0}}},"i":{"c":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":2.0},"12":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":7.280109889280518},"11":{"tf":7.3484692283495345},"12":{"tf":7.54983443527075},"13":{"tf":7.280109889280518},"14":{"tf":7.280109889280518},"15":{"tf":7.280109889280518},"16":{"tf":7.280109889280518},"17":{"tf":7.280109889280518},"18":{"tf":7.280109889280518},"19":{"tf":2.0},"6":{"tf":7.280109889280518},"8":{"tf":7.280109889280518},"9":{"tf":7.280109889280518}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":15,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.8284271247461903},"11":{"tf":3.0},"12":{"tf":3.0},"13":{"tf":2.8284271247461903},"14":{"tf":2.8284271247461903},"15":{"tf":3.1622776601683795},"16":{"tf":3.0},"17":{"tf":3.0},"18":{"tf":3.3166247903554},"19":{"tf":3.3166247903554},"5":{"tf":1.0},"6":{"tf":2.8284271247461903},"8":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":1,"docs":{"19":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"0":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"\"":{"\\":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}},"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":{".":{"0":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"19":{"tf":1.4142135623730951}},"o":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":13,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.6457513110645907},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":2.6457513110645907},"19":{"tf":2.6457513110645907},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":13,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.3166247903554},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.3166247903554},"19":{"tf":2.6457513110645907},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}}},"{":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"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":1,"docs":{"0":{"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":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":14,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.449489742783178},"19":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"(":{"1":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":2.8284271247461903},"11":{"tf":2.8284271247461903},"12":{"tf":2.8284271247461903},"13":{"tf":2.8284271247461903},"14":{"tf":2.8284271247461903},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":2.8284271247461903},"6":{"tf":2.8284271247461903},"8":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}},"t":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.23606797749979},"19":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":13,"docs":{"10":{"tf":5.0},"11":{"tf":5.0},"12":{"tf":5.0},"13":{"tf":5.0},"14":{"tf":5.0},"15":{"tf":5.0},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":5.0},"19":{"tf":1.4142135623730951},"6":{"tf":5.0},"8":{"tf":5.0},"9":{"tf":5.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"r":{"_":{"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":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"!":{"(":{"$":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"19":{"tf":1.4142135623730951},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":2.8284271247461903}}}}}},"u":{"b":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"4":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":16,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":3.872983346207417},"11":{"tf":3.872983346207417},"12":{"tf":3.872983346207417},"13":{"tf":3.872983346207417},"14":{"tf":4.0},"15":{"tf":3.872983346207417},"16":{"tf":3.7416573867739413},"17":{"tf":3.7416573867739413},"18":{"tf":3.7416573867739413},"19":{"tf":1.0},"5":{"tf":2.0},"6":{"tf":3.872983346207417},"7":{"tf":1.0},"8":{"tf":3.872983346207417},"9":{"tf":3.872983346207417}}},"df":0,"docs":{}}}},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":13,"docs":{"10":{"tf":4.69041575982343},"11":{"tf":4.795831523312719},"12":{"tf":4.795831523312719},"13":{"tf":4.69041575982343},"14":{"tf":4.69041575982343},"15":{"tf":4.795831523312719},"16":{"tf":4.69041575982343},"17":{"tf":4.795831523312719},"18":{"tf":4.69041575982343},"6":{"tf":4.69041575982343},"7":{"tf":1.0},"8":{"tf":4.69041575982343},"9":{"tf":4.69041575982343}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"18":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"2":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951}}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":2.0},"10":{"tf":3.4641016151377544},"11":{"tf":3.4641016151377544},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.605551275463989},"15":{"tf":3.4641016151377544},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.7416573867739413},"19":{"tf":1.0},"6":{"tf":3.4641016151377544},"8":{"tf":3.4641016151377544},"9":{"tf":3.4641016151377544}},"i":{"d":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}}},"p":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}},"s":{"df":15,"docs":{"0":{"tf":2.23606797749979},"10":{"tf":4.898979485566356},"11":{"tf":4.795831523312719},"12":{"tf":5.0},"13":{"tf":4.69041575982343},"14":{"tf":4.69041575982343},"15":{"tf":5.0},"16":{"tf":4.795831523312719},"17":{"tf":4.69041575982343},"18":{"tf":5.196152422706632},"19":{"tf":3.1622776601683795},"5":{"tf":1.4142135623730951},"6":{"tf":4.69041575982343},"8":{"tf":4.795831523312719},"9":{"tf":4.795831523312719}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"i":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":3.605551275463989},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.605551275463989},"15":{"tf":3.872983346207417},"16":{"tf":4.0},"17":{"tf":4.0},"18":{"tf":3.872983346207417},"19":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":3.605551275463989},"9":{"tf":3.605551275463989}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"breadcrumbs":{"root":{"2":{".":{"0":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":2.0}}}}},"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.8284271247461903},"11":{"tf":3.0},"12":{"tf":3.1622776601683795},"13":{"tf":3.0},"14":{"tf":2.8284271247461903},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":3.0},"19":{"tf":1.0},"6":{"tf":2.8284271247461903},"8":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}},"d":{"d":{"df":1,"docs":{"5":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"a":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{":":{":":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"19":{"tf":1.0},"5":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"r":{"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":1,"docs":{"8":{"tf":1.0}}}}}}}}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"19":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":2,"docs":{"0":{"tf":2.23606797749979},"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"20":{"tf":1.0}}},"l":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":3.3166247903554},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.3166247903554},"14":{"tf":3.3166247903554},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":3.3166247903554},"9":{"tf":3.3166247903554}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":2.449489742783178}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"w":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}}},"y":{":":{"\\":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"19":{"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":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"1":{"tf":2.6457513110645907},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"5":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"s":{"df":14,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":2.8284271247461903},"10":{"tf":2.449489742783178},"11":{"tf":2.23606797749979},"12":{"tf":3.0},"13":{"tf":2.8284271247461903},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"11":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"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":13,"docs":{"0":{"tf":1.0},"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"!":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"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":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"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":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}}},"t":{">":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"_":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.23606797749979},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"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":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":19,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"11":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}},"<":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"$":{"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"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":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.4641016151377544},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":15,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":3.7416573867739413},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.605551275463989},"15":{"tf":3.7416573867739413},"16":{"tf":4.47213595499958},"17":{"tf":3.605551275463989},"18":{"tf":3.605551275463989},"6":{"tf":3.7416573867739413},"7":{"tf":1.4142135623730951},"8":{"tf":3.872983346207417},"9":{"tf":3.605551275463989}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"y":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{":":{":":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":2.0}}}},"i":{"df":0,"docs":{},"v":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"+":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":5.830951894845301},"11":{"tf":5.5677643628300215},"12":{"tf":5.830951894845301},"13":{"tf":5.5677643628300215},"14":{"tf":5.5677643628300215},"15":{"tf":5.656854249492381},"16":{"tf":5.656854249492381},"17":{"tf":5.5677643628300215},"18":{"tf":5.5677643628300215},"5":{"tf":1.0},"6":{"tf":5.5677643628300215},"8":{"tf":5.656854249492381},"9":{"tf":5.5677643628300215}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}}}}},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"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":{}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"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":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"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":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"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":14,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.23606797749979},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}}}}}},"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.6457513110645907},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":3.4641016151377544},"11":{"tf":3.7416573867739413},"12":{"tf":3.4641016151377544},"13":{"tf":3.4641016151377544},"14":{"tf":3.4641016151377544},"15":{"tf":3.4641016151377544},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.605551275463989},"19":{"tf":1.0},"6":{"tf":3.4641016151377544},"8":{"tf":3.4641016151377544},"9":{"tf":3.4641016151377544}}}}},"df":0,"docs":{},"e":{"(":{"$":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"$":{"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"b":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}},".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{">":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"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":{}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.6457513110645907},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":2.6457513110645907},"19":{"tf":1.0},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},":":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":4.69041575982343},"11":{"tf":4.69041575982343},"12":{"tf":4.69041575982343},"13":{"tf":4.58257569495584},"14":{"tf":4.58257569495584},"15":{"tf":4.795831523312719},"16":{"tf":4.795831523312719},"17":{"tf":5.196152422706632},"18":{"tf":4.795831523312719},"19":{"tf":2.0},"6":{"tf":4.58257569495584},"8":{"tf":4.69041575982343},"9":{"tf":4.69041575982343}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"n":{"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.449489742783178},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"\\":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}}}}}}},"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"12":{"tf":1.0}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"2":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"f":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":1,"docs":{"5":{"tf":1.0}}},"2":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"_":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.23606797749979},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.449489742783178},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":2.0},"9":{"tf":2.0}},"e":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}},"2":{"df":2,"docs":{"6":{"tf":1.0},"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"19":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}},".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"\\":{"df":0,"docs":{},"n":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"<":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{">":{")":{")":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":5.0},"11":{"tf":5.0},"12":{"tf":5.0},"13":{"tf":5.0},"14":{"tf":5.0},"15":{"tf":5.0},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":5.0},"6":{"tf":5.0},"8":{"tf":5.0},"9":{"tf":5.0}}},"u":{">":{"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}},"df":18,"docs":{"0":{"tf":4.123105625617661},"1":{"tf":3.605551275463989},"10":{"tf":6.6332495807108},"11":{"tf":6.6332495807108},"12":{"tf":6.557438524302},"13":{"tf":6.557438524302},"14":{"tf":6.4031242374328485},"15":{"tf":6.6332495807108},"16":{"tf":6.782329983125268},"17":{"tf":6.708203932499369},"18":{"tf":6.4031242374328485},"19":{"tf":4.898979485566356},"20":{"tf":1.0},"5":{"tf":3.7416573867739413},"6":{"tf":6.48074069840786},"7":{"tf":1.7320508075688772},"8":{"tf":6.708203932499369},"9":{"tf":6.164414002968976}},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"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":{},"o":{"df":0,"docs":{},"m":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"(":{"df":1,"docs":{"19":{"tf":1.4142135623730951}},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":3.3166247903554},"6":{"tf":2.6457513110645907},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}},"df":0,"docs":{}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":14,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.8284271247461903},"15":{"tf":2.6457513110645907},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":2.6457513110645907},"20":{"tf":1.0},"5":{"tf":1.7320508075688772},"6":{"tf":2.6457513110645907},"8":{"tf":2.8284271247461903},"9":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"s":{"/":{"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":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"3":{":":{"1":{"8":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{":":{"1":{"3":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{":":{"1":{"3":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"0":{":":{"1":{"3":{"df":1,"docs":{"1":{"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":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"4":{":":{"5":{"1":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"4":{"7":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"2":{"0":{":":{"1":{"6":{"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":{}},"3":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"7":{":":{"1":{"3":{"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":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"f":{".":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"_":{"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":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"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":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"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":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":13,"docs":{"10":{"tf":4.795831523312719},"11":{"tf":4.795831523312719},"12":{"tf":4.795831523312719},"13":{"tf":4.795831523312719},"14":{"tf":4.795831523312719},"15":{"tf":4.898979485566356},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":4.898979485566356},"19":{"tf":4.358898943540674},"6":{"tf":4.795831523312719},"8":{"tf":4.795831523312719},"9":{"tf":4.795831523312719}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"\"":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":2.449489742783178}},"n":{"a":{"df":0,"docs":{},"m":{"df":14,"docs":{"10":{"tf":3.4641016151377544},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.3166247903554},"14":{"tf":3.605551275463989},"15":{"tf":3.7416573867739413},"16":{"tf":3.7416573867739413},"17":{"tf":4.123105625617661},"18":{"tf":3.872983346207417},"19":{"tf":2.449489742783178},"6":{"tf":3.0},"7":{"tf":1.0},"8":{"tf":3.0},"9":{"tf":3.3166247903554}},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{":":{":":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.3166247903554},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.3166247903554},"19":{"tf":2.6457513110645907},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":15,"docs":{"0":{"tf":2.449489742783178},"10":{"tf":8.717797887081348},"11":{"tf":8.831760866327848},"12":{"tf":9.1104335791443},"13":{"tf":8.717797887081348},"14":{"tf":8.774964387392123},"15":{"tf":8.774964387392123},"16":{"tf":8.831760866327848},"17":{"tf":8.888194417315589},"18":{"tf":8.774964387392123},"19":{"tf":4.123105625617661},"5":{"tf":2.0},"6":{"tf":8.717797887081348},"8":{"tf":8.717797887081348},"9":{"tf":8.717797887081348}},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":15,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":2.0},"10":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"_":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"19":{"tf":1.4142135623730951},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"<":{"$":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"$":{"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"&":{"$":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}},"n":{"c":{"1":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.605551275463989},"15":{"tf":3.7416573867739413},"16":{"tf":3.7416573867739413},"17":{"tf":3.872983346207417},"18":{"tf":3.605551275463989},"19":{"tf":2.23606797749979},"5":{"tf":1.7320508075688772},"6":{"tf":3.1622776601683795},"8":{"tf":3.605551275463989},"9":{"tf":3.1622776601683795}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":3.605551275463989},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}}}}}}}}}},"2":{"(":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":1,"docs":{"14":{"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":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"19":{"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":15,"docs":{"1":{"tf":2.23606797749979},"10":{"tf":2.6457513110645907},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.6457513110645907},"15":{"tf":3.0},"16":{"tf":3.3166247903554},"17":{"tf":3.1622776601683795},"18":{"tf":3.0},"19":{"tf":2.23606797749979},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},":":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}}}},"3":{"df":1,"docs":{"1":{"tf":1.7320508075688772}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"5":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}},"o":{"df":1,"docs":{"19":{"tf":2.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"5":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":1,"docs":{"17":{"tf":1.0}}},"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.23606797749979},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"w":{"df":0,"docs":{},"w":{"df":0,"docs":{},"w":{".":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"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":{}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":12,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.6457513110645907},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":2.6457513110645907},"6":{"tf":2.6457513110645907},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":13,"docs":{"10":{"tf":4.69041575982343},"11":{"tf":4.69041575982343},"12":{"tf":4.69041575982343},"13":{"tf":4.69041575982343},"14":{"tf":4.69041575982343},"15":{"tf":4.898979485566356},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":4.795831523312719},"19":{"tf":3.605551275463989},"6":{"tf":4.69041575982343},"8":{"tf":4.69041575982343},"9":{"tf":4.69041575982343}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"10":{"tf":2.8284271247461903},"11":{"tf":2.6457513110645907},"12":{"tf":2.8284271247461903},"13":{"tf":2.8284271247461903},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":2.8284271247461903},"6":{"tf":2.6457513110645907},"7":{"tf":1.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"!":{"(":{"\"":{".":{".":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"0":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":6.0},"11":{"tf":6.0},"12":{"tf":6.0},"13":{"tf":6.0},"14":{"tf":6.0},"15":{"tf":6.0},"16":{"tf":6.0},"17":{"tf":6.0},"18":{"tf":6.0},"6":{"tf":6.0},"8":{"tf":6.0},"9":{"tf":6.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"a":{"d":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"o":{"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{">":{">":{"(":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0}}}}}}}},"s":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.449489742783178},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"20":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"k":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}},"i":{"df":0,"docs":{},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},")":{"`":{"]":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"<":{"'":{"a":{">":{"(":{"&":{"'":{"a":{"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":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":2.23606797749979},"10":{"tf":3.4641016151377544},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.4641016151377544},"14":{"tf":3.4641016151377544},"15":{"tf":3.7416573867739413},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.7416573867739413},"19":{"tf":1.0},"6":{"tf":3.4641016151377544},"8":{"tf":3.4641016151377544},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"v":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":2.6457513110645907},"4":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"19":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"11":{"tf":1.0},"19":{"tf":1.0}}}},"t":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}},"p":{"(":{"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"_":{"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":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.7320508075688772}}},"t":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.8284271247461903},"12":{"tf":2.8284271247461903},"13":{"tf":2.8284271247461903},"14":{"tf":3.0},"15":{"tf":3.1622776601683795},"16":{"tf":3.0},"17":{"tf":3.3166247903554},"18":{"tf":3.1622776601683795},"19":{"tf":2.23606797749979},"6":{"tf":2.6457513110645907},"8":{"tf":2.6457513110645907},"9":{"tf":2.6457513110645907}}}},"df":0,"docs":{}},"y":{"b":{"df":1,"docs":{"8":{"tf":1.0}}},"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":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}},"o":{"d":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.7320508075688772}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":4.242640687119285},"11":{"tf":4.358898943540674},"12":{"tf":4.242640687119285},"13":{"tf":4.242640687119285},"14":{"tf":4.242640687119285},"15":{"tf":4.358898943540674},"16":{"tf":4.47213595499958},"17":{"tf":4.47213595499958},"18":{"tf":4.47213595499958},"19":{"tf":2.8284271247461903},"6":{"tf":4.242640687119285},"8":{"tf":4.242640687119285},"9":{"tf":4.242640687119285}}}},"y":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"1":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"w":{"<":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"15":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":13,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.3166247903554},"14":{"tf":3.3166247903554},"15":{"tf":3.3166247903554},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":3.3166247903554},"19":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":3.3166247903554},"9":{"tf":3.3166247903554}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":5,"docs":{"13":{"tf":1.0},"15":{"tf":1.7320508075688772},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}},"r":{"df":13,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"k":{"(":{"_":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}},"df":16,"docs":{"0":{"tf":2.0},"10":{"tf":4.0},"11":{"tf":4.0},"12":{"tf":4.0},"13":{"tf":4.0},"14":{"tf":4.123105625617661},"15":{"tf":4.0},"16":{"tf":4.0},"17":{"tf":4.0},"18":{"tf":4.0},"19":{"tf":2.449489742783178},"5":{"tf":1.7320508075688772},"6":{"tf":3.872983346207417},"7":{"tf":1.0},"8":{"tf":4.0},"9":{"tf":4.0}}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"n":{"df":1,"docs":{"16":{"tf":1.0}}},"p":{"(":{"&":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"&":{"'":{"a":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"(":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.23606797749979},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}},"u":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.3166247903554},"12":{"tf":3.3166247903554},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.1622776601683795},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.449489742783178},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}},"u":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":1,"docs":{"3":{"tf":1.0}}}}}}},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"11":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"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":1,"docs":{"8":{"tf":1.0}}}}}}},"t":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"5":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":2.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"u":{"b":{"df":13,"docs":{"10":{"tf":4.358898943540674},"11":{"tf":4.58257569495584},"12":{"tf":4.358898943540674},"13":{"tf":4.358898943540674},"14":{"tf":4.358898943540674},"15":{"tf":4.358898943540674},"16":{"tf":4.358898943540674},"17":{"tf":4.358898943540674},"18":{"tf":5.0},"19":{"tf":3.4641016151377544},"6":{"tf":4.358898943540674},"8":{"tf":4.358898943540674},"9":{"tf":4.358898943540674}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"q":{"df":1,"docs":{"5":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{")":{")":{".":{"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":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"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":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.7320508075688772},"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.6457513110645907},"13":{"tf":2.6457513110645907},"14":{"tf":2.8284271247461903},"15":{"tf":3.0},"16":{"tf":3.0},"17":{"tf":3.1622776601683795},"18":{"tf":3.0},"19":{"tf":1.7320508075688772},"2":{"tf":1.0},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}},"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}}},"l":{"df":1,"docs":{"6":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":2,"docs":{"20":{"tf":1.0},"5":{"tf":1.0}},"r":{"df":0,"docs":{},"t":{"df":6,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":16,"docs":{"0":{"tf":2.0},"10":{"tf":3.605551275463989},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.7416573867739413},"15":{"tf":3.605551275463989},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.3166247903554},"19":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":3.605551275463989},"7":{"tf":1.0},"8":{"tf":3.7416573867739413},"9":{"tf":3.605551275463989}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":15,"docs":{"0":{"tf":3.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.3166247903554},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.4641016151377544},"15":{"tf":3.4641016151377544},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"5":{"tf":1.4142135623730951},"6":{"tf":3.1622776601683795},"7":{"tf":1.7320508075688772},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}},"s":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.6457513110645907},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":2.6457513110645907},"9":{"tf":2.449489742783178}}}}}},"s":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"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":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":1,"docs":{"19":{"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":{}},"2":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"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":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{}}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{">":{">":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"s":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}},"df":0,"docs":{}}}},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"2":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"19":{"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":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":5.291502622129181},"11":{"tf":5.385164807134504},"12":{"tf":5.477225575051661},"13":{"tf":5.291502622129181},"14":{"tf":5.291502622129181},"15":{"tf":5.385164807134504},"16":{"tf":5.477225575051661},"17":{"tf":5.477225575051661},"18":{"tf":5.385164807134504},"19":{"tf":2.23606797749979},"6":{"tf":5.291502622129181},"8":{"tf":5.291502622129181},"9":{"tf":5.291502622129181}}}},"n":{"d":{"df":16,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":4.0},"11":{"tf":4.0},"12":{"tf":4.0},"13":{"tf":4.0},"14":{"tf":4.123105625617661},"15":{"tf":4.0},"16":{"tf":3.872983346207417},"17":{"tf":3.872983346207417},"18":{"tf":3.872983346207417},"19":{"tf":1.0},"5":{"tf":2.0},"6":{"tf":4.0},"7":{"tf":1.0},"8":{"tf":4.0},"9":{"tf":4.0}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"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":{"13":{"tf":1.0},"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"5":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"df":1,"docs":{"19":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"14":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"(":{"&":{"(":{"*":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"*":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":2.449489742783178},"13":{"tf":1.4142135623730951},"14":{"tf":2.449489742783178},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"1":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"2":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":2.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}}}}}}},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.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":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.8284271247461903},"11":{"tf":2.23606797749979},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"20":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"/":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"3":{"5":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"4":{"0":{"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":{}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.0}}},"i":{"c":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":2.0},"12":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":7.280109889280518},"11":{"tf":7.3484692283495345},"12":{"tf":7.54983443527075},"13":{"tf":7.280109889280518},"14":{"tf":7.280109889280518},"15":{"tf":7.280109889280518},"16":{"tf":7.280109889280518},"17":{"tf":7.280109889280518},"18":{"tf":7.280109889280518},"19":{"tf":2.0},"6":{"tf":7.280109889280518},"8":{"tf":7.280109889280518},"9":{"tf":7.280109889280518}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":15,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.8284271247461903},"11":{"tf":3.0},"12":{"tf":3.0},"13":{"tf":2.8284271247461903},"14":{"tf":2.8284271247461903},"15":{"tf":3.1622776601683795},"16":{"tf":3.0},"17":{"tf":3.0},"18":{"tf":3.3166247903554},"19":{"tf":3.3166247903554},"5":{"tf":1.0},"6":{"tf":2.8284271247461903},"8":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":1,"docs":{"19":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"0":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"(":{"\"":{"\\":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}},"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":{".":{"0":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"19":{"tf":1.4142135623730951}},"o":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":13,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.6457513110645907},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":2.6457513110645907},"19":{"tf":2.6457513110645907},"6":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":13,"docs":{"10":{"tf":3.1622776601683795},"11":{"tf":3.1622776601683795},"12":{"tf":3.1622776601683795},"13":{"tf":3.1622776601683795},"14":{"tf":3.1622776601683795},"15":{"tf":3.3166247903554},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.3166247903554},"19":{"tf":2.6457513110645907},"6":{"tf":3.1622776601683795},"8":{"tf":3.1622776601683795},"9":{"tf":3.1622776601683795}}}}}}}},"{":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{")":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"0":{"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":1,"docs":{"0":{"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":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":14,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.449489742783178},"19":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{":":{":":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"(":{"1":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"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":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"o":{"df":12,"docs":{"10":{"tf":2.8284271247461903},"11":{"tf":2.8284271247461903},"12":{"tf":2.8284271247461903},"13":{"tf":2.8284271247461903},"14":{"tf":2.8284271247461903},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":2.8284271247461903},"6":{"tf":2.8284271247461903},"8":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}},"t":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":13,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.23606797749979},"19":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"19":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{">":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"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":13,"docs":{"10":{"tf":5.0},"11":{"tf":5.0},"12":{"tf":5.0},"13":{"tf":5.0},"14":{"tf":5.0},"15":{"tf":5.0},"16":{"tf":5.0},"17":{"tf":5.0},"18":{"tf":5.0},"19":{"tf":1.4142135623730951},"6":{"tf":5.0},"8":{"tf":5.0},"9":{"tf":5.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"r":{"_":{"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":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":2.23606797749979},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"!":{"(":{"$":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.0},"10":{"tf":2.23606797749979},"11":{"tf":2.23606797749979},"12":{"tf":2.23606797749979},"13":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":2.23606797749979},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"19":{"tf":1.4142135623730951},"6":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"0":{"tf":2.8284271247461903}}}}}},"u":{"b":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"4":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":16,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":3.872983346207417},"11":{"tf":3.872983346207417},"12":{"tf":3.872983346207417},"13":{"tf":3.872983346207417},"14":{"tf":4.0},"15":{"tf":3.872983346207417},"16":{"tf":3.7416573867739413},"17":{"tf":3.7416573867739413},"18":{"tf":3.7416573867739413},"19":{"tf":1.0},"5":{"tf":2.0},"6":{"tf":3.872983346207417},"7":{"tf":1.0},"8":{"tf":3.872983346207417},"9":{"tf":3.872983346207417}}},"df":0,"docs":{}}}},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":13,"docs":{"10":{"tf":4.69041575982343},"11":{"tf":4.795831523312719},"12":{"tf":4.795831523312719},"13":{"tf":4.69041575982343},"14":{"tf":4.69041575982343},"15":{"tf":4.795831523312719},"16":{"tf":4.69041575982343},"17":{"tf":4.795831523312719},"18":{"tf":4.69041575982343},"6":{"tf":4.69041575982343},"7":{"tf":1.0},"8":{"tf":4.69041575982343},"9":{"tf":4.69041575982343}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"18":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"a":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"2":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951}}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":14,"docs":{"0":{"tf":2.0},"10":{"tf":3.4641016151377544},"11":{"tf":3.4641016151377544},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.605551275463989},"15":{"tf":3.4641016151377544},"16":{"tf":3.4641016151377544},"17":{"tf":3.4641016151377544},"18":{"tf":3.7416573867739413},"19":{"tf":1.0},"6":{"tf":3.4641016151377544},"8":{"tf":3.4641016151377544},"9":{"tf":3.4641016151377544}},"i":{"d":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}},"u":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":12,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.0},"13":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0},"6":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":2.0}}}},"df":0,"docs":{}}},"p":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}},"s":{"df":15,"docs":{"0":{"tf":2.23606797749979},"10":{"tf":4.898979485566356},"11":{"tf":4.795831523312719},"12":{"tf":5.0},"13":{"tf":4.69041575982343},"14":{"tf":4.69041575982343},"15":{"tf":5.0},"16":{"tf":4.795831523312719},"17":{"tf":4.69041575982343},"18":{"tf":5.196152422706632},"19":{"tf":3.1622776601683795},"5":{"tf":1.4142135623730951},"6":{"tf":4.69041575982343},"8":{"tf":4.795831523312719},"9":{"tf":4.795831523312719}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"i":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":13,"docs":{"10":{"tf":3.605551275463989},"11":{"tf":3.605551275463989},"12":{"tf":3.605551275463989},"13":{"tf":3.605551275463989},"14":{"tf":3.605551275463989},"15":{"tf":3.872983346207417},"16":{"tf":4.0},"17":{"tf":4.0},"18":{"tf":3.872983346207417},"19":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":3.605551275463989},"9":{"tf":3.605551275463989}}}},"df":0,"docs":{}},"df":12,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"title":{"root":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"19":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"d":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"5":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"lang":"English","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}}}}