Geoestadística
La geoestadística es la rama de la estadística que
trata con los datos espaciales. Esto se hace a partir de datos
conocidos, pudiéndose predecir datos desconocidos. La estadística crea
métodos para analizar datos en base al análisis. No solo trata de
recopilación e interpretación de datos, sino que existe la estadística
descriptiva e inferencial.
Distribución
espacial
Es la distribución más frecuente en las variables de estudio. ##
Autocorrelación espacial Es análizar la variabilidad del comportamiento
de un fenómeno a partir de patrones espaciales. En la geoestadística se
requiere que los datos esten autocorrelacionados espacialmente, es
decir, que las variables sean espacialmente dependientes.
Análisis
exploratorio
Mapas de voronoi
Se forman a partir de un conjunto de polígonos que poseen “vecinos”
cuyos vértices mantienen a los centroides a una equidistancia.
- Para verificar los datos atípicos se puede usar la
opción de cluster en el mapa de Voronoi.
- En el caso de la opción entropía, esta permite
saber el grado de heterogeneidad de los valores entre celdas a partir de
una segmentación de 5 clases. Los valores de las celdas tienen números
similares entre si cuando se obtiene un valor de entropía bajo. Muchas
veces los valores atípicos coinciden con altos grados de entropía en las
celdas.
Análisis de
tendencias (trend analysis)
Permite ver las tendencias de norte a sur, de este a oeste y en tres
dimensiones, tanto en sus valores muestreados, como con líneas de
tendencias.
Semivariograma
Es el resultado de las distancias de parejas de los puntos de la
muestra. En el eje x del gráfico se muestra
las distancias entre los puntos y en el eje y
se encuentra el cuadrado de la diferencia de los valores de la variable.
LOs valores atípicos en este gráfico pueden verse cuando a una distancia
corta se encuentra mucha semivarianza.
Covarianza
Su gráfico presenta en su eje x las
distancias entre parejas de puntos y en el eje
y tenemos la diferencia entre el promedio de los valores y
el valor puntual de cada punto, multiplicado por la misma operación para
el otro punto que forma la pareja de puntos.
Muestreo
Aleatorio
Utilizando la herramienta de Geostatistical Analyst de arcmap tenemos
la opción subset features con ella podemos hacer un
muestreo de una porción de los valores con los que se cuenta. Lo ideal
es comparar los valores predichos con los valores tomados en la
realidad. Pero no deja de ser una buena herramienta. La herramienta
consigue dividir los datos para hacer una validación.
Análisis de patrones
espaciales
Medidas
centrográficas
Son equivalente espacial de las medidas de tendencia central de la
estadística convencional.
- Centro medio: Similar a la media, resulta del
promedio de las coordenadas x e y de un espacio.
- Centro mediano: Identifica la ubicación que
minimiza la distancia euclidiana a todas las entidades del dataset. Es
sólida ante los datos atípicos.
Análisis de patrones
puntuales
Se utiliza valores de significancia estadística (puntuación z y el p
valor). La puntuación de Z es una representación de las desviaciones
estandar (si es muy pequeño, entonces puede pensarse que el patrón de
los datos es aleatorio) , el valor p es la probabilidad de que el patrón
espacial sea aleatorio (un p pequeño, menor a 0.05 indica que el patrón
aleatorio no es aleatorio).
Análisis de patrones
espaciales (I de Morán)
Permite ver qué tipo de patrón espacial presentan los datos
(aleatorio, agregado o disperso). El índice de Morán varía entre -1 y 1.
Si las condiciones de z y p indican un patrón no aleatorio (agregado o
disperso) y el índice de Morán es positivo entonces estamos tratando con
datos clusters agregados, en cambio si las condiciones de z y p indican
ser no aleatorios y se presenta un valor del índice de Moran negativo
estamos ante un patrón espacial disperso.
Métodos de
Interpolación
IDW (Inverse Distance
Weighting)
Supone que la variable que se representa cartográficamente disminuye
su influencia a mayor distancia desde su ubicación de muestra.
Pasos para proceder con el IDW:
- Análisis exploratorio (barras, qqplot, trend analysis y
voronoi).
- En en Wizard se puede optimizar el power.
- En el método de búsqueda de vecinos podemos escoger el
estándar, que es escoger entre máximos y mínimos de vecinos
(considerar entre sus cálculos la cantidad de vecinos que influyan en el
peso), el método smooth se usa a través de círculos
concéntricos que varían según el factor a utilizar.
- En el método estándar se puede escoger la cantidad de vecinos a
considerar, el tipo de Sector, la longitud de los ejes del sector
- Es importante ver el error medio cuadrático. Para esto comparar con
la opción compare (cross validation).
Kriging
Pasos para realizar este método de interpolación
- Realizar el análisis exploratorio de los datos.
- Al configurar el modelo debemos conseguir un error medio cercano a
cero, mean standarized muy cercano a cero y un root mean squared
standarized cercano a 1.
- Comparar los modelos y escoger el que posea mejores valores:

- También puede realizarse la opción de optimizar modelo.
Spline
Este método no posee indicadores geoestadísticos, pero tiene un mejor
ajueste en datos de calidad de aire.
Métodos de
Interpolación mixtos
Son métodos que combinan métodos de regresión lineal con métodos de
interpolación exactos como IDW o Kriging. Los modelos de interpolación
mixtos se basan en el desarrollo de un modelo de regresión lineal para
espacializar la variable objetivo, es decir la variable
dependiente(temperarura, precipitación, humedad del aire, valores de
calidad del aire, etc), posteriormente se halla el error del modelo en
localizaciones originales y este error se interpola mediante un
interpolador exacto como IDW o Kriging.
Regresión lineal por
mínimos cuadrados ordinarios (Ordinary Least Squares, OLS)
Contruye una superficie continua de la variable de estudio, pero bajo
un método de regresión lineal, pues estos métodos permiten modelar la
relación entre una variable respuesta con variables explicativas. \[
Y=B_0+B_1X_1+B_2X_2+...+B_nX_n+E
\]
Donde:
Y: Variable dependiente
X: Variables explicativas o independientes
B: Coeficientes de regresión, miden la influencia que las variables
explicativas tienen sobre la variable dependiente, siendo \(B_0\) la constante del modelo.
E: Es el error del modelo
El procedimiento que se debe realizar es el siguiente:
- Aplicar la herramienta de minimos cuadrados ordinarios.
- Calcular la superficie continua de interpolación (usando la
calculadora raster) y datos de las variables explicativas o
independientes en formato raster (elevación, latitud, longitud).
- Crear un modelo de interpolación por medio del método IDW.
- Restar el error de la superficie continua generada en el paso
2.
LS0tDQp0aXRsZTogIkdlb2VzdGFkw61zdGljYSBhcGxpY2FkYSBhbCBhbWJpZW50ZSINCmF1dGhvcjogIkJyeWFuIFF1aXNwZSINCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkIGRlICVCIGRlbCAlWSAlSDolTScpYCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBoaWdobGlnaHQ6IHB5Z21lbnRzDQogICAgdGhlbWU6IHVuaXRlZA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiBubw0KICAgICAgc21vb3RoX3Njcm9sbDogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCmVkaXRvcl9vcHRpb25zOg0KICBjaHVua19vdXRwdXRfdHlwZTogY29uc29sZQ0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCiMgR2VvZXN0YWTDrXN0aWNhDQoNCkxhICoqZ2VvZXN0YWTDrXN0aWNhKiogZXMgbGEgcmFtYSBkZSBsYSBlc3RhZMOtc3RpY2EgcXVlIHRyYXRhIGNvbiBsb3MgZGF0b3MgZXNwYWNpYWxlcy4gRXN0byBzZSBoYWNlIGEgcGFydGlyIGRlIGRhdG9zIGNvbm9jaWRvcywgcHVkacOpbmRvc2UgcHJlZGVjaXIgZGF0b3MgZGVzY29ub2NpZG9zLiBMYSBlc3RhZMOtc3RpY2EgY3JlYSBtw6l0b2RvcyBwYXJhIGFuYWxpemFyIGRhdG9zIGVuIGJhc2UgYWwgYW7DoWxpc2lzLiBObyBzb2xvIHRyYXRhIGRlIHJlY29waWxhY2nDs24gZSBpbnRlcnByZXRhY2nDs24gZGUgZGF0b3MsIHNpbm8gcXVlIGV4aXN0ZSBsYSBlc3RhZMOtc3RpY2EgZGVzY3JpcHRpdmEgZSBpbmZlcmVuY2lhbC4NCg0KIyMgRGlzdHJpYnVjacOzbiBlc3BhY2lhbA0KDQpFcyBsYSBkaXN0cmlidWNpw7NuIG3DoXMgZnJlY3VlbnRlIGVuIGxhcyB2YXJpYWJsZXMgZGUgZXN0dWRpby4gXCMjIEF1dG9jb3JyZWxhY2nDs24gZXNwYWNpYWwgRXMgYW7DoWxpemFyIGxhIHZhcmlhYmlsaWRhZCBkZWwgY29tcG9ydGFtaWVudG8gZGUgdW4gZmVuw7NtZW5vIGEgcGFydGlyIGRlIHBhdHJvbmVzIGVzcGFjaWFsZXMuIEVuIGxhIGdlb2VzdGFkw61zdGljYSBzZSByZXF1aWVyZSBxdWUgbG9zIGRhdG9zIGVzdGVuIGF1dG9jb3JyZWxhY2lvbmFkb3MgZXNwYWNpYWxtZW50ZSwgZXMgZGVjaXIsIHF1ZSBsYXMgdmFyaWFibGVzIHNlYW4gZXNwYWNpYWxtZW50ZSBkZXBlbmRpZW50ZXMuDQoNCiMgQW7DoWxpc2lzIGV4cGxvcmF0b3Jpbw0KDQojIyBNYXBhcyBkZSB2b3Jvbm9pDQoNClNlIGZvcm1hbiBhIHBhcnRpciBkZSB1biBjb25qdW50byBkZSBwb2zDrWdvbm9zIHF1ZSBwb3NlZW4gInZlY2lub3MiIGN1eW9zIHbDqXJ0aWNlcyBtYW50aWVuZW4gYSBsb3MgY2VudHJvaWRlcyBhIHVuYSBlcXVpZGlzdGFuY2lhLg0KDQohWyoqKkZpZ3VyYSAxOioqKiBNYXBhIGRlIHZvcm9ub2ldKGltYWdlcy9Wb3Jvbm9pX21hcC5wbmcpDQoNCi0gICBQYXJhIHZlcmlmaWNhciBsb3MgZGF0b3MgKiphdMOtcGljb3MqKiBzZSBwdWVkZSB1c2FyIGxhIG9wY2nDs24gZGUgKipjbHVzdGVyKiogZW4gZWwgbWFwYSBkZSBWb3Jvbm9pLg0KLSAgIEVuIGVsIGNhc28gZGUgbGEgb3BjacOzbiAqKmVudHJvcMOtYSoqLCBlc3RhIHBlcm1pdGUgc2FiZXIgZWwgZ3JhZG8gZGUgaGV0ZXJvZ2VuZWlkYWQgZGUgbG9zIHZhbG9yZXMgZW50cmUgY2VsZGFzIGEgcGFydGlyIGRlIHVuYSBzZWdtZW50YWNpw7NuIGRlIDUgY2xhc2VzLiBMb3MgdmFsb3JlcyBkZSBsYXMgY2VsZGFzIHRpZW5lbiBuw7ptZXJvcyBzaW1pbGFyZXMgZW50cmUgc2kgY3VhbmRvIHNlIG9idGllbmUgdW4gdmFsb3IgZGUgZW50cm9ww61hIGJham8uIE11Y2hhcyB2ZWNlcyBsb3MgdmFsb3JlcyBhdMOtcGljb3MgY29pbmNpZGVuIGNvbiBhbHRvcyBncmFkb3MgZGUgZW50cm9ww61hIGVuIGxhcyBjZWxkYXMuDQoNCiMjIEFuw6FsaXNpcyBkZSB0ZW5kZW5jaWFzICh0cmVuZCBhbmFseXNpcykNCg0KUGVybWl0ZSB2ZXIgbGFzIHRlbmRlbmNpYXMgZGUgbm9ydGUgYSBzdXIsIGRlIGVzdGUgYSBvZXN0ZSB5IGVuIHRyZXMgZGltZW5zaW9uZXMsIHRhbnRvIGVuIHN1cyB2YWxvcmVzIG11ZXN0cmVhZG9zLCBjb21vIGNvbiBsw61uZWFzIGRlIHRlbmRlbmNpYXMuDQoNCiFbKioqRmlndXJhIDIqKio6IEdyw6FmaWNvIGRlIEFuw6FsaXNpcyBkZSB0ZW5kZW5jaWFzXShpbWFnZXMvdHJlbmRfYW5hbHlzaXMucG5nKQ0KDQojIyBTZW1pdmFyaW9ncmFtYQ0KDQpFcyBlbCByZXN1bHRhZG8gZGUgbGFzIGRpc3RhbmNpYXMgZGUgcGFyZWphcyBkZSBsb3MgcHVudG9zIGRlIGxhIG11ZXN0cmEuIEVuIGVsICoqKmVqZSB4KioqIGRlbCBncsOhZmljbyBzZSBtdWVzdHJhIGxhcyBkaXN0YW5jaWFzIGVudHJlIGxvcyBwdW50b3MgeSBlbiBlbCAqKiplamUgeSoqKiBzZSBlbmN1ZW50cmEgZWwgY3VhZHJhZG8gZGUgbGEgZGlmZXJlbmNpYSBkZSBsb3MgdmFsb3JlcyBkZSBsYSB2YXJpYWJsZS4gTE9zIHZhbG9yZXMgYXTDrXBpY29zIGVuIGVzdGUgZ3LDoWZpY28gcHVlZGVuIHZlcnNlIGN1YW5kbyBhIHVuYSBkaXN0YW5jaWEgY29ydGEgc2UgZW5jdWVudHJhIG11Y2hhIHNlbWl2YXJpYW56YS4NCg0KIVsqKipGaWd1cmEgMyoqKjogU2VtaXZhcmlvZ3JhbWEgZW4gYXJjbWFwXShpbWFnZXMvU2VtaXZhcmlvZ3JhbS5wbmcpDQoNCiMjIENvdmFyaWFuemENCg0KU3UgZ3LDoWZpY28gcHJlc2VudGEgZW4gc3UgKioqZWplIHgqKiogbGFzIGRpc3RhbmNpYXMgZW50cmUgcGFyZWphcyBkZSBwdW50b3MgeSBlbiBlbCAqKiplamUgeSoqKiB0ZW5lbW9zIGxhIGRpZmVyZW5jaWEgZW50cmUgZWwgcHJvbWVkaW8gZGUgbG9zIHZhbG9yZXMgeSBlbCB2YWxvciBwdW50dWFsIGRlIGNhZGEgcHVudG8sIG11bHRpcGxpY2FkbyBwb3IgbGEgbWlzbWEgb3BlcmFjacOzbiBwYXJhIGVsIG90cm8gcHVudG8gcXVlIGZvcm1hIGxhIHBhcmVqYSBkZSBwdW50b3MuDQoNCiFbKioqRmlndXJhIDQqKio6IEdyw6FmaWNvIGRlIGNvdmFyaWFuemEgZW4gYXJjbWFwXShpbWFnZXMvQ292YXJpYW56YS5wbmcpDQoNCiMjIE11ZXN0cmVvIEFsZWF0b3Jpbw0KDQpVdGlsaXphbmRvIGxhIGhlcnJhbWllbnRhIGRlIEdlb3N0YXRpc3RpY2FsIEFuYWx5c3QgZGUgYXJjbWFwIHRlbmVtb3MgbGEgb3BjacOzbiAqKnN1YnNldCBmZWF0dXJlcyoqIGNvbiBlbGxhIHBvZGVtb3MgaGFjZXIgdW4gbXVlc3RyZW8gZGUgdW5hIHBvcmNpw7NuIGRlIGxvcyB2YWxvcmVzIGNvbiBsb3MgcXVlIHNlIGN1ZW50YS4gTG8gaWRlYWwgZXMgY29tcGFyYXIgbG9zIHZhbG9yZXMgcHJlZGljaG9zIGNvbiBsb3MgdmFsb3JlcyB0b21hZG9zIGVuIGxhIHJlYWxpZGFkLiBQZXJvIG5vIGRlamEgZGUgc2VyIHVuYSBidWVuYSBoZXJyYW1pZW50YS4gTGEgaGVycmFtaWVudGEgY29uc2lndWUgZGl2aWRpciBsb3MgZGF0b3MgcGFyYSBoYWNlciB1bmEgdmFsaWRhY2nDs24uDQoNCiMgQW7DoWxpc2lzIGRlIHBhdHJvbmVzIGVzcGFjaWFsZXMNCg0KIyMgTWVkaWRhcyBjZW50cm9ncsOhZmljYXMNCg0KU29uIGVxdWl2YWxlbnRlIGVzcGFjaWFsIGRlIGxhcyBtZWRpZGFzIGRlIHRlbmRlbmNpYSBjZW50cmFsIGRlIGxhIGVzdGFkw61zdGljYSBjb252ZW5jaW9uYWwuDQoNCi0gICAqKkNlbnRybyBtZWRpbzoqKiBTaW1pbGFyIGEgbGEgbWVkaWEsIHJlc3VsdGEgZGVsIHByb21lZGlvIGRlIGxhcyBjb29yZGVuYWRhcyB4IGUgeSBkZSB1biBlc3BhY2lvLg0KLSAgICoqQ2VudHJvIG1lZGlhbm86KiogSWRlbnRpZmljYSBsYSB1YmljYWNpw7NuIHF1ZSBtaW5pbWl6YSBsYSBkaXN0YW5jaWEgZXVjbGlkaWFuYSBhIHRvZGFzIGxhcyBlbnRpZGFkZXMgZGVsIGRhdGFzZXQuIEVzIHPDs2xpZGEgYW50ZSBsb3MgZGF0b3MgYXTDrXBpY29zLg0KDQojIyBBbsOhbGlzaXMgZGUgcGF0cm9uZXMgcHVudHVhbGVzDQoNClNlIHV0aWxpemEgdmFsb3JlcyBkZSBzaWduaWZpY2FuY2lhIGVzdGFkw61zdGljYSAocHVudHVhY2nDs24geiB5IGVsIHAgdmFsb3IpLiBMYSBwdW50dWFjacOzbiBkZSBaIGVzIHVuYSByZXByZXNlbnRhY2nDs24gZGUgbGFzIGRlc3ZpYWNpb25lcyBlc3RhbmRhciAoc2kgZXMgbXV5IHBlcXVlw7FvLCBlbnRvbmNlcyBwdWVkZSBwZW5zYXJzZSBxdWUgZWwgcGF0csOzbiBkZSBsb3MgZGF0b3MgZXMgYWxlYXRvcmlvKSAsIGVsIHZhbG9yIHAgZXMgbGEgcHJvYmFiaWxpZGFkIGRlIHF1ZSBlbCBwYXRyw7NuIGVzcGFjaWFsIHNlYSBhbGVhdG9yaW8gKHVuIHAgcGVxdWXDsW8sIG1lbm9yIGEgMC4wNSBpbmRpY2EgcXVlIGVsIHBhdHLDs24gYWxlYXRvcmlvIG5vIGVzIGFsZWF0b3JpbykuDQoNCiMjIEFuw6FsaXNpcyBkZSBwYXRyb25lcyBlc3BhY2lhbGVzIChJIGRlIE1vcsOhbikNCg0KUGVybWl0ZSB2ZXIgcXXDqSB0aXBvIGRlIHBhdHLDs24gZXNwYWNpYWwgcHJlc2VudGFuIGxvcyBkYXRvcyAoYWxlYXRvcmlvLCBhZ3JlZ2FkbyBvIGRpc3BlcnNvKS4gRWwgw61uZGljZSBkZSBNb3LDoW4gdmFyw61hIGVudHJlIC0xIHkgMS4gU2kgbGFzIGNvbmRpY2lvbmVzIGRlIHogeSBwIGluZGljYW4gdW4gcGF0csOzbiBubyBhbGVhdG9yaW8gKGFncmVnYWRvIG8gZGlzcGVyc28pIHkgZWwgw61uZGljZSBkZSBNb3LDoW4gZXMgcG9zaXRpdm8gZW50b25jZXMgZXN0YW1vcyB0cmF0YW5kbyBjb24gZGF0b3MgY2x1c3RlcnMgYWdyZWdhZG9zLCBlbiBjYW1iaW8gc2kgbGFzIGNvbmRpY2lvbmVzIGRlIHogeSBwIGluZGljYW4gc2VyIG5vIGFsZWF0b3Jpb3MgeSBzZSBwcmVzZW50YSB1biB2YWxvciBkZWwgw61uZGljZSBkZSBNb3JhbiBuZWdhdGl2byBlc3RhbW9zIGFudGUgdW4gcGF0csOzbiBlc3BhY2lhbCBkaXNwZXJzby4NCg0KIyBNw6l0b2RvcyBkZSBJbnRlcnBvbGFjacOzbg0KDQojIyBJRFcgKEludmVyc2UgRGlzdGFuY2UgV2VpZ2h0aW5nKQ0KDQpTdXBvbmUgcXVlIGxhIHZhcmlhYmxlIHF1ZSBzZSByZXByZXNlbnRhIGNhcnRvZ3LDoWZpY2FtZW50ZSBkaXNtaW51eWUgc3UgaW5mbHVlbmNpYSBhIG1heW9yIGRpc3RhbmNpYSBkZXNkZSBzdSB1YmljYWNpw7NuIGRlIG11ZXN0cmEuDQoNCioqUGFzb3MgcGFyYSBwcm9jZWRlciBjb24gZWwgSURXOioqDQoNCi0gICBBbsOhbGlzaXMgZXhwbG9yYXRvcmlvIChiYXJyYXMsIHFxcGxvdCwgdHJlbmQgYW5hbHlzaXMgeSB2b3Jvbm9pKS4NCi0gICBFbiBlbiBXaXphcmQgc2UgcHVlZGUgb3B0aW1pemFyIGVsIHBvd2VyLg0KLSAgIEVuIGVsIG3DqXRvZG8gZGUgYsO6c3F1ZWRhIGRlIHZlY2lub3MgcG9kZW1vcyBlc2NvZ2VyIGVsICplc3TDoW5kYXIsKiBxdWUgZXMgZXNjb2dlciBlbnRyZSBtw6F4aW1vcyB5IG3DrW5pbW9zIGRlIHZlY2lub3MgKGNvbnNpZGVyYXIgZW50cmUgc3VzIGPDoWxjdWxvcyBsYSBjYW50aWRhZCBkZSB2ZWNpbm9zIHF1ZSBpbmZsdXlhbiBlbiBlbCBwZXNvKSwgZWwgbcOpdG9kbyAqc21vb3RoKiBzZSB1c2EgYSB0cmF2w6lzIGRlIGPDrXJjdWxvcyBjb25jw6ludHJpY29zIHF1ZSB2YXLDrWFuIHNlZ8O6biBlbCBmYWN0b3IgYSB1dGlsaXphci4NCi0gICBFbiBlbCBtw6l0b2RvIGVzdMOhbmRhciBzZSBwdWVkZSBlc2NvZ2VyIGxhIGNhbnRpZGFkIGRlIHZlY2lub3MgYSBjb25zaWRlcmFyLCBlbCB0aXBvIGRlIFNlY3RvciwgbGEgbG9uZ2l0dWQgZGUgbG9zIGVqZXMgZGVsIHNlY3Rvcg0KLSAgIEVzIGltcG9ydGFudGUgdmVyIGVsIGVycm9yIG1lZGlvIGN1YWRyw6F0aWNvLiBQYXJhIGVzdG8gY29tcGFyYXIgY29uIGxhIG9wY2nDs24gY29tcGFyZSAoY3Jvc3MgdmFsaWRhdGlvbikuDQoNCiMjIEtyaWdpbmcNCg0KKipQYXNvcyBwYXJhIHJlYWxpemFyIGVzdGUgbcOpdG9kbyBkZSBpbnRlcnBvbGFjacOzbioqDQoNCi0gICBSZWFsaXphciBlbCBhbsOhbGlzaXMgZXhwbG9yYXRvcmlvIGRlIGxvcyBkYXRvcy4NCi0gICBBbCBjb25maWd1cmFyIGVsIG1vZGVsbyBkZWJlbW9zIGNvbnNlZ3VpciB1biBlcnJvciBtZWRpbyBjZXJjYW5vIGEgY2VybywgbWVhbiBzdGFuZGFyaXplZCBtdXkgY2VyY2FubyBhIGNlcm8geSB1biByb290IG1lYW4gc3F1YXJlZCBzdGFuZGFyaXplZCBjZXJjYW5vIGEgMS4NCi0gICBDb21wYXJhciBsb3MgbW9kZWxvcyB5IGVzY29nZXIgZWwgcXVlIHBvc2VhIG1lam9yZXMgdmFsb3JlczogIVtGaWd1cmEgNTogVmFsaWRhY2nDs24gY3J1emFkYSBkZSBkb3MgbW9kZWxvc10oaW1hZ2VzL2Nyb3NzX3ZhbGlkYXRpb24ucG5nKQ0KLSAgIFRhbWJpw6luIHB1ZWRlIHJlYWxpemFyc2UgbGEgb3BjacOzbiBkZSBvcHRpbWl6YXIgbW9kZWxvLg0KDQojIyBTcGxpbmUNCg0KRXN0ZSBtw6l0b2RvIG5vIHBvc2VlIGluZGljYWRvcmVzIGdlb2VzdGFkw61zdGljb3MsIHBlcm8gdGllbmUgdW4gbWVqb3IgYWp1ZXN0ZSBlbiBkYXRvcyBkZSBjYWxpZGFkIGRlIGFpcmUuDQoNCiMgTcOpdG9kb3MgZGUgSW50ZXJwb2xhY2nDs24gbWl4dG9zDQoNClNvbiBtw6l0b2RvcyBxdWUgY29tYmluYW4gbcOpdG9kb3MgZGUgcmVncmVzacOzbiBsaW5lYWwgY29uIG3DqXRvZG9zIGRlIGludGVycG9sYWNpw7NuIGV4YWN0b3MgY29tbyBJRFcgbyBLcmlnaW5nLiBMb3MgbW9kZWxvcyBkZSBpbnRlcnBvbGFjacOzbiBtaXh0b3Mgc2UgYmFzYW4gZW4gZWwgZGVzYXJyb2xsbyBkZSB1biBtb2RlbG8gZGUgcmVncmVzacOzbiBsaW5lYWwgcGFyYSBlc3BhY2lhbGl6YXIgbGEgdmFyaWFibGUgb2JqZXRpdm8sIGVzIGRlY2lyIGxhIHZhcmlhYmxlIGRlcGVuZGllbnRlKHRlbXBlcmFydXJhLCBwcmVjaXBpdGFjacOzbiwgaHVtZWRhZCBkZWwgYWlyZSwgdmFsb3JlcyBkZSBjYWxpZGFkIGRlbCBhaXJlLCBldGMpLCBwb3N0ZXJpb3JtZW50ZSBzZSBoYWxsYSBlbCBlcnJvciBkZWwgbW9kZWxvIGVuIGxvY2FsaXphY2lvbmVzIG9yaWdpbmFsZXMgeSBlc3RlIGVycm9yIHNlIGludGVycG9sYSBtZWRpYW50ZSB1biBpbnRlcnBvbGFkb3IgZXhhY3RvIGNvbW8gSURXIG8gS3JpZ2luZy4NCg0KIyMgUmVncmVzacOzbiBsaW5lYWwgcG9yIG3DrW5pbW9zIGN1YWRyYWRvcyBvcmRpbmFyaW9zIChPcmRpbmFyeSBMZWFzdCBTcXVhcmVzLCBPTFMpDQoNCkNvbnRydXllIHVuYSBzdXBlcmZpY2llIGNvbnRpbnVhIGRlIGxhIHZhcmlhYmxlIGRlIGVzdHVkaW8sIHBlcm8gYmFqbyB1biBtw6l0b2RvIGRlIHJlZ3Jlc2nDs24gbGluZWFsLCBwdWVzIGVzdG9zIG3DqXRvZG9zIHBlcm1pdGVuIG1vZGVsYXIgbGEgcmVsYWNpw7NuIGVudHJlIHVuYSB2YXJpYWJsZSByZXNwdWVzdGEgY29uIHZhcmlhYmxlcyBleHBsaWNhdGl2YXMuIA0KJCQNClk9Ql8wK0JfMVhfMStCXzJYXzIrLi4uK0JfblhfbitFDQokJA0KDQoqKkRvbmRlOioqDQoNCj4gWTogVmFyaWFibGUgZGVwZW5kaWVudGUNCj4NCj4gWDogVmFyaWFibGVzIGV4cGxpY2F0aXZhcyBvIGluZGVwZW5kaWVudGVzDQo+DQo+IEI6IENvZWZpY2llbnRlcyBkZSByZWdyZXNpw7NuLCBtaWRlbiBsYSBpbmZsdWVuY2lhIHF1ZSBsYXMgdmFyaWFibGVzIGV4cGxpY2F0aXZhcyB0aWVuZW4gc29icmUgbGEgdmFyaWFibGUgZGVwZW5kaWVudGUsIHNpZW5kbyAkQl8wJCBsYSBjb25zdGFudGUgZGVsIG1vZGVsby4NCj4NCj4gRTogRXMgZWwgZXJyb3IgZGVsIG1vZGVsbw0KDQpFbCBwcm9jZWRpbWllbnRvIHF1ZSBzZSBkZWJlIHJlYWxpemFyIGVzIGVsIHNpZ3VpZW50ZToNCg0KLSAgIEFwbGljYXIgbGEgaGVycmFtaWVudGEgZGUgbWluaW1vcyBjdWFkcmFkb3Mgb3JkaW5hcmlvcy4NCi0gICBDYWxjdWxhciBsYSBzdXBlcmZpY2llIGNvbnRpbnVhIGRlIGludGVycG9sYWNpw7NuICh1c2FuZG8gbGEgY2FsY3VsYWRvcmEgcmFzdGVyKSB5IGRhdG9zIGRlIGxhcyB2YXJpYWJsZXMgZXhwbGljYXRpdmFzIG8gaW5kZXBlbmRpZW50ZXMgZW4gZm9ybWF0byByYXN0ZXIgKGVsZXZhY2nDs24sIGxhdGl0dWQsIGxvbmdpdHVkKS4NCi0gICBDcmVhciB1biBtb2RlbG8gZGUgaW50ZXJwb2xhY2nDs24gcG9yIG1lZGlvIGRlbCBtw6l0b2RvIElEVy4NCi0gICBSZXN0YXIgZWwgZXJyb3IgZGUgbGEgc3VwZXJmaWNpZSBjb250aW51YSBnZW5lcmFkYSBlbiBlbCBwYXNvIDIuDQoNCg0KPGRpdiBjbGFzcz0idG9jaWZ5LWV4dGVuZC1wYWdlIiBkYXRhLXVuaXF1ZT0idG9jaWZ5LWV4dGVuZC1wYWdlIiBzdHlsdz0iaGVpZ2h0OjA7Ij4NCg0KPC9kaXZkPg0K