Call this when [MCaptcha][m_captcha::MCaptcha] is not in master.
-
This fn gets mcaptcha config from database, builds [Defense][m_captcha::Defense],
-creates [MCaptcha][m_captcha::MCaptcha] and adds it to [Master][m_captcha::Defense]
-
-
\ No newline at end of file
diff --git a/guard/api/v1/pow/get_config/index.html b/guard/api/v1/pow/get_config/index.html
deleted file mode 100644
index b2f7784f..00000000
--- a/guard/api/v1/pow/get_config/index.html
+++ /dev/null
@@ -1,9 +0,0 @@
-guard::api::v1::pow::get_config - Rust
-
-
Call this when [MCaptcha][m_captcha::MCaptcha] is not in master.
-
-
\ No newline at end of file
diff --git a/guard/api/v1/pow/get_config/sidebar-items.js b/guard/api/v1/pow/get_config/sidebar-items.js
deleted file mode 100644
index 1b9fcf7e..00000000
--- a/guard/api/v1/pow/get_config/sidebar-items.js
+++ /dev/null
@@ -1 +0,0 @@
-initSidebarItems({"fn":[["init_mcaptcha","Call this when [MCaptcha][m_captcha::MCaptcha] is not in master."]],"struct":[["GetConfigPayload",""],["get_config","get PoW configuration for an mcaptcha key"]]});
\ No newline at end of file
diff --git a/guard/api/v1/pow/index.html b/guard/api/v1/pow/index.html
deleted file mode 100644
index 2551e47a..00000000
--- a/guard/api/v1/pow/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-guard::api::v1::pow - Rust
-
-
-lets="Löwe 老虎 Léopard";
-assert!(s.is_char_boundary(0));
-// start of `老`
-assert!(s.is_char_boundary(6));
-assert!(s.is_char_boundary(s.len()));
-
-// second byte of `ö`
-assert!(!s.is_char_boundary(2));
-
-// third byte of `老`
-assert!(!s.is_char_boundary(8));
-letv=String::from("🗻∈🌏");
-
-assert_eq!(Some("🗻"), v.get(0..4));
-
-// indices not on UTF-8 sequence boundaries
-assert!(v.get(1..).is_none());
-assert!(v.get(..8).is_none());
-
-// out of bounds
-assert!(v.get(..42).is_none());
Creates a string slice from another string slice, bypassing safety
-checks.
-This is generally not recommended, use with caution! For a safe
-alternative see str and IndexMut.
-
This new slice goes from begin to end, including begin but
-excluding end.
-
To get an immutable string slice instead, see the
-slice_unchecked method.
Returns an iterator over the chars of a string slice.
-
As a string slice consists of valid UTF-8, we can iterate through a
-string slice by char. This method returns such an iterator.
-
It's important to remember that char represents a Unicode Scalar
-Value, and may not match your idea of what a 'character' is. Iteration
-over grapheme clusters may be what you actually want. This functionality
-is not provided by Rust's standard library, check crates.io instead.
Returns an iterator over the chars of a string slice, and their
-positions.
-
As a string slice consists of valid UTF-8, we can iterate through a
-string slice by char. This method returns an iterator of both
-these chars, as well as their byte positions.
-
The iterator yields tuples. The position is first, the char is
-second.
Remember, chars may not match your intuition about characters:
-
-
-letyes="y̆es";
-
-letmutchar_indices=yes.char_indices();
-
-assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')
-assert_eq!(Some((1, '\u{0306}')), char_indices.next());
-
-// note the 3 here - the last character took up two bytes
-assert_eq!(Some((3, 'e')), char_indices.next());
-assert_eq!(Some((4, 's')), char_indices.next());
-
-assert_eq!(None, char_indices.next());
The iterator returned will return string slices that are sub-slices of
-the original string slice, separated by any amount of whitespace.
-
'Whitespace' is defined according to the terms of the Unicode Derived
-Core Property White_Space. If you only want to split on ASCII whitespace
-instead, use split_ascii_whitespace.
An iterator over the lines of a string, as string slices.
-
Lines are ended with either a newline (\n) or a carriage return with
-a line feed (\r\n).
-
The final line ending is optional. A string that ends with a final line
-ending will return the same lines as an otherwise identical string
-without a final line ending.
The returned iterator will be a DoubleEndedIterator if the pattern
-allows a reverse search and forward/reverse search yields the same
-elements. This is true for, e.g., char, but not for &str.
-
If the pattern allows a reverse search but its results might differ
-from a forward search, the rsplit method can be used.
An iterator over substrings of this string slice, separated by
-characters matched by a pattern. Differs from the iterator produced by
-split in that split_inclusive leaves the matched part as the
-terminator of the substring.
-
The pattern can be a &str, char, a slice of chars, or a
-function or closure that determines if a character matches.
-letv: Vec<&str>="Mary had a little lamb\nlittle lamb\nlittle lamb."
- .split_inclusive('\n').collect();
-assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb."]);
-
If the last element of the string is matched,
-that element will be considered the terminator of the preceding substring.
-That substring will be the last item returned by the iterator.
-
-
-letv: Vec<&str>="Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
- .split_inclusive('\n').collect();
-assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
The returned iterator requires that the pattern supports a reverse
-search, and it will be a DoubleEndedIterator if a forward/reverse
-search yields the same elements.
-
For iterating from the front, the split method can be used.
The returned iterator will be a DoubleEndedIterator if the pattern
-allows a reverse search and forward/reverse search yields the same
-elements. This is true for, e.g., char, but not for &str.
-
If the pattern allows a reverse search but its results might differ
-from a forward search, the rsplit_terminator method can be used.
The returned iterator requires that the pattern supports a
-reverse search, and it will be double ended if a forward/reverse
-search yields the same elements.
-
For iterating from the front, the split_terminator method can be
-used.
An iterator over substrings of this string slice, separated by a
-pattern, starting from the end of the string, restricted to returning
-at most n items.
-
If n substrings are returned, the last substring (the nth substring)
-will contain the remainder of the string.
-
The pattern can be a &str, char, a slice of chars, or a
-function or closure that determines if a character matches.
The returned iterator will be a DoubleEndedIterator if the pattern
-allows a reverse search and forward/reverse search yields the same
-elements. This is true for, e.g., char, but not for &str.
-
If the pattern allows a reverse search but its results might differ
-from a forward search, the rmatches method can be used.
The returned iterator requires that the pattern supports a reverse
-search, and it will be a DoubleEndedIterator if a forward/reverse
-search yields the same elements.
-
For iterating from the front, the matches method can be used.
The returned iterator will be a DoubleEndedIterator if the pattern
-allows a reverse search and forward/reverse search yields the same
-elements. This is true for, e.g., char, but not for &str.
-
If the pattern allows a reverse search but its results might differ
-from a forward search, the rmatch_indices method can be used.
The returned iterator requires that the pattern supports a reverse
-search, and it will be a DoubleEndedIterator if a forward/reverse
-search yields the same elements.
-
For iterating from the front, the match_indices method can be used.
A string is a sequence of bytes. start in this context means the first
-position of that byte string; for a left-to-right language like English or
-Russian, this will be left side, and for right-to-left languages like
-Arabic or Hebrew, this will be the right side.
A string is a sequence of bytes. end in this context means the last
-position of that byte string; for a left-to-right language like English or
-Russian, this will be right side, and for right-to-left languages like
-Arabic or Hebrew, this will be the left side.
A string is a sequence of bytes. 'Left' in this context means the first
-position of that byte string; for a language like Arabic or Hebrew
-which are 'right to left' rather than 'left to right', this will be
-the right side, not the left.
A string is a sequence of bytes. 'Right' in this context means the last
-position of that byte string; for a language like Arabic or Hebrew
-which are 'right to left' rather than 'left to right', this will be
-the left side, not the right.
#[must_use =
- "this returns the trimmed string as a new slice, \
- without modifying the original"]pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a strwhere P: Pattern<'a>, 1.30.0[src]
Returns a string slice with all prefixes that match a pattern
-repeatedly removed.
-
The pattern can be a &str, char, a slice of chars, or a
-function or closure that determines if a character matches.
A string is a sequence of bytes. start in this context means the first
-position of that byte string; for a left-to-right language like English or
-Russian, this will be left side, and for right-to-left languages like
-Arabic or Hebrew, this will be the right side.
#[must_use =
- "this returns the remaining substring as a new slice, \
- without modifying the original"]pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str> where P: Pattern<'a>, 1.45.0[src]
Returns a string slice with the prefix removed.
-
If the string starts with the pattern prefix, returns substring after the prefix, wrapped
-in Some. Unlike trim_start_matches, this method removes the prefix exactly once.
-
If the string does not start with prefix, returns None.
-
The pattern can be a &str, char, a slice of chars, or a
-function or closure that determines if a character matches.
#[must_use =
- "this returns the remaining substring as a new slice, \
- without modifying the original"]pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>, 1.45.0[src]
Returns a string slice with the suffix removed.
-
If the string ends with the pattern suffix, returns the substring before the suffix,
-wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.
-
If the string does not end with suffix, returns None.
-
The pattern can be a &str, char, a slice of chars, or a
-function or closure that determines if a character matches.
A string is a sequence of bytes. end in this context means the last
-position of that byte string; for a left-to-right language like English or
-Russian, this will be right side, and for right-to-left languages like
-Arabic or Hebrew, this will be the left side.
A string is a sequence of bytes. 'Left' in this context means the first
-position of that byte string; for a language like Arabic or Hebrew
-which are 'right to left' rather than 'left to right', this will be
-the right side, not the left.
A string is a sequence of bytes. 'Right' in this context means the last
-position of that byte string; for a language like Arabic or Hebrew
-which are 'right to left' rather than 'left to right', this will be
-the left side, not the right.
Because parse is so general, it can cause problems with type
-inference. As such, parse is one of the few times you'll see
-the syntax affectionately known as the 'turbofish': ::<>. This
-helps the inference algorithm understand specifically which type
-you're trying to parse into.
-
parse can parse into any type that implements the FromStr trait.
#[must_use =
- "this returns the replaced string as a new allocation, \
- without modifying the original"]pub fn replace<'a, P>(&'a self, from: P, to: &str) -> Stringwhere P: Pattern<'a>, 1.0.0[src]
Replaces all matches of a pattern with another string.
-
replace creates a new String, and copies the data from this string slice into it.
-While doing so, it attempts to find matches of a pattern. If it finds any, it
-replaces them with the replacement string slice.
-lets="this is old";
-
-assert_eq!("this is new", s.replace("old", "new"));
-
When the pattern doesn't match:
-
-
-lets="this is old";
-assert_eq!(s, s.replace("cookie monster", "little lamb"));
-
#[must_use =
- "this returns the replaced string as a new allocation, \
- without modifying the original"]pub fn replacen<'a, P>(&'a self, pat: P, to: &str, count: usize) -> Stringwhere P: Pattern<'a>, 1.16.0[src]
Replaces first N matches of a pattern with another string.
-
replacen creates a new String, and copies the data from this string slice into it.
-While doing so, it attempts to find matches of a pattern. If it finds any, it
-replaces them with the replacement string slice at most count times.
Returns the lowercase equivalent of this string slice, as a new String.
-
'Lowercase' is defined according to the terms of the Unicode Derived Core Property
-Lowercase.
-
Since some characters can expand into multiple characters when changing
-the case, this function returns a String instead of modifying the
-parameter in-place.
-letsigma="Σ";
-
-assert_eq!("σ", sigma.to_lowercase());
-
-// but at the end of a word, it's ς, not σ:
-letodysseus="ὈΔΥΣΣΕΎΣ";
-
-assert_eq!("ὀδυσσεύς", odysseus.to_lowercase());
Returns the uppercase equivalent of this string slice, as a new String.
-
'Uppercase' is defined according to the terms of the Unicode Derived Core Property
-Uppercase.
-
Since some characters can expand into multiple characters when changing
-the case, this function returns a String instead of modifying the
-parameter in-place.
-
\ No newline at end of file
diff --git a/implementors/actix_http/error/trait.ResponseError.js b/implementors/actix_http/error/trait.ResponseError.js
index 8e010140..91020469 100644
--- a/implementors/actix_http/error/trait.ResponseError.js
+++ b/implementors/actix_http/error/trait.ResponseError.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl ResponseError for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl ResponseError for PageError","synthetic":false,"types":["guard::errors::PageError"]}];
+implementors["mcaptcha"] = [{"text":"impl ResponseError for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl ResponseError for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/actix_service/trait.Service.js b/implementors/actix_service/trait.Service.js
index fe3ff5aa..d8812291 100644
--- a/implementors/actix_service/trait.Service.js
+++ b/implementors/actix_service/trait.Service.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl<S, B> Service for CheckLoginMiddleware<S> where S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>, S::Future: 'static, ","synthetic":false,"types":["guard::middleware::auth::CheckLoginMiddleware"]}];
+implementors["mcaptcha"] = [{"text":"impl<S, B> Service for CheckLoginMiddleware<S> where S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>, S::Future: 'static, ","synthetic":false,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/actix_service/transform/trait.Transform.js b/implementors/actix_service/transform/trait.Transform.js
index da6f8189..787bce57 100644
--- a/implementors/actix_service/transform/trait.Transform.js
+++ b/implementors/actix_service/transform/trait.Transform.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl<S, B> Transform<S> for CheckLoginwhere S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>, S::Future: 'static, ","synthetic":false,"types":["guard::middleware::auth::CheckLogin"]}];
+implementors["mcaptcha"] = [{"text":"impl<S, B> Transform<S> for CheckLoginwhere S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>, S::Future: 'static, ","synthetic":false,"types":["mcaptcha::middleware::auth::CheckLogin"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/actix_web/service/trait.HttpServiceFactory.js b/implementors/actix_web/service/trait.HttpServiceFactory.js
index 7a0458bc..d9fe85f5 100644
--- a/implementors/actix_web/service/trait.HttpServiceFactory.js
+++ b/implementors/actix_web/service/trait.HttpServiceFactory.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl HttpServiceFactory for delete_account","synthetic":false,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl HttpServiceFactory for email_exists","synthetic":false,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl HttpServiceFactory for set_email","synthetic":false,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl HttpServiceFactory for get_secret","synthetic":false,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl HttpServiceFactory for update_user_secret","synthetic":false,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl HttpServiceFactory for username_exists","synthetic":false,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl HttpServiceFactory for signup","synthetic":false,"types":["guard::api::v1::auth::signup"]},{"text":"impl HttpServiceFactory for signin","synthetic":false,"types":["guard::api::v1::auth::signin"]},{"text":"impl HttpServiceFactory for signout","synthetic":false,"types":["guard::api::v1::auth::signout"]},{"text":"impl HttpServiceFactory for update_duration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl HttpServiceFactory for get_duration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl HttpServiceFactory for add_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl HttpServiceFactory for update_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl HttpServiceFactory for delete_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl HttpServiceFactory for get_levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl HttpServiceFactory for update_token","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl HttpServiceFactory for get_token","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl HttpServiceFactory for delete_mcaptcha","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["guard::api::v1::meta::build_details"]},{"text":"impl HttpServiceFactory for health","synthetic":false,"types":["guard::api::v1::meta::health"]},{"text":"impl HttpServiceFactory for add_notification","synthetic":false,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl HttpServiceFactory for get_notification","synthetic":false,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl HttpServiceFactory for mark_read","synthetic":false,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl HttpServiceFactory for get_config","synthetic":false,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl HttpServiceFactory for verify_pow","synthetic":false,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl HttpServiceFactory for validate_captcha_token","synthetic":false,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl HttpServiceFactory for login","synthetic":false,"types":["guard::pages::auth::login::login"]},{"text":"impl HttpServiceFactory for join","synthetic":false,"types":["guard::pages::auth::register::join"]},{"text":"impl HttpServiceFactory for add_sitekey","synthetic":false,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl HttpServiceFactory for list_sitekeys","synthetic":false,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl HttpServiceFactory for view_sitekey","synthetic":false,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl HttpServiceFactory for panel","synthetic":false,"types":["guard::pages::panel::panel"]},{"text":"impl HttpServiceFactory for static_files","synthetic":false,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl HttpServiceFactory for favicons","synthetic":false,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl HttpServiceFactory for show_widget","synthetic":false,"types":["guard::widget::show_widget"]},{"text":"impl HttpServiceFactory for widget_assets","synthetic":false,"types":["guard::widget::widget_assets"]}];
+implementors["mcaptcha"] = [{"text":"impl HttpServiceFactory for delete_account","synthetic":false,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl HttpServiceFactory for email_exists","synthetic":false,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl HttpServiceFactory for set_email","synthetic":false,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl HttpServiceFactory for get_secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl HttpServiceFactory for update_user_secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl HttpServiceFactory for username_exists","synthetic":false,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl HttpServiceFactory for signup","synthetic":false,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl HttpServiceFactory for signin","synthetic":false,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl HttpServiceFactory for signout","synthetic":false,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl HttpServiceFactory for update_duration","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl HttpServiceFactory for get_duration","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl HttpServiceFactory for add_levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl HttpServiceFactory for update_levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl HttpServiceFactory for delete_levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl HttpServiceFactory for get_levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl HttpServiceFactory for update_token","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl HttpServiceFactory for get_token","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl HttpServiceFactory for delete_mcaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl HttpServiceFactory for health","synthetic":false,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl HttpServiceFactory for add_notification","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl HttpServiceFactory for get_notification","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl HttpServiceFactory for mark_read","synthetic":false,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl HttpServiceFactory for get_config","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl HttpServiceFactory for verify_pow","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl HttpServiceFactory for validate_captcha_token","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl HttpServiceFactory for login","synthetic":false,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl HttpServiceFactory for join","synthetic":false,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl HttpServiceFactory for add_sitekey","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl HttpServiceFactory for list_sitekeys","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl HttpServiceFactory for view_sitekey","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl HttpServiceFactory for panel","synthetic":false,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl HttpServiceFactory for static_files","synthetic":false,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl HttpServiceFactory for favicons","synthetic":false,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl HttpServiceFactory for show_widget","synthetic":false,"types":["mcaptcha::widget::show_widget"]},{"text":"impl HttpServiceFactory for widget_assets","synthetic":false,"types":["mcaptcha::widget::widget_assets"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js
index 15a803d7..36df5abf 100644
--- a/implementors/core/clone/trait.Clone.js
+++ b/implementors/core/clone/trait.Clone.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Clone for Email","synthetic":false,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Clone for Secret","synthetic":false,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Clone for AccountCheckPayload","synthetic":false,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Clone for AccountCheckResp","synthetic":false,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Clone for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl Clone for Password","synthetic":false,"types":["guard::api::v1::auth::Password"]},{"text":"impl Clone for Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Clone for I32Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Clone for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Clone for BuildDetails","synthetic":false,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Clone for BuildDetailsBuilder","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Clone for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for GetConfigPayload","synthetic":false,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Clone for ValidationToken","synthetic":false,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Clone for CaptchaValidateResp","synthetic":false,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Clone for Data","synthetic":false,"types":["guard::data::Data"]},{"text":"impl Clone for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl Clone for PageError","synthetic":false,"types":["guard::errors::PageError"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl<'a> Clone for ErrorPage<'a>","synthetic":false,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Clone for McaptchaConfig","synthetic":false,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Clone for Level","synthetic":false,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["guard::pages::panel::IndexPage"]},{"text":"impl Clone for Server","synthetic":false,"types":["guard::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["guard::settings::Captcha"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["guard::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["guard::settings::Settings"]},{"text":"impl Clone for Stats","synthetic":false,"types":["guard::stats::fetch::Stats"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["guard::widget::IndexPage"]}];
+implementors["mcaptcha"] = [{"text":"impl Clone for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Clone for Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Clone for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Clone for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Clone for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Clone for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Clone for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Clone for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Clone for MCaptchaID","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Clone for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Clone for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Clone for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Clone for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Clone for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Clone for Data","synthetic":false,"types":["mcaptcha::data::Data"]},{"text":"impl Clone for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Clone for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Clone for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Clone for McaptchaConfig","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Clone for Level","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Clone for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Clone for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}];
implementors["tests_migrate"] = [{"text":"impl Clone for Data","synthetic":false,"types":["tests_migrate::data::Data"]},{"text":"impl Clone for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js
index 569052ce..04daa040 100644
--- a/implementors/core/cmp/trait.PartialEq.js
+++ b/implementors/core/cmp/trait.PartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl PartialEq<PageError> for PageError","synthetic":false,"types":["guard::errors::PageError"]}];
+implementors["mcaptcha"] = [{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl PartialEq<PageError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js
index a6999f20..581a09cf 100644
--- a/implementors/core/convert/trait.From.js
+++ b/implementors/core/convert/trait.From.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl From<UninitializedFieldError> for BuildDetailsBuilderError","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<String> for BuildDetailsBuilderError","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<UninitializedFieldError> for HealthBuilderError","synthetic":false,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl From<String> for HealthBuilderError","synthetic":false,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl From<Notification> for NotificationResp","synthetic":false,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl From<Error> for PageError","synthetic":false,"types":["guard::errors::PageError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["guard::errors::PageError"]}];
+implementors["mcaptcha"] = [{"text":"impl From<UninitializedFieldError> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<String> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<UninitializedFieldError> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<String> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<Notification> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<Error> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js
index 3caed24a..14368c26 100644
--- a/implementors/core/default/trait.Default.js
+++ b/implementors/core/default/trait.Default.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Default for BuildDetailsBuilder","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Default for HealthBuilder","synthetic":false,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl<'a> Default for IndexPage<'a>","synthetic":false,"types":["guard::pages::panel::sitekey::add::IndexPage"]}];
+implementors["mcaptcha"] = [{"text":"impl Default for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Default for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Default for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js
index 397936bf..8e478b7b 100644
--- a/implementors/core/fmt/trait.Debug.js
+++ b/implementors/core/fmt/trait.Debug.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Debug for Email","synthetic":false,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Debug for Secret","synthetic":false,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Debug for AccountCheckPayload","synthetic":false,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Debug for AccountCheckResp","synthetic":false,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Debug for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl Debug for Password","synthetic":false,"types":["guard::api::v1::auth::Password"]},{"text":"impl Debug for Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Debug for I32Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Debug for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Debug for BuildDetailsBuilderError","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Debug for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl Debug for HealthBuilderError","synthetic":false,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Debug for GetConfigPayload","synthetic":false,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Debug for ValidationToken","synthetic":false,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Debug for CaptchaValidateResp","synthetic":false,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl Debug for PageError","synthetic":false,"types":["guard::errors::PageError"]},{"text":"impl Debug for Server","synthetic":false,"types":["guard::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["guard::settings::Captcha"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["guard::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["guard::settings::Settings"]},{"text":"impl Debug for Stats","synthetic":false,"types":["guard::stats::fetch::Stats"]}];
+implementors["mcaptcha"] = [{"text":"impl Debug for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Debug for Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Debug for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Debug for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Debug for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Debug for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Debug for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Debug for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Debug for MCaptchaID","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Debug for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Debug for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Debug for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Debug for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Debug for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Debug for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Debug for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Debug for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Debug for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]}];
implementors["tests_migrate"] = [{"text":"impl Debug for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js
index e9cd5adb..c5df483a 100644
--- a/implementors/core/fmt/trait.Display.js
+++ b/implementors/core/fmt/trait.Display.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Display for BuildDetailsBuilderError","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Display for HealthBuilderError","synthetic":false,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["guard::errors::PageError"]}];
+implementors["mcaptcha"] = [{"text":"impl Display for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Display for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js
index 4faa33e3..94e7b221 100644
--- a/implementors/core/marker/trait.Freeze.js
+++ b/implementors/core/marker/trait.Freeze.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Freeze for delete_account","synthetic":true,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl Freeze for Email","synthetic":true,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Freeze for email_exists","synthetic":true,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl Freeze for set_email","synthetic":true,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl Freeze for Secret","synthetic":true,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Freeze for get_secret","synthetic":true,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl Freeze for update_user_secret","synthetic":true,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl Freeze for username_exists","synthetic":true,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl Freeze for Account","synthetic":true,"types":["guard::api::v1::account::routes::Account"]},{"text":"impl Freeze for AccountCheckPayload","synthetic":true,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Freeze for AccountCheckResp","synthetic":true,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["guard::api::v1::auth::routes::Auth"]},{"text":"impl Freeze for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Freeze for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Freeze for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Freeze for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Freeze for Duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Freeze for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Freeze for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Freeze for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Freeze for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Freeze for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Freeze for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Freeze for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Freeze for UpdateLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Freeze for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Freeze for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Freeze for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Freeze for MCaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Freeze for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Freeze for update_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Freeze for get_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Freeze for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["guard::api::v1::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Freeze for BuildDetailsBuilder","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Freeze for BuildDetailsBuilderError","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for HealthBuilderError","synthetic":true,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Freeze for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Freeze for AddNotification","synthetic":true,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["guard::api::v1::notifications::get::Notification"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl Freeze for get_notification","synthetic":true,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl Freeze for MarkReadReq","synthetic":true,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Freeze for mark_read","synthetic":true,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Freeze for Notifications","synthetic":true,"types":["guard::api::v1::notifications::routes::Notifications"]},{"text":"impl Freeze for GetConfigPayload","synthetic":true,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Freeze for get_config","synthetic":true,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl Freeze for ValidationToken","synthetic":true,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Freeze for verify_pow","synthetic":true,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Freeze for CaptchaValidateResp","synthetic":true,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Freeze for validate_captcha_token","synthetic":true,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Freeze for PoW","synthetic":true,"types":["guard::api::v1::pow::routes::PoW"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["guard::api::v1::routes::Routes"]},{"text":"impl Freeze for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Freeze for Docs","synthetic":true,"types":["guard::docs::routes::Docs"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["guard::docs::Asset"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Freeze for PageError","synthetic":true,"types":["guard::errors::PageError"]},{"text":"impl Freeze for CheckLogin","synthetic":true,"types":["guard::middleware::auth::CheckLogin"]},{"text":"impl<S> Freeze for CheckLoginMiddleware<S> where S: Freeze, ","synthetic":true,"types":["guard::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl Freeze for login","synthetic":true,"types":["guard::pages::auth::login::login"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl Freeze for join","synthetic":true,"types":["guard::pages::auth::register::join"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["guard::pages::auth::routes::Auth"]},{"text":"impl Freeze for Errors","synthetic":true,"types":["guard::pages::errors::routes::Errors"]},{"text":"impl<'a> Freeze for ErrorPage<'a>","synthetic":true,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl Freeze for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Freeze for UNKNOWN_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Freeze for add_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Freeze for list_sitekeys","synthetic":true,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Freeze for McaptchaConfig","synthetic":true,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Freeze for Level","synthetic":true,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Freeze for view_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Freeze for Sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Freeze for Panel","synthetic":true,"types":["guard::pages::panel::routes::Panel"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["guard::pages::panel::IndexPage"]},{"text":"impl Freeze for panel","synthetic":true,"types":["guard::pages::panel::panel"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["guard::pages::routes::Routes"]},{"text":"impl Freeze for Methods","synthetic":true,"types":["guard::routes::Methods"]},{"text":"impl Freeze for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Freeze for FileMap","synthetic":true,"types":["guard::static_assets::filemap::FileMap"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl Freeze for static_files","synthetic":true,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl Freeze for Favicons","synthetic":true,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl Freeze for favicons","synthetic":true,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["guard::stats::fetch::Stats"]},{"text":"impl Freeze for Widget","synthetic":true,"types":["guard::widget::routes::Widget"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["guard::widget::IndexPage"]},{"text":"impl Freeze for INDEX_PAGE","synthetic":true,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl Freeze for show_widget","synthetic":true,"types":["guard::widget::show_widget"]},{"text":"impl Freeze for WidgetAssets","synthetic":true,"types":["guard::widget::WidgetAssets"]},{"text":"impl Freeze for widget_assets","synthetic":true,"types":["guard::widget::widget_assets"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Freeze for FILES","synthetic":true,"types":["guard::FILES"]},{"text":"impl Freeze for JS","synthetic":true,"types":["guard::JS"]},{"text":"impl Freeze for CSS","synthetic":true,"types":["guard::CSS"]},{"text":"impl Freeze for MOBILE_CSS","synthetic":true,"types":["guard::MOBILE_CSS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Freeze for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Freeze for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Freeze for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Freeze for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Freeze for Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Freeze for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Freeze for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Freeze for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Freeze for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Freeze for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Freeze for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Freeze for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Freeze for signup","synthetic":true,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl Freeze for signin","synthetic":true,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl Freeze for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Freeze for Duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Freeze for UpdateDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Freeze for update_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Freeze for GetDurationResp","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Freeze for GetDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Freeze for get_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Freeze for AddLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Freeze for add_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Freeze for UpdateLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Freeze for update_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Freeze for delete_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Freeze for get_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Freeze for MCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Freeze for MCaptchaID","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Freeze for update_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Freeze for get_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Freeze for delete_mcaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Freeze for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Freeze for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Freeze for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Freeze for AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::Notification"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Freeze for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Freeze for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Freeze for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Freeze for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Freeze for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Freeze for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Freeze for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Freeze for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Freeze for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Freeze for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Freeze for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Freeze for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Freeze for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Freeze for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Freeze for CheckLogin","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLogin"]},{"text":"impl<S> Freeze for CheckLoginMiddleware<S> where S: Freeze, ","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Freeze for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Freeze for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Freeze for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Freeze for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Freeze for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Freeze for add_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Freeze for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Freeze for McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Freeze for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Freeze for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Freeze for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Freeze for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Freeze for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Freeze for Methods","synthetic":true,"types":["mcaptcha::routes::Methods"]},{"text":"impl Freeze for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Freeze for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Freeze for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Freeze for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Freeze for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Freeze for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Freeze for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Freeze for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Freeze for WidgetAssets","synthetic":true,"types":["mcaptcha::widget::WidgetAssets"]},{"text":"impl Freeze for widget_assets","synthetic":true,"types":["mcaptcha::widget::widget_assets"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Freeze for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Freeze for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Freeze for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Freeze for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Freeze for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl Freeze for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Freeze for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js
index a65430cb..c68e4583 100644
--- a/implementors/core/marker/trait.Send.js
+++ b/implementors/core/marker/trait.Send.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Send for delete_account","synthetic":true,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl Send for Email","synthetic":true,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Send for email_exists","synthetic":true,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl Send for set_email","synthetic":true,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl Send for Secret","synthetic":true,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Send for get_secret","synthetic":true,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl Send for update_user_secret","synthetic":true,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl Send for username_exists","synthetic":true,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl Send for Account","synthetic":true,"types":["guard::api::v1::account::routes::Account"]},{"text":"impl Send for AccountCheckPayload","synthetic":true,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Send for AccountCheckResp","synthetic":true,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Send for Auth","synthetic":true,"types":["guard::api::v1::auth::routes::Auth"]},{"text":"impl Send for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Send for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Send for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Send for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Send for Duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Send for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Send for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Send for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Send for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Send for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Send for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Send for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Send for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Send for UpdateLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Send for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Send for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Send for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Send for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Send for MCaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Send for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Send for update_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Send for get_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Send for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Send for Meta","synthetic":true,"types":["guard::api::v1::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Send for BuildDetailsBuilder","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Send for BuildDetailsBuilderError","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Send for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Send for HealthBuilderError","synthetic":true,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Send for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Send for AddNotification","synthetic":true,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl Send for add_notification","synthetic":true,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl Send for Notification","synthetic":true,"types":["guard::api::v1::notifications::get::Notification"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl Send for get_notification","synthetic":true,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl Send for MarkReadReq","synthetic":true,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Send for mark_read","synthetic":true,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Send for Notifications","synthetic":true,"types":["guard::api::v1::notifications::routes::Notifications"]},{"text":"impl Send for GetConfigPayload","synthetic":true,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Send for get_config","synthetic":true,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl Send for ValidationToken","synthetic":true,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Send for verify_pow","synthetic":true,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Send for CaptchaValidateResp","synthetic":true,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Send for validate_captcha_token","synthetic":true,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Send for PoW","synthetic":true,"types":["guard::api::v1::pow::routes::PoW"]},{"text":"impl Send for Routes","synthetic":true,"types":["guard::api::v1::routes::Routes"]},{"text":"impl Send for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Send for Docs","synthetic":true,"types":["guard::docs::routes::Docs"]},{"text":"impl Send for Asset","synthetic":true,"types":["guard::docs::Asset"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Send for PageError","synthetic":true,"types":["guard::errors::PageError"]},{"text":"impl Send for CheckLogin","synthetic":true,"types":["guard::middleware::auth::CheckLogin"]},{"text":"impl<S> Send for CheckLoginMiddleware<S> where S: Send, ","synthetic":true,"types":["guard::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl Send for login","synthetic":true,"types":["guard::pages::auth::login::login"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl Send for join","synthetic":true,"types":["guard::pages::auth::register::join"]},{"text":"impl Send for Auth","synthetic":true,"types":["guard::pages::auth::routes::Auth"]},{"text":"impl Send for Errors","synthetic":true,"types":["guard::pages::errors::routes::Errors"]},{"text":"impl<'a> Send for ErrorPage<'a>","synthetic":true,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl Send for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Send for UNKNOWN_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Send for INDEX","synthetic":true,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Send for add_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Send for list_sitekeys","synthetic":true,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Send for McaptchaConfig","synthetic":true,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Send for Level","synthetic":true,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Send for view_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Send for Sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Send for Panel","synthetic":true,"types":["guard::pages::panel::routes::Panel"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["guard::pages::panel::IndexPage"]},{"text":"impl Send for panel","synthetic":true,"types":["guard::pages::panel::panel"]},{"text":"impl Send for Routes","synthetic":true,"types":["guard::pages::routes::Routes"]},{"text":"impl Send for Methods","synthetic":true,"types":["guard::routes::Methods"]},{"text":"impl Send for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Send for FileMap","synthetic":true,"types":["guard::static_assets::filemap::FileMap"]},{"text":"impl Send for Asset","synthetic":true,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl Send for static_files","synthetic":true,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl Send for Favicons","synthetic":true,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl Send for favicons","synthetic":true,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl Send for Stats","synthetic":true,"types":["guard::stats::fetch::Stats"]},{"text":"impl Send for Widget","synthetic":true,"types":["guard::widget::routes::Widget"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["guard::widget::IndexPage"]},{"text":"impl Send for INDEX_PAGE","synthetic":true,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl Send for show_widget","synthetic":true,"types":["guard::widget::show_widget"]},{"text":"impl Send for WidgetAssets","synthetic":true,"types":["guard::widget::WidgetAssets"]},{"text":"impl Send for widget_assets","synthetic":true,"types":["guard::widget::widget_assets"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Send for FILES","synthetic":true,"types":["guard::FILES"]},{"text":"impl Send for JS","synthetic":true,"types":["guard::JS"]},{"text":"impl Send for CSS","synthetic":true,"types":["guard::CSS"]},{"text":"impl Send for MOBILE_CSS","synthetic":true,"types":["guard::MOBILE_CSS"]},{"text":"impl Send for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl Send for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Send for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Send for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Send for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Send for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Send for Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Send for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Send for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Send for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Send for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Send for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Send for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Send for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Send for signup","synthetic":true,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl Send for signin","synthetic":true,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl Send for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Send for Duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Send for UpdateDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Send for update_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Send for GetDurationResp","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Send for GetDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Send for get_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Send for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Send for AddLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Send for add_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Send for UpdateLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Send for update_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Send for delete_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Send for get_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Send for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Send for MCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Send for MCaptchaID","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Send for update_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Send for get_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Send for delete_mcaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Send for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Send for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Send for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Send for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Send for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Send for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Send for AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::Notification"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Send for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Send for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Send for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Send for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Send for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Send for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Send for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Send for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Send for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Send for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Send for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Send for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Send for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Send for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Send for CheckLogin","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLogin"]},{"text":"impl<S> Send for CheckLoginMiddleware<S> where S: Send, ","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Send for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Send for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Send for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Send for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Send for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Send for add_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Send for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Send for McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Send for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Send for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Send for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Send for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Send for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Send for Methods","synthetic":true,"types":["mcaptcha::routes::Methods"]},{"text":"impl Send for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Send for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Send for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Send for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Send for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Send for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Send for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Send for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Send for WidgetAssets","synthetic":true,"types":["mcaptcha::widget::WidgetAssets"]},{"text":"impl Send for widget_assets","synthetic":true,"types":["mcaptcha::widget::widget_assets"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Send for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Send for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Send for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Send for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Send for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Send for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Send for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl Send for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Send for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js
index 9a101c4b..d20a6b71 100644
--- a/implementors/core/marker/trait.StructuralPartialEq.js
+++ b/implementors/core/marker/trait.StructuralPartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["guard::errors::PageError"]}];
+implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js
index e6d5d9b3..f1fd71b1 100644
--- a/implementors/core/marker/trait.Sync.js
+++ b/implementors/core/marker/trait.Sync.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Sync for delete_account","synthetic":true,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl Sync for Email","synthetic":true,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Sync for email_exists","synthetic":true,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl Sync for set_email","synthetic":true,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl Sync for Secret","synthetic":true,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Sync for get_secret","synthetic":true,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl Sync for update_user_secret","synthetic":true,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl Sync for username_exists","synthetic":true,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl Sync for Account","synthetic":true,"types":["guard::api::v1::account::routes::Account"]},{"text":"impl Sync for AccountCheckPayload","synthetic":true,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Sync for AccountCheckResp","synthetic":true,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Sync for Auth","synthetic":true,"types":["guard::api::v1::auth::routes::Auth"]},{"text":"impl Sync for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Sync for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Sync for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Sync for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Sync for Duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Sync for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Sync for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Sync for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Sync for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Sync for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Sync for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Sync for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Sync for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Sync for UpdateLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Sync for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Sync for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Sync for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Sync for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Sync for MCaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Sync for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Sync for update_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Sync for get_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Sync for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Sync for Meta","synthetic":true,"types":["guard::api::v1::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Sync for BuildDetailsBuilder","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Sync for BuildDetailsBuilderError","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Sync for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for HealthBuilderError","synthetic":true,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Sync for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Sync for AddNotification","synthetic":true,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for Notification","synthetic":true,"types":["guard::api::v1::notifications::get::Notification"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl Sync for get_notification","synthetic":true,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl Sync for MarkReadReq","synthetic":true,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Sync for mark_read","synthetic":true,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Sync for Notifications","synthetic":true,"types":["guard::api::v1::notifications::routes::Notifications"]},{"text":"impl Sync for GetConfigPayload","synthetic":true,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Sync for get_config","synthetic":true,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl Sync for ValidationToken","synthetic":true,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Sync for verify_pow","synthetic":true,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Sync for CaptchaValidateResp","synthetic":true,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Sync for validate_captcha_token","synthetic":true,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Sync for PoW","synthetic":true,"types":["guard::api::v1::pow::routes::PoW"]},{"text":"impl Sync for Routes","synthetic":true,"types":["guard::api::v1::routes::Routes"]},{"text":"impl Sync for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Sync for Docs","synthetic":true,"types":["guard::docs::routes::Docs"]},{"text":"impl Sync for Asset","synthetic":true,"types":["guard::docs::Asset"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Sync for PageError","synthetic":true,"types":["guard::errors::PageError"]},{"text":"impl Sync for CheckLogin","synthetic":true,"types":["guard::middleware::auth::CheckLogin"]},{"text":"impl<S> Sync for CheckLoginMiddleware<S> where S: Sync, ","synthetic":true,"types":["guard::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl Sync for login","synthetic":true,"types":["guard::pages::auth::login::login"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl Sync for join","synthetic":true,"types":["guard::pages::auth::register::join"]},{"text":"impl Sync for Auth","synthetic":true,"types":["guard::pages::auth::routes::Auth"]},{"text":"impl Sync for Errors","synthetic":true,"types":["guard::pages::errors::routes::Errors"]},{"text":"impl<'a> Sync for ErrorPage<'a>","synthetic":true,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl Sync for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Sync for UNKNOWN_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Sync for add_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sync for list_sitekeys","synthetic":true,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Sync for McaptchaConfig","synthetic":true,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Sync for Level","synthetic":true,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sync for view_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Sync for Sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Sync for Panel","synthetic":true,"types":["guard::pages::panel::routes::Panel"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["guard::pages::panel::IndexPage"]},{"text":"impl Sync for panel","synthetic":true,"types":["guard::pages::panel::panel"]},{"text":"impl Sync for Routes","synthetic":true,"types":["guard::pages::routes::Routes"]},{"text":"impl Sync for Methods","synthetic":true,"types":["guard::routes::Methods"]},{"text":"impl Sync for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Sync for FileMap","synthetic":true,"types":["guard::static_assets::filemap::FileMap"]},{"text":"impl Sync for Asset","synthetic":true,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl Sync for static_files","synthetic":true,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl Sync for Favicons","synthetic":true,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl Sync for favicons","synthetic":true,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl Sync for Stats","synthetic":true,"types":["guard::stats::fetch::Stats"]},{"text":"impl Sync for Widget","synthetic":true,"types":["guard::widget::routes::Widget"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["guard::widget::IndexPage"]},{"text":"impl Sync for INDEX_PAGE","synthetic":true,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl Sync for show_widget","synthetic":true,"types":["guard::widget::show_widget"]},{"text":"impl Sync for WidgetAssets","synthetic":true,"types":["guard::widget::WidgetAssets"]},{"text":"impl Sync for widget_assets","synthetic":true,"types":["guard::widget::widget_assets"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Sync for FILES","synthetic":true,"types":["guard::FILES"]},{"text":"impl Sync for JS","synthetic":true,"types":["guard::JS"]},{"text":"impl Sync for CSS","synthetic":true,"types":["guard::CSS"]},{"text":"impl Sync for MOBILE_CSS","synthetic":true,"types":["guard::MOBILE_CSS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Sync for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Sync for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Sync for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Sync for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Sync for Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Sync for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Sync for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Sync for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Sync for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Sync for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Sync for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Sync for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Sync for signup","synthetic":true,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl Sync for signin","synthetic":true,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl Sync for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Sync for Duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Sync for UpdateDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Sync for update_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Sync for GetDurationResp","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Sync for GetDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Sync for get_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Sync for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Sync for AddLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Sync for add_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Sync for UpdateLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Sync for update_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Sync for delete_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Sync for get_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Sync for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Sync for MCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Sync for MCaptchaID","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Sync for update_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Sync for get_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Sync for delete_mcaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Sync for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Sync for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Sync for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Sync for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Sync for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Sync for AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::Notification"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Sync for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Sync for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Sync for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Sync for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Sync for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Sync for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Sync for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Sync for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Sync for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Sync for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Sync for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Sync for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Sync for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Sync for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Sync for CheckLogin","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLogin"]},{"text":"impl<S> Sync for CheckLoginMiddleware<S> where S: Sync, ","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Sync for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Sync for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Sync for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sync for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Sync for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Sync for add_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sync for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Sync for McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Sync for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sync for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Sync for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Sync for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sync for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Sync for Methods","synthetic":true,"types":["mcaptcha::routes::Methods"]},{"text":"impl Sync for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Sync for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Sync for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Sync for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Sync for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Sync for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Sync for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Sync for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Sync for WidgetAssets","synthetic":true,"types":["mcaptcha::widget::WidgetAssets"]},{"text":"impl Sync for widget_assets","synthetic":true,"types":["mcaptcha::widget::widget_assets"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Sync for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Sync for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Sync for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Sync for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Sync for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl Sync for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Sync for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js
index 59fbdbe7..40efb88b 100644
--- a/implementors/core/marker/trait.Unpin.js
+++ b/implementors/core/marker/trait.Unpin.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Unpin for delete_account","synthetic":true,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl Unpin for Email","synthetic":true,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Unpin for email_exists","synthetic":true,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl Unpin for set_email","synthetic":true,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl Unpin for Secret","synthetic":true,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Unpin for get_secret","synthetic":true,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl Unpin for update_user_secret","synthetic":true,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl Unpin for username_exists","synthetic":true,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl Unpin for Account","synthetic":true,"types":["guard::api::v1::account::routes::Account"]},{"text":"impl Unpin for AccountCheckPayload","synthetic":true,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Unpin for AccountCheckResp","synthetic":true,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["guard::api::v1::auth::routes::Auth"]},{"text":"impl Unpin for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl Unpin for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl Unpin for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl Unpin for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl Unpin for Duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Unpin for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Unpin for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Unpin for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Unpin for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Unpin for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Unpin for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Unpin for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Unpin for UpdateLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Unpin for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Unpin for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Unpin for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Unpin for MCaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Unpin for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Unpin for update_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Unpin for get_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Unpin for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["guard::api::v1::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Unpin for BuildDetailsBuilder","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Unpin for BuildDetailsBuilderError","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for HealthBuilderError","synthetic":true,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Unpin for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl Unpin for AddNotification","synthetic":true,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["guard::api::v1::notifications::get::Notification"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl Unpin for get_notification","synthetic":true,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl Unpin for MarkReadReq","synthetic":true,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Unpin for mark_read","synthetic":true,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Unpin for Notifications","synthetic":true,"types":["guard::api::v1::notifications::routes::Notifications"]},{"text":"impl Unpin for GetConfigPayload","synthetic":true,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Unpin for get_config","synthetic":true,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl Unpin for ValidationToken","synthetic":true,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Unpin for verify_pow","synthetic":true,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Unpin for CaptchaValidateResp","synthetic":true,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Unpin for validate_captcha_token","synthetic":true,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Unpin for PoW","synthetic":true,"types":["guard::api::v1::pow::routes::PoW"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["guard::api::v1::routes::Routes"]},{"text":"impl Unpin for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl Unpin for Docs","synthetic":true,"types":["guard::docs::routes::Docs"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["guard::docs::Asset"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Unpin for PageError","synthetic":true,"types":["guard::errors::PageError"]},{"text":"impl Unpin for CheckLogin","synthetic":true,"types":["guard::middleware::auth::CheckLogin"]},{"text":"impl<S> Unpin for CheckLoginMiddleware<S> where S: Unpin, ","synthetic":true,"types":["guard::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl Unpin for login","synthetic":true,"types":["guard::pages::auth::login::login"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl Unpin for join","synthetic":true,"types":["guard::pages::auth::register::join"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["guard::pages::auth::routes::Auth"]},{"text":"impl Unpin for Errors","synthetic":true,"types":["guard::pages::errors::routes::Errors"]},{"text":"impl<'a> Unpin for ErrorPage<'a>","synthetic":true,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl Unpin for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Unpin for UNKNOWN_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Unpin for add_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Unpin for list_sitekeys","synthetic":true,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Unpin for McaptchaConfig","synthetic":true,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Unpin for Level","synthetic":true,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Unpin for view_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Unpin for Sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Unpin for Panel","synthetic":true,"types":["guard::pages::panel::routes::Panel"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["guard::pages::panel::IndexPage"]},{"text":"impl Unpin for panel","synthetic":true,"types":["guard::pages::panel::panel"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["guard::pages::routes::Routes"]},{"text":"impl Unpin for Methods","synthetic":true,"types":["guard::routes::Methods"]},{"text":"impl Unpin for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl Unpin for FileMap","synthetic":true,"types":["guard::static_assets::filemap::FileMap"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl Unpin for static_files","synthetic":true,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl Unpin for Favicons","synthetic":true,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl Unpin for favicons","synthetic":true,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["guard::stats::fetch::Stats"]},{"text":"impl Unpin for Widget","synthetic":true,"types":["guard::widget::routes::Widget"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["guard::widget::IndexPage"]},{"text":"impl Unpin for INDEX_PAGE","synthetic":true,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl Unpin for show_widget","synthetic":true,"types":["guard::widget::show_widget"]},{"text":"impl Unpin for WidgetAssets","synthetic":true,"types":["guard::widget::WidgetAssets"]},{"text":"impl Unpin for widget_assets","synthetic":true,"types":["guard::widget::widget_assets"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl Unpin for FILES","synthetic":true,"types":["guard::FILES"]},{"text":"impl Unpin for JS","synthetic":true,"types":["guard::JS"]},{"text":"impl Unpin for CSS","synthetic":true,"types":["guard::CSS"]},{"text":"impl Unpin for MOBILE_CSS","synthetic":true,"types":["guard::MOBILE_CSS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Unpin for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Unpin for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Unpin for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Unpin for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Unpin for Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Unpin for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Unpin for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Unpin for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Unpin for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Unpin for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Unpin for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Unpin for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Unpin for signup","synthetic":true,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl Unpin for signin","synthetic":true,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl Unpin for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Unpin for Duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl Unpin for UpdateDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Unpin for update_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl Unpin for GetDurationResp","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Unpin for GetDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Unpin for get_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl Unpin for AddLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Unpin for add_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl Unpin for UpdateLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Unpin for update_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl Unpin for delete_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl Unpin for get_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Unpin for MCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl Unpin for MCaptchaID","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Unpin for update_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl Unpin for get_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl Unpin for delete_mcaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Unpin for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Unpin for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Unpin for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Unpin for AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::Notification"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Unpin for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Unpin for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Unpin for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Unpin for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Unpin for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Unpin for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Unpin for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Unpin for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Unpin for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Unpin for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Unpin for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Unpin for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Unpin for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Unpin for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Unpin for CheckLogin","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLogin"]},{"text":"impl<S> Unpin for CheckLoginMiddleware<S> where S: Unpin, ","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Unpin for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Unpin for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Unpin for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Unpin for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Unpin for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Unpin for add_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Unpin for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Unpin for McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Unpin for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Unpin for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Unpin for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Unpin for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Unpin for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Unpin for Methods","synthetic":true,"types":["mcaptcha::routes::Methods"]},{"text":"impl Unpin for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Unpin for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Unpin for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Unpin for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Unpin for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Unpin for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Unpin for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Unpin for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Unpin for WidgetAssets","synthetic":true,"types":["mcaptcha::widget::WidgetAssets"]},{"text":"impl Unpin for widget_assets","synthetic":true,"types":["mcaptcha::widget::widget_assets"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Unpin for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Unpin for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Unpin for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Unpin for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Unpin for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl Unpin for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl Unpin for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js
index 7a7610f1..08663041 100644
--- a/implementors/core/ops/deref/trait.Deref.js
+++ b/implementors/core/ops/deref/trait.Deref.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Deref for INDEX","synthetic":false,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl Deref for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Deref for UNKNOWN_ERROR_BODY","synthetic":false,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl Deref for INDEX_PAGE","synthetic":false,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl Deref for SETTINGS","synthetic":false,"types":["guard::SETTINGS"]},{"text":"impl Deref for FILES","synthetic":false,"types":["guard::FILES"]},{"text":"impl Deref for JS","synthetic":false,"types":["guard::JS"]},{"text":"impl Deref for CSS","synthetic":false,"types":["guard::CSS"]},{"text":"impl Deref for MOBILE_CSS","synthetic":false,"types":["guard::MOBILE_CSS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Deref for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Deref for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Deref for UNKNOWN_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl Deref for INDEX_PAGE","synthetic":false,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Deref for SETTINGS","synthetic":false,"types":["mcaptcha::SETTINGS"]},{"text":"impl Deref for FILES","synthetic":false,"types":["mcaptcha::FILES"]},{"text":"impl Deref for JS","synthetic":false,"types":["mcaptcha::JS"]},{"text":"impl Deref for CSS","synthetic":false,"types":["mcaptcha::CSS"]},{"text":"impl Deref for MOBILE_CSS","synthetic":false,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Deref for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/lazy_static/trait.LazyStatic.js b/implementors/lazy_static/trait.LazyStatic.js
index d0b26cfa..00adc7e8 100644
--- a/implementors/lazy_static/trait.LazyStatic.js
+++ b/implementors/lazy_static/trait.LazyStatic.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl LazyStatic for INDEX","synthetic":false,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl LazyStatic for INDEX","synthetic":false,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl LazyStatic for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl LazyStatic for UNKNOWN_ERROR_BODY","synthetic":false,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl LazyStatic for INDEX","synthetic":false,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl LazyStatic for INDEX_PAGE","synthetic":false,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":["guard::SETTINGS"]},{"text":"impl LazyStatic for FILES","synthetic":false,"types":["guard::FILES"]},{"text":"impl LazyStatic for JS","synthetic":false,"types":["guard::JS"]},{"text":"impl LazyStatic for CSS","synthetic":false,"types":["guard::CSS"]},{"text":"impl LazyStatic for MOBILE_CSS","synthetic":false,"types":["guard::MOBILE_CSS"]},{"text":"impl LazyStatic for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl LazyStatic for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl LazyStatic for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl LazyStatic for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl LazyStatic for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl LazyStatic for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl LazyStatic for UNKNOWN_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl LazyStatic for INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl LazyStatic for INDEX_PAGE","synthetic":false,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":["mcaptcha::SETTINGS"]},{"text":"impl LazyStatic for FILES","synthetic":false,"types":["mcaptcha::FILES"]},{"text":"impl LazyStatic for JS","synthetic":false,"types":["mcaptcha::JS"]},{"text":"impl LazyStatic for CSS","synthetic":false,"types":["mcaptcha::CSS"]},{"text":"impl LazyStatic for MOBILE_CSS","synthetic":false,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl LazyStatic for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl LazyStatic for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl LazyStatic for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl LazyStatic for SETTINGS","synthetic":false,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/rust_embed/trait.RustEmbed.js b/implementors/rust_embed/trait.RustEmbed.js
index eac312d0..c7819a1a 100644
--- a/implementors/rust_embed/trait.RustEmbed.js
+++ b/implementors/rust_embed/trait.RustEmbed.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl RustEmbed for Asset","synthetic":false,"types":["guard::docs::Asset"]},{"text":"impl RustEmbed for Asset","synthetic":false,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl RustEmbed for Favicons","synthetic":false,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl RustEmbed for WidgetAssets","synthetic":false,"types":["guard::widget::WidgetAssets"]}];
+implementors["mcaptcha"] = [{"text":"impl RustEmbed for Asset","synthetic":false,"types":["mcaptcha::docs::Asset"]},{"text":"impl RustEmbed for Asset","synthetic":false,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl RustEmbed for Favicons","synthetic":false,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl RustEmbed for WidgetAssets","synthetic":false,"types":["mcaptcha::widget::WidgetAssets"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/sailfish/private/trait.Sealed.js b/implementors/sailfish/private/trait.Sealed.js
index 41133665..629cecd4 100644
--- a/implementors/sailfish/private/trait.Sealed.js
+++ b/implementors/sailfish/private/trait.Sealed.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Sealed for IndexPage","synthetic":false,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl<'a> Sealed for ErrorPage<'a>","synthetic":false,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["guard::pages::panel::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["guard::widget::IndexPage"]}];
+implementors["mcaptcha"] = [{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Sealed for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/sailfish/trait.TemplateOnce.js b/implementors/sailfish/trait.TemplateOnce.js
index d33d1831..5a960740 100644
--- a/implementors/sailfish/trait.TemplateOnce.js
+++ b/implementors/sailfish/trait.TemplateOnce.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl<'a> TemplateOnce for ErrorPage<'a>","synthetic":false,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["guard::pages::panel::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["guard::widget::IndexPage"]}];
+implementors["mcaptcha"] = [{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> TemplateOnce for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js
index e75a8303..afe02d6d 100644
--- a/implementors/serde/de/trait.Deserialize.js
+++ b/implementors/serde/de/trait.Deserialize.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl<'de> Deserialize<'de> for Email","synthetic":false,"types":["guard::api::v1::account::email::Email"]},{"text":"impl<'de> Deserialize<'de> for Secret","synthetic":false,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl<'de> Deserialize<'de> for AccountCheckPayload","synthetic":false,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl<'de> Deserialize<'de> for AccountCheckResp","synthetic":false,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl<'de> Deserialize<'de> for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl<'de> Deserialize<'de> for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl<'de> Deserialize<'de> for Password","synthetic":false,"types":["guard::api::v1::auth::Password"]},{"text":"impl<'de> Deserialize<'de> for UpdateDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl<'de> Deserialize<'de> for GetDurationResp","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl<'de> Deserialize<'de> for GetDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl<'de> Deserialize<'de> for AddLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl<'de> Deserialize<'de> for UpdateLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl<'de> Deserialize<'de> for Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl<'de> Deserialize<'de> for I32Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl<'de> Deserialize<'de> for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl<'de> Deserialize<'de> for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Deserialize<'static> for BuildDetails","synthetic":false,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl<'de> Deserialize<'de> for AddNotification","synthetic":false,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl<'de> Deserialize<'de> for NotificationResp","synthetic":false,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl<'de> Deserialize<'de> for MarkReadReq","synthetic":false,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl<'de> Deserialize<'de> for NotificationResp","synthetic":false,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl<'de> Deserialize<'de> for GetConfigPayload","synthetic":false,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl<'de> Deserialize<'de> for ValidationToken","synthetic":false,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl<'de> Deserialize<'de> for CaptchaValidateResp","synthetic":false,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["guard::errors::ErrorToResponse"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["guard::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":["guard::settings::Captcha"]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["guard::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["guard::settings::Settings"]},{"text":"impl<'de> Deserialize<'de> for Stats","synthetic":false,"types":["guard::stats::fetch::Stats"]}];
+implementors["mcaptcha"] = [{"text":"impl<'de> Deserialize<'de> for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl<'de> Deserialize<'de> for Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl<'de> Deserialize<'de> for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl<'de> Deserialize<'de> for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl<'de> Deserialize<'de> for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl<'de> Deserialize<'de> for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl<'de> Deserialize<'de> for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl<'de> Deserialize<'de> for UpdateDuration","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl<'de> Deserialize<'de> for GetDurationResp","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl<'de> Deserialize<'de> for GetDuration","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl<'de> Deserialize<'de> for AddLevels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl<'de> Deserialize<'de> for UpdateLevels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl<'de> Deserialize<'de> for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl<'de> Deserialize<'de> for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl<'de> Deserialize<'de> for MCaptchaID","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl<'de> Deserialize<'de> for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Deserialize<'static> for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl<'de> Deserialize<'de> for AddNotification","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl<'de> Deserialize<'de> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl<'de> Deserialize<'de> for MarkReadReq","synthetic":false,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl<'de> Deserialize<'de> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl<'de> Deserialize<'de> for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl<'de> Deserialize<'de> for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl<'de> Deserialize<'de> for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl<'de> Deserialize<'de> for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]}];
implementors["tests_migrate"] = [{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl<'de> Deserialize<'de> for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js
index a9d81665..82278fe0 100644
--- a/implementors/serde/ser/trait.Serialize.js
+++ b/implementors/serde/ser/trait.Serialize.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Serialize for Email","synthetic":false,"types":["guard::api::v1::account::email::Email"]},{"text":"impl Serialize for Secret","synthetic":false,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl Serialize for AccountCheckPayload","synthetic":false,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl Serialize for AccountCheckResp","synthetic":false,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl Serialize for Register","synthetic":false,"types":["guard::api::v1::auth::Register"]},{"text":"impl Serialize for Login","synthetic":false,"types":["guard::api::v1::auth::Login"]},{"text":"impl Serialize for Password","synthetic":false,"types":["guard::api::v1::auth::Password"]},{"text":"impl Serialize for UpdateDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Serialize for GetDurationResp","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Serialize for GetDuration","synthetic":false,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Serialize for AddLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Serialize for UpdateLevels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Serialize for Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Serialize for I32Levels","synthetic":false,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Serialize for MCaptchaID","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Serialize for MCaptchaDetails","synthetic":false,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Serialize for BuildDetails","synthetic":false,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl Serialize for Health","synthetic":false,"types":["guard::api::v1::meta::Health"]},{"text":"impl Serialize for AddNotification","synthetic":false,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl Serialize for NotificationResp","synthetic":false,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl Serialize for MarkReadReq","synthetic":false,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Serialize for NotificationResp","synthetic":false,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Serialize for GetConfigPayload","synthetic":false,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Serialize for ValidationToken","synthetic":false,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Serialize for CaptchaValidateResp","synthetic":false,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["guard::errors::ErrorToResponse"]},{"text":"impl Serialize for Stats","synthetic":false,"types":["guard::stats::fetch::Stats"]}];
+implementors["mcaptcha"] = [{"text":"impl Serialize for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Serialize for Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl Serialize for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Serialize for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Serialize for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl Serialize for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl Serialize for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl Serialize for UpdateDuration","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl Serialize for GetDurationResp","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl Serialize for GetDuration","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl Serialize for AddLevels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl Serialize for UpdateLevels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl Serialize for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl Serialize for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl Serialize for MCaptchaID","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl Serialize for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl Serialize for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Serialize for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Serialize for AddNotification","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Serialize for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Serialize for MarkReadReq","synthetic":false,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Serialize for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl Serialize for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Serialize for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Serialize for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Serialize for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/std/error/trait.Error.js b/implementors/std/error/trait.Error.js
index f25a403a..95565bca 100644
--- a/implementors/std/error/trait.Error.js
+++ b/implementors/std/error/trait.Error.js
@@ -1,3 +1,3 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl Error for BuildDetailsBuilderError","synthetic":false,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Error for HealthBuilderError","synthetic":false,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["guard::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["guard::errors::PageError"]}];
+implementors["mcaptcha"] = [{"text":"impl Error for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Error for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/std/panic/trait.RefUnwindSafe.js b/implementors/std/panic/trait.RefUnwindSafe.js
index ecfbdfc8..ecfb6228 100644
--- a/implementors/std/panic/trait.RefUnwindSafe.js
+++ b/implementors/std/panic/trait.RefUnwindSafe.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl RefUnwindSafe for Email","synthetic":true,"types":["guard::api::v1::account::email::Email"]},{"text":"impl RefUnwindSafe for email_exists","synthetic":true,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl RefUnwindSafe for set_email","synthetic":true,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl RefUnwindSafe for Secret","synthetic":true,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl RefUnwindSafe for get_secret","synthetic":true,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl RefUnwindSafe for update_user_secret","synthetic":true,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl RefUnwindSafe for username_exists","synthetic":true,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl RefUnwindSafe for Account","synthetic":true,"types":["guard::api::v1::account::routes::Account"]},{"text":"impl RefUnwindSafe for AccountCheckPayload","synthetic":true,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl RefUnwindSafe for AccountCheckResp","synthetic":true,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["guard::api::v1::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl RefUnwindSafe for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl RefUnwindSafe for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for Duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl RefUnwindSafe for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl RefUnwindSafe for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl RefUnwindSafe for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl RefUnwindSafe for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl RefUnwindSafe for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl RefUnwindSafe for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl RefUnwindSafe for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl RefUnwindSafe for UpdateLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl RefUnwindSafe for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl RefUnwindSafe for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl RefUnwindSafe for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl RefUnwindSafe for MCaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl RefUnwindSafe for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for update_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl RefUnwindSafe for get_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl RefUnwindSafe for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["guard::api::v1::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for HealthBuilderError","synthetic":true,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for AddNotification","synthetic":true,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["guard::api::v1::notifications::get::Notification"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl RefUnwindSafe for get_notification","synthetic":true,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl RefUnwindSafe for MarkReadReq","synthetic":true,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl RefUnwindSafe for mark_read","synthetic":true,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl RefUnwindSafe for Notifications","synthetic":true,"types":["guard::api::v1::notifications::routes::Notifications"]},{"text":"impl RefUnwindSafe for GetConfigPayload","synthetic":true,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl RefUnwindSafe for get_config","synthetic":true,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl RefUnwindSafe for ValidationToken","synthetic":true,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl RefUnwindSafe for verify_pow","synthetic":true,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl RefUnwindSafe for CaptchaValidateResp","synthetic":true,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl RefUnwindSafe for validate_captcha_token","synthetic":true,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl RefUnwindSafe for PoW","synthetic":true,"types":["guard::api::v1::pow::routes::PoW"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["guard::api::v1::routes::Routes"]},{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl RefUnwindSafe for Docs","synthetic":true,"types":["guard::docs::routes::Docs"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["guard::docs::Asset"]},{"text":"impl RefUnwindSafe for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for PageError","synthetic":true,"types":["guard::errors::PageError"]},{"text":"impl RefUnwindSafe for CheckLogin","synthetic":true,"types":["guard::middleware::auth::CheckLogin"]},{"text":"impl<S> RefUnwindSafe for CheckLoginMiddleware<S> where S: RefUnwindSafe, ","synthetic":true,"types":["guard::middleware::auth::CheckLoginMiddleware"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["guard::pages::auth::login::login"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl RefUnwindSafe for join","synthetic":true,"types":["guard::pages::auth::register::join"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["guard::pages::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Errors","synthetic":true,"types":["guard::pages::errors::routes::Errors"]},{"text":"impl<'a> RefUnwindSafe for ErrorPage<'a>","synthetic":true,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl RefUnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl RefUnwindSafe for add_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl RefUnwindSafe for list_sitekeys","synthetic":true,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl RefUnwindSafe for McaptchaConfig","synthetic":true,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl RefUnwindSafe for Level","synthetic":true,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl RefUnwindSafe for view_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl RefUnwindSafe for Sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl RefUnwindSafe for Panel","synthetic":true,"types":["guard::pages::panel::routes::Panel"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::panel::IndexPage"]},{"text":"impl RefUnwindSafe for panel","synthetic":true,"types":["guard::pages::panel::panel"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["guard::pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Methods","synthetic":true,"types":["guard::routes::Methods"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl RefUnwindSafe for FileMap","synthetic":true,"types":["guard::static_assets::filemap::FileMap"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl RefUnwindSafe for static_files","synthetic":true,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl RefUnwindSafe for Favicons","synthetic":true,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl RefUnwindSafe for favicons","synthetic":true,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["guard::stats::fetch::Stats"]},{"text":"impl RefUnwindSafe for Widget","synthetic":true,"types":["guard::widget::routes::Widget"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["guard::widget::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX_PAGE","synthetic":true,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl RefUnwindSafe for show_widget","synthetic":true,"types":["guard::widget::show_widget"]},{"text":"impl RefUnwindSafe for WidgetAssets","synthetic":true,"types":["guard::widget::WidgetAssets"]},{"text":"impl RefUnwindSafe for widget_assets","synthetic":true,"types":["guard::widget::widget_assets"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl RefUnwindSafe for FILES","synthetic":true,"types":["guard::FILES"]},{"text":"impl RefUnwindSafe for JS","synthetic":true,"types":["guard::JS"]},{"text":"impl RefUnwindSafe for CSS","synthetic":true,"types":["guard::CSS"]},{"text":"impl RefUnwindSafe for MOBILE_CSS","synthetic":true,"types":["guard::MOBILE_CSS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl RefUnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl RefUnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl RefUnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl RefUnwindSafe for Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl RefUnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl RefUnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl RefUnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl RefUnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl RefUnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl RefUnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl RefUnwindSafe for signup","synthetic":true,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl RefUnwindSafe for signin","synthetic":true,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for Duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl RefUnwindSafe for UpdateDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl RefUnwindSafe for update_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl RefUnwindSafe for GetDurationResp","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl RefUnwindSafe for GetDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl RefUnwindSafe for get_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl RefUnwindSafe for AddLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl RefUnwindSafe for add_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl RefUnwindSafe for UpdateLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl RefUnwindSafe for update_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl RefUnwindSafe for delete_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl RefUnwindSafe for get_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl RefUnwindSafe for MCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl RefUnwindSafe for MCaptchaID","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for update_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl RefUnwindSafe for get_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl RefUnwindSafe for delete_mcaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::Notification"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl RefUnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl RefUnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl RefUnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl RefUnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl RefUnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl RefUnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl RefUnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl RefUnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl RefUnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl RefUnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl RefUnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl RefUnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl RefUnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl RefUnwindSafe for CheckLogin","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLogin"]},{"text":"impl<S> RefUnwindSafe for CheckLoginMiddleware<S> where S: RefUnwindSafe, ","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl RefUnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> RefUnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl RefUnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl RefUnwindSafe for add_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl RefUnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl RefUnwindSafe for McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl RefUnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl RefUnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl RefUnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl RefUnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl RefUnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Methods","synthetic":true,"types":["mcaptcha::routes::Methods"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl RefUnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl RefUnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl RefUnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl RefUnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl RefUnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl RefUnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl RefUnwindSafe for WidgetAssets","synthetic":true,"types":["mcaptcha::widget::WidgetAssets"]},{"text":"impl RefUnwindSafe for widget_assets","synthetic":true,"types":["mcaptcha::widget::widget_assets"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl RefUnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl RefUnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl RefUnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl RefUnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/std/panic/trait.UnwindSafe.js b/implementors/std/panic/trait.UnwindSafe.js
index 6c5f9a1f..a4d40404 100644
--- a/implementors/std/panic/trait.UnwindSafe.js
+++ b/implementors/std/panic/trait.UnwindSafe.js
@@ -1,4 +1,4 @@
(function() {var implementors = {};
-implementors["guard"] = [{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["guard::api::v1::account::delete::delete_account"]},{"text":"impl UnwindSafe for Email","synthetic":true,"types":["guard::api::v1::account::email::Email"]},{"text":"impl UnwindSafe for email_exists","synthetic":true,"types":["guard::api::v1::account::email::email_exists"]},{"text":"impl UnwindSafe for set_email","synthetic":true,"types":["guard::api::v1::account::email::set_email"]},{"text":"impl UnwindSafe for Secret","synthetic":true,"types":["guard::api::v1::account::secret::Secret"]},{"text":"impl UnwindSafe for get_secret","synthetic":true,"types":["guard::api::v1::account::secret::get_secret"]},{"text":"impl UnwindSafe for update_user_secret","synthetic":true,"types":["guard::api::v1::account::secret::update_user_secret"]},{"text":"impl UnwindSafe for username_exists","synthetic":true,"types":["guard::api::v1::account::username::username_exists"]},{"text":"impl UnwindSafe for Account","synthetic":true,"types":["guard::api::v1::account::routes::Account"]},{"text":"impl UnwindSafe for AccountCheckPayload","synthetic":true,"types":["guard::api::v1::account::AccountCheckPayload"]},{"text":"impl UnwindSafe for AccountCheckResp","synthetic":true,"types":["guard::api::v1::account::AccountCheckResp"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["guard::api::v1::auth::routes::Auth"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["guard::api::v1::auth::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["guard::api::v1::auth::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["guard::api::v1::auth::Password"]},{"text":"impl UnwindSafe for signup","synthetic":true,"types":["guard::api::v1::auth::signup"]},{"text":"impl UnwindSafe for signin","synthetic":true,"types":["guard::api::v1::auth::signin"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["guard::api::v1::auth::signout"]},{"text":"impl UnwindSafe for Duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl UnwindSafe for UpdateDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl UnwindSafe for update_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl UnwindSafe for GetDurationResp","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl UnwindSafe for GetDuration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl UnwindSafe for get_duration","synthetic":true,"types":["guard::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl UnwindSafe for AddLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl UnwindSafe for add_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl UnwindSafe for UpdateLevels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl UnwindSafe for update_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl UnwindSafe for delete_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl UnwindSafe for get_levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["guard::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl UnwindSafe for MCaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl UnwindSafe for MCaptchaID","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl UnwindSafe for update_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl UnwindSafe for get_token","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl UnwindSafe for delete_mcaptcha","synthetic":true,"types":["guard::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["guard::api::v1::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["guard::api::v1::meta::BuildDetails"]},{"text":"impl UnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl UnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["guard::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["guard::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["guard::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["guard::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for HealthBuilderError","synthetic":true,"types":["guard::api::v1::meta::HealthBuilderError"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["guard::api::v1::meta::health"]},{"text":"impl UnwindSafe for AddNotification","synthetic":true,"types":["guard::api::v1::notifications::add::AddNotification"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["guard::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["guard::api::v1::notifications::get::Notification"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::get::NotificationResp"]},{"text":"impl UnwindSafe for get_notification","synthetic":true,"types":["guard::api::v1::notifications::get::get_notification"]},{"text":"impl UnwindSafe for MarkReadReq","synthetic":true,"types":["guard::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["guard::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl UnwindSafe for mark_read","synthetic":true,"types":["guard::api::v1::notifications::mark_read::mark_read"]},{"text":"impl UnwindSafe for Notifications","synthetic":true,"types":["guard::api::v1::notifications::routes::Notifications"]},{"text":"impl UnwindSafe for GetConfigPayload","synthetic":true,"types":["guard::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl UnwindSafe for get_config","synthetic":true,"types":["guard::api::v1::pow::get_config::get_config"]},{"text":"impl UnwindSafe for ValidationToken","synthetic":true,"types":["guard::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl UnwindSafe for verify_pow","synthetic":true,"types":["guard::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl UnwindSafe for CaptchaValidateResp","synthetic":true,"types":["guard::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl UnwindSafe for validate_captcha_token","synthetic":true,"types":["guard::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl UnwindSafe for PoW","synthetic":true,"types":["guard::api::v1::pow::routes::PoW"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["guard::api::v1::routes::Routes"]},{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["guard::data::Data"]},{"text":"impl UnwindSafe for Docs","synthetic":true,"types":["guard::docs::routes::Docs"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["guard::docs::Asset"]},{"text":"impl UnwindSafe for ServiceError","synthetic":true,"types":["guard::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["guard::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for PageError","synthetic":true,"types":["guard::errors::PageError"]},{"text":"impl UnwindSafe for CheckLogin","synthetic":true,"types":["guard::middleware::auth::CheckLogin"]},{"text":"impl<S> UnwindSafe for CheckLoginMiddleware<S> where S: UnwindSafe, ","synthetic":true,"types":["guard::middleware::auth::CheckLoginMiddleware"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::auth::login::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["guard::pages::auth::login::INDEX"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["guard::pages::auth::login::login"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::auth::register::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["guard::pages::auth::register::INDEX"]},{"text":"impl UnwindSafe for join","synthetic":true,"types":["guard::pages::auth::register::join"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["guard::pages::auth::routes::Auth"]},{"text":"impl UnwindSafe for Errors","synthetic":true,"types":["guard::pages::errors::routes::Errors"]},{"text":"impl<'a> UnwindSafe for ErrorPage<'a>","synthetic":true,"types":["guard::pages::errors::ErrorPage"]},{"text":"impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl UnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["guard::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["guard::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["guard::pages::panel::sitekey::add::IndexPage"]},{"text":"impl UnwindSafe for add_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::list::IndexPage"]},{"text":"impl UnwindSafe for list_sitekeys","synthetic":true,"types":["guard::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl UnwindSafe for McaptchaConfig","synthetic":true,"types":["guard::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl UnwindSafe for Level","synthetic":true,"types":["guard::pages::panel::sitekey::view::Level"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::panel::sitekey::view::IndexPage"]},{"text":"impl UnwindSafe for view_sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl UnwindSafe for Sitekey","synthetic":true,"types":["guard::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl UnwindSafe for Panel","synthetic":true,"types":["guard::pages::panel::routes::Panel"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["guard::pages::panel::IndexPage"]},{"text":"impl UnwindSafe for panel","synthetic":true,"types":["guard::pages::panel::panel"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["guard::pages::routes::Routes"]},{"text":"impl UnwindSafe for Methods","synthetic":true,"types":["guard::routes::Methods"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["guard::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["guard::settings::Captcha"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["guard::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["guard::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["guard::settings::Settings"]},{"text":"impl UnwindSafe for FileMap","synthetic":true,"types":["guard::static_assets::filemap::FileMap"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["guard::static_assets::static_files::Asset"]},{"text":"impl UnwindSafe for static_files","synthetic":true,"types":["guard::static_assets::static_files::static_files"]},{"text":"impl UnwindSafe for Favicons","synthetic":true,"types":["guard::static_assets::static_files::Favicons"]},{"text":"impl UnwindSafe for favicons","synthetic":true,"types":["guard::static_assets::static_files::favicons"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["guard::stats::fetch::Stats"]},{"text":"impl UnwindSafe for Widget","synthetic":true,"types":["guard::widget::routes::Widget"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["guard::widget::IndexPage"]},{"text":"impl UnwindSafe for INDEX_PAGE","synthetic":true,"types":["guard::widget::INDEX_PAGE"]},{"text":"impl UnwindSafe for show_widget","synthetic":true,"types":["guard::widget::show_widget"]},{"text":"impl UnwindSafe for WidgetAssets","synthetic":true,"types":["guard::widget::WidgetAssets"]},{"text":"impl UnwindSafe for widget_assets","synthetic":true,"types":["guard::widget::widget_assets"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["guard::SETTINGS"]},{"text":"impl UnwindSafe for FILES","synthetic":true,"types":["guard::FILES"]},{"text":"impl UnwindSafe for JS","synthetic":true,"types":["guard::JS"]},{"text":"impl UnwindSafe for CSS","synthetic":true,"types":["guard::CSS"]},{"text":"impl UnwindSafe for MOBILE_CSS","synthetic":true,"types":["guard::MOBILE_CSS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_JS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["guard::VERIFICATIN_WIDGET_CSS"]},{"text":"impl UnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["guard::SOURCE_FILES_OF_INSTANCE"]}];
+implementors["mcaptcha"] = [{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl UnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl UnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl UnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl UnwindSafe for Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"text":"impl UnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl UnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl UnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl UnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl UnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl UnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::Password"]},{"text":"impl UnwindSafe for signup","synthetic":true,"types":["mcaptcha::api::v1::auth::signup"]},{"text":"impl UnwindSafe for signin","synthetic":true,"types":["mcaptcha::api::v1::auth::signin"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl UnwindSafe for Duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::routes::Duration"]},{"text":"impl UnwindSafe for UpdateDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::UpdateDuration"]},{"text":"impl UnwindSafe for update_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::update_duration"]},{"text":"impl UnwindSafe for GetDurationResp","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDurationResp"]},{"text":"impl UnwindSafe for GetDuration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::GetDuration"]},{"text":"impl UnwindSafe for get_duration","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::duration::get_duration"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::routes::Levels"]},{"text":"impl UnwindSafe for AddLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::AddLevels"]},{"text":"impl UnwindSafe for add_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::add_levels"]},{"text":"impl UnwindSafe for UpdateLevels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::UpdateLevels"]},{"text":"impl UnwindSafe for update_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::update_levels"]},{"text":"impl UnwindSafe for delete_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::delete_levels"]},{"text":"impl UnwindSafe for get_levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::get_levels"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::levels::I32Levels"]},{"text":"impl UnwindSafe for MCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::routes::MCaptcha"]},{"text":"impl UnwindSafe for MCaptchaID","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaID"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::MCaptchaDetails"]},{"text":"impl UnwindSafe for update_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::update_token"]},{"text":"impl UnwindSafe for get_token","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::get_token"]},{"text":"impl UnwindSafe for delete_mcaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::mcaptcha::delete_mcaptcha"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl UnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl UnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl UnwindSafe for AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::Notification"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl UnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl UnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"text":"impl UnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl UnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl UnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl UnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl UnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl UnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl UnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl UnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl UnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl UnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl UnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl UnwindSafe for CheckLogin","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLogin"]},{"text":"impl<S> UnwindSafe for CheckLoginMiddleware<S> where S: UnwindSafe, ","synthetic":true,"types":["mcaptcha::middleware::auth::CheckLoginMiddleware"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl UnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl UnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> UnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl UnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::INDEX"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::IndexPage"]},{"text":"impl UnwindSafe for add_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::add_sitekey"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl UnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl UnwindSafe for McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl UnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl UnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl UnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl UnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl UnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl UnwindSafe for Methods","synthetic":true,"types":["mcaptcha::routes::Methods"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl UnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl UnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl UnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl UnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl UnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl UnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl UnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl UnwindSafe for WidgetAssets","synthetic":true,"types":["mcaptcha::widget::WidgetAssets"]},{"text":"impl UnwindSafe for widget_assets","synthetic":true,"types":["mcaptcha::widget::widget_assets"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl UnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl UnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl UnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl UnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl UnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}];
implementors["tests_migrate"] = [{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["tests_migrate::data::Data"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/guard/all.html b/mcaptcha/all.html
similarity index 95%
rename from guard/all.html
rename to mcaptcha/all.html
index 2351b8f8..2ab7f93c 100644
--- a/guard/all.html
+++ b/mcaptcha/all.html
@@ -1,7 +1,7 @@
List of all items in this crate
-