403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/Windows/System32/es-ES/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/Windows/System32/es-ES/wlancfg.dll.mui
MZ����@���	�!�L�!This program cannot be run in DOS mode.

$5�<�q�R�q�R�q�R�e���p�R�e�P�p�R�Richq�R�PEL�!

0��@ \8.rdata�@@.rsrc @@P��
T88P��$��8.rdata8x.rdata$zzzdbg �.rsrc$01�2@�.rsrc$02 o�2��OS]>�e�SF�Qu^�{���P���0�H�(�@�`�Z�
x��
���
���
��*��+��,�- �.8�/P�0h�7��8��i��j�����������(��@��X��p���������������������0��H��`��x������������������� ��8��P��h����������������������(��@��X��p���������������	�	�0	�H	�`	�x	��	� �	�!�	�$�	�+�	�-
�. 
�/8
�1P
�3h
�7�
�;�
�<�
�?�
�@�
�C�
�D�I(�J@�KX�Lp�M��Q��U��W������B��
0
@
P
`
p
�
�
�
�
�
�
�
�




 

0

@

P

`

p

�

�

�

�

�

�

�

�



 
0
@
P
`
p
�
�
�
�
�
�
�
�


 
0
@
P
`
p
�
�
�
�
�
�
�
�


 
0
@
P
`
p
�
�
�
�
�
�
�
�


 
0
@
P
`
p
�
�
�
�
�
�
�
�
t2��,3��4>�H6��7Z�dGN)��p��� �������!���8��� ���������$
��&��,'��(|��)���0.��0��h2n��6���7��t9��8;,�d<��@?�HC`��D��THL��IZ��J���Kz�$M~��O8��W��lXx��\���^��|_��tc
��g2��i��m0�ot�tqX�̂������P����$�,� �L����l�p����,�,�t�����<����p�d���P�:��������t���D����������������v�0�����n�(�����
�����|�:������������T���������������������t���`�������
����:�S�MUIXML_FORMAT_TRANSFORMXML_WLANREPORT_TRANSFORM�����P+�i9�^Q\201��,�
�r~	IE������MUIes-ES
no est� listo	conectadored formada ad hocdesconectardesconectado	asociando
detectandoautenticandoestado desconocido1Agrega una entrada de configuraci�n a una tabla.
3Elimina una entrada de configuraci�n de una tabla.
+Establece la informaci�n de configuraci�n.
Muestra informaci�n.
&Guarda perfiles WLAN en archivos XML.
Inicia la red hospedada.
Detiene la red hospedada.
PA0Actualiza la configuraci�n de la red hospedada.
Comandos para registro de IHV.
PA"Se conecta a una red inal�mbrica.
�
Uso: %1!s! [name=]<cadena> [ssid=]<cadena> [[interface=]<cadena>] 

Par�metros:

    Etiqueta        Valor
    ssid          - SSID de la red inal�mbrica.
    name          - Nombre del perfil que se va a usar en el intento de
                    conexi�n.
    interface     - Nombre de la interfaz desde la que se intenta realizar la
                    conexi�n.

Notas:

    Se conecta a la red inal�mbrica dada mediante ssid con el perfil 
    especificado. Se intenta realizar la conexi�n desde la interfaz 
    especificada salvo que solo haya una interfaz disponible en el sistema,
    en cuyo caso puede omitirse el par�metro interface.

    El par�metro de perfil name es obligatorio, pero ssid es opcional. Si solo
    hay un SSID en el perfil, este SSID se usa para la conexi�n. Si hay varios
    SSID en el perfil, el par�metro ssid es obligatorio.

    El par�metro interface es obligatorio si hay dos o m�s interfaces 
    disponibles en el sistema. Al especificar una interfaz, no puede usarse 
    un nombre con caracteres comod�n.

    Si la interfaz especificada ya est� conectada a una red inal�mbrica,
    este comando se encargar� primero de desconectarla de dicha red y
    despu�s intentar� conectarla a la nueva red. Pero si estas dos redes son 
    la misma, este comando simplemente devolver� un valor correcto y no har�
    nada.

Ejemplos:

    %1!s! name=Perfil1 ssid=SSID1 
    %1!s! name=Perfil2 ssid=SSID2 interface="Conexi�n de red inal�mbrica"
&Se desconecta de una red inal�mbrica.

Uso: %1!s! [[interface=]<cadena>] 

Par�metros:

    Etiqueta       Valor
    interface    - Nombre de la interfaz desde la que se intenta la
                   desconexi�n.

Notas:

    Se desconecta de la red inal�mbrica en la interfaz especificada.

    El par�metro interface es obligatorio si hay dos o m�s interfaces
    disponibles en el sistema. Pueden usarse caracteres comod�n en el
    nombre de interfaz para especificar varias interfaces.

Ejemplos:

    %1!s! 
    %1!s! interface="Conexi�n de red inal�mbrica"
PAfAgrega una red inal�mbrica a la lista de redes inal�mbricas
                 permitidas o bloqueadas.
�
Uso: %1!s! [permission=]allow|block|denyall [[ssid=]<cadena>] 
     [networktype=]infrastructure|adhoc

Par�metros:

    Etiqueta        Valor
    permission    - Tipo de permiso para el filtro
    ssid          - SSID de la red inal�mbrica.
    networktype   - Tipo de red de la red inal�mbrica.

Nota:

    Agrega una red inal�mbrica a la lista de redes permitidas y bloqueadas
    configurada en el sistema.

    Se requiere el par�metro ssid si permission es allow o block. Si
    permission es denyall no especifique el par�metro ssid.

Ejemplos:

    %1!s! permission=allow ssid=ssid1 networktype=infrastructure
    %1!s! permission=block ssid=ssid2 networktype=adhoc
    %1!s! permission=denyall networktype=adhoc
@Agrega un perfil WLAN a la interfaz especificada en el sistema.
k
Uso: %1!s! [filename=]<cadena> [[interface=]<cadena>] [[user=]all|current] 

Par�metros:

    Etiqueta        Valor
    filename      - Nombre del archivo XML de perfiles.
    interface     - Nombre de la interfaz.
    user          - �mbito de usuario, todos los usuarios o solo el actual.
    
Notas:

    Agrega un perfil de red inal�mbrica a una interfaz para todos los usuarios
    o los actuales.

    El par�metro filename es obligatorio. Se trata del nombre del archivo
    XML que contiene los datos del perfil.

    El par�metro interface es opcional. Se trata de uno de los nombres de
    interfaz mostrados por el comando "netsh wlan show interface". 
    Si se proporciona un nombre de interfaz, se agregar� el perfil a la
    interfaz especificada; de lo contrario, el perfil se agregar� a todas
    las interfaces inal�mbricas.

    El par�metro user es opcional. Especifica si este perfil se aplica 
    a todos los usuarios o solo al usuario actual. De forma predeterminada,
    se aplica a todos los usuarios.

Ejemplos:

    %1!s! filename="Perfil1.xml" interface="Conexi�n de red inal�mbrica"
    user=current

Uso: %1!s! [permission=]allow|block|denyall [[ssid=]<cadena>] 
       [networktype=]infrastructure

Par�metros:

    Etiqueta             Valor
    permission         - Tipo de permiso para el filtro.
    ssid               - SSID de la red inal�mbrica.
    networktype        - Tipo de red de la red inal�mbrica.

Nota:

    Agrega una red inal�mbrica a la lista de redes permitidas y bloqueadas 
    configuradas en el sistema.

    Se requiere el par�metro ssid si permission es allow o block. Si permission
    es denyall, no especifique el par�metro ssid.

Ejemplos:

    %1!s! permission=allow ssid=ssid1 networktype=infrastructure
.Inicia el registro detallado de IHV de Wi-Fi.
_
Uso: %1!s! 

Notas:

    Inicia el registro detallado de IHV de Wi-Fi.

Ejemplos:

    %1!s! 
/Detiene el registro detallado de IHV de Wi-Fi.
`
Uso: %1!s! 

Notas:

    Detiene el registro detallado de IHV de Wi-Fi.

Ejemplos:

    %1!s! 
fQuita una red inal�mbrica de la lista de redes inal�mbricas
                 permitidas o bloqueadas.
�
Uso: %1!s! [permission=]allow|block|denyall [[ssid=]<cadena>] 
     [networktype=]infrastructure|adhoc

Par�metros:

    Etiqueta        Valor
    permission    - Tipo de permiso para el filtro
    ssid          - SSID de la red inal�mbrica.
    networktype   - Tipo de red de la red inal�mbrica.

Nota:

    Quita una red inal�mbrica de la lista de redes permitidas y bloqueadas
    configurada en el sistema.

    Se requiere el par�metro ssid si permission es allow o block. Si
    permission es denyall no especifique el par�metro ssid.

Ejemplos:

    %1!s! permission=allow ssid=ssid1 networktype=infrastructure
    %1!s! permission=block ssid=ssid2 networktype=adhoc
    %1!s! permission=denyall networktype=adhoc
3Elimina un perfil WLAN de una o varias interfaces.
/
Uso: %1!s! [name=]<cadena> [[interface=]<cadena>]

Par�metros:

    Etiqueta        Valor
    name          - Nombre del perfil que se va a eliminar.
    interface     - Nombre de la interfaz.

Notas:

    Quita un perfil de red inal�mbrica de una interfaz o de todas las
    interfaces.

    El par�metro name es obligatorio. Es el nombre del perfil que se va a
    eliminar. El par�metro interface es opcional. Si se indica, el perfil
    se eliminar� solo de la interfaz especificada. Si se omite, el perfil se
    eliminar� de todas las interfaces que tengan dicho perfil.

    El nombre del perfil puede incluir caracteres comod�n y, si hay varios 
    perfiles con nombres coincidentes, se quitar�n.

Ejemplos:

    %1!s! name="Perfil 1" interface="Conexi�n de red inal�mbrica"
    %1!s! name="Perfil 1" i=*

Uso: %1!s! [permission=]allow|block|denyall [[ssid=]<cadena>] 
       [networktype=]infrastructure

Par�metros:

    Etiqueta             Valor
    permission         - Tipo de permiso para el filtro.
    ssid               - SSID de la red inal�mbrica.
    networktype        - Tipo de red de la red inal�mbrica.

Nota:

    Quita una red inal�mbrica de la lista de redes permitidas y bloqueadas 
    configuradas en el sistema.

    Se requiere el par�metro ssid si permission es allow o block. Si permission
    es denyall, no especifique el par�metro ssid.

Ejemplos:

    %1!s! permission=allow ssid=ssid1 networktype=infrastructure
PA4Exportar los perfiles especificados a archivos XML.
�
Uso: %1!s! [name=]<cadena> [folder=]<cadena> [[interface=]<cadena>]
[key=<cadena>]

Par�metros:

    Etiqueta        Valor
    name          - Nombre del perfil que se va a exportar.
    folder        - Nombre de la carpeta donde se guardar�n los archivos XML
                    de perfiles.
    interface     - Nombre de la interfaz que tiene este perfil configurado.
    key           - Para mostrar la clave en texto simple, establezca
                    key=clear.

Notas:

    Guarda los perfiles seleccionados en archivos XML en la carpeta
    especificada. Para cada perfil exportado, el archivo de salida recibir�
    el nombre "Nombre de interfaz-Nombre de perfil.xml".

    Los par�metros folder, name e interface son todos opcionales. Si se da el
    nombre del perfil, se guardar� el perfil especificado. De lo contrario, se
    guardar�n los perfiles de cualquier interfaz.

    Si se proporciona el par�metro folder, debe especificar una carpeta
    existente accesible desde el equipo local. Puede ser una ruta absoluta o
    relativa al directorio de trabajo actual. Adem�s, "." hace referencia al
    directorio de trabajo actual y ".." hace referencia al directorio
    principal del directorio de trabajo actual. El nombre de carpeta no puede
    ser una ruta UNC (convenci�n de nomenclatura universal). De forma
    predeterminada, los perfiles se guardar�n en el directorio de trabajo
    actual.

    Si se indica un nombre de interfaz, solo se guardar� el perfil
    especificado de la interfaz indicada. Si no, se guardar�n todos los
    perfiles del sistema con el nombre indicado.

    Si se necesita una clave en texto simple y el autor de la llamada es
    un administrador local, el archivo XML de salida incluir� la clave en
    texto simple.
    De lo contrario, el archivo XML de salida incluir� la clave cifrada.

Ejemplos:

    %1!s! name="perfil 1" folder=c:\perfiles
     interface="Conexi�n de red inal�mbrica"
    %1!s! name="perfil 2" folder=.
    %1!s! name="perfil 3" folder=. key=clear
MHabilita o deshabilita la l�gica de configuraci�n autom�tica en la interfaz.
�
Uso: %1!s! [enabled=]yes|no [interface=]<cadena>

Par�metros:

    Etiqueta        Valor
    enabled       - Establece la l�gica de configuraci�n autom�tica en
                    habilitada o deshabilitada.
    interface     - Nombre de la interfaz para la que se debe cambiar esta
                    configuraci�n.

Notas:

    Habilita o deshabilita la l�gica de configuraci�n autom�tica en una
    interfaz. Si se deshabilita, Windows no se conectar� autom�ticamente a
    ninguna red inal�mbrica desde la interfaz especificada.

    Se requieren ambos par�metros.

Ejemplo:

    %1!s! enabled=yes interface="Conexi�n de red inal�mbrica"
@Cambia el orden de preferencia de un perfil de red inal�mbrica.
�
Uso: %1!s! [name=]<cadena> [interface=]<cadena> [priority=]<entero>

Par�metros:

    Etiqueta      Valor
    name        - Nombre del perfil de usuario cuya prioridad se debe cambiar.
    interface   - Nombre de la interfaz que tiene este perfil configurado.
    priority    - Nueva prioridad del perfil de usuario.

Notas:

    Establece el orden de preferencia de un perfil de red inal�mbrica en una
    interfaz. Los tres par�metros son obligatorios.

    Solo se puede cambiar el orden de los perfiles de usuario. Los perfiles
    de directiva de grupo son de solo lectura. Los perfiles de directiva de
    grupo siempre tienen prioridad sobre los perfiles de usuario.

    El par�metro priority especifica la nueva posici�n del perfil en la lista
    de perfiles preferidos. Si es 1, el perfil se mover� a la primera
    posici�n de la lista de perfiles de usuario.

Ejemplos:

    %1!s! name="perfil1" interface="Conexi�n de red inal�mbrica"
    priority=1
VMuestra u oculta las redes bloqueadas en la lista
                 de redes visibles.
�
Uso: %1!s! [display=]show|hide

Par�metros:

    Etiqueta      Valor
    display     - Muestra u oculta las redes bloqueadas en la lista de 
                  redes visibles.

Notas:

    Indica si se van a mostrar u ocultar las redes bloqueadas en la lista de
    redes visibles. Si se deshabilita, las redes bloqueadas no se muestran en
    la lista de redes inal�mbricas visibles.

    El par�metro display es obligatorio.

Ejemplos:

    %1!s! display=show 

'Habilita o deshabilita el seguimiento.
�
Uso: %1!s! [mode=]yes|no|persistent] 

Par�metros:

    Etiqueta      Valor
    mode        - Habilitar o deshabilitar el seguimiento, o hacerlo
                  persistente.

Notas:

    Puede habilitar o deshabilitar el seguimiento, con la opci�n de hacerlo
    persistente.
    Si se habilita, los registros de seguimiento de las LAN 
    inal�mbricas se recopilan y se guardan en archivos de seguimiento.

    El par�metro mode es necesario. Cuando el valor de mode es persistent, el
    seguimiento seguir� teniendo efecto despu�s de reiniciar el sistema. Si se
    deshabilita mode, se detendr�n el seguimiento persistente y no persistente.

Ejemplos:

    %1!s! mode=yes 

YPermite o impide a todos la creaci�n de perfiles de todos los
                 usuarios.
|
Uso: %1!s! [[enabled=]yes|no]

Par�metros:

    Etiqueta           Valor
    enabled     - permite o impide a todos la creaci�n de perfiles para todos 
                  los usuarios.

Notas:

    Si el par�metro "enabled" se establece en "yes", todos podr�n crear
    perfiles para todos los usuarios.

    El par�metro "enabled" es necesario.

Ejemplos:

    %1!s! enabled=yes
EHabilita o deshabilita la selecci�n aleatoria de MAC en la interfaz.
Z
Uso: %1!s! [enabled=]yes|no [interface=]<cadena>

Par�metros:

    Etiqueta           Valor
    enabled     - Establece la selecci�n aleatoria de MAC en habilitada o deshabilitada.
    interface   - Nombre de la interfaz para la que se tiene 
                  que modificar la opci�n de configuraci�n.

Comentarios:

    El comando generar� un error si la interfaz no admite
    la selecci�n aleatoria o si la selecci�n aleatoria
    est� bloqueada por el administrador del sistema. 

    Los dos par�metros son obligatorios.

Ejemplos:

    %1!s! enabled=yes interface="Conexi�n de red inal�mbrica"
cMuestra si la l�gica de configuraci�n autom�tica est� habilitada o
                 deshabilitada.
�
Uso: %1!s!

Notas:

      Muestra la opci�n de configuraci�n global que indica si la l�gica de
      configuraci�n autom�tica est� o no habilitada en cada interfaz.

Ejemplos:

      %1!s!
CMuestra la configuraci�n de visualizaci�n de las redes bloqueadas.
�
Uso: %1!s!

Notas:

      Muestra la opci�n de configuraci�n global que indica si mostrar o no las
      redes bloqueadas en la lista de redes visibles.

Ejemplos:

      %1!s!
MMuestra las propiedades de los controladores LAN inal�mbricos en el sistema.
=
Uso: %1!s! [[interface=]<cadena>] 

Par�metros:

    Etiqueta       Valor
    interface    - Nombre de la interfaz para la que se muestra la
                   informaci�n del controlador.

Notas:

    Muestra la interfaz LAN inal�mbrica 802.11 e informaci�n del controlador
    en el sistema.

Ejemplos:

    %1!s!
3Muestra la lista de redes permitidas y bloqueadas.
B
Uso: %1!s! [permission=]allow|block

Par�metros:

    Etiqueta        Valor
    permission    - Selecciona si se permite o bloquea la lista de redes.

Notas:

    Muestra la lista de redes permitidas y bloqueadas configurada en el 
    sistema.

Ejemplos:

    %1!s!
    %1!s! permission=allow
    %1!s! permission=block
SMuestra una lista de las interfaces LAN inal�mbricas
                 del sistema.
�
Uso: %1!s!

Notas:

   Muestra las interfaces LAN inal�mbricas configuradas en el sistema.
   Este comando no tiene par�metros.

Ejemplos:

   %1!s!
7Muestra una lista de las redes visibles en el sistema.
�
Uso: %1!s! [[interface=]<cadena>] [[mode=]ssid/bssid]

Par�metros:

    Etiqueta        Valor
    interface     - Nombre de la interfaz que tiene este perfil configurado.
    mode          - Obtiene informaci�n bssid detallada.

Notas:

    Muestra las redes disponibles para el sistema.
    Los par�metros interface y bssid son opcionales.

    Si se proporciona un nombre de interfaz, solo se enumerar�n las redes de
    la interfaz dada. Si no se da un nombre, se enumerar�n todas las redes
    visibles para el sistema.

    Si se especifica mode=bssid, tambi�n aparecer�n los bssid visibles para
    cada ssid. De lo contrario, solo aparecer�n los ssid.

Ejemplos:

    %1!s! interface="Conexi�n de red inal�mbrica"
    %1!s! mode=Bssid
    %1!s!
:Muestra una lista de perfiles configurados en el sistema.
�
Uso: %1!s! [[name=]<cadena>] [[interface=]<cadena>] [key=<cadena>]

Par�metros:

    Etiqueta        Valor
    name          - Nombre del perfil que se va a mostrar.
    interface     - Nombre de la interfaz que tiene dicho perfil configurado.
    key           - Para mostrar la clave en texto simple, establezca
                    key=clear.

Notas:

    Muestra los datos del perfil o enumera los perfiles del sistema.
    Los par�metros name e interface son opcionales.

    Si se indica un nombre de perfil, se muestra el contenido del perfil. Si
    no, solo se muestran el nombre y la descripci�n del perfil.

    Si se indica un nombre de interfaz, solo se muestra el perfil especificado
    de la interfaz indicada. Si no, se muestran todos los perfiles del sistema
    con el nombre indicado.

    Si la clave se establece en "clear" y el autor de la llamada es un
    administrador local, la clave se mostrar� en texto simple.

    Los perfiles de directiva de grupo son de solo lectura. Los perfiles de
    usuario se pueden leer y escribir, y es posible cambiar el orden de
    preferencia.

Ejemplos:

   %1!s! name="perfil 1" interface="Conexi�n de red inal�mbrica"
   %1!s! name="perfil 2"
   %1!s! name="perfil 3" key=clear
   %1!s!

4Muestra la configuraci�n global de LAN inal�mbrica.
�
Uso: %1!s!

Notas:

      Muestra la configuraci�n global del servicio de configuraci�n
      autom�tica inal�mbrica, incluido si la l�gica de configuraci�n
      autom�tica est� habilitada o deshabilitada en cada interfaz y si se van
      a mostrar las redes bloqueadas en la lista de redes visibles.

      Las listas de filtros de permitidos y bloqueados se encuentran
      disponibles a trav�s del comando "show filters".

Ejemplos:

      %1!s!
NMuestra si el seguimiento de LAN inal�mbrica est� habilitado o deshabilitado.
�
Uso: %1!s!

Notas:

    Muestra si el seguimiento de LAN inal�mbrica est� habilitado o
    deshabilitado.

Ejemplos:

    %1!s!
DMuestra el dispositivo inal�mbrico completo e informaci�n de redes.
�
Uso: %1!s!

Notas:

    Muestra informaci�n de la interfaz inal�mbrica 802.11 completa, redes
    y configuraci�n inal�mbrica en el sistema. Esta informaci�n incluye:
        - Informaci�n del controlador inal�mbrico
        - Estado de la interfaz inal�mbrica
        - Ajustes de la configuraci�n inal�mbrica
        - Filtros de la red inal�mbrica
        - Lista y detalles de los perfiles de red inal�mbrica
        - Redes inal�mbricas visibles

Ejemplos:

    %1!s!
bMuestra si se permite a todos la creaci�n de los
                 perfiles de todos los usuarios.
�
Uso: %1!s!

Notas:

    Muestra la opci�n de configuraci�n global que indica si se permite o se 
    impide a todos la creaci�n de perfiles para todos los usuarios.

Ejemplos:

    %1!s!
[Muestra si la selecci�n aleatoria de MAC est� habilitada o
                 deshabilitada.
�
Uso: %1!s!

Comentarios:

      Muestra en la configuraci�n global si la l�gica de 
      selecci�n aleatoria de MAC est� habilitada o no en cada interfaz.

Ejemplos:

      %1!s!
1Muestra las capacidades inal�mbricas del sistema
j
Uso: %1!s!

Comentarios:

      Muestra las capacidades inal�mbricas del sistema

Ejemplos:

      %1!s!
RGenera un informe que muestra informaci�n de las sesiones inal�mbricas recientes.
�
Uso: %1!s! [duration=<string>] [log=<string>] [logger=<autologger,...>]

Notas:

    genera un informe que muestra la informaci�n reciente de las sesiones inal�mbricas. 
    Se generar� un informe de manera predeterminada acerca de la actividad inal�mbrica de
    los �ltimos tres d�as, seg�n el registro de eventos del sistema. 

    Puedes cambiar la duraci�n del informe especificando un n�mero de d�as 
    mediante el par�metro de duraci�n opcional. 

    Adem�s, puedes proporcionar una ruta de acceso a un archivo ETL para usarlo como origen de eventos 
    en vez de usarlo como registro de eventos del equipo. 

    Tambi�n puedes proporcionar una lista separada por comas de los servicios de registro autom�tico para 
    recuperar los registros. Los registros WiFiSession y LwtNetLog se recuperan 
    de manera predeterminada. 
Ejemplos:

    %1!s! duration="7" log="logpath.etl" logger="name1,name2"
�
Uso: %1!s!

Notas:

      Muestra la configuraci�n global del servicio de configuraci�n autom�tica
      inal�mbrica, incluido si la l�gica de configuraci�n autom�tica est�
      habilitada o deshabilitada en cada interfaz, si se van mostrar las
      redes bloqueadas en la lista de redes visibles y se deben usar solo
      perfiles GP en redes configuradas con GP.

      Las listas de filtros de permitidos y bloqueados est�n disponibles a
      trav�s del comando "show filters".

Ejemplos:

      %1!s!
SMuestra la configuraci�n de uso �nico de perfiles GP en redes configuradas con GP.
�
Uso: %1!s!

Notas:

              Muestra la configuraci�n global sobre el uso exclusivo o no de 
              perfiles GP en redes configuradas con GP.

Ejemplos:

              %1!s!
7Establecer par�metros en un perfil de red inal�mbrica.
j
Uso: %1!s! [name=]<cadena> [[interface=]<cadena>]
     [SSIDname=<cadena>] [ConnectionType=ESS|IBSS] [autoSwitch=yes|no]
     [ConnectionMode=auto|manual] [nonBroadcast=yes|no] 
     [Randomization=[yes|no]] 
     [authentication=open|shared|WPA|WPA2|WPAPSK|WPA2PSK]
     [encryption=none|WEP|TKIP|AES] [keyType=networkKey|passphrase]
     [keyIndex=1-4] [keyMaterial=<cadena>] [PMKCacheMode=yes|no]
     [PMKCacheSize=1-255] [PMKCacheTTL=300-86400] [preAuthMode=yes|no]
     [preAuthThrottle=1-16 [FIPS=yes|no]
     [useOneX=yes|no] [authMode=machineOrUser|machineOnly|userOnly|guest]
     [ssoMode=preLogon|postLogon|none] [maxDelay=1-120]
     [allowDialog=yes|no] [userVLAN=yes|no]
     [heldPeriod=1-3600] [AuthPeriod=1-3600] [StartPeriod=1-3600]
     [maxStart=1-100] [maxAuthFailures=1-100] [cacheUserData = yes|no] 
     [cost=default|unrestricted|fixed|variable] 
Y
Par�metros:

    Etiqueta         Valor
    name           - Nombre del perfil que se va a modificar.
    interface      - Nombre de la interfaz en la que se establece el perfil.
    SSIDname       - SSID de la LAN inal�mbrica; la longitud m�xima es 32. 
    ConnectionType - Especifica si la red es de infraestructura (ESS) o ad-hoc (IBSS). 
    ConnectionMode - Conexi�n a la red autom�tica o manual. 
                     Debe ser manual si el tipo de conexi�n es IBSS. 
    autoSwitch     - Comportamiento de movilidad de una red de conexi�n autom�tica 
                     cuando hay otra red de mayor preferencia al alcance. 
    randomization  - Si est� habilitada o deshabilitada la selecci�n aleatoria de direcci�n MAC. 
    nonBroadcast   - Si se conecta a una red oculta. 
    authentication - Tipo de autenticaci�n que debe usarse. 
    encryption     - M�todo de cifrado que debe usarse. 
    keyType        - Si la clave compartida es una clave de red o una frase de contrase�a. 
    keyIndex       - Debe usarse el �ndice de clave para cifrar el tr�fico inal�mbrico. 
    keyMaterial    - Clave de red o frase de contrase�a. 
    PMKCacheMode   - Si se usar� almacenamiento en cach� PMK. V�lido solo para redes WPA2. 
    PMKCacheSize   - N�mero de entradas en la memoria cach� PMK en el cliente. 
    PMKCacheTTL    - Duraci�n en segundos que se mantendr� una memoria cach� PMK. 
    preAuthMode    - Si se usar� autenticaci�n previa. V�lido solo para redes WPA2. 
    preAuthThrottle - N�mero de intentos de reautenticaci�n para AP vecinos. 
    FIPS           - Habilita o deshabilita el modo FIPS. 
    useOneX         - Si se usa autenticaci�n 802.1X. 
    authMode       - Tipo de credenciales que debe usarse para la autenticaci�n.
    ssoMode        - Tipo de inicio de sesi�n �nico que se debe intentar si lo hay.
    maxDelay       - Valor de tiempo de espera para establecer inicio de sesi�n �nico en la conexi�n.
    allowDialog    - Permitir o no que se muestre un cuadro di�logo previo al inicio de sesi�n.
    userVLAN       - Especifica si la red cambia a una VLAN diferente tras autenticarse el usuario.
    heldPeriod     - Intervalo de tiempo entre dos intentos de autenticaci�n, en segundos. 
    AuthPeriod     - Tiempo m�ximo, en segundos, que espera un cliente una respuesta del autenticador. 
    StartPeriod    - Intervalo de tiempo, en segundos, que se espera antes de un EAPOL-Start
    maxStart       - N�mero m�ximo de mensajes de EAPOL-Start que se env�an. 
    maxAuthFailures - N�mero m�ximo de errores de autenticaci�n permitidos 
                     para un conjunto de credenciales. 
    cacheUserData -  Si las credenciales de usuario se almacenan en cach� para su uso posterior. 
    cost          -  Costo asociado con el perfil. 

Comentarios:

    Modifica el perfil especificado. Si se especifica la interfaz, 
    solo se modifica el perfil de esa interfaz. 

    Requiere el par�metro name. Debe especificarse al menos otro par�metro junto al 
    nombre de perfil y la interfaz. 

Ejemplos:

    %1!s! name=Profile1 authMode=userOnly ssoMode=preLogon 
    %1!s! name=Profile2 ssoMode=none fips=yes 
/Establece las propiedades de la red hospedada.
�
Uso: %1!s! [mode=]allow|disallow [ssid=]<ssid>
                     [key=]<fraseContrase�a> [keyUsage=]persistent|temporary

Par�metros:

    Etiqueta        Valor
    mode            Especifica si se permite o no la red hospedada.
    ssid            SSID de la red hospedada.
    key             Clave de seguridad del usuario que usa la red hospedada.
    keyUsage        Especifica si la clave de seguridad del usuario es
                    persistente o temporal.

Notas:

    Este comando cambia las propiedades de la red hospedada, como el SSID
    de la red hospedada, permitir o no la red hospedada en el sistema y una
    clave de seguridad del usuario que usa la red hospedada.


    La clave de seguridad del usuario debe ser una cadena de 8 a 63 caracteres
    ASCII (por ejemplo, una frase de contrase�a) o de 64 d�gitos
    hexadecimales, que representan 32 bytes binarios.


    Si keyUsage se especifica como persistent, la clave de seguridad se
    guarda y se usa cuando la red hospedada se vuelve a iniciar. De lo
    contrario, se usa solo ahora o la pr�xima vez que se inicie la red
    hospedada. Una vez detenida la red hospedada, la clave de seguridad
    temporal se elimina del sistema. Si no se especifica keyUsage, es
    persistent de forma predeterminada.

    Este comando exige privilegios de administrador para permitir o impedir
    el uso de la red hospedada.

Ejemplos:

    %1!s! mode=allow
    %1!s! ssid=ssid1
    %1!s! key=passphrase keyUsage=persistent 
9Muestra las propiedades y el estado de la red hospedada.
�
Uso: %1!s! [[setting=]security]

Par�metros:

    Etiqueta        Valor
    setting         Especifica la configuraci�n de red hospedada que
                    se mostrar�.

Notas:

    Este comando muestra las propiedades de la red hospedada y su estado si
    se inici�.

    Si se especifica el par�metro setting, se muestran los algoritmos de
    seguridad y la clave de la red hospedada.

Ejemplos:

    %1!s!
    %1!s! setting=security
Inicia la red hospedada.
�
Uso: %1!s!

Notas:

    Este comando solicita al servicio WLAN que inicie la red hospedada.

    Este comando requiere privilegios de administrador.

Ejemplos:

    %1!s!
Detiene la red hospedada.
u
Uso: %1!s! 

Notas:

    Este comando solicita al servicio WLAN que detenga la red hospedada.

Ejemplos:

    %1!s!
0Actualiza la configuraci�n de la red hospedada.
6
Uso: %1!s! [data=]key

Par�metros:

    Etiqueta        Valor
    data            Especifica los datos de la red hospedada que deben
                    actualizarse.

Notas:

    Este comando solicita al servicio WLAN que use una nueva clave de
    seguridad para la red hospedada.

Ejemplos:

    %1!s! key
QMuestra la configuraci�n para permitir o no credenciales de usuario compartidas.
�
Uso: %1!s!

Notas:

      Muestra la configuraci�n global para permitir o no credenciales de
      usuario compartidas para autenticar redes 802.1x.

Ejemplos:

      %1!s!
�Permite o impide que el usuario use credenciales 
                         de usuario compartidas para la autenticaci�n de red.
b
Uso: %1!s! [allow=]yes|no

Par�metros:

    Etiqueta      Valor
    allow       - Permite o impide credenciales de usuario compartidas.

Notas:

    Especifica si deben permitirse o impedirse las credenciales de
    usuario compartidas en el cliente para la autenticaci�n de red.

    El par�metro allow es obligatorio.

Ejemplos:

    %1!s! allow=yes

BEstablece el tipo de perfil en todos los usuarios o por usuario. 
PAA
Uso: %1!s! [name=]<cadena> [profiletype=]all|current [[interface=]<cadena>]

Par�metros:

    Etiqueta      Valor
    name        - Nombre del perfil que va a cambiarse.
    profiletype - Tipo de perfil deseado [todos los usuarios/por usuario]. 
    interface   - Nombre de la interfaz en la que se establece el perfil.

Notas:

    Cambia el tipo de perfil para el perfil especificado. Si se especifica 
    la interfaz, solo se cambiar� el perfil de esa interfaz.

    Los par�metros name y profiletype son obligatorios. 

Ejemplos:

    %1!s! name=Profile1 profiletype=all
5Exporta el perfil de red hospedada a un archivo XML.
�
Uso: %1!s!

Notas:

    Este comando guarda el perfil de cliente de red hospedada en un archivo
    XML. Se puede agregar a otros clientes inal�mbricos de Windows para
    conectarse a esta red hospedada. 

Ejemplos:

    %1!s! 

6Genera un informe de seguimiento inteligente de WLAN.
�
Uso: %1!s!

Notas:

    Este comando genera un informe de seguimiento inteligente de WLAN y lo
    prepara para notificar problemas de WLAN. 

Ejemplos:

    %1!s! 
"Establezca el per�odo de bloqueo.
�
Uso: %1!s! [value=]0-60

Par�metros:

    Etiqueta      Valor
    value       - Especifica la cantidad de tiempo, en minutos, durante la
                  que se suspender�n los intentos de conexi�n autom�tica a
                  esta red.

Notas:

    Modifica el temporizador especificado. El valor se especifica en minutos.
    El estado bloqueado se restablece tras un intento de conexi�n manual,
    un cambio de sesi�n o una conexi�n de medios.


Ejemplos:

    %1!s! value=2
    %1!s! 25

*La funci�n %1!s! devuelve el error %2!u!:
:Valor no v�lido "%2!s!" para la opci�n de comando "%1!s!".?Faltan uno o varios par�metros del comando o no son correctos.
REl valor para la opci�n "%1!s!" no es v�lido. Debe tener entre 8 y 63 caracteres.
PA;Valor no v�lido "%2!s!" para la opci�n de comando "%1!s!".
PA
2Esta interfaz inal�mbrica no existe en el sistema.2No hay ninguna interfaz inal�mbrica en el sistema.PATEl Servicio de configuraci�n autom�tica inal�mbrica (wlansvc) no se est�
ejecutando.ZError al conectarse al Servicio de configuraci�n autom�tica inal�mbrica
(wlansvc): %1!lu!.&
Hay %1!d! interfaces en el sistema: 
$
Hay %1!d! interfaz en el sistema: 
�
    Nombre                 : %1!s!
    Descripci�n            : %2!s!
    GUID                   : %3!s!
    Direcci�n f�sica       : %4!02x!:%5!02x!:%6!02x!:%7!02x!:%8!02x!:%9!02x!
    Estado                 : %10!s!
$    Perfil                 : %1!s! 
p
    SSID                   : %1!s!
    BSSID                  : %2!02x!:%3!02x!:%4!02x!:%5!02x!:%6!02x!:%7!02x!i
    Tipo de red            : %1!s!
    Tipo de radio          : %2!s!
    Autenticaci�n          : %3!s!i
    Cifrado                : %1!s!
    Modo de conexi�n       : %2!s!
    Canal                  : %3!d!�
    Velocidad de recepci�n (Mbps)   : %1!s!
    Velocidad de transmisi�n (Mbps) : %2!s!
    Se�al                           : %3!d!%% 
PerfilPerfil temporalDetecci�n (seguro)Detecci�n  (no seguro)Conexi�n autom�tica	No v�lido  (H2E)PAR    Clientes de la red hospedada: %1!02x!:%2!02x!:%3!02x!:%4!02x!:%5!02x!:%6!02x!
M                             %1!02x!:%2!02x!:%3!02x!:%4!02x!:%5!02x!:%6!02x!
'
    Estado de la red hospedada: %1!s!
.Se agreg� el perfil %1!s! a la interfaz %2!s!.+Error de formato de perfil 0x%1!X!: %2!s! 
2Error al agregar el perfil. Error %x%1!X!: %2!s! 
�Error al agregar el perfil "%1!s!". Ya existe un perfil con este nombre
en la directiva de grupo o en un �mbito de usuario distinto y no se puede
sobrescribir.BNo tiene permiso para agregar el perfil "%1!s!" al usuario actual.ENo tiene permiso para agregar el perfil "%1!s!" a todos los usuarios.vLa configuraci�n de seguridad o conectividad del perfil "%1!s!" no es compatible con el adaptador inal�mbrico "%2!s!".PAJNo se pudo agregar el perfil a la interfaz "%3!s!". Error 0x%1!X!: %2!s! 
6No se encuentra el perfil "%1!s!" en ninguna interfaz.9Se ha eliminado el perfil "%1!s!" de la interfaz "%2!s!".tNo cuenta con suficientes privilegios o el perfil "%1!s!"
de la interfaz "%2!s!" es un perfil de directiva de grupo.PAAActualizaci�n correcta del orden de prioridad del perfil "%1!s!".KNo se ha modificado el orden de prioridad del perfil "%1!s!" para "%2!s!". FNo existe el perfil "%1!s!" en ninguna de las interfaces disponibles. 2El orden de preferencia del perfil comienza por 1.TEl orden de prioridad del perfil de directiva de grupo "%1!s!"
no se puede cambiar. J
Perfil de interfaz "%1!s!" correctamente guardado en el archivo "%2!s!".
6No se encuentra el perfil "%1!s!" en ninguna interfaz.9No se encuentra el perfil "%1!s!" en la interfaz "%2!s!".#No hay ning�n perfil en el sistema.T
Perfil de directiva de grupo "%1!s!" correctamente guardado
en el archivo "%2!s!".
-La carpeta especificada "%1!s!" no es v�lida.PA0No se encuentra el perfil "%1!s!" en el sistema.3No existe el perfil "%1!s!" en la interfaz "%2!s!".#No hay ning�n perfil en el sistema.-El perfil no es un perfil de LAN inal�mbrica.o
Perfil %2!s! en la interfaz %1!s!: 
======================================================================= 

!
Perfiles en la interfaz  %1!s!:
    %1!s! : %2!s!
    <Ninguno>
]
Perfiles de directiva de grupo (solo lectura)
---------------------------------------------
)
Perfiles de usuario
-------------------

    %1!s!
PA3No existe el m�todo EAP configurado en este perfil.BLa configuraci�n de m�todo EAP incluida en el perfil no es v�lida.+La operaci�n solicitada requiere elevaci�n.[
Lista de permitidos en el sistema (usuario) 
------------------------------------------- 
[
Lista de bloqueados en el sistema (usuario) 
------------------------------------------- 
    <Ninguno>
    SSID: "%1!s!", Tipo: %2!s!
q
Lista de permitidos en el sistema (directiva de grupo) 
------------------------------------------------------ 
q
Lista de bloqueados en el sistema (directiva de grupo) 
------------------------------------------------------ 
PAE
Configuraci�n de LAN inal�mbrica 
-------------------------------- 
Q    La l�gica de configuraci�n autom�tica est� habilitada en la interfaz "%2!s!"
T    La l�gica de configuraci�n autom�tica est� deshabilitada en la interfaz "%2!s!"
A    Mostrar redes bloqueadas en la lista de redes visibles: %1!s!S�

No

PA=    Usar solo perfiles GP en redes configuradas con GP: %1!s!S�

No

PAT    Permitir credenciales de usuario compartidas para la autenticaci�n de red: %1!s!S�

No

(    Per�odo de bloqueo: %1!d! minutos.

)    Per�odo de bloqueo: sin configurar.

PAJ    La selecci�n aleatoria de MAC no est� disponible en la interfaz %1!s!
T    Un administrador deshabilit� la selecci�n aleatoria de MAC en la interfaz %1!s!
J    La selecci�n aleatoria de MAC est� deshabilitada en la interfaz %1!s!
G    La selecci�n aleatoria de MAC est� habilitada en la interfaz %1!s!
PAE
Capacidades inal�mbricas del sistema 
---------------------------- 
;    N�mero de antenas conectadas a la radio 802.11: %1!u!

J    N�mero de antenas conectadas a la radio 802.11 (valor no disponible)

5    Restablecimiento del nivel de funci�n: admitido

8    Restablecimiento del nivel de funci�n: no admitido

3    Compatibilidad con FLDR (valor no disponible)

<    Compatibilidad con coexistencia: mutuamente exclusivas

G    Compatibilidad con coexistencia: rendimiento Wi-Fi reducido a 1x1

G    Compatibilidad con coexistencia: el rendimiento Wi-Fi se mantiene

X    Compatibilidad con coexistencia                        : Bluetooth tiene prioridad

>    PLDR                                        : Compatible

A    PLDR                                        : no compatible

3    Compatibilidad con PLDR (valor no disponible)

b    N�mero m�x. de canales en los que el dispositivo puede funcionar simult�neamente     : %1!u!

l    N�mero m�x. de canales en los que el dispositivo puede funcionar simult�neamente (valor no disponible)

7    Las capacidades inal�mbricas no est�n disponibles

PA 
Nombre de interfaz : %1!s! 
'Actualmente hay %1!d! redes visibles. 
�
SSID %1!d! : %2!s!
    Tipo de red             : %3!s!
    Autenticaci�n           : %4!s!
    Cifrado                 : %5!s! 
�    BSSID %1!d!             : %2!02x!:%3!02x!:%4!02x!:%5!02x!:%6!02x!:%7!02x!
         Se�al              : %8!d!%%  
         Tipo de radio      : %9!s!
         Canal              : %10!d! 
eNo se pueden mostrar las redes visibles porque la configuraci�n 
autom�tica se %1!s! en la interfaz.
  Velocidades b�sicas (Mbps):    Otras velocidades (Mbps): %1!s!
%         MFP requerido       : %1!x!
�
SSID %1!d! : %2!s!
    HESSID                  : %3!s!
    Network type            : %4!s!
    Authentication          : %5!s!
    Encryption              : %6!s! 
0         Velocidades de recepci�n de Dmg (Mbps):2         Velocidades de transmisi�n de Dmg (Mbps):
Nombre de interfaz: %1!s!

G    No hay disponible informaci�n de controladores para esta interfaz.
'    Controlador                : %1!s!
'    Proveedor                  : %1!s!
$    Proveedor               : %1!s!
9    Versi�n                    : %1!d!.%2!d!.%3!d!.%4!d!
'    Fecha                      : %1!s!
-    Archivos                   : %1!d! total
'    Archivo INF                : %1!s!
'                                 %1!s!
<    Tipo                       : Controlador Wi-Fi heredado
:    Tipo                       : Controlador Wi-Fi nativo
$    Servicio IHV presente      : S�
L    OUI de adaptador IHV       : [%1!02x! %2!02x! %3!02x!], tipo: [%4!02x!]
(    Ruta de DLL de extensib. IHV: %1!s!
*    CLSID de extensib. de IU IHV: {%1!s!}
*    CLSID de diagn�stico de IHV : {%1!s!}
!    Tipos de radio admitidos    : %1!s!A    Autenticaci�n y cifrado admitidos en el modo infrastructure:
.                                %1!-16s!%2!s!
9    Autenticaci�n y cifrado admitidos en el modo ad-hoc:
PA#    Modo FIPS 140-2 compatible: S�
#    Modo FIPS 140-2 compatible: No
Y    Modo FIPS 140-2 compatible: S� [el controlador indica que el hardware es compatible]
f    Monitor inal�mbrico admitido: %1!s! (controlador de gr�ficos: %2!s!, controlador de Wi-Fi: %3!s!)
S�NoPA    Red hospedada admitida: s�
    Red hospedada admitida: no
<El seguimiento inal�mbrico no est� habilitado en el sistema..El seguimiento inal�mbrico se est� ejecutando.)El seguimiento inal�mbrico est� detenido.8
Los registros de seguimiento se almacenar�n en "%1!s!".>
Los �ltimos registros de seguimiento se almacenan en "%1!s!".HEl seguimiento inal�mbrico persistente no est� habilitado en el sistema.:El seguimiento inal�mbrico persistente se est� ejecutando.5El seguimiento inal�mbrico persistente est� detenido.D    Protecci�n de trama de administraci�n de 802.11w habilitada: S�
D    Protecci�n de trama de administraci�n de 802.11w habilitada: No
�

======================================================================= 
======================= MOSTRAR CAPACIDADES DE LA INTERFAZ =================== 
=======================================================================

FResumen informativo del sistema inal�mbrico
(Hora: %1!s! %2!s! %3!s!)
�

======================================================================= 
======================== MOTRAR CONTROLADORES ========================= 
=======================================================================

�

======================================================================= 
=========================== MOSTRAR INTERFACES ======================== 
=======================================================================

�

======================================================================= 
======================= MOSTRAR CONFIGURACI�N ========================= 
=======================================================================

�

======================================================================= 
=========================== MOSTRAR FILTROS =========================== 
=======================================================================

�

======================================================================= 
========================== MOSTRAR PERFILES =========================== 
=======================================================================

�

======================================================================= 
===================== MOSTRAR NOMBRE DE PERFIL=* ====================== 
=======================================================================

�

======================================================================= 
==================== MOSTRAR MODE=BSSID DE REDES ====================== 
=======================================================================

�

======================================================================= 
=========================== MOSTRAR CREATEALLUSER ===================== 
=======================================================================

�

=======================================================================
====================== MOSTRAR RED HOSPEDADA ==========================
=======================================================================

1
Informaci�n del perfil 
---------------------- 
#    Nombre                 : %1!s!
#    Versi�n                : %1!d!
#    Descripci�n            : %1!s!
#    Tipo                   : %1!s!
LAN inal�mbrica
LAN con cableTipo desconocido    Opciones de control    : 
4        Modo de conexi�n : conectar autom�ticamente
0        Modo de conexi�n : conectar manualmente
L        Difusi�n de red  : conectarse incluso si la red no est� difundiendo
E        Cambio autom�tico: cambiar a una red preferida si es posible
4        Cambio autom�tico: no cambiar a otras redes
?
Configuraci�n de conectividad 
----------------------------- 
"    Tipo de red           : %1!s!
InfraestructuraAd hocCualquier tipo de redDesconocido"    N�mero de SSID        : %1!d!
%                             "%1!s!"
Perfil de directiva de grupoPerfil de usuario actual Perfil de todos los usuarios    Aplicado: %1!s!
#    Nombre de SSID       : "%1!s!"
#    Nombres de SSID      : "%1!s!"
    Tipo de radio          : %1!s!, %1!s!Cualquier tipo de radioFHSSDSSS
Banda base IR802.11a802.11b802.11gDesconocido Definido por el fabricante(0x%X)%    Id. de extensi�n del proveedor : 6    Extensi�n de proveedor         : no est� presente
802.11n802.11ac802.11ad802.11axPA[  ]

0x%1!02X! 9
Configuraci�n de seguridad 
-------------------------- 
+    Autenticaci�n                  : %1!s!
+    Cifrado                        : %1!s!
Abierta
CompartidaWPA-EnterpriseWPA-PersonalWPA-NoneWPA2-Enterprise
WPA2-PersonalDesconocidaNingunaWEPTKIPCCMP	WEP-40bitWEP-104 bits
WPA-Use-GroupDesconocida7    Clave de seguridad                         : %1!s!
PresenteAusente)    �ndice de clave              : %1!d!
Definido por el fabricanteDefinido por el fabricanteGCMPWPA3-Enterprise
WPA3-PersonalGCMP-256GMAC 256OWE<    802.1X                                     : habilitado
.    Tipo de EAP                       : %1!s!
W    Tipo de EAP               : no existe el m�todo EAP correspondiente a este perfil.
"    Credenciales configuradas: s�
"    Credenciales configuradas: no
.    Credencial de autenticaci�n 802.1X: %1!s!
Credencial de equipo o usuarioCredencial de equipoCredencial de usuarioCredencial de invitadoNo especificadoNo5    Copiar en cach� la informaci�n de usuario: %1!s!
S�No especificado!        Tipo             : %1!s!
$        Retraso m�x. (s)    : %1!d!
Inicio de sesi�n previoInicio de sesi�n posterior/        Cuadros de di�logo adicionales : %1!s!
'        Entrada de di�logo (s) : %1!d!

Habilitado
DeshabilitadoH        Difusi�n de red  : conectarse solo si esta red est� difundiendo
.    Configuraci�n de inicio de sesi�n �nico: 
<    Longitud de datos de la extensi�n del fabricante: %1!d!
#    Contenido de la clave  : %1!s!
#    Modo FIPS              : %1!s!

Habilitado
Deshabilitado5        VLAN de autenticaci�n de usuario     : %1!s!

Habilitado
Deshabilitado9        Selecci�n aleatoria de direcci�n MAC: habilitada
<        Selecci�n aleatoria de direcci�n MAC: deshabilitada
5        Selecci�n aleatoria de direcci�n MAC: diaria
6Este filtro ya existe en la misma lista en el sistema.?Este filtro ya existe en la lista de permitidos en el sistema. ?Este filtro ya existe en la lista de bloqueados en el sistema. `Advertencia: este filtro entra en conflicto con la directiva de grupo.
No tendr� ning�n efecto. )Filtro correctamente agregado al sistema.PA)Filtro correctamente quitado del sistema."El filtro no existe en el sistema.PA�
# ----------------------------------------
# Configuraci�n de LAN inal�mbrica
# ----------------------------------------
pushd %1!s!3

popd
# Fin de la configuraci�n de LAN inal�mbricaK

# Lista de filtros permitidos
# ----------------------------------------
K

# Lista de filtros bloqueados
# ----------------------------------------
4
%1!s! %2!s! %3!s!=%4!s! %5!s!="%6!s!" %7!s!="%8!s!"&
%1!s! %2!s! %3!s!=%4!s! %5!s!="%6!s!"<Se %1!s! la configuraci�n autom�tica en la interfaz "%2!s!".
Habilitado
deshabilitadoNNo cuenta con suficientes privilegios o se ha aplicado una directiva de grupo.DSe %1!s! la selecci�n aleatoria de direcci�n en la interfaz "%2!s!".PA
habilitado
deshabilitadoULa interfaz no admite la selecci�n aleatoria o estaba bloqueada por un administrador.SMostrar redes bloqueadas en la lista de redes visibles
se ha establecido en: %1!s!.NNo cuenta con suficientes privilegios o se ha aplicado una directiva de grupo.PA%Se inici� el seguimiento inal�mbrico.3Se habilit� el seguimiento inal�mbrico persistente.%Se detuvo el seguimiento inal�mbrico.PA1Se detuvo el seguimiento inal�mbrico persistente..El seguimiento inal�mbrico se est� ejecutando.:El seguimiento inal�mbrico persistente se est� ejecutando.1El seguimiento inal�mbrico no se est� ejecutando.=El seguimiento inal�mbrico persistente no se est� ejecutando.=El seguimiento inal�mbrico no est� configurado en el sistema.IEl seguimiento inal�mbrico persistente no est� configurado en el sistema.[La ruta de acceso de salida "%1!s!" del registro de seguimiento
no es un directorio v�lido.8
Los registros de seguimiento se almacenar�n en "%1!s!".6
Los registros de seguimiento se almacenan en "%1!s!".D
Se permite a todos la creaci�n de perfiles de  todos los usuarios.
F
No se permite a todos la creaci�n de perfiles de todos los usuarios.
NNo cuenta con suficientes privilegios o se ha aplicado una directiva de grupo.ANo hay ning�n perfil "%1!s!" asignado a la interfaz especificada.3La solicitud de conexi�n se complet� correctamente.(Error de solicitud de conexi�n: 0x%1!X!.NLa red especificada por el perfil "%1!s!" no est� disponible para la conexi�n.RNo se puede conectar con la red especificada por el perfil "%1!s!". 
Motivo: %2!s!eNo se puede conectar. La configuraci�n autom�tica de WLAN est� deshabilitada
en el adaptador "%1!s!"./El SSID "%1!s!" no existe en el perfil "%2!s!".OLa solicitud de desconexi�n se complet� correctamente para la interfaz "%1!s!".DError de solicitud de desconexi�n para la interfaz "%1!s!": 0x%2!X!.hNo se puede desconectar. La configuraci�n autom�tica de WLAN est�
deshabilitada en el adaptador "%1!s!".PAfEl perfil "%1!s!" de la interfaz "%2!s!" se cambi� correctamente por un perfil de todos los usuarios.
bEl perfil "%1!s!" de la interfaz "%2!s!" se cambi� correctamente por un perfil de usuario actual.
�El perfil "%1!s!" de la interfaz "%2!s!" es un perfil de directiva de grupo.
No es posible modificar el tipo de perfil de directiva de grupo. 
aNo tiene suficientes privilegios para cambiar el tipo del perfil "%1!s!" en la interfaz "%2!s!".
PEl perfil "%1!s!" de la interfaz "%2!s!" ya es un perfil de todos los usuarios.
LEl perfil "%1!s!" de la interfaz "%2!s!" ya es un perfil de usuario actual.
B
Perfil "%1!s!" en la interfaz "%2!s!" actualizado correctamente.
6
No se pudo modificar el perfil. Error 0x%1!X!: %2!s!
P
No dispone de permiso para modificar el perfil "%1!s!" para el usuario actual.
Q
No dispone de permiso para modificar el perfil "%1!s!" para todos los usuarios.
x
La configuraci�n de seguridad o conectividad del perfil "%1!s!" no es compatible con el adaptador inal�mbrico "%2!s!".
X
No est� habilitada la configuraci�n oneX en el perfil "%1!s!" de la interfaz "%2!s!". 
�
La configuraci�n IHV est� habilitada en el perfil "%1!s!" de la interfaz "%2!s!". Especifique el tipo de autenticaci�n de MS. 
T
El par�metro especificado no es v�lido para la configuraci�n original del perfil. 
X
No se pudo establecer el costo del perfil "%1!s!" en el adaptador inal�mbrico "%2!s!".
5
Este sistema no admite la configuraci�n de costos.
 <El modo de red hospedada est� permitido en el servicio WLAN.?El modo de red hospedada no est� permitido en el servicio WLAN.�No se puede cambiar la compatibilidad con el modo de red hospedada en el servicio WLAN.
No cuenta con suficientes privilegios o se aplic� la directiva de grupo.6Se cambi� correctamente el SSID de la red hospedada. 
5El modo de red hospedada se estableci� en permitir. 
8El modo de red hospedada se estableci� en no permitir. 
EPermitir credenciales de usuario compartidas se estableci� en: %1!s!.NNo cuenta con suficientes privilegios o se ha aplicado una directiva de grupo.YSe cambi� correctamente la frase de contrase�a de clave de usuario de la red hospedada. 
8El per�odo de bloqueo est� establecido en %1!d! minutos.INo cuenta con suficientes privilegios o se aplic� una directiva de grupo.PA=    Modo de red hospedada permitido en el servicio WLAN: s�

=    Modo de red hospedada permitido en el servicio WLAN: no

@
Configuraci�n de red hospedada
------------------------------ 
#    Nombre de SSID       : "%1!s!"
#    N� m�ximo de clientes  : %1!d!
8
Estado de la red hospedada
-------------------------- 
#    Estado                 : %1!s!

No disponibleNo iniciadoIniciadoM    BSSID                  : %1!02x!:%2!02x!:%3!02x!:%4!02x!:%5!02x!:%6!02x!
&    Tipo de radio             : %1!s!
!    Canal                : %1!d!
$    N�mero de clientes      : %1!d!
PAE        %1!02x!:%2!02x!:%3!02x!:%4!02x!:%5!02x!:%6!02x!        %7!s!
Autenticado	No v�lidoZ
Configuraci�n de seguridad de red hospedada
------------------------------------------- 
.    Clave de seguridad del sistema: <cifrada>
*    Clave de seguridad del sistema: %1!s!
    Modo: permitido
    Modo: no permitido
9    Uso de la clave de seguridad de usuario: persistente
6    Uso de la clave de seguridad de usuario: temporal
)    Clave de seguridad de usuario: %1!s!
5    Clave de seguridad de usuario: <no especificada>
$    Configuraci�n: <no establecida>
PA=El servicio WLAN no admite la conexi�n con el perfil "%1!s!".PA
Red hospedada2    N� m�ximo de clientes de red hospedada: %1!d!
6    N� m�ximo de clientes de red hospedada: ilimitado
PASe inici� la red hospedada. 
&No se pudo iniciar la red hospedada. 
Se detuvo la red hospedada. 
DNo se pudo detener la red hospedada. El c�digo de motivo es %1!d!. 
GSe actualiz� correctamente la clave de seguridad de la red hospedada. 
[Debe ejecutar este comando desde un s�mbolo del sistema con privilegios de administrador. 
]El perfil para conectarse a la red hospedada se guard� correctamente en el archivo "%1!s!". 
0No se configur� el perfil de la red hospedada. 
PApLos archivos de informes y los registros de seguimiento inteligente de WLAN est�n disponibles ahora en "%1!s!".
`Los registros de seguimiento inteligente de WLAN son �tiles a�n y est�n disponibles en "%1!s!".
Generando informe ... 
Generando registros... 
se termin�.
gener� el error 0x%1!X!
XNo hay ning�n archivo de registro de seguimiento inteligente para notificar en "%1!s!".
Consultando eventos de WLAN...
Consultando eventos de NCSI...
Consultando eventos de NDIS...
Consultando eventos de EAP...
Consultando eventos de WCM...
!Consultando eventos de kernel...
#Consultando eventos del sistema...
$Ejecutando el comando "ipconfig"...
/Ejecutando el comando "netsh wlan show all"...
%Consultando perfiles inal�mbricos...
6Consultando certificados del sistema y del usuario...
&Consultando informaci�n de usuario...
#Consultando dispositivos de red...

Informe escrito en: %1!s!
)
Configuraci�n de costos 
------------- 
0    Costo                   : Sin restricciones
"    Costo                  : Fijo
'    Costo                   : Variable
*    Costo                   : Desconocido
,    Costo                   : No disponible
/    A punto de alcanzar el l�mite de datos: S�
/    A punto de alcanzar el l�mite de datos: No
)    L�mite de datos superado        : S�
)    L�mite de datos superado        : No
$    Congestionado              : S�
$    Congestionado              : No
     Itinerancia            : S�
$    Itinerancia                : No
0    Origen de costo            : Predeterminado
4    Origen de costo            : Directiva de grupo
)    Origen de costo            : Usuario
*    Origen de costo            : Operador
PA(
Configuraci�n del plan 
------------- 
2    Uso en megabytes                      : %1!d!
A    Uso de tiempo de sinc.                         : %1!s! %2!s!
9    L�mite de datos en megabytes                 : %1!d!
B    Ancho de banda entrante en Kbps                       : %1!d!
J    Fecha de inicio de ciclo de facturaci�n                 : %1!s! %2!s!
:    Duraci�n del ciclo de facturaci�n                  : 
3       N�mero de a�os                      : %1!d!
3       N�mero de meses                     : %1!d!
4       N�mero de d�as                       : %1!d!
4       N�mero de horas                      : %1!d!
4       N�mero de minutos                    : %1!d!
5       N�mero de segundos                    : %1!d!
4       N�mero de milisegundos               : %1!d!
>    Restablecer ciclo de facturaci�n                     : S�
PA>    Restablecer ciclo de facturaci�n                     : No
8    Tama�o m�ximo de transferencia en megabytes : %1!d!
B    Ancho de banda saliente en Kbps                       : %1!d!
G
Capacidades de dispositivo inal�mbrico 
---------------------------- 
N    Versi�n de WDI (Windows)                       : %1!u!.%2!u!.%3!u!.%4!u!

=    Versi�n del firmware                            : %1!S!

?    Estaci�n                                     : compatible

B    Estaci�n                                     : no compatible

>    Soft AP                                     : compatible

A    Soft AP                                     : no compatible

@    Modo de monitor de red                        : compatible

C    Modo de monitor de red                        : no compatible

C    Dispositivo Wi-Fi Direct                         : compatible

F    Dispositivo Wi-Fi Direct                         : no compatible

>    Wi-Fi Direct GO                             : compatible

A    Wi-Fi Direct GO                             : no compatible

B    Cliente de Wi-Fi Direct                         : compatible

E    Cliente de Wi-Fi Direct                         : no compatible

Compatible

No compatible


Desconocido

0    Modo promiscuo                            : 2    IBSS                                        : 5    Antena de diversidad                           : 5    Marco de acci�n                                : 9    Detecci�n de informaci�n de servicio ANQP          : 5    Informe de vecinos DOT11k                      : :    Marcos de administraci�n protegidos                 : :    Disponibilidad de escucha pasiva de P2P             : ;    Detecci�n de dispositivos P2P                        : ;    Detecci�n de nombre de servicio P2P                  : @    Detecci�n de informaci�n de servicio P2P                  : ;    Detecci�n en segundo plano de P2P                    : PA2    FIPS                                        : 7    Conexi�n instant�nea                             : 7    NLO en espera de Dx                              : 2    NLO D0                                      : 6    Anuncio de conmutador de canal extendido        : A    Restablecimiento del nivel de funci�n                      : =    Restablecer nivel de plataforma                        : ;    Selecci�n aleatoria de MAC                           : :    M�dulo de extensibilidad de IHV configurado         : B    N�mero de transmisiones espaciales Tx                : %1!u!

B    N�mero de transmisiones espaciales Rx                : %1!u!

9    N�mero de canales simult�neos admitidos     : %1!u!

A    Recuento de puertos P2P GO                          : %1!u!

I    Recuento de puertos de clientes de P2P                      : %1!u!

Q    M�x. de clientes de punto de acceso m�vil de P2P                    : %1!u!

<    M�ximo admitido de anuncios de servicio ANQP   : %1!u!

PAN    Versi�n de WDI (IHV)                           : %1!u!.%2!u!.%3!u!.%4!u!

J    Compatibilidad con coexistencia                        : desconocido

H    Compatibilidad con coexistencia                        : no v�lido

    Transici�n r�pida: 
    MU-MIMO: 6    Receptor Miracast                               : 5    Transici�n de BSS (802.11v)                    : 2    P2P GO en 5 GHz                             : C    Reinicializaci�n de nivel de bus                             : ;    Detecci�n de nombre de servicio ASP 2.0              : 9    Detecci�n de informaci�n de servicio ASP 2.0       : E    Compatible con el acoplamiento de IP                           : 4    Autenticaci�n de SAE                          : 4    FTM como iniciador                            : =    Compatibilidad con MBO                                 : 7    Autenticaci�n de SUITE B de WPA3                 : PA8    Modo FIPS de SUITE B de WPA3                      : 4    Autenticaci�n de OWE                          : 4    Autenticaci�n SAE de hash a elemento          : [
    Estado de radio           : Hardware %1!s!
                             Software %2!s!ActivadoDesactivado	cambiandoPAF    Compatibilidad con coexistencia: rendimiento WLAN reducido a 1x1

F    Compatibilidad con coexistencia: el rendimiento WLAN se mantiene

!    Dispositivo WFD: compatible

$    Dispositivo WFD: no compatible

    WFD GO: compatible

    WFD GO: no compatible

    Cliente WFD: compatible

     Cliente WFD: no compatible

$    Tipo: controlador WLAN heredado
"    Tipo: controlador WLAN nativo
e    Proyecci�n inal�mbrica admitida: %1!s! (controlador de gr�ficos: %2!s!, controlador WLAN: %3!s!)
:No se puede crear un archivo .cab. C�digo de error: %1!d!
?No se puede agregar %1!s! archivo .cab. C�digo de error: %2!d!
PA�4VS_VERSION_INFO��
4aJ
4aJ?(StringFileInfo0C0A04B0LCompanyNameMicrosoft Corporationl"FileDescriptionDLL del Ayudante de Netsh de Wlann'FileVersion10.0.19041.3636 (WinBuild.160101.0800)8InternalNamewlancfg.dll�8LegalCopyright� Microsoft Corporation. Todos los derechos reservados.HOriginalFilenamewlancfg.dll.muil&ProductNameSistema operativo Microsoft� Windows�DProductVersion10.0.19041.3636DVarFileInfo$Translation
�<?xml version="1.0" encoding="utf-8"?>

<!--
Copyright (c) 2016  Microsoft Corporation

Module Name:

xml-format.xsl

Abstract:

Stylesheet used to format XML

Revision History:

01-19-2016  marcguy      initial version
-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="xml" version="1.0" indent="no" omit-xml-declaration="no"/>
  
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>
PA<?xml version="1.0" encoding="utf-8"?>

<!--
Copyright (c) 2014  Microsoft Corporation

Module Name:

wlanreport-stylesheet.xsl

Abstract:

Stylesheet defining how the xml report is
transformed into the html report

Revision History:

09-28-2014  ryanwood      initial version
02-01-2015  ryanwood      add in rendering for custom commands
-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template name="css">
        <style type="text/css">
          body {
          margin: 0;
          padding: 0;
          background-color: #EFEFEF;
          font-family: "segoe ui light", "segoe ui";
          letter-spacing: 0.03em;
          }

          table {
          border-collapse: collapse;
          }

          th {
          border: 1px solid #222;
          text-align: center;
          }

          tr {
          height: 1.5em;
          border: 1px solid #222;
          }

          td {
          border: 1px solid #222;
          }

          #top-btn {
          position: fixed;
          padding: 5px;
          border: 2px solid #333;
          cursor: pointer;
          }
          #top-btn p {
          margin: 0;
          }

          #report-wrapper {
          width: 1000px;
          margin: 0 auto;
          }

          #session-graph-wrapper {
          background-color: #1F1F1F;
          outline: 2px solid #AAA;
          }

          #session-graph {
          cursor: pointer;
          }

          #graph-event-info {
          float: left;
          width: 500px;
          height: 170px;
          color: #DDD;
          padding: 0px 30px 0px 20px;
          }
          #graph-event-info h4 {
          margin: 0px 0px 10px 0px;
          }

          #event-info {
          margin: 0;
          height: 135px overflow: scroll;
          }

          #sysinfo {
          margin: 0px 0px 30px 0px;
          }
          #sysinfo p {
          margin: 0;
          padding: 0;
          }

          #report-info p {
          margin: 0;
          padding: 0;
          }

          #disconnect-status tr {
          border: 1px solid #222;
          }

          #disconnect-status td {
          border: 1px solid #222;
          }

          #disconnect-status .status {
          width: 300px;
          padding-top: 0px;
          }

          #disconnect-reasons .reason {
          width: 800px;
          padding-top: 0;
          }

          .count {
          width: 75px;
          text-align: center;
          }

          .graph-background {
          position: absolute;
          z-index: -1;
          height: 1.5em;
          margin: -1px;
          background-color: rgb(171,168,244);
          }
          .graph-background.success {
          background-color: rgb(108, 216, 108);
          }

          .graph-background.failure {
          background-color: rgb(216, 108, 108);
          }

          .graph-background.warning {
          background-color: rgb(216, 216, 108);
          }

          #session-durations {
          border-left: 1px solid #222;
          overflow: hidden;
          }

          #duration-labels {
          text-align: center;
          }

          #duration-graph {
          height: 550px;
          border: none;
          }
          #duration-graph td {
          width: 80px;
          padding: 0px 2px 0px 2px;
          vertical-align: top;
          position: relative;
          border: none;
          }

          .duration-bar {
          width: 80px;
          position: absolute;
          }

          .bar-label {
          width: 80px;
          position: absolute;
          text-align: center;
          font-weight: bold;
          }

          .bar-background {
          background-color: rgb(171,168,244);
          display: block;
          width: 100%;
          height: 100%;
          outline: 1px solid #222;
          }

          .session {
          background-color: #FFF;
          margin: 0px 0px 20px 0px;
          padding: 10px;
          border: 2px solid #666;
          }
          .session p {
          margin: 0.2em;
          }

          .session table {
          width: 100%;
          }

          .session .event-header {
          width: 75px;
          }

          .session .time-header {
          width: 180px;
          }

          .session .message-header {
          width: auto;
          }

          .successful {
          background-color: #1BEB00;
          }

          .warning {
          background-color: #EBEB00;
          }

          .failed {
          background-color: #F00;
          }

          .info {
          background-color: #E2E2E2;
          }

          .message {
          width: 700px;
          height: 1.5em;
          overflow: hidden;
          white-space: pre;
          text-overflow: ellipsis;
          }
          .message.show {
          height: auto;
          overflow: auto;
          white-space: normal;
          }

          .message .expand-btn {
          cursor: pointer;
          }

          .error {
          background-color: rgb(255,178,178);
          font-weight: bold;
          }

          .ndis.sleep {
          background-color: #AF9AE4;
          }

          .ndis.wake {
          background-color: #E49AEF;
          }

          .wlan {
          background-color: #FFF;
          }
          .wlan.connect {
          background-color: #9AE4A6;
          }

          .wlan.disconnect {
          background-color: #F5BE9C;
          }

          .ncsi.internet {
          background-color: #9CCAF5;
          }

          .ncsi.local {
          background-color: #F1F59C;
          }

          .ncsi.none {
          background-color: #F59C9C;
          }
		  
          .wcm {
          background-color: #F0FFFF;
          }
		  
          .eap {
          background-color: #FFFFF0;
          }
		  
          .glow {
          font-weight: bold;
          outline: 3px solid #000000;
          }
		  
          #commands-output {
          margin: 0px 0px 30px 0px;
          }
          .command-output {
          background-color: #000;
          color: #C0C0C0;
          padding: 5px;
          outline: 5px solid #BBB;
          }
        </style>
    </xsl:template>
    
    <xsl:template name="js">
        var wlanReport = ( function()
        {
            var wlanReport = {},

            pointRadius = 8,
            eventOffset = 50,
            wlanYOffset = 0,
            ncsiYOffset = 100,
            ndisYOffset = 200,
            eventRenderInfo,
            boundRenderInfo,
            wlanBounds = [],
            connectivityBounds = [],
            powerBounds = [],

            bindToggleMessageBtns,
            toggleMessage,
            timeToXCoord,
            findNewestEvent,
            calculateEventCoordinates,
            findwlanBounds,
            findConnectivityBounds,
            findPowerBounds,
            drawEvents,
            drawPoint,
            drawSessionBounds,
            drawBound,
            drawAxis,
            drawEventRegionLabels,
            drawLegend,
            drawLegendLabel,
            drawSessionGraph,
            eventClickHandler,
            eventMouseMoveHandler,
            calculateSessionDuration,
            getSnapshotAtXY,
            getSessionAtXY,
            convertSnapshotTimes,
            convertFileTimeToUnixTime,
            fixCommandOutputFormatting,
			checkForEmptyReport,
            bindTopBtn;

            eventRenderInfo = {
                'Connect':   {'label':'C', 'color':'#9AE4A6'},
                'Disconnect':{'label':'D', 'color':'#F5BE9C'},
                'Sleep':     {'label':'S', 'color':'#AF9AE4'},
                'CS-Sleep':  {'label':'S', 'color':'#AF9AE4'},
                'Wake':      {'label':'W', 'color':'#E49AEF'},
                'CS-Wake':   {'label':'W', 'color':'#E49AEF'},
                'Internet':  {'label':'I', 'color':'#9CCAF5'},
                'Local':     {'label':'L', 'color':'#F1F59C'},
                'None':      {'label':'N', 'color':'#F59C9C'},
                'Error':     {'label':'X', 'color':'#FF0000'}
            };

            boundRenderInfo = {
                'Connected':       {'fill':'rgba(0,210,0,0.3)','stroke':'rgba(0,210,0,0.8)', 'lineWidth':'3'},
                'Power':           {'fill':'rgba(0,0,0,0.95)', 'stroke':'rgba(20,20,20,1.0)','lineWidth':'1'},
                'ConnectedStandby':{'fill':'rgba(0,135,0,0.3)','stroke':'rgba(0,100,0,0.95)','lineWidth':'1'}
            };

            bindToggleMessageBtns = function()
            {
                var divElements,
                    expandBtn,
                    i;

                divElements = document.getElementsByTagName('div');

                for( i = 0; i &lt; divElements.length; i++ ) {
                    if( divElements[i].className === 'message' ) {
                        expandBtn = divElements[i].firstChild;
                        expandBtn.addEventListener('click', toggleMessage(expandBtn), false);
                    }
                }
            };

            toggleMessage = function(btn)
            {
                return function() {
                    var message = btn.parentNode;

                    if(message.className === "message")
                    {
                        message.className = "message show";
                        btn.innerHTML = "[&#8210;]"; //A digit width hyphen. This way the button doesn't shrink (by much)
                    }
                    else
                    {
                        message.className = "message";
                        btn.innerHTML = "[+]";
                    }
                }
            };
            
            // Calculate the X coordinate for the snapshot based on the time it
            // occured relative to the 48 hours displayed on the graph.
            timeToXCoord = function(startTimeStr, snapshotTimeStr, width)
            {
                var twoDaysInMS  = (1000 * 60 * 60 * 24) * 2,
                    startTime    = parseInt(startTimeStr, 10),
                    snapshotTime = parseInt(snapshotTimeStr, 10),
                    endTime = startTime - twoDaysInMS,
                    xPosRatio    = 0;

                xPosRatio = (snapshotTime - startTime) / (endTime - startTime);

                return (width - (xPosRatio * width));
            };

            calculateEventCoordinates = function(canvas)
            {
                var width,
                    height,
                    xOffset  = 10,
                    yOffset  = 0,
                    xPos     = 0,
                    yPos     = 0,
                    lastXPos = [],
                    minXDiff = 2 * pointRadius, //The min difference between points to prevent them from overlapping
                    startTime,
                    i;

                if(snapshots.length === 0) {
                    return;
                }

                width = canvas.width;
                height = canvas.height;

                lastXPos[wlanYOffset] = -1;
                lastXPos[ndisYOffset] = -1;
                lastXPos[ncsiYOffset] = -1;

                startTime = findNewestEvent();

                for(i = 0; i &lt; snapshots.length; i++)
                {
                    if(snapshots[i].type === 'Connect') {
                        yOffset = wlanYOffset;
                    } else if(snapshots[i].type === 'Disconnect') {
                        yOffset = wlanYOffset;
                    } else if(snapshots[i].type === 'Error') {
                        yOffset = wlanYOffset;
                    } else if(snapshots[i].type === 'Wake' || snapshots[i].type === 'CS-Wake') {
                        yOffset = ndisYOffset;
                    } else if(snapshots[i].type === 'Sleep' || snapshots[i].type === 'CS-Sleep') {
                        yOffset = ndisYOffset;
                    } else {
                        yOffset = ncsiYOffset;
                    }

                    xPos = timeToXCoord(startTime, snapshots[i].time, width) - xOffset;
                    if(lastXPos[yOffset] >= 0 &amp;&amp; (lastXPos[yOffset]) - xPos &lt; minXDiff)
                    {
                        // Keep track of the offset we are adding to events to make sure that events
                        // remain in chronological order across their different y-axis channels (wlan,ndis,ncsi)
                        xOffset += (minXDiff - (lastXPos[yOffset] - xPos));
                        xPos = lastXPos[yOffset] - minXDiff;
                    }
                    
                    yPos = eventOffset + yOffset;
                    snapshots[i].x = xPos;
                    snapshots[i].y = yPos;

                    lastXPos[yOffset] = xPos;

                    // If the xPos is greater than the width of the canvas
                    // stop calculating cordinates since they won't fit anyways.
                    if (xPos > width) {
                        snapshots = snapshots.slice(0, i); //Discard the points that don't fit
                        break;
                    }
                }
            };

            // Unfortunatly the newest event is not always the first event in the list,
            // so we have to do a search for the newest event
            findNewestEvent = function()
            {
                var startTime = 0,
                    i;

                for(i = 0; i &lt; snapshots.length; i++) {
                    startTime = Math.max(startTime, snapshots[i].time);
                }

                return startTime;
            };

            drawEvents = function(canvas)
            {
                var graph,
                pointLabel,
                snapshot,
                style,
                i;

                graph = canvas.getContext('2d');

                if(snapshots.length === 0){
                    graph.font = "18px sans-serif";
                    graph.fillStyle = "#EFEFEF";
                    graph.textAlign = "center";
                    graph.fillText("No events from the last 48 hours to display", canvas.width/2, canvas.height/2);
                    return;
                }

                graph.strokeStyle = "#111";
                graph.lineWidth = 1;

                for( i = 0; i &lt; snapshots.length; i++)
                {
                    snapshot = snapshots[i];
                    
                    if(snapshot.error !== "0") {
                      style = eventRenderInfo["Error"];
                    } else {
                      style = eventRenderInfo[snapshot.type];
                    }
                
                    if( style === undefined) {
                        continue;
                    }
                
                    graph.fillStyle = style.color;
                    pointLabel = style.label;

                    drawPoint(graph, snapshot.x, snapshot.y, pointLabel);

                }
            };

            drawPoint = function(graph, x, y, label)
            {
                graph.font = "10px sans-serif";
                graph.textAlign = "center";

                graph.beginPath();
                graph.arc( x, y, pointRadius, 0, 2 * Math.PI, false);
                graph.fill();
                graph.stroke();

                graph.fillStyle = "#222";
                graph.fillText(label, x, y + (pointRadius/2));
            };

            findwlanBounds = function()
            {
                var connectEvent    = null,
                    disconnectEvent = null,
                    isConnected     = false,
                    currentEvent,
                    type,
                    boundType,
                    i;

                // Snapshots only include the state from the last 48 hours.
                // In order to properly draw session bounds we need to know
                // the state from when the 48 hours started. i.e. was a session
                // in progress already when the 48 section began. To fnd this out
                // look to see if the first wlan event is a disconnect or a connect.
                for(i = snapshots.length - 1; i &gt;= 0; i-- )
                {
                    if( snapshots[i].type === 'Disconnect' ) {
                        isConnected = true;
                        break;
                    } else if (snapshots[i].type === 'Connect'){
                        isConnected = false;
                        break;
                    }
                }

                // If we start in a connected state draw a bound from the left side
                // of the graph to the first wlan/ndis event
                if( isConnected ) {
                    for(i = snapshots.length - 1; i &gt;= 0; i-- )
                    {
                        type = snapshots[i].type;
                        
                        if(type === 'Wake' || type === 'CS-Wake' )
                        {
                            boundType = type === 'Wake' ? 'Sleep' : 'CS-Sleep';
                            
                            powerBounds.push({'type':boundType, 'sleepEvent':snapshots[i], 'wakeEvent':snapshots[i], 'x':0, 'y':snapshots[i].y,
                                'width':snapshots[i].x, 'height':200});
                                break;
                        }
                        else if(type === 'Disconnect')
                        {
                            wlanBounds.push({'connectEvent':snapshots[i], 'disconnectEvent':snapshots[i], 'x':0, 'y': wlanYOffset + eventOffset,
                                'width':snapshots[i].x, 'height':200});
                                break;
                        }
                    }
                }
                
                // Loop through all of the events finding pairs of events to draw a box between
                // indicating the start and stop of a particular wlan state. Current pairs include
                //
                // Connect->Disconnect/Error/Sleep/CS-Sleep
                // Wake->Disconnect/Error/Sleep/CS-Sleep (if previously connected)
                //
                for(i = snapshots.length - 1; i &gt;= 0; i-- )
                {
                    currentEvent = snapshots[i];
                    type = currentEvent.type;

                    if ( type === 'Internet' || type === 'Local' || type == 'None')
                    {
                        continue;
                    }

                    if( type === 'Connect' )
                    {
                        if (connectEvent === null)
                        {
                            connectEvent = snapshots[i];
                        }
                        isConnected = true;
                    }
                    else if( type === 'Disconnect' || type === 'Sleep' || type === 'CS-Sleep')
                    {
                        disconnectEvent = snapshots[i];

                        // If we are stopping the session because of the Sleep, consider the
                        // session to still be connected since we will likely do a fast reconnect
                        // on wake meaning we will not see a new connect event
                        if( type !== 'Sleep' &amp;&amp; type !== 'CS-Sleep')
                        {
                            isConnected = false;
                        }

                        // If we have a connect event and a disconnect event, have the session bounds be a box connecting them
                        if(connectEvent !== null &amp;&amp; disconnectEvent !== null )
                        {
                            wlanBounds.push({'connectEvent':connectEvent, 'disconnectEvent':disconnectEvent, 'x':connectEvent.x, 'y': wlanYOffset + eventOffset,
                                'width':disconnectEvent.x - connectEvent.x, 'height':200});
                        }

                        // If we only have a disconnect event, and it is the first connection event,
                        // Draw a session bounds from the left end of the graph to the disconnect
                        if( connectEvent === null &amp;&amp; wlanBounds.length === 0 )
                        {
                            wlanBounds.push({'connectEvent':null, 'disconnectEvent':disconnectEvent, 'x':0, 'y':wlanYOffset + eventOffset,
                                'width':disconnectEvent.x, 'height':200});
                        }

                        connectEvent = null;
                        disconnectEvent = null;
                    }
                    else if( type === 'Wake' || type === 'CS-Wake' )
                    {
                        if(isConnected &amp;&amp; connectEvent === null)
                        {
                            connectEvent = snapshots[i];
                        }
                    }
                }

                // If there is a current active session with no disconnect draw its bound
                // The bound will be from the connect to beyond the end of the graph
                if( connectEvent !== null &amp;&amp; disconnectEvent === null)
                {
                    wlanBounds.push({'connectEvent':connectEvent, 'disconnectEvent':null, 'x':connectEvent.x, 'y':wlanYOffset + eventOffset,
                        'width':1000, 'height':200});
                }
            };

            findConnectivityBounds = function()
            {
                var connectivityStart    = null,
                    connectivityEnd      = null,
                    isConnectedToNetwork = false,
                    i;

                for(i = snapshots.length - 1; i &gt;= 0; i-- )
                {
                    if (snapshots[i].type === 'Connect')
                    {
                        isConnectedToNetwork = true;
                    }
                    else if (snapshots[i].type === 'Disconnect' || snapshots[i].type === 'Sleep' || snapshots[i].type === 'Error')
                    {
                        connectivityEnd = snapshots[i];

                        // Draw the bounds of the last capability from when it
                        // started to when the disconnect event happened
                        if (connectivityStart !== null) {
                            connectivityBounds.push({'startEvent':connectivityStart, 'endEvent':connectivityEnd, 'x':connectivityStart.x, 'y':connectivityStart.y,
                                'width':connectivityEnd.x - connectivityStart.x, 'height':2*pointRadius});
                        }

                        if (snapshots[i].type === 'Disconnect') {
                            isConnectedToNetwork = false;
                        }

                        connectivityStart = null;
                        connectivityEnd = null;
                    }
                    else if(snapshots[i].type === 'Internet' || snapshots[i].type === 'Local' || snapshots[i].type === 'None')
                    {
                        // Don't draw bounds between capability events
                        // that are not part of a session
                        if( !isConnectedToNetwork )
                        {
                            continue;
                        }

                        if( connectivityStart == null )
                        {
                            connectivityStart = snapshots[i];
                        }
                        else
                        {
                            connectivityEnd = snapshots[i];

                            connectivityBounds.push({'startEvent':connectivityStart, 'endEvent':connectivityEnd, 'x':connectivityStart.x, 'y':connectivityStart.y,
                                'width':connectivityEnd.x - connectivityStart.x, 'height':2*pointRadius});

                            connectivityStart = connectivityEnd;
                            connectivityEnd = null;
                        }
                    }
                    else if ( snapshots[i].type === 'Disconnect' &amp;&amp; connectivityStart !== null )
                    {
                        // Do not draw connectivity bounds that span from one session to another.
                        // On disconnect there is an implicit capability None where the current
                        // capability would end.
                        connectivityBounds.push({'startEvent':connectivityStart, 'endEvent':snapshots[i], 'x':connectivityStart.x, 'y':connectivityStart.y,
                            'width':snapshots[i].x - connectivityStart.x, 'height':2*pointRadius});

                        connectivityStart = null;
                        connectivityEnd = null;
                    }
                }

                // If the last connectivity event started a bounds, creat a region
                // from it to the edge of the graph
                if(connectivityStart)
                {
                    connectivityBounds.push({'startEvent':connectivityStart, 'endEvent':null, 'x':connectivityStart.x, 'y':connectivityStart.y,
                        'width':1000, 'height':2*pointRadius});
                }
            };

            findPowerBounds = function()
            {
                var sleepEvent = null,
                    wakeEvent  = null,
                    isConnected = false,
                    boundType = 'Sleep',
                    i;
                
                // Find the initial connected state
                for(i = snapshots.length - 1; i &gt;= 0; i-- )
                {
                    if( snapshots[i].type === 'Disconnect' ) {
                        isConnected = true;
                        break;
                    } else if (snapshots[i].type === 'Connect'){
                        isConnected = false;
                        break;
                    }
                }
                
                // Generate power bounds
                for(i = snapshots.length - 1; i &gt;= 0; i--)
                {
                    if(snapshots[i].type === 'CS-Sleep' || snapshots[i].type === 'Sleep')
                    {
                        sleepEvent = snapshots[i];
                    }
                    else if( snapshots[i].type === 'CS-Wake' || snapshots[i].type === 'Wake')
                    {
                        wakeEvent = snapshots[i];

                        // If we have a sleep and a wake, draw a bounds between them
                        if(sleepEvent !== null &amp;&amp; wakeEvent !== null) {
                            
                            // If we are connected to a network and the power event is a connected standby
                            // sleep, draw a light green box for the time asleep signifying that the 
                            // connection is still active
                            if( isConnected &amp;&amp; sleepEvent.type === 'CS-Sleep')
                            {
                                boundType = 'CS-Sleep';
                            }
                            else
                            {
                                boundType = 'Sleep';
                            }
                            
                            powerBounds.push({'type':boundType, 'sleepEvent':sleepEvent, 'wakeEvent':wakeEvent, 'x':sleepEvent.x, 'y':wakeEvent.y,
                                'width':wakeEvent.x - sleepEvent.x, 'height':200});
                        }

                        sleepEvent = null;
                        wakeEvent = null;
                    }
                    else if( snapshots[i].type === 'Connect')
                    {
                        isConnected = true;
                    }
                    else if( snapshots[i].type === 'Disconnect')
                    {
                        isConnected = false;
                    }
                }
            };

            drawSessionBounds = function(canvas)
            {
                var graph,
                    session,
                    i;

                graph = canvas.getContext('2d');

                if(wlanBounds)
                {
                    for(i = wlanBounds.length - 1; i &gt;= 0; i--)
                    {
                        session = wlanBounds[i];
                        drawBound(graph, 'Connect', session.x, session.width);
                    }
                }

                if(powerBounds)
                {
                    for(i = powerBounds.length - 1; i &gt;= 0; i--)
                    {
                        session = powerBounds[i];
                        drawBound(graph, session.type, session.x, session.width);
                    }
                }

                // Draw Internet/Limited connectivity bounds
                graph.fillStyle = "rgba(235,235,0,0.4)";
                graph.strokeStyle = "rgba(30,30,30,0.8)";
                graph.lineWidth = 1;


                if(connectivityBounds)
                {
                    for(i = 0; i &lt; connectivityBounds.length; i++)
                    {
                        session = connectivityBounds[i];
                        if(session.startEvent.type === 'Local')
                        {
                            graph.fillStyle = "rgba(235,235,0,0.4)";
                        }
                        else if(session.startEvent.type === 'None')
                        {
                            graph.fillStyle = "rgba(235,0,0,0.4)";
                        }
                        else
                        {
                            // Don't draw bounds when the capability is internet
                            continue;
                            //graph.fillStyle = "rgba(156,202,245,0.6)";
                        }

                        graph.fillRect( session.x, session.y - pointRadius, session.width, session.height);
                    }
                }
            };

            drawBound = function(graph, type, x, width)
            {
                var style,
                    y      = 50,
                    height = 200;

                if(type === 'Connect' || type === 'Disconnect')
                {
                    style = boundRenderInfo['Connected'];
                }
                else if(type === 'Sleep' || type === 'Wake')
                {
                    style = boundRenderInfo['Power'];
                }
                else if(type === 'CS-Sleep' || type === 'CS-Wake' )
                {
                    style = boundRenderInfo['ConnectedStandby'];
                }
                else
                {
                    style = boundRenderInfo['Connected'];
                }

                graph.fillStyle = style['fill'];
                graph.strokeStyle = style['stroke'];
                graph.lineWidth = style['lineWidth'];

                graph.fillRect(x, y, width, height);
                graph.strokeRect(x, y, width, height);
            }

            drawAxis = function(canvas)
            {
                var graph,
                    width,
                    height,
                    xPadding,
                    yPadding,
                    step,
                    twoDaysInHours = 48,
                    i;

                width = canvas.width;
                height = canvas.height;
                xPadding = 10;
                yPadding = 15;

                graph = canvas.getContext('2d');


                // Separate WLAN/NCSI/NDIS events
                // into their own 'lanes'
                graph.fillStyle = "#141414";
                graph.fillRect(0, 0, width, 100);   //WLAN lane
                graph.fillRect(0, 200, width, 100); //NDIS lane
                
                //Draw a line for each of the 48 hours in 2 days
                graph.strokeStyle = "#333";
                graph.lineWidth = 1;
                graph.font = "12px sans-serif";
                graph.fillStyle = "#555";
                graph.textAlign = "center";

                step = width/twoDaysInHours;

                for( i = 0; i &lt; twoDaysInHours; i++)
                {
                    graph.beginPath();
                    graph.moveTo((step * i), 0);
                    graph.lineTo((step * i), height - yPadding);
                    graph.stroke();
                }

                // Label X axis
                graph.fillText('Oldest', 30, height - 5);
                graph.fillText('Newest', width - 30, height - 5);
            };

            drawEventRegionLabels = function(canvas)
            {
                var graph = canvas.getContext('2d');

                // Label event regions
                graph.font = "12px sans-serif";
                graph.textAlign = "center";
                graph.strokeStyle = "#333";
                graph.lineWidth = 1;

                graph.fillStyle = "#050505";
                //WLAN
                graph.fillRect(0, 0, 40, 20);
                graph.strokeRect(0,0,40,20);
                //NCSI
                graph.fillRect(0, 101, 40, 20);
                graph.strokeRect(0,101,40,20);
                //NDIS
                graph.fillRect(0, 201, 40, 20);
                graph.strokeRect(0,201,40,20);

                graph.fillStyle = "#EEE";
                graph.fillText('WLAN', 20, 15);
                graph.fillText('NCSI', 20, 115);
                graph.fillText('NDIS', 20, 215);
            };

            drawLegend = function()
            {
                var canvas,
                    legend,
                    width,
                    height,
                    x;

                canvas = document.getElementById('graph-legend');
                width = canvas.width;
                height = canvas.height;
                symbolX = 20;
                textX = 40;

                legend = canvas.getContext('2d');

                // Connect
                legend.fillStyle = eventRenderInfo['Connect'].color;
                drawPoint(legend, symbolX, 10, eventRenderInfo['Connect'].label);
                drawLegendLabel(legend, textX, 13, "- Started a connection");

                // Disconnect
                legend.fillStyle = eventRenderInfo['Disconnect'].color;
                drawPoint(legend, symbolX, 30, eventRenderInfo['Disconnect'].label);
                drawLegendLabel(legend, textX, 33, "- Disconnected from a network");

                // Sleep
                legend.fillStyle = eventRenderInfo['Sleep'].color;
                drawPoint(legend, symbolX, 50, eventRenderInfo['Sleep'].label);
                drawLegendLabel(legend, textX, 53, "- Wireless adapter entered a low power state");

                // Wake
                legend.fillStyle = eventRenderInfo['Wake'].color;
                drawPoint(legend, symbolX, 70, eventRenderInfo['Wake'].label);
                drawLegendLabel(legend, textX, 73, "- Wireless adapter entered a working power state");

                // Capability Internet
                legend.fillStyle = eventRenderInfo['Internet'].color;
                drawPoint(legend, symbolX, 90, eventRenderInfo['Internet'].label);
                drawLegendLabel(legend, textX, 93, "- Network is connected to the internet");

                // Capability Local
                legend.fillStyle = eventRenderInfo['Local'].color;
                drawPoint(legend, symbolX, 110, eventRenderInfo['Local'].label);
                drawLegendLabel(legend, textX, 113, "- Network has limited connectivity");

                // Capability None
                legend.fillStyle = eventRenderInfo['None'].color;
                drawPoint(legend, symbolX, 130, eventRenderInfo['None'].label);
                drawLegendLabel(legend, textX, 133, "- Network has no connectivity");

                // Error
                legend.fillStyle = eventRenderInfo['Error'].color;
                drawPoint(legend, symbolX, 150, eventRenderInfo['Error'].label);
                drawLegendLabel(legend, textX, 153, "- Error");
            };

            drawLegendLabel = function(legend, x, y, text)
            {
                legend.font = "14px sans-serif";
                legend.fillStyle = '#DDD';
                legend.textAlign = "left";
                legend.fillText(text, x, y);
            };

            drawSessionGraph = function()
            {
                var canvas,
                    events;

                canvas = document.getElementById('session-graph');

                calculateEventCoordinates(canvas);

                drawAxis(canvas);

                findwlanBounds();
                findConnectivityBounds();
                findPowerBounds();
                drawSessionBounds(canvas);

                drawEvents(canvas);

                drawEventRegionLabels(canvas);

                drawLegend();

                canvas.addEventListener('click', eventClickHandler, false);
                canvas.addEventListener('mousemove', eventMouseMoveHandler, false);
            };

            eventClickHandler = function(e)
            {
                var canvas = document.getElementById('session-graph'),
                    x,
                    y,
                    snapshot,
                    originalClass;

                e = e || window.event;

                if( e.stopPropogation )
                {
                    e.stopPropogation();
                } else {
                    e.cancelBubble = true;
                }

                x = e.offsetX;
                y = e.offsetY;

                snapshot = getSnapshotAtXY(x,y);
                
                // Emphasize the selected event by placing a border
                // around it that dissapears after one second
                if( snapshot !== null)
                {
                    window.location.hash = snapshot.correspondingEvent;
                    evtElement = document.getElementById(snapshot.correspondingEvent).parentNode.parentNode;
                    originalClass = evtElement.className;
                    evtElement.className = evtElement.className + ' glow';

                    setTimeout(function(){
                        evtElement.className = originalClass;
                    }, 1000);
                }
            };

            eventMouseMoveHandler = function(e)
            {
                var summary,
                    x,
                    y,
                    snapshot,
                    session,
                    startEvent = null,
                    endEvent   = null,
                    i;

                e = e || window.event;

                if( e.stopPropogation )
                {
                    e.stopPropogation();
                } else {
                    e.cancelBubble = true;
                }

                x = e.offsetX;
                y = e.offsetY;
                summary = document.getElementById('event-info');

                snapshot = getSnapshotAtXY(x,y);

                summary.innerHTML = "Hover over a session or event to view a summary <br/> Click on an event to jump to it in the session list";
                
                // Handle mouseover on snapshot events
                if(snapshot !== null)
                {
                    if(snapshot.type === 'Connect')
                    {
                        summary.innerHTML = 'Started a connection to a wireless network <br/>' +
                        '<br/>' + snapshot.date + '<br/>' +
                        'Connection mode: ' + snapshot.connectionMode + '<br/>' +
                        'Profile: ' + snapshot.profileName + '<br/>' +
                        'SSID: ' + snapshot.ssid;
                    }
                    else if(snapshot.type === 'Disconnect')
                    {
                        summary.innerHTML = snapshot.disconnectReason + '<br/>' +
                        '<br/>' + snapshot.date + '<br/>' +
                        'Connection mode: ' + snapshot.connectionMode + '<br/>' +
                        'Profile: ' + snapshot.profileName + '<br/>' +
                        'SSID: ' + snapshot.ssid;
                    }
                    else if( snapshot.type === 'Wake' || snapshot.type === 'CS-Wake' ||
                            snapshot.type === 'Sleep' || snapshot.type === 'CS-Sleep' )
                    {
                        summary.innerHTML = snapshot.message + '<br/>' +
                        '<br/>' + snapshot.date + '<br/>';

                    }
                    else if(snapshot.type === 'Internet' || snapshot.type == 'Local' || snapshot.type == 'None')
                    {
                        summary.innerHTML = snapshot.message + '<br/>' +
                        '<br/>' + snapshot.date + '<br/>';

                    }
                    else if( snapshot.type === 'Error' )
                    {
                        var messageCutoffIndex = 0;
                        messageCutoffIndex = snapshot.message.indexOf('br') - 1;
                        summary.innerHTML = snapshot.message.substring(0,messageCutoffIndex) + '<br/>' +
                        '<br/>' + snapshot.date + '<br/>';
                    }

                    return;
                }

                session = getSessionAtXY(x,y);
                
                // Handle mouseover on session bounds
                if( session !== null)
                {
                    startEvent = session.connectEvent;
                    endEvent = session.disconnectEvent;
                    if(startEvent !== null &amp;&amp; endEvent !== null)
                    {
                        summary.innerHTML = 'Session duration: ' + calculateSessionDuration(startEvent.time, endEvent.time) + '<br/>' +
                        'Start time: ' + startEvent.date.toLocaleString() + '<br/>' +
                        'End time: ' + endEvent.date.toLocaleString() + '<br/>' +
                        'Disconnect reason: ' + endEvent.disconnectReason + '<br/>';
                    }
                    else if(startEvent !== null)
                    {
                        summary.innerHTML = 'Session duration: Ongoing' + '<br/>' +
                        'Start time: ' + startEvent.date.toLocaleString() + '<br/>';
                    }
                    else if(endEvent !== null)
                    {
                        summary.innerHTML = 'End time: ' + endEvent.date.toLocaleString() + '<br/>' +
                        'Disconnect reason: ' + endEvent.disconnectReason + '<br/>';
                    }
                }
            };

            calculateSessionDuration = function(start, end )
            {
                var duration = (end - start) / 1000,
                    hours    = parseInt( duration / (60 * 60), 10),
                    minutes  = parseInt((duration / 60) % 60, 10),
                    seconds  = Math.round(duration % 60);

                return (hours + ' hours ' + minutes + ' minutes ' + seconds + ' seconds');
            };

            getSnapshotAtXY = function(x, y)
            {
                var snapshot,
                    i;

                // Check to see if the mouse pointer correspondes to an event
                for(i = 0; i &lt; snapshots.length; i++)
                {
                    snapshot = snapshots[i];
                    if( x &gt;= snapshot.x - pointRadius &amp;&amp; x &lt;= snapshot.x + pointRadius )
                    {
                        if(y &gt;= snapshot.y - pointRadius &amp;&amp; y &lt;= snapshot.y + pointRadius)
                        {
                            return snapshot;
                        }
                    }
                }

                return null;
            };

            getSessionAtXY = function(x, y)
            {
                var session,
                    i;

                // Check to see if the mouse pointer corresponds to a session
                for(i = 0; i &lt; wlanBounds.length; i++)
                {
                    session = wlanBounds[i];
                    if( x &gt;= session.x &amp;&amp; x &lt;= session.x + session.width )
                    {
                        if(y &gt;= session.y &amp;&amp; y &lt;= session.y + session.height)
                        {
                            return session;
                        }
                    }
                }

                return null;
            };

            convertSnapshotTimes = function()
            {
                var i;
                for(i = 0; i &lt; snapshots.length; i++)
                {
                    snapshots[i].time = convertFileTimeToUnixTime(snapshots[i].time);
                    snapshots[i].date = new Date(snapshots[i].time);
                }
            };

            convertFileTimeToUnixTime = function(time)
            {
                var nanoSecondsPerMS   = 10000,
                    yearDifferenceInMS = 11644473600000; //MS between 1601 and 1970

                return (time / nanoSecondsPerMS) - yearDifferenceInMS;
            };
			
            fixCommandOutputFormatting = function()
            {
                var commandTextboxes = document.getElementsByTagName("textarea"),
                    textbox,
                    i;
				
                for(i in commandTextboxes)
                {
                    textbox = commandTextboxes[i];
                    if(textbox.className === "command-output")
                    {
	                    var output = textbox.innerHTML;
	                    output = output.replace(/\n\n\n\n/g, '\n');
	                    textbox.innerHTML = output.trim();
                    }
                }
				
            };
			
            checkForEmptyReport = function()
            {
                var sessionList = document.getElementById('session-list'),
                    eventsSummary;
				
                if(sessionList.innerHTML == '')
                {
                    sessionList.innerHTML = "<h4>No WLAN events were found on this system.</h4>";
                    sessionList.style.margin = "0 0 100px 0";
					
                    eventsSummary =  document.getElementById('events-summary');
                    eventsSummary.parentNode.removeChild(eventsSummary);
                }
            };
			
            bindTopBtn = function()
            {
                var btn           = document.getElementById('top-btn'),
                    reportWrapper = document.getElementById('report-wrapper');

                btn.style.left = (reportWrapper.offsetLeft - btn.clientWidth - 20) + 'px';
                btn.style.top = '30px';

                btn.addEventListener('click', function() {
                    window.scrollTo(0,0);
                    window.history.replaceState({}, '', window.location.href.split('#')[0]);
                }, false);
            };

            wlanReport.initialize = function()
            {
                bindTopBtn();
                bindToggleMessageBtns();
                convertSnapshotTimes();
                drawSessionGraph();
                fixCommandOutputFormatting();
                checkForEmptyReport();
            };

            return wlanReport;
        }());

        window.addEventListener('load', wlanReport.initialize, false);
    </xsl:template>

    <!--Replace gratuitous line breaks in event messages with single <br>'s-->
    <xsl:template name="replace">
        <xsl:param name="message"/>

        <!-- \r\n\r\n sequence -->
        <xsl:variable name="linebreak" select="'&#13;&#10;&#13;&#10;'" />

        <xsl:choose>
            <xsl:when test="contains($message, $linebreak)">
                <xsl:value-of select="substring-before($message, $linebreak)"/>
                    <br/>
				<xsl:call-template name="replace">
                    <xsl:with-param name="message" select="substring-after($message, $linebreak)"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$message"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
	
	<!--Special replace function to properly format the WCM preferred interface list-->
    <xsl:template name="replaceSingleNewlines">
        <xsl:param name="message"/>

        <!-- \r\n sequence -->
        <xsl:variable name="linebreak" select="'&#13;&#10;'" />

        <xsl:choose>
            <xsl:when test="contains($message, $linebreak)">
                <xsl:value-of select="substring-before($message, $linebreak)"/>
                    <br/>
				<xsl:call-template name="replaceSingleNewlines">
                    <xsl:with-param name="message" select="substring-after($message, $linebreak)"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$message"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
	
    <xsl:template match="/WlanReport">
        <html>
        <head>
            <meta charset="utf-8" />
            <meta http-equiv="X-UA-Compatible" content="IE=edge" />
            <title>wlan report</title>
            
            <!-- Include the css into the output file-->
            <xsl:call-template name="css" />
        </head>
        <body>
            <div id="top-btn">
                <p>Top</p>
            </div>
            <div id="report-wrapper">
                <h1>Wlan Report</h1>
                <div id="session-graph-wrapper">
                    <canvas id="session-graph" width="1000" height="315"></canvas>
                    <div id="graph-event-info">
                        <h4>Summary</h4>
                        <p id="event-info">
                            Hover over a session or event to view a summary <br />
                            Click on an event to jump to it in the session list
                        </p>
                    </div>
                    <canvas id="graph-legend" width="400" height="170"></canvas>
                </div>
                <div id="report-info">
                    <h2>Report Info</h2>
                    <p>Report created:<b><xsl:value-of select="ReportInformation/ReportDate" /></b></p>
                    <p>Report duration:<b><xsl:value-of select="ReportInformation/ReportDuration" /> days</b></p>
                </div>
                <div id="sysinfo">
                    <xsl:choose>
                        <xsl:when test="not(SystemInformation/ComputerName = '')">
                            <h2>General System Info</h2>
                            <p>ComputerName: <b><xsl:value-of select="SystemInformation/ComputerName" /></b></p>
                            <p>System Manufacturer:<b><xsl:value-of select="SystemInformation/SystemManufacturer" /></b></p>
                            <p>System Product Name:<b><xsl:value-of select="SystemInformation/SystemProductName" /></b></p>
                            <p>BIOS Date:<b><xsl:value-of select="SystemInformation/BIOSDate" /></b></p>
                            <p>BIOS Version:<b><xsl:value-of select="SystemInformation/BIOSVersion" /></b></p>
                            <p>OS Build:<b><xsl:value-of select="SystemInformation/OSBuild" /></b></p>
                            <p>Machine Id: <b><xsl:value-of select="SystemInformation/MachineId" /></b></p>
                            <p>MDM joined: 
                                <xsl:choose>
                                  <xsl:when test="SystemInformation/MDMRegistered = '1'">
                                      <b>True</b>
                                  </xsl:when>
                                  <xsl:when test="SystemInformation/MDMRegistered = '0'">
                                      <b>False</b>
                                  </xsl:when>
                                  <xsl:otherwise>
                                      <b>Unknown</b>
                                  </xsl:otherwise>
                                </xsl:choose>
                            </p>
							
                            <h2>User Info</h2>
                            <p>Username: <b><xsl:value-of select="UserInformation/Username" /></b></p>
                            <p>User Domain:<b><xsl:value-of select="UserInformation/UserDomain" /></b></p>
                            <p>User DNS Domain:<b><xsl:value-of select="UserInformation/UserDnsDomain" /></b></p>
                        </xsl:when>
                    </xsl:choose>
                    <h2>Network Adapters</h2>
                    <xsl:for-each select="SystemInformation/NetworkAdapters/Adapter">
                        <p>Device: <b><xsl:value-of select="Name" /></b></p>						
                        <p>PNP ID: <b><xsl:value-of select="PnpId" /></b></p>
                        <p>Guid: <b><xsl:value-of select="Guid" /></b></p>
                        <p>Current driver version: <b><xsl:value-of select="DriverVersion" /></b></p>
                        <p>Driver date: <b><xsl:value-of select="DriverDate" /></b></p>
                        <p>DevNode flags: <b><xsl:value-of select="DevNodeFlags" /></b></p>
                        <xsl:choose>
                            <xsl:when test="not(ProblemNumber = '')">
                                <p>Problem number: <b><xsl:value-of select="ProblemNumber" /></b></p>
                            </xsl:when>
                        </xsl:choose>
                        <br />
                    </xsl:for-each>
                </div>
				
                <div id="commands-output">
                    <h2>Script Output</h2>
                    <xsl:for-each select="ScriptOutput/CustomCommand">
                        <h3> Output for <em>'<xsl:value-of select="Command" />'</em></h3>
                        <textarea class="command-output" cols="91" rows="25" readonly="true" spellcheck="false">
                        <xsl:value-of select="Output" />
                        </textarea>
                    </xsl:for-each>
                </div>
              
                <div id="commands-output">
                    <h2>Profile Output</h2>
                    <textarea class="command-output" cols="91" rows="25" readonly="true" spellcheck="false">
                        <xsl:for-each select="Profiles/Interface">
                            <xsl:for-each select="Profile">
                                <xsl:text>&#13;</xsl:text><xsl:comment>Interface: <xsl:value-of select="../@name"/>, Profile: <xsl:value-of select="./@name"/></xsl:comment><xsl:text>&#13;</xsl:text>
                                <xsl:value-of select="." />
                            </xsl:for-each>
                        </xsl:for-each>
                    </textarea>
                </div>
				
                <div id="events-summary">
                    <h2>Summary</h2>
                    <h3>Session Success/Failures</h3>
                    <table id="disconnect-status">
                        <xsl:variable name="max-status-width" select="300" />
                        <tr>
                            <th>Status</th>
                            <th>Count</th>
                        </tr>
                        <tr>
                            <td class="status">
                                <span class="graph-background success">
                                    <xsl:attribute name="style">
                                        <xsl:value-of select="concat('width: ', format-number( (WlanEventsSummary/StatusSummary/Successful div WlanEventsSummary/@total) * $max-status-width, '0.##'), 'px')" />
                                    </xsl:attribute>
                                    &#160;
                                </span>
                                Successes
                            </td>
                            <td class="count">
                                <xsl:value-of select="WlanEventsSummary/StatusSummary/Successful" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <span class="graph-background failure">
                                    <xsl:attribute name="style">
                                        <xsl:value-of select="concat('width: ', format-number( (WlanEventsSummary/StatusSummary/Failed div WlanEventsSummary/@total) * $max-status-width, '0.##'), 'px')" />
                                    </xsl:attribute>
                                    &#160;
                                </span>
                                Failures
                            </td>
                            <td class="count">
                                <xsl:value-of select="WlanEventsSummary/StatusSummary/Failed" />
                            </td>
                        </tr>
                        <tr>
                            <td class="status">
                                <span class="graph-background warning">
                                    <xsl:attribute name="style">
                                        <xsl:value-of select="concat('width: ', format-number( (WlanEventsSummary/StatusSummary/Warning div WlanEventsSummary/@total) * $max-status-width, '0.##'), 'px')" />
                                    </xsl:attribute>
                                    &#160;
                                </span>
                                Warnings
                            </td>
                            <td class="count">
                                <xsl:value-of select="WlanEventsSummary/StatusSummary/Warning" />
                            </td>
                        </tr>
                    </table>

                    <h3>Disconnect Reasons</h3>
                    <table id="disconnect-reasons">
                        <tr>
                            <th>Reason</th>
                            <th>Count</th>
                        </tr>
                        <xsl:variable name="max-reason-width" select="800" />
                        <xsl:for-each select="WlanEventsSummary/DisconnectReasons/Reason">
                            <xsl:sort select="@count" data-type="number" order="descending" />
                            <tr>
                                <td class="reason">
                                    <span class="graph-background">
                                        <xsl:attribute name="style">
                                            <xsl:value-of select="concat('width: ', format-number((@count div ../../@total) * $max-reason-width, '0.##'), 'px')" />
                                        </xsl:attribute>
                                        <xsl:attribute name="class">
                                            graph-background <xsl:value-of select="@type" />
                                        </xsl:attribute>
                                        &#160;
                                    </span>
                                    <xsl:value-of select="@message" />
                                </td>
                                <td class="count">
                                    <xsl:value-of select="@count" />
                                </td>
                            </tr>
                        </xsl:for-each>
                    </table>
                    <h3>Session Durations</h3>
                    <table id="session-durations">
                        <tr id="duration-graph">
                            <!--Find the most frequent duration. This will be the tallest bar others are scaled against-->
                            <xsl:variable name="duration-mode"
                                          select="WlanEventsSummary/SessionDurations/Duration[not(../Duration > .)]" />
                            <xsl:variable name="max-height" select="520" />
                            <xsl:for-each select="WlanEventsSummary/SessionDurations/Duration">

                                <xsl:variable name="bar-height-ratio" select=". div $duration-mode" />

                                <!--Make sure the bar height has a minimum value of 0 -->
                                <xsl:variable name="bar-height">
                                    <xsl:choose>
                                        <xsl:when test="string(number($bar-height-ratio))='NaN'">0</xsl:when>
                                        <xsl:otherwise>
                                            <xsl:value-of select="format-number( $max-height * $bar-height-ratio, '0')" />
                                        </xsl:otherwise>
                                    </xsl:choose>
                                </xsl:variable>

                                <td>
                                    <xsl:attribute name="style">
                                        <xsl:value-of select="concat('top: ', 550 - $bar-height, 'px;')" />
                                    </xsl:attribute>
                                    <div class="duration-bar">
                                        <xsl:attribute name="style">
                                            <xsl:value-of select="concat('height: ', $bar-height, 'px;')" />
                                        </xsl:attribute>
                                        <span class="bar-label">
                                            <xsl:attribute name="style">
                                                <xsl:value-of select="concat('bottom: ', $bar-height, 'px;')" />
                                            </xsl:attribute>
                                            <xsl:value-of select="." />
                                        </span>
                                        <span class="bar-background">
                                            &#160;
                                        </span>
                                    </div>
                                </td>
                            </xsl:for-each>
                        </tr>
                        <tr id="duration-labels">
                            <xsl:for-each select="WlanEventsSummary/SessionDurations/Duration">
                                <td>
                                    <xsl:value-of select="@time" /><br />minutes
                                </td>
                            </xsl:for-each>
                        </tr>
                    </table>
                </div>
				
                <h2>Wireless Sessions</h2>
                <div id="session-list">
                    <xsl:for-each select="WlanEvents/WlanSession">
                        <div class="session">
                            <xsl:choose>
                                <xsl:when test="@success != 3">
                                    <!-- 3 is the Id of standalone events not tied to a session. Do not show a summary for these events-->
                                    <p>Interface:<b><xsl:value-of select="@interface" /></b></p>
                                    <p>Interface GUID: <b><xsl:value-of select="@guid" /></b></p>
                                    <p>Connection Mode:<b><xsl:value-of select="@mode" /></b></p>
                                    <p>Profile:<b><xsl:value-of select="@profile" /></b></p>
                                    <p>SSID:<b><xsl:value-of select="@ssid" /></b></p>
                                    <p>BSS Type:<b><xsl:value-of select="@bss" /></b></p>
                                    <p>Session Duration:
                                        <b>
                                            <!-- Initial duration is in seconds. Manipulate it into a readable string -->
                                            <xsl:value-of select="format-number(floor(@duration div (60 * 60)), '0')" /> hours
                                            <xsl:value-of select="format-number(floor((@duration div 60) mod 60), '0')" /> minutes
                                            <xsl:value-of select="format-number(floor(@duration mod 60), '0')" /> seconds
                                        </b>
                                    </p>
                                    <p>Disconnect Reason:<b><xsl:value-of select="@disconnect" /></b></p>
                                </xsl:when>
                            </xsl:choose>
                            <table>
                                <xsl:choose>
                                    <xsl:when test="@success = 0">
                                        <!--Successful session-->
                                        <tr class="successful">
                                            <th class="event-header">EventId</th>
                                            <th class="time-header">Time</th>
                                            <th class="message-header">Message</th>
                                        </tr>
                                    </xsl:when>
                                    <xsl:when test="@success = 1">
                                        <!--Warning session-->
                                        <tr class="warning">
                                            <th class="event-header">EventId</th>
                                            <th class="time-header">Time</th>
                                            <th class="message-header">Message</th>
                                        </tr>
                                    </xsl:when>
                                    <xsl:when test="@success = 3">
                                        <!--Info session-->
                                        <tr class="info">
                                            <th class="event-header">EventId</th>
                                            <th class="time-header">Time</th>
                                            <th class="message-header">Message</th>
                                        </tr>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <tr class="failed">
                                            <th class="event-header">EventId</th>
                                            <th class="time-header">Time</th>
                                            <th class="message-header">Message</th>
                                        </tr>
                                    </xsl:otherwise>
                                </xsl:choose>
                                <xsl:for-each select="WlanEvent">
                                    <tr>
                                        <xsl:attribute name="class">
                                            <xsl:choose>
                                                <xsl:when test="@error > 0">
                                                    error
                                                </xsl:when>
                                                <xsl:otherwise>
                                                    <xsl:value-of select="@type" />
                                                </xsl:otherwise>
                                            </xsl:choose>
                                        </xsl:attribute>
                                        <td>
                                            <xsl:value-of select="EventID" />
                                            <a>
                                                <xsl:attribute name="id">
                                                    <xsl:value-of select="UID" />
                                                </xsl:attribute>
                                            </a>
                                        </td>
                                        <td>
                                            <xsl:value-of select="EventTime" />
                                        </td>
                                        <td>
                                            <div class="message">
                                                <span class="expand-btn">[+]</span>
                                                <span class="message-body">
                                                    <xsl:choose>
                                                        <xsl:when test="EventID = 1020">
                                                            <xsl:call-template name="replaceSingleNewlines">
                                                                <xsl:with-param name="message" select="EventMessage" />
                                                            </xsl:call-template>
                                                        </xsl:when>
                                                        <xsl:otherwise>
                                                            <xsl:call-template name="replace">
                                                                <xsl:with-param name="message" select="EventMessage" />
                                                            </xsl:call-template>
                                                        </xsl:otherwise>
                                                    </xsl:choose>
                                                </span>
                                            </div>
                                        </td>
                                    </tr>
                                </xsl:for-each>
                            </table>
                        </div>
                    </xsl:for-each>
                </div>
            </div>
        
            <!--Write out all of the snapshot information-->
            <script type="text/javascript">
                var snapshots = [
                    <xsl:for-each select="SessionSnapshot/Session">
                        {
                            "type":"<xsl:value-of select="EventType"/>",
                            "error":"<xsl:value-of select="EventError"/>",
                            "time":"<xsl:value-of select="EventTime"/>",
                            "message":"<xsl:call-template name="replace">
                                            <xsl:with-param name="message" select="EventMessage"/>
                                        </xsl:call-template>",
                            "connectionMode":"<xsl:value-of select="EventConnectionMode"/>",
                            "profileName":"<xsl:value-of select="EventProfileName"/>",
                            "ssid":"<xsl:value-of select="EventSSID"/>",
                            "disconnectReason":"<xsl:value-of select="EventDisconnectReason"/>",
                            "correspondingEvent":"<xsl:value-of select="CorrespondingEvent"/>" 
                        },
                    </xsl:for-each>
                ];
            
                <!-- Include the javascript into the output file-->
                <xsl:call-template name="js"/>
            </script>
        </body>
    </html>
  </xsl:template>

</xsl:stylesheet>
PPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD

Youez - 2016 - github.com/yon3zu
LinuXploit