€•ýUŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ$/translations/zh_CN/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/zh_TW/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/it_IT/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ja_JP/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ko_KR/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/pt_BR/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/sp_SP/infiniband/ipoib”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒIP over InfiniBand”h]”hŒIP over InfiniBand”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ>/var/lib/git/docbuild/linux/Documentation/infiniband/ipoib.rst”h´KubhŒ block_quote”“”)”}”(hXvThe ib_ipoib driver is an implementation of the IP over InfiniBand protocol as specified by RFC 4391 and 4392, issued by the IETF ipoib working group. It is a "native" implementation in the sense of setting the interface type to ARPHRD_INFINIBAND and the hardware address length to 20 (earlier proprietary implementations masqueraded to the kernel as ethernet interfaces). ”h]”hŒ paragraph”“”)”}”(hXuThe ib_ipoib driver is an implementation of the IP over InfiniBand protocol as specified by RFC 4391 and 4392, issued by the IETF ipoib working group. It is a "native" implementation in the sense of setting the interface type to ARPHRD_INFINIBAND and the hardware address length to 20 (earlier proprietary implementations masqueraded to the kernel as ethernet interfaces).”h]”hXyThe ib_ipoib driver is an implementation of the IP over InfiniBand protocol as specified by RFC 4391 and 4392, issued by the IETF ipoib working group. It is a “native†implementation in the sense of setting the interface type to ARPHRD_INFINIBAND and the hardware address length to 20 (earlier proprietary implementations masqueraded to the kernel as ethernet interfaces).”…””}”(hhÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KhhÍubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubh¶)”}”(hhh]”(h»)”}”(hŒPartitions and P_Keys”h]”hŒPartitions and P_Keys”…””}”(hhêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhçh²hh³hÊh´K ubhÌ)”}”(hXÙWhen the IPoIB driver is loaded, it creates one interface for each port using the P_Key at index 0. To create an interface with a different P_Key, write the desired P_Key into the main interface's /sys/class/net//create_child file. For example:: echo 0x8001 > /sys/class/net/ib0/create_child This will create an interface named ib0.8001 with P_Key 0x8001. To remove a subinterface, use the "delete_child" file:: echo 0x8001 > /sys/class/net/ib0/delete_child The P_Key for any interface is given by the "pkey" file, and the main interface for a subinterface is in "parent." Child interface create/delete can also be done using IPoIB's rtnl_link_ops, where children created using either way behave the same. ”h]”(hÒ)”}”(hXWhen the IPoIB driver is loaded, it creates one interface for each port using the P_Key at index 0. To create an interface with a different P_Key, write the desired P_Key into the main interface's /sys/class/net//create_child file. For example::”h]”hXWhen the IPoIB driver is loaded, it creates one interface for each port using the P_Key at index 0. To create an interface with a different P_Key, write the desired P_Key into the main interface’s /sys/class/net//create_child file. For example:”…””}”(hhüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KhhøubhŒ literal_block”“”)”}”(hŒ-echo 0x8001 > /sys/class/net/ib0/create_child”h]”hŒ-echo 0x8001 > /sys/class/net/ib0/create_child”…””}”hj sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j h³hÊh´KhhøubhÒ)”}”(hŒxThis will create an interface named ib0.8001 with P_Key 0x8001. To remove a subinterface, use the "delete_child" file::”h]”hŒ{This will create an interface named ib0.8001 with P_Key 0x8001. To remove a subinterface, use the “delete_child†file:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´Khhøubj )”}”(hŒ-echo 0x8001 > /sys/class/net/ib0/delete_child”h]”hŒ-echo 0x8001 > /sys/class/net/ib0/delete_child”…””}”hj*sbah}”(h]”h ]”h"]”h$]”h&]”jjuh1j h³hÊh´KhhøubhÒ)”}”(hŒrThe P_Key for any interface is given by the "pkey" file, and the main interface for a subinterface is in "parent."”h]”hŒzThe P_Key for any interface is given by the “pkey†file, and the main interface for a subinterface is in “parent.—…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KhhøubhÒ)”}”(hŒ„Child interface create/delete can also be done using IPoIB's rtnl_link_ops, where children created using either way behave the same.”h]”hŒ†Child interface create/delete can also be done using IPoIB’s rtnl_link_ops, where children created using either way behave the same.”…””}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´Khhøubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khhçh²hubeh}”(h]”Œpartitions-and-p-keys”ah ]”h"]”Œpartitions and p_keys”ah$]”h&]”uh1hµhh·h²hh³hÊh´K ubh¶)”}”(hhh]”(h»)”}”(hŒDatagram vs Connected modes”h]”hŒDatagram vs Connected modes”…””}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjbh²hh³hÊh´K"ubhÌ)”}”(hXThe IPoIB driver supports two modes of operation: datagram and connected. The mode is set and read through an interface's /sys/class/net//mode file. In datagram mode, the IB UD (Unreliable Datagram) transport is used and so the interface MTU has is equal to the IB L2 MTU minus the IPoIB encapsulation header (4 bytes). For example, in a typical IB fabric with a 2K MTU, the IPoIB MTU will be 2048 - 4 = 2044 bytes. In connected mode, the IB RC (Reliable Connected) transport is used. Connected mode takes advantage of the connected nature of the IB transport and allows an MTU up to the maximal IP packet size of 64K, which reduces the number of IP packets needed for handling large UDP datagrams, TCP segments, etc and increases the performance for large messages. In connected mode, the interface's UD QP is still used for multicast and communication with peers that don't support connected mode. In this case, RX emulation of ICMP PMTU packets is used to cause the networking stack to use the smaller UD MTU for these neighbours. ”h]”(hÒ)”}”(hŒ The IPoIB driver supports two modes of operation: datagram and connected. The mode is set and read through an interface's /sys/class/net//mode file.”h]”hŒ¢The IPoIB driver supports two modes of operation: datagram and connected. The mode is set and read through an interface’s /sys/class/net//mode file.”…””}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´K$hjsubhÒ)”}”(hX In datagram mode, the IB UD (Unreliable Datagram) transport is used and so the interface MTU has is equal to the IB L2 MTU minus the IPoIB encapsulation header (4 bytes). For example, in a typical IB fabric with a 2K MTU, the IPoIB MTU will be 2048 - 4 = 2044 bytes.”h]”hX In datagram mode, the IB UD (Unreliable Datagram) transport is used and so the interface MTU has is equal to the IB L2 MTU minus the IPoIB encapsulation header (4 bytes). For example, in a typical IB fabric with a 2K MTU, the IPoIB MTU will be 2048 - 4 = 2044 bytes.”…””}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´K(hjsubhÒ)”}”(hX^In connected mode, the IB RC (Reliable Connected) transport is used. Connected mode takes advantage of the connected nature of the IB transport and allows an MTU up to the maximal IP packet size of 64K, which reduces the number of IP packets needed for handling large UDP datagrams, TCP segments, etc and increases the performance for large messages.”h]”hX^In connected mode, the IB RC (Reliable Connected) transport is used. Connected mode takes advantage of the connected nature of the IB transport and allows an MTU up to the maximal IP packet size of 64K, which reduces the number of IP packets needed for handling large UDP datagrams, TCP segments, etc and increases the performance for large messages.”…””}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´K-hjsubhÒ)”}”(hX In connected mode, the interface's UD QP is still used for multicast and communication with peers that don't support connected mode. In this case, RX emulation of ICMP PMTU packets is used to cause the networking stack to use the smaller UD MTU for these neighbours.”h]”hXIn connected mode, the interface’s UD QP is still used for multicast and communication with peers that don’t support connected mode. In this case, RX emulation of ICMP PMTU packets is used to cause the networking stack to use the smaller UD MTU for these neighbours.”…””}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´K4hjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K$hjbh²hubeh}”(h]”Œdatagram-vs-connected-modes”ah ]”h"]”Œdatagram vs connected modes”ah$]”h&]”uh1hµhh·h²hh³hÊh´K"ubh¶)”}”(hhh]”(h»)”}”(hŒStateless offloads”h]”hŒStateless offloads”…””}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj½h²hh³hÊh´K:ubhÌ)”}”(hXwIf the IB HW supports IPoIB stateless offloads, IPoIB advertises TCP/IP checksum and/or Large Send (LSO) offloading capability to the network stack. Large Receive (LRO) offloading is also implemented and may be turned on/off using ethtool calls. Currently LRO is supported only for checksum offload capable devices. Stateless offloads are supported only in datagram mode. ”h]”(hÒ)”}”(hŒ”If the IB HW supports IPoIB stateless offloads, IPoIB advertises TCP/IP checksum and/or Large Send (LSO) offloading capability to the network stack.”h]”hŒ”If the IB HW supports IPoIB stateless offloads, IPoIB advertises TCP/IP checksum and/or Large Send (LSO) offloading capability to the network stack.”…””}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj;h²hh³hÊh´KPubhÌ)”}”(hXâBy compiling the IPoIB driver with CONFIG_INFINIBAND_IPOIB_DEBUG set to 'y', tracing messages are compiled into the driver. They are turned on by setting the module parameters debug_level and mcast_debug_level to 1. These parameters can be controlled at runtime through files in /sys/module/ib_ipoib/. CONFIG_INFINIBAND_IPOIB_DEBUG also enables files in the debugfs virtual filesystem. By mounting this filesystem, for example with:: mount -t debugfs none /sys/kernel/debug it is possible to get statistics about multicast groups from the files /sys/kernel/debug/ipoib/ib0_mcg and so on. The performance impact of this option is negligible, so it is safe to enable this option with debug_level set to 0 for normal operation. CONFIG_INFINIBAND_IPOIB_DEBUG_DATA enables even more debug output in the data path when data_debug_level is set to 1. However, even with the output disabled, enabling this configuration option will affect performance, because it adds tests to the fast path. ”h]”(hÒ)”}”(hX/By compiling the IPoIB driver with CONFIG_INFINIBAND_IPOIB_DEBUG set to 'y', tracing messages are compiled into the driver. They are turned on by setting the module parameters debug_level and mcast_debug_level to 1. These parameters can be controlled at runtime through files in /sys/module/ib_ipoib/.”h]”hX3By compiling the IPoIB driver with CONFIG_INFINIBAND_IPOIB_DEBUG set to ‘y’, tracing messages are compiled into the driver. They are turned on by setting the module parameters debug_level and mcast_debug_level to 1. These parameters can be controlled at runtime through files in /sys/module/ib_ipoib/.”…””}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KRhjLubhÒ)”}”(hŒ„CONFIG_INFINIBAND_IPOIB_DEBUG also enables files in the debugfs virtual filesystem. By mounting this filesystem, for example with::”h]”hŒƒCONFIG_INFINIBAND_IPOIB_DEBUG also enables files in the debugfs virtual filesystem. By mounting this filesystem, for example with:”…””}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KXhjLubj )”}”(hŒ'mount -t debugfs none /sys/kernel/debug”h]”hŒ'mount -t debugfs none /sys/kernel/debug”…””}”hjlsbah}”(h]”h ]”h"]”h$]”h&]”jjuh1j h³hÊh´K[hjLubhÒ)”}”(hŒqit is possible to get statistics about multicast groups from the files /sys/kernel/debug/ipoib/ib0_mcg and so on.”h]”hŒqit is possible to get statistics about multicast groups from the files /sys/kernel/debug/ipoib/ib0_mcg and so on.”…””}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´K]hjLubhÒ)”}”(hŒˆThe performance impact of this option is negligible, so it is safe to enable this option with debug_level set to 0 for normal operation.”h]”hŒˆThe performance impact of this option is negligible, so it is safe to enable this option with debug_level set to 0 for normal operation.”…””}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´K`hjLubhÒ)”}”(hXCONFIG_INFINIBAND_IPOIB_DEBUG_DATA enables even more debug output in the data path when data_debug_level is set to 1. However, even with the output disabled, enabling this configuration option will affect performance, because it adds tests to the fast path.”h]”hXCONFIG_INFINIBAND_IPOIB_DEBUG_DATA enables even more debug output in the data path when data_debug_level is set to 1. However, even with the output disabled, enabling this configuration option will affect performance, because it adds tests to the fast path.”…””}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KdhjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KRhj;h²hubeh}”(h]”Œdebugging-information”ah ]”h"]”Œdebugging information”ah$]”h&]”uh1hµhh·h²hh³hÊh´KPubh¶)”}”(hhh]”(h»)”}”(hŒ References”h]”hŒ References”…””}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj²h²hh³hÊh´KjubhÌ)”}”(hŒþTransmission of IP over InfiniBand (IPoIB) (RFC 4391) http://ietf.org/rfc/rfc4391.txt IP over InfiniBand (IPoIB) Architecture (RFC 4392) http://ietf.org/rfc/rfc4392.txt IP over InfiniBand: Connected Mode (RFC 4755) http://ietf.org/rfc/rfc4755.txt”h]”hŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒVTransmission of IP over InfiniBand (IPoIB) (RFC 4391) http://ietf.org/rfc/rfc4391.txt ”h]”(hŒterm”“”)”}”(hŒ5Transmission of IP over InfiniBand (IPoIB) (RFC 4391)”h]”hŒ5Transmission of IP over InfiniBand (IPoIB) (RFC 4391)”…””}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KmhjÎubhŒ definition”“”)”}”(hhh]”hÒ)”}”(hŒhttp://ietf.org/rfc/rfc4391.txt”h]”hŒ reference”“”)”}”(hjéh]”hŒhttp://ietf.org/rfc/rfc4391.txt”…””}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jéuh1jëhjçubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´Kmhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KmhjÉubjÍ)”}”(hŒSIP over InfiniBand (IPoIB) Architecture (RFC 4392) http://ietf.org/rfc/rfc4392.txt ”h]”(jÓ)”}”(hŒ2IP over InfiniBand (IPoIB) Architecture (RFC 4392)”h]”hŒ2IP over InfiniBand (IPoIB) Architecture (RFC 4392)”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kphj ubjã)”}”(hhh]”hÒ)”}”(hŒhttp://ietf.org/rfc/rfc4392.txt”h]”jì)”}”(hj$h]”hŒhttp://ietf.org/rfc/rfc4392.txt”…””}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j$uh1jëhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´Kphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KphjÉubjÍ)”}”(hŒMIP over InfiniBand: Connected Mode (RFC 4755) http://ietf.org/rfc/rfc4755.txt”h]”(jÓ)”}”(hŒ-IP over InfiniBand: Connected Mode (RFC 4755)”h]”hŒ-IP over InfiniBand: Connected Mode (RFC 4755)”…””}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KrhjFubjã)”}”(hhh]”hÒ)”}”(hŒhttp://ietf.org/rfc/rfc4755.txt”h]”jì)”}”(hj]h]”hŒhttp://ietf.org/rfc/rfc4755.txt”…””}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j]uh1jëhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÑh³hÊh´KshjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KrhjÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Klhj²h²hubeh}”(h]”Œ references”ah ]”h"]”Œ references”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kjubeh}”(h]”Œip-over-infiniband”ah ]”h"]”Œip over infiniband”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j¾Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j˜j•j_j\jºj·jjj8j5j¯j¬jjuŒ nametypes”}”(j˜‰j_‰jº‰j‰j8‰j¯‰j‰uh}”(j•h·j\hçj·jbjj½j5j j¬j;jj²uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.