From cd7890b9d64bfbc5651266beae931e2162f70c75 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 5 Nov 2023 03:41:30 +0000
Subject: [PATCH] Update rustdoc 2023-11-05
f327b02c8001129e619fb253ab9b6d550e229a48
---
doc/hydroflow_lang/diagnostic/struct.Diagnostic.html | 4 ++--
doc/hydroflow_lang/graph/struct.DiMulGraph.html | 4 ++--
doc/implementors/core/clone/trait.Clone.js | 2 +-
doc/implementors/core/cmp/trait.Eq.js | 2 +-
doc/implementors/core/cmp/trait.Ord.js | 2 +-
doc/implementors/core/cmp/trait.PartialEq.js | 2 +-
doc/implementors/core/cmp/trait.PartialOrd.js | 2 +-
doc/implementors/core/convert/trait.From.js | 2 +-
doc/implementors/core/default/trait.Default.js | 2 +-
doc/implementors/core/fmt/trait.Debug.js | 2 +-
doc/implementors/core/fmt/trait.Display.js | 2 +-
doc/implementors/core/hash/trait.Hash.js | 2 +-
doc/implementors/core/marker/trait.Copy.js | 2 +-
doc/implementors/core/marker/trait.StructuralEq.js | 2 +-
doc/implementors/core/marker/trait.StructuralPartialEq.js | 2 +-
doc/implementors/quote/to_tokens/trait.ToTokens.js | 2 +-
doc/implementors/serde/de/trait.Deserialize.js | 2 +-
doc/implementors/serde/ser/trait.Serialize.js | 2 +-
doc/implementors/slotmap/trait.Key.js | 2 +-
doc/implementors/syn/parse/trait.Parse.js | 2 +-
doc/search-index.js | 2 +-
21 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/doc/hydroflow_lang/diagnostic/struct.Diagnostic.html b/doc/hydroflow_lang/diagnostic/struct.Diagnostic.html
index 7ad04c301b5c..e76ccf903b64 100644
--- a/doc/hydroflow_lang/diagnostic/struct.Diagnostic.html
+++ b/doc/hydroflow_lang/diagnostic/struct.Diagnostic.html
@@ -18,9 +18,9 @@
Converts this into a serializable and deserializable Diagnostic. Span information is
converted into pub fn to_serde(&self) -> Diagnostic<SerdeSpan>
SerdeSpan
which keeps the span info but cannot be plugged into or
emitted through the Rust compiler’s diagnostic system.
source
. Read moresource
. Read moreU::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,0,0,0,0,0,0,0,0,7,14,3,15,0,0,0,0,19,7,14,3,15,0,7,14,3,15,22,0,1,0,0,0,19,22,0,7,14,3,15,0,7,14,3,15,7,14,3,15,1,3,16,18,29,34,21,7,14,3,1,15,23,16,18,29,34,21,7,14,3,1,15,23,7,3,7,3,1,7,3,7,14,3,1,15,16,18,29,34,21,7,14,14,3,1,15,23,9,16,18,21,16,18,29,34,21,7,14,3,1,15,23,19,16,18,22,16,21,18,23,23,29,34,23,7,3,15,23,7,3,16,18,29,34,21,7,14,3,1,15,23,16,18,29,34,21,7,14,3,1,15,23,29,34,16,18,29,34,21,7,14,3,1,15,23],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,[[6,[[5,[4]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,7],[3,3],[[-1,-2],8,[],[]],[[-1,-2],8,[],[]],[1,-1,9],[-1,[[10,[7]]],11],[-1,[[10,[3]]],11],[[7,12],13],[[14,12],13],[[3,12],13],[[1,12],13],[[15,12],13],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[7,14],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],[]],[16,17],[[[18,[-1]]],[],19],[-1,[],[]],[16,20],[[[21,[-1]]],[],22],0,[[[6,[[23,[-1,-2]]]],24],[[25,[[10,[8]]]]],[],[[26,[-1]],27,28]],[[[6,[[23,[-1,-2]]]],24],[[25,[[10,[8]]]]],[],[[26,[-1]],27,28]],[[[6,[[29,[-1,-2]]]],24],[[25,[30]]],31,[32,27,28,33]],[[[6,[[34,[-1,-2]]]],24],[[25,[30]]],31,[32,27,28,33]],[[[6,[[23,[-1,-2]]]],24],[[25,[[10,[8]]]]],[],[[26,[-1]],27,28]],[[7,-1],10,35],[[3,-1],10,35],[15,7],[[[6,[[23,[-1,-2]]]],[8,[36,-1]]],[[10,[8]]],[],[[26,[-1]],27,28]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[[6,[-1]],24],[[25,[[30,[10]]]]],[]],[[[6,[-1]],24],[[25,[[30,[10]]]]],[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]],[-1,37,[]]],"c":[],"p":[[4,"ServerOrBound",0],[3,"TcpStream",165],[4,"ServerBindConfig",0],[8,"Future",166],[3,"Box",167],[3,"Pin",168],[4,"ServerPort",0],[15,"tuple"],[8,"Connected",0],[4,"Result",169],[8,"Deserializer",170],[3,"Formatter",171],[6,"Result",171],[4,"RealizedServerPort",0],[4,"BoundConnection",0],[3,"ConnectedDirect",0],[6,"DynSink",0],[3,"ConnectedDemux",0],[8,"ConnectedSink",0],[6,"DynStream",0],[3,"ConnectedTagged",0],[8,"ConnectedSource",0],[3,"DemuxDrain",0],[3,"Context",172],[4,"Poll",173],[8,"Sink",174],[8,"Send",175],[8,"Sync",175],[3,"MergeSource",0],[4,"Option",176],[8,"Unpin",175],[8,"Stream",177],[8,"Sized",175],[3,"TaggedSource",0],[8,"Serializer",178],[15,"u32"],[3,"TypeId",179]],"b":[]},\
"hydroflow_datalog":{"doc":"","t":"O","n":["datalog"],"q":[[0,"hydroflow_datalog"]],"d":["Generate a Hydroflow instance from Datalog code."],"i":[0],"f":[0],"c":[],"p":[],"b":[]},\
"hydroflow_datalog_core":{"doc":"","t":"FFFF","n":["gen_hydroflow_graph","hydroflow_graph_to_program","parse_pipeline","parse_static"],"q":[[0,"hydroflow_datalog_core"],[4,"proc_macro2"],[5,"hydroflow_lang::graph::hydroflow_graph"],[6,"hydroflow_lang::diagnostic"],[7,"alloc::vec"],[8,"core::result"],[9,"proc_macro2"],[10,"rust_sitter"],[11,"hydroflow_lang::parse"],[12,"core::ops::function"],[13,"syn::expr"]],"d":["","","",""],"i":[0,0,0,0],"f":[[1,[[5,[2,[4,[3]]]]]],[[2,6],6],[[[8,[7]],-1],[[5,[9,[4,[3]]]]],10],[[[8,[7]],-1],[[5,[11,[4,[3]]]]],10]],"c":[],"p":[[3,"Literal",4],[3,"HydroflowGraph",5],[3,"Diagnostic",6],[3,"Vec",7],[4,"Result",8],[3,"TokenStream",4],[3,"String",9],[3,"Spanned",10],[4,"Pipeline",11],[8,"Fn",12],[4,"Expr",13]],"b":[]},\
-"hydroflow_lang":{"doc":"Hydroflow surface syntax","t":"AAAAADNNENDNLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMMLMLLLMLLLLLLLLLLLLLLLLLENNNDNNDDDDDNNDNENNEDNDNENNDELMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMFALLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLMMMMLFLLLLLLLLLLLLLLMMLLLAMLLLLLLLFMLLLALLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMFFFNNENNNDGNRRNRNNNNNRREDDENERRRINNNNNNNNDGLLLLLLLLLLLLLLLLMLLLLLLLLLLLKMLLLKLLLFFMMMLLLLLLLLLLLLMMLLMMFMMLLLLLLLLMMLLMLMFMMMMMMMFMLLLMMMMLMMKMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMMMMFDEDNDDNNNNNDDNNNENDDDEDNLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLMLMLMMMMLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMDDLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLL","n":["diagnostic","graph","parse","pretty_span","union_find","Diagnostic","Error","Help","Level","Note","SerdeSpan","Warning","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","column","deserialize","deserialize","deserialize","emit","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","into","into","into","is_error","is_error","level","line","message","partial_cmp","path","serialize","serialize","serialize","span","spanned","to_owned","to_owned","to_owned","to_serde","to_string","to_string","to_tokens","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","Color","Comp","Cumul","Delta","DiMulGraph","Dot","Elided","FlatGraphBuilder","FlowProps","GraphEdgeId","GraphNodeId","GraphSubgraphId","Handoff","Hoff","HydroflowGraph","Int","LatticeFlowType","Mermaid","ModuleBoundary","Node","OpInstGenerics","Operator","OperatorInstance","Path","PortIndexValue","Pull","Push","WriteConfig","WriteGraphType","add_statement","arguments","as_code","as_error_message_string","assert_valid","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build_hfcode","can_downcast","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","combine","command","command_for_update","data","data","data","default","default","default","default","default","default","default","default","degree_in","degree_out","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","edge","edge","edge_flow_props","edge_ids","edge_ids","edge_ports","edges","edges","eliminate_extra_unions_tees","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_hfcode","from_hfmodule","from_ported","generic_args","generics","get_operator_generics","graph_algorithms","group_id","has_subcommand","hash","hash","hash","hash","hash","input_ports","insert_edge","insert_edge","insert_intermediate_node","insert_intermediate_vertex","insert_node","insert_node_op_inst","insert_node_op_insts_all","insert_subgraph","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_specified","lattice_flow_type","max_stratum","merge_modules","mermaid_string_flat","new","new","new","no_handoffs","no_pull_push","no_subgraphs","no_varnames","node","node_color","node_color_map","node_degree_in","node_degree_out","node_ids","node_op_inst","node_predecessor_edges","node_predecessor_nodes","node_predecessors","node_subgraph","node_successor_edges","node_successor_nodes","node_successors","node_varname","nodes","op_constraints","op_short_text","open_dot","open_graph","open_mermaid","ops","output_ports","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partition_graph","persistence_args","predecessor_edges","predecessor_vertices","predecessors","propegate_flow_props","remove_edge","remove_from_subgraph","remove_intermediate_node","remove_intermediate_vertex","remove_vertex","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_edge_flow_props","set_subgraph_laziness","set_subgraph_stratum","span","span","star_ord","subgraph","subgraph_ids","subgraph_stratum","subgraphs","successor_edges","successor_vertices","successors","surface_syntax_string","to_dot","to_mermaid","to_name_string","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_possible_value","to_pretty_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_args","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","value_variants","with_capacity","write_dot","write_graph","write_mermaid","write_mermaid_flat","write_surface_syntax","dst_span","import_expr","input","src_span","scc_kosaraju","topo_sort","topo_sort_scc","CompilerFusionOperator","Control","DelayType","Filter","Fixed","Flatten","FlowPropArgs","FlowPropFn","Fold","IDENTITY_WRITE_FN","JOIN_CROSS_JOIN_FLOW_PROP_FN","KeyedFold","LATTICE_FOLD_REDUCE_FLOW_PROP_FN","LatticeFold","Map","MultiIn","MultiOut","Mutable","NULL_WRITE_FN","OPERATORS","OperatorCategory","OperatorConstraints","OperatorWriteOutput","Persistence","Persistence","PortListSpec","RANGE_0","RANGE_1","RANGE_ANY","RangeTrait","Sink","Source","Static","Stratum","Tick","Tick","TickLazy","Variadic","WriteContextArgs","WriteFn","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","categories","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","contains","context","default","description","deserialize","end_bound","eq","eq","eq","find_node_op_constraints","find_op_op_constraints","flow_prop_fn","flow_props_in","flow_props_in","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hard_range_inn","hard_range_out","hash","human_string","hydroflow","ident","identity_write_iterator_fn","input_delaytype_fn","inputs","into","into","into","into","into","into","into","into","is_external_input","is_pull","make_ident","name","name","new_star_ord","node_id","null_write_iterator_fn","num_args","op_inst","op_inst","op_name","op_name","op_span","op_span","operator_lookup","outputs","partial_cmp","partial_cmp","partial_cmp","persistence_args","ports_inn","ports_out","root","serialize","soft_range_inn","soft_range_out","start_bound","subgraph_id","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_args","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","wrap_check_func_arg","write_fn","write_iterator","write_iterator_after","write_prologue","propegate_flow_props","HfCode","HfStatement","Import","Import","IndexInt","Indexing","Int","Link","ModuleBoundary","Name","Named","NamedHfStatement","Operator","Operator","Paren","Path","Pipeline","Pipeline","PipelineLink","PipelineParen","PipelineStatement","PortIndex","Ported","Use","args","args","arrow","bang","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bracket_token","clone","clone","clone","clone_into","clone_into","clone_into","cmp","eq","equals","filename","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","hash","import","index","inn","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","lhs","name","name","name_string","out","paren_token","paren_token","paren_token","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","partial_cmp","path","pipeline","pipeline","pipeline","rhs","semi_token","semi_token","span","span","span","span","span","span","span","span","span","span","span","span","span","span","statements","to_owned","to_owned","to_owned","to_pretty_string","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_arguments","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value","PrettyRowCol","PrettySpan","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","from","from","into","into","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","UnionFind","borrow","borrow_mut","clone","clone_into","default","find","from","into","new","same_set","to_owned","try_from","try_into","type_id","union","with_capacity"],"q":[[0,"hydroflow_lang"],[5,"hydroflow_lang::diagnostic"],[74,"hydroflow_lang::graph"],[451,"hydroflow_lang::graph::Node"],[455,"hydroflow_lang::graph::graph_algorithms"],[458,"hydroflow_lang::graph::ops"],[632,"hydroflow_lang::graph::propegate_flow_props"],[633,"hydroflow_lang::parse"],[840,"hydroflow_lang::pretty_span"],[860,"hydroflow_lang::union_find"],[877,"core::clone"],[878,"core::cmp"],[879,"core::result"],[880,"serde::de"],[881,"serde::de"],[882,"core::fmt"],[883,"proc_macro2"],[884,"core::hash"],[885,"core::option"],[886,"serde::ser"],[887,"serde::ser"],[888,"core::convert"],[889,"proc_macro2"],[890,"alloc::vec"],[891,"slotmap"],[892,"clap_builder::builder::command"],[893,"syn::item"],[894,"std::path"],[895,"slotmap"],[896,"core::iter::traits::exact_size"],[897,"core::iter::traits::marker"],[898,"slotmap::basic"],[899,"clap_builder"],[900,"syn::spanned"],[901,"clap_builder::util::id"],[902,"proc_macro2"],[903,"core::iter::traits::double_ended"],[904,"slotmap::basic"],[905,"core::slice::iter"],[906,"core::iter::adapters::copied"],[907,"alloc::borrow"],[908,"clap_builder::builder::possible_value"],[909,"core::fmt"],[910,"core::iter::traits::collect"],[911,"core::ops::function"],[912,"core::marker"],[913,"core::cmp"],[914,"core::convert"],[915,"syn::expr"],[916,"syn::token"],[917,"syn::punctuated"],[918,"syn::path"],[919,"syn::parse"],[920,"syn::error"],[921,"syn::path"]],"d":["Compatibility for proc_macro
diagnostics, which are …","Graph representation stages for Hydroflow graphs.","AST for surface syntax, modelled on syn
’s ASTs.","Pretty, human-readable printing of proc_macro2::Span
s.","Union-find data structure, see UnionFind
.","Diagnostic. A warning or error (or lower Level
) with a …","An error.","A help message.","Diagnostic reporting level.","A note.","A serializable and deserializable version of Span
. Cannot …","A warning.","","","","","","","","","","","","","","Column number, one-indexed.","","","","Emit the diagnostic. Only works from the proc_macro
…","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","If this level is Level::Error
.","If this diagnostic’s level is Level::Error
.","Severity level.","Line number, one-indexed.","Human-readable message.","","The source file path.","","","","Span (source code location).","Create a new diagnostic from the given span, level, and …","","","","Converts this into a serializable and deserializable …","","","Used to emulate Diagnostic::emit
by turning this …","","","","","","","","","","Push, Pull, Comp, or Hoff polarity.","Computation (yellow)","Cumulative: Each element must be greater than or equal to …","Delta: Elements are (generally) disjoint, each new element …","A directed multigraph where an vertex’s inbound and …","Dot (Graphviz) graphs.","Elided, unspecified port. We have this variant, rather …","Wraper around HydroflowGraph
to build a flat graph from …","Stream and lattice properties. Used to determine …","ID to identify an edge.","ID to identify a node (operator or handoff) in …","ID to identify a subgraph in HydroflowGraph
.","A handoff point, used between subgraphs (or within a …","Handoff (grey) – not a color for operators, inserted …","A graph representing a Hydroflow dataflow graph (with or …","An integer value: [0]
, [1]
, etc. Can be negative although …","Type of lattice flow.","Mermaid graphs.","Module Boundary, used for importing modules. Only exists …","A node, corresponding to an operator or a handoff.","Operator generic arguments, split into specific categories.","An operator.","Meta-data relating to operators which may be useful …","A name or path. [pos]
, [neg]
, etc. Can use ::
separators …","Helper struct for PortIndex
which keeps span information …","Pull (green)","Push (blue)","Configuration for writing graphs.","Enum for choosing between mermaid and dot graph writing.","Add a single HfStatement
line to this HydroflowGraph
.","Arguments provided by the user into the operator as …","Emit this HydroflowGraph
as runnable Rust source code …","Formats self as a human-readable string for error messages.","Assert that self
is in a consistent state, for debugging. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build into an unpartitioned HydroflowGraph
, returning a …","The main function of this module. Compiles a HfCode
AST …","If it is always correct to downcast a stream flow type …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return Err(self)
if there is a conflict.","","","","","","","","","","","","","","The degree (number of edges/vertices) going into v
, i.e. …","The degree (number of edges/vertices) coming out of v
, …","","","","","","","","","","","Get the source and destination vertex IDs for the given …","Get the src
and dst
for an edge: …","Gets the flow properties associated with the edge, if set.","Return an iterator over all edge IDs E
.","Iterator of all edge IDs GraphEdgeId
.","Get the source and destination ports for an edge: …","Return an iterator over all edges in form (E, (V, V))
.","Iterator over all edges: …","Removes missing unions and tees. Must be applied BEFORE …","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Convert the Hydroflow code AST into a graph builder.","Convert the Hydroflow code AST into a graph builder.","For a Ported
value like [port_in]name[port_out]
, get the …","Operator generic (type or lifetime) arguments.","Generic arguments.","Gets the generic arguments for the operator. This helper …","General graph algorithm utility functions","","","","","","","","Port values used as this operator’s input.","Creates an edge going from src
to dst
and returns the edge …","Insert an edge between nodes thru the given ports.","Inserts a node between two existing nodes connected by the …","For an edge
from A --> B
, insert a new vertex V
along that …","Insert a node, assigning the given varname.","Insert an operator instance for the given node. Panics if …","Assign all operator instances if not set. Write diagnostic …","Create a subgraph consisting of node_ids
. Returns an error …","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Returns true
if self
is not PortIndexValue::Elided
.","The lattice flow type (for lattice flows) or None
for …","Returns the the stratum number of the largest (latest) …","When modules are imported into a flat graph, they come …","Convert into a mermaid graph. Ignores subgraphs.","Creates an empty DiMulGraph
.","Create a new empty graph builder.","Create a new empty HydroflowGraph
.","Will not render handoffs if set.","Will not render pull/push shapes if set.","Subgraphs will not be rendered if set.","Variable names will not be rendered if set.","Get a node with its operator instance (if applicable).","Determine op color based on in and out degree. If linear …","Color mode (pull vs. push, handoff vs. comp) for nodes. …","Degree into a node, i.e. the number of predecessors.","Degree out of a node, i.e. the number of successors.","Iterator of node IDs GraphNodeId
.","Get the OperatorInstance
for a given node. Node must be an …","Predecessor edges, iterator of GraphEdgeId
of incoming …","Predecessor edges, iterator of GraphNodeId
.","Predecessors, iterator of (GraphEdgeId, GraphNodeId)
of …","Get subgraph for node.","Successor edges, iterator of GraphEdgeId
of outgoing edges.","Successor nodes, iterator of GraphNodeId
.","Successors, iterator of (GraphEdgeId, GraphNodeId)
of …","Get the debug variable name attached to a graph node.","Iterator over (GraphNodeId, &Node)
pairs.","Name of the operator (will match OperatorConstraints::name
…","Op text will only be their name instead of the whole …","Opens this as dot/graphviz graph in the Graphviz Online …","Opens the graph based on graph_type
, which can be parsed …","Opens this as a mermaid graph in the mermaid.live browser …","Hydroflow’s operators","Port values used as this operator’s output.","","","","","","","","Main method for this module. Partions a flat HydroflowGraph
…","Lifetime persistence arguments. Corresponds to a prefix of …","Return an iterator of all edge IDs going into v
.","Return an iterator of all predecessor vertex IDs of v
.","Return an iterator of all predecessor edge IDs and vertex …","Module for determining flow properties. See …","Remove an edge from the graph. If the edgeId is found then …","Removes a node from its subgraph. Returns true if the node …","Remove the node node_id
but preserves and connects the …","For a vertex with one incoming edge and one outgoing edge, …","Remove a vertex from the graph, it must have no edges to …","","","","","","","","","","","Sets the flow properties associated with the given edge.","Set subgraph’s laziness, returning the old value.","Set subgraph’s stratum number, returning the old value …","Return the source code span of the node (for operators) or …","Returns the span of this port value.","An abstract token representing the “order” and …","Nodes belonging to the given subgraph.","Iterator over all subgraph IDs.","Gets the stratum number of the subgraph.","Iterator over all subgraphs, ID and members: …","Return an iterator of all edge IDs coming out of v
.","Return an iterator of all successor vertex IDs of v
.","Return an iterator of all successor edge IDs and vertex …","Convert back into surface syntax.","Writes this graph as DOT (graphviz) into a string.","Writes this graph as mermaid into a string.","Return the name of the node as a string, excluding …","","","","","","","","","","","","","","","Return the node as a human-readable string.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type persistence arguments. Corersponds to a (suffix) of …","","","","","","","","","","","","","","","","","","","","","Creates a DiMulGraph
with pre-allocated memory for capacity
…","Writes this graph as DOT (graphviz) into the given Write
.","Write out this HydroflowGraph
using the given GraphWrite
. …","Writes this graph as mermaid into the given Write
.","Convert into a mermaid graph. Ignores subgraphs.","Convert back into surface syntax.","The span of the output out of the handoff.","The span of the import!() expression that imported this …","If this module is an input or output boundary.","The span of the input into the handoff.","Finds the strongly connected components in the graph. A …","Topologically sorts a set of nodes. Returns a list where …","Computers the topological sort of the nodes of a possibly …","","","The delay (soft barrier) type, for each input to an …","","A specific number of named ports.","","Arguments provided to OperatorConstraints::flow_prop_fn
.","Type alias for OperatorConstraints::flow_prop_fn
’s type.","","OperatorConstraints::write_fn
for unary identity operators.","OperatorConstraints::flow_prop_fn
for join
and cross_join
.","","OperatorConstraints::flow_prop_fn
for lattice_fold
and …","","","","","Mutability.","OperatorConstraints::write_fn
for the null operator - an …","All Hydroflow operators.","Operator categories, for docs.","An instance of this struct represents a single hydroflow …","The code generated and returned by a …","Persistence lifetimes: 'tick
, 'static
, or 'mutable
.","","Specification of the named (or unnamed) ports for an …","Convenience range: exactly zero.","Convenience range: exactly one.","Convenience range: zero or more (any number).","An object-safe version of RangeBounds
.","","","Persistene across all ticks.","Input should be collected over the preceeding stratum.","Input should be collected over the previous tick.","Persistence for one tick at-a-time only.","Input should be collected over the previous tick but also …","Any number of unnamed (or optionally named) ports.","Context arguments provided to OperatorConstraints::write_fn
…","Type alias for OperatorConstraints::write_fn
’s type.","","","","","","","","","","","","","","","","","Operator categories, for docs.","","","","","","","","","","","","Returns if item
is contained in this range.","context
ident, the name of the provided …","","Human description, for docs.","","End (upper) bound.","","","","Find an operator by Node
.","Find an operator by an AST Operator
.","Return the output flow types for the given input flow …","Flow properties corresponding to each input.","Flow properties corresponding to each input.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Input argument range required to not show an error.","Output argument range required to not show an error.","","Turn this range into a human-readable string.","df
ident, the name of the …","Ident the iterator or pullerator should be assigned to.","Helper to write the write_iterator
portion of …","Determines if this input must be preceeded by a stratum …","Input operator idents (used for pull).","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","If this operator receives external inputs and therefore …","If a pull iterator (true) or pusherator (false) should be …","Generate a (almost certainly) unique identifier with the …","Human-readible heading name, for docs.","Operator’s name.","Returns a new star_ord
token, representing a new …","Node ID identifying this operator in the flat or …","Helper to write the write_iterator
portion of …","Number of arguments i.e. operator(a, b, c)
has num_args = 3
…","Operator instance arguments object.","Operator instance arguments object.","Operator name.","Operator name.","The source span of this operator.","The source span of this operator.","Get the operator lookup table, generating it if needed.","Output operator idents (used for push).","","","","How many persistence lifetime arguments can be provided.","What named or numbered input ports to expect?","What named or numbered output ports to expect?","hydroflow
crate name for use #root::something
.","","Input argument range required to not show a warning.","Output argument range required to not show an warning.","Start (lower) bound.","Subgraph ID in which this operator is contained.","","","","","","","","","","","","","","","","","","","","","How many generic type arguments can be provided.","","","","","","","","","Wraps the func_arg
closure with a type checker macro …","The operator’s codegen. Returns code that is emited is …","Iterator (or pusherator) code inside the subgraphs. The …","Code which runs after iterators have been run. Mainly for …","Code which runs once outside the subgraph to set up any …","Traverses the graph, propegating the flow properties from …","","","","","","","","","","","","","","","","","","","","","","Port can either be an int or a name (path).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Output the operator as a formatted string using …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Helper struct which displays the span as row:col
for human …","Helper struct which displays the span as path:row:col
for …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","Union-find data structure.","","","","","","Finds the “representative” item for k
. Each set of …","Returns the argument unchanged.","Calls U::from(self)
.","Creates a new UnionFind
, same as Default::default()
.","Returns if a
and b
are equivalent, i.e. in the same set.","","","","","Combines two items a
and b
as equivalent, in the same set.","Creates a new UnionFind
with the given key capacity …"],"i":[0,0,0,0,0,0,1,1,0,1,0,1,1,2,4,1,2,4,1,2,4,1,2,4,1,4,1,2,4,2,1,1,2,2,2,4,4,1,2,2,4,4,1,1,2,4,1,2,2,4,2,1,4,1,2,4,2,2,1,2,4,2,2,4,2,1,2,4,1,2,4,1,2,4,0,45,35,35,0,38,28,0,0,0,0,0,42,45,0,28,0,38,42,0,0,42,0,28,0,45,45,0,0,24,43,26,28,29,37,37,38,38,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,24,0,35,29,36,35,37,38,39,40,41,42,43,44,45,28,29,36,35,37,38,39,40,41,42,43,44,45,28,36,35,39,40,41,45,28,28,38,38,39,40,41,29,24,36,26,37,39,40,41,29,29,29,36,35,26,39,40,41,42,45,28,29,26,26,29,26,26,29,26,0,36,35,39,40,41,45,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,28,29,29,24,36,35,26,37,38,39,39,40,40,41,41,42,43,44,45,28,28,37,38,37,38,24,24,28,44,43,0,0,37,38,36,35,39,40,41,43,29,26,26,29,26,26,26,26,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,28,36,26,26,26,29,24,26,37,37,37,37,26,0,26,26,26,26,26,26,26,26,26,26,26,26,26,26,43,37,26,26,26,0,43,36,35,39,40,41,45,28,0,44,29,29,29,0,29,26,26,29,29,29,36,35,26,39,40,41,42,45,28,26,26,26,42,28,36,26,26,26,26,29,29,29,26,26,26,42,29,36,35,37,38,39,40,41,42,43,44,45,28,38,42,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,44,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,37,38,37,38,38,29,26,26,26,26,26,109,110,110,109,0,0,0,80,80,0,80,111,80,0,0,80,0,0,80,0,80,80,80,80,79,0,0,0,0,0,0,80,0,0,0,0,0,80,80,79,77,77,79,77,111,0,0,111,84,86,77,82,78,79,80,111,84,86,77,82,78,79,80,84,77,78,79,80,77,78,79,80,77,79,80,112,78,82,80,79,112,77,79,80,0,0,84,86,78,84,77,79,80,111,84,86,77,82,78,79,80,84,84,80,112,78,78,0,84,78,111,84,86,77,82,78,79,80,84,78,78,80,84,86,78,0,84,86,78,86,78,86,78,0,78,77,79,80,84,84,84,78,79,84,84,112,78,77,78,79,80,111,84,86,77,82,78,79,80,111,84,86,77,82,78,79,80,84,111,84,86,77,82,78,79,80,78,84,82,82,82,0,0,0,0,92,0,0,52,92,92,92,25,0,0,92,92,52,0,25,0,0,0,0,0,25,57,57,95,93,33,25,100,101,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,96,52,57,91,52,57,91,91,91,100,93,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,91,93,96,55,55,33,25,100,101,92,93,55,94,95,96,52,57,91,95,57,100,57,55,93,94,57,33,25,100,101,92,93,55,94,95,96,52,57,91,91,57,100,101,94,95,100,101,33,25,100,101,92,93,55,94,95,96,52,57,91,91,33,52,57,91,57,33,25,100,101,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,57,33,25,100,101,92,93,55,94,95,96,52,57,91,91,0,0,105,106,105,106,105,106,105,106,105,106,105,106,105,106,105,106,105,106,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107],"f":[0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,1],[[[2,[-1]]],[[2,[-1]]],3],[4,4],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[1,1],6],0,[-1,[[7,[1]]],8],[-1,[[7,[[2,[-2]]]]],8,9],[-1,[[7,[4]]],8],[2,5],[[1,1],10],[[1,11],12],[[[2,[4]],11],12],[[2,11],12],[[[2,[-1]],11],12,13],[[4,11],12],[[4,11],12],[-1,-1,[]],[14,2],[-1,-1,[]],[15,4],[-1,-1,[]],[[1,-1],5,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,10],[[[2,[-1]]],10,[]],0,0,0,[[1,1],[[17,[6]]]],0,[[1,-1],7,18],[[[2,[-1]],-2],7,19,18],[[4,-1],7,18],0,[[15,1,-1],2,[[21,[20]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[2,[[2,[4]]]],[-1,20,[]],[-1,20,[]],[2,22],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[24,25],5],0,[[26,22,10,22,[27,[2]]],22],[28,20],[[[29,[-1,-2]]],5,30,30],[31,31],[31,31],[31,31],[31,31],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,[[5,[26,[27,[32]],[27,[2]]]]]],[[33,22,34],[[5,[[17,[[5,[26,22]]]],[27,[2]]]]]],[[[17,[35]],[17,[35]]],10],[[[29,[-1,-2]]],[[29,[-1,-2]]],[30,3],[30,3]],[36,36],[35,35],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[28,28],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[36,36],6],[[35,35],6],[[39,39],6],[[40,40],6],[[41,41],6],[[45,45],6],[[28,28],6],[[28,28],[[7,[28,28]]]],[[],31],[[],31],[39,46],[40,46],[41,46],[[],[[29,[-1,-2]]],30,30],[[],24],[[],36],[[],26],[[],37],[[],39],[[],40],[[],41],[[[29,[-1,-2]],-1],47,30,30],[[[29,[-1,-2]],-1],47,30,30],[-1,[[7,[[29,[-2,-3]]]]],8,[30,9],[30,9]],[-1,[[7,[36]]],8],[-1,[[7,[35]]],8],[-1,[[7,[26]]],8],[-1,[[7,[39]]],8],[-1,[[7,[40]]],8],[-1,[[7,[41]]],8],[-1,[[7,[42]]],8],[-1,[[7,[45]]],8],[-1,[[7,[28]]],8],[[[29,[-1,-2]],-2],[[17,[[5,[-1,-1]]]]],30,30],[[26,40],[[5,[39,39]]]],[[26,40],[[17,[36]]]],[[[29,[-1,-2]]],[[48,[-2,[5,[-1,-1]]]]],30,30],[26,[[48,[40,[5,[39,39]]]]]],[[26,40],[[5,[28,28]]]],[[[29,[-1,-2]]],[[0,[49,50,3,13]]],30,30],[26,[[0,[49,50,3,13]]]],[26,5],[[36,36],10],[[35,35],10],[[39,39],10],[[40,40],10],[[41,41],10],[[45,45],10],[[28,28],10],[[[29,[-1,-2]],11],12,[30,13],[30,13]],[[24,11],12],[[36,11],12],[[35,11],12],[[26,11],12],[[37,11],12],[[38,11],12],[[39,11],12],[[40,11],12],[[41,11],12],[[42,11],12],[[43,11],12],[[44,11],12],[[45,11],12],[[28,11],12],[[28,11],12],[[[51,[-1,[5,[-2,-2]]]]],[[29,[-2,-1]]],30,30],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[46,39],[-1,-1,[]],[-1,-1,[]],[46,40],[46,41],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[52,28],[-1,-1,[]],[53,[[7,[37,54]]]],[53,[[7,[38,54]]]],[53,[[7,[37,54]]]],[53,[[7,[38,54]]]],[[33,34],24],[[33,34],24],[[[55,[-1]]],[[5,[28,-1,28]]],56],0,0,[[[27,[2]],57],44],0,[[],[[17,[58]]]],[59,10],[[36,-1],5,16],[[35,-1],5,16],[[39,-1],5,16],[[40,-1],5,16],[[41,-1],5,16],0,[[[29,[-1,-2]],-1,-1],-2,30,30],[[26,39,28,39,28],40],[[26,40,42],[[5,[39,40]]]],[[[29,[-1,-2]],-1,-2],[[17,[[5,[-2,-2]]]]],30,30],[[26,42,[17,[60]]],39],[[26,39,43],5],[[26,[27,[2]]],5],[[26,[27,[39]]],[[7,[41,[5,[39,41]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,10],0,[26,[[17,[47]]]],[26,[[7,[5,2]]]],[26,20],[[],[[29,[-1,-2]]],30,30],[[],24],[[],26],0,0,0,0,[[26,39],42],[[10,47,47],[[17,[45]]]],[26,[[61,[39,45]]]],[[26,39],47],[[26,39],47],[26,[[48,[39,42]]]],[[26,39],[[17,[43]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[17,[41]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[17,[60]]]],[26,[[63,[39,42]]]],0,0,[[26,37],[[64,[5]]]],[[26,38,[17,[37]]],[[64,[5]]]],[[26,37],[[64,[5]]]],0,0,[[36,36],[[17,[6]]]],[[35,35],[[17,[6]]]],[[39,39],[[17,[6]]]],[[40,40],[[17,[6]]]],[[41,41],[[17,[6]]]],[[45,45],[[17,[6]]]],[[28,28],[[17,[6]]]],[26,[[7,[26,2]]]],0,[[[29,[-1,-2]],-1],[[66,[[65,[-2]]]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],0,[[[29,[-1,-2]],-2],[[17,[[5,[-1,-1]]]]],30,30],[[26,39],10],[[26,39],5],[[[29,[-1,-2]],-1],[[17,[[5,[-2,[5,[-2,-2]]]]]]],30,30],[[[29,[-1,-2]],-1],5,30,30],[[[29,[-1,-2]],-3],7,[30,19],[30,19],18],[[36,-1],7,18],[[35,-1],7,18],[[26,-1],7,18],[[39,-1],7,18],[[40,-1],7,18],[[41,-1],7,18],[[42,-1],7,18],[[45,-1],7,18],[[28,-1],7,18],[[26,40,36],[[17,[36]]]],[[26,41,10],10],[[26,41,47],[[17,[47]]]],[42,15],[28,15],0,[[26,41],[[27,[39]]]],[26,[[48,[41,[27,[39]]]]]],[[26,41],[[17,[47]]]],[26,[[63,[41,[27,[39]]]]]],[[[29,[-1,-2]],-1],[[66,[[65,[-2]]]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],[26,20],[[26,37],20],[[26,37],20],[42,[[67,[59]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[38,[[17,[68]]]],[42,[[67,[59]]]],[-1,20,[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],0,[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[[37,53],[[7,[5,54]]]],[[38,53],[[7,[5,54]]]],[[37,53],[[7,[5,54]]]],[[38,53],[[7,[5,54]]]],[[],[[69,[38]]]],[47,[[29,[-1,-2]]],30,30],[[26,-1,37],12,70],[[26,-1,37],[[7,[5]]],0],[[26,-1,37],12,70],[[26,-1],12,70],[[26,-1],12,70],0,0,0,0,[[-1,-2,-3],[[71,[-4,-4]]],72,73,73,[74,75,76]],[[-1,-2],[[27,[-3]]],72,73,[74,75,76]],[[-1,-2,-3],[[27,[-4]]],73,73,73,[74,75,76]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[77,77],[78,78],[79,79],[80,80],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[77,77],6],[[79,79],6],[[80,80],6],[[-1,-2],10,[],81],0,[[],82],[80,59],[-1,[[7,[79]]],8],[-1,[[83,[-2]]],[],[]],[[77,77],10],[[79,79],10],[[80,80],10],[42,[[17,[84]]]],[57,[[17,[84]]]],0,0,0,[[84,11],12],[[77,11],12],[[79,11],12],[[80,11],12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[[80,-1],5,16],[-1,20,[]],0,0,[78,22],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[78,-1],60,[[85,[59]]]],[80,59],0,[86,47],0,[78,22],0,0,0,0,0,0,0,[[],[[87,[59,84]]]],0,[[77,77],[[17,[6]]]],[[79,79],[[17,[6]]]],[[80,80],[[17,[6]]]],0,0,0,0,[[79,-1],7,18],0,0,[-1,[[83,[-2]]],[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],0,[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[[78,88],22],0,0,0,0,[[26,[27,[2]]],[[7,[5,39]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[57,[[90,[88,89]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[52,52],[57,57],[91,91],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[91,91],6],[[91,91],10],0,0,[[92,11],12],[[93,11],12],[[[55,[-1]],11],12,13],[[94,11],12],[[95,11],12],[[96,11],12],[[52,11],12],[[57,11],12],[[91,11],12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[91,-1],5,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[57,97],0,[57,20],0,0,0,0,[98,[[99,[33]]]],[98,[[99,[25]]]],[98,[[99,[100]]]],[98,[[99,[101]]]],[98,[[99,[92]]]],[98,[[99,[93]]]],[98,[[99,[[55,[-1]]]]],102],[98,[[99,[94]]]],[98,[[99,[95]]]],[98,[[99,[96]]]],[98,[[99,[52]]]],[98,[[99,[57]]]],[98,[[99,[91]]]],[[91,91],[[17,[6]]]],0,0,0,0,0,0,0,[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[57,20],[[33,22],5],[[25,22],5],[[100,22],5],[[101,22],5],[[92,22],5],[[93,22],5],[[[55,[-1]],22],5,103],[[94,22],5],[[95,22],5],[[96,22],5],[[52,22],5],[[57,22],5],[[91,22],5],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[57,[[17,[[90,[104,89]]]]]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[105,11],12],[[106,11],12],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,20,[]],[-1,20,[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,23,[]],[-1,23,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[[107,[-1]]],[[107,[-1]]],[30,3]],[[-1,-2],5,[],[]],[[],[[107,[-1]]],[30,108]],[[[107,[-1]],-1],-1,30],[-1,-1,[]],[-1,-2,[],[]],[[],[[107,[-1]]],30],[[[107,[-1]],-1,-1],10,30],[-1,-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,23,[]],[[[107,[-1]],-1,-1],5,30],[47,[[107,[-1]]],30]],"c":[],"p":[[4,"Level",5],[3,"Diagnostic",5],[8,"Clone",877],[3,"SerdeSpan",5],[15,"tuple"],[4,"Ordering",878],[4,"Result",879],[8,"Deserializer",880],[8,"Deserialize",880],[15,"bool"],[3,"Formatter",881],[6,"Result",881],[8,"Debug",881],[3,"Error",882],[3,"Span",883],[8,"Hasher",884],[4,"Option",885],[8,"Serializer",886],[8,"Serialize",886],[3,"String",887],[8,"Into",888],[3,"TokenStream",883],[3,"TypeId",889],[3,"FlatGraphBuilder",74],[4,"HfStatement",633],[3,"HydroflowGraph",74],[3,"Vec",890],[4,"PortIndexValue",74],[3,"DiMulGraph",74],[8,"Key",891],[3,"Command",892],[3,"ItemUse",893],[3,"HfCode",633],[3,"PathBuf",894],[4,"LatticeFlowType",74],[3,"FlowProps",74],[3,"WriteConfig",74],[4,"WriteGraphType",74],[3,"GraphNodeId",74],[3,"GraphEdgeId",74],[3,"GraphSubgraphId",74],[4,"Node",74],[3,"OperatorInstance",74],[3,"OpInstGenerics",74],[4,"Color",74],[3,"KeyData",891],[15,"usize"],[3,"Keys",895],[8,"ExactSizeIterator",896],[8,"FusedIterator",897],[3,"SlotMap",895],[4,"PortIndex",633],[3,"ArgMatches",898],[6,"Error",899],[3,"Ported",633],[8,"Spanned",900],[3,"Operator",633],[3,"Id",901],[15,"str"],[3,"Ident",883],[3,"SparseSecondaryMap",902],[8,"DoubleEndedIterator",903],[3,"Iter",895],[6,"Result",904],[3,"Iter",905],[3,"Copied",906],[4,"Cow",907],[3,"PossibleValue",908],[15,"slice"],[8,"Write",881],[3,"BTreeMap",909],[8,"IntoIterator",910],[8,"FnMut",911],[8,"Copy",912],[8,"Eq",878],[8,"Ord",878],[4,"DelayType",458],[3,"WriteContextArgs",458],[4,"Persistence",458],[4,"OperatorCategory",458],[8,"PartialOrd",878],[3,"OperatorWriteOutput",458],[4,"Bound",913],[3,"OperatorConstraints",458],[8,"AsRef",888],[3,"FlowPropArgs",458],[3,"HashMap",914],[4,"Expr",915],[3,"Comma",916],[3,"Punctuated",917],[3,"IndexInt",633],[4,"Pipeline",633],[3,"Import",633],[3,"PipelineParen",633],[3,"PipelineLink",633],[3,"Indexing",633],[3,"Path",918],[6,"ParseStream",919],[6,"Result",882],[3,"NamedHfStatement",633],[3,"PipelineStatement",633],[8,"Parse",919],[8,"ToTokens",920],[4,"GenericArgument",918],[3,"PrettySpan",840],[3,"PrettyRowCol",840],[3,"UnionFind",860],[8,"Default",921],[13,"Handoff",451],[13,"ModuleBoundary",451],[4,"PortListSpec",458],[8,"RangeTrait",458]],"b":[[32,"impl-Display-for-Diagnostic%3CSerdeSpan%3E"],[33,"impl-Display-for-Diagnostic"],[34,"impl-Debug-for-Diagnostic%3CS%3E"],[35,"impl-Debug-for-SerdeSpan"],[36,"impl-Display-for-SerdeSpan"],[234,"impl-Debug-for-PortIndexValue"],[235,"impl-Display-for-PortIndexValue"]]},\
+"hydroflow_lang":{"doc":"Hydroflow surface syntax","t":"AAAAADNNENDNLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMMLMLLLMLLLLLLLLLLLLLLLLLENNNDNNDDDDDNNDNENNEDNDNENNDELMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMFALLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLMMMMLFLLLLLLLLLLLLLLMMLLLAMLLLLLLLFMLLLALLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMFFFNNENNNDGNRRNRNNNNNRREDDENERRRINNNNNNNNDGLLLLLLLLLLLLLLLLMLLLLLLLLLLLKMLLLKLLLFFMMMLLLLLLLLLLLLMMLLMMFMMLLLLLLLLMMLLMLMFMMMMMMMFMLLLMMMMLMMKMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMMMMFDEDNDDNNNNNDDNNNENDDDEDNLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLMLMLMMMMLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMDDLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLL","n":["diagnostic","graph","parse","pretty_span","union_find","Diagnostic","Error","Help","Level","Note","SerdeSpan","Warning","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","column","deserialize","deserialize","deserialize","emit","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","into","into","into","is_error","is_error","level","line","message","partial_cmp","path","serialize","serialize","serialize","span","spanned","to_owned","to_owned","to_owned","to_serde","to_string","to_string","to_tokens","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","Color","Comp","Cumul","Delta","DiMulGraph","Dot","Elided","FlatGraphBuilder","FlowProps","GraphEdgeId","GraphNodeId","GraphSubgraphId","Handoff","Hoff","HydroflowGraph","Int","LatticeFlowType","Mermaid","ModuleBoundary","Node","OpInstGenerics","Operator","OperatorInstance","Path","PortIndexValue","Pull","Push","WriteConfig","WriteGraphType","add_statement","arguments","as_code","as_error_message_string","assert_valid","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build_hfcode","can_downcast","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","combine","command","command_for_update","data","data","data","default","default","default","default","default","default","default","default","degree_in","degree_out","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","edge","edge","edge_flow_props","edge_ids","edge_ids","edge_ports","edges","edges","eliminate_extra_unions_tees","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_hfcode","from_hfmodule","from_ported","generic_args","generics","get_operator_generics","graph_algorithms","group_id","has_subcommand","hash","hash","hash","hash","hash","input_ports","insert_edge","insert_edge","insert_intermediate_node","insert_intermediate_vertex","insert_node","insert_node_op_inst","insert_node_op_insts_all","insert_subgraph","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_specified","lattice_flow_type","max_stratum","merge_modules","mermaid_string_flat","new","new","new","no_handoffs","no_pull_push","no_subgraphs","no_varnames","node","node_color","node_color_map","node_degree_in","node_degree_out","node_ids","node_op_inst","node_predecessor_edges","node_predecessor_nodes","node_predecessors","node_subgraph","node_successor_edges","node_successor_nodes","node_successors","node_varname","nodes","op_constraints","op_short_text","open_dot","open_graph","open_mermaid","ops","output_ports","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partition_graph","persistence_args","predecessor_edges","predecessor_vertices","predecessors","propegate_flow_props","remove_edge","remove_from_subgraph","remove_intermediate_node","remove_intermediate_vertex","remove_vertex","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_edge_flow_props","set_subgraph_laziness","set_subgraph_stratum","span","span","star_ord","subgraph","subgraph_ids","subgraph_stratum","subgraphs","successor_edges","successor_vertices","successors","surface_syntax_string","to_dot","to_mermaid","to_name_string","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_possible_value","to_pretty_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_args","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","value_variants","with_capacity","write_dot","write_graph","write_mermaid","write_mermaid_flat","write_surface_syntax","dst_span","import_expr","input","src_span","scc_kosaraju","topo_sort","topo_sort_scc","CompilerFusionOperator","Control","DelayType","Filter","Fixed","Flatten","FlowPropArgs","FlowPropFn","Fold","IDENTITY_WRITE_FN","JOIN_CROSS_JOIN_FLOW_PROP_FN","KeyedFold","LATTICE_FOLD_REDUCE_FLOW_PROP_FN","LatticeFold","Map","MultiIn","MultiOut","Mutable","NULL_WRITE_FN","OPERATORS","OperatorCategory","OperatorConstraints","OperatorWriteOutput","Persistence","Persistence","PortListSpec","RANGE_0","RANGE_1","RANGE_ANY","RangeTrait","Sink","Source","Static","Stratum","Tick","Tick","TickLazy","Variadic","WriteContextArgs","WriteFn","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","categories","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","contains","context","default","description","deserialize","end_bound","eq","eq","eq","find_node_op_constraints","find_op_op_constraints","flow_prop_fn","flow_props_in","flow_props_in","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hard_range_inn","hard_range_out","hash","human_string","hydroflow","ident","identity_write_iterator_fn","input_delaytype_fn","inputs","into","into","into","into","into","into","into","into","is_external_input","is_pull","make_ident","name","name","new_star_ord","node_id","null_write_iterator_fn","num_args","op_inst","op_inst","op_name","op_name","op_span","op_span","operator_lookup","outputs","partial_cmp","partial_cmp","partial_cmp","persistence_args","ports_inn","ports_out","root","serialize","soft_range_inn","soft_range_out","start_bound","subgraph_id","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_args","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","wrap_check_func_arg","write_fn","write_iterator","write_iterator_after","write_prologue","propegate_flow_props","HfCode","HfStatement","Import","Import","IndexInt","Indexing","Int","Link","ModuleBoundary","Name","Named","NamedHfStatement","Operator","Operator","Paren","Path","Pipeline","Pipeline","PipelineLink","PipelineParen","PipelineStatement","PortIndex","Ported","Use","args","args","arrow","bang","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bracket_token","clone","clone","clone","clone_into","clone_into","clone_into","cmp","eq","equals","filename","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","hash","import","index","inn","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","lhs","name","name","name_string","out","paren_token","paren_token","paren_token","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","partial_cmp","path","pipeline","pipeline","pipeline","rhs","semi_token","semi_token","span","span","span","span","span","span","span","span","span","span","span","span","span","span","statements","to_owned","to_owned","to_owned","to_pretty_string","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_arguments","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value","PrettyRowCol","PrettySpan","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","from","from","into","into","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","UnionFind","borrow","borrow_mut","clone","clone_into","default","find","from","into","new","same_set","to_owned","try_from","try_into","type_id","union","with_capacity"],"q":[[0,"hydroflow_lang"],[5,"hydroflow_lang::diagnostic"],[74,"hydroflow_lang::graph"],[451,"hydroflow_lang::graph::Node"],[455,"hydroflow_lang::graph::graph_algorithms"],[458,"hydroflow_lang::graph::ops"],[632,"hydroflow_lang::graph::propegate_flow_props"],[633,"hydroflow_lang::parse"],[840,"hydroflow_lang::pretty_span"],[860,"hydroflow_lang::union_find"],[877,"core::clone"],[878,"core::cmp"],[879,"core::result"],[880,"serde::de"],[881,"serde::de"],[882,"core::fmt"],[883,"proc_macro2"],[884,"core::hash"],[885,"core::option"],[886,"serde::ser"],[887,"serde::ser"],[888,"core::convert"],[889,"proc_macro2"],[890,"alloc::vec"],[891,"slotmap"],[892,"clap_builder::builder::command"],[893,"syn::item"],[894,"std::path"],[895,"slotmap"],[896,"core::iter::traits::exact_size"],[897,"core::iter::traits::marker"],[898,"slotmap::basic"],[899,"clap_builder"],[900,"syn::spanned"],[901,"clap_builder::util::id"],[902,"proc_macro2"],[903,"core::iter::traits::double_ended"],[904,"slotmap::basic"],[905,"core::slice::iter"],[906,"core::iter::adapters::copied"],[907,"alloc::borrow"],[908,"clap_builder::builder::possible_value"],[909,"core::fmt"],[910,"core::iter::traits::collect"],[911,"core::ops::function"],[912,"core::marker"],[913,"core::cmp"],[914,"core::convert"],[915,"syn::expr"],[916,"syn::token"],[917,"syn::punctuated"],[918,"syn::path"],[919,"syn::parse"],[920,"syn::error"],[921,"syn::path"]],"d":["Compatibility for proc_macro
diagnostics, which are …","Graph representation stages for Hydroflow graphs.","AST for surface syntax, modelled on syn
’s ASTs.","Pretty, human-readable printing of proc_macro2::Span
s.","Union-find data structure, see UnionFind
.","Diagnostic. A warning or error (or lower Level
) with a …","An error.","A help message.","Diagnostic reporting level.","A note.","A serializable and deserializable version of Span
. Cannot …","A warning.","","","","","","","","","","","","","","Column number, one-indexed.","","","","Emit the diagnostic. Only works from the proc_macro
…","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","If this level is Level::Error
.","If this diagnostic’s level is Level::Error
.","Severity level.","Line number, one-indexed.","Human-readable message.","","The source file path.","","","","Span (source code location).","Create a new diagnostic from the given span, level, and …","","","","Converts this into a serializable and deserializable …","","","Used to emulate Diagnostic::emit
by turning this …","","","","","","","","","","Push, Pull, Comp, or Hoff polarity.","Computation (yellow)","Cumulative: Each element must be greater than or equal to …","Delta: Elements are (generally) disjoint, each new element …","A directed multigraph where an vertex’s inbound and …","Dot (Graphviz) graphs.","Elided, unspecified port. We have this variant, rather …","Wraper around HydroflowGraph
to build a flat graph from …","Stream and lattice properties. Used to determine …","ID to identify an edge.","ID to identify a node (operator or handoff) in …","ID to identify a subgraph in HydroflowGraph
.","A handoff point, used between subgraphs (or within a …","Handoff (grey) – not a color for operators, inserted …","A graph representing a Hydroflow dataflow graph (with or …","An integer value: [0]
, [1]
, etc. Can be negative although …","Type of lattice flow.","Mermaid graphs.","Module Boundary, used for importing modules. Only exists …","A node, corresponding to an operator or a handoff.","Operator generic arguments, split into specific categories.","An operator.","Meta-data relating to operators which may be useful …","A name or path. [pos]
, [neg]
, etc. Can use ::
separators …","Helper struct for PortIndex
which keeps span information …","Pull (green)","Push (blue)","Configuration for writing graphs.","Enum for choosing between mermaid and dot graph writing.","Add a single HfStatement
line to this HydroflowGraph
.","Arguments provided by the user into the operator as …","Emit this HydroflowGraph
as runnable Rust source code …","Formats self as a human-readable string for error messages.","Assert that self
is in a consistent state, for debugging. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build into an unpartitioned HydroflowGraph
, returning a …","The main function of this module. Compiles a HfCode
AST …","If it is always correct to downcast a stream flow type …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return Err(self)
if there is a conflict.","","","","","","","","","","","","","","The degree (number of edges/vertices) going into v
, i.e. …","The degree (number of edges/vertices) coming out of v
, …","","","","","","","","","","","Get the source and destination vertex IDs for the given …","Get the src
and dst
for an edge: …","Gets the flow properties associated with the edge, if set.","Return an iterator over all edge IDs E
.","Iterator of all edge IDs GraphEdgeId
.","Get the source and destination ports for an edge: …","Return an iterator over all edges in form (E, (V, V))
.","Iterator over all edges: …","Removes missing unions and tees. Must be applied BEFORE …","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Convert the Hydroflow code AST into a graph builder.","Convert the Hydroflow code AST into a graph builder.","For a Ported
value like [port_in]name[port_out]
, get the …","Operator generic (type or lifetime) arguments.","Generic arguments.","Gets the generic arguments for the operator. This helper …","General graph algorithm utility functions","","","","","","","","Port values used as this operator’s input.","Creates an edge going from src
to dst
and returns the edge …","Insert an edge between nodes thru the given ports.","Inserts a node between two existing nodes connected by the …","For an edge
from A --> B
, insert a new vertex V
along that …","Insert a node, assigning the given varname.","Insert an operator instance for the given node. Panics if …","Assign all operator instances if not set. Write diagnostic …","Create a subgraph consisting of node_ids
. Returns an error …","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Returns true
if self
is not PortIndexValue::Elided
.","The lattice flow type (for lattice flows) or None
for …","Returns the the stratum number of the largest (latest) …","When modules are imported into a flat graph, they come …","Convert into a mermaid graph. Ignores subgraphs.","Creates an empty DiMulGraph
.","Create a new empty graph builder.","Create a new empty HydroflowGraph
.","Will not render handoffs if set.","Will not render pull/push shapes if set.","Subgraphs will not be rendered if set.","Variable names will not be rendered if set.","Get a node with its operator instance (if applicable).","Determine op color based on in and out degree. If linear …","Color mode (pull vs. push, handoff vs. comp) for nodes. …","Degree into a node, i.e. the number of predecessors.","Degree out of a node, i.e. the number of successors.","Iterator of node IDs GraphNodeId
.","Get the OperatorInstance
for a given node. Node must be an …","Predecessor edges, iterator of GraphEdgeId
of incoming …","Predecessor edges, iterator of GraphNodeId
.","Predecessors, iterator of (GraphEdgeId, GraphNodeId)
of …","Get subgraph for node.","Successor edges, iterator of GraphEdgeId
of outgoing edges.","Successor nodes, iterator of GraphNodeId
.","Successors, iterator of (GraphEdgeId, GraphNodeId)
of …","Get the debug variable name attached to a graph node.","Iterator over (GraphNodeId, &Node)
pairs.","Name of the operator (will match OperatorConstraints::name
…","Op text will only be their name instead of the whole …","Opens this as dot/graphviz graph in the Graphviz Online …","Opens the graph based on graph_type
, which can be parsed …","Opens this as a mermaid graph in the mermaid.live browser …","Hydroflow’s operators","Port values used as this operator’s output.","","","","","","","","Main method for this module. Partions a flat HydroflowGraph
…","Lifetime persistence arguments. Corresponds to a prefix of …","Return an iterator of all edge IDs going into v
.","Return an iterator of all predecessor vertex IDs of v
.","Return an iterator of all predecessor edge IDs and vertex …","Module for determining flow properties. See …","Remove an edge from the graph. If the edgeId is found then …","Removes a node from its subgraph. Returns true if the node …","Remove the node node_id
but preserves and connects the …","For a vertex with one incoming edge and one outgoing edge, …","Remove a vertex from the graph, it must have no edges to …","","","","","","","","","","","Sets the flow properties associated with the given edge.","Set subgraph’s laziness, returning the old value.","Set subgraph’s stratum number, returning the old value …","Return the source code span of the node (for operators) or …","Returns the span of this port value.","An abstract token representing the “order” and …","Nodes belonging to the given subgraph.","Iterator over all subgraph IDs.","Gets the stratum number of the subgraph.","Iterator over all subgraphs, ID and members: …","Return an iterator of all edge IDs coming out of v
.","Return an iterator of all successor vertex IDs of v
.","Return an iterator of all successor edge IDs and vertex …","Convert back into surface syntax.","Writes this graph as DOT (graphviz) into a string.","Writes this graph as mermaid into a string.","Return the name of the node as a string, excluding …","","","","","","","","","","","","","","","Return the node as a human-readable string.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type persistence arguments. Corersponds to a (suffix) of …","","","","","","","","","","","","","","","","","","","","","Creates a DiMulGraph
with pre-allocated memory for capacity
…","Writes this graph as DOT (graphviz) into the given Write
.","Write out this HydroflowGraph
using the given GraphWrite
. …","Writes this graph as mermaid into the given Write
.","Convert into a mermaid graph. Ignores subgraphs.","Convert back into surface syntax.","The span of the output out of the handoff.","The span of the import!() expression that imported this …","If this module is an input or output boundary.","The span of the input into the handoff.","Finds the strongly connected components in the graph. A …","Topologically sorts a set of nodes. Returns a list where …","Computers the topological sort of the nodes of a possibly …","","","The delay (soft barrier) type, for each input to an …","","A specific number of named ports.","","Arguments provided to OperatorConstraints::flow_prop_fn
.","Type alias for OperatorConstraints::flow_prop_fn
’s type.","","OperatorConstraints::write_fn
for unary identity operators.","OperatorConstraints::flow_prop_fn
for join
and cross_join
.","","OperatorConstraints::flow_prop_fn
for lattice_fold
and …","","","","","Mutability.","OperatorConstraints::write_fn
for the null operator - an …","All Hydroflow operators.","Operator categories, for docs.","An instance of this struct represents a single hydroflow …","The code generated and returned by a …","Persistence lifetimes: 'tick
, 'static
, or 'mutable
.","","Specification of the named (or unnamed) ports for an …","Convenience range: exactly zero.","Convenience range: exactly one.","Convenience range: zero or more (any number).","An object-safe version of RangeBounds
.","","","Persistene across all ticks.","Input should be collected over the preceeding stratum.","Input should be collected over the previous tick.","Persistence for one tick at-a-time only.","Input should be collected over the previous tick but also …","Any number of unnamed (or optionally named) ports.","Context arguments provided to OperatorConstraints::write_fn
…","Type alias for OperatorConstraints::write_fn
’s type.","","","","","","","","","","","","","","","","","Operator categories, for docs.","","","","","","","","","","","","Returns if item
is contained in this range.","context
ident, the name of the provided …","","Human description, for docs.","","End (upper) bound.","","","","Find an operator by Node
.","Find an operator by an AST Operator
.","Return the output flow types for the given input flow …","Flow properties corresponding to each input.","Flow properties corresponding to each input.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Input argument range required to not show an error.","Output argument range required to not show an error.","","Turn this range into a human-readable string.","df
ident, the name of the …","Ident the iterator or pullerator should be assigned to.","Helper to write the write_iterator
portion of …","Determines if this input must be preceeded by a stratum …","Input operator idents (used for pull).","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","If this operator receives external inputs and therefore …","If a pull iterator (true) or pusherator (false) should be …","Generate a (almost certainly) unique identifier with the …","Human-readible heading name, for docs.","Operator’s name.","Returns a new star_ord
token, representing a new …","Node ID identifying this operator in the flat or …","Helper to write the write_iterator
portion of …","Number of arguments i.e. operator(a, b, c)
has num_args = 3
…","Operator instance arguments object.","Operator instance arguments object.","Operator name.","Operator name.","The source span of this operator.","The source span of this operator.","Get the operator lookup table, generating it if needed.","Output operator idents (used for push).","","","","How many persistence lifetime arguments can be provided.","What named or numbered input ports to expect?","What named or numbered output ports to expect?","hydroflow
crate name for use #root::something
.","","Input argument range required to not show a warning.","Output argument range required to not show an warning.","Start (lower) bound.","Subgraph ID in which this operator is contained.","","","","","","","","","","","","","","","","","","","","","How many generic type arguments can be provided.","","","","","","","","","Wraps the func_arg
closure with a type checker macro …","The operator’s codegen. Returns code that is emited is …","Iterator (or pusherator) code inside the subgraphs. The …","Code which runs after iterators have been run. Mainly for …","Code which runs once outside the subgraph to set up any …","Traverses the graph, propegating the flow properties from …","","","","","","","","","","","","","","","","","","","","","","Port can either be an int or a name (path).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Output the operator as a formatted string using …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Helper struct which displays the span as row:col
for human …","Helper struct which displays the span as path:row:col
for …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","Union-find data structure.","","","","","","Finds the “representative” item for k
. Each set of …","Returns the argument unchanged.","Calls U::from(self)
.","Creates a new UnionFind
, same as Default::default()
.","Returns if a
and b
are equivalent, i.e. in the same set.","","","","","Combines two items a
and b
as equivalent, in the same set.","Creates a new UnionFind
with the given key capacity …"],"i":[0,0,0,0,0,0,1,1,0,1,0,1,1,2,4,1,2,4,1,2,4,1,2,4,1,4,1,2,4,2,1,1,2,2,2,4,4,1,2,2,4,4,1,1,2,4,1,2,2,4,2,1,4,1,2,4,2,2,1,2,4,2,2,4,2,1,2,4,1,2,4,1,2,4,0,45,35,35,0,38,28,0,0,0,0,0,42,45,0,28,0,38,42,0,0,42,0,28,0,45,45,0,0,24,43,26,28,29,37,37,38,38,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,24,0,35,29,36,35,37,38,39,40,41,42,43,44,45,28,29,36,35,37,38,39,40,41,42,43,44,45,28,36,35,39,40,41,45,28,28,38,38,39,40,41,29,24,36,26,37,39,40,41,29,29,29,36,35,26,39,40,41,42,45,28,29,26,26,29,26,26,29,26,0,36,35,39,40,41,45,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,28,29,29,24,36,35,26,37,38,39,39,40,40,41,41,42,43,44,45,28,28,37,38,37,38,24,24,28,44,43,0,0,37,38,36,35,39,40,41,43,29,26,26,29,26,26,26,26,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,28,36,26,26,26,29,24,26,37,37,37,37,26,0,26,26,26,26,26,26,26,26,26,26,26,26,26,26,43,37,26,26,26,0,43,36,35,39,40,41,45,28,0,44,29,29,29,0,29,26,26,29,29,29,36,35,26,39,40,41,42,45,28,26,26,26,42,28,36,26,26,26,26,29,29,29,26,26,26,42,29,36,35,37,38,39,40,41,42,43,44,45,28,38,42,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,44,29,24,36,35,26,37,38,39,40,41,42,43,44,45,28,37,38,37,38,38,29,26,26,26,26,26,109,110,110,109,0,0,0,80,80,0,80,111,80,0,0,80,0,0,80,0,80,80,80,80,79,0,0,0,0,0,0,80,0,0,0,0,0,80,80,79,77,77,79,77,111,0,0,111,84,86,77,82,78,79,80,111,84,86,77,82,78,79,80,84,77,78,79,80,77,78,79,80,77,79,80,112,78,82,80,79,112,77,79,80,0,0,84,86,78,84,77,79,80,111,84,86,77,82,78,79,80,84,84,80,112,78,78,0,84,78,111,84,86,77,82,78,79,80,84,78,78,80,84,86,78,0,84,86,78,86,78,86,78,0,78,77,79,80,84,84,84,78,79,84,84,112,78,77,78,79,80,111,84,86,77,82,78,79,80,111,84,86,77,82,78,79,80,84,111,84,86,77,82,78,79,80,78,84,82,82,82,0,0,0,0,92,0,0,52,92,92,92,25,0,0,92,92,52,0,25,0,0,0,0,0,25,57,57,95,93,33,25,100,101,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,96,52,57,91,52,57,91,91,91,100,93,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,91,93,96,55,55,33,25,100,101,92,93,55,94,95,96,52,57,91,95,57,100,57,55,93,94,57,33,25,100,101,92,93,55,94,95,96,52,57,91,91,57,100,101,94,95,100,101,33,25,100,101,92,93,55,94,95,96,52,57,91,91,33,52,57,91,57,33,25,100,101,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,33,25,100,101,92,93,55,94,95,96,52,57,91,57,33,25,100,101,92,93,55,94,95,96,52,57,91,91,0,0,105,106,105,106,105,106,105,106,105,106,105,106,105,106,105,106,105,106,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107],"f":[0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,1],[[[2,[-1]]],[[2,[-1]]],3],[4,4],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[1,1],6],0,[-1,[[7,[1]]],8],[-1,[[7,[[2,[-2]]]]],8,9],[-1,[[7,[4]]],8],[2,5],[[1,1],10],[[1,11],12],[[2,11],12],[[[2,[-1]],11],12,13],[[[2,[4]],11],12],[[4,11],12],[[4,11],12],[-1,-1,[]],[14,2],[-1,-1,[]],[15,4],[-1,-1,[]],[[1,-1],5,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,10],[[[2,[-1]]],10,[]],0,0,0,[[1,1],[[17,[6]]]],0,[[1,-1],7,18],[[[2,[-1]],-2],7,19,18],[[4,-1],7,18],0,[[15,1,-1],2,[[21,[20]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[2,[[2,[4]]]],[-1,20,[]],[-1,20,[]],[2,22],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[24,25],5],0,[[26,22,10,22,[27,[2]]],22],[28,20],[[[29,[-1,-2]]],5,30,30],[31,31],[31,31],[31,31],[31,31],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,[[5,[26,[27,[32]],[27,[2]]]]]],[[33,22,34],[[5,[[17,[[5,[26,22]]]],[27,[2]]]]]],[[[17,[35]],[17,[35]]],10],[[[29,[-1,-2]]],[[29,[-1,-2]]],[30,3],[30,3]],[36,36],[35,35],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[28,28],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[36,36],6],[[35,35],6],[[39,39],6],[[40,40],6],[[41,41],6],[[45,45],6],[[28,28],6],[[28,28],[[7,[28,28]]]],[[],31],[[],31],[39,46],[40,46],[41,46],[[],[[29,[-1,-2]]],30,30],[[],24],[[],36],[[],26],[[],37],[[],39],[[],40],[[],41],[[[29,[-1,-2]],-1],47,30,30],[[[29,[-1,-2]],-1],47,30,30],[-1,[[7,[[29,[-2,-3]]]]],8,[30,9],[30,9]],[-1,[[7,[36]]],8],[-1,[[7,[35]]],8],[-1,[[7,[26]]],8],[-1,[[7,[39]]],8],[-1,[[7,[40]]],8],[-1,[[7,[41]]],8],[-1,[[7,[42]]],8],[-1,[[7,[45]]],8],[-1,[[7,[28]]],8],[[[29,[-1,-2]],-2],[[17,[[5,[-1,-1]]]]],30,30],[[26,40],[[5,[39,39]]]],[[26,40],[[17,[36]]]],[[[29,[-1,-2]]],[[48,[-2,[5,[-1,-1]]]]],30,30],[26,[[48,[40,[5,[39,39]]]]]],[[26,40],[[5,[28,28]]]],[[[29,[-1,-2]]],[[0,[49,50,3,13]]],30,30],[26,[[0,[49,50,3,13]]]],[26,5],[[36,36],10],[[35,35],10],[[39,39],10],[[40,40],10],[[41,41],10],[[45,45],10],[[28,28],10],[[[29,[-1,-2]],11],12,[30,13],[30,13]],[[24,11],12],[[36,11],12],[[35,11],12],[[26,11],12],[[37,11],12],[[38,11],12],[[39,11],12],[[40,11],12],[[41,11],12],[[42,11],12],[[43,11],12],[[44,11],12],[[45,11],12],[[28,11],12],[[28,11],12],[[[51,[-1,[5,[-2,-2]]]]],[[29,[-2,-1]]],30,30],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[46,39],[-1,-1,[]],[46,40],[46,41],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[52,28],[53,[[7,[37,54]]]],[53,[[7,[38,54]]]],[53,[[7,[37,54]]]],[53,[[7,[38,54]]]],[[33,34],24],[[33,34],24],[[[55,[-1]]],[[5,[28,-1,28]]],56],0,0,[[[27,[2]],57],44],0,[[],[[17,[58]]]],[59,10],[[36,-1],5,16],[[35,-1],5,16],[[39,-1],5,16],[[40,-1],5,16],[[41,-1],5,16],0,[[[29,[-1,-2]],-1,-1],-2,30,30],[[26,39,28,39,28],40],[[26,40,42],[[5,[39,40]]]],[[[29,[-1,-2]],-1,-2],[[17,[[5,[-2,-2]]]]],30,30],[[26,42,[17,[60]]],39],[[26,39,43],5],[[26,[27,[2]]],5],[[26,[27,[39]]],[[7,[41,[5,[39,41]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,10],0,[26,[[17,[47]]]],[26,[[7,[5,2]]]],[26,20],[[],[[29,[-1,-2]]],30,30],[[],24],[[],26],0,0,0,0,[[26,39],42],[[10,47,47],[[17,[45]]]],[26,[[61,[39,45]]]],[[26,39],47],[[26,39],47],[26,[[48,[39,42]]]],[[26,39],[[17,[43]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[17,[41]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[0,[62,49,50,3,13]]]],[[26,39],[[17,[60]]]],[26,[[63,[39,42]]]],0,0,[[26,37],[[64,[5]]]],[[26,38,[17,[37]]],[[64,[5]]]],[[26,37],[[64,[5]]]],0,0,[[36,36],[[17,[6]]]],[[35,35],[[17,[6]]]],[[39,39],[[17,[6]]]],[[40,40],[[17,[6]]]],[[41,41],[[17,[6]]]],[[45,45],[[17,[6]]]],[[28,28],[[17,[6]]]],[26,[[7,[26,2]]]],0,[[[29,[-1,-2]],-1],[[66,[[65,[-2]]]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],0,[[[29,[-1,-2]],-2],[[17,[[5,[-1,-1]]]]],30,30],[[26,39],10],[[26,39],5],[[[29,[-1,-2]],-1],[[17,[[5,[-2,[5,[-2,-2]]]]]]],30,30],[[[29,[-1,-2]],-1],5,30,30],[[[29,[-1,-2]],-3],7,[30,19],[30,19],18],[[36,-1],7,18],[[35,-1],7,18],[[26,-1],7,18],[[39,-1],7,18],[[40,-1],7,18],[[41,-1],7,18],[[42,-1],7,18],[[45,-1],7,18],[[28,-1],7,18],[[26,40,36],[[17,[36]]]],[[26,41,10],10],[[26,41,47],[[17,[47]]]],[42,15],[28,15],0,[[26,41],[[27,[39]]]],[26,[[48,[41,[27,[39]]]]]],[[26,41],[[17,[47]]]],[26,[[63,[41,[27,[39]]]]]],[[[29,[-1,-2]],-1],[[66,[[65,[-2]]]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],[[[29,[-1,-2]],-1],[[0,[62,49,50,3,13]]],30,30],[26,20],[[26,37],20],[[26,37],20],[42,[[67,[59]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[38,[[17,[68]]]],[42,[[67,[59]]]],[-1,20,[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],0,[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[[37,53],[[7,[5,54]]]],[[38,53],[[7,[5,54]]]],[[37,53],[[7,[5,54]]]],[[38,53],[[7,[5,54]]]],[[],[[69,[38]]]],[47,[[29,[-1,-2]]],30,30],[[26,-1,37],12,70],[[26,-1,37],[[7,[5]]],0],[[26,-1,37],12,70],[[26,-1],12,70],[[26,-1],12,70],0,0,0,0,[[-1,-2,-3],[[71,[-4,-4]]],72,73,73,[74,75,76]],[[-1,-2],[[27,[-3]]],72,73,[74,75,76]],[[-1,-2,-3],[[27,[-4]]],73,73,73,[74,75,76]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[77,77],[78,78],[79,79],[80,80],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[77,77],6],[[79,79],6],[[80,80],6],[[-1,-2],10,[],81],0,[[],82],[80,59],[-1,[[7,[79]]],8],[-1,[[83,[-2]]],[],[]],[[77,77],10],[[79,79],10],[[80,80],10],[42,[[17,[84]]]],[57,[[17,[84]]]],0,0,0,[[84,11],12],[[77,11],12],[[79,11],12],[[80,11],12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[[80,-1],5,16],[-1,20,[]],0,0,[78,22],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[78,-1],60,[[85,[59]]]],[80,59],0,[86,47],0,[78,22],0,0,0,0,0,0,0,[[],[[87,[59,84]]]],0,[[77,77],[[17,[6]]]],[[79,79],[[17,[6]]]],[[80,80],[[17,[6]]]],0,0,0,0,[[79,-1],7,18],0,0,[-1,[[83,[-2]]],[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],0,[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[[78,88],22],0,0,0,0,[[26,[27,[2]]],[[7,[5,39]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[57,[[90,[88,89]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[52,52],[57,57],[91,91],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[91,91],6],[[91,91],10],0,0,[[92,11],12],[[93,11],12],[[[55,[-1]],11],12,13],[[94,11],12],[[95,11],12],[[96,11],12],[[52,11],12],[[57,11],12],[[91,11],12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[91,-1],5,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[57,97],0,[57,20],0,0,0,0,[98,[[99,[33]]]],[98,[[99,[25]]]],[98,[[99,[100]]]],[98,[[99,[101]]]],[98,[[99,[92]]]],[98,[[99,[93]]]],[98,[[99,[[55,[-1]]]]],102],[98,[[99,[94]]]],[98,[[99,[95]]]],[98,[[99,[96]]]],[98,[[99,[52]]]],[98,[[99,[57]]]],[98,[[99,[91]]]],[[91,91],[[17,[6]]]],0,0,0,0,0,0,0,[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],[-1,15,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[57,20],[[33,22],5],[[25,22],5],[[100,22],5],[[101,22],5],[[92,22],5],[[93,22],5],[[[55,[-1]],22],5,103],[[94,22],5],[[95,22],5],[[96,22],5],[[52,22],5],[[57,22],5],[[91,22],5],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[57,[[17,[[90,[104,89]]]]]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],[-1,23,[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[105,11],12],[[106,11],12],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,20,[]],[-1,20,[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,23,[]],[-1,23,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[[107,[-1]]],[[107,[-1]]],[30,3]],[[-1,-2],5,[],[]],[[],[[107,[-1]]],[30,108]],[[[107,[-1]],-1],-1,30],[-1,-1,[]],[-1,-2,[],[]],[[],[[107,[-1]]],30],[[[107,[-1]],-1,-1],10,30],[-1,-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,23,[]],[[[107,[-1]],-1,-1],5,30],[47,[[107,[-1]]],30]],"c":[],"p":[[4,"Level",5],[3,"Diagnostic",5],[8,"Clone",877],[3,"SerdeSpan",5],[15,"tuple"],[4,"Ordering",878],[4,"Result",879],[8,"Deserializer",880],[8,"Deserialize",880],[15,"bool"],[3,"Formatter",881],[6,"Result",881],[8,"Debug",881],[3,"Error",882],[3,"Span",883],[8,"Hasher",884],[4,"Option",885],[8,"Serializer",886],[8,"Serialize",886],[3,"String",887],[8,"Into",888],[3,"TokenStream",883],[3,"TypeId",889],[3,"FlatGraphBuilder",74],[4,"HfStatement",633],[3,"HydroflowGraph",74],[3,"Vec",890],[4,"PortIndexValue",74],[3,"DiMulGraph",74],[8,"Key",891],[3,"Command",892],[3,"ItemUse",893],[3,"HfCode",633],[3,"PathBuf",894],[4,"LatticeFlowType",74],[3,"FlowProps",74],[3,"WriteConfig",74],[4,"WriteGraphType",74],[3,"GraphNodeId",74],[3,"GraphEdgeId",74],[3,"GraphSubgraphId",74],[4,"Node",74],[3,"OperatorInstance",74],[3,"OpInstGenerics",74],[4,"Color",74],[3,"KeyData",891],[15,"usize"],[3,"Keys",895],[8,"ExactSizeIterator",896],[8,"FusedIterator",897],[3,"SlotMap",895],[4,"PortIndex",633],[3,"ArgMatches",898],[6,"Error",899],[3,"Ported",633],[8,"Spanned",900],[3,"Operator",633],[3,"Id",901],[15,"str"],[3,"Ident",883],[3,"SparseSecondaryMap",902],[8,"DoubleEndedIterator",903],[3,"Iter",895],[6,"Result",904],[3,"Iter",905],[3,"Copied",906],[4,"Cow",907],[3,"PossibleValue",908],[15,"slice"],[8,"Write",881],[3,"BTreeMap",909],[8,"IntoIterator",910],[8,"FnMut",911],[8,"Copy",912],[8,"Eq",878],[8,"Ord",878],[4,"DelayType",458],[3,"WriteContextArgs",458],[4,"Persistence",458],[4,"OperatorCategory",458],[8,"PartialOrd",878],[3,"OperatorWriteOutput",458],[4,"Bound",913],[3,"OperatorConstraints",458],[8,"AsRef",888],[3,"FlowPropArgs",458],[3,"HashMap",914],[4,"Expr",915],[3,"Comma",916],[3,"Punctuated",917],[3,"IndexInt",633],[4,"Pipeline",633],[3,"Import",633],[3,"PipelineParen",633],[3,"PipelineLink",633],[3,"Indexing",633],[3,"Path",918],[6,"ParseStream",919],[6,"Result",882],[3,"NamedHfStatement",633],[3,"PipelineStatement",633],[8,"Parse",919],[8,"ToTokens",920],[4,"GenericArgument",918],[3,"PrettySpan",840],[3,"PrettyRowCol",840],[3,"UnionFind",860],[8,"Default",921],[13,"Handoff",451],[13,"ModuleBoundary",451],[4,"PortListSpec",458],[8,"RangeTrait",458]],"b":[[32,"impl-Display-for-Diagnostic"],[33,"impl-Debug-for-Diagnostic%3CS%3E"],[34,"impl-Display-for-Diagnostic%3CSerdeSpan%3E"],[35,"impl-Debug-for-SerdeSpan"],[36,"impl-Display-for-SerdeSpan"],[234,"impl-Display-for-PortIndexValue"],[235,"impl-Debug-for-PortIndexValue"]]},\
"hydroflow_macro":{"doc":"","t":"YXOOOXOO","n":["DemuxEnum","hydroflow_main","hydroflow_parser","hydroflow_syntax","hydroflow_syntax_noemit","hydroflow_test","monotonic_fn","morphism"],"q":[[0,"hydroflow_macro"]],"d":["","","Parse Hydroflow “surface syntax” without emitting code.","Create a Hydroflow instance using Hydroflow’s custom “…","hydroflow_syntax!
but will not emit any diagnostics …","","Checks that the given closure is a monotonic function. For …","Checks that the given closure is a morphism. For now does …"],"i":[0,0,0,0,0,0,0,0],"f":[0,0,0,0,0,0,0,0],"c":[],"p":[],"b":[]},\
"lattices":{"doc":"The lattices
crate provides ergonomic and compsable …","t":"QQIDDIIIIIDIDIDDDDDLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLAKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMDDDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDGGGGGGLLLLLLLLLLLLLLLLLLLLLLLLLLDGGGGGGLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFDGGGGGGLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["Atom","AtomIter","Atomize","Conflict","DomPair","IsBot","IsTop","Lattice","LatticeFrom","LatticeOrd","Max","Merge","Min","NaiveLatticeOrd","Pair","Point","VecUnion","WithBot","WithTop","as_reveal_mut","as_reveal_mut","as_reveal_mut","as_reveal_mut","as_reveal_mut","as_reveal_mut","as_reveal_mut","as_reveal_mut","as_reveal_ref","as_reveal_ref","as_reveal_ref","as_reveal_ref","as_reveal_ref","as_reveal_ref","as_reveal_ref","as_reveal_ref","atomize","atomize","atomize","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cc_traits","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","collections","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into_reveal","into_reveal","into_reveal","into_reveal","into_reveal","into_reveal","into_reveal","into_reveal","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_bot","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","is_top","key","lattice_from","lattice_from","lattice_from","lattice_from","lattice_from","lattice_from","lattice_from","lattice_from","lattice_from","lattice_from","map_union","merge","merge","merge","merge","merge","merge","merge","merge","merge","merge","merge_owned","naive_cmp","new","new","new","new","new","new","new","new","new","new_from","new_from","new_from","new_from","new_from","new_from","new_from","new_from","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_union","test","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union_find","val","ArrayMap","ArraySet","OptionMap","OptionSet","SingletonMap","SingletonSet","VecMap","VecSet","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get","get","get","get","get","get","get","get","get_key_value","get_key_value","get_key_value","get_key_value","get_key_value_mut","get_key_value_mut","get_key_value_mut","get_key_value_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","get_mut","hash","hash","hash","hash","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_ref","into_ref","into_ref","into_ref","is_empty","is_empty","iter","iter","iter","iter","iter","iter","iter","iter","iter","iter","iter","iter_mut","iter_mut","iter_mut","iter_mut","iter_mut","iter_mut","iter_mut","keys","keys","len","len","len","len","len","len","len","len","new","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast_item_mut","upcast_item_mut","upcast_item_mut","upcast_item_mut","upcast_item_mut","upcast_item_mut","upcast_item_mut","upcast_item_mut","upcast_item_ref","upcast_item_ref","upcast_item_ref","upcast_item_ref","upcast_item_ref","upcast_item_ref","upcast_item_ref","upcast_item_ref","upcast_key_ref","upcast_key_ref","upcast_key_ref","upcast_key_ref","vals","vals","MapUnion","MapUnionArrayMap","MapUnionBTreeMap","MapUnionHashMap","MapUnionOptionMap","MapUnionSingletonMap","MapUnionVec","as_reveal_mut","as_reveal_ref","atomize","borrow","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","serialize","to_owned","try_from","try_into","type_id","SetUnion","SetUnionArray","SetUnionBTreeSet","SetUnionHashSet","SetUnionOptionSet","SetUnionSingletonSet","SetUnionVec","as_reveal_mut","as_reveal_ref","atomize","borrow","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","serialize","to_owned","try_from","try_into","type_id","cartesian_power","check_all","check_atomize_each","check_lattice_default_is_bot","check_lattice_is_bot","check_lattice_is_top","check_lattice_ord","check_lattice_properties","check_partial_ord_properties","UnionFind","UnionFindArrayMap","UnionFindBTreeMap","UnionFindHashMap","UnionFindOptionMap","UnionFindSingletonMap","UnionFindVec","as_reveal_mut","as_reveal_ref","atomize","borrow","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","same","serialize","to_owned","try_from","try_into","type_id","union"],"q":[[0,"lattices"],[341,"lattices::collections"],[579,"lattices::map_union"],[612,"lattices::set_union"],[645,"lattices::test"],[654,"lattices::union_find"],[689,"core::option"],[690,"alloc::vec"],[691,"core::clone"],[692,"core::cmp"],[693,"core::cmp"],[694,"core::result"],[695,"serde::de"],[696,"serde::de"],[697,"core::fmt"],[698,"core::cmp"],[699,"serde::ser"],[700,"serde::ser"],[701,"core::cmp"],[702,"core::hash"],[703,"core::hash"],[704,"cc_traits"],[705,"core::iter::traits::collect"],[706,"cc_traits"],[707,"core::marker"],[708,"cc_traits::non_alias"]],"d":["The type of atoms for this lattice.","The iter type iterating the antichain atoms.","Trait to atomize a lattice into individual elements. For …","A Conflict
lattice, stores a single instance of T
and goes …","Dominating pair compound lattice.","Trait to check if a lattice instance is bottom (⊥).","Trait to check if a lattice instance is top (⊤) and …","Alias trait for lattice types.","Same as From
but for lattices.","Trait for lattice partial order comparison PartialOrd is …","A totally ordered max lattice. Merging returns the larger …","Trait for lattice merge (AKA “join” or “least upper …","A totally ordered min lattice. Merging returns the smaller …","Naive lattice compare, based on the Merge::merge
function.","Pair compound lattice.","A Point
lattice, corresponding to a single instance of T
.","Vec-union compound lattice.","Wraps a lattice in Option
, treating None
as a new bottom …","Wraps a lattice in Option
, treating None
as a new top …","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as an exclusive reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Reveal the inner value as a shared reference.","Atomize self: convert into an iter of atoms.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Simple singleton or array collection with cc_traits
…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create a new Max
lattice instance from an Into<T>
value.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Gets the inner by value, consuming self.","Returns if self
is lattice bottom (⊥).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns if self
is lattice top (⊤).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The Key
of the dominating pair lattice, usually a …","Convert from the Other
lattice into Self
.","","","","","","","","","","Module containing the MapUnion
lattice and aliases for …","Merge other
into the self
lattice.","","","","","","","","","","Merge this
and delta
together, returning the new value.","Naive compare based on the Merge::merge
method. This …","Create a new Conflict
lattice instance from a value.","Create a DomPair
from the given Key
and Val
.","Create a new Max
lattice instance from a T
.","Create a new Min
lattice instance from a T
.","Create a Pair
from the given values.","Create a new Point
lattice instance from a value.","Create a new VecUnion
from a Vec
of Lat
instances.","Create a new WithBot
lattice instance from a value.","Create a new WithTop
lattice instance from a value.","Create a new Conflict
lattice instance from a value using …","Create a DomPair
from the given Into<Key>
and Into<Val>
.","Create a new Min
lattice instance from an Into<T>
value.","Create a Pair
from the given values, using Into
.","Create a new Point
lattice instance from a value using Into
…","Create a new VecUnion
from an Into<Vec<Lat>>
.","Create a new WithBot
lattice instance from a value using …","Create a new WithTop
lattice instance from a value using …","","","","","","","","","","","","","","","","","","","Module containing the SetUnion
lattice and aliases for …","Helper test utils to test lattice implementation …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Module containing the UnionFind
lattice and aliases for …","The value stored inside. This should not be mutated.","An array wrapper representing a fixed-size map.","An array wrapper representing a fixed-size set (modulo …","A key-value entry wrapper around Option<(K, V)>
…","A wrapper around Option
, representing either a singleton …","A key-value entry wrapper representing a singleton map.","A wrapper around an item, representing a singleton set.","A Vec
-wrapper representing a naively implemented map.","A Vec
-wrapper representing a naively-implemented set.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Keys, should be the same length as and correspond 1:1 to …","Keys, corresponding 1:1 with vals
.","","","","","","","","","Create a new VecMap
from the separate keys
and vals
vecs.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Vals, should be the same length as and correspond 1:1 to …","Values, corresponding 1:1 with keys
.","Map-union compound lattice.","Array-backed MapUnion
lattice.","std::collections::BTreeMap
-backed MapUnion
lattice.","std::collections::HashMap
-backed MapUnion
lattice.","Option
-backed MapUnion
lattice.","crate::collections::SingletonMap
-backed MapUnion
lattice.","Vec
-backed MapUnion
lattice.","Reveal the inner value as an exclusive reference.","Reveal the inner value as a shared reference.","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","Gets the inner by value, consuming self.","","","","","Create a new MapUnion
from a Map
.","Create a new MapUnion
from an Into<Map>
.","","","","","","","Set-union lattice.","crate::collections::ArraySet
-backed SetUnion
lattice.","std::collections::BTreeSet
-backed SetUnion
lattice.","std::collections::HashSet
-backed SetUnion
lattice.","Option
-backed SetUnion
lattice.","crate::collections::SingletonSet
-backed SetUnion
lattice.","Vec
-backed SetUnion
lattice.","Reveal the inner value as an exclusive reference.","Reveal the inner value as a shared reference.","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","Gets the inner by value, consuming self.","","","","","Create a new SetUnion
from a Set
.","Create a new SetUnion
from an Into<Set>
.","","","","","","","Returns an iterator of N
-length arrays containing all …","Helper which calls many other check_*
functions in this …","Check that the atomized lattice points re-merge to form …","Asserts that IsBot
is true for Default::default()
.","Checks that the item which is bot is less than (or equal …","Checks that the item which is top is greater than (or …","Check that the lattice’s PartialOrd
implementation …","Check lattice associativity, commutativity, and …","Checks PartialOrd
, PartialEq
, and Eq
’s reflexivity, …","Union-find lattice.","Array-backed UnionFind
lattice.","std::collections::BTreeMap
-backed UnionFind
lattice.","std::collections::HashMap
-backed UnionFind
lattice.","Option
-backed UnionFind
lattice.","crate::collections::SingletonMap
-backed UnionFind
lattice.","Vec
-backed UnionFind
lattice.","Reveal the inner value as an exclusive reference.","Reveal the inner value as a shared reference.","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","Gets the inner by value, consuming self.","","","","","Create a new UnionFind
from a Map
.","Create a new UnionFind
from an Into<Map>
.","","Returns if a
and b
are in the same set.","","","","","","Union the sets containg a
and b
."],"i":[12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,5,6,7,8,10,11,1,3,5,6,7,8,10,11,12,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,0,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,5,6,0,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,8,10,11,37,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,15,8,10,11,42,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,15,8,10,11,3,13,1,3,5,6,7,15,8,10,11,0,43,1,3,5,6,7,15,8,10,11,43,80,1,3,5,6,7,15,8,10,11,1,3,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,0,0,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,1,3,5,6,7,15,8,10,11,0,15,0,0,0,0,0,0,0,0,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,53,54,49,50,51,52,53,54,49,50,51,52,53,54,55,56,49,50,51,52,53,54,49,49,50,51,51,51,52,52,53,53,53,54,54,55,55,56,56,49,50,51,52,53,54,55,56,50,52,54,56,50,52,54,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,50,52,54,56,49,50,49,50,51,52,52,53,54,54,55,56,56,49,50,51,52,53,54,56,50,56,49,50,51,52,53,54,55,56,50,49,50,51,52,53,54,55,56,49,50,51,52,53,54,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,49,50,51,52,53,54,55,56,50,52,54,56,50,56,0,0,0,0,0,0,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,0,0,0,0,0,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[1,[-1]]],[[2,[-1]]],[]],[[[3,[-1,-2]]],[[4,[-1,-2]]],[],[]],[[[5,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[[[7,[-1,-2]]],[[4,[-1,-2]]],[],[]],[[[8,[-1]]],[[9,[-1]]],[]],[[[10,[-1]]],[[2,[-1]]],[]],[[[11,[-1]]],[[2,[-1]]],[]],[[[1,[-1]]],[[2,[-1]]],[]],[[[3,[-1,-2]]],[[4,[-1,-2]]],[],[]],[[[5,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[[[7,[-1,-2]]],[[4,[-1,-2]]],[],[]],[[[8,[-1]]],[[9,[-1]]],[]],[[[10,[-1]]],[[2,[-1]]],[]],[[[11,[-1]]],[[2,[-1]]],[]],[-1,[],[]],[[[10,[-1]]],[],[12,13]],[[[11,[-1]]],[],[12,13]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[1,[-1]]],[[1,[-1]]],14],[[[3,[-1,-2]]],[[3,[-1,-2]]],14,14],[[[5,[-1]]],[[5,[-1]]],14],[[[6,[-1]]],[[6,[-1]]],14],[[[7,[-1,-2]]],[[7,[-1,-2]]],14,14],[[[15,[-1,-2]]],[[15,[-1,-2]]],14,14],[[[8,[-1]]],[[8,[-1]]],14],[[[10,[-1]]],[[10,[-1]]],14],[[[11,[-1]]],[[11,[-1]]],14],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[[5,[-1]],[5,[-1]]],16,17],[[[6,[-1]],[6,[-1]]],16,17],0,[[],[[3,[-1,-2]]],18,18],[[],[[5,[19]]]],[[],[[5,[20]]]],[[],[[5,[21]]]],[[],[[5,[22]]]],[[],[[5,[23]]]],[[],[[5,[24]]]],[[],[[5,[25]]]],[[],[[5,[26]]]],[[],[[5,[27]]]],[[],[[5,[28]]]],[[],[[5,[29]]]],[[],[[5,[30]]]],[[],[[5,[31]]]],[[],[[5,[32]]]],[[],[[6,[22]]]],[[],[[6,[27]]]],[[],[[6,[25]]]],[[],[[6,[28]]]],[[],[[6,[21]]]],[[],[[6,[31]]]],[[],[[6,[23]]]],[[],[[6,[19]]]],[[],[[6,[30]]]],[[],[[6,[32]]]],[[],[[6,[26]]]],[[],[[6,[29]]]],[[],[[6,[24]]]],[[],[[6,[20]]]],[[],[[7,[-1,-2]]],18,18],[[],[[15,[-1,-2]]],18,18],[[],[[8,[-1]]],[]],[[],[[10,[-1]]],[]],[[],[[11,[-1]]],18],[-1,[[33,[[1,[-2]]]]],34,35],[-1,[[33,[[3,[-2,-3]]]]],34,35,35],[-1,[[33,[[5,[-2]]]]],34,35],[-1,[[33,[[6,[-2]]]]],34,35],[-1,[[33,[[7,[-2,-3]]]]],34,35,35],[-1,[[33,[[15,[-2,-3]]]]],34,35,[]],[-1,[[33,[[8,[-2]]]]],34,35],[-1,[[33,[[10,[-2]]]]],34,35],[-1,[[33,[[11,[-2]]]]],34,35],[[[1,[-2]],[1,[-1]]],22,[],[[36,[-1]]]],[[[3,[-2,-4]],[3,[-1,-3]]],22,[],[[36,[-1]]],[],[[36,[-3]]]],[[[5,[-1]],[5,[-1]]],22,36],[[[6,[-1]],[6,[-1]]],22,36],[[[7,[-2,-4]],[7,[-1,-3]]],22,[],[[36,[-1]]],[],[[36,[-3]]]],[[[15,[-1,-2]],[15,[-1,-2]]],22,36,[]],[[[8,[-2]],[8,[-1]]],22,[],[[36,[-1]]]],[[[10,[-2]],[10,[-1]]],22,37,[[36,[-1]],37]],[[[11,[-2]],[11,[-1]]],22,[],[[36,[-1]]]],[[[1,[-1]],38],39,40],[[[3,[-1,-2]],38],39,40,40],[[[5,[-1]],38],39,40],[[[6,[-1]],38],39,40],[[[7,[-1,-2]],38],39,40,40],[[[15,[-1,-2]],38],39,40,40],[[[8,[-1]],38],39,40],[[[10,[-1]],38],39,40],[[[11,[-1]],38],39,40],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-2,[[5,[-1]]],[],[[41,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[1,[-1]]],[[2,[-1]]],[]],[[[3,[-1,-2]]],[[4,[-1,-2]]],[],[]],[[[5,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[[[7,[-1,-2]]],[[4,[-1,-2]]],[],[]],[[[8,[-1]]],[[9,[-1]]],[]],[[[10,[-1]]],[[2,[-1]]],[]],[[[11,[-1]]],[[2,[-1]]],[]],[-1,22,[]],[[[1,[-1]]],22,[]],[[[3,[-1,-2]]],22,37,37],[[[5,[29]]],22],[[[5,[20]]],22],[[[5,[23]]],22],[[[5,[31]]],22],[[[5,[24]]],22],[[[5,[22]]],22],[[[5,[26]]],22],[[[5,[4]]],22],[[[5,[27]]],22],[[[5,[30]]],22],[[[5,[19]]],22],[[[5,[25]]],22],[[[5,[21]]],22],[[[5,[28]]],22],[[[5,[32]]],22],[[[6,[4]]],22],[[[6,[30]]],22],[[[6,[21]]],22],[[[6,[29]]],22],[[[6,[22]]],22],[[[6,[20]]],22],[[[6,[31]]],22],[[[6,[32]]],22],[[[6,[24]]],22],[[[6,[26]]],22],[[[6,[23]]],22],[[[6,[19]]],22],[[[6,[25]]],22],[[[6,[28]]],22],[[[6,[27]]],22],[[[7,[-1,-2]]],22,37,37],[[[15,[-1,-2]]],22,[],[]],[[[8,[-1]]],22,[]],[[[10,[-1]]],22,37],[[[11,[-1]]],22,37],[-1,22,[]],[[[1,[-1]]],22,[]],[[[3,[-1,-2]]],22,42,42],[[[5,[26]]],22],[[[5,[21]]],22],[[[5,[28]]],22],[[[5,[22]]],22],[[[5,[31]]],22],[[[5,[30]]],22],[[[5,[19]]],22],[[[5,[20]]],22],[[[5,[24]]],22],[[[5,[29]]],22],[[[5,[25]]],22],[[[5,[4]]],22],[[[5,[27]]],22],[[[5,[23]]],22],[[[5,[32]]],22],[[[6,[21]]],22],[[[6,[28]]],22],[[[6,[25]]],22],[[[6,[29]]],22],[[[6,[19]]],22],[[[6,[27]]],22],[[[6,[24]]],22],[[[6,[23]]],22],[[[6,[4]]],22],[[[6,[30]]],22],[[[6,[26]]],22],[[[6,[20]]],22],[[[6,[32]]],22],[[[6,[22]]],22],[[[6,[31]]],22],[[[7,[-1,-2]]],22,42,42],[[[15,[-1,-2]]],22,[],[]],[[[8,[-1]]],22,[]],[[[10,[-1]]],22,42],[[[11,[-1]]],22,42],0,[-1,-2,[],[]],[[[1,[-1]]],[[1,[-1]]],[]],[[[3,[-1,-2]]],[[3,[-3,-4]]],[],[],[[13,[-1]]],[[13,[-2]]]],[[[5,[-1]]],[[5,[-1]]],[]],[[[6,[-1]]],[[6,[-1]]],[]],[[[7,[-1,-2]]],[[7,[-3,-4]]],[],[],[[13,[-1]]],[[13,[-2]]]],[[[15,[-1,-2]]],[[15,[-1,-2]]],[],[]],[[[8,[-1]]],[[8,[-2]]],[],[[13,[-1]]]],[[[10,[-1]]],[[10,[-2]]],[],[[13,[-1]]]],[[[11,[-1]]],[[11,[-2]]],[],[[13,[-1]]]],0,[[-1,-2],22,[],[]],[[[1,[-2]],[1,[-1]]],22,[],[[36,[-1]]]],[[[3,[-2,-4]],[3,[-1,-3]]],22,[],[[43,[-1]],[13,[-1]],[44,[-1]]],[],[[43,[-3]],[13,[-3]]]],[[[5,[-1]],[5,[-1]]],22,17],[[[6,[-1]],[6,[-1]]],22,17],[[[7,[-2,-4]],[7,[-1,-3]]],22,[],[[43,[-1]]],[],[[43,[-3]]]],[[[15,[-1,-2]],[15,[-1,-2]]],22,36,[]],[[[8,[-2]],[8,[-1]]],22,[],[[43,[-1]],[13,[-1]]]],[[[10,[-2]],[10,[-1]]],22,37,[[43,[-1]],[13,[-1]]]],[[[11,[-2]],[11,[-1]]],22,[],[[43,[-1]],[13,[-1]]]],[[-1,-2],-1,45,[]],[[-1,-2],[[2,[16]]],[],[]],[[[2,[-1]]],[[1,[-1]]],[]],[[-1,-2],[[3,[-1,-2]]],[],[]],[-1,[[5,[-1]]],[]],[-1,[[6,[-1]]],[]],[[-1,-2],[[7,[-1,-2]]],[],[]],[-1,[[15,[-1,-2]]],[],[]],[[[9,[-1]]],[[8,[-1]]],[]],[[[2,[-1]]],[[10,[-1]]],[]],[[[2,[-1]]],[[11,[-1]]],[]],[-2,[[1,[-1]]],[],[[41,[[2,[-1]]]]]],[[-2,-4],[[3,[-1,-3]]],[],[[41,[-1]]],[],[[41,[-3]]]],[-2,[[6,[-1]]],[],[[41,[-1]]]],[[-2,-4],[[7,[-1,-3]]],[],[[41,[-1]]],[],[[41,[-3]]]],[-2,[[15,[-1,-3]]],[],[[41,[-1]]],[]],[-2,[[8,[-1]]],[],[[41,[[9,[-1]]]]]],[-2,[[10,[-1]]],[],[[41,[[2,[-1]]]]]],[-2,[[11,[-1]]],[],[[41,[[2,[-1]]]]]],[[[1,[-2]],[1,[-1]]],[[2,[16]]],[],[[36,[-1]]]],[[[3,[-2,-4]],[3,[-1,-3]]],[[2,[16]]],[],[[44,[-1]]],[],[[44,[-3]]]],[[[5,[-1]],[5,[-1]]],[[2,[16]]],44],[[[6,[-1]],[6,[-1]]],[[2,[16]]],44],[[[7,[-2,-4]],[7,[-1,-3]]],[[2,[16]]],[],[[44,[-1]]],[],[[44,[-3]]]],[[[15,[-1,-2]],[15,[-1,-2]]],[[2,[16]]],36,[]],[[[8,[-2]],[8,[-1]]],[[2,[16]]],[],[[44,[-1]]]],[[[10,[-2]],[10,[-1]]],[[2,[16]]],37,[[44,[-1]],37]],[[[11,[-2]],[11,[-1]]],[[2,[16]]],[],[[44,[-1]]]],[[[1,[-1]],-2],33,46,47],[[[3,[-1,-2]],-3],33,46,46,47],[[[5,[-1]],-2],33,46,47],[[[6,[-1]],-2],33,46,47],[[[7,[-1,-2]],-3],33,46,46,47],[[[15,[-1,-2]],-3],33,46,[],47],[[[8,[-1]],-2],33,46,47],[[[10,[-1]],-2],33,46,47],[[[11,[-1]],-2],33,46,47],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[49,[-1]]],[[49,[-1]]],14],[[[50,[-1,-2]]],[[50,[-1,-2]]],14,14],[[[51,[-1]]],[[51,[-1]]],14],[[[52,[-1,-2]]],[[52,[-1,-2]]],14,14],[[[53,[-1]]],[[53,[-1]]],14],[[[54,[-1,-2]]],[[54,[-1,-2]]],14,14],[[[55,[-1]]],[[55,[-1]]],14],[[[56,[-1,-2]]],[[56,[-1,-2]]],14,14],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[[49,[-1]],[49,[-1]]],16,17],[[[50,[-1,-2]],[50,[-1,-2]]],16,17,17],[[[51,[-1]],[51,[-1]]],16,17],[[[52,[-1,-2]],[52,[-1,-2]]],16,17,17],[[[53,[-1]],[53,[-1]]],16,17],[[[54,[-1,-2]],[54,[-1,-2]]],16,17,17],[[[55,[-1]],[55,[-1]]],16,17],[[[56,[-1,-2]],[56,[-1,-2]]],16,17,17],[[],[[53,[-1]]],[]],[[],[[54,[-1,-2]]],[],[]],[-1,[[33,[[49,[-2]]]]],34,35],[-1,[[33,[[50,[-2,-3]]]]],34,35,35],[-1,[[33,[[51,[-2]]]]],34,35],[-1,[[33,[[52,[-2,-3]]]]],34,35,35],[-1,[[33,[[53,[-2]]]]],34,35],[-1,[[33,[[54,[-2,-3]]]]],34,35,35],[[[49,[-1]],[49,[-1]]],22,36],[[[50,[-1,-2]],[50,[-1,-2]]],22,36,36],[[[51,[-1]],[51,[-1]]],22,36],[[[52,[-1,-2]],[52,[-1,-2]]],22,36,36],[[[53,[-1]],[53,[-1]]],22,36],[[[54,[-1,-2]],[54,[-1,-2]]],22,36,36],[[[55,[-1]],[55,[-1]]],22,36],[[[56,[-1,-2]],[56,[-1,-2]]],22,36,36],[[[49,[-1]],38],39,40],[[[50,[-1,-2]],38],39,40,40],[[[51,[-1]],38],39,40],[[[52,[-1,-2]],38],39,40,40],[[[53,[-1]],38],39,40],[[[54,[-1,-2]],38],39,40,40],[[[9,[-1]]],[[49,[-1]]],[]],[-1,-1,[]],[-1,-1,[]],[-1,[[51,[-1]]],[]],[-1,-1,[]],[57,-1,[]],[-1,-1,[]],[[[4,[-1,-2]]],[[52,[-1,-2]]],[],[]],[-1,-1,[]],[-2,[[53,[-1]]],[],[[41,[[2,[-1]]]]]],[57,-1,[]],[-1,-1,[]],[-3,[[54,[-1,-2]]],[],[],[[41,[[2,[[4,[-1,-2]]]]]]]],[-1,-1,[]],[[[58,[-1]]],[[55,[-1]]],[]],[-1,-1,[]],[[[58,[[4,[-1,-2]]]]],[[56,[-1,-2]]],[],[]],[[[49,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[50,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[51,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[52,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[53,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[54,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[55,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[56,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[50,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[52,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[54,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[56,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[50,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[52,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[54,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[56,[-2,-3]],-1],[[2,[4]]],[59,45],[[60,[-1]]],[]],[[[49,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[50,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[51,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[52,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[53,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[54,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[55,[-2]],-1],2,[59,45],[[60,[-1]]]],[[[56,[-2,-3]],-1],2,[59,45],[[60,[-1]]],[]],[[[49,[-1]],-2],4,61,62],[[[50,[-1,-2]],-3],4,61,61,62],[[[51,[-1]],-2],4,61,62],[[[52,[-1,-2]],-3],4,61,61,62],[[[53,[-1]],-2],4,61,62],[[[54,[-1,-2]],-3],4,61,61,62],[[[55,[-1]],-2],4,61,62],[[[56,[-1,-2]],-3],4,61,61,62],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[49,[-1]]],[],[]],[[[50,[-1,-2]]],[],[],[]],[[[51,[-1]]],[],[]],[[[52,[-1,-2]]],[],[],[]],[[[53,[-1]]],[],[]],[[[54,[-1,-2]]],[],[],[]],[[[55,[-1]]],[],[]],[[[56,[-1,-2]]],[],[],[]],[[]],[[]],[[]],[[]],[[[49,[-1]]],22,[]],[[[50,[-1,-2]]],22,[],[]],[[[49,[-1]]],[],[]],[[[50,[-1,-2]]],[],[],[]],[[[51,[-1]]],[],[]],[[[52,[-1,-2]]],[],[],[]],[[[52,[-1,-2]]],[],[],[]],[[[53,[-1]]],[],[]],[[[54,[-1,-2]]],[],[],[]],[[[54,[-1,-2]]],[],[],[]],[[[55,[-1]]],[],[]],[[[56,[-1,-2]]],[],[],[]],[[[56,[-1,-2]]],[],[],[]],[[[49,[-1]]],[],[]],[[[50,[-1,-2]]],[],[],[]],[[[51,[-1]]],[],[]],[[[52,[-1,-2]]],[],[],[]],[[[53,[-1]]],[],[]],[[[54,[-1,-2]]],[],[],[]],[[[56,[-1,-2]]],[],[],[]],0,0,[[[49,[-1]]],32,[]],[[[50,[-1,-2]]],32,[],[]],[[[51,[-1]]],32,[]],[[[52,[-1,-2]]],32,[],[]],[[[53,[-1]]],32,[]],[[[54,[-1,-2]]],32,[],[]],[[[55,[-1]]],32,[]],[[[56,[-1,-2]]],32,[],[]],[[[9,[-1]],[9,[-2]]],[[50,[-1,-2]]],[],[]],[[[49,[-1]],[49,[-1]]],[[2,[16]]],44],[[[50,[-1,-2]],[50,[-1,-2]]],[[2,[16]]],44,44],[[[51,[-1]],[51,[-1]]],[[2,[16]]],44],[[[52,[-1,-2]],[52,[-1,-2]]],[[2,[16]]],44,44],[[[53,[-1]],[53,[-1]]],[[2,[16]]],44],[[[54,[-1,-2]],[54,[-1,-2]]],[[2,[16]]],44,44],[[[55,[-1]],[55,[-1]]],[[2,[16]]],44],[[[56,[-1,-2]],[56,[-1,-2]]],[[2,[16]]],44,44],[[[49,[-1]],-2],33,46,47],[[[50,[-1,-2]],-3],33,46,46,47],[[[51,[-1]],-2],33,46,47],[[[52,[-1,-2]],-3],33,46,46,47],[[[53,[-1]],-2],33,46,47],[[[54,[-1,-2]],-3],33,46,46,47],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[-1,48,[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[[63,[-1]]],-1,[]],[[[63,[-1]]],-1,[]],[[[63,[-3]]],[],14,[12,13],[64,65,[66,[[4,[-1,-2]]]],[67,[-1]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[[63,[-1]]],[[63,[-1]]],14],[[-1,-2],4,[],[]],[[],[[63,[-1]]],18],[-1,[[33,[[63,[-2]]]]],34,35],[[[63,[-4]],[63,[-5]]],22,[],37,[[36,[-2]],37],[[68,[-1,-3]],69,70],[[68,[-1,-2]],69,70]],[[[63,[-1]],38],39,40],[-1,-1,[]],[-1,-2,[],[]],[[[63,[-1]]],-1,[]],[[[63,[-1]]],22,71],[[[63,[-1]]],22,[]],[[[63,[-1]]],[[63,[-5]]],64,[],[],[[13,[-3]]],[65,[72,[[4,[-2,-4]]]]]],[[[63,[-4]],[63,[-5]]],22,[],37,[[43,[-2]],[13,[-2]]],[65,[66,[[4,[-1,-3]]]],[67,[-1]]],64],[-1,[[63,[-1]]],[]],[-2,[[63,[-1]]],[],[[41,[-1]]]],[[[63,[-4]],[63,[-5]]],[[2,[16]]],[],37,[[44,[-2]],37],[[68,[-1,-3]],69,70],[[68,[-1,-2]],69,70]],[[[63,[-1]],-2],33,46,47],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,48,[]],0,0,0,0,0,0,0,[[[73,[-1]]],-1,[]],[[[73,[-1]]],-1,[]],[[[73,[-2]]],[],[],[74,64,[66,[-1]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[[73,[-1]]],[[73,[-1]]],14],[[-1,-2],4,[],[]],[[],[[73,[-1]]],18],[-1,[[33,[[73,[-2]]]]],34,35],[[[73,[-2]],[73,[-3]]],22,[],[[75,[-1]],71],[[75,[-1]],71]],[[[73,[-1]],38],39,40],[-1,-1,[]],[-1,-2,[],[]],[[[73,[-1]]],-1,[]],[[[73,[-1]]],22,74],[[[73,[-1]]],22,[]],[[[73,[-1]]],[[73,[-3]]],64,[],[[72,[-2]]]],[[[73,[-2]],[73,[-3]]],22,[],[[66,[-1]],74],64],[-1,[[73,[-1]]],[]],[-2,[[73,[-1]]],[],[[41,[-1]]]],[[[73,[-2]],[73,[-3]]],[[2,[16]]],[],[[75,[-1]],71],[[75,[-1]],71]],[[[73,[-1]],-2],33,46,47],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,48,[]],[[[76,[-1]]],[[0,[77,14]]],[]],[[[76,[-1]]],4,[78,14,59,40,18]],[[[76,[-1]]],4,[12,43,79,37,18,14,40]],[[],4],[[[76,[-1]]],4,[37,79,40]],[[[76,[-1]]],4,[42,79,40]],[[[76,[-1]]],4,[79,80,40]],[[[76,[-1]]],4,[]],[[[76,[-1]]],4,[44,59,40]],0,0,0,0,0,0,0,[[[81,[-1]]],-1,[]],[[[81,[-1]]],-1,[]],[[[81,[-2]]],[],[82,59],[[84,[-1,[83,[-1]]]],64]],[-1,-2,[],[]],[-1,-2,[],[]],[[[81,[-1]]],[[81,[-1]]],14],[[-1,-2],4,[],[]],[[],[[81,[-1]]],18],[-1,[[33,[[81,[-2]]]]],34,35],[[[81,[-2]],[81,[-3]]],22,[82,59],[[84,[-1,[83,[-1]]]],69],[[84,[-1,[83,[-1]]]],69]],[[[81,[-1]],38],39,40],[-1,-1,[]],[-1,-2,[],[]],[[[81,[-1]]],-1,[]],[[[81,[-1]]],22,69],[[[81,[-1]]],22,[]],[[[81,[-1]]],[[81,[-3]]],64,[82,59],[65,[72,[[4,[-2,[83,[-2]]]]]]]],[[[81,[-2]],[81,[-3]]],22,[82,59],[[84,[-1,[83,[-1]]]]],64],[-1,[[81,[-1]]],[]],[-2,[[81,[-1]]],[],[[41,[-1]]]],[[[81,[-2]],[81,[-3]]],[[2,[16]]],[82,59],[[84,[-1,[83,[-1]]]],69],[[84,[-1,[83,[-1]]]],69]],[[[81,[-2]],-1,-1],[[5,[22]]],[82,59],[[68,[-1,[83,[-1]]]]]],[[[81,[-1]],-2],33,46,47],[-1,-2,[],[]],[-1,[[33,[-2]]],[],[]],[-1,[[33,[-2]]],[],[]],[-1,48,[]],[[[81,[-2]],-1,-1],[[6,[22]]],[82,59],[[84,[-1,[83,[-1]]]]]]],"c":[],"p":[[3,"Conflict",0],[4,"Option",689],[3,"DomPair",0],[15,"tuple"],[3,"Max",0],[3,"Min",0],[3,"Pair",0],[3,"VecUnion",0],[3,"Vec",690],[3,"WithBot",0],[3,"WithTop",0],[8,"Atomize",0],[8,"LatticeFrom",0],[8,"Clone",691],[3,"Point",0],[4,"Ordering",692],[8,"Ord",692],[8,"Default",693],[15,"char"],[15,"u64"],[15,"i32"],[15,"bool"],[15,"isize"],[15,"u8"],[15,"u32"],[15,"i64"],[15,"u16"],[15,"i8"],[15,"i128"],[15,"i16"],[15,"u128"],[15,"usize"],[4,"Result",694],[8,"Deserializer",695],[8,"Deserialize",695],[8,"PartialEq",692],[8,"IsBot",0],[3,"Formatter",696],[6,"Result",696],[8,"Debug",696],[8,"Into",697],[8,"IsTop",0],[8,"Merge",0],[8,"PartialOrd",692],[8,"Sized",698],[8,"Serialize",699],[8,"Serializer",699],[3,"TypeId",700],[3,"VecSet",341],[3,"VecMap",341],[3,"SingletonSet",341],[3,"SingletonMap",341],[3,"OptionSet",341],[3,"OptionMap",341],[3,"ArraySet",341],[3,"ArrayMap",341],[15,"never"],[15,"array"],[8,"Eq",692],[8,"Borrow",701],[8,"Hash",702],[8,"Hasher",702],[3,"MapUnion",579],[8,"IntoIterator",703],[8,"Keyed",704],[8,"Extend",703],[8,"GetMut",704],[8,"Map",705],[8,"MapIter",704],[8,"SimpleKeyedRef",704],[8,"Iter",704],[8,"FromIterator",703],[3,"SetUnion",612],[8,"Len",704],[8,"Set",705],[15,"slice"],[8,"ExactSizeIterator",706],[8,"Lattice",0],[8,"LatticeOrd",0],[8,"NaiveLatticeOrd",0],[3,"UnionFind",654],[8,"Copy",698],[3,"Cell",707],[8,"MapMut",705]],"b":[[79,"impl-Default-for-Max%3Cchar%3E"],[80,"impl-Default-for-Max%3Cu64%3E"],[81,"impl-Default-for-Max%3Ci32%3E"],[82,"impl-Default-for-Max%3Cbool%3E"],[83,"impl-Default-for-Max%3Cisize%3E"],[84,"impl-Default-for-Max%3Cu8%3E"],[85,"impl-Default-for-Max%3Cu32%3E"],[86,"impl-Default-for-Max%3Ci64%3E"],[87,"impl-Default-for-Max%3Cu16%3E"],[88,"impl-Default-for-Max%3Ci8%3E"],[89,"impl-Default-for-Max%3Ci128%3E"],[90,"impl-Default-for-Max%3Ci16%3E"],[91,"impl-Default-for-Max%3Cu128%3E"],[92,"impl-Default-for-Max%3Cusize%3E"],[93,"impl-Default-for-Min%3Cbool%3E"],[94,"impl-Default-for-Min%3Cu16%3E"],[95,"impl-Default-for-Min%3Cu32%3E"],[96,"impl-Default-for-Min%3Ci8%3E"],[97,"impl-Default-for-Min%3Ci32%3E"],[98,"impl-Default-for-Min%3Cu128%3E"],[99,"impl-Default-for-Min%3Cisize%3E"],[100,"impl-Default-for-Min%3Cchar%3E"],[101,"impl-Default-for-Min%3Ci16%3E"],[102,"impl-Default-for-Min%3Cusize%3E"],[103,"impl-Default-for-Min%3Ci64%3E"],[104,"impl-Default-for-Min%3Ci128%3E"],[105,"impl-Default-for-Min%3Cu8%3E"],[106,"impl-Default-for-Min%3Cu64%3E"],[169,"impl-IsBot-for-Max%3Ci128%3E"],[170,"impl-IsBot-for-Max%3Cu64%3E"],[171,"impl-IsBot-for-Max%3Cisize%3E"],[172,"impl-IsBot-for-Max%3Cu128%3E"],[173,"impl-IsBot-for-Max%3Cu8%3E"],[174,"impl-IsBot-for-Max%3Cbool%3E"],[175,"impl-IsBot-for-Max%3Ci64%3E"],[176,"impl-IsBot-for-Max%3C()%3E"],[177,"impl-IsBot-for-Max%3Cu16%3E"],[178,"impl-IsBot-for-Max%3Ci16%3E"],[179,"impl-IsBot-for-Max%3Cchar%3E"],[180,"impl-IsBot-for-Max%3Cu32%3E"],[181,"impl-IsBot-for-Max%3Ci32%3E"],[182,"impl-IsBot-for-Max%3Ci8%3E"],[183,"impl-IsBot-for-Max%3Cusize%3E"],[184,"impl-IsBot-for-Min%3C()%3E"],[185,"impl-IsBot-for-Min%3Ci16%3E"],[186,"impl-IsBot-for-Min%3Ci32%3E"],[187,"impl-IsBot-for-Min%3Ci128%3E"],[188,"impl-IsBot-for-Min%3Cbool%3E"],[189,"impl-IsBot-for-Min%3Cu64%3E"],[190,"impl-IsBot-for-Min%3Cu128%3E"],[191,"impl-IsBot-for-Min%3Cusize%3E"],[192,"impl-IsBot-for-Min%3Cu8%3E"],[193,"impl-IsBot-for-Min%3Ci64%3E"],[194,"impl-IsBot-for-Min%3Cisize%3E"],[195,"impl-IsBot-for-Min%3Cchar%3E"],[196,"impl-IsBot-for-Min%3Cu32%3E"],[197,"impl-IsBot-for-Min%3Ci8%3E"],[198,"impl-IsBot-for-Min%3Cu16%3E"],[207,"impl-IsTop-for-Max%3Ci64%3E"],[208,"impl-IsTop-for-Max%3Ci32%3E"],[209,"impl-IsTop-for-Max%3Ci8%3E"],[210,"impl-IsTop-for-Max%3Cbool%3E"],[211,"impl-IsTop-for-Max%3Cu128%3E"],[212,"impl-IsTop-for-Max%3Ci16%3E"],[213,"impl-IsTop-for-Max%3Cchar%3E"],[214,"impl-IsTop-for-Max%3Cu64%3E"],[215,"impl-IsTop-for-Max%3Cu8%3E"],[216,"impl-IsTop-for-Max%3Ci128%3E"],[217,"impl-IsTop-for-Max%3Cu32%3E"],[218,"impl-IsTop-for-Max%3C()%3E"],[219,"impl-IsTop-for-Max%3Cu16%3E"],[220,"impl-IsTop-for-Max%3Cisize%3E"],[221,"impl-IsTop-for-Max%3Cusize%3E"],[222,"impl-IsTop-for-Min%3Ci32%3E"],[223,"impl-IsTop-for-Min%3Ci8%3E"],[224,"impl-IsTop-for-Min%3Cu32%3E"],[225,"impl-IsTop-for-Min%3Ci128%3E"],[226,"impl-IsTop-for-Min%3Cchar%3E"],[227,"impl-IsTop-for-Min%3Cu16%3E"],[228,"impl-IsTop-for-Min%3Cu8%3E"],[229,"impl-IsTop-for-Min%3Cisize%3E"],[230,"impl-IsTop-for-Min%3C()%3E"],[231,"impl-IsTop-for-Min%3Ci16%3E"],[232,"impl-IsTop-for-Min%3Ci64%3E"],[233,"impl-IsTop-for-Min%3Cu64%3E"],[234,"impl-IsTop-for-Min%3Cusize%3E"],[235,"impl-IsTop-for-Min%3Cbool%3E"],[236,"impl-IsTop-for-Min%3Cu128%3E"],[485,"impl-Iter-for-SingletonMap%3CK,+V%3E"],[486,"impl-MapIter-for-SingletonMap%3CK,+V%3E"],[488,"impl-MapIter-for-OptionMap%3CK,+V%3E"],[489,"impl-Iter-for-OptionMap%3CK,+V%3E"],[491,"impl-Iter-for-ArrayMap%3CK,+V,+N%3E"],[492,"impl-MapIter-for-ArrayMap%3CK,+V,+N%3E"]]},\
"multiplatform_test":{"doc":"multiplatform_test
","t":"X","n":["multiplatform_test"],"q":[[0,"multiplatform_test"]],"d":["See the crate docs for usage information."],"i":[0],"f":[0],"c":[],"p":[],"b":[]},\