var searchIndex = {}; searchIndex["resolve"] = {"doc":"Domain Name System (DNS) communication protocol.","items":[[0,"address","resolve","IP address utility functions",null,null],[5,"address_equal","resolve::address","Compares two `IpAddr`s, checking for IPv6-compatible or IPv6-mapped addresses.",null,{"inputs":[{"name":"ipaddr"},{"name":"ipaddr"}],"output":{"name":"bool"}}],[5,"socket_address_equal","","Compares two `SocketAddr`s, checking for IPv6-compatible or IPv6-mapped addresses.",null,{"inputs":[{"name":"socketaddr"},{"name":"socketaddr"}],"output":{"name":"bool"}}],[5,"address_name","","Returns an IP address formatted as a domain name.",null,{"inputs":[{"name":"ipaddr"}],"output":{"name":"string"}}],[0,"config","resolve","DNS resolver configuration",null,null],[3,"DnsConfig","resolve::config","Configures the behavior of DNS requests",null,null],[12,"name_servers","","List of name servers; must not be empty",0,null],[12,"search","","List of search domains",0,null],[12,"n_dots","","Minimum number of dots in a name to trigger an initial absolute query",0,null],[12,"timeout","","Duration before retrying or failing an unanswered request",0,null],[12,"attempts","","Number of attempts made before returning an error",0,null],[12,"rotate","","Whether to rotate through available nameservers",0,null],[12,"use_inet6","","If `true`, perform `AAAA` queries first and return IPv4 addresses\nas IPv4-mapped IPv6 addresses.",0,null],[5,"default_config","","Returns the default system configuration for DNS requests.",null,{"inputs":[],"output":{"name":"result"}}],[11,"fmt","","",0,null],[11,"clone","","",0,null],[0,"hostname","resolve","System hostname detection",null,null],[5,"get_hostname","resolve::hostname","Returns the system hostname.",null,{"inputs":[],"output":{"name":"result"}}],[0,"idna","resolve","Implements RFC 3490, Internationalized Domain Names in Applications,\nencoding for domain name labels containing Unicode.",null,null],[3,"Error","resolve::idna","Indicates an error in encoding or decoding Punycode data",null,null],[5,"host_to_ascii","","Converts a hostname to its ASCII representation.\nReturns an error if the encoding operation failed.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"host_to_unicode","","Converts a hostname to its Unicode representation.\nReturns an error if the decoding operation failed.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"to_ascii","","Converts a label to its ASCII format. If the string is already ASCII,\nit will be returned unmodified. If an error is encountered in encoding,\n`Err` will be returned.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"to_unicode","","Converts a label to its Unicode format. If the string is not an\ninternationalized domain name, it will be returned unmodified. If an error\nis encountered in decoding, `Err` will be returned.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"decode","","Converts a single Punycode-encoded label to a unicode string.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"encode","","Converts a single label of unicode characters to a Punycode-encoded\nASCII string.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"starts_with_ascii_lowercase","","Returns whether `s` begins with a given case-insensitive prefix.\n`prefix` is assumed to be ASCII and lowercase. `s` does not need to be\neither ASCII or lowercase.",null,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"bool"}}],[11,"eq","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[0,"message","resolve","Utilities for composing, decoding, and encoding messages.",null,null],[3,"DnsError","resolve::message","An error response code received in a response message.",null,null],[12,"0","","",2,null],[3,"MsgReader","","Reads a single DNS message from a series of bytes.",null,null],[3,"MsgWriter","","Writes a single DNS message as a series of bytes.",null,null],[3,"Message","","Represents a DNS message.",null,null],[12,"header","","Describes the content of the remainder of the message.",3,null],[12,"question","","Carries the question of query type messages.",3,null],[12,"answer","","Resource records that answer the query",3,null],[12,"authority","","Resource records that point to an authoritative name server",3,null],[12,"additional","","Resource records that relate to the query, but are not strictly\nanswers for the question.",3,null],[3,"RecordIter","","Yields `&Resource` items from a Message.",null,null],[3,"RecordIntoIter","","Yields `Resource` items from a Message.",null,null],[3,"Header","","Represents a message header.",null,null],[12,"id","","Transaction ID; corresponding replies will have the same ID.",4,null],[12,"qr","","Query or response",4,null],[12,"op","","Kind of query",4,null],[12,"authoritative","","In a response, indicates that the responding name server is an authority\nfor the domain name in question section.",4,null],[12,"truncated","","Indicates whether the message was truncated due to length greater than\nthat permitted on the transmission channel.",4,null],[12,"recursion_desired","","In a query, directs the name server to pursue the query recursively.",4,null],[12,"recursion_available","","In a response, indicates whether recursive queries are available on the\nname server.",4,null],[12,"rcode","","Response code",4,null],[3,"Question","","Represents a question item.",null,null],[12,"name","","Query name",5,null],[12,"q_type","","Query type",5,null],[12,"q_class","","Query class",5,null],[3,"Resource","","Represents a resource record item.",null,null],[12,"name","","Resource name",6,null],[12,"r_type","","Resource type",6,null],[12,"r_class","","Resource class",6,null],[12,"ttl","","Time-to-live",6,null],[4,"DecodeError","","Represents an error in decoding a DNS message.",null,null],[13,"ExtraneousData","","Extraneous data encountered at the end of message",7,null],[13,"ShortMessage","","Message end was encountered before expected",7,null],[13,"InvalidMessage","","Unable to decode invalid data",7,null],[13,"InvalidName","","An invalid name was encountered",7,null],[4,"EncodeError","","Represents an error in encoding a DNS message.",null,null],[13,"InvalidName","","A name or label was too long or contained invalid characters",8,null],[13,"TooLong","","Message exceeded given buffer or `MESSAGE_LIMIT` bytes",8,null],[4,"Qr","","Indicates a message is either a query or response.",null,null],[13,"Query","","Query",9,null],[13,"Response","","Response",9,null],[4,"OpCode","","Represents the kind of message query.",null,null],[13,"Query","","Query",10,null],[13,"Status","","Status",10,null],[13,"Notify","","Notify",10,null],[13,"Update","","Update",10,null],[13,"Other","","Unrecognized opcode",10,null],[4,"RCode","","Represents the response code of a message",null,null],[13,"NoError","","No error condition.",11,null],[13,"FormatError","","The server was unable to interpret the query.",11,null],[13,"ServerFailure","","The name server was unable to process the query due to a failure of\nthe name server.",11,null],[13,"NameError","","Name referenced in query does not exist.",11,null],[13,"NotImplemented","","Requested query kind is not supported by name server.",11,null],[13,"Refused","","The name server refuses to perform the specified operation for policy\nreasons.",11,null],[13,"Other","","Unknown response code.",11,null],[5,"generate_id","","Returns a sequential ID value from a thread-local random starting value.",null,{"inputs":[],"output":{"name":"u16"}}],[17,"MESSAGE_LIMIT","","Maximum size of a DNS message, in bytes.",null,null],[17,"LABEL_LIMIT","","Maximum length of a name segment (i.e. a `.`-separated identifier).",null,null],[17,"NAME_LIMIT","","Maximum total length of a name, in encoded format.",null,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",2,null],[11,"eq","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"fmt","","",7,null],[11,"eq","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",8,null],[11,"fmt","","",8,null],[11,"new","","Constructs a new message reader.",12,null],[11,"with_offset","","Constructs a new message reader, which will read from `data`,\nbeginning at `offset`.",12,null],[11,"remaining","","Returns the number of bytes remaining in the message.",12,null],[11,"read","","Reads a number of bytes equal to the length of the given buffer.\nReturns `Err(ShortMessage)` if there are not enough bytes remaining.",12,null],[11,"read_byte","","Reads a single byte from the message.",12,null],[11,"read_to_end","","Reads all remaining bytes.",12,null],[11,"read_character_string","","Read a character-string.",12,null],[11,"read_u16","","Reads a big-endian unsigned 16 bit integer.",12,null],[11,"read_u32","","Reads a big-endian unsigned 32 bit integer.",12,null],[11,"read_into","","Reads `n` bytes, which are inserted at the end of the given buffer.",12,null],[11,"read_name","","Reads a name from the message.",12,null],[11,"new","","Constructs a new message writer that will write into the given byte slice.",13,null],[11,"written","","Returns the number of bytes written so far.",13,null],[11,"into_bytes","","Returns a subslice of the wrapped byte slice that contains only the\nbytes written.",13,null],[11,"write","","Writes a series of bytes to the message. Returns `Err(TooLong)` if the\nwhole buffer cannot be written.",13,null],[11,"write_character_string","","Write a character string, as defined by RFC 1035.",13,null],[11,"write_name","","Writes a name to the message.",13,null],[11,"write_byte","","Writes a single byte to the message.",13,null],[11,"write_u16","","Writes an unsigned 16 bit integer in big-endian format.",13,null],[11,"write_u32","","Writes an unsigned 32 bit integer in big-endian format.",13,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"default","","",3,{"inputs":[],"output":{"name":"message"}}],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"new","","Constructs a new `Message` with a random id value.",3,{"inputs":[],"output":{"name":"message"}}],[11,"with_id","","Constructs a new `Message` with the given id value.",3,{"inputs":[{"name":"u16"}],"output":{"name":"message"}}],[11,"decode","","Decodes a message from a series of bytes.",3,null],[11,"encode","","Encodes a message to a series of bytes. On success, returns a subslice\nof the given buffer containing only the encoded message bytes.",3,null],[11,"get_error","","Returns a `DnsError` if the message response code is an error.",3,null],[11,"records","","Returns an iterator over the records in this message.",3,null],[11,"into_records","","Consumes the message and returns an iterator over its records.",3,null],[11,"next","","",14,null],[11,"next","","",15,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"new","","Constructs a new `Header` with a random id value.",4,{"inputs":[],"output":{"name":"header"}}],[11,"with_id","","Constructs a new `Header` with the given id value.",4,{"inputs":[{"name":"u16"}],"output":{"name":"header"}}],[11,"default","","",4,{"inputs":[],"output":{"name":"header"}}],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"new","","Constructs a new `Question`.",5,{"inputs":[{"name":"string"},{"name":"recordtype"},{"name":"class"}],"output":{"name":"question"}}],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"new","","Constructs a new `Resource`.",6,{"inputs":[{"name":"string"},{"name":"recordtype"},{"name":"class"},{"name":"u32"}],"output":{"name":"resource"}}],[11,"get_rdata","","Returns resource data.",6,null],[11,"read_rdata","","Decodes resource data into the given `Record` type.",6,null],[11,"write_rdata","","Encodes resource data from the given `Record` type.",6,null],[11,"eq","","",9,null],[11,"fmt","","",9,null],[11,"clone","","",9,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"fmt","","",10,null],[11,"clone","","",10,null],[11,"from_u8","","Converts a `u8` to an `OpCode`.",10,{"inputs":[{"name":"u8"}],"output":{"name":"opcode"}}],[11,"to_u8","","Converts an `OpCode` to a `u8`.",10,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"fmt","","",11,null],[11,"clone","","",11,null],[11,"get_error","","Returns an error string for the response code.",11,null],[11,"from_u8","","Converts a `u8` to an `RCode`.",11,{"inputs":[{"name":"u8"}],"output":{"name":"rcode"}}],[11,"to_u8","","Converts an `RCode` to a `u8`.",11,null],[0,"record","resolve","DNS resource record types",null,null],[3,"A","resolve::record","An IPv4 host address",null,null],[12,"address","","The host address",16,null],[3,"AAAA","","An IPv6 host address",null,null],[12,"address","","The host address",17,null],[3,"CName","","Canonical name for an alias",null,null],[12,"name","","Canonical host name",18,null],[3,"Mx","","Mail exchange data",null,null],[12,"preference","","Represents the preference of this record among others.\nLower values are preferred.",19,null],[12,"exchange","","Domain name willing to act as mail exchange for the host.",19,null],[3,"Ns","","Authoritative name server",null,null],[12,"name","","Host which should be authoritative for the specified class and domain",20,null],[3,"Ptr","","Domain name pointer",null,null],[12,"name","","The name of the host",21,null],[3,"Soa","","Start of authority",null,null],[12,"mname","","Domain name of the name server that was the original or primary source\nof data for this zone.",22,null],[12,"rname","","Domain name which specifies the mailbox of the person responsible\nfor this zone.",22,null],[12,"serial","","Version number of the original copy of the zone. This value wraps and\nshould be compared using sequence space arithmetic.",22,null],[12,"refresh","","Time interval before the zone should be refreshed.",22,null],[12,"retry","","Time interval that should elapse before a failed refresh should be retried.",22,null],[12,"expire","","Time value that specifies the upper limit on the time interval that can\nelapse before the zone is no longer authoritative.",22,null],[12,"minimum","","Minimum TTL that should be exported with any resource record from this zone.",22,null],[3,"Srv","","Service record",null,null],[12,"priority","","Record priority",23,null],[12,"weight","","Record weight",23,null],[12,"port","","Service port",23,null],[12,"target","","Target host name",23,null],[3,"Txt","","Text record",null,null],[12,"data","","One or more character strings",24,null],[4,"Class","","Represents the class of data in a message.",null,null],[13,"Internet","","Internet (`IN`)",25,null],[13,"Any","","Any (`*`)",25,null],[13,"Other","","An unrecognized class",25,null],[4,"RecordType","","Represents the type of data in a message.",null,null],[13,"A","","An IPv4 host address",26,null],[13,"AAAA","","An IPv6 host address",26,null],[13,"CName","","Canonical name for an alias",26,null],[13,"Mx","","Mail exchange",26,null],[13,"Ns","","Authoritative name server",26,null],[13,"Ptr","","Domain name pointer",26,null],[13,"Soa","","Start of authority",26,null],[13,"Srv","","Service record",26,null],[13,"Txt","","Text string",26,null],[13,"Other","","Unrecognized record type",26,null],[8,"Record","","Represents resource record data.",null,null],[10,"decode","","Decodes the `Record` from resource rdata.",27,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[10,"encode","","Encodes the `Record` to resource rdata.",27,null],[10,"record_type","","Returns the `RecordType` of queries for this record.",27,{"inputs":[],"output":{"name":"recordtype"}}],[11,"eq","","",25,null],[11,"ne","","",25,null],[11,"fmt","","",25,null],[11,"clone","","",25,null],[11,"from_u16","","Converts a `u16` to a `Class`.",25,{"inputs":[{"name":"u16"}],"output":{"name":"class"}}],[11,"to_u16","","Converts a `Class` to a `u16`.",25,null],[11,"eq","","",26,null],[11,"ne","","",26,null],[11,"fmt","","",26,null],[11,"clone","","",26,null],[11,"from_u16","","Converts a `u16` to a `RecordType`.",26,{"inputs":[{"name":"u16"}],"output":{"name":"recordtype"}}],[11,"to_u16","","Converts a `RecordType` to a `u16`.",26,null],[11,"hash","","",16,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"fmt","","",16,null],[11,"clone","","",16,null],[11,"decode","","",16,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",16,null],[11,"record_type","","",16,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",17,null],[11,"eq","","",17,null],[11,"ne","","",17,null],[11,"fmt","","",17,null],[11,"clone","","",17,null],[11,"decode","","",17,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",17,null],[11,"record_type","","",17,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",18,null],[11,"eq","","",18,null],[11,"ne","","",18,null],[11,"fmt","","",18,null],[11,"clone","","",18,null],[11,"decode","","",18,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",18,null],[11,"record_type","","",18,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",19,null],[11,"eq","","",19,null],[11,"ne","","",19,null],[11,"fmt","","",19,null],[11,"clone","","",19,null],[11,"decode","","",19,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",19,null],[11,"record_type","","",19,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",20,null],[11,"eq","","",20,null],[11,"ne","","",20,null],[11,"fmt","","",20,null],[11,"clone","","",20,null],[11,"decode","","",20,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",20,null],[11,"record_type","","",20,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",21,null],[11,"eq","","",21,null],[11,"ne","","",21,null],[11,"fmt","","",21,null],[11,"clone","","",21,null],[11,"decode","","",21,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",21,null],[11,"record_type","","",21,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",22,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"fmt","","",22,null],[11,"clone","","",22,null],[11,"decode","","",22,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",22,null],[11,"record_type","","",22,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",23,null],[11,"eq","","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",23,null],[11,"decode","","",23,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",23,null],[11,"record_type","","",23,{"inputs":[],"output":{"name":"recordtype"}}],[11,"hash","","",24,null],[11,"eq","","",24,null],[11,"ne","","",24,null],[11,"fmt","","",24,null],[11,"clone","","",24,null],[11,"decode","","",24,{"inputs":[{"name":"msgreader"}],"output":{"name":"result"}}],[11,"encode","","",24,null],[11,"record_type","","",24,{"inputs":[],"output":{"name":"recordtype"}}],[0,"resolv_conf","resolve","Partial Unix `resolv.conf(5)` parser",null,null],[5,"load","resolve::resolv_conf","Examines system `resolv.conf` and returns a configuration loosely based\non its contents. If the file cannot be read or lacks required directives,\nan error is returned.",null,{"inputs":[],"output":{"name":"result"}}],[17,"MAX_NAME_SERVERS","","Maximum number of name servers loaded from `resolv.conf`",null,null],[17,"DEFAULT_ATTEMPTS","","Default value of `"options attempts:n"`",null,null],[17,"DEFAULT_N_DOTS","","Default value of `"options ndots:n"`",null,null],[17,"DEFAULT_TIMEOUT","","Default value of `"options timeout:n"`",null,null],[17,"MAX_ATTEMPTS","","Maximum allowed value of `"options attempts:n"`",null,null],[17,"MAX_N_DOTS","","Maximum allowed value of `"options ndots:n"`",null,null],[17,"MAX_TIMEOUT","","Maximum allowed value of `"options timeout:n"`",null,null],[17,"RESOLV_CONF_PATH","","Path to system `resolv.conf`",null,null],[0,"resolver","resolve","High-level resolver operations",null,null],[3,"DnsResolver","resolve::resolver","Performs resolution operations",null,null],[3,"ResolveHost","","Yields a series of `IpAddr` values from `resolve_host`.",null,null],[5,"resolve_addr","","Resolves an IPv4 or IPv6 address to a hostname.",null,{"inputs":[{"name":"ipaddr"}],"output":{"name":"result"}}],[5,"resolve_host","","Resolves a hostname to one or more IPv4 or IPv6 addresses.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"new","","Constructs a `DnsResolver` using the given configuration.",28,{"inputs":[{"name":"dnsconfig"}],"output":{"name":"result"}}],[11,"bind","","Constructs a `DnsResolver` using the given configuration and bound\nto the given address.",28,{"inputs":[{"name":"a"},{"name":"dnsconfig"}],"output":{"name":"result"}}],[11,"resolve_addr","","Resolves an IPv4 or IPv6 address to a hostname.",28,null],[11,"resolve_host","","Resolves a hostname to a series of IPv4 or IPv6 addresses.",28,null],[11,"resolve_record","","Requests a type of record from the DNS server and returns the results.",28,null],[11,"send_message","","Sends a message to the DNS server and attempts to read a response.",28,null],[11,"next","","",29,null],[0,"socket","resolve","Low-level UDP socket operations",null,null],[3,"DnsSocket","resolve::socket","Represents a socket transmitting DNS messages.",null,null],[4,"Error","","Represents an error in sending or receiving a DNS message.",null,null],[13,"DecodeError","","Error decoding received data",30,null],[13,"EncodeError","","Error encoding data to be sent",30,null],[13,"DnsError","","Server responded with error message",30,null],[13,"IoError","","Error generated by network operation",30,null],[11,"new","","Returns a `DnsSocket`, bound to an unspecified address.",31,{"inputs":[],"output":{"name":"result"}}],[11,"bind","","Returns a `DnsSocket`, bound to the given address.",31,{"inputs":[{"name":"a"}],"output":{"name":"result"}}],[11,"get","","Returns a reference to the wrapped `UdpSocket`.",31,null],[11,"send_message","","Sends a message to the given address.",31,null],[11,"recv_from","","Receives a message, returning the address of the sender.\nThe given buffer is used to store and parse message data.",31,null],[11,"recv_message","","Attempts to read a DNS message. The message will only be decoded if the\nremote address matches `addr`. If a packet is received from a non-matching\naddress, the message is not decoded and `Ok(None)` is returned.",31,null],[11,"fmt","","",30,null],[11,"is_timeout","","Returns `true` if the error is the result of an operation having timed out.",30,null],[11,"fmt","","",30,null],[11,"from","","",30,{"inputs":[{"name":"decodeerror"}],"output":{"name":"error"}}],[11,"from","","",30,{"inputs":[{"name":"encodeerror"}],"output":{"name":"error"}}],[11,"from","","",30,{"inputs":[{"name":"dnserror"}],"output":{"name":"error"}}],[11,"from","","",30,{"inputs":[{"name":"error"}],"output":{"name":"error"}}]],"paths":[[3,"DnsConfig"],[3,"Error"],[3,"DnsError"],[3,"Message"],[3,"Header"],[3,"Question"],[3,"Resource"],[4,"DecodeError"],[4,"EncodeError"],[4,"Qr"],[4,"OpCode"],[4,"RCode"],[3,"MsgReader"],[3,"MsgWriter"],[3,"RecordIter"],[3,"RecordIntoIter"],[3,"A"],[3,"AAAA"],[3,"CName"],[3,"Mx"],[3,"Ns"],[3,"Ptr"],[3,"Soa"],[3,"Srv"],[3,"Txt"],[4,"Class"],[4,"RecordType"],[8,"Record"],[3,"DnsResolver"],[3,"ResolveHost"],[4,"Error"],[3,"DnsSocket"]]}; initSearch(searchIndex);